pax_global_header00006660000000000000000000000064152273517500014521gustar00rootroot0000000000000052 comment=840ef6d60bb99e74b7366c4d398c74cb49695b36 dropbox-dropbox-sdk-python-6064f79/000077500000000000000000000000001522735175000172365ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/.coveragerc000066400000000000000000000000451522735175000213560ustar00rootroot00000000000000[run] branch = True source = dropbox/dropbox-dropbox-sdk-python-6064f79/.github/000077500000000000000000000000001522735175000205765ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/.github/ISSUE_TEMPLATE/000077500000000000000000000000001522735175000227615ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/.github/ISSUE_TEMPLATE/bug_report.md000066400000000000000000000012521522735175000254530ustar00rootroot00000000000000--- name: "\U0001F41B Bug report" about: Create a report to help us improve the SDK title: '' labels: bug assignees: '' --- **Describe the bug** A clear and concise description of the bug. **To Reproduce** The steps to reproduce the behavior **Expected Behavior** A clear description of what you expected to happen. **Actual Behavior** A clear description of what actually happened **Screenshots** If applicable, add screenshots to help explain your problem. **Versions** * What version of the SDK are you using? * What version of the language are you using? * What platform are you using? (if applicable) **Additional context** Add any other context about the problem here.dropbox-dropbox-sdk-python-6064f79/.github/ISSUE_TEMPLATE/config.yml000066400000000000000000000000331522735175000247450ustar00rootroot00000000000000blank_issues_enabled: falsedropbox-dropbox-sdk-python-6064f79/.github/ISSUE_TEMPLATE/feature_request.md000066400000000000000000000012131522735175000265030ustar00rootroot00000000000000--- name: "\U0001F680 Feature Request" about: Suggest an idea for this SDK title: '' labels: enhancement assignees: '' --- **Why is this feature valuable to you? Does it solve a problem you're having?** A clear and concise description of why this feature is valuable. Ex. I'm always frustrated when [...] **Describe the solution you'd like** A clear and concise description of what you want to happen. **Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. (if applicable) **Additional context** Add any other context or screenshots about the feature request here. dropbox-dropbox-sdk-python-6064f79/.github/ISSUE_TEMPLATE/question_help.md000066400000000000000000000011711522735175000261620ustar00rootroot00000000000000--- name: "\U0001F4AC Questions / Help" about: Get help with issues you are experiencing title: '' labels: help-wanted, question assignees: '' --- **Before you start** Have you checked StackOverflow, previous issues, and Dropbox Developer Forums for help? **What is your question?** A clear and concise description of the question. **Screenshots** If applicable, add screenshots to help explain your question. **Versions** * What version of the SDK are you using? * What version of the language are you using? * What platform are you using? (if applicable) **Additional context** Add any other context about the question here. dropbox-dropbox-sdk-python-6064f79/.github/dependabot.yml000066400000000000000000000013161522735175000234270ustar00rootroot00000000000000# To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. # Please see the documentation for all configuration options: # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates version: 2 updates: - package-ecosystem: "pip" # See documentation for possible values directory: "/" # Location of package manifests schedule: interval: "weekly" # Group all GitHub Actions updates into one PR - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly" groups: github-actions: patterns: - "*" dropbox-dropbox-sdk-python-6064f79/.github/pull_request_template.md000066400000000000000000000007301522735175000255370ustar00rootroot00000000000000 ## **Checklist** **General Contributing** - [ ] Have you read the Code of Conduct and signed the [CLA](https://opensource.dropbox.com/cla/)? **Is This a Code Change?** - [ ] Non-code related change (markdown/git settings etc) - [ ] SDK Code Change - [ ] Example/Test Code Change **Validation** - [ ] Does `tox` pass? - [ ] Do the tests pass?dropbox-dropbox-sdk-python-6064f79/.github/workflows/000077500000000000000000000000001522735175000226335ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/.github/workflows/ci.yml000066400000000000000000000121001522735175000237430ustar00rootroot00000000000000name: CI on: push: branches: - main pull_request: permissions: # least privilege; jobs needing OIDC override this contents: read jobs: CI: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-15-intel, macos-latest, windows-latest, ubuntu-latest] python-version: ["3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v7 - name: Set up Python uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: "pip" - name: Install dependencies run: | python -m pip install -U pip python -m pip install -U build pytest ruff python -m pip install -r requirements.txt python -m pip install -r test/requirements.txt - name: Build wheel run: python -m build --wheel - name: Show dist contents run: ls -la dist shell: bash - name: Install package from wheel (robust) shell: bash run: | WHEEL="$(python -c "import glob; w=glob.glob('dist/*.whl'); print(w[0] if w else '')")" if [ -z "$WHEEL" ]; then echo "No wheel was built. dist contains:" ls -la dist || true exit 1 fi python -m pip install "$WHEEL" - name: Run linter run: | ruff check dropbox example test ruff format --check dropbox example test - name: Run unit tests run: | pytest -v test/unit/ Docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - name: Set up Python uses: actions/setup-python@v6 with: python-version: "3.11" cache: "pip" - name: Install build and doc tooling run: | python -m pip install -U pip python -m pip install build twine sphinx python -m pip install -r requirements.txt python -m pip install -r test/requirements.txt - name: Build sdist and wheel (PEP 517) run: python -m build - name: Validate distribution metadata run: twine check dist/* - name: Build wheel run: python -m build --wheel - name: Install package from wheel run: | python -c "import glob,sys; w=glob.glob('dist/*.whl'); assert w, f'No wheel built. dist contains: {glob.glob(\"dist/*\")}'; print(w[0])" python -c "import glob; print(glob.glob('dist/*.whl')[0])" > wheel_path.txt python -m pip install "$(cat wheel_path.txt)" shell: bash - name: Test documentation generation run: | sphinx-build -b html docs build/html Integration: # Skip on fork PRs: they cannot assume the OIDC role. if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository continue-on-error: false runs-on: ${{ matrix.os }} permissions: # required for OIDC id-token: write contents: read strategy: fail-fast: false max-parallel: 1 matrix: os: [macos-15-intel, macos-latest, windows-latest, ubuntu-latest] python-version: ["3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v7 - name: Set up Python uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: "pip" - name: Install dependencies run: | python -m pip install -U pip python -m pip install -U build pytest python -m pip install -r requirements.txt python -m pip install -r test/requirements.txt - name: Build wheel run: python -m build --wheel - name: Install package from wheel (cross-platform) shell: bash run: | python -m pip install "$(python -c "import glob,sys; w=glob.glob('dist/*.whl'); assert w, f'No wheel built. dist contains: {glob.glob(\"dist/*\")}'; print(w[0])")" - name: Configure AWS credentials (OIDC) uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: arn:aws:iam::082972943155:role/oidc-github-dropbox-dropbox-sdk-python-repo aws-region: us-west-2 - name: Get integration credentials from AWS Secrets Manager uses: aws-actions/aws-secretsmanager-get-secrets@v3 with: secret-ids: | CREDS,api-sdk-integration-test-creds parse-json-secrets: true - name: Run integration tests env: SCOPED_USER_CLIENT_ID: ${{ env.CREDS_SCOPED_USER_CLIENT_ID }} SCOPED_USER_CLIENT_SECRET: ${{ env.CREDS_SCOPED_USER_CLIENT_SECRET }} SCOPED_USER_REFRESH_TOKEN: ${{ env.CREDS_SCOPED_USER_REFRESH_TOKEN }} SCOPED_TEAM_CLIENT_ID: ${{ env.CREDS_SCOPED_TEAM_CLIENT_ID }} SCOPED_TEAM_CLIENT_SECRET: ${{ env.CREDS_SCOPED_TEAM_CLIENT_SECRET }} SCOPED_TEAM_REFRESH_TOKEN: ${{ env.CREDS_SCOPED_TEAM_REFRESH_TOKEN }} DROPBOX_SHARED_LINK: ${{ env.CREDS_DROPBOX_SHARED_LINK }} run: | pytest -v test/integration/test_dropbox.py dropbox-dropbox-sdk-python-6064f79/.github/workflows/codeql.yml000066400000000000000000000015241522735175000246270ustar00rootroot00000000000000name: "CodeQL" on: push: branches: - main pull_request: branches: - main schedule: - cron: 0 0 * * 1 workflow_dispatch: # allow on-demand manual scans permissions: # least privilege contents: read jobs: analyze: name: Analyze (${{ matrix.language }}) runs-on: ubuntu-latest permissions: security-events: write # required to upload CodeQL results contents: read strategy: fail-fast: false matrix: language: ["actions", "python"] steps: - uses: actions/checkout@v7 - name: Initialize CodeQL uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v4 with: category: "/language:${{ matrix.language }}" dropbox-dropbox-sdk-python-6064f79/.github/workflows/coverage.yml000066400000000000000000000115401522735175000251520ustar00rootroot00000000000000name: Coverage on: push: branches: - main pull_request: schedule: - cron: 0 0 * * * permissions: # least privilege; jobs needing OIDC override this contents: read jobs: Coverage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - name: Setup Python environment uses: actions/setup-python@v6 with: python-version: '3.11' - name: Setup virtual environment run: | python -m venv venv source venv/bin/activate python -m pip install --upgrade pip - name: Install Requirements run: | python -m pip install --upgrade pip pip install coverage pytest pip install -r requirements.txt pip install -r test/requirements.txt pip install . - name: Generate Unit Test Coverage run: | coverage run --rcfile=.coveragerc -m pytest test/unit/ coverage xml - name: Upload coverage artifact uses: actions/upload-artifact@v4 with: name: unit-coverage path: coverage.xml # Separate job so the whole thing can be gated: fork PRs cannot assume the # OIDC role, so they run the unit tests above but skip the upload here. CoverageUpload: needs: Coverage # Skip on fork PRs: they cannot assume the OIDC role. if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository runs-on: ubuntu-latest permissions: # required for OIDC id-token: write contents: read steps: - uses: actions/checkout@v7 - name: Download coverage artifact uses: actions/download-artifact@v4 with: name: unit-coverage - name: Configure AWS credentials (OIDC) uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: arn:aws:iam::082972943155:role/oidc-github-dropbox-dropbox-sdk-python-repo aws-region: us-west-2 - name: Get Codecov token from AWS Secrets Manager uses: aws-actions/aws-secretsmanager-get-secrets@v3 with: secret-ids: | CODECOV_TOKEN,codecov-token-dropbox-sdk-python parse-json-secrets: false - name: Publish Coverage uses: codecov/codecov-action@v7 with: token: ${{ env.CODECOV_TOKEN }} flags: unit fail_ci_if_error: true IntegrationCoverage: # Skip on fork PRs: they cannot assume the OIDC role. if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository runs-on: ubuntu-latest permissions: # required for OIDC id-token: write contents: read steps: - uses: actions/checkout@v7 - name: Setup Python environment uses: actions/setup-python@v6 with: python-version: '3.11' - name: Setup virtual environment run: | python -m venv venv source venv/bin/activate python -m pip install --upgrade pip - name: Install Requirements run: | python -m pip install --upgrade pip pip install coverage pytest pip install -r requirements.txt pip install -r test/requirements.txt pip install . - name: Configure AWS credentials (OIDC) uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: arn:aws:iam::082972943155:role/oidc-github-dropbox-dropbox-sdk-python-repo aws-region: us-west-2 - name: Get integration credentials from AWS Secrets Manager uses: aws-actions/aws-secretsmanager-get-secrets@v3 with: secret-ids: | CREDS,api-sdk-integration-test-creds parse-json-secrets: true - name: Get Codecov token from AWS Secrets Manager uses: aws-actions/aws-secretsmanager-get-secrets@v3 with: secret-ids: | CODECOV_TOKEN,codecov-token-dropbox-sdk-python parse-json-secrets: false - name: Generate Coverage env: SCOPED_USER_CLIENT_ID: ${{ env.CREDS_SCOPED_USER_CLIENT_ID }} SCOPED_USER_CLIENT_SECRET: ${{ env.CREDS_SCOPED_USER_CLIENT_SECRET }} SCOPED_USER_REFRESH_TOKEN: ${{ env.CREDS_SCOPED_USER_REFRESH_TOKEN }} SCOPED_TEAM_CLIENT_ID: ${{ env.CREDS_SCOPED_TEAM_CLIENT_ID }} SCOPED_TEAM_CLIENT_SECRET: ${{ env.CREDS_SCOPED_TEAM_CLIENT_SECRET }} SCOPED_TEAM_REFRESH_TOKEN: ${{ env.CREDS_SCOPED_TEAM_REFRESH_TOKEN }} DROPBOX_SHARED_LINK: ${{ env.CREDS_DROPBOX_SHARED_LINK }} run: | coverage run --rcfile=.coveragerc -m pytest test/integration/test_dropbox.py coverage xml - name: Publish Coverage uses: codecov/codecov-action@v7 with: token: ${{ env.CODECOV_TOKEN }} flags: integration fail_ci_if_error: true dropbox-dropbox-sdk-python-6064f79/.github/workflows/pypiupload.yml000066400000000000000000000033401522735175000255440ustar00rootroot00000000000000# This workflow will upload a Python Package using Twine when a release is created # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries name: Publish to PyPi on: release: types: [created] workflow_dispatch: # Allow manual trigger for testing permissions: # least privilege; the deploy job overrides this for OIDC contents: read jobs: deploy: runs-on: ubuntu-latest permissions: # required for OIDC authentication id-token: write contents: read steps: - uses: actions/checkout@v7 - name: Configure AWS credentials (OIDC) uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: arn:aws:iam::082972943155:role/oidc-github-dropbox-dropbox-sdk-python-repo aws-region: us-west-2 - name: Get PyPI token from AWS Secrets Manager id: get-secret uses: aws-actions/aws-secretsmanager-get-secrets@v3 with: # Referenced by friendly name; Secrets Manager appends a random suffix to # the full ARN, so the name is the stable identifier. secret-ids: | PYPI_SECRET,pypi-api-token-dropbox-sdk-python parse-json-secrets: false - name: Setup Python environment uses: actions/setup-python@v6 with: python-version: "3.x" - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install build twine - name: Build sdist and wheel run: python -m build - name: Publish env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ env.PYPI_SECRET }} run: | twine check dist/* twine upload dist/* dropbox-dropbox-sdk-python-6064f79/.github/workflows/spec_update.yml000066400000000000000000000111211522735175000256460ustar00rootroot00000000000000name: Spec Update on: workflow_dispatch: repository_dispatch: types: [spec_update] permissions: id-token: write contents: read jobs: Update: runs-on: ubuntu-latest steps: - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: arn:aws:iam::082972943155:role/oidc-github-dropbox-dropbox-sdk-python-repo aws-region: us-west-2 - name: Fetch GitHub App credentials from Secrets Manager uses: aws-actions/aws-secretsmanager-get-secrets@v3 with: secret-ids: | SDK_UPDATER,sdk-updater-github-app parse-json-secrets: true - name: Generate GitHub App installation token id: app-token uses: actions/create-github-app-token@v3 with: client-id: ${{ env.SDK_UPDATER_CLIENT_ID }} private-key: ${{ env.SDK_UPDATER_PRIVATE_KEY }} - uses: actions/checkout@v7 - name: Setup Python environment uses: actions/setup-python@v6 with: python-version: '3.11' - name: Get current time uses: 1466587594/get-current-time@v2 id: current-time with: format: YYYY_MM_DD utcOffset: "-08:00" - name: Update Modules run: | git submodule init git submodule update --remote --recursive - name: Generate Branch Name id: git-branch env: FORMATTED_TIME: ${{ steps.current-time.outputs.formattedTime }} run: | echo "branch=spec_update_${FORMATTED_TIME}" >> "$GITHUB_OUTPUT" - name: Generate Num Diffs id: git-diff-num run: | diffs=$(git diff --submodule spec | grep ">" | wc -l) echo "Number of Spec diffs: $diffs" echo "num-diff=$diffs" >> "$GITHUB_OUTPUT" - name: Generate Diff id: git-diff env: NUM_DIFF: ${{ steps.git-diff-num.outputs.num-diff }} run: | cd spec gitdiff=$(git log -n "$NUM_DIFF" --pretty="format:%n %H %n%n %b") commit="Automated Spec Update $gitdiff" while true; do delimiter="SPEC_UPDATE_EOF_$(python -c 'import uuid; print(uuid.uuid4())')" if ! grep -Fxq "$delimiter" <<< "$commit"; then break fi done { printf 'commit<<%s\n' "$delimiter" printf '%s\n' "$commit" printf '%s\n' "$delimiter" } >> "$GITHUB_OUTPUT" cd .. - name: Generate New Routes run: | python -m pip install --upgrade pip pip install -r requirements.txt python generate_base_client.py - name: Close Old Pull Requests id: close-old-prs if: steps.git-diff-num.outputs.num-diff != 0 run: | closed="" while read -r pr_num; do echo "Closing old PR #$pr_num" gh pr close "$pr_num" --delete-branch closed="${closed:+$closed,}$pr_num" done < <(gh pr list --label "automated-spec-update" --state open --json number --jq '.[].number') echo "closed=$closed" >> "$GITHUB_OUTPUT" shell: bash env: GH_TOKEN: ${{ steps.app-token.outputs.token }} - name: Create Pull Request id: create-pr uses: peter-evans/create-pull-request@v8 if: steps.git-diff-num.outputs.num-diff != 0 with: token: ${{ steps.app-token.outputs.token }} commit-message: | ${{ steps.git-diff.outputs.commit}} branch: ${{ steps.git-branch.outputs.branch }} delete-branch: true title: 'Automated Spec Update - ${{ steps.current-time.outputs.formattedTime }}' body: | ${{ steps.git-diff.outputs.commit}} base: 'main' labels: | automated-spec-update draft: false - name: Comment on closed PRs if: steps.create-pr.outputs.pull-request-number && steps.close-old-prs.outputs.closed run: | IFS=',' read -ra prs <<< "${{ steps.close-old-prs.outputs.closed }}" for pr_num in "${prs[@]}"; do gh pr comment "$pr_num" --body "Superseded by #${{ steps.create-pr.outputs.pull-request-number }}" done env: GH_TOKEN: ${{ steps.app-token.outputs.token }} # - name: Enable Pull Request Automerge # if: steps.create-pr.outputs.pull-request-number # run: gh pr merge --merge --auto "${{ steps.create-pr.outputs.pull-request-number }}" # env: # GH_TOKEN: ${{ steps.app-token.outputs.token }} dropbox-dropbox-sdk-python-6064f79/.gitignore000066400000000000000000000003651522735175000212320ustar00rootroot00000000000000# Coverage Files .coverage coverage.xml # Generic Python files /.cache/ /.eggs/ /.idea/ /.tox/ /build/ /dist/ /docs/_build/ __pycache__/ .DS_Store *.egg *.egg-info/ *.pyc *.pyo *~ # Virtual Environments .venv venv/ venv3/ dropbox/_version.py dropbox-dropbox-sdk-python-6064f79/.gitmodules000066400000000000000000000001271522735175000214130ustar00rootroot00000000000000[submodule "spec"] path = spec url = https://github.com/dropbox/dropbox-api-spec.git dropbox-dropbox-sdk-python-6064f79/.pylintrc000066400000000000000000000002751522735175000211070ustar00rootroot00000000000000[MESSAGES CONTROL] disable=C,R,file-ignored,fixme,locally-disabled,protected-access,useless-else-on-loop,unnecessary-pass,raise-missing-from enable=useless-suppression [REPORTS] reports=n dropbox-dropbox-sdk-python-6064f79/.readthedocs.yml000066400000000000000000000005121522735175000223220ustar00rootroot00000000000000# .readthedocs.yaml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details version: 2 build: os: ubuntu-24.04 tools: python: "3.11" python: install: - method: pip path: . extra_requirements: - docs sphinx: configuration: docs/conf.py dropbox-dropbox-sdk-python-6064f79/CODE_OF_CONDUCT.md000066400000000000000000000004751522735175000220430ustar00rootroot00000000000000# Dropbox Code Of Conduct *Dropbox believes that an inclusive development environment fosters greater technical achievement. To encourage a diverse group of contributors we've adopted this code of conduct.* Please read the Official Dropbox [Code of Conduct](https://opensource.dropbox.com/coc/) before contributing.dropbox-dropbox-sdk-python-6064f79/CONTRIBUTING.md000066400000000000000000000064061522735175000214750ustar00rootroot00000000000000# Contributing to the Dropbox SDK for Python We value and rely on the feedback from our community. This comes in the form of bug reports, feature requests, and general guidance. We welcome your issues and pull requests and try our hardest to be timely in both response and resolution. Please read through this document before submitting issues or pull requests to ensure we have the necessary information to help you resolve your issue. ## Filing Bug Reports You can file a bug report on the [GitHub Issues][issues] page. 1. Search through existing issues to ensure that your issue has not been reported. If it is a common issue, there is likely already an issue. 2. Please ensure you are using the latest version of the SDK. While this may be a valid issue, we only will fix bugs affecting the latest version and your bug may have been fixed in a newer version. 3. Provide as much information as you can regarding the language version, SDK version, and any other relevant information about your environment so we can help resolve the issue as quickly as possible. ## Submitting Pull Requests We are more than happy to recieve pull requests helping us improve the state of our SDK. You can open a new pull request on the [GitHub Pull Requests][pr] page. 1. Please ensure that you have read the [License][license], [Code of Conduct][coc] and have signed the [Contributing License Agreement (CLA)][cla]. 2. Please add tests confirming the new functionality works. Pull requests will not be merged without passing continuous integration tests unless the pull requests aims to fix existing issues with these tests. ## Updating Generated Code Generated code can be updated by running the following code: ``` $ pip install -r requirements.txt $ git submodule init $ git submodule update --remote --recursive $ python generate_base_client.py ``` Note: Stone updates must be made by updating `requirements.txt` as it is no longer a submodule. ## Testing the Code We use the [`tox`](https://tox.readthedocs.org/) package to run tests. To install and run the unit tests, you can use: ``` $ pip install tox $ tox ``` Or if you would like to specify a specific target to run you can run this: ``` $ tox -e {TARGET} ``` If you want to run the integration tests, you can use the following: ``` $ export DROPBOX_REFRESH_TOKEN={fill in refresh token} $ export DROPBOX_APP_KEY={fill in app key} $ export DROPBOX_APP_SECRET={fill in app secret} $ export DROPBOX_TEAM_TOKEN={fill in team token} $ export DROPBOX_TOKEN={fill in access token} $ tox -e test_integration ``` Note: If you do not have all of these tokens available, we run integration tests as a part of pull request validation and you are able to rely on those if you are unable to obtain yourself. We do recommend developing in a virtual environment in order to ensure you have a clean testing environment. If you want to build the documentation locally, you can run this: ``` $ tox -e docs ``` The documentation will be built into `build/html`. [issues]: https://github.com/dropbox/dropbox-sdk-python/issues [pr]: https://github.com/dropbox/dropbox-sdk-python/pulls [coc]: https://github.com/dropbox/dropbox-sdk-python/blob/main/CODE_OF_CONDUCT.md [license]: https://github.com/dropbox/dropbox-sdk-python/blob/main/LICENSE [cla]: https://opensource.dropbox.com/cla/dropbox-dropbox-sdk-python-6064f79/LICENSE000066400000000000000000000021701522735175000202430ustar00rootroot00000000000000Copyright (c) 2020 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-dropbox-sdk-python-6064f79/MANIFEST.in000066400000000000000000000001251522735175000207720ustar00rootroot00000000000000include LICENSE include *.rst include requirements.txt include test/requirements.txt dropbox-dropbox-sdk-python-6064f79/README.rst000066400000000000000000000070401522735175000207260ustar00rootroot00000000000000**Important: Use v12.0.2 or newer of this SDK for compatibility with the Dropbox API servers. Older versions stopped working in January 2026. Please refer to this blog post for more information: https://dropbox.tech/developers/api-server-certificate-changes** .. image:: https://cfl.dropboxstatic.com/static/images/sdk/python_banner.png :target: https://github.com/dropbox/dropbox-sdk-python .. image:: https://img.shields.io/pypi/pyversions/dropbox.svg :target: https://pypi.python.org/pypi/dropbox .. image:: https://img.shields.io/pypi/v/dropbox.svg :target: https://pypi.python.org/pypi/dropbox .. image:: https://codecov.io/gh/dropbox/dropbox-sdk-python/branch/main/graph/badge.svg :target: https://codecov.io/gh/dropbox/dropbox-sdk-python The official Dropbox SDK for Python. Documentation can be found on `Read The Docs`_. Requirements ============ This SDK requires **Python 3.11 or newer**. Earlier versions of Python, including Python 2.7 and Python 3.4 through 3.10, are not supported, as they have reached end of life and are no longer maintained upstream. Installation ============ Create an app via the `Developer Console`_. 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 $ pip install . After installation, follow one of our `Examples`_ or read the documentation on `Read The Docs`_. You can also view our `OAuth Guide`_. Examples ======== We provide `Examples`_ to help get you started with a lot of the basic functionality in the SDK. - **OAuth** - `Commandline OAuth Basic `_ - Shows a simple example of commandline oauth (no redirect). - `Commandline OAuth Scopes `_ - Shows a simple example of commandline oauth using scopes. - `Commandline OAuth PKCE `_ - Shows a simple example of commandline oauth using PKCE. - **Other Examples** - `Updown `_ - Sample application that uploads the contents of your ``Downloads`` folder to Dropbox. - `Backup and Restore `_ - Sample application that shows how you can backup a file and restore previous versions if the file was modified/corrupted in any way. Getting Help ============ If you find a bug, please see `CONTRIBUTING.md`_ for information on how to report it. If you need help that is not specific to this SDK, please reach out to `Dropbox Support`_. License ======= This SDK is distributed under the MIT license, please see `LICENSE`_ for more information. .. _logo: {logo_link} .. _repo: https://github.com/dropbox/dropbox-sdk-python .. _`Read The Docs`: http://dropbox-sdk-python.readthedocs.org .. _`Examples`: https://github.com/dropbox/dropbox-sdk-python/tree/main/example .. _LICENSE: https://github.com/dropbox/dropbox-sdk-python/blob/main/LICENSE .. _CONTRIBUTING.md: https://github.com/dropbox/dropbox-sdk-python/blob/main/CONTRIBUTING.md .. _Developer Console: https://dropbox.com/developers/apps .. _OAuth Guide: https://www.dropbox.com/lp/developers/reference/oauth-guide .. _`Dropbox Support`: https://www.dropbox.com/developers/contact dropbox-dropbox-sdk-python-6064f79/UPGRADING.md000066400000000000000000000030141522735175000210760ustar00rootroot00000000000000# Upgrading the Dropbox SDK This document is designed to show you how to upgrade to the latest version of the SDK accomodating any breaking changes introduced by major version updates. If you find any issues with either this guide on upgrading or the changes introduced in the new version, please see [CONTRIBUTING.md](CONTRIBUTING.md) # Upgrading to v12.0.0 * The SDK no longer provides its own CA bundle to verify TLS connections. It will continue to verify connections through the `requests` library, which makes use of [`certifi`](https://github.com/certifi/python-certifi). You may still provide your own bundle through the `ca_certs` parameter of the `Dropbox` classes and of the `create_session` function (see the [documentation](https://dropbox-sdk-python.readthedocs.io/en/latest/api/dropbox.html) for details). * This will be the last major version to support Python 2. # Upgrading from v10.X.X to v11.0.0 The major change that happened in this new version is that we regenerated the client files using Stone 3.2.0, so relative imports are removed from the generated client files. This created some issues with the imports in the non-generated files in `dropbox/`. As a result, we renamed `dropbox.dropbox` to `dropbox.dropbox_client`. If you used to do imports like `dropbox.dropbox.foo`, such imports need to be changed to `dropbox.dropbox_client.foo`. However, we preserved the imports in `dropbox/__init__.py`, so imports like `from dropbox import DropboxOAuth2FlowNoRedirect`, `from dropbox import Dropbox` will continue to work. dropbox-dropbox-sdk-python-6064f79/codecov.yml000066400000000000000000000004461522735175000214070ustar00rootroot00000000000000coverage: status: project: default: target: auto threshold: 1% base: auto flags: - unittest paths: - "dropbox" if_not_found: success if_ci_failed: error informational: true only_pulls: falsedropbox-dropbox-sdk-python-6064f79/docs/000077500000000000000000000000001522735175000201665ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/docs/Makefile000066400000000000000000000025471522735175000216360ustar00rootroot00000000000000# 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-dropbox-sdk-python-6064f79/docs/_static/000077500000000000000000000000001522735175000216145ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/docs/_static/.gitkeep000066400000000000000000000000001522735175000232330ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/docs/api/000077500000000000000000000000001522735175000207375ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/docs/api/async.rst000066400000000000000000000006541522735175000226130ustar00rootroot00000000000000: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-dropbox-sdk-python-6064f79/docs/api/auth.rst000066400000000000000000000002511522735175000224300ustar00rootroot00000000000000:mod:`dropbox.auth` -- Auth =========================== .. automodule:: dropbox.auth :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/common.rst000066400000000000000000000002631522735175000227620ustar00rootroot00000000000000:mod:`dropbox.common` -- Common =============================== .. automodule:: dropbox.common :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/contacts.rst000066400000000000000000000002751522735175000233130ustar00rootroot00000000000000:mod:`dropbox.contacts` -- Contacts =================================== .. automodule:: dropbox.contacts :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/dropbox.rst000066400000000000000000000003261522735175000231470ustar00rootroot00000000000000:mod:`dropbox.dropbox` -- Dropbox ================================= .. automodule:: dropbox.dropbox_client :members: :show-inheritance: :inherited-members: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/exceptions.rst000066400000000000000000000003071522735175000236520ustar00rootroot00000000000000:mod:`dropbox.exceptions` -- Exceptions ======================================= .. automodule:: dropbox.exceptions :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/file_properties.rst000066400000000000000000000003401522735175000246610ustar00rootroot00000000000000:mod:`dropbox.file_properties` -- File Properties ================================================= .. automodule:: dropbox.file_properties :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/file_requests.rst000066400000000000000000000003261522735175000243440ustar00rootroot00000000000000:mod:`dropbox.file_requests` -- File Requests ============================================= .. automodule:: dropbox.file_requests :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/files.rst000066400000000000000000000002561522735175000225760ustar00rootroot00000000000000:mod:`dropbox.files` -- Files ============================= .. automodule:: dropbox.files :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/oauth.rst000066400000000000000000000002561522735175000226140ustar00rootroot00000000000000:mod:`dropbox.oauth` -- OAuth ============================= .. automodule:: dropbox.oauth :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/paper.rst000066400000000000000000000002561522735175000226030ustar00rootroot00000000000000:mod:`dropbox.paper` -- Paper ============================= .. automodule:: dropbox.paper :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/seen_state.rst000066400000000000000000000003071522735175000236230ustar00rootroot00000000000000:mod:`dropbox.seen_state` -- Seen State ======================================= .. automodule:: dropbox.seen_state :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/sharing.rst000066400000000000000000000002641522735175000231260ustar00rootroot00000000000000:mod:`dropbox.sharing` -- Sharing ================================= .. automodule:: dropbox.sharing :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/team.rst000066400000000000000000000002511522735175000224150ustar00rootroot00000000000000:mod:`dropbox.team` -- Team =========================== .. automodule:: dropbox.team :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/team_common.rst000066400000000000000000000003141522735175000237650ustar00rootroot00000000000000:mod:`dropbox.team_common` -- Team Common ========================================= .. automodule:: dropbox.team_common :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/team_log.rst000066400000000000000000000002751522735175000232640ustar00rootroot00000000000000:mod:`dropbox.team_log` -- Team Log =================================== .. automodule:: dropbox.team_log :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/team_policies.rst000066400000000000000000000003261522735175000243070ustar00rootroot00000000000000:mod:`dropbox.team_policies` -- Team Policies ============================================= .. automodule:: dropbox.team_policies :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/users.rst000066400000000000000000000002561522735175000226350ustar00rootroot00000000000000:mod:`dropbox.users` -- Users ============================= .. automodule:: dropbox.users :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/api/users_common.rst000066400000000000000000000003211522735175000241760ustar00rootroot00000000000000:mod:`dropbox.users_common` -- Users Common =========================================== .. automodule:: dropbox.users_common :members: :show-inheritance: :special-members: __init__ :undoc-members: dropbox-dropbox-sdk-python-6064f79/docs/conf.py000066400000000000000000000207411522735175000214710ustar00rootroot00000000000000# -*- 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", "sphinx_rtd_theme", ] # 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 = "Dropbox for Python" copyright = "2015-2024, 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 = "sphinx_rtd_theme" # 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-dropbox-sdk-python-6064f79/docs/index.rst000066400000000000000000000010311522735175000220220ustar00rootroot00000000000000Dropbox for Python Documentation ================================ .. toctree:: :maxdepth: 2 tutorial .. toctree:: :maxdepth: 1 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-dropbox-sdk-python-6064f79/docs/make.bat000066400000000000000000000024531522735175000215770ustar00rootroot00000000000000@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-dropbox-sdk-python-6064f79/docs/tutorial.rst000066400000000000000000000002621522735175000225630ustar00rootroot00000000000000******** Tutorial ******** For a tutorial on how to get started, please visit our `developers page `_. dropbox-dropbox-sdk-python-6064f79/dropbox/000077500000000000000000000000001522735175000207135ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/dropbox/__init__.py000066400000000000000000000005041522735175000230230ustar00rootroot00000000000000from __future__ import absolute_import from dropbox.dropbox_client import ( # noqa: F401 # pylint: disable=unused-import __version__, Dropbox, DropboxTeam, create_session, ) from dropbox.oauth import ( # noqa: F401 # pylint: disable=unused-import DropboxOAuth2Flow, DropboxOAuth2FlowNoRedirect, ) dropbox-dropbox-sdk-python-6064f79/dropbox/account.py000066400000000000000000000503151522735175000227250ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv class AccountPhotoGetArg(bb.Struct): """ :ivar AccountPhotoGetArg.dbx_account_id: Encoded ID of the user. Must start either with 'dbid:' or 'dbaphid:'. :ivar AccountPhotoGetArg.size: A string representing the size of the photo. :ivar AccountPhotoGetArg.circle_crop: True if the photo should be cropped and false otherwise. :ivar AccountPhotoGetArg.expect_account_photo: True if we expect account photo to exist. """ __slots__ = [ "_dbx_account_id_value", "_size_value", "_circle_crop_value", "_expect_account_photo_value", ] _has_required_fields = True def __init__( self, dbx_account_id=None, size=None, circle_crop=None, expect_account_photo=None, ): self._dbx_account_id_value = bb.NOT_SET self._size_value = bb.NOT_SET self._circle_crop_value = bb.NOT_SET self._expect_account_photo_value = bb.NOT_SET if dbx_account_id is not None: self.dbx_account_id = dbx_account_id if size is not None: self.size = size if circle_crop is not None: self.circle_crop = circle_crop if expect_account_photo is not None: self.expect_account_photo = expect_account_photo # Instance attribute type: str (validator is set below) dbx_account_id = bb.Attribute("dbx_account_id") # Instance attribute type: str (validator is set below) size = bb.Attribute("size") # Instance attribute type: bool (validator is set below) circle_crop = bb.Attribute("circle_crop") # Instance attribute type: bool (validator is set below) expect_account_photo = bb.Attribute("expect_account_photo") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountPhotoGetArg, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountPhotoGetArg_validator = bv.Struct(AccountPhotoGetArg) class AccountPhotoGetError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar AccountPhotoGetError.thumbnail_error: Indicates infrastructural failure. :vartype AccountPhotoGetError.thumbnail_error: ThumbnailError :ivar AccountPhotoGetError.account_photo_missing: Account photo is missing (but we did not expect it to exist). :ivar AccountPhotoGetError.expected_account_photo_missing: Account photo was expected to exist, but it's missing. """ _catch_all = "other" # Attribute is overwritten below the class definition account_photo_missing = None # Attribute is overwritten below the class definition expected_account_photo_missing = None # Attribute is overwritten below the class definition other = None @classmethod def thumbnail_error(cls, val): """ Create an instance of this class set to the ``thumbnail_error`` tag with value ``val``. :param ThumbnailError val: :rtype: AccountPhotoGetError """ return cls("thumbnail_error", val) def is_thumbnail_error(self): """ Check if the union tag is ``thumbnail_error``. :rtype: bool """ return self._tag == "thumbnail_error" def is_account_photo_missing(self): """ Check if the union tag is ``account_photo_missing``. :rtype: bool """ return self._tag == "account_photo_missing" def is_expected_account_photo_missing(self): """ Check if the union tag is ``expected_account_photo_missing``. :rtype: bool """ return self._tag == "expected_account_photo_missing" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_thumbnail_error(self): """ Indicates infrastructural failure. Only call this if :meth:`is_thumbnail_error` is true. :rtype: ThumbnailError """ if not self.is_thumbnail_error(): raise AttributeError("tag 'thumbnail_error' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountPhotoGetError, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountPhotoGetError_validator = bv.Union(AccountPhotoGetError) class AccountPhotoGetResult(bb.Struct): """ :ivar AccountPhotoGetResult.content_type: The data returned by get_photo. """ __slots__ = [ "_content_type_value", ] _has_required_fields = True def __init__(self, content_type=None): self._content_type_value = bb.NOT_SET if content_type is not None: self.content_type = content_type # Instance attribute type: str (validator is set below) content_type = bb.Attribute("content_type") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountPhotoGetResult, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountPhotoGetResult_validator = bv.Struct(AccountPhotoGetResult) class DeleteProfilePhotoArg(bb.Struct): """ This struct is empty. The comment here is intentionally emitted to avoid indentation issues with Stone. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteProfilePhotoArg, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteProfilePhotoArg_validator = bv.Struct(DeleteProfilePhotoArg) class DeleteProfilePhotoError(bb.Union): """ This union is empty. The comment here is intentionally emitted to avoid indentation issues with Stone. This class acts as a tagged union. Only 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(DeleteProfilePhotoError, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteProfilePhotoError_validator = bv.Union(DeleteProfilePhotoError) class DeleteProfilePhotoResult(bb.Struct): """ This struct is empty. The comment here is intentionally emitted to avoid indentation issues with Stone. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteProfilePhotoResult, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteProfilePhotoResult_validator = bv.Struct(DeleteProfilePhotoResult) class PhotoSourceArg(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar PhotoSourceArg.base64_data: Image data in base64-encoded bytes. :vartype PhotoSourceArg.base64_data: str """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @classmethod def base64_data(cls, val): """ Create an instance of this class set to the ``base64_data`` tag with value ``val``. :param str val: :rtype: PhotoSourceArg """ return cls("base64_data", val) def is_base64_data(self): """ Check if the union tag is ``base64_data``. :rtype: bool """ return self._tag == "base64_data" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_base64_data(self): """ Image data in base64-encoded bytes. Only call this if :meth:`is_base64_data` is true. :rtype: str """ if not self.is_base64_data(): raise AttributeError("tag 'base64_data' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(PhotoSourceArg, self)._process_custom_annotations( annotation_type, field_path, processor ) PhotoSourceArg_validator = bv.Union(PhotoSourceArg) class SetProfilePhotoArg(bb.Struct): """ :ivar SetProfilePhotoArg.photo: Image to set as the user's new profile photo. """ __slots__ = [ "_photo_value", ] _has_required_fields = True def __init__(self, photo=None): self._photo_value = bb.NOT_SET if photo is not None: self.photo = photo # Instance attribute type: PhotoSourceArg (validator is set below) photo = bb.Attribute("photo", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SetProfilePhotoArg, self)._process_custom_annotations( annotation_type, field_path, processor ) SetProfilePhotoArg_validator = bv.Struct(SetProfilePhotoArg) class SetProfilePhotoError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar SetProfilePhotoError.file_type_error: File cannot be set as profile photo. :ivar SetProfilePhotoError.file_size_error: File cannot exceed 10 MB. :ivar SetProfilePhotoError.dimension_error: Image must be larger than 128 x 128. :ivar SetProfilePhotoError.thumbnail_error: Image could not be thumbnailed. :ivar SetProfilePhotoError.transient_error: Temporary infrastructure failure, please retry. """ _catch_all = "other" # Attribute is overwritten below the class definition file_type_error = None # Attribute is overwritten below the class definition file_size_error = None # Attribute is overwritten below the class definition dimension_error = None # Attribute is overwritten below the class definition thumbnail_error = None # Attribute is overwritten below the class definition transient_error = None # Attribute is overwritten below the class definition other = None def is_file_type_error(self): """ Check if the union tag is ``file_type_error``. :rtype: bool """ return self._tag == "file_type_error" def is_file_size_error(self): """ Check if the union tag is ``file_size_error``. :rtype: bool """ return self._tag == "file_size_error" def is_dimension_error(self): """ Check if the union tag is ``dimension_error``. :rtype: bool """ return self._tag == "dimension_error" def is_thumbnail_error(self): """ Check if the union tag is ``thumbnail_error``. :rtype: bool """ return self._tag == "thumbnail_error" def is_transient_error(self): """ Check if the union tag is ``transient_error``. :rtype: bool """ return self._tag == "transient_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(SetProfilePhotoError, self)._process_custom_annotations( annotation_type, field_path, processor ) SetProfilePhotoError_validator = bv.Union(SetProfilePhotoError) class SetProfilePhotoResult(bb.Struct): """ :ivar SetProfilePhotoResult.profile_photo_url: URL for the photo representing the user, if one is set. """ __slots__ = [ "_profile_photo_url_value", ] _has_required_fields = True def __init__(self, profile_photo_url=None): self._profile_photo_url_value = bb.NOT_SET if profile_photo_url is not None: self.profile_photo_url = profile_photo_url # Instance attribute type: str (validator is set below) profile_photo_url = bb.Attribute("profile_photo_url") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SetProfilePhotoResult, self)._process_custom_annotations( annotation_type, field_path, processor ) SetProfilePhotoResult_validator = bv.Struct(SetProfilePhotoResult) 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 ThumbnailError.permanent_failure: Indicates permanent infrastructural failure. :ivar ThumbnailError.temporary_failure: Indicates temporary infrastructural failure. """ _catch_all = "other" # Attribute is overwritten below the class definition permanent_failure = None # Attribute is overwritten below the class definition temporary_failure = None # Attribute is overwritten below the class definition other = None def is_permanent_failure(self): """ Check if the union tag is ``permanent_failure``. :rtype: bool """ return self._tag == "permanent_failure" def is_temporary_failure(self): """ Check if the union tag is ``temporary_failure``. :rtype: bool """ return self._tag == "temporary_failure" 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(ThumbnailError, self)._process_custom_annotations( annotation_type, field_path, processor ) ThumbnailError_validator = bv.Union(ThumbnailError) AccountPhotoGetArg.dbx_account_id.validator = bv.String() AccountPhotoGetArg.size.validator = bv.String() AccountPhotoGetArg.circle_crop.validator = bv.Boolean() AccountPhotoGetArg.expect_account_photo.validator = bv.Boolean() AccountPhotoGetArg._all_field_names_ = set( [ "dbx_account_id", "size", "circle_crop", "expect_account_photo", ] ) AccountPhotoGetArg._all_fields_ = [ ("dbx_account_id", AccountPhotoGetArg.dbx_account_id.validator), ("size", AccountPhotoGetArg.size.validator), ("circle_crop", AccountPhotoGetArg.circle_crop.validator), ("expect_account_photo", AccountPhotoGetArg.expect_account_photo.validator), ] AccountPhotoGetError._thumbnail_error_validator = ThumbnailError_validator AccountPhotoGetError._account_photo_missing_validator = bv.Void() AccountPhotoGetError._expected_account_photo_missing_validator = bv.Void() AccountPhotoGetError._other_validator = bv.Void() AccountPhotoGetError._tagmap = { "thumbnail_error": AccountPhotoGetError._thumbnail_error_validator, "account_photo_missing": AccountPhotoGetError._account_photo_missing_validator, "expected_account_photo_missing": AccountPhotoGetError._expected_account_photo_missing_validator, "other": AccountPhotoGetError._other_validator, } AccountPhotoGetError.account_photo_missing = AccountPhotoGetError("account_photo_missing") AccountPhotoGetError.expected_account_photo_missing = AccountPhotoGetError( "expected_account_photo_missing" ) AccountPhotoGetError.other = AccountPhotoGetError("other") AccountPhotoGetResult.content_type.validator = bv.String() AccountPhotoGetResult._all_field_names_ = set(["content_type"]) AccountPhotoGetResult._all_fields_ = [ ("content_type", AccountPhotoGetResult.content_type.validator) ] DeleteProfilePhotoArg._all_field_names_ = set([]) DeleteProfilePhotoArg._all_fields_ = [] DeleteProfilePhotoError._other_validator = bv.Void() DeleteProfilePhotoError._tagmap = { "other": DeleteProfilePhotoError._other_validator, } DeleteProfilePhotoError.other = DeleteProfilePhotoError("other") DeleteProfilePhotoResult._all_field_names_ = set([]) DeleteProfilePhotoResult._all_fields_ = [] PhotoSourceArg._base64_data_validator = bv.String() PhotoSourceArg._other_validator = bv.Void() PhotoSourceArg._tagmap = { "base64_data": PhotoSourceArg._base64_data_validator, "other": PhotoSourceArg._other_validator, } PhotoSourceArg.other = PhotoSourceArg("other") SetProfilePhotoArg.photo.validator = PhotoSourceArg_validator SetProfilePhotoArg._all_field_names_ = set(["photo"]) SetProfilePhotoArg._all_fields_ = [("photo", SetProfilePhotoArg.photo.validator)] SetProfilePhotoError._file_type_error_validator = bv.Void() SetProfilePhotoError._file_size_error_validator = bv.Void() SetProfilePhotoError._dimension_error_validator = bv.Void() SetProfilePhotoError._thumbnail_error_validator = bv.Void() SetProfilePhotoError._transient_error_validator = bv.Void() SetProfilePhotoError._other_validator = bv.Void() SetProfilePhotoError._tagmap = { "file_type_error": SetProfilePhotoError._file_type_error_validator, "file_size_error": SetProfilePhotoError._file_size_error_validator, "dimension_error": SetProfilePhotoError._dimension_error_validator, "thumbnail_error": SetProfilePhotoError._thumbnail_error_validator, "transient_error": SetProfilePhotoError._transient_error_validator, "other": SetProfilePhotoError._other_validator, } SetProfilePhotoError.file_type_error = SetProfilePhotoError("file_type_error") SetProfilePhotoError.file_size_error = SetProfilePhotoError("file_size_error") SetProfilePhotoError.dimension_error = SetProfilePhotoError("dimension_error") SetProfilePhotoError.thumbnail_error = SetProfilePhotoError("thumbnail_error") SetProfilePhotoError.transient_error = SetProfilePhotoError("transient_error") SetProfilePhotoError.other = SetProfilePhotoError("other") SetProfilePhotoResult.profile_photo_url.validator = bv.String() SetProfilePhotoResult._all_field_names_ = set(["profile_photo_url"]) SetProfilePhotoResult._all_fields_ = [ ("profile_photo_url", SetProfilePhotoResult.profile_photo_url.validator) ] ThumbnailError._permanent_failure_validator = bv.Void() ThumbnailError._temporary_failure_validator = bv.Void() ThumbnailError._other_validator = bv.Void() ThumbnailError._tagmap = { "permanent_failure": ThumbnailError._permanent_failure_validator, "temporary_failure": ThumbnailError._temporary_failure_validator, "other": ThumbnailError._other_validator, } ThumbnailError.permanent_failure = ThumbnailError("permanent_failure") ThumbnailError.temporary_failure = ThumbnailError("temporary_failure") ThumbnailError.other = ThumbnailError("other") delete_profile_photo = bb.Route( "delete_profile_photo", 1, False, DeleteProfilePhotoArg_validator, DeleteProfilePhotoResult_validator, DeleteProfilePhotoError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_photo = bb.Route( "get_photo", 1, False, AccountPhotoGetArg_validator, AccountPhotoGetResult_validator, AccountPhotoGetError_validator, {"auth": "user", "host": "content", "style": "download"}, ) set_profile_photo = bb.Route( "set_profile_photo", 1, False, SetProfilePhotoArg_validator, SetProfilePhotoResult_validator, SetProfilePhotoError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) ROUTES = { "delete_profile_photo": delete_profile_photo, "get_photo": get_photo, "set_profile_photo": set_profile_photo, } dropbox-dropbox-sdk-python-6064f79/dropbox/account_id.py000066400000000000000000000013301522735175000233720ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv class ContainsDbidAnnotation(bb.AnnotationType): """ Annotation type should be applied to Response object fields which contain account id """ __slots__ = [ "_authorize_caller", ] def __init__(self, authorize_caller=True): self._authorize_caller = authorize_caller @property def authorize_caller(self): """ :rtype: bool """ return self._authorize_caller ROUTES = {} dropbox-dropbox-sdk-python-6064f79/dropbox/async.py000066400000000000000000000003621522735175000224030ustar00rootroot00000000000000# -*- 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-dropbox-sdk-python-6064f79/dropbox/async_.py000066400000000000000000000225111522735175000225420ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv 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 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. :vartype LaunchResultBase.async_job_id: str """ _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 ) 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 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 ) LaunchEmptyResult_validator = bv.Union(LaunchEmptyResult) class PollArg(bb.Struct): """ Arguments for methods that poll the status of an asynchronous job. :ivar 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", ] _has_required_fields = True def __init__(self, async_job_id=None): self._async_job_id_value = bb.NOT_SET if async_job_id is not None: self.async_job_id = async_job_id # Instance attribute type: str (validator is set below) async_job_id = bb.Attribute("async_job_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PollArg, self)._process_custom_annotations(annotation_type, field_path, processor) 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 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 ) 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 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 ) 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 PollError.invalid_async_job_id: The job ID is invalid. :ivar 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) 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-dropbox-sdk-python-6064f79/dropbox/auth.py000066400000000000000000000706071522735175000222400ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv 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 AccessError.invalid_account_type: Current account type cannot access the resource. :vartype AccessError.invalid_account_type: InvalidAccountTypeError :ivar AccessError.paper_access_denied: Current account cannot access Paper. :vartype AccessError.paper_access_denied: PaperAccessError :ivar AccessError.team_access_denied: Team doesn't have permission to access. :ivar AccessError.no_permission: Caller does not have permission to access the resource. :vartype AccessError.no_permission: NoPermissionError """ _catch_all = "other" # Attribute is overwritten below the class definition team_access_denied = None # 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) @classmethod def no_permission(cls, val): """ Create an instance of this class set to the ``no_permission`` tag with value ``val``. :param NoPermissionError val: :rtype: AccessError """ return cls("no_permission", 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_team_access_denied(self): """ Check if the union tag is ``team_access_denied``. :rtype: bool """ return self._tag == "team_access_denied" 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_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 get_no_permission(self): """ Caller does not have permission to access the resource. Only call this if :meth:`is_no_permission` is true. :rtype: NoPermissionError """ if not self.is_no_permission(): raise AttributeError("tag 'no_permission' 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) 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 AuthError.invalid_access_token: The access token is invalid. :ivar AuthError.invalid_select_user: The user specified in 'Dropbox-API-Select-User' is no longer on the team. :ivar AuthError.invalid_select_admin: The user specified in 'Dropbox-API-Select-Admin' is not a Dropbox Business team admin. :ivar AuthError.user_suspended: The user has been suspended. :ivar AuthError.expired_access_token: The access token has expired. :ivar AuthError.missing_scope: The access token does not have the required scope to access the route. :vartype AuthError.missing_scope: TokenScopeError :ivar AuthError.route_access_denied: The route is not available to public. """ _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 route_access_denied = 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_route_access_denied(self): """ Check if the union tag is ``route_access_denied``. :rtype: bool """ return self._tag == "route_access_denied" 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) 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 InvalidAccountTypeError.endpoint: Current account type doesn't have permission to access this route endpoint. :ivar 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 ) InvalidAccountTypeError_validator = bv.Union(InvalidAccountTypeError) class NoPermissionError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar NoPermissionError.unauthorized_account_id_usage: Current caller does not have permission to access the account information for one or more of the specified account IDs. :vartype NoPermissionError.unauthorized_account_id_usage: UnauthorizedAccountIdUsageError """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @classmethod def unauthorized_account_id_usage(cls, val): """ Create an instance of this class set to the ``unauthorized_account_id_usage`` tag with value ``val``. :param UnauthorizedAccountIdUsageError val: :rtype: NoPermissionError """ return cls("unauthorized_account_id_usage", val) def is_unauthorized_account_id_usage(self): """ Check if the union tag is ``unauthorized_account_id_usage``. :rtype: bool """ return self._tag == "unauthorized_account_id_usage" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_unauthorized_account_id_usage(self): """ Current caller does not have permission to access the account information for one or more of the specified account IDs. Only call this if :meth:`is_unauthorized_account_id_usage` is true. :rtype: UnauthorizedAccountIdUsageError """ if not self.is_unauthorized_account_id_usage(): raise AttributeError("tag 'unauthorized_account_id_usage' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoPermissionError, self)._process_custom_annotations( annotation_type, field_path, processor ) NoPermissionError_validator = bv.Union(NoPermissionError) 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 PaperAccessError.paper_disabled: Paper is disabled. :ivar 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 ) PaperAccessError_validator = bv.Union(PaperAccessError) class RateLimitError(bb.Struct): """ Error occurred because the app is being rate limited. :ivar RateLimitError.reason: The reason why the app is being rate limited. :ivar RateLimitError.retry_after: The number of seconds that the app should wait before making another request. """ __slots__ = [ "_reason_value", "_retry_after_value", ] _has_required_fields = True def __init__(self, reason=None, retry_after=None): self._reason_value = bb.NOT_SET self._retry_after_value = bb.NOT_SET if reason is not None: self.reason = reason if retry_after is not None: self.retry_after = retry_after # Instance attribute type: RateLimitReason (validator is set below) reason = bb.Attribute("reason", user_defined=True) # Instance attribute type: int (validator is set below) retry_after = bb.Attribute("retry_after") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RateLimitError, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 RateLimitReason.too_many_requests: You are making too many requests in the past few minutes. :ivar 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 ) RateLimitReason_validator = bv.Union(RateLimitReason) class TokenFromOAuth1Arg(bb.Struct): """ :ivar TokenFromOAuth1Arg.oauth1_token: The supplied OAuth 1.0 access token. :ivar TokenFromOAuth1Arg.oauth1_token_secret: The token secret associated with the supplied access token. """ __slots__ = [ "_oauth1_token_value", "_oauth1_token_secret_value", ] _has_required_fields = True def __init__(self, oauth1_token=None, oauth1_token_secret=None): self._oauth1_token_value = bb.NOT_SET self._oauth1_token_secret_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) oauth1_token = bb.Attribute("oauth1_token") # Instance attribute type: str (validator is set below) oauth1_token_secret = bb.Attribute("oauth1_token_secret") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TokenFromOAuth1Arg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TokenFromOAuth1Error.invalid_oauth1_token_info: Part or all of the OAuth 1.0 access token info is invalid. :ivar 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 ) TokenFromOAuth1Error_validator = bv.Union(TokenFromOAuth1Error) class TokenFromOAuth1Result(bb.Struct): """ :ivar TokenFromOAuth1Result.oauth2_token: The OAuth 2.0 token generated from the supplied OAuth 1.0 token. """ __slots__ = [ "_oauth2_token_value", ] _has_required_fields = True def __init__(self, oauth2_token=None): self._oauth2_token_value = bb.NOT_SET if oauth2_token is not None: self.oauth2_token = oauth2_token # Instance attribute type: str (validator is set below) oauth2_token = bb.Attribute("oauth2_token") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TokenFromOAuth1Result, self)._process_custom_annotations( annotation_type, field_path, processor ) TokenFromOAuth1Result_validator = bv.Struct(TokenFromOAuth1Result) class TokenScopeError(bb.Struct): """ :ivar TokenScopeError.required_scope: The required scope to access the route. """ __slots__ = [ "_required_scope_value", ] _has_required_fields = True def __init__(self, required_scope=None): self._required_scope_value = bb.NOT_SET if required_scope is not None: self.required_scope = required_scope # Instance attribute type: str (validator is set below) required_scope = bb.Attribute("required_scope") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TokenScopeError, self)._process_custom_annotations( annotation_type, field_path, processor ) TokenScopeError_validator = bv.Struct(TokenScopeError) class UnauthorizedAccountIdUsageError(bb.Struct): """ :ivar UnauthorizedAccountIdUsageError.unauthorized_account_ids: The account IDs that the caller does not have permission to use. """ __slots__ = [ "_unauthorized_account_ids_value", ] _has_required_fields = True def __init__(self, unauthorized_account_ids=None): self._unauthorized_account_ids_value = bb.NOT_SET if unauthorized_account_ids is not None: self.unauthorized_account_ids = unauthorized_account_ids # Instance attribute type: list of [str] (validator is set below) unauthorized_account_ids = bb.Attribute("unauthorized_account_ids") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UnauthorizedAccountIdUsageError, self)._process_custom_annotations( annotation_type, field_path, processor ) UnauthorizedAccountIdUsageError_validator = bv.Struct(UnauthorizedAccountIdUsageError) AccessError._invalid_account_type_validator = InvalidAccountTypeError_validator AccessError._paper_access_denied_validator = PaperAccessError_validator AccessError._team_access_denied_validator = bv.Void() AccessError._no_permission_validator = NoPermissionError_validator AccessError._other_validator = bv.Void() AccessError._tagmap = { "invalid_account_type": AccessError._invalid_account_type_validator, "paper_access_denied": AccessError._paper_access_denied_validator, "team_access_denied": AccessError._team_access_denied_validator, "no_permission": AccessError._no_permission_validator, "other": AccessError._other_validator, } AccessError.team_access_denied = AccessError("team_access_denied") 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._route_access_denied_validator = bv.Void() 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, "route_access_denied": AuthError._route_access_denied_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.route_access_denied = AuthError("route_access_denied") 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") NoPermissionError._unauthorized_account_id_usage_validator = ( UnauthorizedAccountIdUsageError_validator ) NoPermissionError._other_validator = bv.Void() NoPermissionError._tagmap = { "unauthorized_account_id_usage": NoPermissionError._unauthorized_account_id_usage_validator, "other": NoPermissionError._other_validator, } NoPermissionError.other = NoPermissionError("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)] UnauthorizedAccountIdUsageError.unauthorized_account_ids.validator = bv.List(bv.String()) UnauthorizedAccountIdUsageError._all_field_names_ = set(["unauthorized_account_ids"]) UnauthorizedAccountIdUsageError._all_fields_ = [ ( "unauthorized_account_ids", UnauthorizedAccountIdUsageError.unauthorized_account_ids.validator, ) ] RateLimitError.retry_after.default = 1 token_from_oauth1 = bb.Route( "token/from_oauth1", 1, True, TokenFromOAuth1Arg_validator, TokenFromOAuth1Result_validator, TokenFromOAuth1Error_validator, {"auth": "app", "host": "api", "style": "rpc"}, ) token_revoke = bb.Route( "token/revoke", 1, False, bv.Void(), bv.Void(), bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) ROUTES = { "token/from_oauth1": token_from_oauth1, "token/revoke": token_revoke, } dropbox-dropbox-sdk-python-6064f79/dropbox/base.py000066400000000000000000007266301522735175000222150ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # flake8: noqa # pylint: skip-file from abc import ABCMeta, abstractmethod import warnings from dropbox import account from dropbox import async_ from dropbox import auth from dropbox import check from dropbox import common from dropbox import contacts from dropbox import file_properties from dropbox import file_requests from dropbox import files from dropbox import openid from dropbox import paper from dropbox import riviera from dropbox import secondary_emails from dropbox import seen_state from dropbox import sharing from dropbox import team from dropbox import team_common from dropbox import team_log from dropbox import team_policies from dropbox import users from dropbox import users_common class DropboxBase(object): __metaclass__ = ABCMeta @abstractmethod def request(self, route, namespace, request_arg, request_binary, timeout=None): pass # ------------------------------------------ # Routes in account namespace def account_delete_profile_photo(self): """ Deletes the current user's profile photo. Route attributes: scope: account_info.write :rtype: :class:`dropbox.account.DeleteProfilePhotoResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.account.DeleteProfilePhotoError` """ arg = account.DeleteProfilePhotoArg() r = self.request( account.delete_profile_photo, "account", arg, None, ) return r def account_get_photo(self, dbx_account_id, size, circle_crop, expect_account_photo): """ This lovely endpoint gets the account photo of a given user. Route attributes: scope: account_info.read :param dbx_account_id: Encoded ID of the user. Must start either with 'dbid:' or 'dbaphid:'. :type dbx_account_id: str :param size: A string representing the size of the photo. :type size: str :param circle_crop: True if the photo should be cropped and false otherwise. :type circle_crop: bool :param expect_account_photo: True if we expect account photo to exist. :type expect_account_photo: bool :rtype: (:class:`dropbox.account.AccountPhotoGetResult`, :class:`requests.models.Response`) :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.account.AccountPhotoGetError` 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 = account.AccountPhotoGetArg(dbx_account_id, size, circle_crop, expect_account_photo) r = self.request( account.get_photo, "account", arg, None, ) return r def account_get_photo_to_file( self, download_path, dbx_account_id, size, circle_crop, expect_account_photo ): """ This lovely endpoint gets the account photo of a given user. Route attributes: scope: account_info.read :param str download_path: Path on local machine to save file. :param dbx_account_id: Encoded ID of the user. Must start either with 'dbid:' or 'dbaphid:'. :type dbx_account_id: str :param size: A string representing the size of the photo. :type size: str :param circle_crop: True if the photo should be cropped and false otherwise. :type circle_crop: bool :param expect_account_photo: True if we expect account photo to exist. :type expect_account_photo: bool :rtype: :class:`dropbox.account.AccountPhotoGetResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.account.AccountPhotoGetError` """ arg = account.AccountPhotoGetArg(dbx_account_id, size, circle_crop, expect_account_photo) r = self.request( account.get_photo, "account", arg, None, ) self._save_body_to_file(download_path, r[1]) return r[0] def account_set_profile_photo(self, photo): """ Sets a user's profile photo. Route attributes: scope: account_info.write :param photo: Image to set as the user's new profile photo. :type photo: :class:`dropbox.account.PhotoSourceArg` :rtype: :class:`dropbox.account.SetProfilePhotoResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.account.SetProfilePhotoError` """ arg = account.SetProfilePhotoArg(photo) r = self.request( account.set_profile_photo, "account", arg, None, ) return r # ------------------------------------------ # 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 oauth1_token: The supplied OAuth 1.0 access token. :type oauth1_token: str :param oauth1_token_secret: The token secret associated with the supplied access token. :type oauth1_token_secret: str :rtype: :class:`dropbox.auth.TokenFromOAuth1Result` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.auth.TokenFromOAuth1Error` """ warnings.warn( "token/from_oauth1 is deprecated.", DeprecationWarning, ) 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. If there is a corresponding refresh token for the access token, this disables that refresh token, as well as any other access tokens for that refresh token. :rtype: None """ arg = None r = self.request( auth.token_revoke, "auth", arg, None, ) return None # ------------------------------------------ # Routes in check namespace def check_app(self, query=""): """ This endpoint performs App Authentication, validating the supplied app key and secret, and returns the supplied string, to allow you to test your code and connection to the Dropbox API. It has no other effect. If you receive an HTTP 200 response with the supplied query, it indicates at least part of the Dropbox API infrastructure is working and that the app key and secret valid. :param query: The string that you'd like to be echoed back to you. :type query: str :rtype: :class:`dropbox.check.EchoResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.check.EchoError` """ arg = check.EchoArg(query) r = self.request( check.app, "check", arg, None, ) return r def check_user(self, query=""): """ This endpoint performs User Authentication, validating the supplied access token, and returns the supplied string, to allow you to test your code and connection to the Dropbox API. It has no other effect. If you receive an HTTP 200 response with the supplied query, it indicates at least part of the Dropbox API infrastructure is working and that the access token is valid. Route attributes: scope: account_info.read :param query: The string that you'd like to be echoed back to you. :type query: str :rtype: :class:`dropbox.check.EchoResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.check.EchoError` """ arg = check.EchoArg(query) r = self.request( check.user, "check", arg, None, ) return r # ------------------------------------------ # 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. Route attributes: scope: contacts.write :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. Route attributes: scope: contacts.write :param email_addresses: List of manually added contacts to be deleted. :type email_addresses: List[str] :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. Route attributes: scope: files.metadata.write :param path: A unique identifier for the file or folder. :type path: str :param property_groups: The property groups which are to be added to a Dropbox file. No two groups in the input should refer to the same template. :type property_groups: List[:class:`dropbox.file_properties.PropertyGroup`] :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. Route attributes: scope: files.metadata.write :param path: A unique identifier for the file or folder. :type path: str :param property_groups: The property groups "snapshot" updates to force apply. No two groups in the input should refer to the same template. :type property_groups: List[:class:`dropbox.file_properties.PropertyGroup`] :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`. Route attributes: scope: files.metadata.write :param path: A unique identifier for the file or folder. :type path: str :param 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`. :type property_template_ids: List[str] :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. Route attributes: scope: files.metadata.read :param queries: Queries to search. :type queries: List[:class:`dropbox.file_properties.PropertiesSearchQuery`] :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. Route attributes: scope: files.metadata.read :param cursor: The cursor returned by your last call to :meth:`file_properties_properties_search` or :meth:`file_properties_properties_search_continue`. :type cursor: str :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. Route attributes: scope: files.metadata.write :param path: A unique identifier for the file or folder. :type path: str :param update_property_groups: The property groups "delta" updates to apply. :type update_property_groups: List[:class:`dropbox.file_properties.PropertyGroupUpdate`] :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. Route attributes: scope: files.metadata.write :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. Route attributes: scope: files.metadata.read :param 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`. :type template_id: str :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. Route attributes: scope: files.metadata.read :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. Route attributes: scope: files.metadata.write :param template_id: An identifier for a template created by :meth:`file_properties_templates_add_for_user` or :meth:`file_properties_templates_add_for_team`. :type template_id: str :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. Route attributes: scope: files.metadata.write :param template_id: An identifier for template added by See :meth:`file_properties_templates_add_for_user` or :meth:`file_properties_templates_add_for_team`. :type template_id: str :param name: A display name for the template. template names can be up to 256 bytes. :type name: Nullable[str] :param description: Description for the new template. Template descriptions can be up to 1024 bytes. :type description: Nullable[str] :param add_fields: Property field templates to be added to the group template. There can be up to 32 properties in a single template. :type add_fields: Nullable[List[:class:`dropbox.file_properties.PropertyFieldTemplate`]] :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. Route attributes: scope: file_requests.read :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, description=None, video_project_id=None, ): """ Creates a file request for this user. Route attributes: scope: file_requests.write :param title: The title of the file request. Must not be empty. :type title: str :param 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. :type destination: str :param deadline: The deadline for the file request. Deadlines can only be set by Professional and Business accounts. :type deadline: Nullable[:class:`dropbox.file_requests.FileRequestDeadline`] :param 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. :type open: bool :param description: A description of the file request. :type description: Nullable[str] :param video_project_id: If this request was created from video project, its id. :type video_project_id: Nullable[str] :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, description, video_project_id ) 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. Route attributes: scope: file_requests.write :param ids: List IDs of the file requests to delete. :type ids: List[str] :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. Route attributes: scope: file_requests.write :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. Route attributes: scope: file_requests.read :param id: The ID of the file request to retrieve. :type id: str :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(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. Route attributes: scope: file_requests.read :rtype: :class:`dropbox.file_requests.ListFileRequestsResult` """ arg = None r = self.request( file_requests.list, "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. Route attributes: scope: file_requests.read :param limit: The maximum number of file requests that should be returned per request. :type limit: int :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_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`. Route attributes: scope: file_requests.read :param cursor: The cursor returned by the previous API call specified in the endpoint description. :type cursor: str :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, description=None, ): """ Update a file request. Route attributes: scope: file_requests.write :param id: The ID of the file request to update. :type id: str :param title: The new title of the file request. Must not be empty. :type title: Nullable[str] :param 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. :type destination: Nullable[str] :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 open: Whether to set this file request as open or closed. :type open: Nullable[bool] :param description: The description of the file request. :type description: Nullable[str] :rtype: :class:`dropbox.file_requests.FileRequest` """ arg = file_requests.UpdateFileRequestArgs( id, title, destination, deadline, open, description ) 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. Route attributes: scope: files.metadata.read :param include_property_templates: Field is deprecated. If set to a valid list of template IDs, ``FileMetadata.property_groups`` is set for files with custom properties. :type include_property_templates: Nullable[List[str]] :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.", 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, content_hash=None, ): """ Create a new file with the contents provided in the request. Note that the behavior of this alpha endpoint is unstable and subject to change. Do not use this to upload a file larger than 150 MiB. Instead, create an upload session with :meth:`files_upload_session_start`. Route attributes: scope: files.content.write :param bytes f: Contents to upload. :param content_hash: A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. :type content_hash: Nullable[str] :rtype: :class:`dropbox.files.FileMetadata` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.UploadError` """ warnings.warn( "alpha/upload is deprecated.", DeprecationWarning, ) arg = files.UploadArg( path, mode, autorename, client_modified, mute, property_groups, strict_conflict, content_hash, ) r = self.request( files.alpha_upload, "files", arg, f, ) 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. Route attributes: scope: files.content.write :param allow_shared_folder: Field is deprecated. This flag has no effect. :type allow_shared_folder: bool :param autorename: If there's a conflict, have the Dropbox server try to autorename the file to avoid the conflict. :type autorename: bool :param 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. :type allow_ownership_transfer: bool :rtype: :class:`dropbox.files.Metadata` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.RelocationError` """ warnings.warn( "copy is deprecated.", 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_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. Route attributes: scope: files.content.write :param allow_shared_folder: Field is deprecated. This flag has no effect. :type allow_shared_folder: bool :param autorename: If there's a conflict, have the Dropbox server try to autorename the file to avoid the conflict. :type autorename: bool :param 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. :type allow_ownership_transfer: bool :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_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. 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. Route attributes: scope: files.content.write :param allow_shared_folder: Field is deprecated. This flag has no effect. :type allow_shared_folder: bool :param 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. :type allow_ownership_transfer: bool :rtype: :class:`dropbox.files.RelocationBatchLaunch` """ warnings.warn( "copy_batch is deprecated.", 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_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. Route attributes: scope: files.content.write :param entries: List of entries to be moved or copied. Each entry is :class:`dropbox.files.RelocationPath`. :type entries: List[:class:`dropbox.files.RelocationPath`] :param autorename: If there's a conflict with any file, have the Dropbox server try to autorename that file to avoid the conflict. :type autorename: bool :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_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. Route attributes: scope: files.content.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.files.RelocationBatchJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ warnings.warn( "copy_batch/check is deprecated.", DeprecationWarning, ) arg = async_.PollArg(async_job_id) r = self.request( files.copy_batch_check, "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. Route attributes: scope: files.content.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.files.RelocationBatchV2JobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ arg = async_.PollArg(async_job_id) r = self.request( files.copy_batch_check_v2, "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`. Route attributes: scope: files.content.write :param path: The path to the file or folder you want to get a copy reference to. :type path: str :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. Route attributes: scope: files.content.write :param copy_reference: A copy reference returned by :meth:`files_copy_reference_get`. :type copy_reference: str :param path: Path in the user's Dropbox that is the destination. :type path: str :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(self, path, autorename=False): """ Create a folder at a given path. Route attributes: scope: files.content.write :param path: Path in the user's Dropbox to create. :type path: str :param autorename: If there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. :type autorename: bool :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.", DeprecationWarning, ) arg = files.CreateFolderArg(path, autorename) r = self.request( files.create_folder, "files", arg, None, ) return r def files_create_folder_v2(self, path, autorename=False): """ Create a folder at a given path. Route attributes: scope: files.content.write :param path: Path in the user's Dropbox to create. :type path: str :param autorename: If there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. :type autorename: bool :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_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. Route attributes: scope: files.content.write :param paths: List of paths to be created in the user's Dropbox. Duplicate path arguments in the batch are considered only once. :type paths: List[str] :param autorename: If there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. :type autorename: bool :param force_async: Whether to force the create to happen asynchronously. :type force_async: bool :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. Route attributes: scope: files.content.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.files.CreateFolderBatchJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ arg = async_.PollArg(async_job_id) r = self.request( files.create_folder_batch_check, "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 FileMetadata or FolderMetadata for the item at time of deletion, and not a DeletedMetadata object. Route attributes: scope: files.content.write :param path: Path in the user's Dropbox to delete. :type path: str :param parent_rev: Perform delete if given "rev" matches the existing file's latest "rev". This field does not support deleting a folder. :type parent_rev: Nullable[str] :rtype: :class:`dropbox.files.Metadata` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.DeleteError` """ warnings.warn( "delete is deprecated.", DeprecationWarning, ) arg = files.DeleteArg(path, parent_rev) r = self.request( files.delete, "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 FileMetadata or FolderMetadata for the item at time of deletion, and not a DeletedMetadata object. Route attributes: scope: files.content.write :param path: Path in the user's Dropbox to delete. :type path: str :param parent_rev: Perform delete if given "rev" matches the existing file's latest "rev". This field does not support deleting a folder. :type parent_rev: Nullable[str] :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_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. Route attributes: scope: files.content.write :type entries: List[:class:`dropbox.files.DeleteArg`] :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. Route attributes: scope: files.content.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.files.DeleteBatchJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.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. Route attributes: scope: files.content.read :param path: The path of the file to download. :type path: str :param rev: Field is deprecated. Please specify revision in ``path`` instead. :type rev: Nullable[str] :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. Route attributes: scope: files.content.read :param str download_path: Path on local machine to save file. :param path: The path of the file to download. :type path: str :param rev: Field is deprecated. Please specify revision in ``path`` instead. :type rev: Nullable[str] :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 any single file within must be less than 4 GB in size. The resulting zip must have fewer than 10,000 total file and folder entries, including the top level folder. The input cannot be a single file. Note: this endpoint does not support HTTP range requests. Route attributes: scope: files.content.read :param path: The path of the folder to download. :type path: str :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 any single file within must be less than 4 GB in size. The resulting zip must have fewer than 10,000 total file and folder entries, including the top level folder. The input cannot be a single file. Note: this endpoint does not support HTTP range requests. Route attributes: scope: files.content.read :param str download_path: Path on local machine to save file. :param path: The path of the folder to download. :type path: str :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_format=None): """ 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. Route attributes: scope: files.content.read :param path: The path of the file to be exported. :type path: str :param export_format: The file format to which the file should be exported. This must be one of the formats listed in the file's export_options returned by :meth:`files_get_metadata`. If none is specified, the default format (specified in export_as in file metadata) will be used. :type export_format: Nullable[str] :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, export_format) r = self.request( files.export, "files", arg, None, ) return r def files_export_to_file(self, download_path, path, export_format=None): """ 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. Route attributes: scope: files.content.read :param str download_path: Path on local machine to save file. :param path: The path of the file to be exported. :type path: str :param export_format: The file format to which the file should be exported. This must be one of the formats listed in the file's export_options returned by :meth:`files_get_metadata`. If none is specified, the default format (specified in export_as in file metadata) will be used. :type export_format: Nullable[str] :rtype: :class:`dropbox.files.ExportResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.ExportError` """ arg = files.ExportArg(path, export_format) r = self.request( files.export, "files", arg, None, ) self._save_body_to_file(download_path, r[1]) return r[0] def files_get_file_lock_batch(self, entries): """ Return the lock metadata for the given list of paths. Route attributes: scope: files.content.read :param entries: List of 'entries'. Each 'entry' contains a path of the file which will be locked or queried. Duplicate path arguments in the batch are considered only once. :type entries: List[:class:`dropbox.files.LockFileArg`] :rtype: :class:`dropbox.files.LockFileBatchResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.LockFileError` """ arg = files.LockFileBatchArg(entries) r = self.request( files.get_file_lock_batch, "files", arg, None, ) return r 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. Route attributes: scope: files.metadata.read :param path: The path of a file or folder on Dropbox. :type path: str :param include_media_info: If true, ``FileMetadata.media_info`` is set for photo and video. :type include_media_info: bool :param include_deleted: If true, :class:`dropbox.files.DeletedMetadata` will be returned for deleted file or folder, otherwise ``LookupError.not_found`` will be returned. :type include_deleted: bool :param 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. :type include_has_explicit_shared_members: bool :param 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. :type include_property_groups: Nullable[:class:`dropbox.file_properties.TemplateFilterBase`] :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 .csv, .ods, .xls, .xlsm, .gsheet, .xlsx. Other formats will return an unsupported extension error. Route attributes: scope: files.content.read :param path: The path of the file to preview. :type path: str :param rev: Field is deprecated. Please specify revision in ``path`` instead. :type rev: Nullable[str] :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 .csv, .ods, .xls, .xlsm, .gsheet, .xlsx. Other formats will return an unsupported extension error. Route attributes: scope: files.content.read :param str download_path: Path on local machine to save file. :param path: The path of the file to preview. :type path: str :param rev: Field is deprecated. Please specify revision in ``path`` instead. :type rev: Nullable[str] :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. Route attributes: scope: files.content.read :param path: The path to the file you want a temporary link to. :type path: str :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 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 CommitInfo previously provided to getTemporaryUploadLink() but evaluated only upon consumption. Hence, errors stemming from invalid 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://content.dropboxapi.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 successful 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. Route attributes: scope: files.content.write :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 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. :type duration: float :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, quality=files.ThumbnailQuality.quality_80, exclude_media_info=None, ): """ Get a thumbnail for an image. This method currently supports files with the following file extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp. Photos that are larger than 20MB in size won't be converted to a thumbnail. Route attributes: scope: files.content.read :param path: The path to the image file you want to thumbnail. :type path: str :param format: The format for the thumbnail image, jpeg (default), png, or webp. For images that are photos, jpeg should be preferred, while png is better for screenshots and digital arts, and web for compression. :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` :param quality: Field is only returned for "internal" callers. Quality of the thumbnail image. :type quality: :class:`dropbox.files.ThumbnailQuality` :param exclude_media_info: Normally, ``FileMetadata.media_info`` is set for photo and video. When this flag is true, ``FileMetadata.media_info`` is not populated. This improves latency for use cases where `media_info` is not needed. :type exclude_media_info: Nullable[bool] :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, quality, exclude_media_info) 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, quality=files.ThumbnailQuality.quality_80, exclude_media_info=None, ): """ Get a thumbnail for an image. This method currently supports files with the following file extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp. Photos that are larger than 20MB in size won't be converted to a thumbnail. Route attributes: scope: files.content.read :param str download_path: Path on local machine to save file. :param path: The path to the image file you want to thumbnail. :type path: str :param format: The format for the thumbnail image, jpeg (default), png, or webp. For images that are photos, jpeg should be preferred, while png is better for screenshots and digital arts, and web for compression. :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` :param quality: Field is only returned for "internal" callers. Quality of the thumbnail image. :type quality: :class:`dropbox.files.ThumbnailQuality` :param exclude_media_info: Normally, ``FileMetadata.media_info`` is set for photo and video. When this flag is true, ``FileMetadata.media_info`` is not populated. This improves latency for use cases where `media_info` is not needed. :type exclude_media_info: Nullable[bool] :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, quality, exclude_media_info) 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_v2( self, resource, format=files.ThumbnailFormat.jpeg, size=files.ThumbnailSize.w64h64, mode=files.ThumbnailMode.strict, quality=files.ThumbnailQuality.quality_80, exclude_media_info=None, ): """ Get a thumbnail for an image. This method currently supports files with the following file extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp. Photos that are larger than 20MB in size won't be converted to a thumbnail. Route attributes: scope: files.content.read :param resource: Information specifying which file to preview. This could be a path to a file, a shared link pointing to a file, or a shared link pointing to a folder, with a relative path. :type resource: :class:`dropbox.files.PathOrLink` :param format: The format for the thumbnail image, jpeg (default), png, or webp. For images that are photos, jpeg should be preferred, while png is better for screenshots and digital arts, and web for compression. :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` :param quality: Field is only returned for "internal" callers. Quality of the thumbnail image. :type quality: :class:`dropbox.files.ThumbnailQuality` :param exclude_media_info: Normally, ``FileMetadata.media_info`` is set for photo and video. When this flag is true, ``FileMetadata.media_info`` is not populated. This improves latency for use cases where `media_info` is not needed. :type exclude_media_info: Nullable[bool] :rtype: (:class:`dropbox.files.PreviewResult`, :class:`requests.models.Response`) :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.ThumbnailV2Error` 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.ThumbnailV2Arg(resource, format, size, mode, quality, exclude_media_info) r = self.request( files.get_thumbnail_v2, "files", arg, None, ) return r def files_get_thumbnail_to_file_v2( self, download_path, resource, format=files.ThumbnailFormat.jpeg, size=files.ThumbnailSize.w64h64, mode=files.ThumbnailMode.strict, quality=files.ThumbnailQuality.quality_80, exclude_media_info=None, ): """ Get a thumbnail for an image. This method currently supports files with the following file extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp. Photos that are larger than 20MB in size won't be converted to a thumbnail. Route attributes: scope: files.content.read :param str download_path: Path on local machine to save file. :param resource: Information specifying which file to preview. This could be a path to a file, a shared link pointing to a file, or a shared link pointing to a folder, with a relative path. :type resource: :class:`dropbox.files.PathOrLink` :param format: The format for the thumbnail image, jpeg (default), png, or webp. For images that are photos, jpeg should be preferred, while png is better for screenshots and digital arts, and web for compression. :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` :param quality: Field is only returned for "internal" callers. Quality of the thumbnail image. :type quality: :class:`dropbox.files.ThumbnailQuality` :param exclude_media_info: Normally, ``FileMetadata.media_info`` is set for photo and video. When this flag is true, ``FileMetadata.media_info`` is not populated. This improves latency for use cases where `media_info` is not needed. :type exclude_media_info: Nullable[bool] :rtype: :class:`dropbox.files.PreviewResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.ThumbnailV2Error` """ arg = files.ThumbnailV2Arg(resource, format, size, mode, quality, exclude_media_info) r = self.request( files.get_thumbnail_v2, "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, webp, ppm and bmp. Photos that are larger than 20MB in size won't be converted to a thumbnail. Route attributes: scope: files.content.read :param entries: List of files to get thumbnails. :type entries: List[:class:`dropbox.files.ThumbnailArg`] :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, include_restorable_info=False, ): """ 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 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 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 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: 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. Route attributes: scope: files.metadata.read :param path: A unique identifier for the file. :type path: str :param recursive: If true, the list folder operation will be applied recursively to all subfolders and the response will contain contents of all subfolders. In some cases, setting ``ListFolderArg.recursive`` to ``True`` may lead to performance issues or errors, especially when traversing folder structures with a large number of items. A workaround for such cases is to set ``ListFolderArg.recursive`` to ``False`` and traverse subfolders one at a time. :type recursive: bool :param include_media_info: Field is deprecated. If true, ``FileMetadata.media_info`` is set for photo and video. This parameter will no longer have an effect starting December 2, 2019. :type include_media_info: bool :param include_deleted: If true, the results will include entries for files and folders that used to exist but were deleted. :type include_deleted: bool :param 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. :type include_has_explicit_shared_members: bool :param include_mounted_folders: If true, the results will include entries under mounted folders which includes app folder, shared folder and team folder. :type include_mounted_folders: bool :param 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. :type limit: Nullable[int] :param 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. :type shared_link: Nullable[:class:`dropbox.files.SharedLink`] :param 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. :type include_property_groups: Nullable[:class:`dropbox.file_properties.TemplateFilterBase`] :param include_non_downloadable_files: If true, include files that are not downloadable, i.e. Google Docs. :type include_non_downloadable_files: bool :param include_restorable_info: If true, each returned deleted entry will include whether that entry can be restored. :type include_restorable_info: bool :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, include_restorable_info, ) 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`. Route attributes: scope: files.metadata.read :param cursor: The cursor returned by your last call to :meth:`files_list_folder` or :meth:`files_list_folder_continue`. :type cursor: str :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, include_restorable_info=False, ): """ 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. Route attributes: scope: files.metadata.read :param path: A unique identifier for the file. :type path: str :param recursive: If true, the list folder operation will be applied recursively to all subfolders and the response will contain contents of all subfolders. In some cases, setting ``ListFolderArg.recursive`` to ``True`` may lead to performance issues or errors, especially when traversing folder structures with a large number of items. A workaround for such cases is to set ``ListFolderArg.recursive`` to ``False`` and traverse subfolders one at a time. :type recursive: bool :param include_media_info: Field is deprecated. If true, ``FileMetadata.media_info`` is set for photo and video. This parameter will no longer have an effect starting December 2, 2019. :type include_media_info: bool :param include_deleted: If true, the results will include entries for files and folders that used to exist but were deleted. :type include_deleted: bool :param 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. :type include_has_explicit_shared_members: bool :param include_mounted_folders: If true, the results will include entries under mounted folders which includes app folder, shared folder and team folder. :type include_mounted_folders: bool :param 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. :type limit: Nullable[int] :param 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. :type shared_link: Nullable[:class:`dropbox.files.SharedLink`] :param 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. :type include_property_groups: Nullable[:class:`dropbox.file_properties.TemplateFilterBase`] :param include_non_downloadable_files: If true, include files that are not downloadable, i.e. Google Docs. :type include_non_downloadable_files: bool :param include_restorable_info: If true, each returned deleted entry will include whether that entry can be restored. :type include_restorable_info: bool :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, include_restorable_info, ) 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. Route attributes: scope: files.metadata.read :param 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. :type cursor: str :param 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. :type timeout: int :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, before_rev=None, include_restorable_info=False, ): """ 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. Route attributes: scope: files.metadata.read :param path: The path to the file you want to see the revisions of. :type path: str :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 limit: The maximum number of revision entries returned. :type limit: int :param before_rev: If set, ListRevisions will only return revisions prior to before_rev. Can be set using the last revision from a previous call to list_revisions to fetch the next page of revisions. Only supported in path mode. :type before_rev: Nullable[str] :param include_restorable_info: If true, each returned revision will include whether that revision can be restored. :type include_restorable_info: bool :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, before_rev, include_restorable_info) r = self.request( files.list_revisions, "files", arg, None, ) return r def files_lock_file_batch(self, entries): """ Lock the files at the given paths. A locked file will be writable only by the lock holder. A successful response indicates that the file has been locked. Returns a list of the locked file paths and their metadata after this operation. Route attributes: scope: files.content.write :param entries: List of 'entries'. Each 'entry' contains a path of the file which will be locked or queried. Duplicate path arguments in the batch are considered only once. :type entries: List[:class:`dropbox.files.LockFileArg`] :rtype: :class:`dropbox.files.LockFileBatchResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.LockFileError` """ arg = files.LockFileBatchArg(entries) r = self.request( files.lock_file_batch, "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. Route attributes: scope: files.content.write :param allow_shared_folder: Field is deprecated. This flag has no effect. :type allow_shared_folder: bool :param autorename: If there's a conflict, have the Dropbox server try to autorename the file to avoid the conflict. :type autorename: bool :param 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. :type allow_ownership_transfer: bool :rtype: :class:`dropbox.files.Metadata` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.RelocationError` """ warnings.warn( "move is deprecated.", 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_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. Note that we do not currently support case-only renaming. Route attributes: scope: files.content.write :param allow_shared_folder: Field is deprecated. This flag has no effect. :type allow_shared_folder: bool :param autorename: If there's a conflict, have the Dropbox server try to autorename the file to avoid the conflict. :type autorename: bool :param 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. :type allow_ownership_transfer: bool :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_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 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. Route attributes: scope: files.content.write :param allow_shared_folder: Field is deprecated. This flag has no effect. :type allow_shared_folder: bool :param 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. :type allow_ownership_transfer: bool :rtype: :class:`dropbox.files.RelocationBatchLaunch` """ warnings.warn( "move_batch is deprecated.", DeprecationWarning, ) 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_v2(self, entries, autorename=False, allow_ownership_transfer=False): """ Move multiple files or folders to different locations at once in the user's Dropbox. Note that we do not currently support case-only renaming. 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. Route attributes: scope: files.content.write :param 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. :type allow_ownership_transfer: bool :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_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. Route attributes: scope: files.content.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.files.RelocationBatchJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ warnings.warn( "move_batch/check is deprecated.", DeprecationWarning, ) arg = async_.PollArg(async_job_id) r = self.request( files.move_batch_check, "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. Route attributes: scope: files.content.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.files.RelocationBatchV2JobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ arg = async_.PollArg(async_job_id) r = self.request( files.move_batch_check_v2, "files", arg, None, ) return r def files_paper_create(self, f, path, import_format): """ Creates a new Paper doc with the provided content. Route attributes: scope: files.content.write :param bytes f: Contents to upload. :param path: The fully qualified path to the location in the user's Dropbox where the Paper Doc should be created. This should include the document's title and end with .paper. :type path: str :param import_format: The format of the provided data. :type import_format: :class:`dropbox.files.ImportFormat` :rtype: :class:`dropbox.files.PaperCreateResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.PaperCreateError` """ arg = files.PaperCreateArg(path, import_format) r = self.request( files.paper_create, "files", arg, f, ) return r def files_paper_update(self, f, path, import_format, doc_update_policy, paper_revision=None): """ Updates an existing Paper doc with the provided content. Route attributes: scope: files.content.write :param bytes f: Contents to upload. :param path: Path in the user's Dropbox to update. The path must correspond to a Paper doc or an error will be returned. :type path: str :param import_format: The format of the provided data. :type import_format: :class:`dropbox.files.ImportFormat` :param doc_update_policy: How the provided content should be applied to the doc. :type doc_update_policy: :class:`dropbox.files.PaperDocUpdatePolicy` :param paper_revision: The latest doc revision. Required when doc_update_policy is update. This value must match the current revision of the doc or error revision_mismatch will be returned. :type paper_revision: Nullable[int] :rtype: :class:`dropbox.files.PaperUpdateResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.PaperUpdateError` """ arg = files.PaperUpdateArg(path, import_format, doc_update_policy, paper_revision) r = self.request( files.paper_update, "files", arg, f, ) 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). If the given file or folder is not yet deleted, this route will first delete it. It is possible for this route to successfully delete, then fail to permanently delete. Note: This endpoint is only available for Dropbox Business apps. Route attributes: scope: files.permanent_delete :param path: Path in the user's Dropbox to delete. :type path: str :param parent_rev: Perform delete if given "rev" matches the existing file's latest "rev". This field does not support deleting a folder. :type parent_rev: Nullable[str] :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): """ Add property groups to a Dropbox file. See templates/add_for_user or templates/add_for_team to create new templates. Route attributes: scope: files.metadata.write :param path: A unique identifier for the file or folder. :type path: str :param property_groups: The property groups which are to be added to a Dropbox file. No two groups in the input should refer to the same template. :type property_groups: List[:class:`dropbox.file_properties.PropertyGroup`] :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.file_properties.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): """ Overwrite property groups associated with a file. This endpoint should be used instead of properties/update when property groups are being overwritten rather than updated via a "delta". Route attributes: scope: files.metadata.write :param path: A unique identifier for the file or folder. :type path: str :param property_groups: The property groups "snapshot" updates to force apply. No two groups in the input should refer to the same template. :type property_groups: List[:class:`dropbox.file_properties.PropertyGroup`] :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.file_properties.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_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 properties/overwrite when property groups are being updated via a "delta" instead of overwriting all properties of a file. Route attributes: scope: files.metadata.write :param path: A unique identifier for the file or folder. :type path: str :param update_property_groups: The property groups "delta" updates to apply. :type update_property_groups: List[:class:`dropbox.file_properties.PropertyGroupUpdate`] :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.file_properties.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. Route attributes: scope: files.content.write :param path: The path to save the restored file. :type path: str :param rev: The revision to restore. :type rev: str :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 15 minutes, or the operation will time out and the job will fail. Route attributes: scope: files.content.write :param path: The path in Dropbox where the URL will be saved to. :type path: str :param url: The URL to be saved. :type url: str :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. Route attributes: scope: files.content.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.files.SaveUrlJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.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 will be reflected in search results within a few seconds and older revisions of existing files may still match your query for up to a few days. Route attributes: scope: files.metadata.read :param path: The path in the user's Dropbox to search. Should probably be a folder. :type path: str :param query: The string to search for. Query string may be rewritten to improve relevance of results. The 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"). :type query: str :param start: The starting index within the search results (used for paging). :type start: int :param max_results: The maximum number of search results to return. :type max_results: int :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` """ warnings.warn( "search is deprecated.", DeprecationWarning, ) arg = files.SearchArg(path, query, start, max_results, mode) r = self.request( files.search, "files", arg, None, ) return r def files_search_v2( self, query, options=None, match_field_options=None, include_highlights=None ): """ Searches for files and folders. Note: :meth:`files_search_v2` along with :meth:`files_search_continue_v2` can only be used to retrieve a maximum of 10,000 matches. Recent changes may not immediately be reflected in search results due to a short delay in indexing. Duplicate results may be returned across pages. Some results may not be returned. Route attributes: scope: files.metadata.read :param query: The string to search for. May match across multiple fields based on the request arguments. :type query: str :param options: Options for more targeted search results. :type options: Nullable[:class:`dropbox.files.SearchOptions`] :param match_field_options: Options for search results match fields. :type match_field_options: Nullable[:class:`dropbox.files.SearchMatchFieldOptions`] :param include_highlights: Field is deprecated. Deprecated and moved this option to SearchMatchFieldOptions. :type include_highlights: Nullable[bool] :rtype: :class:`dropbox.files.SearchV2Result` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.SearchError` """ arg = files.SearchV2Arg(query, options, match_field_options, include_highlights) r = self.request( files.search_v2, "files", arg, None, ) return r def files_search_continue_v2(self, cursor): """ Fetches the next page of search results returned from :meth:`files_search_v2`. Note: :meth:`files_search_v2` along with :meth:`files_search_continue_v2` can only be used to retrieve a maximum of 10,000 matches. Recent changes may not immediately be reflected in search results due to a short delay in indexing. Duplicate results may be returned across pages. Some results may not be returned. Route attributes: scope: files.metadata.read :param cursor: The cursor returned by your last call to :meth:`files_search_v2`. Used to fetch the next page of results. :type cursor: str :rtype: :class:`dropbox.files.SearchV2Result` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.SearchError` """ arg = files.SearchV2ContinueArg(cursor) r = self.request( files.search_continue_v2, "files", arg, None, ) return r def files_tags_add(self, path, tag_text): """ Add a tag to an item. A tag is a string. The strings are automatically converted to lowercase letters. No more than 20 tags can be added to a given item. Route attributes: scope: files.metadata.write :param path: Path to the item to be tagged. :type path: str :param tag_text: The value of the tag to add. Will be automatically converted to lowercase letters. :type tag_text: str :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.AddTagError` """ arg = files.AddTagArg(path, tag_text) r = self.request( files.tags_add, "files", arg, None, ) return None def files_tags_get(self, paths): """ Get list of tags assigned to items. Route attributes: scope: files.metadata.read :param paths: Path to the items. :type paths: List[str] :rtype: :class:`dropbox.files.GetTagsResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.BaseTagError` """ arg = files.GetTagsArg(paths) r = self.request( files.tags_get, "files", arg, None, ) return r def files_tags_remove(self, path, tag_text): """ Remove a tag from an item. Route attributes: scope: files.metadata.write :param path: Path to the item to tag. :type path: str :param tag_text: The tag to remove. Will be automatically converted to lowercase letters. :type tag_text: str :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.RemoveTagError` """ arg = files.RemoveTagArg(path, tag_text) r = self.request( files.tags_remove, "files", arg, None, ) return None def files_unlock_file_batch(self, entries): """ Unlock the files at the given paths. A locked file can only be unlocked by the lock holder or, if a business account, a team admin. A successful response indicates that the file has been unlocked. Returns a list of the unlocked file paths and their metadata after this operation. Route attributes: scope: files.content.write :param entries: List of 'entries'. Each 'entry' contains a path of the file which will be unlocked. Duplicate path arguments in the batch are considered only once. :type entries: List[:class:`dropbox.files.UnlockFileArg`] :rtype: :class:`dropbox.files.LockFileBatchResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.LockFileError` """ arg = files.UnlockFileBatchArg(entries) r = self.request( files.unlock_file_batch, "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, content_hash=None, ): """ Create a new file with the contents provided in the request. Do not use this to upload a file larger than 150 MiB. 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 https://www.dropbox.com/developers/reference/data-transport-limit. Route attributes: scope: files.content.write :param bytes f: Contents to upload. :param content_hash: A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. :type content_hash: Nullable[str] :rtype: :class:`dropbox.files.FileMetadata` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.UploadError` """ arg = files.UploadArg( path, mode, autorename, client_modified, mute, property_groups, strict_conflict, content_hash, ) r = self.request( files.upload, "files", arg, f, ) return r def files_upload_session_append(self, f, session_id, offset): """ Append more data to an upload session. A single request should not upload more than 150 MiB. The maximum size of a file one can upload to an upload session is 2^41 - 2^22 (2,199,019,061,248) bytes. 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 https://www.dropbox.com/developers/reference/data-transport-limit. Route attributes: scope: files.content.write :param bytes f: Contents to upload. :param session_id: The upload session ID (returned by :meth:`files_upload_session_start`). :type session_id: str :param offset: Offset in bytes at which data should be appended. We use this to make sure upload data isn't lost or duplicated in the event of a network error. :type offset: int :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.UploadSessionAppendError` """ warnings.warn( "upload_session/append is deprecated.", DeprecationWarning, ) arg = files.UploadSessionCursor(session_id, offset) r = self.request( files.upload_session_append, "files", arg, f, ) return None def files_upload_session_append_v2(self, f, cursor, close=False, content_hash=None): """ 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 MiB. The maximum size of a file one can upload to an upload session is 2^41 - 2^22 (2,199,019,061,248) bytes. 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 https://www.dropbox.com/developers/reference/data-transport-limit. Route attributes: scope: files.content.write :param bytes f: Contents to upload. :param cursor: Contains the upload session ID and the offset. :type cursor: :class:`dropbox.files.UploadSessionCursor` :param 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. :type close: bool :param content_hash: A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. :type content_hash: Nullable[str] :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.UploadSessionAppendError` """ arg = files.UploadSessionAppendArg(cursor, close, content_hash) r = self.request( files.upload_session_append_v2, "files", arg, f, ) return None def files_upload_session_append_batch(self, f, entries, content_hash=None): """ Append more data to multiple upload sessions. Each piece of file content to append to each upload session should be concatenated in the request body, in the order delineated by ``UploadSessionAppendBatchArg.entries`` and their individual lengths indicated by ``UploadSessionAppendBatchArgEntry.length``. A single request should not upload more than 150 MiB. The maximum size of a file one can upload to an upload session is 2^41 - 2^22 (2,199,019,061,248) bytes. 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 https://www.dropbox.com/developers/reference/data-transport-limit. Route attributes: scope: files.content.write :param bytes f: Contents to upload. :param entries: Append information for each file in the batch. :type entries: List[:class:`dropbox.files.UploadSessionAppendBatchArgEntry`] :param content_hash: A hash of the entire request body which is all the concatenated pieces of file content that were uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. :type content_hash: Nullable[str] :rtype: :class:`dropbox.files.UploadSessionAppendBatchResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.UploadSessionAppendBatchError` """ arg = files.UploadSessionAppendBatchArg(entries, content_hash) r = self.request( files.upload_session_append_batch, "files", arg, f, ) return r def files_upload_session_finish(self, f, cursor, commit, content_hash=None): """ Finish an upload session and save the uploaded data to the given file path. A single request should not upload more than 150 MiB. The maximum size of a file one can upload to an upload session is 2^41 - 2^22 (2,199,019,061,248) bytes. 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 https://www.dropbox.com/developers/reference/data-transport-limit. Route attributes: scope: files.content.write :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` :param content_hash: A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. :type content_hash: Nullable[str] :rtype: :class:`dropbox.files.FileMetadata` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.UploadSessionFinishError` """ arg = files.UploadSessionFinishArg(cursor, commit, content_hash) 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 2^41 - 2^22 (2,199,019,061,248) bytes. 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 https://www.dropbox.com/developers/reference/data-transport-limit. Route attributes: scope: files.content.write :param entries: Commit information for each file in the batch. :type entries: List[:class:`dropbox.files.UploadSessionFinishArg`] :rtype: :class:`dropbox.files.UploadSessionFinishBatchLaunch` """ warnings.warn( "upload_session/finish_batch is deprecated.", DeprecationWarning, ) arg = files.UploadSessionFinishBatchArg(entries) r = self.request( files.upload_session_finish_batch, "files", arg, None, ) return r def files_upload_session_finish_batch_v2(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 of each upload session. The maximum size of a file one can upload to an upload session is 2^41 - 2^22 (2,199,019,061,248) bytes. 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 https://www.dropbox.com/developers/reference/data-transport-limit. Route attributes: scope: files.content.write :param entries: Commit information for each file in the batch. :type entries: List[:class:`dropbox.files.UploadSessionFinishArg`] :rtype: :class:`dropbox.files.UploadSessionFinishBatchResult` """ arg = files.UploadSessionFinishBatchArg(entries) r = self.request( files.upload_session_finish_batch_v2, "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. Route attributes: scope: files.content.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.files.UploadSessionFinishBatchJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.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, session_type=None, content_hash=None): """ 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 MiB. This call starts a new upload session with the given data. You can then use :meth:`files_upload_session_append_v2` or :meth:`files_upload_session_append_batch` to add more data, then :meth:`files_upload_session_finish` or :meth:`files_upload_session_finish_batch_v2` to save all the data to a file in Dropbox. A single request should not upload more than 150 MiB. The maximum size of a file one can upload to an upload session is 2^41 - 2^22 (2,199,019,061,248) bytes. An upload session can be used for a maximum of 7 days. Attempting to use a ``UploadSessionStartResult.session_id`` with :meth:`files_upload_session_append_v2` or other upload session routes more than 7 days after its creation will return ``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 https://www.dropbox.com/developers/reference/data-transport-limit. By default, upload sessions require you to send content of the file in sequential order via consecutive :meth:`files_upload_session_start`, :meth:`files_upload_session_append_v2`, and :meth:`files_upload_session_finish` calls (or their batch variants). For better performance, you can optionally set ``UploadSessionStartArg.session_type`` to ``UploadSessionType.concurrent`` to start a concurrent upload session. Concurrent upload sessions may upload file data in concurrent :meth:`files_upload_session_append_v2` requests, with a few caveats. After all of the requests are complete, finish the session with :meth:`files_upload_session_finish` as normal. You can not send data in a :meth:`files_upload_session_start` or :meth:`files_upload_session_finish` call, only with :meth:`files_upload_session_append_v2` or :meth:`files_upload_session_append_batch`. Also, the length of the uploaded data in a call to :meth:`files_upload_session_append_v2` or :meth:`files_upload_session_append_batch` must be a multiple of 2^22 (4,194,304) bytes, except for the final append request with ``UploadSessionAppendArg.close`` or ``UploadSessionAppendBatchArgEntry.close`` set to true that may contain any remaining data. Route attributes: scope: files.content.write :param bytes f: Contents to upload. :param 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. :type close: bool :param session_type: Type of upload session you want to start. If not specified, default is ``UploadSessionType.sequential``. :type session_type: Nullable[:class:`dropbox.files.UploadSessionType`] :param content_hash: A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. :type content_hash: Nullable[str] :rtype: :class:`dropbox.files.UploadSessionStartResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.files.UploadSessionStartError` """ arg = files.UploadSessionStartArg(close, session_type, content_hash) r = self.request( files.upload_session_start, "files", arg, f, ) return r def files_upload_session_start_batch(self, num_sessions, session_type=None): """ Start a batch of upload sessions. See :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 https://www.dropbox.com/developers/reference/data-transport-limit. Route attributes: scope: files.content.write :param session_type: Type of upload session you want to start. If not specified, default is ``UploadSessionType.sequential``. :type session_type: Nullable[:class:`dropbox.files.UploadSessionType`] :param num_sessions: The number of upload sessions to start. :type num_sessions: int :rtype: :class:`dropbox.files.UploadSessionStartBatchResult` """ arg = files.UploadSessionStartBatchArg(num_sessions, session_type) r = self.request( files.upload_session_start_batch, "files", arg, None, ) return r # ------------------------------------------ # Routes in openid namespace def openid_userinfo(self): """ This route is used for refreshing the info that is found in the id_token during the OIDC flow. This route doesn't require any arguments and will use the scopes approved for the given access token. Route attributes: scope: openid :rtype: :class:`dropbox.openid.UserInfoResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.openid.UserInfoError` """ arg = openid.UserInfoArgs() r = self.request( openid.userinfo, "openid", arg, None, ) return r # ------------------------------------------ # Routes in paper namespace def paper_docs_archive(self, doc_id): """ Marks the given Paper doc as archived. This action can be performed or undone by anyone with edit permissions to the doc. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. This endpoint will be retired in September 2020. Refer to the `Paper Migration Guide `_ for more information. Route attributes: scope: files.content.write :param doc_id: The Paper doc ID. :type doc_id: str :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ warnings.warn( "docs/archive is deprecated.", DeprecationWarning, ) 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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. This endpoint will be retired in September 2020. Refer to the `Paper Migration Guide `_ for more information. Route attributes: scope: files.content.write :param bytes f: Contents to upload. :param 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. :type parent_folder_id: Nullable[str] :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` """ warnings.warn( "docs/create is deprecated.", DeprecationWarning, ) 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, include_comments=False): """ Exports and downloads Paper doc either as HTML or markdown. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: files.content.read :type export_format: :class:`dropbox.paper.ExportFormat` :param include_comments: When true, export includes comment threads (e.g. markdown footnotes). When false or omitted, body only. Other formats may adopt this later; currently only markdown uses it. Plain bool (not optional): protoc-gen-godbx does not support proto3 optional yet. :type include_comments: bool :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. """ warnings.warn( "docs/download is deprecated.", DeprecationWarning, ) arg = paper.PaperDocExport(doc_id, export_format, include_comments) r = self.request( paper.docs_download, "paper", arg, None, ) return r def paper_docs_download_to_file( self, download_path, doc_id, export_format, include_comments=False ): """ Exports and downloads Paper doc either as HTML or markdown. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: files.content.read :param str download_path: Path on local machine to save file. :type export_format: :class:`dropbox.paper.ExportFormat` :param include_comments: When true, export includes comment threads (e.g. markdown footnotes). When false or omitted, body only. Other formats may adopt this later; currently only markdown uses it. Plain bool (not optional): protoc-gen-godbx does not support proto3 optional yet. :type include_comments: bool :rtype: :class:`dropbox.paper.PaperDocExportResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ warnings.warn( "docs/download is deprecated.", DeprecationWarning, ) arg = paper.PaperDocExport(doc_id, export_format, include_comments) 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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: sharing.read :param 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. :type limit: int :rtype: :class:`dropbox.paper.ListUsersOnFolderResponse` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ warnings.warn( "docs/folder_users/list is deprecated.", DeprecationWarning, ) 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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: sharing.read :param cursor: The cursor obtained from :meth:`paper_docs_folder_users_list` or :meth:`paper_docs_folder_users_list_continue`. Allows for pagination. :type cursor: str :rtype: :class:`dropbox.paper.ListUsersOnFolderResponse` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.ListUsersCursorError` """ warnings.warn( "docs/folder_users/list/continue is deprecated.", DeprecationWarning, ) 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. If the Paper doc is not in any folder (aka unfiled) the response will be empty. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: sharing.read :param doc_id: The Paper doc ID. :type doc_id: str :rtype: :class:`dropbox.paper.FoldersContainingPaperDoc` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ warnings.warn( "docs/get_folder_info is deprecated.", DeprecationWarning, ) arg = paper.RefPaperDoc(doc_id) r = self.request( paper.docs_get_folder_info, "paper", arg, None, ) return r def paper_docs_get_metadata(self, doc_id=None, file_id=None): """ Returns metadata for a Paper doc or Cloud Doc. Route attributes: scope: files.metadata.read :param doc_id: Legacy Paper doc identifier. :type doc_id: Nullable[str] :param file_id: Dropbox file ID for Cloud Docs (post-PiFS migration). :type file_id: Nullable[str] :rtype: :class:`dropbox.paper.PaperDocGetMetadataResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.GetDocMetadataArg(doc_id, file_id) r = self.request( paper.docs_get_metadata, "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, stop_at_date=None, ): """ 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`. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: files.metadata.read :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 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. :type limit: int :param stop_at_date: Do not return results beyond this date. Behavior depends on sort order. :type stop_at_date: Nullable[datetime] :rtype: :class:`dropbox.paper.ListPaperDocsResponse` """ warnings.warn( "docs/list is deprecated.", DeprecationWarning, ) arg = paper.ListPaperDocsArgs(filter_by, sort_by, sort_order, limit, stop_at_date) 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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: files.metadata.read :param cursor: The cursor obtained from :meth:`paper_docs_list` or :meth:`paper_docs_list_continue`. Allows for pagination. :type cursor: str :rtype: :class:`dropbox.paper.ListPaperDocsResponse` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.ListDocsCursorError` """ warnings.warn( "docs/list/continue is deprecated.", DeprecationWarning, ) 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. This action can be performed only by the doc owner. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: files.permanent_delete :param doc_id: The Paper doc ID. :type doc_id: str :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ warnings.warn( "docs/permanently_delete is deprecated.", DeprecationWarning, ) 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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: sharing.read :param doc_id: The Paper doc ID. :type doc_id: str :rtype: :class:`dropbox.paper.SharingPolicy` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ warnings.warn( "docs/sharing_policy/get is deprecated.", DeprecationWarning, ) 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. The 'public_sharing_policy' policy can't be set to the value 'disabled' because this setting can be changed only via the team admin console. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: sharing.write :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` """ warnings.warn( "docs/sharing_policy/set is deprecated.", DeprecationWarning, ) 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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. This endpoint will be retired in September 2020. Refer to the `Paper Migration Guide `_ for more information. Route attributes: scope: files.content.write :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 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. :type revision: int :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` """ warnings.warn( "docs/update is deprecated.", DeprecationWarning, ) 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. The doc owner's permissions cannot be changed. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: sharing.write :param members: User which should be added to the Paper doc. Specify only email address or Dropbox account ID. :type members: List[:class:`dropbox.paper.AddMember`] :param custom_message: A personal message that will be emailed to each successfully added member. :type custom_message: Nullable[str] :param quiet: Clients should set this to true if no email message shall be sent to added users. :type quiet: bool :rtype: List[:class:`dropbox.paper.AddPaperDocUserMemberResult`] :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ warnings.warn( "docs/users/add is deprecated.", DeprecationWarning, ) 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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: sharing.read :param 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. :type limit: int :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` """ warnings.warn( "docs/users/list is deprecated.", DeprecationWarning, ) 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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: sharing.read :param cursor: The cursor obtained from :meth:`paper_docs_users_list` or :meth:`paper_docs_users_list_continue`. Allows for pagination. :type cursor: str :rtype: :class:`dropbox.paper.ListUsersOnPaperDocResponse` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.ListUsersCursorError` """ warnings.warn( "docs/users/list/continue is deprecated.", DeprecationWarning, ) 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. The doc owner cannot be removed. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: sharing.write :param member: User which should be removed from the Paper doc. Specify only email address or Dropbox account ID. :type member: :class:`dropbox.sharing.MemberSelector` :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ warnings.warn( "docs/users/remove is deprecated.", DeprecationWarning, ) arg = paper.RemovePaperDocUser(doc_id, member) r = self.request( paper.docs_users_remove, "paper", arg, None, ) return None def paper_folders_create(self, name, parent_folder_id=None, is_team_folder=None): """ Create a new Paper folder with the provided info. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the `Paper Migration Guide `_ for migration information. Route attributes: scope: files.content.write :param name: The name of the new Paper folder. :type name: str :param parent_folder_id: The encrypted Paper folder Id where the new Paper folder should be created. The API user has to have write access to this folder or error is thrown. If not supplied, the new folder will be created at top level. :type parent_folder_id: Nullable[str] :param is_team_folder: Whether the folder to be created should be a team folder. This value will be ignored if parent_folder_id is supplied, as the new folder will inherit the type (private or team folder) from its parent. We will by default create a top-level private folder if both parent_folder_id and is_team_folder are not supplied. :type is_team_folder: Nullable[bool] :rtype: :class:`dropbox.paper.PaperFolderCreateResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.paper.PaperFolderCreateError` """ warnings.warn( "folders/create is deprecated.", DeprecationWarning, ) arg = paper.PaperFolderCreateArg(name, parent_folder_id, is_team_folder) r = self.request( paper.folders_create, "paper", arg, None, ) return r # ------------------------------------------ # Routes in riviera namespace def riviera_get_markdown_async(self, file_id_or_url=None, enable_ocr=False, embed_images=False): """ Asynchronous document-to-markdown conversion for supported file formats. Route attributes: scope: files.content.read :param file_id_or_url: Identifier of the document to convert. Callers must set exactly one of the oneof variants: - file_id: a Dropbox-issued file id (format: "id:") for a file the authenticated user has access to. - path: an absolute Dropbox path, e.g. "/folder/report.docx". - url: either a Dropbox shared link (www.dropbox.com) or an external HTTPS URL pointing to a supported document file. - Dropbox shared links are resolved internally using the caller's authenticated identity and the link's visibility / download settings. They therefore require an authenticated user context (anonymous `url` requests against Dropbox links are rejected with an `ACCESS_ERROR`). Links protected by a password are rejected with `shared_link_password_protected`; links with downloads disabled are rejected with `link_download_disabled_error`. - External URLs are fetched over HTTPS through the backend's egress proxy and must point at a supported document file extension. The referenced file must be a document in a supported format; requests against unsupported formats return `unsupported_format_error`. :type file_id_or_url: Nullable[:class:`dropbox.riviera.FileIdOrUrl`] :param enable_ocr: Enable OCR for PDF documents. Processing is slower when enabled. :type enable_ocr: bool :param embed_images: When true, embed images as base64 data URIs in the markdown output. This can significantly increase output size. :type embed_images: bool :rtype: :class:`dropbox.async_.LaunchResultBase` """ arg = riviera.GetMarkdownArgs(file_id_or_url, enable_ocr, embed_images) r = self.request( riviera.get_markdown_async, "riviera", arg, None, ) return r def riviera_get_markdown_async_check(self, async_job_id): """ Returns the status or result of specified get_markdown_async task. Route attributes: scope: files.content.read :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.riviera.GetMarkdownAsyncCheckResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ arg = async_.PollArg(async_job_id) r = self.request( riviera.get_markdown_async_check, "riviera", arg, None, ) return r def riviera_get_metadata_async(self, file_id_or_url=None): """ Asynchronous file metadata extraction for supported file formats. Route attributes: scope: files.content.read :param file_id_or_url: Identifier of the file to extract metadata from. Callers must set exactly one of the oneof variants: - file_id: a Dropbox-issued file id (format: "id:") for a file the authenticated user has access to. - path: an absolute Dropbox path, e.g. "/folder/photo.jpg". - url: either a Dropbox shared link (www.dropbox.com) or an external HTTPS URL pointing to a supported file. - Dropbox shared links are resolved internally using the caller's authenticated identity and the link's visibility / download settings. They therefore require an authenticated user context (anonymous `url` requests against Dropbox links are rejected with an `ACCESS_ERROR`). Links protected by a password are rejected with `shared_link_password_protected`; links with downloads disabled are rejected with `link_download_disabled_error`. - External URLs are fetched over HTTPS through the backend's egress proxy and must point at a supported file extension. The kind of metadata returned is determined by the file type: image files return EXIF metadata, audio/video files return media metadata, PDFs return PDF metadata, and MS Office documents (docx, pptx, xlsx) return Office metadata. Requests against unsupported formats return `unsupported_format_error`. :type file_id_or_url: Nullable[:class:`dropbox.riviera.FileIdOrUrl`] :rtype: :class:`dropbox.async_.LaunchResultBase` """ arg = riviera.GetMetadataArgs(file_id_or_url) r = self.request( riviera.get_metadata_async, "riviera", arg, None, ) return r def riviera_get_metadata_async_check(self, async_job_id): """ Returns the status or result of specified get_metadata_async task. Route attributes: scope: files.content.read :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.riviera.GetMetadataAsyncCheckResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ arg = async_.PollArg(async_job_id) r = self.request( riviera.get_metadata_async_check, "riviera", arg, None, ) return r def riviera_get_transcript_async( self, file_id_or_url=None, timestamp_level=riviera.TimestampLevel.unknown, included_special_words="", audio_language="", ): """ Asynchronous transcript generation for audio and video files. Route attributes: scope: files.content.read :param file_id_or_url: Identifier of the media asset to transcribe. Callers must set exactly one of the oneof variants: - file_id: a Dropbox-issued file id (format: "id:") for a file the authenticated user has access to. - path: an absolute Dropbox path, e.g. "/folder/recording.mp4". - url: either a Dropbox shared link (www.dropbox.com) or an external HTTPS URL pointing to a supported audio/video file. - Dropbox shared links are resolved internally using the caller's authenticated identity and the link's visibility / download settings. They therefore require an authenticated user context (anonymous `url` requests against Dropbox links are rejected with an `ACCESS_ERROR`). Links protected by a password are rejected with `shared_link_password_protected`; links with downloads disabled are rejected with `link_download_disabled_error`. - External URLs are fetched over HTTPS through the backend's egress proxy and must point at a supported audio/video file extension. The referenced asset must be an audio or video file in a supported format; requests against files with no audio track return a `no_audio_error`. :type file_id_or_url: Nullable[:class:`dropbox.riviera.FileIdOrUrl`] :param timestamp_level: Granularity of the time offsets returned for each transcript segment. Defaults to `SENTENCE. - SENTENCE: one segment per spoken sentence (recommended). - WORD: one segment per word, useful for fine-grained alignment such as captioning or highlight-as-you-listen experiences. :type timestamp_level: :class:`dropbox.riviera.TimestampLevel` :param included_special_words: Comma-delimited list of non-lexical filler words to preserve in the transcript output, e.g. `"uh, ah, uhm"`. By default these fillers are stripped. Unrecognized tokens are ignored. Leave empty to use the default filtering behavior. :type included_special_words: str :param audio_language: Optional ISO 639-1 two-letter language code hinting the spoken language of the source audio (e.g. "en", "ja"). When empty, the service auto-detects the language; supplying a hint improves accuracy and latency for short or ambiguous clips. Unsupported languages fall back to auto-detection. :type audio_language: str :rtype: :class:`dropbox.async_.LaunchResultBase` """ arg = riviera.GetTranscriptArgs( file_id_or_url, timestamp_level, included_special_words, audio_language ) r = self.request( riviera.get_transcript_async, "riviera", arg, None, ) return r def riviera_get_transcript_async_check(self, async_job_id): """ Returns the status or result of specified get_transcript_async task. Route attributes: scope: files.content.read :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.riviera.GetTranscriptAsyncCheckResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ arg = async_.PollArg(async_job_id) r = self.request( riviera.get_transcript_async_check, "riviera", arg, None, ) return r # ------------------------------------------ # Routes in sharing namespace def sharing_add_file_member( self, file, members, custom_message=None, quiet=False, access_level=None, add_message_as_comment=False, fp_sealed_result=None, ): """ Adds specified members to a file. Route attributes: scope: sharing.write :param file: File to which to add members. :type file: str :param members: Members to add. Note that even an email address is given, this may result in a user being directly added to the membership if that email is the user's main account email. :type members: List[:class:`dropbox.sharing.MemberSelector`] :param custom_message: Message to send to added members in their invitation. :type custom_message: Nullable[str] :param quiet: Whether added members should be notified via email and device notifications of their invitation. :type quiet: bool :param access_level: AccessLevel union object, describing what access level we want to give new members. :type access_level: Nullable[:class:`dropbox.sharing.AccessLevel`] :param add_message_as_comment: If the custom message should be added as a comment on the file. Only meant for Paper files. :type add_message_as_comment: bool :param fp_sealed_result: Field is only returned for "internal" callers. The FingerprintJS Sealed Client Result value :type fp_sealed_result: Nullable[str] :rtype: List[:class:`dropbox.sharing.FileMemberActionResult`] :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, fp_sealed_result, ) 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, fp_sealed_result=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. Route attributes: scope: sharing.write :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :param members: The intended list of members to add. Added members will receive invites to join the shared folder. :type members: List[:class:`dropbox.sharing.AddMember`] :param quiet: Whether added members should be notified via email and device notifications of their invite. :type quiet: bool :param custom_message: Optional message to display to added members in their invitation. :type custom_message: Nullable[str] :param fp_sealed_result: Field is only returned for "internal" callers. The FingerprintJS Sealed Client Result value :type fp_sealed_result: Nullable[str] :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, fp_sealed_result ) r = self.request( sharing.add_folder_member, "sharing", arg, None, ) return None def sharing_check_job_status(self, async_job_id): """ Returns the status of an asynchronous job. Route attributes: scope: sharing.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.sharing.JobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.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. Route attributes: scope: sharing.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.sharing.RemoveMemberJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.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. Route attributes: scope: sharing.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.sharing.ShareFolderJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.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. 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 revoke_shared_link. DEPRECATED: Use create_shared_link_with_settings instead. Route attributes: scope: sharing.write :param path: The path to share. :type path: str :param short_url: Field is deprecated. None :type short_url: bool :param 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. :type pending_upload: Nullable[:class:`dropbox.sharing.PendingUploadMode`] :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.", 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). Route attributes: scope: sharing.write :param path: The path to be shared by the shared link. :type path: str :param settings: The requested settings for the newly created shared link. :type settings: Nullable[:class:`dropbox.sharing.SharedLinkSettings`] :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. Route attributes: scope: sharing.read :param file: The file to query. :type file: str :param 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. :type actions: Nullable[List[:class:`dropbox.sharing.FileAction`]] :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. Route attributes: scope: sharing.read :param files: The files to query. :type files: List[str] :param 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. :type actions: Nullable[List[:class:`dropbox.sharing.FileAction`]] :rtype: List[:class:`dropbox.sharing.GetFileMetadataBatchResult`] :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. Route attributes: scope: sharing.read :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :param 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. :type actions: Nullable[List[:class:`dropbox.sharing.FolderAction`]] :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. This is a download-style endpoint that returns the file content. Route attributes: scope: sharing.read :param url: URL of the shared link. :type url: str :param 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. :type path: Nullable[str] :param link_password: If the shared link has a password, this parameter can be used. :type link_password: Nullable[str] :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. This is a download-style endpoint that returns the file content. Route attributes: scope: sharing.read :param str download_path: Path on local machine to save file. :param url: URL of the shared link. :type url: str :param 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. :type path: Nullable[str] :param link_password: If the shared link has a password, this parameter can be used. :type link_password: Nullable[str] :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. Route attributes: scope: sharing.read :param url: URL of the shared link. :type url: str :param 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. :type path: Nullable[str] :param link_password: If the shared link has a password, this parameter can be used. :type link_password: Nullable[str] :rtype: :class:`dropbox.sharing.SharedLinkMetadata` """ 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): """ DEPRECATED: Use list_shared_links instead. This endpoint will be retired in October 2026. 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. Route attributes: scope: sharing.read :param path: See :meth:`sharing_get_shared_links` description. :type path: Nullable[str] :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.", 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. Route attributes: scope: sharing.read :param file: The file for which you want to see members. :type file: str :param actions: The actions for which to return permissions on a member. :type actions: Nullable[List[:class:`dropbox.sharing.MemberAction`]] :param include_inherited: Whether to include members who only have access from a parent shared folder. :type include_inherited: bool :param limit: Number of members to return max per query. Defaults to 100 if no limit is specified. :type limit: int :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=1000): """ 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. Route attributes: scope: sharing.read :param files: Files for which to return members. :type files: List[str] :param limit: Number of members to return max per query. Defaults to 1000 if no limit is specified. :type limit: int :rtype: List[:class:`dropbox.sharing.ListFileMembersBatchResult`] :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. Route attributes: scope: sharing.read :param 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`. :type cursor: str :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, path=None): """ Returns shared folder membership by its folder ID. Route attributes: scope: sharing.read :param shared_folder_id: The ID for the shared folder. When path is provided, the folder ID will be extracted from the path instead. :type shared_folder_id: str :param path: Optional path to get inherited members. When omitted, uses shared_folder_id to return direct members. When provided, extracts folder ID from this path and returns users who have access through parent shared folder. :type path: Nullable[str] :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, path) 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. Route attributes: scope: sharing.read :param cursor: The cursor returned by your last call to :meth:`sharing_list_folder_members` or :meth:`sharing_list_folder_members_continue`. :type cursor: str :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. Route attributes: scope: sharing.read :param limit: The maximum number of results to return per request. :type limit: int :param 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. :type actions: Nullable[List[:class:`dropbox.sharing.FolderAction`]] :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`. Route attributes: scope: sharing.read :param cursor: The cursor returned by the previous API call specified in the endpoint description. :type cursor: str :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. Route attributes: scope: sharing.read :param limit: The maximum number of results to return per request. :type limit: int :param 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. :type actions: Nullable[List[:class:`dropbox.sharing.FolderAction`]] :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`. Route attributes: scope: sharing.read :param cursor: The cursor returned by the previous API call specified in the endpoint description. :type cursor: str :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. Route attributes: scope: sharing.read :param limit: Number of files to return max per query. Defaults to 100 if no limit is specified. :type limit: int :param 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. :type actions: Nullable[List[:class:`dropbox.sharing.FileAction`]] :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`. Route attributes: scope: sharing.read :param cursor: Cursor in ``ListFilesResult.cursor``. :type cursor: str :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. For members of business teams using team space and member folders, returns all shared links in the team member's home folder unless the team space ID is specified in the request header. 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. Route attributes: scope: sharing.read :param path: See :meth:`sharing_list_shared_links` description. :type path: Nullable[str] :param cursor: The cursor returned by your last call to :meth:`sharing_list_shared_links`. :type cursor: Nullable[str] :param direct_only: See :meth:`sharing_list_shared_links` description. :type direct_only: Nullable[bool] :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 SharedLinkMetadata will reflect the actual visibility of the shared link and the LinkPermissions.requested_visibility will reflect the requested visibility. Route attributes: scope: sharing.write :param url: URL of the shared link to change its settings. :type url: str :param settings: Set of settings for the shared link. :type settings: :class:`dropbox.sharing.SharedLinkSettings` :param remove_expiration: If set to true, removes the expiration of the shared link. :type remove_expiration: bool :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. Route attributes: scope: sharing.write :param shared_folder_id: The ID of the shared folder to mount. :type shared_folder_id: str :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_access(self, file_id): """ Removes all self-removable access from a file or folder for the current user. Best-effort and idempotent: attempts to drop link-visitor associations and explicit ACL membership. Route attributes: scope: private:sharing.write :param file_id: The id for the file or folder. :type file_id: str :rtype: :class:`dropbox.sharing.RelinquishAccessResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.sharing.RelinquishAccessError` """ arg = sharing.RelinquishAccessArg(file_id) r = self.request( sharing.relinquish_access, "sharing", arg, None, ) return r def sharing_relinquish_file_membership(self, file): """ The current user relinquishes their membership in the designated file. Route attributes: scope: sharing.write :param file: The path or id for the file. :type file: str :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. Route attributes: scope: sharing.write :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :param leave_a_copy: Keep a copy of the folder's contents upon relinquishing membership. This must be set to false when the folder is within a team folder or another shared folder. :type leave_a_copy: bool :rtype: :class:`dropbox.async_.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. Route attributes: scope: sharing.write :param file: File from which to remove members. :type file: str :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.", 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. Route attributes: scope: sharing.write :param file: File from which to remove members. :type file: str :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. Route attributes: scope: sharing.write :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :param member: The member to remove from the folder. :type member: :class:`dropbox.sharing.MemberSelector` :param 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. This must be set to false when removing a group, or when the folder is within a team folder or another shared folder. :type leave_a_copy: bool :rtype: :class:`dropbox.async_.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 list_shared_links with the file as the ListSharedLinksArg.path argument. Route attributes: scope: sharing.write :param url: URL of the shared link. :type url: str :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. Route attributes: scope: sharing.write :param access_inheritance: The access inheritance settings for the folder. :type access_inheritance: :class:`dropbox.sharing.AccessInheritance` :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :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. Route attributes: scope: sharing.write :param 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. :type actions: Nullable[List[:class:`dropbox.sharing.FolderAction`]] :param link_settings: Settings on the link for this folder. :type link_settings: Nullable[:class:`dropbox.sharing.LinkSettings`] :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. Route attributes: scope: sharing.write :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :param to_dropbox_id: A account or team member ID to transfer ownership to. :type to_dropbox_id: str :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`. Route attributes: scope: sharing.write :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :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. Route attributes: scope: sharing.write :param file: The file to unshare. :type file: str :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. Unshare will not work in following cases: The shared folder contains shared folders OR the shared folder is inside another shared folder. You'll need to call :meth:`sharing_check_job_status` to determine if the action has completed successfully. Route attributes: scope: sharing.write :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :param 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. :type leave_a_copy: bool :rtype: :class:`dropbox.async_.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. Route attributes: scope: sharing.write :param file: File for which we are changing a member's access. :type file: str :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.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_file_policy( self, file, actions=None, link_settings=None, viewer_info_policy=None ): """ Update the viewer info policy of a file. Route attributes: scope: sharing.write :param file: File that we are changing the policy for. :type file: str :param 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. :type actions: Nullable[List[:class:`dropbox.sharing.FileAction`]] :param link_settings: Field is deprecated. Settings on the link for the file. :type link_settings: Nullable[:class:`dropbox.sharing.LinkSettings`] :param viewer_info_policy: The presence and seen state policy on the file. :type viewer_info_policy: Nullable[:class:`dropbox.sharing.ViewerInfoPolicy`] :rtype: :class:`dropbox.sharing.SharedFileMetadata` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.sharing.UpdateFilePolicyError` """ arg = sharing.UpdateFilePolicyArg(file, actions, link_settings, viewer_info_policy) r = self.request( sharing.update_file_policy, "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. Route attributes: scope: sharing.write :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :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. Route attributes: scope: sharing.write :param shared_folder_id: The ID for the shared folder. :type shared_folder_id: str :param member_policy: Who can be a member of this shared folder. Only applicable if the current user is on a team. :type member_policy: Nullable[:class:`dropbox.sharing.MemberPolicy`] :param acl_update_policy: Who can add and remove members of this shared folder. :type acl_update_policy: Nullable[:class:`dropbox.sharing.AclUpdatePolicy`] :param viewer_info_policy: Who can enable/disable viewer info for this shared folder. :type viewer_info_policy: Nullable[:class:`dropbox.sharing.ViewerInfoPolicy`] :param 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``. :type shared_link_policy: Nullable[:class:`dropbox.sharing.SharedLinkPolicy`] :param link_settings: Settings on the link for this folder. :type link_settings: Nullable[:class:`dropbox.sharing.LinkSettings`] :param 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. :type actions: Nullable[List[:class:`dropbox.sharing.FolderAction`]] :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_features_get_values(self, features): """ Get a list of feature values that may be configured for the current account. Route attributes: scope: account_info.read :param features: A list of features in :class:`dropbox.users.UserFeature`. If the list is empty, this route will return :class:`dropbox.users.UserFeaturesGetValuesBatchError`. :type features: List[:class:`dropbox.users.UserFeature`] :rtype: :class:`dropbox.users.UserFeaturesGetValuesBatchResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.users.UserFeaturesGetValuesBatchError` """ arg = users.UserFeaturesGetValuesBatchArg(features) r = self.request( users.features_get_values, "users", arg, None, ) return r def users_get_account(self, account_id): """ Get information about a user's account. Route attributes: scope: sharing.read :param account_id: A user's account identifier. :type account_id: str :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. Route attributes: scope: sharing.read :param account_ids: List of user account identifiers. Should not contain any duplicate account IDs. :type account_ids: List[str] :rtype: List[:class:`dropbox.users.BasicAccount`] :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. Route attributes: scope: account_info.read :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. Route attributes: scope: account_info.read :rtype: :class:`dropbox.users.SpaceUsage` """ arg = None r = self.request( users.get_space_usage, "users", arg, None, ) return r dropbox-dropbox-sdk-python-6064f79/dropbox/base_team.py000066400000000000000000003136561522735175000232230ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # flake8: noqa # pylint: skip-file from abc import ABCMeta, abstractmethod import warnings from dropbox import account from dropbox import async_ from dropbox import auth from dropbox import check from dropbox import common from dropbox import contacts from dropbox import file_properties from dropbox import file_requests from dropbox import files from dropbox import openid from dropbox import paper from dropbox import riviera from dropbox import secondary_emails from dropbox import seen_state from dropbox import sharing from dropbox import team from dropbox import team_common from dropbox import team_log from dropbox import team_policies from dropbox import users from dropbox import users_common class DropboxTeamBase(object): __metaclass__ = ABCMeta @abstractmethod def request(self, route, namespace, request_arg, request_binary, timeout=None): pass # ------------------------------------------ # Routes in account namespace # ------------------------------------------ # Routes in auth namespace # ------------------------------------------ # Routes in check 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. Route attributes: scope: files.team_metadata.write :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. Route attributes: scope: files.team_metadata.write :param 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`. :type template_id: str :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`. Route attributes: scope: files.team_metadata.write :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. Route attributes: scope: files.team_metadata.write :param template_id: An identifier for a template created by :meth:`file_properties_templates_add_for_user` or :meth:`file_properties_templates_add_for_team`. :type template_id: str :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. Route attributes: scope: files.team_metadata.write :param template_id: An identifier for template added by See :meth:`file_properties_templates_add_for_user` or :meth:`file_properties_templates_add_for_team`. :type template_id: str :param name: A display name for the template. template names can be up to 256 bytes. :type name: Nullable[str] :param description: Description for the new template. Template descriptions can be up to 1024 bytes. :type description: Nullable[str] :param add_fields: Property field templates to be added to the group template. There can be up to 32 properties in a single template. :type add_fields: Nullable[List[:class:`dropbox.file_properties.PropertyFieldTemplate`]] :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 openid namespace # ------------------------------------------ # Routes in paper namespace # ------------------------------------------ # Routes in riviera 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. Route attributes: scope: sessions.list :param team_member_id: The team's member id. :type team_member_id: str :param include_web_sessions: Whether to list web sessions of the team's member. :type include_web_sessions: bool :param include_desktop_clients: Whether to list linked desktop devices of the team's member. :type include_desktop_clients: bool :param include_mobile_clients: Whether to list linked mobile devices of the team's member. :type include_mobile_clients: bool :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. Route attributes: scope: sessions.list :param 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. :type cursor: Nullable[str] :param include_web_sessions: Whether to list web sessions of the team members. :type include_web_sessions: bool :param include_desktop_clients: Whether to list desktop clients of the team members. :type include_desktop_clients: bool :param include_mobile_clients: Whether to list mobile clients of the team members. :type include_mobile_clients: bool :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. Route attributes: scope: sessions.list :param 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. :type cursor: Nullable[str] :param include_web_sessions: Whether to list web sessions of the team members. :type include_web_sessions: bool :param include_desktop_clients: Whether to list desktop clients of the team members. :type include_desktop_clients: bool :param include_mobile_clients: Whether to list mobile clients of the team members. :type include_mobile_clients: bool :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.", 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. Route attributes: scope: sessions.modify :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. Route attributes: scope: sessions.modify :type revoke_devices: List[:class:`dropbox.team.RevokeDeviceSessionArg`] :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 features. 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. Route attributes: scope: team_info.read :param features: A list of features in :class:`dropbox.team.Feature`. If the list is empty, this route will return :class:`dropbox.team.FeaturesGetValuesBatchError`. :type features: List[:class:`dropbox.team.Feature`] :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. Route attributes: scope: team_info.read :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, add_creator_as_owner=False, group_external_id=None, group_management_type=None, ): """ Creates a new, empty group, with a requested name. Permission : Team member management. Route attributes: scope: groups.write :param group_name: Group name. :type group_name: str :param add_creator_as_owner: Automatically add the creator of the group. :type add_creator_as_owner: bool :param group_external_id: The creator of a team can associate an arbitrary external ID to the group. :type group_external_id: Nullable[str] :param group_management_type: Whether the team can be managed by selected users, or only by team admins. :type group_management_type: Nullable[:class:`dropbox.team_common.GroupManagementType`] :rtype: :class:`dropbox.team.GroupFullInfo` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.GroupCreateError` """ arg = team.GroupCreateArg( group_name, add_creator_as_owner, 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. Route attributes: scope: groups.write :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.async_.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. Route attributes: scope: groups.read :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[:class:`dropbox.team.GroupsGetInfoItem`] :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. Route attributes: scope: groups.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.async_.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. Route attributes: scope: groups.read :param limit: Number of results to return per call. :type limit: int :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. Route attributes: scope: groups.read :param cursor: Indicates from what point to get the next set of groups. :type cursor: str :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. Route attributes: scope: groups.write :param group: Group to which users will be added. :type group: :class:`dropbox.team.GroupSelector` :param members: List of users to be added to the group. :type members: List[:class:`dropbox.team.MemberAccess`] :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. Route attributes: scope: groups.read :param group: The group whose members are to be listed. :type group: :class:`dropbox.team.GroupSelector` :param limit: Number of results to return per call. :type limit: int :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. Route attributes: scope: groups.read :param cursor: Indicates from what point to get the next set of groups. :type cursor: str :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. Route attributes: scope: groups.write :param group: Group from which users will be removed. :type group: :class:`dropbox.team.GroupSelector` :param users: List of users to be removed from the group. :type users: List[:class:`dropbox.team.UserSelectorArg`] :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. Route attributes: scope: groups.write :param access_type: New group access type the user will have. :type access_type: :class:`dropbox.team.GroupAccessType` :param 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. :type return_members: bool :rtype: List[:class:`dropbox.team.GroupsGetInfoItem`] :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. Route attributes: scope: groups.write :param group: Specify a group. :type group: :class:`dropbox.team.GroupSelector` :param new_group_name: Optional argument. Set group name to this if provided. :type new_group_name: Nullable[str] :param 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. :type new_group_external_id: Nullable[str] :param new_group_management_type: Set new group management type, if provided. :type new_group_management_type: Nullable[:class:`dropbox.team_common.GroupManagementType`] :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_legal_holds_create_policy( self, name, members, description=None, start_date=None, end_date=None ): """ Creates new legal hold policy. Note: Legal Holds is a paid add-on. Not all teams have the feature. Permission : Team member file access. Route attributes: scope: team_data.governance.write :param name: Policy name. :type name: str :param description: A description of the legal hold policy. :type description: Nullable[str] :param members: List of team member IDs added to the hold. :type members: List[str] :param start_date: start date of the legal hold policy. :type start_date: Nullable[datetime] :param end_date: end date of the legal hold policy. :type end_date: Nullable[datetime] :rtype: :class:`dropbox.team.LegalHoldPolicy` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.LegalHoldsPolicyCreateError` """ arg = team.LegalHoldsPolicyCreateArg(name, members, description, start_date, end_date) r = self.request( team.legal_holds_create_policy, "team", arg, None, ) return r def team_legal_holds_get_policy(self, id): """ Gets a legal hold by Id. Note: Legal Holds is a paid add-on. Not all teams have the feature. Permission : Team member file access. Route attributes: scope: team_data.governance.write :param id: The legal hold Id. :type id: str :rtype: :class:`dropbox.team.LegalHoldPolicy` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.LegalHoldsGetPolicyError` """ arg = team.LegalHoldsGetPolicyArg(id) r = self.request( team.legal_holds_get_policy, "team", arg, None, ) return r def team_legal_holds_list_held_revisions(self, id): """ List the file metadata that's under the hold. Note: Legal Holds is a paid add-on. Not all teams have the feature. Permission : Team member file access. Route attributes: scope: team_data.governance.write :param id: The legal hold Id. :type id: str :rtype: :class:`dropbox.team.LegalHoldsListHeldRevisionResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.LegalHoldsListHeldRevisionsError` """ arg = team.LegalHoldsListHeldRevisionsArg(id) r = self.request( team.legal_holds_list_held_revisions, "team", arg, None, ) return r def team_legal_holds_list_held_revisions_continue(self, id, cursor=None): """ Continue listing the file metadata that's under the hold. Note: Legal Holds is a paid add-on. Not all teams have the feature. Permission : Team member file access. Route attributes: scope: team_data.governance.write :param id: The legal hold Id. :type id: str :param cursor: The cursor idicates where to continue reading file metadata entries for the next API call. When there are no more entries, the cursor will return none. :type cursor: Nullable[str] :rtype: :class:`dropbox.team.LegalHoldsListHeldRevisionResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.LegalHoldsListHeldRevisionsError` """ arg = team.LegalHoldsListHeldRevisionsContinueArg(id, cursor) r = self.request( team.legal_holds_list_held_revisions_continue, "team", arg, None, ) return r def team_legal_holds_list_policies(self, include_released=False): """ Lists legal holds on a team. Note: Legal Holds is a paid add-on. Not all teams have the feature. Permission : Team member file access. Route attributes: scope: team_data.governance.write :param include_released: Whether to return holds that were released. :type include_released: bool :rtype: :class:`dropbox.team.LegalHoldsListPoliciesResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.LegalHoldsListPoliciesError` """ arg = team.LegalHoldsListPoliciesArg(include_released) r = self.request( team.legal_holds_list_policies, "team", arg, None, ) return r def team_legal_holds_release_policy(self, id): """ Releases a legal hold by Id. Note: Legal Holds is a paid add-on. Not all teams have the feature. Permission : Team member file access. Route attributes: scope: team_data.governance.write :param id: The legal hold Id. :type id: str :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.LegalHoldsPolicyReleaseError` """ arg = team.LegalHoldsPolicyReleaseArg(id) r = self.request( team.legal_holds_release_policy, "team", arg, None, ) return None def team_legal_holds_update_policy(self, id, name=None, description=None, members=None): """ Updates a legal hold. Note: Legal Holds is a paid add-on. Not all teams have the feature. Permission : Team member file access. Route attributes: scope: team_data.governance.write :param id: The legal hold Id. :type id: str :param name: Policy new name. :type name: Nullable[str] :param description: Policy new description. :type description: Nullable[str] :param members: List of team member IDs to apply the policy on. :type members: Nullable[List[str]] :rtype: :class:`dropbox.team.LegalHoldPolicy` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.LegalHoldsPolicyUpdateError` """ arg = team.LegalHoldsPolicyUpdateArg(id, name, description, members) r = self.request( team.legal_holds_update_policy, "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. Route attributes: scope: sessions.list :param team_member_id: The team member id. :type team_member_id: str :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. Route attributes: scope: sessions.list :param 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. :type cursor: Nullable[str] :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. Route attributes: scope: sessions.list :param 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. :type cursor: Nullable[str] :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.", 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. Route attributes: scope: sessions.modify :param app_id: The application's unique id. :type app_id: str :param team_member_id: The unique id of the member owning the device. :type team_member_id: str :param keep_app_folder: Field is deprecated. This flag is not longer supported, the application dedicated folder (in case the application uses one) will be kept. :type keep_app_folder: bool :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. Route attributes: scope: sessions.modify :type revoke_linked_app: List[:class:`dropbox.team.RevokeLinkedApiAppArg`] :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. Route attributes: scope: members.write :param users: List of users to be added/removed. :type users: Nullable[List[:class:`dropbox.team.UserSelectorArg`]] :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. Route attributes: scope: members.read :param limit: Number of results to return per call. :type limit: int :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. Route attributes: scope: members.read :param cursor: Indicates from what point to get the next set of users. :type cursor: str :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. Route attributes: scope: members.write :param users: List of users to be added/removed. :type users: Nullable[List[:class:`dropbox.team.UserSelectorArg`]] :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. A maximum of 1000 members can be specified in a single call. Note: to apply a custom space limit, a team admin needs to set a member space limit for the team first. (the team admin can check the settings here: https://www.dropbox.com/team/admin/settings/space). Route attributes: scope: members.read :param users: List of users. :type users: List[:class:`dropbox.team.UserSelectorArg`] :rtype: List[:class:`dropbox.team.CustomQuotaResult`] :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. Note: to apply a custom space limit, a team admin needs to set a member space limit for the team first. (the team admin can check the settings here: https://www.dropbox.com/team/admin/settings/space). Route attributes: scope: members.write :param users: List of users. :type users: List[:class:`dropbox.team.UserSelectorArg`] :rtype: List[:class:`dropbox.team.RemoveCustomQuotaResult`] :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 2GB. A maximum of 1000 members can be specified in a single call. Note: to apply a custom space limit, a team admin needs to set a member space limit for the team first. (the team admin can check the settings here: https://www.dropbox.com/team/admin/settings/space). Route attributes: scope: members.read :param users_and_quotas: List of users and their custom quotas. :type users_and_quotas: List[:class:`dropbox.team.UserCustomQuotaArg`] :rtype: List[:class:`dropbox.team.CustomQuotaResult`] :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'. Route attributes: scope: members.write :param new_members: Details of new members to be added to the team. :type new_members: List[:class:`dropbox.team.MemberAddArg`] :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_v2(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. Route attributes: scope: members.write :param new_members: Details of new members to be added to the team. :type new_members: List[:class:`dropbox.team.MemberAddV2Arg`] :rtype: :class:`dropbox.team.MembersAddLaunchV2Result` """ arg = team.MembersAddV2Arg(new_members, force_async) r = self.request( team.members_add_v2, "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. Route attributes: scope: members.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.team.MembersAddJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ arg = async_.PollArg(async_job_id) r = self.request( team.members_add_job_status_get, "team", arg, None, ) return r def team_members_add_job_status_get_v2(self, async_job_id): """ Once an async_job_id is returned from :meth:`team_members_add_v2` , use this to poll the status of the asynchronous request. Permission : Team member management. Route attributes: scope: members.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.team.MembersAddJobStatusV2Result` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ arg = async_.PollArg(async_job_id) r = self.request( team.members_add_job_status_get_v2, "team", arg, None, ) return r def team_members_delete_former_member_files(self, user): """ Permanently delete the files of a user who has been removed from the team. After permanent deletion, those files will not be available to be transferred to another team member. Permission : Team member management Exactly one of team_member_id, email, or external_id must be provided to identify the user account. Route attributes: scope: members.write :param user: Identity of user whose files will be permanently deleted. :type user: :class:`dropbox.team.UserSelectorArg` :rtype: None :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.MembersDeleteFormerMemberFilesError` """ arg = team.MembersFormerMemberArg(user) r = self.request( team.members_delete_former_member_files, "team", arg, None, ) return None def team_members_delete_profile_photo(self, user): """ Deletes a team member's profile photo. Permission : Team member management. Route attributes: scope: members.write :param user: Identity of the user whose profile photo will be deleted. :type user: :class:`dropbox.team.UserSelectorArg` :rtype: :class:`dropbox.team.TeamMemberInfo` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.MembersDeleteProfilePhotoError` """ arg = team.MembersDeleteProfilePhotoArg(user) r = self.request( team.members_delete_profile_photo, "team", arg, None, ) return r def team_members_delete_profile_photo_v2(self, user): """ Deletes a team member's profile photo. Permission : Team member management. Route attributes: scope: members.write :param user: Identity of the user whose profile photo will be deleted. :type user: :class:`dropbox.team.UserSelectorArg` :rtype: :class:`dropbox.team.TeamMemberInfoV2Result` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.MembersDeleteProfilePhotoError` """ arg = team.MembersDeleteProfilePhotoArg(user) r = self.request( team.members_delete_profile_photo_v2, "team", arg, None, ) return r def team_members_get_available_team_member_roles(self): """ Get available TeamMemberRoles for the connected team. To be used with :meth:`team_members_set_admin_permissions_v2`. Permission : Team member management. Route attributes: scope: members.read :rtype: :class:`dropbox.team.MembersGetAvailableTeamMemberRolesResult` """ arg = None r = self.request( team.members_get_available_team_member_roles, "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. Route attributes: scope: members.read :param members: List of team members. :type members: List[:class:`dropbox.team.UserSelectorArg`] :rtype: List[:class:`dropbox.team.MembersGetInfoItem`] :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_get_info_v2(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. Route attributes: scope: members.read :param members: List of team members. :type members: List[:class:`dropbox.team.UserSelectorArg`] :rtype: :class:`dropbox.team.MembersGetInfoV2Result` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.MembersGetInfoError` """ arg = team.MembersGetInfoV2Arg(members) r = self.request( team.members_get_info_v2, "team", arg, None, ) return r def team_members_list(self, limit=1000, include_removed=False): """ Lists members of a team. Permission : Team information. Route attributes: scope: members.read :param limit: Number of results to return per call. :type limit: int :param include_removed: Whether to return removed members. :type include_removed: bool :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_v2(self, limit=1000, include_removed=False): """ Lists members of a team. Permission : Team information. Route attributes: scope: members.read :param limit: Number of results to return per call. :type limit: int :param include_removed: Whether to return removed members. :type include_removed: bool :rtype: :class:`dropbox.team.MembersListV2Result` :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_v2, "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. Route attributes: scope: members.read :param cursor: Indicates from what point to get the next set of members. :type cursor: str :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_list_continue_v2(self, cursor): """ Once a cursor has been retrieved from :meth:`team_members_list_v2`, use this to paginate through all team members. Permission : Team information. Route attributes: scope: members.read :param cursor: Indicates from what point to get the next set of members. :type cursor: str :rtype: :class:`dropbox.team.MembersListV2Result` :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_v2, "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. Route attributes: scope: members.write :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.async_.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. Route attributes: scope: members.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.async_.PollEmptyResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.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. Route attributes: scope: members.delete :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, retain_team_shares=False, permanently_delete_files=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 (180 days for most teams). Accounts can have their stacks transferred through the admin console. This only transfers stacks that they have created. 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`. Route attributes: scope: members.delete :param transfer_dest_id: If provided, files from the deleted member account will be transferred to this user. :type transfer_dest_id: Nullable[:class:`dropbox.team.UserSelectorArg`] :param 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. :type transfer_admin_id: Nullable[:class:`dropbox.team.UserSelectorArg`] :param 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``. :type keep_account: bool :param retain_team_shares: If provided, allows removed users to keep access to Dropbox folders (not Dropbox Paper folders) already explicitly shared with them (not via a group) when they are downgraded to a Basic account. Users will not retain access to folders that do not allow external sharing. In order to keep the sharing relationships, the arguments ``wipe_data`` should be set to ``False`` and ``keep_account`` should be set to ``True``. :type retain_team_shares: bool :param permanently_delete_files: Permanently delete the data in the deleted member's account. After permanent deletion, the data is no longer available to be transferred to a different user. :type permanently_delete_files: bool :rtype: :class:`dropbox.async_.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, retain_team_shares, permanently_delete_files, ) 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. Route attributes: scope: members.delete :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.async_.PollEmptyResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.PollError` """ arg = async_.PollArg(async_job_id) r = self.request( team.members_remove_job_status_get, "team", arg, None, ) return r def team_members_secondary_emails_add(self, new_secondary_emails): """ Add secondary emails to users. Permission : Team member management. Emails that are on verified domains will be verified automatically. For each email address not on a verified domain a verification email will be sent. Route attributes: scope: members.write :param new_secondary_emails: List of users and secondary emails to add. :type new_secondary_emails: List[:class:`dropbox.team.UserSecondaryEmailsArg`] :rtype: :class:`dropbox.team.AddSecondaryEmailsResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.AddSecondaryEmailsError` """ arg = team.AddSecondaryEmailsArg(new_secondary_emails) r = self.request( team.members_secondary_emails_add, "team", arg, None, ) return r def team_members_secondary_emails_delete(self, emails_to_delete): """ Delete secondary emails from users Permission : Team member management. Users will be notified of deletions of verified secondary emails at both the secondary email and their primary email. Route attributes: scope: members.write :param emails_to_delete: List of users and their secondary emails to delete. :type emails_to_delete: List[:class:`dropbox.team.UserSecondaryEmailsArg`] :rtype: :class:`dropbox.team.DeleteSecondaryEmailsResult` """ arg = team.DeleteSecondaryEmailsArg(emails_to_delete) r = self.request( team.members_secondary_emails_delete, "team", arg, None, ) return r def team_members_secondary_emails_resend_verification_emails(self, emails_to_resend): """ Resend secondary email verification emails. Permission : Team member management. Route attributes: scope: members.write :param emails_to_resend: List of users and secondary emails to resend verification emails to. :type emails_to_resend: List[:class:`dropbox.team.UserSecondaryEmailsArg`] :rtype: :class:`dropbox.team.ResendVerificationEmailResult` """ arg = team.ResendVerificationEmailArg(emails_to_resend) r = self.request( team.members_secondary_emails_resend_verification_emails, "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. Route attributes: scope: members.write :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. Route attributes: scope: members.write :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_admin_permissions_v2(self, user, new_roles=None): """ Updates a team member's permissions. Permission : Team member management. Route attributes: scope: members.write :param user: Identity of user whose role will be set. :type user: :class:`dropbox.team.UserSelectorArg` :param new_roles: The new roles for the member. Send empty list to make user member only. For now, only up to one role is allowed. :type new_roles: Nullable[List[str]] :rtype: :class:`dropbox.team.MembersSetPermissions2Result` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.MembersSetPermissions2Error` """ arg = team.MembersSetPermissions2Arg(user, new_roles) r = self.request( team.members_set_admin_permissions_v2, "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. Route attributes: scope: members.write :param user: Identity of user whose profile will be set. :type user: :class:`dropbox.team.UserSelectorArg` :param new_email: New email for member. :type new_email: Nullable[str] :param new_external_id: New external ID for member. :type new_external_id: Nullable[str] :param new_given_name: New given name for member. :type new_given_name: Nullable[str] :param new_surname: New surname for member. :type new_surname: Nullable[str] :param new_persistent_id: New persistent ID. This field only available to teams using persistent ID SAML configuration. :type new_persistent_id: Nullable[str] :param new_is_directory_restricted: New value for whether the user is a directory restricted user. :type new_is_directory_restricted: Nullable[bool] :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_set_profile_v2( 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. Route attributes: scope: members.write :param user: Identity of user whose profile will be set. :type user: :class:`dropbox.team.UserSelectorArg` :param new_email: New email for member. :type new_email: Nullable[str] :param new_external_id: New external ID for member. :type new_external_id: Nullable[str] :param new_given_name: New given name for member. :type new_given_name: Nullable[str] :param new_surname: New surname for member. :type new_surname: Nullable[str] :param new_persistent_id: New persistent ID. This field only available to teams using persistent ID SAML configuration. :type new_persistent_id: Nullable[str] :param new_is_directory_restricted: New value for whether the user is a directory restricted user. :type new_is_directory_restricted: Nullable[bool] :rtype: :class:`dropbox.team.TeamMemberInfoV2Result` :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_v2, "team", arg, None, ) return r def team_members_set_profile_photo(self, user, photo): """ Updates a team member's profile photo. Permission : Team member management. Route attributes: scope: members.write :param user: Identity of the user whose profile photo will be set. :type user: :class:`dropbox.team.UserSelectorArg` :param photo: Image to set as the member's new profile photo. :type photo: :class:`dropbox.account.PhotoSourceArg` :rtype: :class:`dropbox.team.TeamMemberInfo` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.MembersSetProfilePhotoError` """ arg = team.MembersSetProfilePhotoArg(user, photo) r = self.request( team.members_set_profile_photo, "team", arg, None, ) return r def team_members_set_profile_photo_v2(self, user, photo): """ Updates a team member's profile photo. Permission : Team member management. Route attributes: scope: members.write :param user: Identity of the user whose profile photo will be set. :type user: :class:`dropbox.team.UserSelectorArg` :param photo: Image to set as the member's new profile photo. :type photo: :class:`dropbox.account.PhotoSourceArg` :rtype: :class:`dropbox.team.TeamMemberInfoV2Result` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.MembersSetProfilePhotoError` """ arg = team.MembersSetProfilePhotoArg(user, photo) r = self.request( team.members_set_profile_photo_v2, "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. Route attributes: scope: members.write :param wipe_data: If provided, controls if the user's data will be deleted on their linked devices. :type wipe_data: bool :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. Route attributes: scope: members.write :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. Route attributes: scope: team_data.member :param limit: Field is deprecated. Specifying a value here has no effect. :type limit: int :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. Route attributes: scope: team_data.member :param cursor: Indicates from what point to get the next set of team-accessible namespaces. :type cursor: str :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. Route attributes: scope: files.team_metadata.write :rtype: :class:`dropbox.file_properties.AddTemplateResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.file_properties.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. The scope for the route is files.team_metadata.write. Route attributes: scope: files.team_metadata.write :param template_id: An identifier for template added by route See :meth:`team_templates_add_for_user` or :meth:`team_templates_add_for_team`. :type template_id: str :rtype: :class:`dropbox.file_properties.GetTemplateResult` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.file_properties.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_reports_get_activity(self, start_date=None, end_date=None): """ Retrieves reporting data about a team's user activity. Deprecated: Will be removed on July 1st 2021. Route attributes: scope: team_info.read :param start_date: Optional starting date (inclusive). If start_date is None or too long ago, this field will be set to 6 months ago. :type start_date: Nullable[datetime] :param end_date: Optional ending date (exclusive). :type end_date: Nullable[datetime] :rtype: :class:`dropbox.team.GetActivityReport` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.DateRangeError` """ warnings.warn( "reports/get_activity is deprecated.", DeprecationWarning, ) 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. Deprecated: Will be removed on July 1st 2021. Route attributes: scope: team_info.read :param start_date: Optional starting date (inclusive). If start_date is None or too long ago, this field will be set to 6 months ago. :type start_date: Nullable[datetime] :param end_date: Optional ending date (exclusive). :type end_date: Nullable[datetime] :rtype: :class:`dropbox.team.GetDevicesReport` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.DateRangeError` """ warnings.warn( "reports/get_devices is deprecated.", DeprecationWarning, ) 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. Deprecated: Will be removed on July 1st 2021. Route attributes: scope: team_info.read :param start_date: Optional starting date (inclusive). If start_date is None or too long ago, this field will be set to 6 months ago. :type start_date: Nullable[datetime] :param end_date: Optional ending date (exclusive). :type end_date: Nullable[datetime] :rtype: :class:`dropbox.team.GetMembershipReport` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.DateRangeError` """ warnings.warn( "reports/get_membership is deprecated.", DeprecationWarning, ) 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. Deprecated: Will be removed on July 1st 2021. Route attributes: scope: team_info.read :param start_date: Optional starting date (inclusive). If start_date is None or too long ago, this field will be set to 6 months ago. :type start_date: Nullable[datetime] :param end_date: Optional ending date (exclusive). :type end_date: Nullable[datetime] :rtype: :class:`dropbox.team.GetStorageReport` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.DateRangeError` """ warnings.warn( "reports/get_storage is deprecated.", DeprecationWarning, ) arg = team.DateRange(start_date, end_date) r = self.request( team.reports_get_storage, "team", arg, None, ) return r def team_sharing_allowlist_add(self, domains=None, emails=None): """ Endpoint adds Approve List entries. Changes are effective immediately. Changes are committed in transaction. In case of single validation error - all entries are rejected. Valid domains (RFC-1034/5) and emails (RFC-5322/822) are accepted. Added entries cannot overflow limit of 10000 entries per team. Maximum 100 entries per call is allowed. Route attributes: scope: team_info.write :param domains: List of domains represented by valid string representation (RFC-1034/5). :type domains: Nullable[List[str]] :param emails: List of emails represented by valid string representation (RFC-5322/822). :type emails: Nullable[List[str]] :rtype: :class:`dropbox.team.SharingAllowlistAddResponse` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.SharingAllowlistAddError` """ arg = team.SharingAllowlistAddArgs(domains, emails) r = self.request( team.sharing_allowlist_add, "team", arg, None, ) return r def team_sharing_allowlist_list(self, limit=1000): """ Lists Approve List entries for given team, from newest to oldest, returning up to `limit` entries at a time. If there are more than `limit` entries associated with the current team, more can be fetched by passing the returned `cursor` to :meth:`team_sharing_allowlist_list_continue`. Route attributes: scope: team_info.read :param limit: The number of entries to fetch at one time. :type limit: int :rtype: :class:`dropbox.team.SharingAllowlistListResponse` """ arg = team.SharingAllowlistListArg(limit) r = self.request( team.sharing_allowlist_list, "team", arg, None, ) return r def team_sharing_allowlist_list_continue(self, cursor): """ Lists entries associated with given team, starting from a the cursor. See :meth:`team_sharing_allowlist_list`. Route attributes: scope: team_info.read :param cursor: The cursor returned from a previous call to :meth:`team_sharing_allowlist_list` or :meth:`team_sharing_allowlist_list_continue`. :type cursor: str :rtype: :class:`dropbox.team.SharingAllowlistListResponse` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.SharingAllowlistListContinueError` """ arg = team.SharingAllowlistListContinueArg(cursor) r = self.request( team.sharing_allowlist_list_continue, "team", arg, None, ) return r def team_sharing_allowlist_remove(self, domains=None, emails=None): """ Endpoint removes Approve List entries. Changes are effective immediately. Changes are committed in transaction. In case of single validation error - all entries are rejected. Valid domains (RFC-1034/5) and emails (RFC-5322/822) are accepted. Entries being removed have to be present on the list. Maximum 1000 entries per call is allowed. Route attributes: scope: team_info.write :param domains: List of domains represented by valid string representation (RFC-1034/5). :type domains: Nullable[List[str]] :param emails: List of emails represented by valid string representation (RFC-5322/822). :type emails: Nullable[List[str]] :rtype: :class:`dropbox.team.SharingAllowlistRemoveResponse` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.team.SharingAllowlistRemoveError` """ arg = team.SharingAllowlistRemoveArgs(domains, emails) r = self.request( team.sharing_allowlist_remove, "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. Route attributes: scope: team_data.content.write :param team_folder_id: The ID of the team folder. :type team_folder_id: str :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. This endpoint cannot be used for teams that have a shared team space. This route will either finish synchronously, or return a job ID and do the async archive job in background. Please use team_folder/archive/check to check the job status. Permission : Team member file access. Route attributes: scope: team_data.content.write :param force_async_off: Whether to force the archive to happen synchronously. :type force_async_off: bool :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. The job may show '.tag' as complete, but the team folder could still be in the process of archiving (indicated by ``TeamFolderMetadata.status`` with 'archive_in_progress'). To confirm that the team folder is fully archived, check the field ``TeamFolderMetadata.status`` in the response for the value 'archived'. Permission : Team member file access. Route attributes: scope: team_data.content.write :param async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :type async_job_id: str :rtype: :class:`dropbox.team.TeamFolderArchiveJobStatus` :raises: :class:`.exceptions.ApiError` If this raises, ApiError will contain: :class:`dropbox.async_.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. This endpoint can only be used for teams that do not already have a shared team space. Permission : Team member file access. Route attributes: scope: team_data.content.write :param name: Name for the new team folder. :type name: str :param sync_setting: The sync setting to apply to this team folder. Only permitted if the team has team selective sync enabled. :type sync_setting: Nullable[:class:`dropbox.files.SyncSettingArg`] :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. Route attributes: scope: team_data.content.read :param team_folder_ids: The list of team folder IDs. :type team_folder_ids: List[str] :rtype: List[:class:`dropbox.team.TeamFolderGetInfoItem`] """ 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. Route attributes: scope: team_data.content.read :param limit: The maximum number of results to return per request. :type limit: int :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. Route attributes: scope: team_data.content.read :param cursor: Indicates from what point to get the next set of team folders. :type cursor: str :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. This endpoint cannot be used for teams that have a shared team space. Permission : Team member file access. Route attributes: scope: team_data.content.write :param team_folder_id: The ID of the team folder. :type team_folder_id: str :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. Route attributes: scope: team_data.content.write :param name: New team folder name. :type name: str :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_restore(self, team_folder_id): """ Sets an inactive team folder's status to active. Permission: Team member file access. Route attributes: scope: team_data.content.write :param team_folder_id: The ID of the team folder. :type team_folder_id: str :rtype: :class:`dropbox.team.TeamFolderMetadata` """ arg = team.TeamFolderIdArg(team_folder_id) r = self.request( team.team_folder_restore, "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. Route attributes: scope: team_data.content.write :param sync_setting: Sync setting to apply to the team folder itself. Only meaningful if the team folder is not a shared team root. :type sync_setting: Nullable[:class:`dropbox.files.SyncSettingArg`] :param content_sync_settings: Sync settings to apply to contents of this team folder. :type content_sync_settings: Nullable[List[:class:`dropbox.files.ContentSyncSettingArg`]] :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. Route attributes: scope: team_info.read :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, event_type=None ): """ Retrieves team events. If the result's ``GetTeamEventsResult.has_more`` field is ``True``, call :meth:`team_log_get_events_continue` with the returned cursor to retrieve more entries. If end_time is not specified in your request, you may use the returned cursor to poll :meth:`team_log_get_events_continue` for new events. 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. Route attributes: scope: events.read :param 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`. :type limit: int :param account_id: Filter the events by account ID. Return only events with this account_id as either Actor, Context, or Participants. :type account_id: Nullable[str] :param time: Filter by time range. :type time: Nullable[:class:`dropbox.team_common.TimeRange`] :param category: Filter the returned events to a single category. Note that category shouldn't be provided together with event_type. :type category: Nullable[:class:`dropbox.team_log.EventCategory`] :param event_type: Filter the returned events to a single event type. Note that event_type shouldn't be provided together with category. :type event_type: Nullable[:class:`dropbox.team_log.EventTypeArg`] :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, event_type) 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. Route attributes: scope: events.read :param cursor: Indicates from what point to get the next set of events. :type cursor: str :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-dropbox-sdk-python-6064f79/dropbox/check.py000066400000000000000000000076051522735175000223520ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv class EchoArg(bb.Struct): """ Contains the arguments to be sent to the Dropbox servers. :ivar EchoArg.query: The string that you'd like to be echoed back to you. """ __slots__ = [ "_query_value", ] _has_required_fields = False def __init__(self, query=None): self._query_value = bb.NOT_SET if query is not None: self.query = query # Instance attribute type: str (validator is set below) query = bb.Attribute("query") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EchoArg, self)._process_custom_annotations(annotation_type, field_path, processor) EchoArg_validator = bv.Struct(EchoArg) class EchoError(bb.Union): """ EchoError contains the error returned from the Dropbox servers. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar EchoError.user_requested: The request was successful. """ _catch_all = "other" # Attribute is overwritten below the class definition user_requested = None # Attribute is overwritten below the class definition other = None def is_user_requested(self): """ Check if the union tag is ``user_requested``. :rtype: bool """ return self._tag == "user_requested" 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(EchoError, self)._process_custom_annotations(annotation_type, field_path, processor) EchoError_validator = bv.Union(EchoError) class EchoResult(bb.Struct): """ EchoResult contains the result returned from the Dropbox servers. :ivar EchoResult.result: If everything worked correctly, this would be the same as query. """ __slots__ = [ "_result_value", ] _has_required_fields = False def __init__(self, result=None): self._result_value = bb.NOT_SET if result is not None: self.result = result # Instance attribute type: str (validator is set below) result = bb.Attribute("result") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EchoResult, self)._process_custom_annotations(annotation_type, field_path, processor) EchoResult_validator = bv.Struct(EchoResult) EchoArg.query.validator = bv.String(max_length=500) EchoArg._all_field_names_ = set(["query"]) EchoArg._all_fields_ = [("query", EchoArg.query.validator)] EchoError._user_requested_validator = bv.Void() EchoError._other_validator = bv.Void() EchoError._tagmap = { "user_requested": EchoError._user_requested_validator, "other": EchoError._other_validator, } EchoError.user_requested = EchoError("user_requested") EchoError.other = EchoError("other") EchoResult.result.validator = bv.String() EchoResult._all_field_names_ = set(["result"]) EchoResult._all_fields_ = [("result", EchoResult.result.validator)] EchoArg.query.default = "" EchoResult.result.default = "" app = bb.Route( "app", 1, False, EchoArg_validator, EchoResult_validator, EchoError_validator, {"auth": "app", "host": "api", "style": "rpc"}, ) user = bb.Route( "user", 1, False, EchoArg_validator, EchoResult_validator, EchoError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) ROUTES = { "app": app, "user": user, } dropbox-dropbox-sdk-python-6064f79/dropbox/common.py000066400000000000000000000323341522735175000225620ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv class DropboxDuration(bb.Struct): __slots__ = [ "_seconds_value", "_nanos_value", ] _has_required_fields = True def __init__(self, seconds=None, nanos=None): self._seconds_value = bb.NOT_SET self._nanos_value = bb.NOT_SET if seconds is not None: self.seconds = seconds if nanos is not None: self.nanos = nanos # Instance attribute type: int (validator is set below) seconds = bb.Attribute("seconds") # Instance attribute type: int (validator is set below) nanos = bb.Attribute("nanos") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DropboxDuration, self)._process_custom_annotations( annotation_type, field_path, processor ) DropboxDuration_validator = bv.Struct(DropboxDuration) 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 PathRoot.home: Paths are relative to the authenticating user's home namespace, whether or not that user belongs to a team. :ivar PathRoot.root: Paths are relative to the authenticating user's root namespace (This results in ``PathRootError.invalid_root`` if the user's root namespace has changed.). :vartype PathRoot.root: str :ivar PathRoot.namespace_id: Paths are relative to given namespace id (This results in ``PathRootError.no_permission`` if you don't have access to this namespace.). :vartype PathRoot.namespace_id: str """ _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) 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 PathRootError.invalid_root: The root namespace id in Dropbox-API-Path-Root header is not valid. The value of this error is the user's latest root info. :vartype PathRootError.invalid_root: RootInfo :ivar 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 the user'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 ) PathRootError_validator = bv.Union(PathRootError) class RootInfo(bb.Struct): """ Information about current user's root. :ivar 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, or the user root if user is member of a team with separate distinct roots for users. Otherwise it will be the same as ``RootInfo.home_namespace_id``. :ivar RootInfo.home_namespace_id: The namespace ID for user's home namespace. """ __slots__ = [ "_root_namespace_id_value", "_home_namespace_id_value", ] _has_required_fields = True def __init__(self, root_namespace_id=None, home_namespace_id=None): self._root_namespace_id_value = bb.NOT_SET self._home_namespace_id_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) root_namespace_id = bb.Attribute("root_namespace_id") # Instance attribute type: str (validator is set below) home_namespace_id = bb.Attribute("home_namespace_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RootInfo, self)._process_custom_annotations(annotation_type, field_path, processor) RootInfo_validator = bv.StructTree(RootInfo) class TeamRootInfo(RootInfo): """ Root info when user is member of a team with a separate root namespace ID. :ivar TeamRootInfo.home_path: The path for user's home directory under the shared team root. """ __slots__ = [ "_home_path_value", ] _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 = bb.NOT_SET if home_path is not None: self.home_path = home_path # Instance attribute type: str (validator is set below) home_path = bb.Attribute("home_path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamRootInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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. :ivar UserRootInfo.home_path: The path for user's home directory under the distinct user root. """ __slots__ = [ "_home_path_value", ] _has_required_fields = True def __init__(self, root_namespace_id=None, home_namespace_id=None, home_path=None): super(UserRootInfo, self).__init__(root_namespace_id, home_namespace_id) self._home_path_value = bb.NOT_SET if home_path is not None: self.home_path = home_path # Instance attribute type: str (validator is set below) home_path = bb.Attribute("home_path", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserRootInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) UserRootInfo_validator = bv.Struct(UserRootInfo) Date_validator = bv.Timestamp("%Y-%m-%d") DisplayName_validator = bv.String(pattern='[^/:?*<>"|]*') DisplayNameLegacy_validator = bv.String() DropboxTimestamp_validator = bv.Timestamp("%Y-%m-%dT%H:%M:%SZ") EmailAddress_validator = bv.String( max_length=255, pattern="^['#&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-Za-z0-9.-]*\\.[A-Za-z]{2,15}$", ) LanguageCode_validator = bv.String(min_length=2) NamePart_validator = bv.String(min_length=1, max_length=50, pattern='[^/:?*<>"|]*') NamespaceId_validator = bv.String(pattern="[-_0-9a-zA-Z:]+") OptionalNamePart_validator = bv.String(max_length=50, pattern='[^/:?*<>"|]*') SessionId_validator = bv.String() SharedFolderId_validator = NamespaceId_validator DropboxDuration.seconds.validator = bv.Int64() DropboxDuration.nanos.validator = bv.Int32() DropboxDuration._all_field_names_ = set( [ "seconds", "nanos", ] ) DropboxDuration._all_fields_ = [ ("seconds", DropboxDuration.seconds.validator), ("nanos", DropboxDuration.nanos.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_ = { ("team",): TeamRootInfo_validator, ("user",): UserRootInfo_validator, } RootInfo._pytype_to_tag_and_subtype_ = { TeamRootInfo: (("team",), TeamRootInfo_validator), UserRootInfo: (("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.home_path.validator = bv.Nullable(bv.String()) UserRootInfo._field_names_ = set(["home_path"]) UserRootInfo._all_field_names_ = RootInfo._all_field_names_.union(UserRootInfo._field_names_) UserRootInfo._fields_ = [("home_path", UserRootInfo.home_path.validator)] UserRootInfo._all_fields_ = RootInfo._all_fields_ + UserRootInfo._fields_ ROUTES = {} dropbox-dropbox-sdk-python-6064f79/dropbox/contacts.py000066400000000000000000000104741522735175000231110ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import common class DeleteManualContactsArg(bb.Struct): """ :ivar DeleteManualContactsArg.email_addresses: List of manually added contacts to be deleted. """ __slots__ = [ "_email_addresses_value", ] _has_required_fields = True def __init__(self, email_addresses=None): self._email_addresses_value = bb.NOT_SET if email_addresses is not None: self.email_addresses = email_addresses # Instance attribute type: list of [str] (validator is set below) email_addresses = bb.Attribute("email_addresses") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteManualContactsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 DeleteManualContactsError.contacts_not_found: Can't delete contacts from this list. Make sure the list only has manually added contacts. The deletion was cancelled. :vartype DeleteManualContactsError.contacts_not_found: list of [str] """ _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 ) 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(), {"auth": "user", "host": "api", "style": "rpc"}, ) delete_manual_contacts_batch = bb.Route( "delete_manual_contacts_batch", 1, False, DeleteManualContactsArg_validator, bv.Void(), DeleteManualContactsError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) ROUTES = { "delete_manual_contacts": delete_manual_contacts, "delete_manual_contacts_batch": delete_manual_contacts_batch, } dropbox-dropbox-sdk-python-6064f79/dropbox/content_hash.py000066400000000000000000000112211522735175000237370ustar00rootroot00000000000000""" Dropbox "content_hash" hashers, from https://github.com/dropbox/dropbox-api-content-hasher (adapted for Python 3). See https://www.dropbox.com/developers/reference/content-hash. """ import hashlib class DropboxContentHasher(object): """ Computes a hash using the same algorithm that the Dropbox API uses for the the "content_hash" metadata field. The digest() method returns a raw binary representation of the hash. The hexdigest() convenience method returns a hexadecimal-encoded version, which is what the "content_hash" metadata field uses. This class has the same interface as the hashers in the standard 'hashlib' package. Example: hasher = DropboxContentHasher() with open('some-file', 'rb') as f: while True: chunk = f.read(1024) # or whatever chunk size you want if len(chunk) == 0: break hasher.update(chunk) print(hasher.hexdigest()) """ BLOCK_SIZE = 4 * 1024 * 1024 def __init__(self): self._overall_hasher = hashlib.sha256() self._block_hasher = hashlib.sha256() self._block_pos = 0 self.digest_size = self._overall_hasher.digest_size # hashlib classes also define 'block_size', but I don't know how people use that value def update(self, new_data): if self._overall_hasher is None: raise AssertionError("can't use this object anymore; you already called digest()") assert isinstance(new_data, bytes), "Expecting a byte string, got {!r}".format(new_data) new_data_pos = 0 while new_data_pos < len(new_data): if self._block_pos == self.BLOCK_SIZE: self._overall_hasher.update(self._block_hasher.digest()) self._block_hasher = hashlib.sha256() self._block_pos = 0 space_in_block = self.BLOCK_SIZE - self._block_pos part = new_data[new_data_pos : (new_data_pos + space_in_block)] self._block_hasher.update(part) self._block_pos += len(part) new_data_pos += len(part) def _finish(self): if self._overall_hasher is None: raise AssertionError( "can't use this object anymore; you already called digest() or hexdigest()" ) if self._block_pos > 0: self._overall_hasher.update(self._block_hasher.digest()) self._block_hasher = None h = self._overall_hasher self._overall_hasher = None # Make sure we can't use this object anymore. return h def digest(self): return self._finish().digest() def hexdigest(self): return self._finish().hexdigest() def copy(self): c = DropboxContentHasher.__new__(DropboxContentHasher) c._overall_hasher = self._overall_hasher.copy() c._block_hasher = self._block_hasher.copy() c._block_pos = self._block_pos c.digest_size = self.digest_size return c class StreamHasher(object): """ A wrapper around a file-like object (either for reading or writing) that hashes everything that passes through it. Can be used with DropboxContentHasher or any 'hashlib' hasher. Example: hasher = DropboxContentHasher() with open('some-file', 'rb') as f: wrapped_f = StreamHasher(f, hasher) response = some_api_client.upload(wrapped_f) locally_computed = hasher.hexdigest() assert response.content_hash == locally_computed """ def __init__(self, f, hasher): self._f = f self._hasher = hasher def close(self): return self._f.close() def flush(self): return self._f.flush() def fileno(self): return self._f.fileno() def tell(self): return self._f.tell() def read(self, *args): b = self._f.read(*args) self._hasher.update(b) return b def write(self, b): self._hasher.update(b) return self._f.write(b) def __iter__(self): return self def __next__(self): b = next(self._f) self._hasher.update(b) return b def next(self): return self.__next__() def readline(self, *args): b = self._f.readline(*args) self._hasher.update(b) return b def readlines(self, *args): bs = self._f.readlines(*args) for b in bs: self._hasher.update(b) return bs def content_hash(content): """Return the Dropbox content hash of a ``bytes`` payload as a hex string.""" hasher = DropboxContentHasher() hasher.update(content) return hasher.hexdigest() dropbox-dropbox-sdk-python-6064f79/dropbox/dropbox_client.py000066400000000000000000001020211522735175000242740ustar00rootroot00000000000000__all__ = [ "Dropbox", "DropboxTeam", "create_session", ] import base64 import contextlib import copy import json import logging import random import time from datetime import datetime, timedelta import requests from dropbox._version import __version__ from stone.backends.python_rsrc import stone_serializers from dropbox import files from dropbox.auth import ( AuthError_validator, RateLimitError_validator, ) from dropbox.base import DropboxBase from dropbox.base_team import DropboxTeamBase from dropbox.common import PathRoot, PathRoot_validator, PathRootError_validator from dropbox.content_hash import content_hash as _content_hash from dropbox.exceptions import ( ApiError, AuthError, BadInputError, HttpError, PathRootError, InternalServerError, RateLimitError, ) from dropbox.session import ( API_HOST, API_CONTENT_HOST, API_NOTIFICATION_HOST, HOST_API, HOST_CONTENT, HOST_NOTIFY, pinned_session, DEFAULT_TIMEOUT, ) PATH_ROOT_HEADER = "Dropbox-API-Path-Root" HTTP_STATUS_INVALID_PATH_ROOT = 422 TOKEN_EXPIRATION_BUFFER = 300 SELECT_ADMIN_HEADER = "Dropbox-API-Select-Admin" SELECT_USER_HEADER = "Dropbox-API-Select-User" USER_AUTH = "user" TEAM_AUTH = "team" APP_AUTH = "app" NO_AUTH = "noauth" 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, str), "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, ca_certs=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, ca_certs=ca_certs) 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" def __init__( self, oauth2_access_token=None, max_retries_on_error=4, max_retries_on_rate_limit=None, user_agent=None, session=None, headers=None, timeout=DEFAULT_TIMEOUT, oauth2_refresh_token=None, oauth2_access_token_expiration=None, app_key=None, app_secret=None, scope=None, ca_certs=None, auto_content_hash=True, ): """ :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 100 seconds. :param str oauth2_refresh_token: OAuth2 refresh token for refreshing access token :param datetime oauth2_access_token_expiration: Expiration for oauth2_access_token :param str app_key: application key of requesting application; used for token refresh :param str app_secret: application secret of requesting application; used for token refresh Not required if PKCE was used to authorize the token :param list scope: list of scopes to request on refresh. If left blank, refresh will request all available scopes for application :param str ca_certs: a path to a file of concatenated CA certificates in PEM format. Has the same meaning as when using :func:`ssl.wrap_socket`. :param bool auto_content_hash: If True (default), send a computed content_hash with uploads so the server verifies integrity. """ if not (oauth2_access_token or oauth2_refresh_token or (app_key and app_secret)): raise BadInputException( "OAuth2 access token or refresh token or app key/secret must be set" ) if headers is not None and not isinstance(headers, dict): raise BadInputException("Expected dict, got {}".format(headers)) if oauth2_refresh_token and not app_key: raise BadInputException("app_key is required to refresh tokens") if scope is not None and (not isinstance(scope, list) or len(scope) == 0): raise BadInputException("Scope list must be of type list") self._oauth2_access_token = oauth2_access_token self._oauth2_refresh_token = oauth2_refresh_token self._oauth2_access_token_expiration = oauth2_access_token_expiration self._app_key = app_key self._app_secret = app_secret self._scope = scope self._auto_content_hash = auto_content_hash self._max_retries_on_error = max_retries_on_error self._max_retries_on_rate_limit = max_retries_on_rate_limit if session: if not isinstance(session, requests.sessions.Session): raise BadInputException( "Expected requests.sessions.Session, got {}".format(session) ) self._session = session else: self._session = create_session(ca_certs=ca_certs) 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, oauth2_refresh_token=None, oauth2_access_token_expiration=None, app_key=None, app_secret=None, scope=None, auto_content_hash=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 client :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._raw_user_agent, session or self._session, headers or self._headers, timeout or self._timeout, oauth2_refresh_token or self._oauth2_refresh_token, oauth2_access_token_expiration or self._oauth2_access_token_expiration, app_key or self._app_key, app_secret or self._app_secret, scope or self._scope, auto_content_hash=( self._auto_content_hash if auto_content_hash is None else auto_content_hash ), ) 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:`stone.backends.python_rsrc.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. """ self.check_and_refresh_access_token() host = route.attrs["host"] or "api" auth_type = route.attrs["auth"] route_name = namespace + "/" + route.name if route.version > 1: route_name += "_v{}".format(route.version) route_style = route.attrs["style"] or "rpc" request_arg = self._maybe_add_content_hash(request_arg, request_binary) 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, auth_type, 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 _maybe_add_content_hash(self, request_arg, request_binary): """Set content_hash on upload args when the caller didn't. Returns a copy; the caller's arg is not mutated.""" if not self._auto_content_hash: return request_arg if not isinstance(request_binary, bytes): return request_arg if request_arg is None or "content_hash" not in getattr( request_arg, "_all_field_names_", () ): return request_arg if request_arg.content_hash is not None: return request_arg request_arg = copy.copy(request_arg) request_arg.content_hash = _content_hash(request_binary) return request_arg def check_and_refresh_access_token(self): """ Checks if access token needs to be refreshed and refreshes if possible :return: """ can_refresh = self._oauth2_refresh_token and self._app_key needs_refresh = self._oauth2_refresh_token and ( not self._oauth2_access_token_expiration or (datetime.utcnow() + timedelta(seconds=TOKEN_EXPIRATION_BUFFER)) >= self._oauth2_access_token_expiration ) needs_token = not self._oauth2_access_token if (needs_refresh or needs_token) and can_refresh: self.refresh_access_token(scope=self._scope) def refresh_access_token(self, host=API_HOST, scope=None): """ Refreshes an access token via refresh token if available :param host: host to hit token endpoint with :param scope: list of permission scopes for access token :return: """ if scope is not None and (not isinstance(scope, list) or len(scope) == 0): raise BadInputException("Scope list must be of type list") if not (self._oauth2_refresh_token and self._app_key): self._logger.warning( "Unable to refresh access token without \ refresh token and app key" ) return self._logger.info("Refreshing access token.") url = "https://{}/oauth2/token".format(host) body = { "grant_type": "refresh_token", "refresh_token": self._oauth2_refresh_token, "client_id": self._app_key, } if self._app_secret: body["client_secret"] = self._app_secret if scope: scope = " ".join(scope) body["scope"] = scope timeout = DEFAULT_TIMEOUT if self._timeout: timeout = self._timeout attempt = 0 while True: res = self._session.post(url, data=body, timeout=timeout) try: self.raise_dropbox_error_for_resp(res) break except InternalServerError as e: attempt += 1 if attempt <= self._max_retries_on_error: # Use exponential backoff, matching request_json_string_with_retry. backoff = 2**attempt * random.random() self._logger.info( "HttpError status_code=%s while refreshing access token: " "Retrying in %.1f seconds", e.status_code, backoff, ) time.sleep(backoff) else: raise token_content = res.json() self._oauth2_access_token = token_content["access_token"] self._oauth2_access_token_expiration = datetime.utcnow() + timedelta( seconds=int(token_content["expires_in"]) ) def request_json_object( self, host, route_name, route_style, request_arg, auth_type, 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 str auth_type: The auth type of 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, auth_type, 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, auth_type, 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 has_refreshed = False while True: self._logger.info("Request to %s", route_name) try: return self.request_json_string( host, route_name, route_style, request_json_arg, auth_type, request_binary, timeout=timeout, ) except AuthError as e: if e.error and e.error.is_expired_access_token(): if has_refreshed: raise else: self._logger.info( "ExpiredCredentials status_code=%s: Refreshing and Retrying", e.status_code, ) self.refresh_access_token() has_refreshed = True else: raise 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, auth_type, 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, (bytes, 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} auth_types = auth_type.replace(" ", "").split(",") if (USER_AUTH in auth_types or TEAM_AUTH in auth_types) and self._oauth2_access_token: headers["Authorization"] = "Bearer %s" % self._oauth2_access_token if self._headers: headers.update(self._headers) elif APP_AUTH in auth_types: if self._app_key is None or self._app_secret is None: raise BadInputException( "Client id and client secret are required for routes with app auth" ) auth_header = base64.b64encode( "{}:{}".format(self._app_key, self._app_secret).encode("utf-8") ) headers["Authorization"] = "Basic {}".format(auth_header.decode("utf-8")) if self._headers: headers.update(self._headers) elif auth_type == NO_AUTH: pass else: raise BadInputException("Unhandled auth type: {}".format(auth_type)) # 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, timeout=timeout, ) self.raise_dropbox_error_for_resp(r) request_id = r.headers.get("x-dropbox-request-id") if r.status_code in (403, 404, 409): raw_resp = r.content.decode("utf-8") return RouteErrorResult(request_id, raw_resp) 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) def raise_dropbox_error_for_resp(self, res): """Checks for errors from a res and handles appropiately. :param res: Response of an api request. """ request_id = res.headers.get("x-dropbox-request-id") if res.status_code >= 500: raise InternalServerError(request_id, res.status_code, res.text) elif res.status_code == 400: try: if res.json().get("error") == "invalid_grant": err = stone_serializers.json_compat_obj_decode( AuthError_validator, "invalid_access_token" ) raise AuthError(request_id, err) else: raise BadInputError(request_id, res.text) except (ValueError, AttributeError): raise BadInputError(request_id, res.text) elif res.status_code == 401: assert res.headers.get("content-type") == "application/json", ( "Expected content-type to be application/json, got %r" % res.headers.get("content-type") ) err = stone_serializers.json_compat_obj_decode(AuthError_validator, res.json()["error"]) raise AuthError(request_id, err) elif res.status_code == HTTP_STATUS_INVALID_PATH_ROOT: err = stone_serializers.json_compat_obj_decode( PathRootError_validator, res.json()["error"] ) raise PathRootError(request_id, err) elif res.status_code == 429: err = None if res.headers.get("content-type") == "application/json": err = stone_serializers.json_compat_obj_decode( RateLimitError_validator, res.json()["error"] ) retry_after = err.retry_after else: retry_after_str = res.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 res.status_code in (403, 404, 409): # special case handled by requester return elif not (200 <= res.status_code <= 299): raise HttpError(request_id, res.status_code, res.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") new_headers = self._headers.copy() if self._headers else {} new_headers[PATH_ROOT_HEADER] = stone_serializers.json_encode(PathRoot_validator, path_root) return self.clone(headers=new_headers) def close(self): """ Cleans up all resources like the request session/network connection. """ self._session.close() def __enter__(self): return self def __exit__(self, *args): self.close() 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(SELECT_ADMIN_HEADER, 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(SELECT_USER_HEADER, 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( oauth2_access_token=self._oauth2_access_token, oauth2_refresh_token=self._oauth2_refresh_token, oauth2_access_token_expiration=self._oauth2_access_token_expiration, 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, app_key=self._app_key, app_secret=self._app_secret, scope=self._scope, auto_content_hash=self._auto_content_hash, ) class BadInputException(Exception): """ Thrown if incorrect types/values are used This should only ever be thrown during testing, app should have validation of input prior to reaching this point """ pass dropbox-dropbox-sdk-python-6064f79/dropbox/exceptions.py000066400000000000000000000065211522735175000234520ustar00rootroot00000000000000class 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-dropbox-sdk-python-6064f79/dropbox/file_properties.py000066400000000000000000002313101522735175000244600ustar00rootroot00000000000000# -*- 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 :class:`PropertyField`. These fields encapsulate the actual key/value data. Fields are added to a Dropbox file using a :class:`PropertyGroup`. Property groups contain a reference to a Dropbox file and a :class:`PropertyGroupTemplate`. Property groups are uniquely identified by the combination of their associated Dropbox file and template. The :class:`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 :class:`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`. """ from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv class AddPropertiesArg(bb.Struct): """ :ivar AddPropertiesArg.path: A unique identifier for the file or folder. :ivar AddPropertiesArg.property_groups: The property groups which are to be added to a Dropbox file. No two groups in the input should refer to the same template. """ __slots__ = [ "_path_value", "_property_groups_value", ] _has_required_fields = True def __init__(self, path=None, property_groups=None): self._path_value = bb.NOT_SET self._property_groups_value = bb.NOT_SET if path is not None: self.path = path if property_groups is not None: self.property_groups = property_groups # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: list of [PropertyGroup] (validator is set below) property_groups = bb.Attribute("property_groups") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddPropertiesArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TemplateError.template_not_found: Template does not exist for the given identifier. :vartype TemplateError.template_not_found: str :ivar 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 ) 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 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 ) 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 InvalidPropertyGroupError.property_field_too_large: One or more of the supplied property field values is too large. :ivar InvalidPropertyGroupError.does_not_fit_template: One or more of the supplied property fields does not conform to the template specifications. :ivar InvalidPropertyGroupError.duplicate_property_groups: There are 2 or more property groups referring to the same templates in the input. """ # Attribute is overwritten below the class definition property_field_too_large = None # Attribute is overwritten below the class definition does_not_fit_template = None # Attribute is overwritten below the class definition duplicate_property_groups = 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 is_duplicate_property_groups(self): """ Check if the union tag is ``duplicate_property_groups``. :rtype: bool """ return self._tag == "duplicate_property_groups" def _process_custom_annotations(self, annotation_type, field_path, processor): super(InvalidPropertyGroupError, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) AddPropertiesError_validator = bv.Union(AddPropertiesError) class PropertyGroupTemplate(bb.Struct): """ Defines how a property group may be structured. :ivar PropertyGroupTemplate.name: Display name for the template. Template names can be up to 256 bytes. :ivar PropertyGroupTemplate.description: Description for the template. Template descriptions can be up to 1024 bytes. :ivar 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", "_description_value", "_fields_value", ] _has_required_fields = True def __init__(self, name=None, description=None, fields=None): self._name_value = bb.NOT_SET self._description_value = bb.NOT_SET self._fields_value = bb.NOT_SET if name is not None: self.name = name if description is not None: self.description = description if fields is not None: self.fields = fields # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) description = bb.Attribute("description") # Instance attribute type: list of [PropertyFieldTemplate] (validator is set below) fields = bb.Attribute("fields") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertyGroupTemplate, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) AddTemplateArg_validator = bv.Struct(AddTemplateArg) class AddTemplateResult(bb.Struct): """ :ivar AddTemplateResult.template_id: An identifier for template added by See :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_team`. """ __slots__ = [ "_template_id_value", ] _has_required_fields = True def __init__(self, template_id=None): self._template_id_value = bb.NOT_SET if template_id is not None: self.template_id = template_id # Instance attribute type: str (validator is set below) template_id = bb.Attribute("template_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddTemplateResult, self)._process_custom_annotations( annotation_type, field_path, processor ) AddTemplateResult_validator = bv.Struct(AddTemplateResult) class GetTemplateArg(bb.Struct): """ :ivar GetTemplateArg.template_id: An identifier for template added by route See :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_team`. """ __slots__ = [ "_template_id_value", ] _has_required_fields = True def __init__(self, template_id=None): self._template_id_value = bb.NOT_SET if template_id is not None: self.template_id = template_id # Instance attribute type: str (validator is set below) template_id = bb.Attribute("template_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTemplateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) GetTemplateResult_validator = bv.Struct(GetTemplateResult) class ListTemplateResult(bb.Struct): """ :ivar ListTemplateResult.template_ids: List of identifiers for templates added by See :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_team`. """ __slots__ = [ "_template_ids_value", ] _has_required_fields = True def __init__(self, template_ids=None): self._template_ids_value = bb.NOT_SET if template_ids is not None: self.template_ids = template_ids # Instance attribute type: list of [str] (validator is set below) template_ids = bb.Attribute("template_ids") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListTemplateResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 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 ) 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 LookupError.not_found: There is nothing at the given path. :ivar LookupError.not_file: We were expecting a file, but the given path refers to something that isn't a file. :ivar LookupError.not_folder: We were expecting a folder, but the given path refers to something that isn't a folder. :ivar LookupError.restricted_content: The file cannot be transferred because the content is restricted. For example, we might restrict a file due to legal requirements. """ _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) 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 ModifyTemplateError.conflicting_property_names: A property field key with that name already exists in the template. :ivar ModifyTemplateError.too_many_properties: There are too many properties in the changed template. The maximum number of properties per template is 32. :ivar ModifyTemplateError.too_many_templates: There are too many templates for the team. :ivar 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 ) ModifyTemplateError_validator = bv.Union(ModifyTemplateError) class OverwritePropertyGroupArg(bb.Struct): """ :ivar OverwritePropertyGroupArg.path: A unique identifier for the file or folder. :ivar OverwritePropertyGroupArg.property_groups: The property groups "snapshot" updates to force apply. No two groups in the input should refer to the same template. """ __slots__ = [ "_path_value", "_property_groups_value", ] _has_required_fields = True def __init__(self, path=None, property_groups=None): self._path_value = bb.NOT_SET self._property_groups_value = bb.NOT_SET if path is not None: self.path = path if property_groups is not None: self.property_groups = property_groups # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: list of [PropertyGroup] (validator is set below) property_groups = bb.Attribute("property_groups") def _process_custom_annotations(self, annotation_type, field_path, processor): super(OverwritePropertyGroupArg, self)._process_custom_annotations( annotation_type, field_path, processor ) OverwritePropertyGroupArg_validator = bv.Struct(OverwritePropertyGroupArg) class PropertiesSearchArg(bb.Struct): """ :ivar PropertiesSearchArg.queries: Queries to search. :ivar PropertiesSearchArg.template_filter: Filter results to contain only properties associated with these template IDs. """ __slots__ = [ "_queries_value", "_template_filter_value", ] _has_required_fields = True def __init__(self, queries=None, template_filter=None): self._queries_value = bb.NOT_SET self._template_filter_value = bb.NOT_SET if queries is not None: self.queries = queries if template_filter is not None: self.template_filter = template_filter # Instance attribute type: list of [PropertiesSearchQuery] (validator is set below) queries = bb.Attribute("queries") # Instance attribute type: TemplateFilter (validator is set below) template_filter = bb.Attribute("template_filter", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertiesSearchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) PropertiesSearchArg_validator = bv.Struct(PropertiesSearchArg) class PropertiesSearchContinueArg(bb.Struct): """ :ivar PropertiesSearchContinueArg.cursor: The cursor returned by your last call to :meth:`dropbox.dropbox_client.Dropbox.file_properties_properties_search` or :meth:`dropbox.dropbox_client.Dropbox.file_properties_properties_search_continue`. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertiesSearchContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PropertiesSearchContinueError.reset: Indicates that the cursor has been invalidated. Call :meth:`dropbox.dropbox_client.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 ) 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 ) PropertiesSearchError_validator = bv.Union(PropertiesSearchError) class PropertiesSearchMatch(bb.Struct): """ :ivar PropertiesSearchMatch.id: The ID for the matched file or folder. :ivar PropertiesSearchMatch.path: The path for the matched file or folder. :ivar PropertiesSearchMatch.is_deleted: Whether the file or folder is deleted. :ivar PropertiesSearchMatch.property_groups: List of custom property groups associated with the file. """ __slots__ = [ "_id_value", "_path_value", "_is_deleted_value", "_property_groups_value", ] _has_required_fields = True def __init__(self, id=None, path=None, is_deleted=None, property_groups=None): self._id_value = bb.NOT_SET self._path_value = bb.NOT_SET self._is_deleted_value = bb.NOT_SET self._property_groups_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: bool (validator is set below) is_deleted = bb.Attribute("is_deleted") # Instance attribute type: list of [PropertyGroup] (validator is set below) property_groups = bb.Attribute("property_groups") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertiesSearchMatch, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PropertiesSearchMode.field_name: Search for a value associated with this field name. :vartype PropertiesSearchMode.field_name: str """ _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 ) PropertiesSearchMode_validator = bv.Union(PropertiesSearchMode) class PropertiesSearchQuery(bb.Struct): """ :ivar PropertiesSearchQuery.query: The property field value for which to search across templates. :ivar PropertiesSearchQuery.mode: The mode with which to perform the search. :ivar PropertiesSearchQuery.logical_operator: The logical operator with which to append the query. """ __slots__ = [ "_query_value", "_mode_value", "_logical_operator_value", ] _has_required_fields = True def __init__(self, query=None, mode=None, logical_operator=None): self._query_value = bb.NOT_SET self._mode_value = bb.NOT_SET self._logical_operator_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) query = bb.Attribute("query") # Instance attribute type: PropertiesSearchMode (validator is set below) mode = bb.Attribute("mode", user_defined=True) # Instance attribute type: LogicalOperator (validator is set below) logical_operator = bb.Attribute("logical_operator", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertiesSearchQuery, self)._process_custom_annotations( annotation_type, field_path, processor ) PropertiesSearchQuery_validator = bv.Struct(PropertiesSearchQuery) class PropertiesSearchResult(bb.Struct): """ :ivar PropertiesSearchResult.matches: A list (possibly empty) of matches for the query. :ivar PropertiesSearchResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.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", "_cursor_value", ] _has_required_fields = True def __init__(self, matches=None, cursor=None): self._matches_value = bb.NOT_SET self._cursor_value = bb.NOT_SET if matches is not None: self.matches = matches if cursor is not None: self.cursor = cursor # Instance attribute type: list of [PropertiesSearchMatch] (validator is set below) matches = bb.Attribute("matches") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertiesSearchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PropertyField.name: Key of the property field associated with a file and template. Keys can be up to 256 bytes. :ivar PropertyField.value: Value of the property field associated with a file and template. Values can be up to 1024 bytes. """ __slots__ = [ "_name_value", "_value_value", ] _has_required_fields = True def __init__(self, name=None, value=None): self._name_value = bb.NOT_SET self._value_value = bb.NOT_SET if name is not None: self.name = name if value is not None: self.value = value # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) value = bb.Attribute("value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertyField, self)._process_custom_annotations( annotation_type, field_path, processor ) PropertyField_validator = bv.Struct(PropertyField) class PropertyFieldTemplate(bb.Struct): """ Defines how a single property field may be structured. Used exclusively by :class:`PropertyGroupTemplate`. :ivar PropertyFieldTemplate.name: Key of the property field being described. Property field keys can be up to 256 bytes. :ivar PropertyFieldTemplate.description: Description of the property field. Property field descriptions can be up to 1024 bytes. """ __slots__ = [ "_name_value", "_description_value", "_type_value", ] _has_required_fields = True def __init__(self, name=None, description=None, type=None): self._name_value = bb.NOT_SET self._description_value = bb.NOT_SET self._type_value = bb.NOT_SET if name is not None: self.name = name if description is not None: self.description = description if type is not None: self.type = type # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) description = bb.Attribute("description") # Instance attribute type: PropertyType (validator is set below) type = bb.Attribute("type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertyFieldTemplate, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PropertyGroup.template_id: A unique identifier for the associated template. :ivar PropertyGroup.fields: The actual properties associated with the template. There can be up to 32 property types per template. """ __slots__ = [ "_template_id_value", "_fields_value", ] _has_required_fields = True def __init__(self, template_id=None, fields=None): self._template_id_value = bb.NOT_SET self._fields_value = bb.NOT_SET if template_id is not None: self.template_id = template_id if fields is not None: self.fields = fields # Instance attribute type: str (validator is set below) template_id = bb.Attribute("template_id") # Instance attribute type: list of [PropertyField] (validator is set below) fields = bb.Attribute("fields") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertyGroup, self)._process_custom_annotations( annotation_type, field_path, processor ) PropertyGroup_validator = bv.Struct(PropertyGroup) class PropertyGroupUpdate(bb.Struct): """ Property routes :ivar PropertyGroupUpdate.template_id: A unique identifier for a property template. :ivar 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, it will be created as long as the property group already exists. :ivar PropertyGroupUpdate.remove_fields: Property fields to remove (by name), provided they exist. """ __slots__ = [ "_template_id_value", "_add_or_update_fields_value", "_remove_fields_value", ] _has_required_fields = True def __init__(self, template_id=None, add_or_update_fields=None, remove_fields=None): self._template_id_value = bb.NOT_SET self._add_or_update_fields_value = bb.NOT_SET self._remove_fields_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) template_id = bb.Attribute("template_id") # Instance attribute type: list of [PropertyField] (validator is set below) add_or_update_fields = bb.Attribute("add_or_update_fields", nullable=True) # Instance attribute type: list of [str] (validator is set below) remove_fields = bb.Attribute("remove_fields", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PropertyGroupUpdate, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) PropertyType_validator = bv.Union(PropertyType) class RemovePropertiesArg(bb.Struct): """ :ivar RemovePropertiesArg.path: A unique identifier for the file or folder. :ivar RemovePropertiesArg.property_template_ids: A list of identifiers for a template created by :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_team`. """ __slots__ = [ "_path_value", "_property_template_ids_value", ] _has_required_fields = True def __init__(self, path=None, property_template_ids=None): self._path_value = bb.NOT_SET self._property_template_ids_value = bb.NOT_SET if path is not None: self.path = path if property_template_ids is not None: self.property_template_ids = property_template_ids # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: list of [str] (validator is set below) property_template_ids = bb.Attribute("property_template_ids") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RemovePropertiesArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) RemovePropertiesError_validator = bv.Union(RemovePropertiesError) class RemoveTemplateArg(bb.Struct): """ :ivar RemoveTemplateArg.template_id: An identifier for a template created by :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_team`. """ __slots__ = [ "_template_id_value", ] _has_required_fields = True def __init__(self, template_id=None): self._template_id_value = bb.NOT_SET if template_id is not None: self.template_id = template_id # Instance attribute type: str (validator is set below) template_id = bb.Attribute("template_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RemoveTemplateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TemplateFilterBase.filter_some: Only templates with an ID in the supplied list will be returned (a subset of templates will be returned). :vartype TemplateFilterBase.filter_some: list of [str] """ _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 ) 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 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 ) 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 TemplateOwnerType.user: Template will be associated with a user. :ivar 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 ) TemplateOwnerType_validator = bv.Union(TemplateOwnerType) class UpdatePropertiesArg(bb.Struct): """ :ivar UpdatePropertiesArg.path: A unique identifier for the file or folder. :ivar UpdatePropertiesArg.update_property_groups: The property groups "delta" updates to apply. """ __slots__ = [ "_path_value", "_update_property_groups_value", ] _has_required_fields = True def __init__(self, path=None, update_property_groups=None): self._path_value = bb.NOT_SET self._update_property_groups_value = bb.NOT_SET if path is not None: self.path = path if update_property_groups is not None: self.update_property_groups = update_property_groups # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: list of [PropertyGroupUpdate] (validator is set below) update_property_groups = bb.Attribute("update_property_groups") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UpdatePropertiesArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) UpdatePropertiesError_validator = bv.Union(UpdatePropertiesError) class UpdateTemplateArg(bb.Struct): """ :ivar UpdateTemplateArg.template_id: An identifier for template added by See :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_team`. :ivar UpdateTemplateArg.name: A display name for the template. template names can be up to 256 bytes. :ivar UpdateTemplateArg.description: Description for the new template. Template descriptions can be up to 1024 bytes. :ivar 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", "_name_value", "_description_value", "_add_fields_value", ] _has_required_fields = True def __init__(self, template_id=None, name=None, description=None, add_fields=None): self._template_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._description_value = bb.NOT_SET self._add_fields_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) template_id = bb.Attribute("template_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name", nullable=True) # Instance attribute type: str (validator is set below) description = bb.Attribute("description", nullable=True) # Instance attribute type: list of [PropertyFieldTemplate] (validator is set below) add_fields = bb.Attribute("add_fields", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UpdateTemplateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UpdateTemplateArg_validator = bv.Struct(UpdateTemplateArg) class UpdateTemplateResult(bb.Struct): """ :ivar UpdateTemplateResult.template_id: An identifier for template added by route See :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox_client.Dropbox.file_properties_templates_add_for_team`. """ __slots__ = [ "_template_id_value", ] _has_required_fields = True def __init__(self, template_id=None): self._template_id_value = bb.NOT_SET if template_id is not None: self.template_id = template_id # Instance attribute type: str (validator is set below) template_id = bb.Attribute("template_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UpdateTemplateResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UpdateTemplateResult_validator = bv.Struct(UpdateTemplateResult) Id_validator = bv.String(min_length=1) PathOrId_validator = bv.String(pattern="/(.|[\\r\\n])*|id:.*|(ns:[0-9]+(/.*)?)") PropertiesSearchCursor_validator = bv.String(min_length=1) TemplateId_validator = bv.String(min_length=1, pattern="(/|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._duplicate_property_groups_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, "duplicate_property_groups": InvalidPropertyGroupError._duplicate_property_groups_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") InvalidPropertyGroupError.duplicate_property_groups = InvalidPropertyGroupError( "duplicate_property_groups" ) 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)] PropertiesSearchArg.template_filter.default = TemplateFilter.filter_none PropertiesSearchQuery.logical_operator.default = LogicalOperator.or_operator properties_add = bb.Route( "properties/add", 1, False, AddPropertiesArg_validator, bv.Void(), AddPropertiesError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) properties_overwrite = bb.Route( "properties/overwrite", 1, False, OverwritePropertyGroupArg_validator, bv.Void(), InvalidPropertyGroupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) properties_remove = bb.Route( "properties/remove", 1, False, RemovePropertiesArg_validator, bv.Void(), RemovePropertiesError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) properties_search = bb.Route( "properties/search", 1, False, PropertiesSearchArg_validator, PropertiesSearchResult_validator, PropertiesSearchError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) properties_search_continue = bb.Route( "properties/search/continue", 1, False, PropertiesSearchContinueArg_validator, PropertiesSearchResult_validator, PropertiesSearchContinueError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) properties_update = bb.Route( "properties/update", 1, False, UpdatePropertiesArg_validator, bv.Void(), UpdatePropertiesError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) templates_add_for_team = bb.Route( "templates/add_for_team", 1, False, AddTemplateArg_validator, AddTemplateResult_validator, ModifyTemplateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) templates_add_for_user = bb.Route( "templates/add_for_user", 1, False, AddTemplateArg_validator, AddTemplateResult_validator, ModifyTemplateError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) templates_get_for_team = bb.Route( "templates/get_for_team", 1, False, GetTemplateArg_validator, GetTemplateResult_validator, TemplateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) templates_get_for_user = bb.Route( "templates/get_for_user", 1, False, GetTemplateArg_validator, GetTemplateResult_validator, TemplateError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) templates_list_for_team = bb.Route( "templates/list_for_team", 1, False, bv.Void(), ListTemplateResult_validator, TemplateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) templates_list_for_user = bb.Route( "templates/list_for_user", 1, False, bv.Void(), ListTemplateResult_validator, TemplateError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) templates_remove_for_team = bb.Route( "templates/remove_for_team", 1, False, RemoveTemplateArg_validator, bv.Void(), TemplateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) templates_remove_for_user = bb.Route( "templates/remove_for_user", 1, False, RemoveTemplateArg_validator, bv.Void(), TemplateError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) templates_update_for_team = bb.Route( "templates/update_for_team", 1, False, UpdateTemplateArg_validator, UpdateTemplateResult_validator, ModifyTemplateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) templates_update_for_user = bb.Route( "templates/update_for_user", 1, False, UpdateTemplateArg_validator, UpdateTemplateResult_validator, ModifyTemplateError_validator, {"auth": "user", "host": "api", "style": "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-dropbox-sdk-python-6064f79/dropbox/file_requests.py000066400000000000000000001421701522735175000241440ustar00rootroot00000000000000# -*- 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. """ from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import common from dropbox 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 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 ) 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 ) CountFileRequestsError_validator = bv.Union(CountFileRequestsError) class CountFileRequestsResult(bb.Struct): """ Result for :meth:`dropbox.dropbox_client.Dropbox.file_requests_count`. :ivar CountFileRequestsResult.file_request_count: The number file requests owner by this user. """ __slots__ = [ "_file_request_count_value", ] _has_required_fields = True def __init__(self, file_request_count=None): self._file_request_count_value = bb.NOT_SET if file_request_count is not None: self.file_request_count = file_request_count # Instance attribute type: int (validator is set below) file_request_count = bb.Attribute("file_request_count") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CountFileRequestsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) CountFileRequestsResult_validator = bv.Struct(CountFileRequestsResult) class CreateFileRequestArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.file_requests_create`. :ivar CreateFileRequestArgs.title: The title of the file request. Must not be empty. :ivar 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 CreateFileRequestArgs.deadline: The deadline for the file request. Deadlines can only be set by Professional and Business accounts. :ivar 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. :ivar CreateFileRequestArgs.description: A description of the file request. :ivar CreateFileRequestArgs.video_project_id: If this request was created from video project, its id. """ __slots__ = [ "_title_value", "_destination_value", "_deadline_value", "_open_value", "_description_value", "_video_project_id_value", ] _has_required_fields = True def __init__( self, title=None, destination=None, deadline=None, open=None, description=None, video_project_id=None, ): self._title_value = bb.NOT_SET self._destination_value = bb.NOT_SET self._deadline_value = bb.NOT_SET self._open_value = bb.NOT_SET self._description_value = bb.NOT_SET self._video_project_id_value = bb.NOT_SET 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 if description is not None: self.description = description if video_project_id is not None: self.video_project_id = video_project_id # Instance attribute type: str (validator is set below) title = bb.Attribute("title") # Instance attribute type: str (validator is set below) destination = bb.Attribute("destination") # Instance attribute type: FileRequestDeadline (validator is set below) deadline = bb.Attribute("deadline", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) open = bb.Attribute("open") # Instance attribute type: str (validator is set below) description = bb.Attribute("description", nullable=True) # Instance attribute type: str (validator is set below) video_project_id = bb.Attribute("video_project_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateFileRequestArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 FileRequestError.not_found: This file request ID was not found. :ivar FileRequestError.not_a_folder: The specified path is not a folder. :ivar 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 FileRequestError.no_permission: This user doesn't have permission to access or modify this file request. :ivar 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 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. :ivar FileRequestError.no_write_permission: This user doesn't have permission to edit files in a destination folder """ # 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 # Attribute is overwritten below the class definition no_write_permission = 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 is_no_write_permission(self): """ Check if the union tag is ``no_write_permission``. :rtype: bool """ return self._tag == "no_write_permission" def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestError, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 CreateFileRequestError.invalid_location: File requests are not available on the specified folder. :ivar CreateFileRequestError.rate_limit: The user has reached the rate limit for creating file requests. The limit is currently 4000 file requests total. """ # 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 ) 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 ) DeleteAllClosedFileRequestsError_validator = bv.Union(DeleteAllClosedFileRequestsError) class DeleteAllClosedFileRequestsResult(bb.Struct): """ Result for :meth:`dropbox.dropbox_client.Dropbox.file_requests_delete_all_closed`. :ivar DeleteAllClosedFileRequestsResult.file_requests: The file requests deleted for this user. """ __slots__ = [ "_file_requests_value", ] _has_required_fields = True def __init__(self, file_requests=None): self._file_requests_value = bb.NOT_SET if file_requests is not None: self.file_requests = file_requests # Instance attribute type: list of [FileRequest] (validator is set below) file_requests = bb.Attribute("file_requests") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteAllClosedFileRequestsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteAllClosedFileRequestsResult_validator = bv.Struct(DeleteAllClosedFileRequestsResult) class DeleteFileRequestArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.file_requests_delete`. :ivar DeleteFileRequestArgs.ids: List IDs of the file requests to delete. """ __slots__ = [ "_ids_value", ] _has_required_fields = True def __init__(self, ids=None): self._ids_value = bb.NOT_SET if ids is not None: self.ids = ids # Instance attribute type: list of [str] (validator is set below) ids = bb.Attribute("ids") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteFileRequestArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) DeleteFileRequestError_validator = bv.Union(DeleteFileRequestError) class DeleteFileRequestsResult(bb.Struct): """ Result for :meth:`dropbox.dropbox_client.Dropbox.file_requests_delete`. :ivar DeleteFileRequestsResult.file_requests: The file requests deleted by the request. """ __slots__ = [ "_file_requests_value", ] _has_required_fields = True def __init__(self, file_requests=None): self._file_requests_value = bb.NOT_SET if file_requests is not None: self.file_requests = file_requests # Instance attribute type: list of [FileRequest] (validator is set below) file_requests = bb.Attribute("file_requests") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteFileRequestsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteFileRequestsResult_validator = bv.Struct(DeleteFileRequestsResult) class FileRequest(bb.Struct): """ A `file request `_ for receiving files into the user's Dropbox account. :ivar FileRequest.id: The ID of the file request. :ivar FileRequest.url: The URL of the file request. :ivar FileRequest.title: The title of the file request. :ivar 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 FileRequest.created: When this file request was created. :ivar FileRequest.deadline: The deadline for this file request. Only set if the request has a deadline. :ivar 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 FileRequest.file_count: The number of files this file request has received. :ivar FileRequest.description: A description of the file request. :ivar FileRequest.video_project_id: If this request was created from video project, its id. """ __slots__ = [ "_id_value", "_url_value", "_title_value", "_destination_value", "_created_value", "_deadline_value", "_is_open_value", "_file_count_value", "_description_value", "_video_project_id_value", ] _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, description=None, video_project_id=None, ): self._id_value = bb.NOT_SET self._url_value = bb.NOT_SET self._title_value = bb.NOT_SET self._destination_value = bb.NOT_SET self._created_value = bb.NOT_SET self._deadline_value = bb.NOT_SET self._is_open_value = bb.NOT_SET self._file_count_value = bb.NOT_SET self._description_value = bb.NOT_SET self._video_project_id_value = bb.NOT_SET 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 if description is not None: self.description = description if video_project_id is not None: self.video_project_id = video_project_id # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: str (validator is set below) url = bb.Attribute("url") # Instance attribute type: str (validator is set below) title = bb.Attribute("title") # Instance attribute type: str (validator is set below) destination = bb.Attribute("destination", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) created = bb.Attribute("created") # Instance attribute type: FileRequestDeadline (validator is set below) deadline = bb.Attribute("deadline", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) is_open = bb.Attribute("is_open") # Instance attribute type: int (validator is set below) file_count = bb.Attribute("file_count") # Instance attribute type: str (validator is set below) description = bb.Attribute("description", nullable=True) # Instance attribute type: str (validator is set below) video_project_id = bb.Attribute("video_project_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequest, self)._process_custom_annotations(annotation_type, field_path, processor) FileRequest_validator = bv.Struct(FileRequest) class FileRequestDeadline(bb.Struct): """ :ivar FileRequestDeadline.deadline: The deadline for this file request. :ivar FileRequestDeadline.allow_late_uploads: If set, allow uploads after the deadline has passed. These uploads will be marked overdue. """ __slots__ = [ "_deadline_value", "_allow_late_uploads_value", ] _has_required_fields = True def __init__(self, deadline=None, allow_late_uploads=None): self._deadline_value = bb.NOT_SET self._allow_late_uploads_value = bb.NOT_SET if deadline is not None: self.deadline = deadline if allow_late_uploads is not None: self.allow_late_uploads = allow_late_uploads # Instance attribute type: datetime.datetime (validator is set below) deadline = bb.Attribute("deadline") # Instance attribute type: GracePeriod (validator is set below) allow_late_uploads = bb.Attribute("allow_late_uploads", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestDeadline, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestDeadline_validator = bv.Struct(FileRequestDeadline) class GetFileRequestArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.file_requests_get`. :ivar GetFileRequestArgs.id: The ID of the file request to retrieve. """ __slots__ = [ "_id_value", ] _has_required_fields = True def __init__(self, id=None): self._id_value = bb.NOT_SET if id is not None: self.id = id # Instance attribute type: str (validator is set below) id = bb.Attribute("id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetFileRequestArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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) GracePeriod_validator = bv.Union(GracePeriod) class ListFileRequestsArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.file_requests_list`. :ivar ListFileRequestsArg.limit: The maximum number of file requests that should be returned per request. """ __slots__ = [ "_limit_value", ] _has_required_fields = False def __init__(self, limit=None): self._limit_value = bb.NOT_SET if limit is not None: self.limit = limit # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFileRequestsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFileRequestsArg_validator = bv.Struct(ListFileRequestsArg) class ListFileRequestsContinueArg(bb.Struct): """ :ivar ListFileRequestsContinueArg.cursor: The cursor returned by the previous API call specified in the endpoint description. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFileRequestsContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 ) ListFileRequestsError_validator = bv.Union(ListFileRequestsError) class ListFileRequestsResult(bb.Struct): """ Result for :meth:`dropbox.dropbox_client.Dropbox.file_requests_list`. :ivar 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", ] _has_required_fields = True def __init__(self, file_requests=None): self._file_requests_value = bb.NOT_SET if file_requests is not None: self.file_requests = file_requests # Instance attribute type: list of [FileRequest] (validator is set below) file_requests = bb.Attribute("file_requests") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFileRequestsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFileRequestsResult_validator = bv.Struct(ListFileRequestsResult) class ListFileRequestsV2Result(bb.Struct): """ Result for :meth:`dropbox.dropbox_client.Dropbox.file_requests_list` and :meth:`dropbox.dropbox_client.Dropbox.file_requests_list_continue`. :ivar 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 ListFileRequestsV2Result.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.file_requests_list_continue` to obtain additional file requests. :ivar 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", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, file_requests=None, cursor=None, has_more=None): self._file_requests_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [FileRequest] (validator is set below) file_requests = bb.Attribute("file_requests") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFileRequestsV2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFileRequestsV2Result_validator = bv.Struct(ListFileRequestsV2Result) class UpdateFileRequestArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.file_requests_update`. :ivar UpdateFileRequestArgs.id: The ID of the file request to update. :ivar UpdateFileRequestArgs.title: The new title of the file request. Must not be empty. :ivar 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 UpdateFileRequestArgs.deadline: The new deadline for the file request. Deadlines can only be set by Professional and Business accounts. :ivar UpdateFileRequestArgs.open: Whether to set this file request as open or closed. :ivar UpdateFileRequestArgs.description: The description of the file request. """ __slots__ = [ "_id_value", "_title_value", "_destination_value", "_deadline_value", "_open_value", "_description_value", ] _has_required_fields = True def __init__( self, id=None, title=None, destination=None, deadline=None, open=None, description=None, ): self._id_value = bb.NOT_SET self._title_value = bb.NOT_SET self._destination_value = bb.NOT_SET self._deadline_value = bb.NOT_SET self._open_value = bb.NOT_SET self._description_value = bb.NOT_SET 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 if description is not None: self.description = description # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: str (validator is set below) title = bb.Attribute("title", nullable=True) # Instance attribute type: str (validator is set below) destination = bb.Attribute("destination", nullable=True) # Instance attribute type: UpdateFileRequestDeadline (validator is set below) deadline = bb.Attribute("deadline", user_defined=True) # Instance attribute type: bool (validator is set below) open = bb.Attribute("open", nullable=True) # Instance attribute type: str (validator is set below) description = bb.Attribute("description", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UpdateFileRequestArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 UpdateFileRequestDeadline.no_update: Do not change the file request's deadline. :ivar UpdateFileRequestDeadline.update: If None, the file request's deadline is cleared. :vartype UpdateFileRequestDeadline.update: Optional[FileRequestDeadline] """ _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 ) 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 ) UpdateFileRequestError_validator = bv.Union(UpdateFileRequestError) FileRequestId_validator = bv.String(min_length=1, pattern="[-_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.description.validator = bv.Nullable(bv.String()) CreateFileRequestArgs.video_project_id.validator = bv.Nullable(bv.String()) CreateFileRequestArgs._all_field_names_ = set( [ "title", "destination", "deadline", "open", "description", "video_project_id", ] ) CreateFileRequestArgs._all_fields_ = [ ("title", CreateFileRequestArgs.title.validator), ("destination", CreateFileRequestArgs.destination.validator), ("deadline", CreateFileRequestArgs.deadline.validator), ("open", CreateFileRequestArgs.open.validator), ("description", CreateFileRequestArgs.description.validator), ("video_project_id", CreateFileRequestArgs.video_project_id.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._no_write_permission_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, "no_write_permission": FileRequestError._no_write_permission_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") FileRequestError.no_write_permission = FileRequestError("no_write_permission") 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.description.validator = bv.Nullable(bv.String()) FileRequest.video_project_id.validator = bv.Nullable(bv.String()) FileRequest._all_field_names_ = set( [ "id", "url", "title", "destination", "created", "deadline", "is_open", "file_count", "description", "video_project_id", ] ) 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), ("description", FileRequest.description.validator), ("video_project_id", FileRequest.video_project_id.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.description.validator = bv.Nullable(bv.String()) UpdateFileRequestArgs._all_field_names_ = set( [ "id", "title", "destination", "deadline", "open", "description", ] ) UpdateFileRequestArgs._all_fields_ = [ ("id", UpdateFileRequestArgs.id.validator), ("title", UpdateFileRequestArgs.title.validator), ("destination", UpdateFileRequestArgs.destination.validator), ("deadline", UpdateFileRequestArgs.deadline.validator), ("open", UpdateFileRequestArgs.open.validator), ("description", UpdateFileRequestArgs.description.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) CreateFileRequestArgs.open.default = True ListFileRequestsArg.limit.default = 1000 UpdateFileRequestArgs.deadline.default = UpdateFileRequestDeadline.no_update count = bb.Route( "count", 1, False, bv.Void(), CountFileRequestsResult_validator, CountFileRequestsError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) create = bb.Route( "create", 1, False, CreateFileRequestArgs_validator, FileRequest_validator, CreateFileRequestError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) delete = bb.Route( "delete", 1, False, DeleteFileRequestArgs_validator, DeleteFileRequestsResult_validator, DeleteFileRequestError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) delete_all_closed = bb.Route( "delete_all_closed", 1, False, bv.Void(), DeleteAllClosedFileRequestsResult_validator, DeleteAllClosedFileRequestsError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get = bb.Route( "get", 1, False, GetFileRequestArgs_validator, FileRequest_validator, GetFileRequestError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list = bb.Route( "list", 1, False, bv.Void(), ListFileRequestsResult_validator, ListFileRequestsError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_v2 = bb.Route( "list", 2, False, ListFileRequestsArg_validator, ListFileRequestsV2Result_validator, ListFileRequestsError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_continue = bb.Route( "list/continue", 1, False, ListFileRequestsContinueArg_validator, ListFileRequestsV2Result_validator, ListFileRequestsContinueError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) update = bb.Route( "update", 1, False, UpdateFileRequestArgs_validator, FileRequest_validator, UpdateFileRequestError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) ROUTES = { "count": count, "create": create, "delete": delete, "delete_all_closed": delete_all_closed, "get": get, "list": list, "list:2": list_v2, "list/continue": list_continue, "update": update, } dropbox-dropbox-sdk-python-6064f79/dropbox/files.py000066400000000000000000017516141522735175000224060ustar00rootroot00000000000000# -*- 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. """ from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import async_ from dropbox import common from dropbox import file_properties from dropbox import users_common class AddTagArg(bb.Struct): """ :ivar AddTagArg.path: Path to the item to be tagged. :ivar AddTagArg.tag_text: The value of the tag to add. Will be automatically converted to lowercase letters. """ __slots__ = [ "_path_value", "_tag_text_value", ] _has_required_fields = True def __init__(self, path=None, tag_text=None): self._path_value = bb.NOT_SET self._tag_text_value = bb.NOT_SET if path is not None: self.path = path if tag_text is not None: self.tag_text = tag_text # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: str (validator is set below) tag_text = bb.Attribute("tag_text") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddTagArg, self)._process_custom_annotations(annotation_type, field_path, processor) AddTagArg_validator = bv.Struct(AddTagArg) class BaseTagError(bb.Union): """ This class acts as a tagged union. Only 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: BaseTagError """ 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(BaseTagError, self)._process_custom_annotations( annotation_type, field_path, processor ) BaseTagError_validator = bv.Union(BaseTagError) class AddTagError(BaseTagError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar AddTagError.too_many_tags: The item already has the maximum supported number of tags. """ # Attribute is overwritten below the class definition too_many_tags = None def is_too_many_tags(self): """ Check if the union tag is ``too_many_tags``. :rtype: bool """ return self._tag == "too_many_tags" def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddTagError, self)._process_custom_annotations(annotation_type, field_path, processor) AddTagError_validator = bv.Union(AddTagError) class GetMetadataArg(bb.Struct): """ :ivar GetMetadataArg.path: The path of a file or folder on Dropbox. :ivar GetMetadataArg.include_media_info: If true, ``FileMetadata.media_info`` is set for photo and video. :ivar GetMetadataArg.include_deleted: If true, :class:`DeletedMetadata` will be returned for deleted file or folder, otherwise ``LookupError.not_found`` will be returned. :ivar 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 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", "_include_media_info_value", "_include_deleted_value", "_include_has_explicit_shared_members_value", "_include_property_groups_value", ] _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 = bb.NOT_SET self._include_media_info_value = bb.NOT_SET self._include_deleted_value = bb.NOT_SET self._include_has_explicit_shared_members_value = bb.NOT_SET self._include_property_groups_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: bool (validator is set below) include_media_info = bb.Attribute("include_media_info") # Instance attribute type: bool (validator is set below) include_deleted = bb.Attribute("include_deleted") # Instance attribute type: bool (validator is set below) include_has_explicit_shared_members = bb.Attribute("include_has_explicit_shared_members") # Instance attribute type: file_properties.TemplateFilterBase (validator is set below) include_property_groups = bb.Attribute( "include_property_groups", nullable=True, user_defined=True ) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetMetadataArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GetMetadataArg_validator = bv.Struct(GetMetadataArg) class AlphaGetMetadataArg(GetMetadataArg): """ :ivar AlphaGetMetadataArg.include_property_templates: Field is deprecated. If set to a valid list of template IDs, ``FileMetadata.property_groups`` is set for files with custom properties. """ __slots__ = [ "_include_property_templates_value", ] _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 = bb.NOT_SET if include_property_templates is not None: self.include_property_templates = include_property_templates # Instance attribute type: list of [str] (validator is set below) include_property_templates = bb.Attribute("include_property_templates", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AlphaGetMetadataArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 ) AlphaGetMetadataError_validator = bv.Union(AlphaGetMetadataError) class CommitInfo(bb.Struct): """ :ivar CommitInfo.path: Path in the user's Dropbox to save the file. :ivar CommitInfo.mode: Selects what to do if the file already exists. :ivar CommitInfo.autorename: If there's a conflict, as determined by ``mode``, have the Dropbox server try to autorename the file to avoid conflict. :ivar 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 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 CommitInfo.property_groups: List of custom properties to add to file. :ivar 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. This also forces a conflict even when the target path refers to a file with identical contents. """ __slots__ = [ "_path_value", "_mode_value", "_autorename_value", "_client_modified_value", "_mute_value", "_property_groups_value", "_strict_conflict_value", ] _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 = bb.NOT_SET self._mode_value = bb.NOT_SET self._autorename_value = bb.NOT_SET self._client_modified_value = bb.NOT_SET self._mute_value = bb.NOT_SET self._property_groups_value = bb.NOT_SET self._strict_conflict_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: WriteMode (validator is set below) mode = bb.Attribute("mode", user_defined=True) # Instance attribute type: bool (validator is set below) autorename = bb.Attribute("autorename") # Instance attribute type: datetime.datetime (validator is set below) client_modified = bb.Attribute("client_modified", nullable=True) # Instance attribute type: bool (validator is set below) mute = bb.Attribute("mute") # Instance attribute type: list of [file_properties.PropertyGroup] (validator is set below) property_groups = bb.Attribute("property_groups", nullable=True) # Instance attribute type: bool (validator is set below) strict_conflict = bb.Attribute("strict_conflict") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CommitInfo, self)._process_custom_annotations(annotation_type, field_path, processor) CommitInfo_validator = bv.Struct(CommitInfo) class ContentSyncSetting(bb.Struct): """ :ivar ContentSyncSetting.id: Id of the item this setting is applied to. :ivar ContentSyncSetting.sync_setting: Setting for this item. """ __slots__ = [ "_id_value", "_sync_setting_value", ] _has_required_fields = True def __init__(self, id=None, sync_setting=None): self._id_value = bb.NOT_SET self._sync_setting_value = bb.NOT_SET if id is not None: self.id = id if sync_setting is not None: self.sync_setting = sync_setting # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: SyncSetting (validator is set below) sync_setting = bb.Attribute("sync_setting", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ContentSyncSetting, self)._process_custom_annotations( annotation_type, field_path, processor ) ContentSyncSetting_validator = bv.Struct(ContentSyncSetting) class ContentSyncSettingArg(bb.Struct): """ :ivar ContentSyncSettingArg.id: Id of the item this setting is applied to. :ivar ContentSyncSettingArg.sync_setting: Setting for this item. """ __slots__ = [ "_id_value", "_sync_setting_value", ] _has_required_fields = True def __init__(self, id=None, sync_setting=None): self._id_value = bb.NOT_SET self._sync_setting_value = bb.NOT_SET if id is not None: self.id = id if sync_setting is not None: self.sync_setting = sync_setting # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: SyncSettingArg (validator is set below) sync_setting = bb.Attribute("sync_setting", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ContentSyncSettingArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ContentSyncSettingArg_validator = bv.Struct(ContentSyncSettingArg) class CreateFolderArg(bb.Struct): """ :ivar CreateFolderArg.path: Path in the user's Dropbox to create. :ivar CreateFolderArg.autorename: If there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. """ __slots__ = [ "_path_value", "_autorename_value", ] _has_required_fields = True def __init__(self, path=None, autorename=None): self._path_value = bb.NOT_SET self._autorename_value = bb.NOT_SET if path is not None: self.path = path if autorename is not None: self.autorename = autorename # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: bool (validator is set below) autorename = bb.Attribute("autorename") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateFolderArg, self)._process_custom_annotations( annotation_type, field_path, processor ) CreateFolderArg_validator = bv.Struct(CreateFolderArg) class CreateFolderBatchArg(bb.Struct): """ :ivar CreateFolderBatchArg.paths: List of paths to be created in the user's Dropbox. Duplicate path arguments in the batch are considered only once. :ivar CreateFolderBatchArg.autorename: If there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. :ivar CreateFolderBatchArg.force_async: Whether to force the create to happen asynchronously. """ __slots__ = [ "_paths_value", "_autorename_value", "_force_async_value", ] _has_required_fields = True def __init__(self, paths=None, autorename=None, force_async=None): self._paths_value = bb.NOT_SET self._autorename_value = bb.NOT_SET self._force_async_value = bb.NOT_SET 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 # Instance attribute type: list of [str] (validator is set below) paths = bb.Attribute("paths") # Instance attribute type: bool (validator is set below) autorename = bb.Attribute("autorename") # Instance attribute type: bool (validator is set below) force_async = bb.Attribute("force_async") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateFolderBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 CreateFolderBatchJobStatus.complete: The batch create folder has finished. :vartype CreateFolderBatchJobStatus.complete: CreateFolderBatchResult :ivar CreateFolderBatchJobStatus.failed: The batch create folder has failed. :vartype CreateFolderBatchJobStatus.failed: CreateFolderBatchError """ _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 ) CreateFolderBatchJobStatus_validator = bv.Union(CreateFolderBatchJobStatus) class CreateFolderBatchLaunch(async_.LaunchResultBase): """ Result returned by :meth:`dropbox.dropbox_client.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 ) CreateFolderBatchLaunch_validator = bv.Union(CreateFolderBatchLaunch) class FileOpsResult(bb.Struct): """ Result for File Operations """ __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 ) FileOpsResult_validator = bv.Struct(FileOpsResult) class CreateFolderBatchResult(FileOpsResult): """ :ivar CreateFolderBatchResult.entries: Each entry in ``CreateFolderBatchArg.paths`` will appear at the same position inside ``CreateFolderBatchResult.entries``. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): super(CreateFolderBatchResult, self).__init__() self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [CreateFolderBatchResultEntry] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateFolderBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 ) CreateFolderEntryError_validator = bv.Union(CreateFolderEntryError) class CreateFolderEntryResult(bb.Struct): """ :ivar CreateFolderEntryResult.metadata: Metadata of the created folder. """ __slots__ = [ "_metadata_value", ] _has_required_fields = True def __init__(self, metadata=None): self._metadata_value = bb.NOT_SET if metadata is not None: self.metadata = metadata # Instance attribute type: FolderMetadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateFolderEntryResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) CreateFolderError_validator = bv.Union(CreateFolderError) class CreateFolderResult(FileOpsResult): """ :ivar CreateFolderResult.metadata: Metadata of the created folder. """ __slots__ = [ "_metadata_value", ] _has_required_fields = True def __init__(self, metadata=None): super(CreateFolderResult, self).__init__() self._metadata_value = bb.NOT_SET if metadata is not None: self.metadata = metadata # Instance attribute type: FolderMetadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateFolderResult, self)._process_custom_annotations( annotation_type, field_path, processor ) CreateFolderResult_validator = bv.Struct(CreateFolderResult) class DeleteArg(bb.Struct): """ :ivar DeleteArg.path: Path in the user's Dropbox to delete. :ivar 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", "_parent_rev_value", ] _has_required_fields = True def __init__(self, path=None, parent_rev=None): self._path_value = bb.NOT_SET self._parent_rev_value = bb.NOT_SET if path is not None: self.path = path if parent_rev is not None: self.parent_rev = parent_rev # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: str (validator is set below) parent_rev = bb.Attribute("parent_rev", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteArg, self)._process_custom_annotations(annotation_type, field_path, processor) DeleteArg_validator = bv.Struct(DeleteArg) class DeleteBatchArg(bb.Struct): __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [DeleteArg] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 DeleteBatchError.too_many_write_operations: Field is deprecated. Use ``DeleteError.too_many_write_operations``. :meth:`dropbox.dropbox_client.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 ) 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 DeleteBatchJobStatus.complete: The batch delete has finished. :vartype DeleteBatchJobStatus.complete: DeleteBatchResult :ivar DeleteBatchJobStatus.failed: The batch delete has failed. :vartype DeleteBatchJobStatus.failed: DeleteBatchError """ _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 ) DeleteBatchJobStatus_validator = bv.Union(DeleteBatchJobStatus) class DeleteBatchLaunch(async_.LaunchResultBase): """ Result returned by :meth:`dropbox.dropbox_client.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 ) DeleteBatchLaunch_validator = bv.Union(DeleteBatchLaunch) class DeleteBatchResult(FileOpsResult): """ :ivar DeleteBatchResult.entries: Each entry in ``DeleteBatchArg.entries`` will appear at the same position inside ``DeleteBatchResult.entries``. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): super(DeleteBatchResult, self).__init__() self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [DeleteBatchResultEntry] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteBatchResult_validator = bv.Struct(DeleteBatchResult) class DeleteBatchResultData(bb.Struct): """ :ivar DeleteBatchResultData.metadata: Metadata of the deleted object. """ __slots__ = [ "_metadata_value", ] _has_required_fields = True def __init__(self, metadata=None): self._metadata_value = bb.NOT_SET if metadata is not None: self.metadata = metadata # Instance attribute type: Metadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteBatchResultData, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 DeleteError.too_many_write_operations: There are too many write operations in user's Dropbox. Please retry this request. :ivar 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) DeleteError_validator = bv.Union(DeleteError) class DeleteResult(FileOpsResult): """ :ivar DeleteResult.metadata: Metadata of the deleted object. """ __slots__ = [ "_metadata_value", ] _has_required_fields = True def __init__(self, metadata=None): super(DeleteResult, self).__init__() self._metadata_value = bb.NOT_SET if metadata is not None: self.metadata = metadata # Instance attribute type: Metadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteResult, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteResult_validator = bv.Struct(DeleteResult) class Metadata(bb.Struct): """ Metadata for a file or folder. :ivar Metadata.name: The last component of the path (including extension). This never contains a slash. :ivar 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 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_client.Dropbox.files_list_folder_continue`. This field will be null if the file or folder is not mounted. :ivar Metadata.parent_shared_folder_id: Field is deprecated. Please use ``FileSharingInfo.parent_shared_folder_id`` or ``FolderSharingInfo.parent_shared_folder_id`` instead. :ivar Metadata.preview_url: The preview URL of the file. """ __slots__ = [ "_name_value", "_path_lower_value", "_path_display_value", "_parent_shared_folder_id_value", "_preview_url_value", ] _has_required_fields = True def __init__( self, name=None, path_lower=None, path_display=None, parent_shared_folder_id=None, preview_url=None, ): self._name_value = bb.NOT_SET self._path_lower_value = bb.NOT_SET self._path_display_value = bb.NOT_SET self._parent_shared_folder_id_value = bb.NOT_SET self._preview_url_value = bb.NOT_SET 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 if preview_url is not None: self.preview_url = preview_url # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) path_lower = bb.Attribute("path_lower", nullable=True) # Instance attribute type: str (validator is set below) path_display = bb.Attribute("path_display", nullable=True) # Instance attribute type: str (validator is set below) parent_shared_folder_id = bb.Attribute("parent_shared_folder_id", nullable=True) # Instance attribute type: str (validator is set below) preview_url = bb.Attribute("preview_url", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(Metadata, self)._process_custom_annotations(annotation_type, field_path, processor) 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. :ivar DeletedMetadata.is_restorable: If present, indicates whether this deleted entry can be restored. """ __slots__ = [ "_is_restorable_value", ] _has_required_fields = True def __init__( self, name=None, path_lower=None, path_display=None, parent_shared_folder_id=None, preview_url=None, is_restorable=None, ): super(DeletedMetadata, self).__init__( name, path_lower, path_display, parent_shared_folder_id, preview_url ) self._is_restorable_value = bb.NOT_SET if is_restorable is not None: self.is_restorable = is_restorable # Instance attribute type: bool (validator is set below) is_restorable = bb.Attribute("is_restorable", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeletedMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) DeletedMetadata_validator = bv.Struct(DeletedMetadata) class Dimensions(bb.Struct): """ Dimensions for a photo or video. :ivar Dimensions.height: Height of the photo/video. :ivar Dimensions.width: Width of the photo/video. """ __slots__ = [ "_height_value", "_width_value", ] _has_required_fields = True def __init__(self, height=None, width=None): self._height_value = bb.NOT_SET self._width_value = bb.NOT_SET if height is not None: self.height = height if width is not None: self.width = width # Instance attribute type: int (validator is set below) height = bb.Attribute("height") # Instance attribute type: int (validator is set below) width = bb.Attribute("width") def _process_custom_annotations(self, annotation_type, field_path, processor): super(Dimensions, self)._process_custom_annotations(annotation_type, field_path, processor) Dimensions_validator = bv.Struct(Dimensions) class DownloadArg(bb.Struct): """ :ivar DownloadArg.path: The path of the file to download. :ivar DownloadArg.rev: Field is deprecated. Please specify revision in ``path`` instead. """ __slots__ = [ "_path_value", "_rev_value", ] _has_required_fields = True def __init__(self, path=None, rev=None): self._path_value = bb.NOT_SET self._rev_value = bb.NOT_SET if path is not None: self.path = path if rev is not None: self.rev = rev # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: str (validator is set below) rev = bb.Attribute("rev", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DownloadArg, self)._process_custom_annotations(annotation_type, field_path, processor) 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 DownloadError.unsupported_file: This file type cannot be downloaded directly; use :meth:`dropbox.dropbox_client.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 ) DownloadError_validator = bv.Union(DownloadError) class DownloadZipArg(bb.Struct): """ :ivar DownloadZipArg.path: The path of the folder to download. """ __slots__ = [ "_path_value", ] _has_required_fields = True def __init__(self, path=None): self._path_value = bb.NOT_SET if path is not None: self.path = path # Instance attribute type: str (validator is set below) path = bb.Attribute("path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DownloadZipArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 DownloadZipError.too_large: The folder or a file is too large to download. :ivar 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 ) DownloadZipError_validator = bv.Union(DownloadZipError) class DownloadZipResult(bb.Struct): __slots__ = [ "_metadata_value", ] _has_required_fields = True def __init__(self, metadata=None): self._metadata_value = bb.NOT_SET if metadata is not None: self.metadata = metadata # Instance attribute type: FolderMetadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DownloadZipResult, self)._process_custom_annotations( annotation_type, field_path, processor ) DownloadZipResult_validator = bv.Struct(DownloadZipResult) class ExportArg(bb.Struct): """ :ivar ExportArg.path: The path of the file to be exported. :ivar ExportArg.export_format: The file format to which the file should be exported. This must be one of the formats listed in the file's export_options returned by :meth:`dropbox.dropbox_client.Dropbox.files_get_metadata`. If none is specified, the default format (specified in export_as in file metadata) will be used. """ __slots__ = [ "_path_value", "_export_format_value", ] _has_required_fields = True def __init__(self, path=None, export_format=None): self._path_value = bb.NOT_SET self._export_format_value = bb.NOT_SET if path is not None: self.path = path if export_format is not None: self.export_format = export_format # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: str (validator is set below) export_format = bb.Attribute("export_format", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExportArg, self)._process_custom_annotations(annotation_type, field_path, processor) 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 ExportError.non_exportable: This file type cannot be exported. Use :meth:`dropbox.dropbox_client.Dropbox.files_download` instead. :ivar ExportError.invalid_export_format: The specified export format is not a valid option for this file type. :ivar ExportError.retry_error: The exportable content is not yet available. Please retry later. """ _catch_all = "other" # Attribute is overwritten below the class definition non_exportable = None # Attribute is overwritten below the class definition invalid_export_format = None # Attribute is overwritten below the class definition retry_error = 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_invalid_export_format(self): """ Check if the union tag is ``invalid_export_format``. :rtype: bool """ return self._tag == "invalid_export_format" def is_retry_error(self): """ Check if the union tag is ``retry_error``. :rtype: bool """ return self._tag == "retry_error" 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) ExportError_validator = bv.Union(ExportError) class ExportInfo(bb.Struct): """ Export information for a file. :ivar ExportInfo.export_as: Format to which the file can be exported to. :ivar ExportInfo.export_options: Additional formats to which the file can be exported. These values can be specified as the export_format in /files/export. """ __slots__ = [ "_export_as_value", "_export_options_value", ] _has_required_fields = False def __init__(self, export_as=None, export_options=None): self._export_as_value = bb.NOT_SET self._export_options_value = bb.NOT_SET if export_as is not None: self.export_as = export_as if export_options is not None: self.export_options = export_options # Instance attribute type: str (validator is set below) export_as = bb.Attribute("export_as", nullable=True) # Instance attribute type: list of [str] (validator is set below) export_options = bb.Attribute("export_options", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExportInfo, self)._process_custom_annotations(annotation_type, field_path, processor) ExportInfo_validator = bv.Struct(ExportInfo) class ExportMetadata(bb.Struct): """ :ivar ExportMetadata.name: The last component of the path (including extension). This never contains a slash. :ivar ExportMetadata.size: The file size in bytes. :ivar 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. :ivar ExportMetadata.paper_revision: If the file is a Paper doc, this gives the latest doc revision which can be used in :meth:`dropbox.dropbox_client.Dropbox.files_paper_update`. """ __slots__ = [ "_name_value", "_size_value", "_export_hash_value", "_paper_revision_value", ] _has_required_fields = True def __init__(self, name=None, size=None, export_hash=None, paper_revision=None): self._name_value = bb.NOT_SET self._size_value = bb.NOT_SET self._export_hash_value = bb.NOT_SET self._paper_revision_value = bb.NOT_SET 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 if paper_revision is not None: self.paper_revision = paper_revision # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: int (validator is set below) size = bb.Attribute("size") # Instance attribute type: str (validator is set below) export_hash = bb.Attribute("export_hash", nullable=True) # Instance attribute type: int (validator is set below) paper_revision = bb.Attribute("paper_revision", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExportMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) ExportMetadata_validator = bv.Struct(ExportMetadata) class ExportResult(bb.Struct): """ :ivar ExportResult.export_metadata: Metadata for the exported version of the file. :ivar ExportResult.file_metadata: Metadata for the original file. """ __slots__ = [ "_export_metadata_value", "_file_metadata_value", ] _has_required_fields = True def __init__(self, export_metadata=None, file_metadata=None): self._export_metadata_value = bb.NOT_SET self._file_metadata_value = bb.NOT_SET if export_metadata is not None: self.export_metadata = export_metadata if file_metadata is not None: self.file_metadata = file_metadata # Instance attribute type: ExportMetadata (validator is set below) export_metadata = bb.Attribute("export_metadata", user_defined=True) # Instance attribute type: FileMetadata (validator is set below) file_metadata = bb.Attribute("file_metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExportResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ExportResult_validator = bv.Struct(ExportResult) class FileCategory(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar FileCategory.image: jpg, png, gif, and more. :ivar FileCategory.document: doc, docx, txt, and more. :ivar FileCategory.pdf: pdf. :ivar FileCategory.spreadsheet: xlsx, xls, csv, and more. :ivar FileCategory.presentation: ppt, pptx, key, and more. :ivar FileCategory.audio: mp3, wav, mid, and more. :ivar FileCategory.video: mov, wmv, mp4, and more. :ivar FileCategory.folder: dropbox folder. :ivar FileCategory.paper: dropbox paper doc. :ivar FileCategory.others: any file not in one of the categories above. """ _catch_all = "other" # Attribute is overwritten below the class definition image = None # Attribute is overwritten below the class definition document = None # Attribute is overwritten below the class definition pdf = None # Attribute is overwritten below the class definition spreadsheet = None # Attribute is overwritten below the class definition presentation = None # Attribute is overwritten below the class definition audio = None # Attribute is overwritten below the class definition video = None # Attribute is overwritten below the class definition folder = None # Attribute is overwritten below the class definition paper = None # Attribute is overwritten below the class definition others = None # Attribute is overwritten below the class definition other = None def is_image(self): """ Check if the union tag is ``image``. :rtype: bool """ return self._tag == "image" def is_document(self): """ Check if the union tag is ``document``. :rtype: bool """ return self._tag == "document" def is_pdf(self): """ Check if the union tag is ``pdf``. :rtype: bool """ return self._tag == "pdf" def is_spreadsheet(self): """ Check if the union tag is ``spreadsheet``. :rtype: bool """ return self._tag == "spreadsheet" def is_presentation(self): """ Check if the union tag is ``presentation``. :rtype: bool """ return self._tag == "presentation" def is_audio(self): """ Check if the union tag is ``audio``. :rtype: bool """ return self._tag == "audio" def is_video(self): """ Check if the union tag is ``video``. :rtype: bool """ return self._tag == "video" def is_folder(self): """ Check if the union tag is ``folder``. :rtype: bool """ return self._tag == "folder" def is_paper(self): """ Check if the union tag is ``paper``. :rtype: bool """ return self._tag == "paper" def is_others(self): """ Check if the union tag is ``others``. :rtype: bool """ return self._tag == "others" 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(FileCategory, self)._process_custom_annotations( annotation_type, field_path, processor ) FileCategory_validator = bv.Union(FileCategory) class FileLock(bb.Struct): """ :ivar FileLock.content: The lock description. """ __slots__ = [ "_content_value", ] _has_required_fields = True def __init__(self, content=None): self._content_value = bb.NOT_SET if content is not None: self.content = content # Instance attribute type: FileLockContent (validator is set below) content = bb.Attribute("content", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLock, self)._process_custom_annotations(annotation_type, field_path, processor) FileLock_validator = bv.Struct(FileLock) class FileLockContent(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar FileLockContent.unlocked: Empty type to indicate no lock. :ivar FileLockContent.single_user: A lock held by a single user. :vartype FileLockContent.single_user: SingleUserLock """ _catch_all = "other" # Attribute is overwritten below the class definition unlocked = None # Attribute is overwritten below the class definition other = None @classmethod def single_user(cls, val): """ Create an instance of this class set to the ``single_user`` tag with value ``val``. :param SingleUserLock val: :rtype: FileLockContent """ return cls("single_user", val) def is_unlocked(self): """ Check if the union tag is ``unlocked``. :rtype: bool """ return self._tag == "unlocked" def is_single_user(self): """ Check if the union tag is ``single_user``. :rtype: bool """ return self._tag == "single_user" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_single_user(self): """ A lock held by a single user. Only call this if :meth:`is_single_user` is true. :rtype: SingleUserLock """ if not self.is_single_user(): raise AttributeError("tag 'single_user' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLockContent, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLockContent_validator = bv.Union(FileLockContent) class FileLockMetadata(bb.Struct): """ :ivar FileLockMetadata.is_lockholder: True if caller holds the file lock. :ivar FileLockMetadata.lockholder_name: The display name of the lock holder. :ivar FileLockMetadata.lockholder_account_id: The account ID of the lock holder if known. :ivar FileLockMetadata.created: The timestamp of the lock was created. """ __slots__ = [ "_is_lockholder_value", "_lockholder_name_value", "_lockholder_account_id_value", "_created_value", ] _has_required_fields = False def __init__( self, is_lockholder=None, lockholder_name=None, lockholder_account_id=None, created=None, ): self._is_lockholder_value = bb.NOT_SET self._lockholder_name_value = bb.NOT_SET self._lockholder_account_id_value = bb.NOT_SET self._created_value = bb.NOT_SET if is_lockholder is not None: self.is_lockholder = is_lockholder if lockholder_name is not None: self.lockholder_name = lockholder_name if lockholder_account_id is not None: self.lockholder_account_id = lockholder_account_id if created is not None: self.created = created # Instance attribute type: bool (validator is set below) is_lockholder = bb.Attribute("is_lockholder", nullable=True) # Instance attribute type: str (validator is set below) lockholder_name = bb.Attribute("lockholder_name", nullable=True) # Instance attribute type: str (validator is set below) lockholder_account_id = bb.Attribute("lockholder_account_id", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) created = bb.Attribute("created", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLockMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLockMetadata_validator = bv.Struct(FileLockMetadata) class FileMetadata(Metadata): """ :ivar FileMetadata.id: A unique identifier for the file. :ivar 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 FileMetadata.server_modified: The last time the file was modified on Dropbox. :ivar 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 FileMetadata.size: The file size in bytes. :ivar 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_client.Dropbox.files_list_folder`, :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue`, or :meth:`dropbox.dropbox_client.Dropbox.files_get_thumbnail_batch`, starting December 2, 2019. :ivar FileMetadata.symlink_info: Set if this file is a symlink. :ivar FileMetadata.sharing_info: Set if this file is contained in a shared folder. :ivar FileMetadata.is_downloadable: If true, file can be downloaded directly; else the file must be exported. :ivar 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 FileMetadata.property_groups: Additional information if the file has custom properties with the property template specified. :ivar FileMetadata.has_explicit_shared_members: This flag will only be present if include_has_explicit_shared_members is true in :meth:`dropbox.dropbox_client.Dropbox.files_list_folder` or :meth:`dropbox.dropbox_client.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 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. :ivar FileMetadata.file_lock_info: If present, the metadata associated with the file's current lock. :ivar FileMetadata.is_restorable: If present, indicates whether this file revision can be restored. """ __slots__ = [ "_id_value", "_client_modified_value", "_server_modified_value", "_rev_value", "_size_value", "_media_info_value", "_symlink_info_value", "_sharing_info_value", "_is_downloadable_value", "_export_info_value", "_property_groups_value", "_has_explicit_shared_members_value", "_content_hash_value", "_file_lock_info_value", "_is_restorable_value", ] _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, preview_url=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, file_lock_info=None, is_restorable=None, ): super(FileMetadata, self).__init__( name, path_lower, path_display, parent_shared_folder_id, preview_url ) self._id_value = bb.NOT_SET self._client_modified_value = bb.NOT_SET self._server_modified_value = bb.NOT_SET self._rev_value = bb.NOT_SET self._size_value = bb.NOT_SET self._media_info_value = bb.NOT_SET self._symlink_info_value = bb.NOT_SET self._sharing_info_value = bb.NOT_SET self._is_downloadable_value = bb.NOT_SET self._export_info_value = bb.NOT_SET self._property_groups_value = bb.NOT_SET self._has_explicit_shared_members_value = bb.NOT_SET self._content_hash_value = bb.NOT_SET self._file_lock_info_value = bb.NOT_SET self._is_restorable_value = bb.NOT_SET 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 if file_lock_info is not None: self.file_lock_info = file_lock_info if is_restorable is not None: self.is_restorable = is_restorable # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: datetime.datetime (validator is set below) client_modified = bb.Attribute("client_modified") # Instance attribute type: datetime.datetime (validator is set below) server_modified = bb.Attribute("server_modified") # Instance attribute type: str (validator is set below) rev = bb.Attribute("rev") # Instance attribute type: int (validator is set below) size = bb.Attribute("size") # Instance attribute type: MediaInfo (validator is set below) media_info = bb.Attribute("media_info", nullable=True, user_defined=True) # Instance attribute type: SymlinkInfo (validator is set below) symlink_info = bb.Attribute("symlink_info", nullable=True, user_defined=True) # Instance attribute type: FileSharingInfo (validator is set below) sharing_info = bb.Attribute("sharing_info", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) is_downloadable = bb.Attribute("is_downloadable") # Instance attribute type: ExportInfo (validator is set below) export_info = bb.Attribute("export_info", nullable=True, user_defined=True) # Instance attribute type: list of [file_properties.PropertyGroup] (validator is set below) property_groups = bb.Attribute("property_groups", nullable=True) # Instance attribute type: bool (validator is set below) has_explicit_shared_members = bb.Attribute("has_explicit_shared_members", nullable=True) # Instance attribute type: str (validator is set below) content_hash = bb.Attribute("content_hash", nullable=True) # Instance attribute type: FileLockMetadata (validator is set below) file_lock_info = bb.Attribute("file_lock_info", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) is_restorable = bb.Attribute("is_restorable", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) FileMetadata_validator = bv.Struct(FileMetadata) class SharingInfo(bb.Struct): """ Sharing info for a file or folder. :ivar SharingInfo.read_only: True if the file or folder is inside a read-only shared folder. """ __slots__ = [ "_read_only_value", ] _has_required_fields = True def __init__(self, read_only=None): self._read_only_value = bb.NOT_SET if read_only is not None: self.read_only = read_only # Instance attribute type: bool (validator is set below) read_only = bb.Attribute("read_only") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingInfo, self)._process_custom_annotations(annotation_type, field_path, processor) SharingInfo_validator = bv.Struct(SharingInfo) class FileSharingInfo(SharingInfo): """ Sharing info for a file which is contained by a shared folder. :ivar FileSharingInfo.parent_shared_folder_id: ID of shared folder that holds this file. :ivar 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", "_modified_by_value", ] _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 = bb.NOT_SET self._modified_by_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) parent_shared_folder_id = bb.Attribute("parent_shared_folder_id") # Instance attribute type: str (validator is set below) modified_by = bb.Attribute("modified_by", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileSharingInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) FileSharingInfo_validator = bv.Struct(FileSharingInfo) class FileStatus(bb.Union): """ This class acts as a tagged union. Only 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 active = None # Attribute is overwritten below the class definition deleted = 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_deleted(self): """ Check if the union tag is ``deleted``. :rtype: bool """ return self._tag == "deleted" 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(FileStatus, self)._process_custom_annotations(annotation_type, field_path, processor) FileStatus_validator = bv.Union(FileStatus) class FolderMetadata(Metadata): """ :ivar FolderMetadata.id: A unique identifier for the folder. :ivar FolderMetadata.shared_folder_id: Field is deprecated. Please use ``sharing_info`` instead. :ivar FolderMetadata.sharing_info: Set if the folder is contained in a shared folder or is a shared folder mount point. :ivar 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", "_shared_folder_id_value", "_sharing_info_value", "_property_groups_value", ] _has_required_fields = True def __init__( self, name=None, id=None, path_lower=None, path_display=None, parent_shared_folder_id=None, preview_url=None, shared_folder_id=None, sharing_info=None, property_groups=None, ): super(FolderMetadata, self).__init__( name, path_lower, path_display, parent_shared_folder_id, preview_url ) self._id_value = bb.NOT_SET self._shared_folder_id_value = bb.NOT_SET self._sharing_info_value = bb.NOT_SET self._property_groups_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id", nullable=True) # Instance attribute type: FolderSharingInfo (validator is set below) sharing_info = bb.Attribute("sharing_info", nullable=True, user_defined=True) # Instance attribute type: list of [file_properties.PropertyGroup] (validator is set below) property_groups = bb.Attribute("property_groups", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 FolderSharingInfo.parent_shared_folder_id: Set if the folder is contained by a shared folder. :ivar FolderSharingInfo.shared_folder_id: If this folder is a shared folder mount point, the ID of the shared folder mounted at this location. :ivar 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 FolderSharingInfo.no_access: Specifies that the folder cannot be accessed by the user. """ __slots__ = [ "_parent_shared_folder_id_value", "_shared_folder_id_value", "_traverse_only_value", "_no_access_value", ] _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 = bb.NOT_SET self._shared_folder_id_value = bb.NOT_SET self._traverse_only_value = bb.NOT_SET self._no_access_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) parent_shared_folder_id = bb.Attribute("parent_shared_folder_id", nullable=True) # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id", nullable=True) # Instance attribute type: bool (validator is set below) traverse_only = bb.Attribute("traverse_only") # Instance attribute type: bool (validator is set below) no_access = bb.Attribute("no_access") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderSharingInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderSharingInfo_validator = bv.Struct(FolderSharingInfo) class GetCopyReferenceArg(bb.Struct): """ :ivar GetCopyReferenceArg.path: The path to the file or folder you want to get a copy reference to. """ __slots__ = [ "_path_value", ] _has_required_fields = True def __init__(self, path=None): self._path_value = bb.NOT_SET if path is not None: self.path = path # Instance attribute type: str (validator is set below) path = bb.Attribute("path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetCopyReferenceArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) GetCopyReferenceError_validator = bv.Union(GetCopyReferenceError) class GetCopyReferenceResult(bb.Struct): """ :ivar GetCopyReferenceResult.metadata: Metadata of the file or folder. :ivar GetCopyReferenceResult.copy_reference: A copy reference to the file or folder. :ivar 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", "_copy_reference_value", "_expires_value", ] _has_required_fields = True def __init__(self, metadata=None, copy_reference=None, expires=None): self._metadata_value = bb.NOT_SET self._copy_reference_value = bb.NOT_SET self._expires_value = bb.NOT_SET 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 # Instance attribute type: Metadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) # Instance attribute type: str (validator is set below) copy_reference = bb.Attribute("copy_reference") # Instance attribute type: datetime.datetime (validator is set below) expires = bb.Attribute("expires") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetCopyReferenceResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetCopyReferenceResult_validator = bv.Struct(GetCopyReferenceResult) class GetTagsArg(bb.Struct): """ :ivar GetTagsArg.paths: Path to the items. """ __slots__ = [ "_paths_value", ] _has_required_fields = True def __init__(self, paths=None): self._paths_value = bb.NOT_SET if paths is not None: self.paths = paths # Instance attribute type: list of [str] (validator is set below) paths = bb.Attribute("paths") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTagsArg, self)._process_custom_annotations(annotation_type, field_path, processor) GetTagsArg_validator = bv.Struct(GetTagsArg) class GetTagsResult(bb.Struct): """ :ivar GetTagsResult.paths_to_tags: List of paths and their corresponding tags. """ __slots__ = [ "_paths_to_tags_value", ] _has_required_fields = True def __init__(self, paths_to_tags=None): self._paths_to_tags_value = bb.NOT_SET if paths_to_tags is not None: self.paths_to_tags = paths_to_tags # Instance attribute type: list of [PathToTags] (validator is set below) paths_to_tags = bb.Attribute("paths_to_tags") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTagsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTagsResult_validator = bv.Struct(GetTagsResult) class GetTemporaryLinkArg(bb.Struct): """ :ivar GetTemporaryLinkArg.path: The path to the file you want a temporary link to. """ __slots__ = [ "_path_value", ] _has_required_fields = True def __init__(self, path=None): self._path_value = bb.NOT_SET if path is not None: self.path = path # Instance attribute type: str (validator is set below) path = bb.Attribute("path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTemporaryLinkArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GetTemporaryLinkError.email_not_verified: This user's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address `here `_. :ivar GetTemporaryLinkError.unsupported_file: Cannot get temporary link to this file type; use :meth:`dropbox.dropbox_client.Dropbox.files_export` instead. :ivar GetTemporaryLinkError.not_allowed: The user is not allowed to request a temporary link to the specified file. For example, this can occur if the file is restricted or if the user's links are `banned `_. """ _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 not_allowed = 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_not_allowed(self): """ Check if the union tag is ``not_allowed``. :rtype: bool """ return self._tag == "not_allowed" 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 ) GetTemporaryLinkError_validator = bv.Union(GetTemporaryLinkError) class GetTemporaryLinkResult(bb.Struct): """ :ivar GetTemporaryLinkResult.metadata: Metadata of the file. :ivar GetTemporaryLinkResult.link: The temporary link which can be used to stream content the file. """ __slots__ = [ "_metadata_value", "_link_value", ] _has_required_fields = True def __init__(self, metadata=None, link=None): self._metadata_value = bb.NOT_SET self._link_value = bb.NOT_SET if metadata is not None: self.metadata = metadata if link is not None: self.link = link # Instance attribute type: FileMetadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) # Instance attribute type: str (validator is set below) link = bb.Attribute("link") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTemporaryLinkResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTemporaryLinkResult_validator = bv.Struct(GetTemporaryLinkResult) class GetTemporaryUploadLinkArg(bb.Struct): """ :ivar GetTemporaryUploadLinkArg.commit_info: Contains the path and other optional modifiers for the future upload commit. Equivalent to the parameters provided to :meth:`dropbox.dropbox_client.Dropbox.files_upload`. :ivar 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", "_duration_value", ] _has_required_fields = True def __init__(self, commit_info=None, duration=None): self._commit_info_value = bb.NOT_SET self._duration_value = bb.NOT_SET if commit_info is not None: self.commit_info = commit_info if duration is not None: self.duration = duration # Instance attribute type: CommitInfo (validator is set below) commit_info = bb.Attribute("commit_info", user_defined=True) # Instance attribute type: float (validator is set below) duration = bb.Attribute("duration") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTemporaryUploadLinkArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTemporaryUploadLinkArg_validator = bv.Struct(GetTemporaryUploadLinkArg) class GetTemporaryUploadLinkResult(bb.Struct): """ :ivar GetTemporaryUploadLinkResult.link: The temporary link which can be used to stream a file to a Dropbox location. """ __slots__ = [ "_link_value", ] _has_required_fields = True def __init__(self, link=None): self._link_value = bb.NOT_SET if link is not None: self.link = link # Instance attribute type: str (validator is set below) link = bb.Attribute("link") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTemporaryUploadLinkResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTemporaryUploadLinkResult_validator = bv.Struct(GetTemporaryUploadLinkResult) class GetThumbnailBatchArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.files_get_thumbnail_batch`. :ivar GetThumbnailBatchArg.entries: List of files to get thumbnails. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [ThumbnailArg] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetThumbnailBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) GetThumbnailBatchError_validator = bv.Union(GetThumbnailBatchError) class GetThumbnailBatchResult(bb.Struct): """ :ivar GetThumbnailBatchResult.entries: List of files and their thumbnails. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [GetThumbnailBatchResultEntry] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetThumbnailBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetThumbnailBatchResult_validator = bv.Struct(GetThumbnailBatchResult) class GetThumbnailBatchResultData(bb.Struct): """ :ivar GetThumbnailBatchResultData.thumbnail: A string containing the base64-encoded thumbnail data for this file. """ __slots__ = [ "_metadata_value", "_thumbnail_value", ] _has_required_fields = True def __init__(self, metadata=None, thumbnail=None): self._metadata_value = bb.NOT_SET self._thumbnail_value = bb.NOT_SET if metadata is not None: self.metadata = metadata if thumbnail is not None: self.thumbnail = thumbnail # Instance attribute type: FileMetadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) # Instance attribute type: str (validator is set below) thumbnail = bb.Attribute("thumbnail") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetThumbnailBatchResultData, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GetThumbnailBatchResultEntry.failure: The result for this file if it was an error. :vartype GetThumbnailBatchResultEntry.failure: ThumbnailError """ _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 ) GetThumbnailBatchResultEntry_validator = bv.Union(GetThumbnailBatchResultEntry) class GpsCoordinates(bb.Struct): """ GPS coordinates for a photo or video. :ivar GpsCoordinates.latitude: Latitude of the GPS coordinates. :ivar GpsCoordinates.longitude: Longitude of the GPS coordinates. """ __slots__ = [ "_latitude_value", "_longitude_value", ] _has_required_fields = True def __init__(self, latitude=None, longitude=None): self._latitude_value = bb.NOT_SET self._longitude_value = bb.NOT_SET if latitude is not None: self.latitude = latitude if longitude is not None: self.longitude = longitude # Instance attribute type: float (validator is set below) latitude = bb.Attribute("latitude") # Instance attribute type: float (validator is set below) longitude = bb.Attribute("longitude") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GpsCoordinates, self)._process_custom_annotations( annotation_type, field_path, processor ) GpsCoordinates_validator = bv.Struct(GpsCoordinates) class HighlightSpan(bb.Struct): """ :ivar HighlightSpan.highlight_str: String to be determined whether it should be highlighted or not. :ivar HighlightSpan.is_highlighted: The string should be highlighted or not. """ __slots__ = [ "_highlight_str_value", "_is_highlighted_value", ] _has_required_fields = True def __init__(self, highlight_str=None, is_highlighted=None): self._highlight_str_value = bb.NOT_SET self._is_highlighted_value = bb.NOT_SET if highlight_str is not None: self.highlight_str = highlight_str if is_highlighted is not None: self.is_highlighted = is_highlighted # Instance attribute type: str (validator is set below) highlight_str = bb.Attribute("highlight_str") # Instance attribute type: bool (validator is set below) is_highlighted = bb.Attribute("is_highlighted") def _process_custom_annotations(self, annotation_type, field_path, processor): super(HighlightSpan, self)._process_custom_annotations( annotation_type, field_path, processor ) HighlightSpan_validator = bv.Struct(HighlightSpan) class ImportFormat(bb.Union): """ The import format of the incoming Paper doc 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 ImportFormat.html: The provided data is interpreted as standard HTML. :ivar ImportFormat.markdown: The provided data is interpreted as markdown. :ivar ImportFormat.plain_text: The provided data is interpreted as plain text. """ _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 ) ImportFormat_validator = bv.Union(ImportFormat) class ListFolderArg(bb.Struct): """ :ivar ListFolderArg.path: A unique identifier for the file. :ivar ListFolderArg.recursive: If true, the list folder operation will be applied recursively to all subfolders and the response will contain contents of all subfolders. In some cases, setting ``ListFolderArg.recursive`` to ``True`` may lead to performance issues or errors, especially when traversing folder structures with a large number of items. A workaround for such cases is to set ``ListFolderArg.recursive`` to ``False`` and traverse subfolders one at a time. :ivar ListFolderArg.include_media_info: Field is deprecated. If true, ``FileMetadata.media_info`` is set for photo and video. This parameter will no longer have an effect starting December 2, 2019. :ivar ListFolderArg.include_deleted: If true, the results will include entries for files and folders that used to exist but were deleted. :ivar 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 ListFolderArg.include_mounted_folders: If true, the results will include entries under mounted folders which includes app folder, shared folder and team folder. :ivar 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 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 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 ListFolderArg.include_non_downloadable_files: If true, include files that are not downloadable, i.e. Google Docs. :ivar ListFolderArg.include_restorable_info: If true, each returned deleted entry will include whether that entry can be restored. """ __slots__ = [ "_path_value", "_recursive_value", "_include_media_info_value", "_include_deleted_value", "_include_has_explicit_shared_members_value", "_include_mounted_folders_value", "_limit_value", "_shared_link_value", "_include_property_groups_value", "_include_non_downloadable_files_value", "_include_restorable_info_value", ] _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, include_restorable_info=None, ): self._path_value = bb.NOT_SET self._recursive_value = bb.NOT_SET self._include_media_info_value = bb.NOT_SET self._include_deleted_value = bb.NOT_SET self._include_has_explicit_shared_members_value = bb.NOT_SET self._include_mounted_folders_value = bb.NOT_SET self._limit_value = bb.NOT_SET self._shared_link_value = bb.NOT_SET self._include_property_groups_value = bb.NOT_SET self._include_non_downloadable_files_value = bb.NOT_SET self._include_restorable_info_value = bb.NOT_SET 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 if include_restorable_info is not None: self.include_restorable_info = include_restorable_info # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: bool (validator is set below) recursive = bb.Attribute("recursive") # Instance attribute type: bool (validator is set below) include_media_info = bb.Attribute("include_media_info") # Instance attribute type: bool (validator is set below) include_deleted = bb.Attribute("include_deleted") # Instance attribute type: bool (validator is set below) include_has_explicit_shared_members = bb.Attribute("include_has_explicit_shared_members") # Instance attribute type: bool (validator is set below) include_mounted_folders = bb.Attribute("include_mounted_folders") # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit", nullable=True) # Instance attribute type: SharedLink (validator is set below) shared_link = bb.Attribute("shared_link", nullable=True, user_defined=True) # Instance attribute type: file_properties.TemplateFilterBase (validator is set below) include_property_groups = bb.Attribute( "include_property_groups", nullable=True, user_defined=True ) # Instance attribute type: bool (validator is set below) include_non_downloadable_files = bb.Attribute("include_non_downloadable_files") # Instance attribute type: bool (validator is set below) include_restorable_info = bb.Attribute("include_restorable_info") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFolderArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFolderArg_validator = bv.Struct(ListFolderArg) class ListFolderContinueArg(bb.Struct): """ :ivar ListFolderContinueArg.cursor: The cursor returned by your last call to :meth:`dropbox.dropbox_client.Dropbox.files_list_folder` or :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue`. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFolderContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ListFolderContinueError.reset: Indicates that the cursor has been invalidated. Call :meth:`dropbox.dropbox_client.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 ) 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) @classmethod def template_error(cls, val): """ Create an instance of this class set to the ``template_error`` tag with value ``val``. :param file_properties.TemplateError val: :rtype: ListFolderError """ return cls("template_error", val) def is_path(self): """ Check if the union tag is ``path``. :rtype: bool """ return self._tag == "path" def is_template_error(self): """ Check if the union tag is ``template_error``. :rtype: bool """ return self._tag == "template_error" 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 get_template_error(self): """ Only call this if :meth:`is_template_error` is true. :rtype: file_properties.TemplateError """ if not self.is_template_error(): raise AttributeError("tag 'template_error' 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 ) ListFolderError_validator = bv.Union(ListFolderError) class ListFolderGetLatestCursorResult(bb.Struct): """ :ivar ListFolderGetLatestCursorResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue` to see what's changed in the folder since your previous query. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFolderGetLatestCursorResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFolderGetLatestCursorResult_validator = bv.Struct(ListFolderGetLatestCursorResult) class ListFolderLongpollArg(bb.Struct): """ :ivar ListFolderLongpollArg.cursor: A cursor as returned by :meth:`dropbox.dropbox_client.Dropbox.files_list_folder` or :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue`. Cursors retrieved by setting ``ListFolderArg.include_media_info`` to ``True`` are not supported. :ivar 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", "_timeout_value", ] _has_required_fields = True def __init__(self, cursor=None, timeout=None): self._cursor_value = bb.NOT_SET self._timeout_value = bb.NOT_SET if cursor is not None: self.cursor = cursor if timeout is not None: self.timeout = timeout # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: int (validator is set below) timeout = bb.Attribute("timeout") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFolderLongpollArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ListFolderLongpollError.reset: Indicates that the cursor has been invalidated. Call :meth:`dropbox.dropbox_client.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 ) ListFolderLongpollError_validator = bv.Union(ListFolderLongpollError) class ListFolderLongpollResult(bb.Struct): """ :ivar ListFolderLongpollResult.changes: Indicates whether new changes are available. If true, call :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue` to retrieve the changes. :ivar ListFolderLongpollResult.backoff: If present, backoff for at least this many seconds before calling :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_longpoll` again. """ __slots__ = [ "_changes_value", "_backoff_value", ] _has_required_fields = True def __init__(self, changes=None, backoff=None): self._changes_value = bb.NOT_SET self._backoff_value = bb.NOT_SET if changes is not None: self.changes = changes if backoff is not None: self.backoff = backoff # Instance attribute type: bool (validator is set below) changes = bb.Attribute("changes") # Instance attribute type: int (validator is set below) backoff = bb.Attribute("backoff", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFolderLongpollResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFolderLongpollResult_validator = bv.Struct(ListFolderLongpollResult) class ListFolderResult(bb.Struct): """ :ivar ListFolderResult.entries: The files and (direct) subfolders in the folder. :ivar ListFolderResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue` to see what's changed in the folder since your previous query. :ivar ListFolderResult.has_more: If true, then there are more entries available. Pass the cursor to :meth:`dropbox.dropbox_client.Dropbox.files_list_folder_continue` to retrieve the rest. """ __slots__ = [ "_entries_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, entries=None, cursor=None, has_more=None): self._entries_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [Metadata] (validator is set below) entries = bb.Attribute("entries") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFolderResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFolderResult_validator = bv.Struct(ListFolderResult) class ListRevisionsArg(bb.Struct): """ :ivar ListRevisionsArg.path: The path to the file you want to see the revisions of. :ivar ListRevisionsArg.mode: Determines the behavior of the API in listing the revisions for a given file path or id. :ivar ListRevisionsArg.limit: The maximum number of revision entries returned. :ivar ListRevisionsArg.before_rev: If set, ListRevisions will only return revisions prior to before_rev. Can be set using the last revision from a previous call to list_revisions to fetch the next page of revisions. Only supported in path mode. :ivar ListRevisionsArg.include_restorable_info: If true, each returned revision will include whether that revision can be restored. """ __slots__ = [ "_path_value", "_mode_value", "_limit_value", "_before_rev_value", "_include_restorable_info_value", ] _has_required_fields = True def __init__( self, path=None, mode=None, limit=None, before_rev=None, include_restorable_info=None, ): self._path_value = bb.NOT_SET self._mode_value = bb.NOT_SET self._limit_value = bb.NOT_SET self._before_rev_value = bb.NOT_SET self._include_restorable_info_value = bb.NOT_SET if path is not None: self.path = path if mode is not None: self.mode = mode if limit is not None: self.limit = limit if before_rev is not None: self.before_rev = before_rev if include_restorable_info is not None: self.include_restorable_info = include_restorable_info # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: ListRevisionsMode (validator is set below) mode = bb.Attribute("mode", user_defined=True) # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") # Instance attribute type: str (validator is set below) before_rev = bb.Attribute("before_rev", nullable=True) # Instance attribute type: bool (validator is set below) include_restorable_info = bb.Attribute("include_restorable_info") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListRevisionsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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. :ivar ListRevisionsError.invalid_before_rev: The revision in before_rev is invalid. :ivar ListRevisionsError.before_rev_not_supported: The before_rev argument is only supported in path mode. """ _catch_all = "other" # Attribute is overwritten below the class definition invalid_before_rev = None # Attribute is overwritten below the class definition before_rev_not_supported = 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: ListRevisionsError """ return cls("path", val) def is_path(self): """ Check if the union tag is ``path``. :rtype: bool """ return self._tag == "path" def is_invalid_before_rev(self): """ Check if the union tag is ``invalid_before_rev``. :rtype: bool """ return self._tag == "invalid_before_rev" def is_before_rev_not_supported(self): """ Check if the union tag is ``before_rev_not_supported``. :rtype: bool """ return self._tag == "before_rev_not_supported" 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 ) 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 ListRevisionsMode.path: Returns revisions with the same file path as identified by the latest file entry at the given file path or id. :ivar 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 ) ListRevisionsMode_validator = bv.Union(ListRevisionsMode) class ListRevisionsResult(bb.Struct): """ :ivar ListRevisionsResult.is_deleted: If the file identified by the latest revision in the response is either deleted or moved. If before_rev is set, this refers to the latest revision of the file older than before_rev. :ivar ListRevisionsResult.server_deleted: The time of deletion if the file was deleted. :ivar ListRevisionsResult.entries: The revisions for the file. Only revisions that are not deleted will show up here. :ivar ListRevisionsResult.has_more: If true, then there are more entries available. Call list_revisions again with before_rev equal to the revision of the last returned entry to retrieve the rest. """ __slots__ = [ "_is_deleted_value", "_server_deleted_value", "_entries_value", "_has_more_value", ] _has_required_fields = True def __init__(self, is_deleted=None, entries=None, has_more=None, server_deleted=None): self._is_deleted_value = bb.NOT_SET self._server_deleted_value = bb.NOT_SET self._entries_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 if has_more is not None: self.has_more = has_more # Instance attribute type: bool (validator is set below) is_deleted = bb.Attribute("is_deleted") # Instance attribute type: datetime.datetime (validator is set below) server_deleted = bb.Attribute("server_deleted", nullable=True) # Instance attribute type: list of [FileMetadata] (validator is set below) entries = bb.Attribute("entries") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListRevisionsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListRevisionsResult_validator = bv.Struct(ListRevisionsResult) class LockConflictError(bb.Struct): """ :ivar LockConflictError.lock: The lock that caused the conflict. """ __slots__ = [ "_lock_value", ] _has_required_fields = True def __init__(self, lock=None): self._lock_value = bb.NOT_SET if lock is not None: self.lock = lock # Instance attribute type: FileLock (validator is set below) lock = bb.Attribute("lock", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LockConflictError, self)._process_custom_annotations( annotation_type, field_path, processor ) LockConflictError_validator = bv.Struct(LockConflictError) class LockFileArg(bb.Struct): """ :ivar LockFileArg.path: Path in the user's Dropbox to a file. """ __slots__ = [ "_path_value", ] _has_required_fields = True def __init__(self, path=None): self._path_value = bb.NOT_SET if path is not None: self.path = path # Instance attribute type: str (validator is set below) path = bb.Attribute("path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LockFileArg, self)._process_custom_annotations(annotation_type, field_path, processor) LockFileArg_validator = bv.Struct(LockFileArg) class LockFileBatchArg(bb.Struct): """ :ivar LockFileBatchArg.entries: List of 'entries'. Each 'entry' contains a path of the file which will be locked or queried. Duplicate path arguments in the batch are considered only once. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [LockFileArg] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LockFileBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) LockFileBatchArg_validator = bv.Struct(LockFileBatchArg) class LockFileBatchResult(FileOpsResult): """ :ivar LockFileBatchResult.entries: Each Entry in the 'entries' will have '.tag' with the operation status (e.g. success), the metadata for the file and the lock state after the operation. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): super(LockFileBatchResult, self).__init__() self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [LockFileResultEntry] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LockFileBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) LockFileBatchResult_validator = bv.Struct(LockFileBatchResult) class LockFileError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LockFileError.path_lookup: Could not find the specified resource. :vartype LockFileError.path_lookup: LookupError :ivar LockFileError.too_many_write_operations: There are too many write operations in user's Dropbox. Please retry this request. :ivar LockFileError.too_many_files: There are too many files in one request. Please retry with fewer files. :ivar LockFileError.no_write_permission: The user does not have permissions to change the lock state or access the file. :ivar LockFileError.cannot_be_locked: Item is a type that cannot be locked. :ivar LockFileError.file_not_shared: Requested file is not currently shared. :ivar LockFileError.lock_conflict: The user action conflicts with an existing lock on the file. :vartype LockFileError.lock_conflict: LockConflictError :ivar LockFileError.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 too_many_write_operations = None # Attribute is overwritten below the class definition too_many_files = None # Attribute is overwritten below the class definition no_write_permission = None # Attribute is overwritten below the class definition cannot_be_locked = None # Attribute is overwritten below the class definition file_not_shared = None # Attribute is overwritten below the class definition internal_error = 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: LockFileError """ return cls("path_lookup", val) @classmethod def lock_conflict(cls, val): """ Create an instance of this class set to the ``lock_conflict`` tag with value ``val``. :param LockConflictError val: :rtype: LockFileError """ return cls("lock_conflict", val) def is_path_lookup(self): """ Check if the union tag is ``path_lookup``. :rtype: bool """ return self._tag == "path_lookup" 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_no_write_permission(self): """ Check if the union tag is ``no_write_permission``. :rtype: bool """ return self._tag == "no_write_permission" def is_cannot_be_locked(self): """ Check if the union tag is ``cannot_be_locked``. :rtype: bool """ return self._tag == "cannot_be_locked" def is_file_not_shared(self): """ Check if the union tag is ``file_not_shared``. :rtype: bool """ return self._tag == "file_not_shared" def is_lock_conflict(self): """ Check if the union tag is ``lock_conflict``. :rtype: bool """ return self._tag == "lock_conflict" 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 get_path_lookup(self): """ Could not find the specified resource. 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_lock_conflict(self): """ The user action conflicts with an existing lock on the file. Only call this if :meth:`is_lock_conflict` is true. :rtype: LockConflictError """ if not self.is_lock_conflict(): raise AttributeError("tag 'lock_conflict' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(LockFileError, self)._process_custom_annotations( annotation_type, field_path, processor ) LockFileError_validator = bv.Union(LockFileError) class LockFileResult(bb.Struct): """ :ivar LockFileResult.metadata: Metadata of the file. :ivar LockFileResult.lock: Field is deprecated. The file lock state after the operation. """ __slots__ = [ "_metadata_value", "_lock_value", ] _has_required_fields = True def __init__(self, metadata=None, lock=None): self._metadata_value = bb.NOT_SET self._lock_value = bb.NOT_SET if metadata is not None: self.metadata = metadata if lock is not None: self.lock = lock # Instance attribute type: Metadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) # Instance attribute type: FileLock (validator is set below) lock = bb.Attribute("lock", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LockFileResult, self)._process_custom_annotations( annotation_type, field_path, processor ) LockFileResult_validator = bv.Struct(LockFileResult) class LockFileResultEntry(bb.Union): """ This class acts as a tagged union. Only 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 LockFileResult val: :rtype: LockFileResultEntry """ return cls("success", val) @classmethod def failure(cls, val): """ Create an instance of this class set to the ``failure`` tag with value ``val``. :param LockFileError val: :rtype: LockFileResultEntry """ 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: LockFileResult """ 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: LockFileError """ 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(LockFileResultEntry, self)._process_custom_annotations( annotation_type, field_path, processor ) LockFileResultEntry_validator = bv.Union(LockFileResultEntry) 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 LookupError.malformed_path: The given path does not satisfy the required path format. Please refer to the `Path formats documentation `_ for more information. :vartype LookupError.malformed_path: Optional[str] :ivar LookupError.not_found: There is nothing at the given path. :ivar LookupError.not_file: We were expecting a file, but the given path refers to something that isn't a file. :ivar LookupError.not_folder: We were expecting a folder, but the given path refers to something that isn't a folder. :ivar LookupError.restricted_content: The file cannot be transferred because the content is restricted. For example, we might restrict a file due to legal requirements. :ivar LookupError.unsupported_content_type: This operation is not supported for this content type. :ivar LookupError.locked: The given path is locked. """ _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 locked = 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_locked(self): """ Check if the union tag is ``locked``. :rtype: bool """ return self._tag == "locked" 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) 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 MediaInfo.pending: Indicate the photo/video is still under processing and metadata is not available yet. :ivar MediaInfo.metadata: The metadata for the photo/video. Uses MediaMetadataAbstract to preserve photo/video subtypes (e.g. VideoMetadata.duration). :vartype MediaInfo.metadata: MediaMetadata """ _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. Uses MediaMetadataAbstract to preserve photo/video subtypes (e.g. VideoMetadata.duration). 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) MediaInfo_validator = bv.Union(MediaInfo) class MediaMetadata(bb.Struct): """ Metadata for a photo or video. :ivar MediaMetadata.dimensions: Dimension of the photo/video. :ivar MediaMetadata.location: The GPS coordinate of the photo/video. :ivar MediaMetadata.time_taken: The timestamp when the photo/video is taken. """ __slots__ = [ "_dimensions_value", "_location_value", "_time_taken_value", ] _has_required_fields = False def __init__(self, dimensions=None, location=None, time_taken=None): self._dimensions_value = bb.NOT_SET self._location_value = bb.NOT_SET self._time_taken_value = bb.NOT_SET 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 # Instance attribute type: Dimensions (validator is set below) dimensions = bb.Attribute("dimensions", nullable=True, user_defined=True) # Instance attribute type: GpsCoordinates (validator is set below) location = bb.Attribute("location", nullable=True, user_defined=True) # Instance attribute type: datetime.datetime (validator is set below) time_taken = bb.Attribute("time_taken", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaMetadata_validator = bv.StructTree(MediaMetadata) class MetadataV2(bb.Union): """ Metadata for a file, folder or other resource types. This class acts as a tagged union. Only 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 metadata(cls, val): """ Create an instance of this class set to the ``metadata`` tag with value ``val``. :param Metadata val: :rtype: MetadataV2 """ 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): """ Only call this if :meth:`is_metadata` is true. :rtype: Metadata """ 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(MetadataV2, self)._process_custom_annotations(annotation_type, field_path, processor) MetadataV2_validator = bv.Union(MetadataV2) class MinimalFileLinkMetadata(bb.Struct): """ :ivar MinimalFileLinkMetadata.url: URL of the shared link. :ivar MinimalFileLinkMetadata.id: Unique identifier for the linked file. :ivar MinimalFileLinkMetadata.path: 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 MinimalFileLinkMetadata.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. """ __slots__ = [ "_url_value", "_id_value", "_path_value", "_rev_value", ] _has_required_fields = True def __init__(self, url=None, rev=None, id=None, path=None): self._url_value = bb.NOT_SET self._id_value = bb.NOT_SET self._path_value = bb.NOT_SET self._rev_value = bb.NOT_SET if url is not None: self.url = url if id is not None: self.id = id if path is not None: self.path = path if rev is not None: self.rev = rev # Instance attribute type: str (validator is set below) url = bb.Attribute("url") # Instance attribute type: str (validator is set below) id = bb.Attribute("id", nullable=True) # Instance attribute type: str (validator is set below) path = bb.Attribute("path", nullable=True) # Instance attribute type: str (validator is set below) rev = bb.Attribute("rev") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MinimalFileLinkMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) MinimalFileLinkMetadata_validator = bv.Struct(MinimalFileLinkMetadata) class RelocationBatchArgBase(bb.Struct): """ :ivar RelocationBatchArgBase.entries: List of entries to be moved or copied. Each entry is :class:`RelocationPath`. :ivar 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", "_autorename_value", ] _has_required_fields = True def __init__(self, entries=None, autorename=None): self._entries_value = bb.NOT_SET self._autorename_value = bb.NOT_SET if entries is not None: self.entries = entries if autorename is not None: self.autorename = autorename # Instance attribute type: list of [RelocationPath] (validator is set below) entries = bb.Attribute("entries") # Instance attribute type: bool (validator is set below) autorename = bb.Attribute("autorename") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelocationBatchArgBase, self)._process_custom_annotations( annotation_type, field_path, processor ) RelocationBatchArgBase_validator = bv.Struct(RelocationBatchArgBase) class MoveBatchArg(RelocationBatchArgBase): """ :ivar 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", ] _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 = bb.NOT_SET if allow_ownership_transfer is not None: self.allow_ownership_transfer = allow_ownership_transfer # Instance attribute type: bool (validator is set below) allow_ownership_transfer = bb.Attribute("allow_ownership_transfer") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MoveBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) MoveBatchArg_validator = bv.Struct(MoveBatchArg) class MoveIntoFamilyError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar MoveIntoFamilyError.is_shared_folder: Moving shared folder into Family Room folder is not allowed. """ _catch_all = "other" # Attribute is overwritten below the class definition is_shared_folder = None # Attribute is overwritten below the class definition other = None def is_is_shared_folder(self): """ Check if the union tag is ``is_shared_folder``. :rtype: bool """ return self._tag == "is_shared_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(MoveIntoFamilyError, self)._process_custom_annotations( annotation_type, field_path, processor ) MoveIntoFamilyError_validator = bv.Union(MoveIntoFamilyError) class MoveIntoVaultError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar MoveIntoVaultError.is_shared_folder: Moving shared folder into Vault is not allowed. """ _catch_all = "other" # Attribute is overwritten below the class definition is_shared_folder = None # Attribute is overwritten below the class definition other = None def is_is_shared_folder(self): """ Check if the union tag is ``is_shared_folder``. :rtype: bool """ return self._tag == "is_shared_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(MoveIntoVaultError, self)._process_custom_annotations( annotation_type, field_path, processor ) MoveIntoVaultError_validator = bv.Union(MoveIntoVaultError) class PaperContentError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar PaperContentError.insufficient_permissions: Your account does not have permissions to edit Paper docs. :ivar PaperContentError.content_malformed: The provided content was malformed and cannot be imported to Paper. :ivar PaperContentError.doc_length_exceeded: The Paper doc would be too large, split the content into multiple docs. :ivar PaperContentError.image_size_exceeded: The imported document contains an image that is too large. The current limit is 1MB. This only applies to HTML with data URI. """ _catch_all = "other" # Attribute is overwritten below the class definition insufficient_permissions = None # Attribute is overwritten below the class definition content_malformed = 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 other = None def is_insufficient_permissions(self): """ Check if the union tag is ``insufficient_permissions``. :rtype: bool """ return self._tag == "insufficient_permissions" def is_content_malformed(self): """ Check if the union tag is ``content_malformed``. :rtype: bool """ return self._tag == "content_malformed" 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_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(PaperContentError, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentError_validator = bv.Union(PaperContentError) class PaperCreateArg(bb.Struct): """ :ivar PaperCreateArg.path: The fully qualified path to the location in the user's Dropbox where the Paper Doc should be created. This should include the document's title and end with .paper. :ivar PaperCreateArg.import_format: The format of the provided data. """ __slots__ = [ "_path_value", "_import_format_value", ] _has_required_fields = True def __init__(self, path=None, import_format=None): self._path_value = bb.NOT_SET self._import_format_value = bb.NOT_SET if path is not None: self.path = path if import_format is not None: self.import_format = import_format # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: ImportFormat (validator is set below) import_format = bb.Attribute("import_format", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperCreateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperCreateArg_validator = bv.Struct(PaperCreateArg) class PaperCreateError(PaperContentError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar PaperCreateError.invalid_path: The file could not be saved to the specified location. :ivar PaperCreateError.email_unverified: The user's email must be verified to create Paper docs. :ivar PaperCreateError.invalid_file_extension: The file path must end in .paper. :ivar PaperCreateError.paper_disabled: Paper is disabled for your team. """ # Attribute is overwritten below the class definition invalid_path = None # Attribute is overwritten below the class definition email_unverified = None # Attribute is overwritten below the class definition invalid_file_extension = None # Attribute is overwritten below the class definition paper_disabled = None def is_invalid_path(self): """ Check if the union tag is ``invalid_path``. :rtype: bool """ return self._tag == "invalid_path" def is_email_unverified(self): """ Check if the union tag is ``email_unverified``. :rtype: bool """ return self._tag == "email_unverified" def is_invalid_file_extension(self): """ Check if the union tag is ``invalid_file_extension``. :rtype: bool """ return self._tag == "invalid_file_extension" def is_paper_disabled(self): """ Check if the union tag is ``paper_disabled``. :rtype: bool """ return self._tag == "paper_disabled" def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperCreateError, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperCreateError_validator = bv.Union(PaperCreateError) class PaperCreateResult(bb.Struct): """ :ivar PaperCreateResult.url: URL to open the Paper Doc. :ivar PaperCreateResult.result_path: The fully qualified path the Paper Doc was actually created at. :ivar PaperCreateResult.file_id: The id to use in Dropbox APIs when referencing the Paper Doc. :ivar PaperCreateResult.paper_revision: The current doc revision. """ __slots__ = [ "_url_value", "_result_path_value", "_file_id_value", "_paper_revision_value", ] _has_required_fields = True def __init__(self, url=None, result_path=None, file_id=None, paper_revision=None): self._url_value = bb.NOT_SET self._result_path_value = bb.NOT_SET self._file_id_value = bb.NOT_SET self._paper_revision_value = bb.NOT_SET if url is not None: self.url = url if result_path is not None: self.result_path = result_path if file_id is not None: self.file_id = file_id if paper_revision is not None: self.paper_revision = paper_revision # Instance attribute type: str (validator is set below) url = bb.Attribute("url") # Instance attribute type: str (validator is set below) result_path = bb.Attribute("result_path") # Instance attribute type: str (validator is set below) file_id = bb.Attribute("file_id") # Instance attribute type: int (validator is set below) paper_revision = bb.Attribute("paper_revision") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperCreateResult, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperCreateResult_validator = bv.Struct(PaperCreateResult) 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 PaperDocUpdatePolicy.update: Sets the doc content to the provided content if the provided paper_revision matches the latest doc revision. Otherwise, returns an error. :ivar PaperDocUpdatePolicy.overwrite: Sets the doc content to the provided content without checking paper_revision. :ivar PaperDocUpdatePolicy.prepend: Adds the provided content to the beginning of the doc without checking paper_revision. :ivar PaperDocUpdatePolicy.append: Adds the provided content to the end of the doc without checking paper_revision. """ _catch_all = "other" # Attribute is overwritten below the class definition update = None # Attribute is overwritten below the class definition overwrite = None # Attribute is overwritten below the class definition prepend = None # Attribute is overwritten below the class definition append = None # Attribute is overwritten below the class definition other = None def is_update(self): """ Check if the union tag is ``update``. :rtype: bool """ return self._tag == "update" def is_overwrite(self): """ Check if the union tag is ``overwrite``. :rtype: bool """ return self._tag == "overwrite" def is_prepend(self): """ Check if the union tag is ``prepend``. :rtype: bool """ return self._tag == "prepend" def is_append(self): """ Check if the union tag is ``append``. :rtype: bool """ return self._tag == "append" 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 ) PaperDocUpdatePolicy_validator = bv.Union(PaperDocUpdatePolicy) class PaperUpdateArg(bb.Struct): """ :ivar PaperUpdateArg.path: Path in the user's Dropbox to update. The path must correspond to a Paper doc or an error will be returned. :ivar PaperUpdateArg.import_format: The format of the provided data. :ivar PaperUpdateArg.doc_update_policy: How the provided content should be applied to the doc. :ivar PaperUpdateArg.paper_revision: The latest doc revision. Required when doc_update_policy is update. This value must match the current revision of the doc or error revision_mismatch will be returned. """ __slots__ = [ "_path_value", "_import_format_value", "_doc_update_policy_value", "_paper_revision_value", ] _has_required_fields = True def __init__(self, path=None, import_format=None, doc_update_policy=None, paper_revision=None): self._path_value = bb.NOT_SET self._import_format_value = bb.NOT_SET self._doc_update_policy_value = bb.NOT_SET self._paper_revision_value = bb.NOT_SET if path is not None: self.path = path if import_format is not None: self.import_format = import_format if doc_update_policy is not None: self.doc_update_policy = doc_update_policy if paper_revision is not None: self.paper_revision = paper_revision # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: ImportFormat (validator is set below) import_format = bb.Attribute("import_format", user_defined=True) # Instance attribute type: PaperDocUpdatePolicy (validator is set below) doc_update_policy = bb.Attribute("doc_update_policy", user_defined=True) # Instance attribute type: int (validator is set below) paper_revision = bb.Attribute("paper_revision", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperUpdateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperUpdateArg_validator = bv.Struct(PaperUpdateArg) class PaperUpdateError(PaperContentError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar PaperUpdateError.revision_mismatch: The provided revision does not match the document head. :ivar PaperUpdateError.doc_archived: This operation is not allowed on archived Paper docs. :ivar PaperUpdateError.doc_deleted: This operation is not allowed on deleted Paper docs. """ # Attribute is overwritten below the class definition revision_mismatch = None # Attribute is overwritten below the class definition doc_archived = None # Attribute is overwritten below the class definition doc_deleted = None @classmethod def path(cls, val): """ Create an instance of this class set to the ``path`` tag with value ``val``. :param LookupError val: :rtype: PaperUpdateError """ return cls("path", val) def is_path(self): """ Check if the union tag is ``path``. :rtype: bool """ return self._tag == "path" def is_revision_mismatch(self): """ Check if the union tag is ``revision_mismatch``. :rtype: bool """ return self._tag == "revision_mismatch" 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 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(PaperUpdateError, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperUpdateError_validator = bv.Union(PaperUpdateError) class PaperUpdateResult(bb.Struct): """ :ivar PaperUpdateResult.paper_revision: The current doc revision. """ __slots__ = [ "_paper_revision_value", ] _has_required_fields = True def __init__(self, paper_revision=None): self._paper_revision_value = bb.NOT_SET if paper_revision is not None: self.paper_revision = paper_revision # Instance attribute type: int (validator is set below) paper_revision = bb.Attribute("paper_revision") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperUpdateResult, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperUpdateResult_validator = bv.Struct(PaperUpdateResult) class PathOrLink(bb.Union): """ This class acts as a tagged union. Only 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 str val: :rtype: PathOrLink """ return cls("path", val) @classmethod def link(cls, val): """ Create an instance of this class set to the ``link`` tag with value ``val``. :param SharedLinkFileInfo val: :rtype: PathOrLink """ return cls("link", val) def is_path(self): """ Check if the union tag is ``path``. :rtype: bool """ return self._tag == "path" def is_link(self): """ Check if the union tag is ``link``. :rtype: bool """ return self._tag == "link" 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: str """ if not self.is_path(): raise AttributeError("tag 'path' not set") return self._value def get_link(self): """ Only call this if :meth:`is_link` is true. :rtype: SharedLinkFileInfo """ if not self.is_link(): raise AttributeError("tag 'link' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(PathOrLink, self)._process_custom_annotations(annotation_type, field_path, processor) PathOrLink_validator = bv.Union(PathOrLink) class PathToTags(bb.Struct): """ :ivar PathToTags.path: Path of the item. :ivar PathToTags.tags: Tags assigned to this item. """ __slots__ = [ "_path_value", "_tags_value", ] _has_required_fields = True def __init__(self, path=None, tags=None): self._path_value = bb.NOT_SET self._tags_value = bb.NOT_SET if path is not None: self.path = path if tags is not None: self.tags = tags # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: list of [Tag] (validator is set below) tags = bb.Attribute("tags") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PathToTags, self)._process_custom_annotations(annotation_type, field_path, processor) PathToTags_validator = bv.Struct(PathToTags) 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 ) PhotoMetadata_validator = bv.Struct(PhotoMetadata) class PreviewArg(bb.Struct): """ :ivar PreviewArg.path: The path of the file to preview. :ivar PreviewArg.rev: Field is deprecated. Please specify revision in ``path`` instead. """ __slots__ = [ "_path_value", "_rev_value", ] _has_required_fields = True def __init__(self, path=None, rev=None): self._path_value = bb.NOT_SET self._rev_value = bb.NOT_SET if path is not None: self.path = path if rev is not None: self.rev = rev # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: str (validator is set below) rev = bb.Attribute("rev", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PreviewArg, self)._process_custom_annotations(annotation_type, field_path, processor) 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 PreviewError.path: An error occurs when downloading metadata for the file. :vartype PreviewError.path: LookupError :ivar PreviewError.in_progress: This preview generation is still in progress and the file is not ready for preview yet. :ivar PreviewError.unsupported_extension: The file extension is not supported preview generation. :ivar 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 ) PreviewError_validator = bv.Union(PreviewError) class PreviewResult(bb.Struct): """ :ivar PreviewResult.file_metadata: Metadata corresponding to the file received as an argument. Will be populated if the endpoint is called with a path (ReadPath). :ivar PreviewResult.link_metadata: Minimal metadata corresponding to the file received as an argument. Will be populated if the endpoint is called using a shared link (SharedLinkFileInfo). """ __slots__ = [ "_file_metadata_value", "_link_metadata_value", ] _has_required_fields = False def __init__(self, file_metadata=None, link_metadata=None): self._file_metadata_value = bb.NOT_SET self._link_metadata_value = bb.NOT_SET if file_metadata is not None: self.file_metadata = file_metadata if link_metadata is not None: self.link_metadata = link_metadata # Instance attribute type: FileMetadata (validator is set below) file_metadata = bb.Attribute("file_metadata", nullable=True, user_defined=True) # Instance attribute type: MinimalFileLinkMetadata (validator is set below) link_metadata = bb.Attribute("link_metadata", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PreviewResult, self)._process_custom_annotations( annotation_type, field_path, processor ) PreviewResult_validator = bv.Struct(PreviewResult) class RelocationPath(bb.Struct): """ :ivar RelocationPath.from_path: Path in the user's Dropbox to be copied or moved. :ivar RelocationPath.to_path: Path in the user's Dropbox that is the destination. """ __slots__ = [ "_from_path_value", "_to_path_value", ] _has_required_fields = True def __init__(self, from_path=None, to_path=None): self._from_path_value = bb.NOT_SET self._to_path_value = bb.NOT_SET if from_path is not None: self.from_path = from_path if to_path is not None: self.to_path = to_path # Instance attribute type: str (validator is set below) from_path = bb.Attribute("from_path") # Instance attribute type: str (validator is set below) to_path = bb.Attribute("to_path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelocationPath, self)._process_custom_annotations( annotation_type, field_path, processor ) RelocationPath_validator = bv.Struct(RelocationPath) class RelocationArg(RelocationPath): """ :ivar RelocationArg.allow_shared_folder: Field is deprecated. This flag has no effect. :ivar RelocationArg.autorename: If there's a conflict, have the Dropbox server try to autorename the file to avoid the conflict. :ivar 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", "_autorename_value", "_allow_ownership_transfer_value", ] _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 = bb.NOT_SET self._autorename_value = bb.NOT_SET self._allow_ownership_transfer_value = bb.NOT_SET 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 # Instance attribute type: bool (validator is set below) allow_shared_folder = bb.Attribute("allow_shared_folder") # Instance attribute type: bool (validator is set below) autorename = bb.Attribute("autorename") # Instance attribute type: bool (validator is set below) allow_ownership_transfer = bb.Attribute("allow_ownership_transfer") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelocationArg, self)._process_custom_annotations( annotation_type, field_path, processor ) RelocationArg_validator = bv.Struct(RelocationArg) class RelocationBatchArg(RelocationBatchArgBase): """ :ivar RelocationBatchArg.allow_shared_folder: Field is deprecated. This flag has no effect. :ivar 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_ownership_transfer_value", ] _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 = bb.NOT_SET self._allow_ownership_transfer_value = bb.NOT_SET 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 # Instance attribute type: bool (validator is set below) allow_shared_folder = bb.Attribute("allow_shared_folder") # Instance attribute type: bool (validator is set below) allow_ownership_transfer = bb.Attribute("allow_ownership_transfer") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelocationBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 RelocationError.cant_copy_shared_folder: Shared folders can't be copied. :ivar RelocationError.cant_nest_shared_folder: Your move operation would result in nested shared folders. This is not allowed. :ivar RelocationError.cant_move_folder_into_itself: You cannot move a folder into itself. :ivar RelocationError.too_many_files: The operation would involve more than 10,000 files and folders. :ivar RelocationError.duplicated_or_nested_paths: There are duplicated/nested paths among ``RelocationArg.from_path`` and ``RelocationArg.to_path``. :ivar 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 RelocationError.insufficient_quota: The current user does not have enough space to move or copy the files. :ivar 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 RelocationError.cant_move_shared_folder: Can't move the shared folder to the given destination. :ivar RelocationError.cant_move_into_vault: Some content cannot be moved into Vault under certain circumstances, see detailed error. :vartype RelocationError.cant_move_into_vault: MoveIntoVaultError :ivar RelocationError.cant_move_into_family: Some content cannot be moved into the Family Room folder under certain circumstances, see detailed error. :vartype RelocationError.cant_move_into_family: MoveIntoFamilyError """ _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) @classmethod def cant_move_into_vault(cls, val): """ Create an instance of this class set to the ``cant_move_into_vault`` tag with value ``val``. :param MoveIntoVaultError val: :rtype: RelocationError """ return cls("cant_move_into_vault", val) @classmethod def cant_move_into_family(cls, val): """ Create an instance of this class set to the ``cant_move_into_family`` tag with value ``val``. :param MoveIntoFamilyError val: :rtype: RelocationError """ return cls("cant_move_into_family", 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_cant_move_into_vault(self): """ Check if the union tag is ``cant_move_into_vault``. :rtype: bool """ return self._tag == "cant_move_into_vault" def is_cant_move_into_family(self): """ Check if the union tag is ``cant_move_into_family``. :rtype: bool """ return self._tag == "cant_move_into_family" 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 get_cant_move_into_vault(self): """ Some content cannot be moved into Vault under certain circumstances, see detailed error. Only call this if :meth:`is_cant_move_into_vault` is true. :rtype: MoveIntoVaultError """ if not self.is_cant_move_into_vault(): raise AttributeError("tag 'cant_move_into_vault' not set") return self._value def get_cant_move_into_family(self): """ Some content cannot be moved into the Family Room folder under certain circumstances, see detailed error. Only call this if :meth:`is_cant_move_into_family` is true. :rtype: MoveIntoFamilyError """ if not self.is_cant_move_into_family(): raise AttributeError("tag 'cant_move_into_family' 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 ) 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 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 ) 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 RelocationBatchErrorEntry.relocation_error: User errors that retry won't help. :vartype RelocationBatchErrorEntry.relocation_error: RelocationError :ivar 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 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 ) 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 RelocationBatchJobStatus.complete: The copy or move batch job has finished. :vartype RelocationBatchJobStatus.complete: RelocationBatchResult :ivar RelocationBatchJobStatus.failed: The copy or move batch job has failed with exception. :vartype RelocationBatchJobStatus.failed: RelocationBatchError """ @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 ) RelocationBatchJobStatus_validator = bv.Union(RelocationBatchJobStatus) class RelocationBatchLaunch(async_.LaunchResultBase): """ Result returned by :meth:`dropbox.dropbox_client.Dropbox.files_copy_batch` or :meth:`dropbox.dropbox_client.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 ) RelocationBatchLaunch_validator = bv.Union(RelocationBatchLaunch) class RelocationBatchResult(FileOpsResult): __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): super(RelocationBatchResult, self).__init__() self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [RelocationBatchResultData] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelocationBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) RelocationBatchResult_validator = bv.Struct(RelocationBatchResult) class RelocationBatchResultData(bb.Struct): """ :ivar RelocationBatchResultData.metadata: Metadata of the relocated object. """ __slots__ = [ "_metadata_value", ] _has_required_fields = True def __init__(self, metadata=None): self._metadata_value = bb.NOT_SET if metadata is not None: self.metadata = metadata # Instance attribute type: Metadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelocationBatchResultData, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) RelocationBatchResultEntry_validator = bv.Union(RelocationBatchResultEntry) class RelocationBatchV2JobStatus(async_.PollResultBase): """ Result returned by :meth:`dropbox.dropbox_client.Dropbox.files_copy_batch_check` or :meth:`dropbox.dropbox_client.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 RelocationBatchV2JobStatus.complete: The copy or move batch job has finished. :vartype RelocationBatchV2JobStatus.complete: RelocationBatchV2Result """ @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 ) RelocationBatchV2JobStatus_validator = bv.Union(RelocationBatchV2JobStatus) class RelocationBatchV2Launch(async_.LaunchResultBase): """ Result returned by :meth:`dropbox.dropbox_client.Dropbox.files_copy_batch` or :meth:`dropbox.dropbox_client.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 ) RelocationBatchV2Launch_validator = bv.Union(RelocationBatchV2Launch) class RelocationBatchV2Result(FileOpsResult): """ :ivar RelocationBatchV2Result.entries: Each entry in CopyBatchArg.entries or ``MoveBatchArg.entries`` will appear at the same position inside ``RelocationBatchV2Result.entries``. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): super(RelocationBatchV2Result, self).__init__() self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [RelocationBatchResultEntry] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelocationBatchV2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) RelocationBatchV2Result_validator = bv.Struct(RelocationBatchV2Result) class RelocationResult(FileOpsResult): """ :ivar RelocationResult.metadata: Metadata of the relocated object. """ __slots__ = [ "_metadata_value", ] _has_required_fields = True def __init__(self, metadata=None): super(RelocationResult, self).__init__() self._metadata_value = bb.NOT_SET if metadata is not None: self.metadata = metadata # Instance attribute type: Metadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelocationResult, self)._process_custom_annotations( annotation_type, field_path, processor ) RelocationResult_validator = bv.Struct(RelocationResult) class RemoveTagArg(bb.Struct): """ :ivar RemoveTagArg.path: Path to the item to tag. :ivar RemoveTagArg.tag_text: The tag to remove. Will be automatically converted to lowercase letters. """ __slots__ = [ "_path_value", "_tag_text_value", ] _has_required_fields = True def __init__(self, path=None, tag_text=None): self._path_value = bb.NOT_SET self._tag_text_value = bb.NOT_SET if path is not None: self.path = path if tag_text is not None: self.tag_text = tag_text # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: str (validator is set below) tag_text = bb.Attribute("tag_text") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RemoveTagArg, self)._process_custom_annotations( annotation_type, field_path, processor ) RemoveTagArg_validator = bv.Struct(RemoveTagArg) class RemoveTagError(BaseTagError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar RemoveTagError.tag_not_present: That tag doesn't exist at this path. """ # Attribute is overwritten below the class definition tag_not_present = None def is_tag_not_present(self): """ Check if the union tag is ``tag_not_present``. :rtype: bool """ return self._tag == "tag_not_present" def _process_custom_annotations(self, annotation_type, field_path, processor): super(RemoveTagError, self)._process_custom_annotations( annotation_type, field_path, processor ) RemoveTagError_validator = bv.Union(RemoveTagError) class RestoreArg(bb.Struct): """ :ivar RestoreArg.path: The path to save the restored file. :ivar RestoreArg.rev: The revision to restore. """ __slots__ = [ "_path_value", "_rev_value", ] _has_required_fields = True def __init__(self, path=None, rev=None): self._path_value = bb.NOT_SET self._rev_value = bb.NOT_SET if path is not None: self.path = path if rev is not None: self.rev = rev # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: str (validator is set below) rev = bb.Attribute("rev") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RestoreArg, self)._process_custom_annotations(annotation_type, field_path, processor) 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 RestoreError.path_lookup: An error occurs when downloading metadata for the file. :vartype RestoreError.path_lookup: LookupError :ivar RestoreError.path_write: An error occurs when trying to restore the file to that path. :vartype RestoreError.path_write: WriteError :ivar RestoreError.invalid_revision: The revision is invalid. It may not exist or may point to a deleted file. :ivar RestoreError.in_progress: The restore is currently executing, but has not yet completed. """ _catch_all = "other" # Attribute is overwritten below the class definition invalid_revision = None # Attribute is overwritten below the class definition in_progress = 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_in_progress(self): """ Check if the union tag is ``in_progress``. :rtype: bool """ return self._tag == "in_progress" 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 ) RestoreError_validator = bv.Union(RestoreError) class SaveCopyReferenceArg(bb.Struct): """ :ivar SaveCopyReferenceArg.copy_reference: A copy reference returned by :meth:`dropbox.dropbox_client.Dropbox.files_copy_reference_get`. :ivar SaveCopyReferenceArg.path: Path in the user's Dropbox that is the destination. """ __slots__ = [ "_copy_reference_value", "_path_value", ] _has_required_fields = True def __init__(self, copy_reference=None, path=None): self._copy_reference_value = bb.NOT_SET self._path_value = bb.NOT_SET if copy_reference is not None: self.copy_reference = copy_reference if path is not None: self.path = path # Instance attribute type: str (validator is set below) copy_reference = bb.Attribute("copy_reference") # Instance attribute type: str (validator is set below) path = bb.Attribute("path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SaveCopyReferenceArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 SaveCopyReferenceError.invalid_copy_reference: The copy reference is invalid. :ivar 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 SaveCopyReferenceError.not_found: The file referenced by the copy reference cannot be found. :ivar 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 ) SaveCopyReferenceError_validator = bv.Union(SaveCopyReferenceError) class SaveCopyReferenceResult(bb.Struct): """ :ivar SaveCopyReferenceResult.metadata: The metadata of the saved file or folder in the user's Dropbox. """ __slots__ = [ "_metadata_value", ] _has_required_fields = True def __init__(self, metadata=None): self._metadata_value = bb.NOT_SET if metadata is not None: self.metadata = metadata # Instance attribute type: Metadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SaveCopyReferenceResult, self)._process_custom_annotations( annotation_type, field_path, processor ) SaveCopyReferenceResult_validator = bv.Struct(SaveCopyReferenceResult) class SaveUrlArg(bb.Struct): """ :ivar SaveUrlArg.path: The path in Dropbox where the URL will be saved to. :ivar SaveUrlArg.url: The URL to be saved. """ __slots__ = [ "_path_value", "_url_value", ] _has_required_fields = True def __init__(self, path=None, url=None): self._path_value = bb.NOT_SET self._url_value = bb.NOT_SET if path is not None: self.path = path if url is not None: self.url = url # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: str (validator is set below) url = bb.Attribute("url") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SaveUrlArg, self)._process_custom_annotations(annotation_type, field_path, processor) 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 SaveUrlError.download_failed: Failed downloading the given URL. The URL may be password-protected and the password provided was incorrect, or the link may be disabled. :ivar SaveUrlError.invalid_url: The given URL is invalid. :ivar 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 ) 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 SaveUrlJobStatus.complete: Metadata of the file where the URL is saved to. :vartype SaveUrlJobStatus.complete: FileMetadata """ @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 ) 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 SaveUrlResult.complete: Metadata of the file where the URL is saved to. :vartype SaveUrlResult.complete: FileMetadata """ @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 ) SaveUrlResult_validator = bv.Union(SaveUrlResult) class SearchArg(bb.Struct): """ :ivar SearchArg.path: The path in the user's Dropbox to search. Should probably be a folder. :ivar SearchArg.query: The string to search for. Query string may be rewritten to improve relevance of results. The 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 SearchArg.start: The starting index within the search results (used for paging). :ivar SearchArg.max_results: The maximum number of search results to return. :ivar 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", "_query_value", "_start_value", "_max_results_value", "_mode_value", ] _has_required_fields = True def __init__(self, path=None, query=None, start=None, max_results=None, mode=None): self._path_value = bb.NOT_SET self._query_value = bb.NOT_SET self._start_value = bb.NOT_SET self._max_results_value = bb.NOT_SET self._mode_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: str (validator is set below) query = bb.Attribute("query") # Instance attribute type: int (validator is set below) start = bb.Attribute("start") # Instance attribute type: int (validator is set below) max_results = bb.Attribute("max_results") # Instance attribute type: SearchMode (validator is set below) mode = bb.Attribute("mode", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchArg, self)._process_custom_annotations(annotation_type, field_path, processor) 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. :ivar SearchError.internal_error: Something went wrong, please try again. """ _catch_all = "other" # Attribute is overwritten below the class definition internal_error = 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: SearchError """ return cls("path", val) @classmethod def invalid_argument(cls, val): """ Create an instance of this class set to the ``invalid_argument`` tag with value ``val``. :param str val: :rtype: SearchError """ return cls("invalid_argument", val) def is_path(self): """ Check if the union tag is ``path``. :rtype: bool """ return self._tag == "path" def is_invalid_argument(self): """ Check if the union tag is ``invalid_argument``. :rtype: bool """ return self._tag == "invalid_argument" 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 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 get_invalid_argument(self): """ Only call this if :meth:`is_invalid_argument` is true. :rtype: str """ if not self.is_invalid_argument(): raise AttributeError("tag 'invalid_argument' 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) SearchError_validator = bv.Union(SearchError) class SearchMatch(bb.Struct): """ :ivar SearchMatch.match_type: The type of the match. :ivar SearchMatch.metadata: The metadata for the matched file or folder. """ __slots__ = [ "_match_type_value", "_metadata_value", ] _has_required_fields = True def __init__(self, match_type=None, metadata=None): self._match_type_value = bb.NOT_SET self._metadata_value = bb.NOT_SET if match_type is not None: self.match_type = match_type if metadata is not None: self.metadata = metadata # Instance attribute type: SearchMatchType (validator is set below) match_type = bb.Attribute("match_type", user_defined=True) # Instance attribute type: Metadata (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchMatch, self)._process_custom_annotations(annotation_type, field_path, processor) SearchMatch_validator = bv.Struct(SearchMatch) class SearchMatchFieldOptions(bb.Struct): """ :ivar SearchMatchFieldOptions.include_highlights: Whether to include highlight span from file title. """ __slots__ = [ "_include_highlights_value", ] _has_required_fields = False def __init__(self, include_highlights=None): self._include_highlights_value = bb.NOT_SET if include_highlights is not None: self.include_highlights = include_highlights # Instance attribute type: bool (validator is set below) include_highlights = bb.Attribute("include_highlights") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchMatchFieldOptions, self)._process_custom_annotations( annotation_type, field_path, processor ) SearchMatchFieldOptions_validator = bv.Struct(SearchMatchFieldOptions) 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 SearchMatchType.filename: This item was matched on its file or folder name. :ivar SearchMatchType.content: This item was matched based on its file contents. :ivar 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 ) SearchMatchType_validator = bv.Union(SearchMatchType) class SearchMatchTypeV2(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 SearchMatchTypeV2.filename: This item was matched on its file or folder name. :ivar SearchMatchTypeV2.file_content: This item was matched based on its file contents. :ivar SearchMatchTypeV2.filename_and_content: This item was matched based on both its contents and its file name. :ivar SearchMatchTypeV2.image_content: This item was matched on image content. :ivar SearchMatchTypeV2.metadata: This item was matched based on its metadata. """ _catch_all = "other" # Attribute is overwritten below the class definition filename = None # Attribute is overwritten below the class definition file_content = None # Attribute is overwritten below the class definition filename_and_content = None # Attribute is overwritten below the class definition image_content = None # Attribute is overwritten below the class definition metadata = None # Attribute is overwritten below the class definition other = None def is_filename(self): """ Check if the union tag is ``filename``. :rtype: bool """ return self._tag == "filename" def is_file_content(self): """ Check if the union tag is ``file_content``. :rtype: bool """ return self._tag == "file_content" 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_image_content(self): """ Check if the union tag is ``image_content``. :rtype: bool """ return self._tag == "image_content" 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 _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchMatchTypeV2, self)._process_custom_annotations( annotation_type, field_path, processor ) SearchMatchTypeV2_validator = bv.Union(SearchMatchTypeV2) class SearchMatchV2(bb.Struct): """ :ivar SearchMatchV2.metadata: The metadata for the matched file or folder. :ivar SearchMatchV2.match_type: The type of the match. :ivar SearchMatchV2.highlight_spans: The list of HighlightSpan determines which parts of the file title should be highlighted. """ __slots__ = [ "_metadata_value", "_match_type_value", "_highlight_spans_value", ] _has_required_fields = True def __init__(self, metadata=None, match_type=None, highlight_spans=None): self._metadata_value = bb.NOT_SET self._match_type_value = bb.NOT_SET self._highlight_spans_value = bb.NOT_SET if metadata is not None: self.metadata = metadata if match_type is not None: self.match_type = match_type if highlight_spans is not None: self.highlight_spans = highlight_spans # Instance attribute type: MetadataV2 (validator is set below) metadata = bb.Attribute("metadata", user_defined=True) # Instance attribute type: SearchMatchTypeV2 (validator is set below) match_type = bb.Attribute("match_type", nullable=True, user_defined=True) # Instance attribute type: list of [HighlightSpan] (validator is set below) highlight_spans = bb.Attribute("highlight_spans", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchMatchV2, self)._process_custom_annotations( annotation_type, field_path, processor ) SearchMatchV2_validator = bv.Struct(SearchMatchV2) 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 SearchMode.filename: Search file and folder names. :ivar SearchMode.filename_and_content: Search file and folder names as well as file contents. :ivar 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) SearchMode_validator = bv.Union(SearchMode) class SearchOptions(bb.Struct): """ :ivar SearchOptions.path: Scopes the search to a path in the user's Dropbox. Searches the entire Dropbox if not specified. :ivar SearchOptions.max_results: The maximum number of search results to return. :ivar SearchOptions.order_by: Specified property of the order of search results. By default, results are sorted by relevance. :ivar SearchOptions.file_status: Restricts search to the given file status. :ivar SearchOptions.filename_only: Restricts search to only match on filenames. :ivar SearchOptions.file_extensions: Restricts search to only the extensions specified. Only supported for active file search. :ivar SearchOptions.file_categories: Restricts search to only the file categories specified. Only supported for active file search. :ivar SearchOptions.account_id: Restricts results to the given account id. """ __slots__ = [ "_path_value", "_max_results_value", "_order_by_value", "_file_status_value", "_filename_only_value", "_file_extensions_value", "_file_categories_value", "_account_id_value", ] _has_required_fields = False def __init__( self, path=None, max_results=None, order_by=None, file_status=None, filename_only=None, file_extensions=None, file_categories=None, account_id=None, ): self._path_value = bb.NOT_SET self._max_results_value = bb.NOT_SET self._order_by_value = bb.NOT_SET self._file_status_value = bb.NOT_SET self._filename_only_value = bb.NOT_SET self._file_extensions_value = bb.NOT_SET self._file_categories_value = bb.NOT_SET self._account_id_value = bb.NOT_SET if path is not None: self.path = path if max_results is not None: self.max_results = max_results if order_by is not None: self.order_by = order_by if file_status is not None: self.file_status = file_status if filename_only is not None: self.filename_only = filename_only if file_extensions is not None: self.file_extensions = file_extensions if file_categories is not None: self.file_categories = file_categories if account_id is not None: self.account_id = account_id # Instance attribute type: str (validator is set below) path = bb.Attribute("path", nullable=True) # Instance attribute type: int (validator is set below) max_results = bb.Attribute("max_results") # Instance attribute type: SearchOrderBy (validator is set below) order_by = bb.Attribute("order_by", nullable=True, user_defined=True) # Instance attribute type: FileStatus (validator is set below) file_status = bb.Attribute("file_status", user_defined=True) # Instance attribute type: bool (validator is set below) filename_only = bb.Attribute("filename_only") # Instance attribute type: list of [str] (validator is set below) file_extensions = bb.Attribute("file_extensions", nullable=True) # Instance attribute type: list of [FileCategory] (validator is set below) file_categories = bb.Attribute("file_categories", nullable=True) # Instance attribute type: str (validator is set below) account_id = bb.Attribute("account_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchOptions, self)._process_custom_annotations( annotation_type, field_path, processor ) SearchOptions_validator = bv.Struct(SearchOptions) class SearchOrderBy(bb.Union): """ This class acts as a tagged union. Only 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 relevance = None # Attribute is overwritten below the class definition last_modified_time = None # Attribute is overwritten below the class definition other = None def is_relevance(self): """ Check if the union tag is ``relevance``. :rtype: bool """ return self._tag == "relevance" def is_last_modified_time(self): """ Check if the union tag is ``last_modified_time``. :rtype: bool """ return self._tag == "last_modified_time" 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(SearchOrderBy, self)._process_custom_annotations( annotation_type, field_path, processor ) SearchOrderBy_validator = bv.Union(SearchOrderBy) class SearchResult(bb.Struct): """ :ivar SearchResult.matches: A list (possibly empty) of matches for the query. :ivar SearchResult.more: Used for paging. If true, indicates there is another page of results available that can be fetched by calling :meth:`dropbox.dropbox_client.Dropbox.files_search` again. :ivar SearchResult.start: Used for paging. Value to set the start argument to when calling :meth:`dropbox.dropbox_client.Dropbox.files_search` to fetch the next page of results. """ __slots__ = [ "_matches_value", "_more_value", "_start_value", ] _has_required_fields = True def __init__(self, matches=None, more=None, start=None): self._matches_value = bb.NOT_SET self._more_value = bb.NOT_SET self._start_value = bb.NOT_SET if matches is not None: self.matches = matches if more is not None: self.more = more if start is not None: self.start = start # Instance attribute type: list of [SearchMatch] (validator is set below) matches = bb.Attribute("matches") # Instance attribute type: bool (validator is set below) more = bb.Attribute("more") # Instance attribute type: int (validator is set below) start = bb.Attribute("start") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) SearchResult_validator = bv.Struct(SearchResult) class SearchV2Arg(bb.Struct): """ :ivar SearchV2Arg.query: The string to search for. May match across multiple fields based on the request arguments. :ivar SearchV2Arg.options: Options for more targeted search results. :ivar SearchV2Arg.match_field_options: Options for search results match fields. :ivar SearchV2Arg.include_highlights: Field is deprecated. Deprecated and moved this option to SearchMatchFieldOptions. """ __slots__ = [ "_query_value", "_options_value", "_match_field_options_value", "_include_highlights_value", ] _has_required_fields = True def __init__( self, query=None, options=None, match_field_options=None, include_highlights=None, ): self._query_value = bb.NOT_SET self._options_value = bb.NOT_SET self._match_field_options_value = bb.NOT_SET self._include_highlights_value = bb.NOT_SET if query is not None: self.query = query if options is not None: self.options = options if match_field_options is not None: self.match_field_options = match_field_options if include_highlights is not None: self.include_highlights = include_highlights # Instance attribute type: str (validator is set below) query = bb.Attribute("query") # Instance attribute type: SearchOptions (validator is set below) options = bb.Attribute("options", nullable=True, user_defined=True) # Instance attribute type: SearchMatchFieldOptions (validator is set below) match_field_options = bb.Attribute("match_field_options", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) include_highlights = bb.Attribute("include_highlights", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchV2Arg, self)._process_custom_annotations(annotation_type, field_path, processor) SearchV2Arg_validator = bv.Struct(SearchV2Arg) class SearchV2ContinueArg(bb.Struct): """ :ivar SearchV2ContinueArg.cursor: The cursor returned by your last call to :meth:`dropbox.dropbox_client.Dropbox.files_search`. Used to fetch the next page of results. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchV2ContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) SearchV2ContinueArg_validator = bv.Struct(SearchV2ContinueArg) class SearchV2Result(bb.Struct): """ :ivar SearchV2Result.matches: A list (possibly empty) of matches for the query. :ivar SearchV2Result.has_more: Used for paging. If true, indicates there is another page of results available that can be fetched by calling :meth:`dropbox.dropbox_client.Dropbox.files_search_continue` with the cursor. :ivar SearchV2Result.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.files_search_continue` to fetch the next page of results. """ __slots__ = [ "_matches_value", "_has_more_value", "_cursor_value", ] _has_required_fields = True def __init__(self, matches=None, has_more=None, cursor=None): self._matches_value = bb.NOT_SET self._has_more_value = bb.NOT_SET self._cursor_value = bb.NOT_SET if matches is not None: self.matches = matches if has_more is not None: self.has_more = has_more if cursor is not None: self.cursor = cursor # Instance attribute type: list of [SearchMatchV2] (validator is set below) matches = bb.Attribute("matches") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SearchV2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) SearchV2Result_validator = bv.Struct(SearchV2Result) class SharedLink(bb.Struct): """ :ivar SharedLink.url: Shared link url. :ivar SharedLink.password: Password for the shared link. """ __slots__ = [ "_url_value", "_password_value", ] _has_required_fields = True def __init__(self, url=None, password=None): self._url_value = bb.NOT_SET self._password_value = bb.NOT_SET if url is not None: self.url = url if password is not None: self.password = password # Instance attribute type: str (validator is set below) url = bb.Attribute("url") # Instance attribute type: str (validator is set below) password = bb.Attribute("password", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLink, self)._process_custom_annotations(annotation_type, field_path, processor) SharedLink_validator = bv.Struct(SharedLink) class SharedLinkFileInfo(bb.Struct): """ :ivar SharedLinkFileInfo.url: The shared link corresponding to either a file or shared link to a folder. If it is for a folder shared link, we use the path param to determine for which file in the folder the view is for. :ivar SharedLinkFileInfo.path: The path corresponding to a file in a shared link to a folder. Required for shared links to folders. :ivar SharedLinkFileInfo.password: Password for the shared link. Required for password-protected shared links to files unless it can be read from a cookie. """ __slots__ = [ "_url_value", "_path_value", "_password_value", ] _has_required_fields = True def __init__(self, url=None, path=None, password=None): self._url_value = bb.NOT_SET self._path_value = bb.NOT_SET self._password_value = bb.NOT_SET if url is not None: self.url = url if path is not None: self.path = path if password is not None: self.password = password # Instance attribute type: str (validator is set below) url = bb.Attribute("url") # Instance attribute type: str (validator is set below) path = bb.Attribute("path", nullable=True) # Instance attribute type: str (validator is set below) password = bb.Attribute("password", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkFileInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkFileInfo_validator = bv.Struct(SharedLinkFileInfo) class SingleUserLock(bb.Struct): """ :ivar SingleUserLock.created: The time the lock was created. :ivar SingleUserLock.lock_holder_account_id: The account ID of the lock holder if known. :ivar SingleUserLock.lock_holder_team_id: The id of the team of the account holder if it exists. """ __slots__ = [ "_created_value", "_lock_holder_account_id_value", "_lock_holder_team_id_value", ] _has_required_fields = True def __init__(self, created=None, lock_holder_account_id=None, lock_holder_team_id=None): self._created_value = bb.NOT_SET self._lock_holder_account_id_value = bb.NOT_SET self._lock_holder_team_id_value = bb.NOT_SET if created is not None: self.created = created if lock_holder_account_id is not None: self.lock_holder_account_id = lock_holder_account_id if lock_holder_team_id is not None: self.lock_holder_team_id = lock_holder_team_id # Instance attribute type: datetime.datetime (validator is set below) created = bb.Attribute("created") # Instance attribute type: str (validator is set below) lock_holder_account_id = bb.Attribute("lock_holder_account_id") # Instance attribute type: str (validator is set below) lock_holder_team_id = bb.Attribute("lock_holder_team_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SingleUserLock, self)._process_custom_annotations( annotation_type, field_path, processor ) SingleUserLock_validator = bv.Struct(SingleUserLock) class SymlinkInfo(bb.Struct): """ :ivar SymlinkInfo.target: The target this symlink points to. """ __slots__ = [ "_target_value", ] _has_required_fields = True def __init__(self, target=None): self._target_value = bb.NOT_SET if target is not None: self.target = target # Instance attribute type: str (validator is set below) target = bb.Attribute("target") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SymlinkInfo, self)._process_custom_annotations(annotation_type, field_path, processor) 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 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 SyncSetting.not_synced: On first sync to members' computers, the specified folder will be set to not sync with selective sync. :ivar 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) 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 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 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 ) 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 SyncSettingsError.unsupported_combination: Setting this combination of sync settings simultaneously is not supported. :ivar 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 ) SyncSettingsError_validator = bv.Union(SyncSettingsError) class Tag(bb.Union): """ Tag that can be added in multiple ways. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar Tag.user_generated_tag: Tag generated by the user. :vartype Tag.user_generated_tag: UserGeneratedTag """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @classmethod def user_generated_tag(cls, val): """ Create an instance of this class set to the ``user_generated_tag`` tag with value ``val``. :param UserGeneratedTag val: :rtype: Tag """ return cls("user_generated_tag", val) def is_user_generated_tag(self): """ Check if the union tag is ``user_generated_tag``. :rtype: bool """ return self._tag == "user_generated_tag" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_user_generated_tag(self): """ Tag generated by the user. Only call this if :meth:`is_user_generated_tag` is true. :rtype: UserGeneratedTag """ if not self.is_user_generated_tag(): raise AttributeError("tag 'user_generated_tag' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(Tag, self)._process_custom_annotations(annotation_type, field_path, processor) Tag_validator = bv.Union(Tag) class ThumbnailArg(bb.Struct): """ :ivar ThumbnailArg.path: The path to the image file you want to thumbnail. :ivar ThumbnailArg.format: The format for the thumbnail image, jpeg (default), png, or webp. For images that are photos, jpeg should be preferred, while png is better for screenshots and digital arts, and web for compression. :ivar ThumbnailArg.size: The size for the thumbnail image. :ivar ThumbnailArg.mode: How to resize and crop the image to achieve the desired size. :ivar ThumbnailArg.quality: Field is only returned for "internal" callers. Quality of the thumbnail image. :ivar ThumbnailArg.exclude_media_info: Normally, ``FileMetadata.media_info`` is set for photo and video. When this flag is true, ``FileMetadata.media_info`` is not populated. This improves latency for use cases where `media_info` is not needed. """ __slots__ = [ "_path_value", "_format_value", "_size_value", "_mode_value", "_quality_value", "_exclude_media_info_value", ] _has_required_fields = True def __init__( self, path=None, format=None, size=None, mode=None, quality=None, exclude_media_info=None, ): self._path_value = bb.NOT_SET self._format_value = bb.NOT_SET self._size_value = bb.NOT_SET self._mode_value = bb.NOT_SET self._quality_value = bb.NOT_SET self._exclude_media_info_value = bb.NOT_SET 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 if quality is not None: self.quality = quality if exclude_media_info is not None: self.exclude_media_info = exclude_media_info # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: ThumbnailFormat (validator is set below) format = bb.Attribute("format", user_defined=True) # Instance attribute type: ThumbnailSize (validator is set below) size = bb.Attribute("size", user_defined=True) # Instance attribute type: ThumbnailMode (validator is set below) mode = bb.Attribute("mode", user_defined=True) # Instance attribute type: ThumbnailQuality (validator is set below) quality = bb.Attribute("quality", user_defined=True) # Instance attribute type: bool (validator is set below) exclude_media_info = bb.Attribute("exclude_media_info", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ThumbnailArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ThumbnailError.path: An error occurs when downloading metadata for the image. :vartype ThumbnailError.path: LookupError :ivar ThumbnailError.unsupported_extension: The file extension doesn't allow conversion to a thumbnail. :ivar ThumbnailError.unsupported_image: The image cannot be converted to a thumbnail. :ivar ThumbnailError.encrypted_content: Encrypted content cannot be converted to a thumbnail. :ivar 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 encrypted_content = 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_encrypted_content(self): """ Check if the union tag is ``encrypted_content``. :rtype: bool """ return self._tag == "encrypted_content" 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 ) 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 # Attribute is overwritten below the class definition webp = 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 is_webp(self): """ Check if the union tag is ``webp``. :rtype: bool """ return self._tag == "webp" def _process_custom_annotations(self, annotation_type, field_path, processor): super(ThumbnailFormat, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ThumbnailMode.strict: Scale down the image to fit within the given size. :ivar ThumbnailMode.bestfit: Scale down the image to fit within the given size or its transpose. :ivar ThumbnailMode.fitone_bestfit: Scale down the image to completely cover the given size or its transpose. :ivar ThumbnailMode.original: Don't resize the image at all. """ _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 # Attribute is overwritten below the class definition original = 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 is_original(self): """ Check if the union tag is ``original``. :rtype: bool """ return self._tag == "original" def _process_custom_annotations(self, annotation_type, field_path, processor): super(ThumbnailMode, self)._process_custom_annotations( annotation_type, field_path, processor ) ThumbnailMode_validator = bv.Union(ThumbnailMode) class ThumbnailQuality(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar ThumbnailQuality.quality_80: default thumbnail quality. :ivar ThumbnailQuality.quality_90: high thumbnail quality. """ _catch_all = None # Attribute is overwritten below the class definition quality_80 = None # Attribute is overwritten below the class definition quality_90 = None def is_quality_80(self): """ Check if the union tag is ``quality_80``. :rtype: bool """ return self._tag == "quality_80" def is_quality_90(self): """ Check if the union tag is ``quality_90``. :rtype: bool """ return self._tag == "quality_90" def _process_custom_annotations(self, annotation_type, field_path, processor): super(ThumbnailQuality, self)._process_custom_annotations( annotation_type, field_path, processor ) ThumbnailQuality_validator = bv.Union(ThumbnailQuality) 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 ThumbnailSize.w32h32: 32 by 32 px. :ivar ThumbnailSize.w64h64: 64 by 64 px. :ivar ThumbnailSize.w128h128: 128 by 128 px. :ivar ThumbnailSize.w256h256: 256 by 256 px. :ivar ThumbnailSize.w480h320: 480 by 320 px. :ivar ThumbnailSize.w640h480: 640 by 480 px. :ivar ThumbnailSize.w960h640: 960 by 640 px. :ivar ThumbnailSize.w1024h768: 1024 by 768 px. :ivar ThumbnailSize.w2048h1536: 2048 by 1536 px. :ivar ThumbnailSize.w3200h2400: Field is only returned for "internal" callers. 3200 by 2400 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 # Attribute is overwritten below the class definition w3200h2400 = 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 is_w3200h2400(self): """ Check if the union tag is ``w3200h2400``. :rtype: bool """ return self._tag == "w3200h2400" def _process_custom_annotations(self, annotation_type, field_path, processor): super(ThumbnailSize, self)._process_custom_annotations( annotation_type, field_path, processor ) ThumbnailSize_validator = bv.Union(ThumbnailSize) class ThumbnailV2Arg(bb.Struct): """ :ivar ThumbnailV2Arg.resource: Information specifying which file to preview. This could be a path to a file, a shared link pointing to a file, or a shared link pointing to a folder, with a relative path. :ivar ThumbnailV2Arg.format: The format for the thumbnail image, jpeg (default), png, or webp. For images that are photos, jpeg should be preferred, while png is better for screenshots and digital arts, and web for compression. :ivar ThumbnailV2Arg.size: The size for the thumbnail image. :ivar ThumbnailV2Arg.mode: How to resize and crop the image to achieve the desired size. :ivar ThumbnailV2Arg.quality: Field is only returned for "internal" callers. Quality of the thumbnail image. :ivar ThumbnailV2Arg.exclude_media_info: Normally, ``FileMetadata.media_info`` is set for photo and video. When this flag is true, ``FileMetadata.media_info`` is not populated. This improves latency for use cases where `media_info` is not needed. """ __slots__ = [ "_resource_value", "_format_value", "_size_value", "_mode_value", "_quality_value", "_exclude_media_info_value", ] _has_required_fields = True def __init__( self, resource=None, format=None, size=None, mode=None, quality=None, exclude_media_info=None, ): self._resource_value = bb.NOT_SET self._format_value = bb.NOT_SET self._size_value = bb.NOT_SET self._mode_value = bb.NOT_SET self._quality_value = bb.NOT_SET self._exclude_media_info_value = bb.NOT_SET if resource is not None: self.resource = resource if format is not None: self.format = format if size is not None: self.size = size if mode is not None: self.mode = mode if quality is not None: self.quality = quality if exclude_media_info is not None: self.exclude_media_info = exclude_media_info # Instance attribute type: PathOrLink (validator is set below) resource = bb.Attribute("resource", user_defined=True) # Instance attribute type: ThumbnailFormat (validator is set below) format = bb.Attribute("format", user_defined=True) # Instance attribute type: ThumbnailSize (validator is set below) size = bb.Attribute("size", user_defined=True) # Instance attribute type: ThumbnailMode (validator is set below) mode = bb.Attribute("mode", user_defined=True) # Instance attribute type: ThumbnailQuality (validator is set below) quality = bb.Attribute("quality", user_defined=True) # Instance attribute type: bool (validator is set below) exclude_media_info = bb.Attribute("exclude_media_info", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ThumbnailV2Arg, self)._process_custom_annotations( annotation_type, field_path, processor ) ThumbnailV2Arg_validator = bv.Struct(ThumbnailV2Arg) class ThumbnailV2Error(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar ThumbnailV2Error.path: An error occurred when downloading metadata for the image. :vartype ThumbnailV2Error.path: LookupError :ivar ThumbnailV2Error.unsupported_extension: The file extension doesn't allow conversion to a thumbnail. :ivar ThumbnailV2Error.unsupported_image: The image cannot be converted to a thumbnail. :ivar ThumbnailV2Error.encrypted_content: Encrypted content cannot be converted to a thumbnail. :ivar ThumbnailV2Error.conversion_error: An error occurred during thumbnail conversion. :ivar ThumbnailV2Error.access_denied: Access to this shared link is forbidden. :ivar ThumbnailV2Error.not_found: The shared link does not exist. """ _catch_all = "other" # 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 encrypted_content = None # Attribute is overwritten below the class definition conversion_error = None # Attribute is overwritten below the class definition access_denied = 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 LookupError val: :rtype: ThumbnailV2Error """ 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_encrypted_content(self): """ Check if the union tag is ``encrypted_content``. :rtype: bool """ return self._tag == "encrypted_content" def is_conversion_error(self): """ Check if the union tag is ``conversion_error``. :rtype: bool """ return self._tag == "conversion_error" def is_access_denied(self): """ Check if the union tag is ``access_denied``. :rtype: bool """ return self._tag == "access_denied" 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): """ An error occurred 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(ThumbnailV2Error, self)._process_custom_annotations( annotation_type, field_path, processor ) ThumbnailV2Error_validator = bv.Union(ThumbnailV2Error) class UnlockFileArg(bb.Struct): """ :ivar UnlockFileArg.path: Path in the user's Dropbox to a file. """ __slots__ = [ "_path_value", ] _has_required_fields = True def __init__(self, path=None): self._path_value = bb.NOT_SET if path is not None: self.path = path # Instance attribute type: str (validator is set below) path = bb.Attribute("path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UnlockFileArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UnlockFileArg_validator = bv.Struct(UnlockFileArg) class UnlockFileBatchArg(bb.Struct): """ :ivar UnlockFileBatchArg.entries: List of 'entries'. Each 'entry' contains a path of the file which will be unlocked. Duplicate path arguments in the batch are considered only once. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [UnlockFileArg] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UnlockFileBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UnlockFileBatchArg_validator = bv.Struct(UnlockFileBatchArg) class UploadArg(CommitInfo): """ :ivar UploadArg.content_hash: A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. """ __slots__ = [ "_content_hash_value", ] _has_required_fields = True def __init__( self, path=None, mode=None, autorename=None, client_modified=None, mute=None, property_groups=None, strict_conflict=None, content_hash=None, ): super(UploadArg, self).__init__( path, mode, autorename, client_modified, mute, property_groups, strict_conflict, ) self._content_hash_value = bb.NOT_SET if content_hash is not None: self.content_hash = content_hash # Instance attribute type: str (validator is set below) content_hash = bb.Attribute("content_hash", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadArg, self)._process_custom_annotations(annotation_type, field_path, processor) UploadArg_validator = bv.Struct(UploadArg) 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 UploadError.path: Unable to save the uploaded contents to a file. :vartype UploadError.path: UploadWriteFailed :ivar UploadError.properties_error: The supplied property group is invalid. The file has uploaded without property groups. :vartype UploadError.properties_error: file_properties.InvalidPropertyGroupError :ivar UploadError.payload_too_large: The request payload must be at most 150 MiB. :ivar UploadError.content_hash_mismatch: The content received by the Dropbox server in this call does not match the provided content hash. :ivar UploadError.encryption_not_supported: The file is required to be encrypted, which is not supported in our public API. """ _catch_all = "other" # Attribute is overwritten below the class definition payload_too_large = None # Attribute is overwritten below the class definition content_hash_mismatch = None # Attribute is overwritten below the class definition encryption_not_supported = 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 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_payload_too_large(self): """ Check if the union tag is ``payload_too_large``. :rtype: bool """ return self._tag == "payload_too_large" def is_content_hash_mismatch(self): """ Check if the union tag is ``content_hash_mismatch``. :rtype: bool """ return self._tag == "content_hash_mismatch" def is_encryption_not_supported(self): """ Check if the union tag is ``encryption_not_supported``. :rtype: bool """ return self._tag == "encryption_not_supported" 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) UploadError_validator = bv.Union(UploadError) class UploadSessionAppendArg(bb.Struct): """ :ivar UploadSessionAppendArg.cursor: Contains the upload session ID and the offset. :ivar UploadSessionAppendArg.close: If true, the current session will be closed, at which point you won't be able to call :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_append` anymore with the current session. :ivar UploadSessionAppendArg.content_hash: A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. """ __slots__ = [ "_cursor_value", "_close_value", "_content_hash_value", ] _has_required_fields = True def __init__(self, cursor=None, close=None, content_hash=None): self._cursor_value = bb.NOT_SET self._close_value = bb.NOT_SET self._content_hash_value = bb.NOT_SET if cursor is not None: self.cursor = cursor if close is not None: self.close = close if content_hash is not None: self.content_hash = content_hash # Instance attribute type: UploadSessionCursor (validator is set below) cursor = bb.Attribute("cursor", user_defined=True) # Instance attribute type: bool (validator is set below) close = bb.Attribute("close") # Instance attribute type: str (validator is set below) content_hash = bb.Attribute("content_hash", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionAppendArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionAppendArg_validator = bv.Struct(UploadSessionAppendArg) class UploadSessionAppendBatchArg(bb.Struct): """ :ivar UploadSessionAppendBatchArg.entries: Append information for each file in the batch. :ivar UploadSessionAppendBatchArg.content_hash: A hash of the entire request body which is all the concatenated pieces of file content that were uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. """ __slots__ = [ "_entries_value", "_content_hash_value", ] _has_required_fields = True def __init__(self, entries=None, content_hash=None): self._entries_value = bb.NOT_SET self._content_hash_value = bb.NOT_SET if entries is not None: self.entries = entries if content_hash is not None: self.content_hash = content_hash # Instance attribute type: list of [UploadSessionAppendBatchArgEntry] (validator is set below) entries = bb.Attribute("entries") # Instance attribute type: str (validator is set below) content_hash = bb.Attribute("content_hash", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionAppendBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionAppendBatchArg_validator = bv.Struct(UploadSessionAppendBatchArg) class UploadSessionAppendBatchArgEntry(bb.Struct): """ :ivar UploadSessionAppendBatchArgEntry.cursor: Contains the upload session ID and the offset. :ivar UploadSessionAppendBatchArgEntry.length: Length in bytes of the data that should be appended for this session. Used to split the batched upload data for multiple upload sessions. :ivar UploadSessionAppendBatchArgEntry.close: If true, the current session will be closed, at which point you won't be able to call :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_append_batch` anymore with the current session. """ __slots__ = [ "_cursor_value", "_length_value", "_close_value", ] _has_required_fields = True def __init__(self, cursor=None, length=None, close=None): self._cursor_value = bb.NOT_SET self._length_value = bb.NOT_SET self._close_value = bb.NOT_SET if cursor is not None: self.cursor = cursor if length is not None: self.length = length if close is not None: self.close = close # Instance attribute type: UploadSessionCursor (validator is set below) cursor = bb.Attribute("cursor", user_defined=True) # Instance attribute type: int (validator is set below) length = bb.Attribute("length") # Instance attribute type: bool (validator is set below) close = bb.Attribute("close") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionAppendBatchArgEntry, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionAppendBatchArgEntry_validator = bv.Struct(UploadSessionAppendBatchArgEntry) class UploadSessionAppendBatchEntryError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UploadSessionAppendBatchEntryError.not_found: The upload session ID was not found or has expired. Upload sessions are valid for 7 days. :ivar UploadSessionAppendBatchEntryError.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. :vartype UploadSessionAppendBatchEntryError.incorrect_offset: UploadSessionOffsetError :ivar UploadSessionAppendBatchEntryError.closed: You are attempting to append data to an upload session that has already been closed (i.e. committed). :ivar UploadSessionAppendBatchEntryError.too_large: You can not append to the upload session because the size of a file should not exceed the max file size limit (i.e. 2^41 - 2^22 or 2,199,019,061,248 bytes). :ivar UploadSessionAppendBatchEntryError.concurrent_session_invalid_offset: For concurrent upload sessions, offset needs to be multiple of 2^22 (4,194,304) bytes. :ivar UploadSessionAppendBatchEntryError.concurrent_session_invalid_data_size: For concurrent upload sessions, only chunks with size multiple of 2^22 (4,194,304) bytes can be uploaded. """ _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 too_large = None # Attribute is overwritten below the class definition concurrent_session_invalid_offset = None # Attribute is overwritten below the class definition concurrent_session_invalid_data_size = 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: UploadSessionAppendBatchEntryError """ 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_too_large(self): """ Check if the union tag is ``too_large``. :rtype: bool """ return self._tag == "too_large" def is_concurrent_session_invalid_offset(self): """ Check if the union tag is ``concurrent_session_invalid_offset``. :rtype: bool """ return self._tag == "concurrent_session_invalid_offset" def is_concurrent_session_invalid_data_size(self): """ Check if the union tag is ``concurrent_session_invalid_data_size``. :rtype: bool """ return self._tag == "concurrent_session_invalid_data_size" 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(UploadSessionAppendBatchEntryError, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionAppendBatchEntryError_validator = bv.Union(UploadSessionAppendBatchEntryError) class UploadSessionAppendBatchError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UploadSessionAppendBatchError.payload_too_large: The request payload must be at most 150 MiB. :ivar UploadSessionAppendBatchError.content_hash_mismatch: The content received by the Dropbox server in this call does not match the provided content hash. :ivar UploadSessionAppendBatchError.length_mismatch: The total length of the content received by the Dropbox server in this call does not match the total of the provided lengths in the batch arguments. """ _catch_all = "other" # Attribute is overwritten below the class definition payload_too_large = None # Attribute is overwritten below the class definition content_hash_mismatch = None # Attribute is overwritten below the class definition length_mismatch = None # Attribute is overwritten below the class definition other = None def is_payload_too_large(self): """ Check if the union tag is ``payload_too_large``. :rtype: bool """ return self._tag == "payload_too_large" def is_content_hash_mismatch(self): """ Check if the union tag is ``content_hash_mismatch``. :rtype: bool """ return self._tag == "content_hash_mismatch" def is_length_mismatch(self): """ Check if the union tag is ``length_mismatch``. :rtype: bool """ return self._tag == "length_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(UploadSessionAppendBatchError, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionAppendBatchError_validator = bv.Union(UploadSessionAppendBatchError) class UploadSessionAppendBatchResult(bb.Struct): """ :ivar UploadSessionAppendBatchResult.entries: Each entry in ``UploadSessionAppendBatchArg.entries`` will appear at the same position inside ``UploadSessionAppendBatchResult.entries``. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [UploadSessionAppendBatchResultEntry] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionAppendBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionAppendBatchResult_validator = bv.Struct(UploadSessionAppendBatchResult) class UploadSessionAppendBatchResultEntry(bb.Union): """ This class acts as a tagged union. Only 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 success = None @classmethod def failure(cls, val): """ Create an instance of this class set to the ``failure`` tag with value ``val``. :param UploadSessionAppendBatchEntryError val: :rtype: UploadSessionAppendBatchResultEntry """ 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_failure(self): """ Only call this if :meth:`is_failure` is true. :rtype: UploadSessionAppendBatchEntryError """ 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(UploadSessionAppendBatchResultEntry, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionAppendBatchResultEntry_validator = bv.Union(UploadSessionAppendBatchResultEntry) class UploadSessionAppendError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UploadSessionAppendError.not_found: The upload session ID was not found or has expired. Upload sessions are valid for 7 days. :ivar UploadSessionAppendError.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. :vartype UploadSessionAppendError.incorrect_offset: UploadSessionOffsetError :ivar UploadSessionAppendError.closed: You are attempting to append data to an upload session that has already been closed (i.e. committed). :ivar UploadSessionAppendError.too_large: You can not append to the upload session because the size of a file should not exceed the max file size limit (i.e. 2^41 - 2^22 or 2,199,019,061,248 bytes). :ivar UploadSessionAppendError.concurrent_session_invalid_offset: For concurrent upload sessions, offset needs to be multiple of 2^22 (4,194,304) bytes. :ivar UploadSessionAppendError.concurrent_session_invalid_data_size: For concurrent upload sessions, only chunks with size multiple of 2^22 (4,194,304) bytes can be uploaded. :ivar UploadSessionAppendError.payload_too_large: The request payload must be at most 150 MiB. :ivar UploadSessionAppendError.content_hash_mismatch: The content received by the Dropbox server in this call does not match the provided content hash. """ _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 too_large = None # Attribute is overwritten below the class definition concurrent_session_invalid_offset = None # Attribute is overwritten below the class definition concurrent_session_invalid_data_size = None # Attribute is overwritten below the class definition payload_too_large = None # Attribute is overwritten below the class definition content_hash_mismatch = 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: UploadSessionAppendError """ 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_too_large(self): """ Check if the union tag is ``too_large``. :rtype: bool """ return self._tag == "too_large" def is_concurrent_session_invalid_offset(self): """ Check if the union tag is ``concurrent_session_invalid_offset``. :rtype: bool """ return self._tag == "concurrent_session_invalid_offset" def is_concurrent_session_invalid_data_size(self): """ Check if the union tag is ``concurrent_session_invalid_data_size``. :rtype: bool """ return self._tag == "concurrent_session_invalid_data_size" def is_payload_too_large(self): """ Check if the union tag is ``payload_too_large``. :rtype: bool """ return self._tag == "payload_too_large" def is_content_hash_mismatch(self): """ Check if the union tag is ``content_hash_mismatch``. :rtype: bool """ return self._tag == "content_hash_mismatch" 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(UploadSessionAppendError, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionAppendError_validator = bv.Union(UploadSessionAppendError) class UploadSessionCursor(bb.Struct): """ :ivar UploadSessionCursor.session_id: The upload session ID (returned by :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_start`). :ivar UploadSessionCursor.offset: Offset in bytes at which data should be appended. We use this to make sure upload data isn't lost or duplicated in the event of a network error. """ __slots__ = [ "_session_id_value", "_offset_value", ] _has_required_fields = True def __init__(self, session_id=None, offset=None): self._session_id_value = bb.NOT_SET self._offset_value = bb.NOT_SET if session_id is not None: self.session_id = session_id if offset is not None: self.offset = offset # Instance attribute type: str (validator is set below) session_id = bb.Attribute("session_id") # Instance attribute type: int (validator is set below) offset = bb.Attribute("offset") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionCursor, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionCursor_validator = bv.Struct(UploadSessionCursor) class UploadSessionFinishArg(bb.Struct): """ :ivar UploadSessionFinishArg.cursor: Contains the upload session ID and the offset. :ivar UploadSessionFinishArg.commit: Contains the path and other optional modifiers for the commit. :ivar UploadSessionFinishArg.content_hash: A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. """ __slots__ = [ "_cursor_value", "_commit_value", "_content_hash_value", ] _has_required_fields = True def __init__(self, cursor=None, commit=None, content_hash=None): self._cursor_value = bb.NOT_SET self._commit_value = bb.NOT_SET self._content_hash_value = bb.NOT_SET if cursor is not None: self.cursor = cursor if commit is not None: self.commit = commit if content_hash is not None: self.content_hash = content_hash # Instance attribute type: UploadSessionCursor (validator is set below) cursor = bb.Attribute("cursor", user_defined=True) # Instance attribute type: CommitInfo (validator is set below) commit = bb.Attribute("commit", user_defined=True) # Instance attribute type: str (validator is set below) content_hash = bb.Attribute("content_hash", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionFinishArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionFinishArg_validator = bv.Struct(UploadSessionFinishArg) class UploadSessionFinishBatchArg(bb.Struct): """ :ivar UploadSessionFinishBatchArg.entries: Commit information for each file in the batch. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [UploadSessionFinishArg] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionFinishBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 UploadSessionFinishBatchJobStatus.complete: The :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_finish_batch` has finished. :vartype UploadSessionFinishBatchJobStatus.complete: UploadSessionFinishBatchResult """ @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_client.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 ) UploadSessionFinishBatchJobStatus_validator = bv.Union(UploadSessionFinishBatchJobStatus) class UploadSessionFinishBatchLaunch(async_.LaunchResultBase): """ Result returned by :meth:`dropbox.dropbox_client.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 ) UploadSessionFinishBatchLaunch_validator = bv.Union(UploadSessionFinishBatchLaunch) class UploadSessionFinishBatchResult(bb.Struct): """ :ivar UploadSessionFinishBatchResult.entries: Each entry in ``UploadSessionFinishBatchArg.entries`` will appear at the same position inside ``UploadSessionFinishBatchResult.entries``. """ __slots__ = [ "_entries_value", ] _has_required_fields = True def __init__(self, entries=None): self._entries_value = bb.NOT_SET if entries is not None: self.entries = entries # Instance attribute type: list of [UploadSessionFinishBatchResultEntry] (validator is set below) entries = bb.Attribute("entries") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionFinishBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 UploadSessionFinishError.lookup_failed: The session arguments are incorrect; the value explains the reason. :vartype UploadSessionFinishError.lookup_failed: UploadSessionLookupError :ivar 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. :vartype UploadSessionFinishError.path: WriteError :ivar UploadSessionFinishError.properties_error: The supplied property group is invalid. The file has uploaded without property groups. :vartype UploadSessionFinishError.properties_error: file_properties.InvalidPropertyGroupError :ivar UploadSessionFinishError.too_many_shared_folder_targets: Field is deprecated. 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 UploadSessionFinishError.too_many_write_operations: There are too many write operations happening in the user's Dropbox. You should retry uploading this file. :ivar UploadSessionFinishError.concurrent_session_data_not_allowed: Uploading data not allowed when finishing concurrent upload session. :ivar UploadSessionFinishError.concurrent_session_not_closed: Concurrent upload sessions need to be closed before finishing. :ivar UploadSessionFinishError.concurrent_session_missing_data: Not all pieces of data were uploaded before trying to finish the session. :ivar UploadSessionFinishError.payload_too_large: The request payload must be at most 150 MiB. :ivar UploadSessionFinishError.content_hash_mismatch: The content received by the Dropbox server in this call does not match the provided content hash. :ivar UploadSessionFinishError.encryption_not_supported: The file is required to be encrypted, which is not supported in our public API. """ _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 concurrent_session_data_not_allowed = None # Attribute is overwritten below the class definition concurrent_session_not_closed = None # Attribute is overwritten below the class definition concurrent_session_missing_data = None # Attribute is overwritten below the class definition payload_too_large = None # Attribute is overwritten below the class definition content_hash_mismatch = None # Attribute is overwritten below the class definition encryption_not_supported = 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_concurrent_session_data_not_allowed(self): """ Check if the union tag is ``concurrent_session_data_not_allowed``. :rtype: bool """ return self._tag == "concurrent_session_data_not_allowed" def is_concurrent_session_not_closed(self): """ Check if the union tag is ``concurrent_session_not_closed``. :rtype: bool """ return self._tag == "concurrent_session_not_closed" def is_concurrent_session_missing_data(self): """ Check if the union tag is ``concurrent_session_missing_data``. :rtype: bool """ return self._tag == "concurrent_session_missing_data" def is_payload_too_large(self): """ Check if the union tag is ``payload_too_large``. :rtype: bool """ return self._tag == "payload_too_large" def is_content_hash_mismatch(self): """ Check if the union tag is ``content_hash_mismatch``. :rtype: bool """ return self._tag == "content_hash_mismatch" def is_encryption_not_supported(self): """ Check if the union tag is ``encryption_not_supported``. :rtype: bool """ return self._tag == "encryption_not_supported" 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 ) 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 UploadSessionLookupError.not_found: The upload session ID was not found or has expired. Upload sessions are valid for 7 days. :ivar 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. :vartype UploadSessionLookupError.incorrect_offset: UploadSessionOffsetError :ivar UploadSessionLookupError.closed: You are attempting to append data to an upload session that has already been closed (i.e. committed). :ivar UploadSessionLookupError.not_closed: The session must be closed before calling upload_session/finish_batch. :ivar UploadSessionLookupError.too_large: You can not append to the upload session because the size of a file should not exceed the max file size limit (i.e. 2^41 - 2^22 or 2,199,019,061,248 bytes). :ivar UploadSessionLookupError.concurrent_session_invalid_offset: For concurrent upload sessions, offset needs to be multiple of 2^22 (4,194,304) bytes. :ivar UploadSessionLookupError.concurrent_session_invalid_data_size: For concurrent upload sessions, only chunks with size multiple of 2^22 (4,194,304) bytes can be uploaded. :ivar UploadSessionLookupError.payload_too_large: The request payload must be at most 150 MiB. """ _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 concurrent_session_invalid_offset = None # Attribute is overwritten below the class definition concurrent_session_invalid_data_size = None # Attribute is overwritten below the class definition payload_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_concurrent_session_invalid_offset(self): """ Check if the union tag is ``concurrent_session_invalid_offset``. :rtype: bool """ return self._tag == "concurrent_session_invalid_offset" def is_concurrent_session_invalid_data_size(self): """ Check if the union tag is ``concurrent_session_invalid_data_size``. :rtype: bool """ return self._tag == "concurrent_session_invalid_data_size" def is_payload_too_large(self): """ Check if the union tag is ``payload_too_large``. :rtype: bool """ return self._tag == "payload_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 ) UploadSessionLookupError_validator = bv.Union(UploadSessionLookupError) class UploadSessionOffsetError(bb.Struct): """ :ivar UploadSessionOffsetError.correct_offset: The offset up to which data has been collected. """ __slots__ = [ "_correct_offset_value", ] _has_required_fields = True def __init__(self, correct_offset=None): self._correct_offset_value = bb.NOT_SET if correct_offset is not None: self.correct_offset = correct_offset # Instance attribute type: int (validator is set below) correct_offset = bb.Attribute("correct_offset") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionOffsetError, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionOffsetError_validator = bv.Struct(UploadSessionOffsetError) class UploadSessionStartArg(bb.Struct): """ :ivar UploadSessionStartArg.close: If true, the current session will be closed, at which point you won't be able to call :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_append` anymore with the current session. :ivar UploadSessionStartArg.session_type: Type of upload session you want to start. If not specified, default is ``UploadSessionType.sequential``. :ivar UploadSessionStartArg.content_hash: A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our `Content hash `_ page. """ __slots__ = [ "_close_value", "_session_type_value", "_content_hash_value", ] _has_required_fields = False def __init__(self, close=None, session_type=None, content_hash=None): self._close_value = bb.NOT_SET self._session_type_value = bb.NOT_SET self._content_hash_value = bb.NOT_SET if close is not None: self.close = close if session_type is not None: self.session_type = session_type if content_hash is not None: self.content_hash = content_hash # Instance attribute type: bool (validator is set below) close = bb.Attribute("close") # Instance attribute type: UploadSessionType (validator is set below) session_type = bb.Attribute("session_type", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) content_hash = bb.Attribute("content_hash", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionStartArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionStartArg_validator = bv.Struct(UploadSessionStartArg) class UploadSessionStartBatchArg(bb.Struct): """ :ivar UploadSessionStartBatchArg.session_type: Type of upload session you want to start. If not specified, default is ``UploadSessionType.sequential``. :ivar UploadSessionStartBatchArg.num_sessions: The number of upload sessions to start. """ __slots__ = [ "_session_type_value", "_num_sessions_value", ] _has_required_fields = True def __init__(self, num_sessions=None, session_type=None): self._session_type_value = bb.NOT_SET self._num_sessions_value = bb.NOT_SET if session_type is not None: self.session_type = session_type if num_sessions is not None: self.num_sessions = num_sessions # Instance attribute type: UploadSessionType (validator is set below) session_type = bb.Attribute("session_type", nullable=True, user_defined=True) # Instance attribute type: int (validator is set below) num_sessions = bb.Attribute("num_sessions") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionStartBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionStartBatchArg_validator = bv.Struct(UploadSessionStartBatchArg) class UploadSessionStartBatchResult(bb.Struct): """ :ivar UploadSessionStartBatchResult.session_ids: A List of unique identifiers for the upload session. Pass each session_id to :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_append` and :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_finish`. """ __slots__ = [ "_session_ids_value", ] _has_required_fields = True def __init__(self, session_ids=None): self._session_ids_value = bb.NOT_SET if session_ids is not None: self.session_ids = session_ids # Instance attribute type: list of [str] (validator is set below) session_ids = bb.Attribute("session_ids") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionStartBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionStartBatchResult_validator = bv.Struct(UploadSessionStartBatchResult) class UploadSessionStartError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UploadSessionStartError.concurrent_session_data_not_allowed: Uploading data not allowed when starting concurrent upload session. :ivar UploadSessionStartError.concurrent_session_close_not_allowed: Can not start a closed concurrent upload session. :ivar UploadSessionStartError.payload_too_large: The request payload must be at most 150 MiB. :ivar UploadSessionStartError.content_hash_mismatch: The content received by the Dropbox server in this call does not match the provided content hash. """ _catch_all = "other" # Attribute is overwritten below the class definition concurrent_session_data_not_allowed = None # Attribute is overwritten below the class definition concurrent_session_close_not_allowed = None # Attribute is overwritten below the class definition payload_too_large = None # Attribute is overwritten below the class definition content_hash_mismatch = None # Attribute is overwritten below the class definition other = None def is_concurrent_session_data_not_allowed(self): """ Check if the union tag is ``concurrent_session_data_not_allowed``. :rtype: bool """ return self._tag == "concurrent_session_data_not_allowed" def is_concurrent_session_close_not_allowed(self): """ Check if the union tag is ``concurrent_session_close_not_allowed``. :rtype: bool """ return self._tag == "concurrent_session_close_not_allowed" def is_payload_too_large(self): """ Check if the union tag is ``payload_too_large``. :rtype: bool """ return self._tag == "payload_too_large" def is_content_hash_mismatch(self): """ Check if the union tag is ``content_hash_mismatch``. :rtype: bool """ return self._tag == "content_hash_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(UploadSessionStartError, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionStartError_validator = bv.Union(UploadSessionStartError) class UploadSessionStartResult(bb.Struct): """ :ivar UploadSessionStartResult.session_id: A unique identifier for the upload session. Pass this to :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_append` and :meth:`dropbox.dropbox_client.Dropbox.files_upload_session_finish`. """ __slots__ = [ "_session_id_value", ] _has_required_fields = True def __init__(self, session_id=None): self._session_id_value = bb.NOT_SET if session_id is not None: self.session_id = session_id # Instance attribute type: str (validator is set below) session_id = bb.Attribute("session_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadSessionStartResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionStartResult_validator = bv.Struct(UploadSessionStartResult) class UploadSessionType(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UploadSessionType.sequential: Pieces of data are uploaded sequentially one after another. This is the default behavior. :ivar UploadSessionType.concurrent: Pieces of data can be uploaded in concurrent RPCs in any order. """ _catch_all = "other" # Attribute is overwritten below the class definition sequential = None # Attribute is overwritten below the class definition concurrent = None # Attribute is overwritten below the class definition other = None def is_sequential(self): """ Check if the union tag is ``sequential``. :rtype: bool """ return self._tag == "sequential" def is_concurrent(self): """ Check if the union tag is ``concurrent``. :rtype: bool """ return self._tag == "concurrent" 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(UploadSessionType, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadSessionType_validator = bv.Union(UploadSessionType) class UploadWriteFailed(bb.Struct): """ :ivar UploadWriteFailed.reason: The reason why the file couldn't be saved. :ivar 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_client.Dropbox.files_upload_session_finish`. """ __slots__ = [ "_reason_value", "_upload_session_id_value", ] _has_required_fields = True def __init__(self, reason=None, upload_session_id=None): self._reason_value = bb.NOT_SET self._upload_session_id_value = bb.NOT_SET if reason is not None: self.reason = reason if upload_session_id is not None: self.upload_session_id = upload_session_id # Instance attribute type: WriteError (validator is set below) reason = bb.Attribute("reason", user_defined=True) # Instance attribute type: str (validator is set below) upload_session_id = bb.Attribute("upload_session_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UploadWriteFailed, self)._process_custom_annotations( annotation_type, field_path, processor ) UploadWriteFailed_validator = bv.Struct(UploadWriteFailed) class UserGeneratedTag(bb.Struct): __slots__ = [ "_tag_text_value", ] _has_required_fields = True def __init__(self, tag_text=None): self._tag_text_value = bb.NOT_SET if tag_text is not None: self.tag_text = tag_text # Instance attribute type: str (validator is set below) tag_text = bb.Attribute("tag_text") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserGeneratedTag, self)._process_custom_annotations( annotation_type, field_path, processor ) UserGeneratedTag_validator = bv.Struct(UserGeneratedTag) class VideoMetadata(MediaMetadata): """ Metadata for a video. :ivar VideoMetadata.duration: The duration of the video in milliseconds. """ __slots__ = [ "_duration_value", ] _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 = bb.NOT_SET if duration is not None: self.duration = duration # Instance attribute type: int (validator is set below) duration = bb.Attribute("duration", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(VideoMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 WriteConflictError.file: There's a file in the way. :ivar WriteConflictError.folder: There's a folder in the way. :ivar 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 ) 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 WriteError.malformed_path: The given path does not satisfy the required path format. Please refer to the `Path formats documentation `_ for more information. :vartype WriteError.malformed_path: Optional[str] :ivar WriteError.conflict: Couldn't write to the target path because there was something in the way. :vartype WriteError.conflict: WriteConflictError :ivar WriteError.no_write_permission: The user doesn't have permissions to write to the target location. :ivar WriteError.insufficient_space: The user doesn't have enough available space (bytes) to write more data. :ivar WriteError.disallowed_name: Dropbox will not save the file or folder because of its name. :ivar WriteError.team_folder: This endpoint cannot move or delete team folders. :ivar WriteError.operation_suppressed: This file operation is not allowed at this path. :ivar WriteError.too_many_write_operations: There are too many write operations in user's Dropbox. Please retry this request. :ivar WriteError.access_restricted: The user doesn't have permission to perform the action due to restrictions set by a team administrator """ _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 operation_suppressed = None # Attribute is overwritten below the class definition too_many_write_operations = None # Attribute is overwritten below the class definition access_restricted = 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_operation_suppressed(self): """ Check if the union tag is ``operation_suppressed``. :rtype: bool """ return self._tag == "operation_suppressed" 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_access_restricted(self): """ Check if the union tag is ``access_restricted``. :rtype: bool """ return self._tag == "access_restricted" 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) 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 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 WriteMode.overwrite: Always overwrite the existing file. The autorename strategy is the same as it is for ``add``. :ivar WriteMode.update: Overwrite if the given "rev" matches the existing file's "rev". The supplied value should be the latest known "rev" of the file, for example, from :class:`FileMetadata`, from when the file was last downloaded by the app. This will cause the file on the Dropbox servers to be overwritten if the given "rev" matches the existing file's current "rev" on the Dropbox servers. 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". :vartype WriteMode.update: str """ _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 supplied value should be the latest known "rev" of the file, for example, from :class:`FileMetadata`, from when the file was last downloaded by the app. This will cause the file on the Dropbox servers to be overwritten if the given "rev" matches the existing file's current "rev" on the Dropbox servers. 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) WriteMode_validator = bv.Union(WriteMode) CopyBatchArg_validator = RelocationBatchArgBase_validator CopyBatchArg = RelocationBatchArgBase FileId_validator = bv.String(min_length=4, pattern="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="/(.|[\\r\\n])*") PathOrId_validator = bv.String(pattern="/(.|[\\r\\n])*|id:.*|(ns:[0-9]+(/(.|[\\r\\n])*)?)") PathR_validator = bv.String(pattern="(/(.|[\\r\\n])*)?|(ns:[0-9]+(/(.|[\\r\\n])*)?)") PathROrId_validator = bv.String(pattern="(/(.|[\\r\\n])*)?|id:.*|(ns:[0-9]+(/(.|[\\r\\n])*)?)") ReadPath_validator = bv.String( pattern="(/(.|[\\r\\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/(.|[\\r\\n])*)?)" ) Rev_validator = bv.String(min_length=9, pattern="[0-9a-f]+") SearchV2Cursor_validator = bv.String(min_length=1) Sha256HexHash_validator = bv.String(min_length=64, max_length=64) SharedLinkUrl_validator = bv.String() TagText_validator = bv.String(min_length=1, max_length=32, pattern="[\\w]+") WritePath_validator = bv.String(pattern="(/(.|[\\r\\n])*)|(ns:[0-9]+(/(.|[\\r\\n])*)?)") WritePathOrId_validator = bv.String(pattern="(/(.|[\\r\\n])*)|(ns:[0-9]+(/(.|[\\r\\n])*)?)|(id:.*)") AddTagArg.path.validator = Path_validator AddTagArg.tag_text.validator = TagText_validator AddTagArg._all_field_names_ = set( [ "path", "tag_text", ] ) AddTagArg._all_fields_ = [ ("path", AddTagArg.path.validator), ("tag_text", AddTagArg.tag_text.validator), ] BaseTagError._path_validator = LookupError_validator BaseTagError._other_validator = bv.Void() BaseTagError._tagmap = { "path": BaseTagError._path_validator, "other": BaseTagError._other_validator, } BaseTagError.other = BaseTagError("other") AddTagError._too_many_tags_validator = bv.Void() AddTagError._tagmap = { "too_many_tags": AddTagError._too_many_tags_validator, } AddTagError._tagmap.update(BaseTagError._tagmap) AddTagError.too_many_tags = AddTagError("too_many_tags") 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), ] 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, max_items=10000) 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, max_items=1000) 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.preview_url.validator = bv.Nullable(bv.String()) Metadata._field_names_ = set( [ "name", "path_lower", "path_display", "parent_shared_folder_id", "preview_url", ] ) 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), ("preview_url", Metadata.preview_url.validator), ] Metadata._all_fields_ = Metadata._fields_ Metadata._tag_to_subtype_ = { ("file",): FileMetadata_validator, ("folder",): FolderMetadata_validator, ("deleted",): DeletedMetadata_validator, } Metadata._pytype_to_tag_and_subtype_ = { FileMetadata: (("file",), FileMetadata_validator), FolderMetadata: (("folder",), FolderMetadata_validator), DeletedMetadata: (("deleted",), DeletedMetadata_validator), } Metadata._is_catch_all_ = False DeletedMetadata.is_restorable.validator = bv.Nullable(bv.Boolean()) DeletedMetadata._field_names_ = set(["is_restorable"]) DeletedMetadata._all_field_names_ = Metadata._all_field_names_.union(DeletedMetadata._field_names_) DeletedMetadata._fields_ = [("is_restorable", DeletedMetadata.is_restorable.validator)] 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.export_format.validator = bv.Nullable(bv.String()) ExportArg._all_field_names_ = set( [ "path", "export_format", ] ) ExportArg._all_fields_ = [ ("path", ExportArg.path.validator), ("export_format", ExportArg.export_format.validator), ] ExportError._path_validator = LookupError_validator ExportError._non_exportable_validator = bv.Void() ExportError._invalid_export_format_validator = bv.Void() ExportError._retry_error_validator = bv.Void() ExportError._other_validator = bv.Void() ExportError._tagmap = { "path": ExportError._path_validator, "non_exportable": ExportError._non_exportable_validator, "invalid_export_format": ExportError._invalid_export_format_validator, "retry_error": ExportError._retry_error_validator, "other": ExportError._other_validator, } ExportError.non_exportable = ExportError("non_exportable") ExportError.invalid_export_format = ExportError("invalid_export_format") ExportError.retry_error = ExportError("retry_error") ExportError.other = ExportError("other") ExportInfo.export_as.validator = bv.Nullable(bv.String()) ExportInfo.export_options.validator = bv.Nullable(bv.List(bv.String())) ExportInfo._all_field_names_ = set( [ "export_as", "export_options", ] ) ExportInfo._all_fields_ = [ ("export_as", ExportInfo.export_as.validator), ("export_options", ExportInfo.export_options.validator), ] ExportMetadata.name.validator = bv.String() ExportMetadata.size.validator = bv.UInt64() ExportMetadata.export_hash.validator = bv.Nullable(Sha256HexHash_validator) ExportMetadata.paper_revision.validator = bv.Nullable(bv.Int64()) ExportMetadata._all_field_names_ = set( [ "name", "size", "export_hash", "paper_revision", ] ) ExportMetadata._all_fields_ = [ ("name", ExportMetadata.name.validator), ("size", ExportMetadata.size.validator), ("export_hash", ExportMetadata.export_hash.validator), ("paper_revision", ExportMetadata.paper_revision.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), ] FileCategory._image_validator = bv.Void() FileCategory._document_validator = bv.Void() FileCategory._pdf_validator = bv.Void() FileCategory._spreadsheet_validator = bv.Void() FileCategory._presentation_validator = bv.Void() FileCategory._audio_validator = bv.Void() FileCategory._video_validator = bv.Void() FileCategory._folder_validator = bv.Void() FileCategory._paper_validator = bv.Void() FileCategory._others_validator = bv.Void() FileCategory._other_validator = bv.Void() FileCategory._tagmap = { "image": FileCategory._image_validator, "document": FileCategory._document_validator, "pdf": FileCategory._pdf_validator, "spreadsheet": FileCategory._spreadsheet_validator, "presentation": FileCategory._presentation_validator, "audio": FileCategory._audio_validator, "video": FileCategory._video_validator, "folder": FileCategory._folder_validator, "paper": FileCategory._paper_validator, "others": FileCategory._others_validator, "other": FileCategory._other_validator, } FileCategory.image = FileCategory("image") FileCategory.document = FileCategory("document") FileCategory.pdf = FileCategory("pdf") FileCategory.spreadsheet = FileCategory("spreadsheet") FileCategory.presentation = FileCategory("presentation") FileCategory.audio = FileCategory("audio") FileCategory.video = FileCategory("video") FileCategory.folder = FileCategory("folder") FileCategory.paper = FileCategory("paper") FileCategory.others = FileCategory("others") FileCategory.other = FileCategory("other") FileLock.content.validator = FileLockContent_validator FileLock._all_field_names_ = set(["content"]) FileLock._all_fields_ = [("content", FileLock.content.validator)] FileLockContent._unlocked_validator = bv.Void() FileLockContent._single_user_validator = SingleUserLock_validator FileLockContent._other_validator = bv.Void() FileLockContent._tagmap = { "unlocked": FileLockContent._unlocked_validator, "single_user": FileLockContent._single_user_validator, "other": FileLockContent._other_validator, } FileLockContent.unlocked = FileLockContent("unlocked") FileLockContent.other = FileLockContent("other") FileLockMetadata.is_lockholder.validator = bv.Nullable(bv.Boolean()) FileLockMetadata.lockholder_name.validator = bv.Nullable(bv.String()) FileLockMetadata.lockholder_account_id.validator = bv.Nullable(users_common.AccountId_validator) FileLockMetadata.created.validator = bv.Nullable(common.DropboxTimestamp_validator) FileLockMetadata._all_field_names_ = set( [ "is_lockholder", "lockholder_name", "lockholder_account_id", "created", ] ) FileLockMetadata._all_fields_ = [ ("is_lockholder", FileLockMetadata.is_lockholder.validator), ("lockholder_name", FileLockMetadata.lockholder_name.validator), ("lockholder_account_id", FileLockMetadata.lockholder_account_id.validator), ("created", FileLockMetadata.created.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.file_lock_info.validator = bv.Nullable(FileLockMetadata_validator) FileMetadata.is_restorable.validator = bv.Nullable(bv.Boolean()) 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", "file_lock_info", "is_restorable", ] ) 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), ("file_lock_info", FileMetadata.file_lock_info.validator), ("is_restorable", FileMetadata.is_restorable.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), ] FileStatus._active_validator = bv.Void() FileStatus._deleted_validator = bv.Void() FileStatus._other_validator = bv.Void() FileStatus._tagmap = { "active": FileStatus._active_validator, "deleted": FileStatus._deleted_validator, "other": FileStatus._other_validator, } FileStatus.active = FileStatus("active") FileStatus.deleted = FileStatus("deleted") FileStatus.other = FileStatus("other") 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), ] GetTagsArg.paths.validator = bv.List(Path_validator) GetTagsArg._all_field_names_ = set(["paths"]) GetTagsArg._all_fields_ = [("paths", GetTagsArg.paths.validator)] GetTagsResult.paths_to_tags.validator = bv.List(PathToTags_validator) GetTagsResult._all_field_names_ = set(["paths_to_tags"]) GetTagsResult._all_fields_ = [("paths_to_tags", GetTagsResult.paths_to_tags.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._not_allowed_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, "not_allowed": GetTemporaryLinkError._not_allowed_validator, "other": GetTemporaryLinkError._other_validator, } GetTemporaryLinkError.email_not_verified = GetTemporaryLinkError("email_not_verified") GetTemporaryLinkError.unsupported_file = GetTemporaryLinkError("unsupported_file") GetTemporaryLinkError.not_allowed = GetTemporaryLinkError("not_allowed") 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), ] HighlightSpan.highlight_str.validator = bv.String() HighlightSpan.is_highlighted.validator = bv.Boolean() HighlightSpan._all_field_names_ = set( [ "highlight_str", "is_highlighted", ] ) HighlightSpan._all_fields_ = [ ("highlight_str", HighlightSpan.highlight_str.validator), ("is_highlighted", HighlightSpan.is_highlighted.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") 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.include_restorable_info.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", "include_restorable_info", ] ) 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, ), ("include_restorable_info", ListFolderArg.include_restorable_info.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._template_error_validator = file_properties.TemplateError_validator ListFolderError._other_validator = bv.Void() ListFolderError._tagmap = { "path": ListFolderError._path_validator, "template_error": ListFolderError._template_error_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.before_rev.validator = bv.Nullable(Rev_validator) ListRevisionsArg.include_restorable_info.validator = bv.Boolean() ListRevisionsArg._all_field_names_ = set( [ "path", "mode", "limit", "before_rev", "include_restorable_info", ] ) ListRevisionsArg._all_fields_ = [ ("path", ListRevisionsArg.path.validator), ("mode", ListRevisionsArg.mode.validator), ("limit", ListRevisionsArg.limit.validator), ("before_rev", ListRevisionsArg.before_rev.validator), ("include_restorable_info", ListRevisionsArg.include_restorable_info.validator), ] ListRevisionsError._path_validator = LookupError_validator ListRevisionsError._invalid_before_rev_validator = bv.Void() ListRevisionsError._before_rev_not_supported_validator = bv.Void() ListRevisionsError._other_validator = bv.Void() ListRevisionsError._tagmap = { "path": ListRevisionsError._path_validator, "invalid_before_rev": ListRevisionsError._invalid_before_rev_validator, "before_rev_not_supported": ListRevisionsError._before_rev_not_supported_validator, "other": ListRevisionsError._other_validator, } ListRevisionsError.invalid_before_rev = ListRevisionsError("invalid_before_rev") ListRevisionsError.before_rev_not_supported = ListRevisionsError("before_rev_not_supported") 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.has_more.validator = bv.Boolean() ListRevisionsResult._all_field_names_ = set( [ "is_deleted", "server_deleted", "entries", "has_more", ] ) ListRevisionsResult._all_fields_ = [ ("is_deleted", ListRevisionsResult.is_deleted.validator), ("server_deleted", ListRevisionsResult.server_deleted.validator), ("entries", ListRevisionsResult.entries.validator), ("has_more", ListRevisionsResult.has_more.validator), ] LockConflictError.lock.validator = FileLock_validator LockConflictError._all_field_names_ = set(["lock"]) LockConflictError._all_fields_ = [("lock", LockConflictError.lock.validator)] LockFileArg.path.validator = WritePathOrId_validator LockFileArg._all_field_names_ = set(["path"]) LockFileArg._all_fields_ = [("path", LockFileArg.path.validator)] LockFileBatchArg.entries.validator = bv.List(LockFileArg_validator) LockFileBatchArg._all_field_names_ = set(["entries"]) LockFileBatchArg._all_fields_ = [("entries", LockFileBatchArg.entries.validator)] LockFileBatchResult.entries.validator = bv.List(LockFileResultEntry_validator) LockFileBatchResult._all_field_names_ = FileOpsResult._all_field_names_.union(set(["entries"])) LockFileBatchResult._all_fields_ = FileOpsResult._all_fields_ + [ ("entries", LockFileBatchResult.entries.validator) ] LockFileError._path_lookup_validator = LookupError_validator LockFileError._too_many_write_operations_validator = bv.Void() LockFileError._too_many_files_validator = bv.Void() LockFileError._no_write_permission_validator = bv.Void() LockFileError._cannot_be_locked_validator = bv.Void() LockFileError._file_not_shared_validator = bv.Void() LockFileError._lock_conflict_validator = LockConflictError_validator LockFileError._internal_error_validator = bv.Void() LockFileError._other_validator = bv.Void() LockFileError._tagmap = { "path_lookup": LockFileError._path_lookup_validator, "too_many_write_operations": LockFileError._too_many_write_operations_validator, "too_many_files": LockFileError._too_many_files_validator, "no_write_permission": LockFileError._no_write_permission_validator, "cannot_be_locked": LockFileError._cannot_be_locked_validator, "file_not_shared": LockFileError._file_not_shared_validator, "lock_conflict": LockFileError._lock_conflict_validator, "internal_error": LockFileError._internal_error_validator, "other": LockFileError._other_validator, } LockFileError.too_many_write_operations = LockFileError("too_many_write_operations") LockFileError.too_many_files = LockFileError("too_many_files") LockFileError.no_write_permission = LockFileError("no_write_permission") LockFileError.cannot_be_locked = LockFileError("cannot_be_locked") LockFileError.file_not_shared = LockFileError("file_not_shared") LockFileError.internal_error = LockFileError("internal_error") LockFileError.other = LockFileError("other") LockFileResult.metadata.validator = Metadata_validator LockFileResult.lock.validator = FileLock_validator LockFileResult._all_field_names_ = set( [ "metadata", "lock", ] ) LockFileResult._all_fields_ = [ ("metadata", LockFileResult.metadata.validator), ("lock", LockFileResult.lock.validator), ] LockFileResultEntry._success_validator = LockFileResult_validator LockFileResultEntry._failure_validator = LockFileError_validator LockFileResultEntry._tagmap = { "success": LockFileResultEntry._success_validator, "failure": LockFileResultEntry._failure_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._locked_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, "locked": LookupError._locked_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.locked = LookupError("locked") 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_ = { ("photo",): PhotoMetadata_validator, ("video",): VideoMetadata_validator, } MediaMetadata._pytype_to_tag_and_subtype_ = { PhotoMetadata: (("photo",), PhotoMetadata_validator), VideoMetadata: (("video",), VideoMetadata_validator), } MediaMetadata._is_catch_all_ = False MetadataV2._metadata_validator = Metadata_validator MetadataV2._other_validator = bv.Void() MetadataV2._tagmap = { "metadata": MetadataV2._metadata_validator, "other": MetadataV2._other_validator, } MetadataV2.other = MetadataV2("other") MinimalFileLinkMetadata.url.validator = bv.String() MinimalFileLinkMetadata.id.validator = bv.Nullable(Id_validator) MinimalFileLinkMetadata.path.validator = bv.Nullable(bv.String()) MinimalFileLinkMetadata.rev.validator = Rev_validator MinimalFileLinkMetadata._all_field_names_ = set( [ "url", "id", "path", "rev", ] ) MinimalFileLinkMetadata._all_fields_ = [ ("url", MinimalFileLinkMetadata.url.validator), ("id", MinimalFileLinkMetadata.id.validator), ("path", MinimalFileLinkMetadata.path.validator), ("rev", MinimalFileLinkMetadata.rev.validator), ] RelocationBatchArgBase.entries.validator = bv.List( RelocationPath_validator, min_items=1, max_items=1000 ) 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) ] MoveIntoFamilyError._is_shared_folder_validator = bv.Void() MoveIntoFamilyError._other_validator = bv.Void() MoveIntoFamilyError._tagmap = { "is_shared_folder": MoveIntoFamilyError._is_shared_folder_validator, "other": MoveIntoFamilyError._other_validator, } MoveIntoFamilyError.is_shared_folder = MoveIntoFamilyError("is_shared_folder") MoveIntoFamilyError.other = MoveIntoFamilyError("other") MoveIntoVaultError._is_shared_folder_validator = bv.Void() MoveIntoVaultError._other_validator = bv.Void() MoveIntoVaultError._tagmap = { "is_shared_folder": MoveIntoVaultError._is_shared_folder_validator, "other": MoveIntoVaultError._other_validator, } MoveIntoVaultError.is_shared_folder = MoveIntoVaultError("is_shared_folder") MoveIntoVaultError.other = MoveIntoVaultError("other") PaperContentError._insufficient_permissions_validator = bv.Void() PaperContentError._content_malformed_validator = bv.Void() PaperContentError._doc_length_exceeded_validator = bv.Void() PaperContentError._image_size_exceeded_validator = bv.Void() PaperContentError._other_validator = bv.Void() PaperContentError._tagmap = { "insufficient_permissions": PaperContentError._insufficient_permissions_validator, "content_malformed": PaperContentError._content_malformed_validator, "doc_length_exceeded": PaperContentError._doc_length_exceeded_validator, "image_size_exceeded": PaperContentError._image_size_exceeded_validator, "other": PaperContentError._other_validator, } PaperContentError.insufficient_permissions = PaperContentError("insufficient_permissions") PaperContentError.content_malformed = PaperContentError("content_malformed") PaperContentError.doc_length_exceeded = PaperContentError("doc_length_exceeded") PaperContentError.image_size_exceeded = PaperContentError("image_size_exceeded") PaperContentError.other = PaperContentError("other") PaperCreateArg.path.validator = Path_validator PaperCreateArg.import_format.validator = ImportFormat_validator PaperCreateArg._all_field_names_ = set( [ "path", "import_format", ] ) PaperCreateArg._all_fields_ = [ ("path", PaperCreateArg.path.validator), ("import_format", PaperCreateArg.import_format.validator), ] PaperCreateError._invalid_path_validator = bv.Void() PaperCreateError._email_unverified_validator = bv.Void() PaperCreateError._invalid_file_extension_validator = bv.Void() PaperCreateError._paper_disabled_validator = bv.Void() PaperCreateError._tagmap = { "invalid_path": PaperCreateError._invalid_path_validator, "email_unverified": PaperCreateError._email_unverified_validator, "invalid_file_extension": PaperCreateError._invalid_file_extension_validator, "paper_disabled": PaperCreateError._paper_disabled_validator, } PaperCreateError._tagmap.update(PaperContentError._tagmap) PaperCreateError.invalid_path = PaperCreateError("invalid_path") PaperCreateError.email_unverified = PaperCreateError("email_unverified") PaperCreateError.invalid_file_extension = PaperCreateError("invalid_file_extension") PaperCreateError.paper_disabled = PaperCreateError("paper_disabled") PaperCreateResult.url.validator = bv.String() PaperCreateResult.result_path.validator = bv.String() PaperCreateResult.file_id.validator = FileId_validator PaperCreateResult.paper_revision.validator = bv.Int64() PaperCreateResult._all_field_names_ = set( [ "url", "result_path", "file_id", "paper_revision", ] ) PaperCreateResult._all_fields_ = [ ("url", PaperCreateResult.url.validator), ("result_path", PaperCreateResult.result_path.validator), ("file_id", PaperCreateResult.file_id.validator), ("paper_revision", PaperCreateResult.paper_revision.validator), ] PaperDocUpdatePolicy._update_validator = bv.Void() PaperDocUpdatePolicy._overwrite_validator = bv.Void() PaperDocUpdatePolicy._prepend_validator = bv.Void() PaperDocUpdatePolicy._append_validator = bv.Void() PaperDocUpdatePolicy._other_validator = bv.Void() PaperDocUpdatePolicy._tagmap = { "update": PaperDocUpdatePolicy._update_validator, "overwrite": PaperDocUpdatePolicy._overwrite_validator, "prepend": PaperDocUpdatePolicy._prepend_validator, "append": PaperDocUpdatePolicy._append_validator, "other": PaperDocUpdatePolicy._other_validator, } PaperDocUpdatePolicy.update = PaperDocUpdatePolicy("update") PaperDocUpdatePolicy.overwrite = PaperDocUpdatePolicy("overwrite") PaperDocUpdatePolicy.prepend = PaperDocUpdatePolicy("prepend") PaperDocUpdatePolicy.append = PaperDocUpdatePolicy("append") PaperDocUpdatePolicy.other = PaperDocUpdatePolicy("other") PaperUpdateArg.path.validator = WritePathOrId_validator PaperUpdateArg.import_format.validator = ImportFormat_validator PaperUpdateArg.doc_update_policy.validator = PaperDocUpdatePolicy_validator PaperUpdateArg.paper_revision.validator = bv.Nullable(bv.Int64()) PaperUpdateArg._all_field_names_ = set( [ "path", "import_format", "doc_update_policy", "paper_revision", ] ) PaperUpdateArg._all_fields_ = [ ("path", PaperUpdateArg.path.validator), ("import_format", PaperUpdateArg.import_format.validator), ("doc_update_policy", PaperUpdateArg.doc_update_policy.validator), ("paper_revision", PaperUpdateArg.paper_revision.validator), ] PaperUpdateError._path_validator = LookupError_validator PaperUpdateError._revision_mismatch_validator = bv.Void() PaperUpdateError._doc_archived_validator = bv.Void() PaperUpdateError._doc_deleted_validator = bv.Void() PaperUpdateError._tagmap = { "path": PaperUpdateError._path_validator, "revision_mismatch": PaperUpdateError._revision_mismatch_validator, "doc_archived": PaperUpdateError._doc_archived_validator, "doc_deleted": PaperUpdateError._doc_deleted_validator, } PaperUpdateError._tagmap.update(PaperContentError._tagmap) PaperUpdateError.revision_mismatch = PaperUpdateError("revision_mismatch") PaperUpdateError.doc_archived = PaperUpdateError("doc_archived") PaperUpdateError.doc_deleted = PaperUpdateError("doc_deleted") PaperUpdateResult.paper_revision.validator = bv.Int64() PaperUpdateResult._all_field_names_ = set(["paper_revision"]) PaperUpdateResult._all_fields_ = [("paper_revision", PaperUpdateResult.paper_revision.validator)] PathOrLink._path_validator = ReadPath_validator PathOrLink._link_validator = SharedLinkFileInfo_validator PathOrLink._other_validator = bv.Void() PathOrLink._tagmap = { "path": PathOrLink._path_validator, "link": PathOrLink._link_validator, "other": PathOrLink._other_validator, } PathOrLink.other = PathOrLink("other") PathToTags.path.validator = Path_validator PathToTags.tags.validator = bv.List(Tag_validator) PathToTags._all_field_names_ = set( [ "path", "tags", ] ) PathToTags._all_fields_ = [ ("path", PathToTags.path.validator), ("tags", PathToTags.tags.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") PreviewResult.file_metadata.validator = bv.Nullable(FileMetadata_validator) PreviewResult.link_metadata.validator = bv.Nullable(MinimalFileLinkMetadata_validator) PreviewResult._all_field_names_ = set( [ "file_metadata", "link_metadata", ] ) PreviewResult._all_fields_ = [ ("file_metadata", PreviewResult.file_metadata.validator), ("link_metadata", PreviewResult.link_metadata.validator), ] 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._cant_move_into_vault_validator = MoveIntoVaultError_validator RelocationError._cant_move_into_family_validator = MoveIntoFamilyError_validator 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, "cant_move_into_vault": RelocationError._cant_move_into_vault_validator, "cant_move_into_family": RelocationError._cant_move_into_family_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) ] RemoveTagArg.path.validator = Path_validator RemoveTagArg.tag_text.validator = TagText_validator RemoveTagArg._all_field_names_ = set( [ "path", "tag_text", ] ) RemoveTagArg._all_fields_ = [ ("path", RemoveTagArg.path.validator), ("tag_text", RemoveTagArg.tag_text.validator), ] RemoveTagError._tag_not_present_validator = bv.Void() RemoveTagError._tagmap = { "tag_not_present": RemoveTagError._tag_not_present_validator, } RemoveTagError._tagmap.update(BaseTagError._tagmap) RemoveTagError.tag_not_present = RemoveTagError("tag_not_present") 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._in_progress_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, "in_progress": RestoreError._in_progress_validator, "other": RestoreError._other_validator, } RestoreError.invalid_revision = RestoreError("invalid_revision") RestoreError.in_progress = RestoreError("in_progress") 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(max_length=1000) 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._invalid_argument_validator = bv.Nullable(bv.String()) SearchError._internal_error_validator = bv.Void() SearchError._other_validator = bv.Void() SearchError._tagmap = { "path": SearchError._path_validator, "invalid_argument": SearchError._invalid_argument_validator, "internal_error": SearchError._internal_error_validator, "other": SearchError._other_validator, } SearchError.internal_error = SearchError("internal_error") 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), ] SearchMatchFieldOptions.include_highlights.validator = bv.Boolean() SearchMatchFieldOptions._all_field_names_ = set(["include_highlights"]) SearchMatchFieldOptions._all_fields_ = [ ("include_highlights", SearchMatchFieldOptions.include_highlights.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") SearchMatchTypeV2._filename_validator = bv.Void() SearchMatchTypeV2._file_content_validator = bv.Void() SearchMatchTypeV2._filename_and_content_validator = bv.Void() SearchMatchTypeV2._image_content_validator = bv.Void() SearchMatchTypeV2._metadata_validator = bv.Void() SearchMatchTypeV2._other_validator = bv.Void() SearchMatchTypeV2._tagmap = { "filename": SearchMatchTypeV2._filename_validator, "file_content": SearchMatchTypeV2._file_content_validator, "filename_and_content": SearchMatchTypeV2._filename_and_content_validator, "image_content": SearchMatchTypeV2._image_content_validator, "metadata": SearchMatchTypeV2._metadata_validator, "other": SearchMatchTypeV2._other_validator, } SearchMatchTypeV2.filename = SearchMatchTypeV2("filename") SearchMatchTypeV2.file_content = SearchMatchTypeV2("file_content") SearchMatchTypeV2.filename_and_content = SearchMatchTypeV2("filename_and_content") SearchMatchTypeV2.image_content = SearchMatchTypeV2("image_content") SearchMatchTypeV2.metadata = SearchMatchTypeV2("metadata") SearchMatchTypeV2.other = SearchMatchTypeV2("other") SearchMatchV2.metadata.validator = MetadataV2_validator SearchMatchV2.match_type.validator = bv.Nullable(SearchMatchTypeV2_validator) SearchMatchV2.highlight_spans.validator = bv.Nullable(bv.List(HighlightSpan_validator)) SearchMatchV2._all_field_names_ = set( [ "metadata", "match_type", "highlight_spans", ] ) SearchMatchV2._all_fields_ = [ ("metadata", SearchMatchV2.metadata.validator), ("match_type", SearchMatchV2.match_type.validator), ("highlight_spans", SearchMatchV2.highlight_spans.validator), ] 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") SearchOptions.path.validator = bv.Nullable(PathROrId_validator) SearchOptions.max_results.validator = bv.UInt64(min_value=1, max_value=1000) SearchOptions.order_by.validator = bv.Nullable(SearchOrderBy_validator) SearchOptions.file_status.validator = FileStatus_validator SearchOptions.filename_only.validator = bv.Boolean() SearchOptions.file_extensions.validator = bv.Nullable(bv.List(bv.String())) SearchOptions.file_categories.validator = bv.Nullable(bv.List(FileCategory_validator)) SearchOptions.account_id.validator = bv.Nullable(users_common.AccountId_validator) SearchOptions._all_field_names_ = set( [ "path", "max_results", "order_by", "file_status", "filename_only", "file_extensions", "file_categories", "account_id", ] ) SearchOptions._all_fields_ = [ ("path", SearchOptions.path.validator), ("max_results", SearchOptions.max_results.validator), ("order_by", SearchOptions.order_by.validator), ("file_status", SearchOptions.file_status.validator), ("filename_only", SearchOptions.filename_only.validator), ("file_extensions", SearchOptions.file_extensions.validator), ("file_categories", SearchOptions.file_categories.validator), ("account_id", SearchOptions.account_id.validator), ] SearchOrderBy._relevance_validator = bv.Void() SearchOrderBy._last_modified_time_validator = bv.Void() SearchOrderBy._other_validator = bv.Void() SearchOrderBy._tagmap = { "relevance": SearchOrderBy._relevance_validator, "last_modified_time": SearchOrderBy._last_modified_time_validator, "other": SearchOrderBy._other_validator, } SearchOrderBy.relevance = SearchOrderBy("relevance") SearchOrderBy.last_modified_time = SearchOrderBy("last_modified_time") SearchOrderBy.other = SearchOrderBy("other") 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), ] SearchV2Arg.query.validator = bv.String(max_length=1000) SearchV2Arg.options.validator = bv.Nullable(SearchOptions_validator) SearchV2Arg.match_field_options.validator = bv.Nullable(SearchMatchFieldOptions_validator) SearchV2Arg.include_highlights.validator = bv.Nullable(bv.Boolean()) SearchV2Arg._all_field_names_ = set( [ "query", "options", "match_field_options", "include_highlights", ] ) SearchV2Arg._all_fields_ = [ ("query", SearchV2Arg.query.validator), ("options", SearchV2Arg.options.validator), ("match_field_options", SearchV2Arg.match_field_options.validator), ("include_highlights", SearchV2Arg.include_highlights.validator), ] SearchV2ContinueArg.cursor.validator = SearchV2Cursor_validator SearchV2ContinueArg._all_field_names_ = set(["cursor"]) SearchV2ContinueArg._all_fields_ = [("cursor", SearchV2ContinueArg.cursor.validator)] SearchV2Result.matches.validator = bv.List(SearchMatchV2_validator) SearchV2Result.has_more.validator = bv.Boolean() SearchV2Result.cursor.validator = bv.Nullable(SearchV2Cursor_validator) SearchV2Result._all_field_names_ = set( [ "matches", "has_more", "cursor", ] ) SearchV2Result._all_fields_ = [ ("matches", SearchV2Result.matches.validator), ("has_more", SearchV2Result.has_more.validator), ("cursor", SearchV2Result.cursor.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), ] SharedLinkFileInfo.url.validator = bv.String() SharedLinkFileInfo.path.validator = bv.Nullable(bv.String()) SharedLinkFileInfo.password.validator = bv.Nullable(bv.String()) SharedLinkFileInfo._all_field_names_ = set( [ "url", "path", "password", ] ) SharedLinkFileInfo._all_fields_ = [ ("url", SharedLinkFileInfo.url.validator), ("path", SharedLinkFileInfo.path.validator), ("password", SharedLinkFileInfo.password.validator), ] SingleUserLock.created.validator = common.DropboxTimestamp_validator SingleUserLock.lock_holder_account_id.validator = users_common.AccountId_validator SingleUserLock.lock_holder_team_id.validator = bv.Nullable(bv.String()) SingleUserLock._all_field_names_ = set( [ "created", "lock_holder_account_id", "lock_holder_team_id", ] ) SingleUserLock._all_fields_ = [ ("created", SingleUserLock.created.validator), ("lock_holder_account_id", SingleUserLock.lock_holder_account_id.validator), ("lock_holder_team_id", SingleUserLock.lock_holder_team_id.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") Tag._user_generated_tag_validator = UserGeneratedTag_validator Tag._other_validator = bv.Void() Tag._tagmap = { "user_generated_tag": Tag._user_generated_tag_validator, "other": Tag._other_validator, } Tag.other = Tag("other") ThumbnailArg.path.validator = ReadPath_validator ThumbnailArg.format.validator = ThumbnailFormat_validator ThumbnailArg.size.validator = ThumbnailSize_validator ThumbnailArg.mode.validator = ThumbnailMode_validator ThumbnailArg.quality.validator = ThumbnailQuality_validator ThumbnailArg.exclude_media_info.validator = bv.Nullable(bv.Boolean()) ThumbnailArg._all_field_names_ = set( [ "path", "format", "size", "mode", "exclude_media_info", ] ) ThumbnailArg._all_fields_ = [ ("path", ThumbnailArg.path.validator), ("format", ThumbnailArg.format.validator), ("size", ThumbnailArg.size.validator), ("mode", ThumbnailArg.mode.validator), ("exclude_media_info", ThumbnailArg.exclude_media_info.validator), ] ThumbnailArg._all_internal_field_names_ = set(["quality"]) ThumbnailArg._all_internal_fields_ = [("quality", ThumbnailArg.quality.validator)] ThumbnailError._path_validator = LookupError_validator ThumbnailError._unsupported_extension_validator = bv.Void() ThumbnailError._unsupported_image_validator = bv.Void() ThumbnailError._encrypted_content_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, "encrypted_content": ThumbnailError._encrypted_content_validator, "conversion_error": ThumbnailError._conversion_error_validator, } ThumbnailError.unsupported_extension = ThumbnailError("unsupported_extension") ThumbnailError.unsupported_image = ThumbnailError("unsupported_image") ThumbnailError.encrypted_content = ThumbnailError("encrypted_content") ThumbnailError.conversion_error = ThumbnailError("conversion_error") ThumbnailFormat._jpeg_validator = bv.Void() ThumbnailFormat._png_validator = bv.Void() ThumbnailFormat._webp_validator = bv.Void() ThumbnailFormat._tagmap = { "jpeg": ThumbnailFormat._jpeg_validator, "png": ThumbnailFormat._png_validator, "webp": ThumbnailFormat._webp_validator, } ThumbnailFormat.jpeg = ThumbnailFormat("jpeg") ThumbnailFormat.png = ThumbnailFormat("png") ThumbnailFormat.webp = ThumbnailFormat("webp") ThumbnailMode._strict_validator = bv.Void() ThumbnailMode._bestfit_validator = bv.Void() ThumbnailMode._fitone_bestfit_validator = bv.Void() ThumbnailMode._original_validator = bv.Void() ThumbnailMode._tagmap = { "strict": ThumbnailMode._strict_validator, "bestfit": ThumbnailMode._bestfit_validator, "fitone_bestfit": ThumbnailMode._fitone_bestfit_validator, "original": ThumbnailMode._original_validator, } ThumbnailMode.strict = ThumbnailMode("strict") ThumbnailMode.bestfit = ThumbnailMode("bestfit") ThumbnailMode.fitone_bestfit = ThumbnailMode("fitone_bestfit") ThumbnailMode.original = ThumbnailMode("original") ThumbnailQuality._quality_80_validator = bv.Void() ThumbnailQuality._quality_90_validator = bv.Void() ThumbnailQuality._tagmap = { "quality_80": ThumbnailQuality._quality_80_validator, "quality_90": ThumbnailQuality._quality_90_validator, } ThumbnailQuality.quality_80 = ThumbnailQuality("quality_80") ThumbnailQuality.quality_90 = ThumbnailQuality("quality_90") 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._w3200h2400_validator = bv.Void() ThumbnailSize._permissioned_tagmaps = {"internal"} 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._internal_tagmap = { "w3200h2400": ThumbnailSize._w3200h2400_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") ThumbnailSize.w3200h2400 = ThumbnailSize("w3200h2400") ThumbnailV2Arg.resource.validator = PathOrLink_validator ThumbnailV2Arg.format.validator = ThumbnailFormat_validator ThumbnailV2Arg.size.validator = ThumbnailSize_validator ThumbnailV2Arg.mode.validator = ThumbnailMode_validator ThumbnailV2Arg.quality.validator = ThumbnailQuality_validator ThumbnailV2Arg.exclude_media_info.validator = bv.Nullable(bv.Boolean()) ThumbnailV2Arg._all_field_names_ = set( [ "resource", "format", "size", "mode", "exclude_media_info", ] ) ThumbnailV2Arg._all_fields_ = [ ("resource", ThumbnailV2Arg.resource.validator), ("format", ThumbnailV2Arg.format.validator), ("size", ThumbnailV2Arg.size.validator), ("mode", ThumbnailV2Arg.mode.validator), ("exclude_media_info", ThumbnailV2Arg.exclude_media_info.validator), ] ThumbnailV2Arg._all_internal_field_names_ = set(["quality"]) ThumbnailV2Arg._all_internal_fields_ = [("quality", ThumbnailV2Arg.quality.validator)] ThumbnailV2Error._path_validator = LookupError_validator ThumbnailV2Error._unsupported_extension_validator = bv.Void() ThumbnailV2Error._unsupported_image_validator = bv.Void() ThumbnailV2Error._encrypted_content_validator = bv.Void() ThumbnailV2Error._conversion_error_validator = bv.Void() ThumbnailV2Error._access_denied_validator = bv.Void() ThumbnailV2Error._not_found_validator = bv.Void() ThumbnailV2Error._other_validator = bv.Void() ThumbnailV2Error._tagmap = { "path": ThumbnailV2Error._path_validator, "unsupported_extension": ThumbnailV2Error._unsupported_extension_validator, "unsupported_image": ThumbnailV2Error._unsupported_image_validator, "encrypted_content": ThumbnailV2Error._encrypted_content_validator, "conversion_error": ThumbnailV2Error._conversion_error_validator, "access_denied": ThumbnailV2Error._access_denied_validator, "not_found": ThumbnailV2Error._not_found_validator, "other": ThumbnailV2Error._other_validator, } ThumbnailV2Error.unsupported_extension = ThumbnailV2Error("unsupported_extension") ThumbnailV2Error.unsupported_image = ThumbnailV2Error("unsupported_image") ThumbnailV2Error.encrypted_content = ThumbnailV2Error("encrypted_content") ThumbnailV2Error.conversion_error = ThumbnailV2Error("conversion_error") ThumbnailV2Error.access_denied = ThumbnailV2Error("access_denied") ThumbnailV2Error.not_found = ThumbnailV2Error("not_found") ThumbnailV2Error.other = ThumbnailV2Error("other") UnlockFileArg.path.validator = WritePathOrId_validator UnlockFileArg._all_field_names_ = set(["path"]) UnlockFileArg._all_fields_ = [("path", UnlockFileArg.path.validator)] UnlockFileBatchArg.entries.validator = bv.List(UnlockFileArg_validator) UnlockFileBatchArg._all_field_names_ = set(["entries"]) UnlockFileBatchArg._all_fields_ = [("entries", UnlockFileBatchArg.entries.validator)] UploadArg.content_hash.validator = bv.Nullable(Sha256HexHash_validator) UploadArg._all_field_names_ = CommitInfo._all_field_names_.union(set(["content_hash"])) UploadArg._all_fields_ = CommitInfo._all_fields_ + [ ("content_hash", UploadArg.content_hash.validator) ] UploadError._path_validator = UploadWriteFailed_validator UploadError._properties_error_validator = file_properties.InvalidPropertyGroupError_validator UploadError._payload_too_large_validator = bv.Void() UploadError._content_hash_mismatch_validator = bv.Void() UploadError._encryption_not_supported_validator = bv.Void() UploadError._other_validator = bv.Void() UploadError._tagmap = { "path": UploadError._path_validator, "properties_error": UploadError._properties_error_validator, "payload_too_large": UploadError._payload_too_large_validator, "content_hash_mismatch": UploadError._content_hash_mismatch_validator, "encryption_not_supported": UploadError._encryption_not_supported_validator, "other": UploadError._other_validator, } UploadError.payload_too_large = UploadError("payload_too_large") UploadError.content_hash_mismatch = UploadError("content_hash_mismatch") UploadError.encryption_not_supported = UploadError("encryption_not_supported") UploadError.other = UploadError("other") UploadSessionAppendArg.cursor.validator = UploadSessionCursor_validator UploadSessionAppendArg.close.validator = bv.Boolean() UploadSessionAppendArg.content_hash.validator = bv.Nullable(Sha256HexHash_validator) UploadSessionAppendArg._all_field_names_ = set( [ "cursor", "close", "content_hash", ] ) UploadSessionAppendArg._all_fields_ = [ ("cursor", UploadSessionAppendArg.cursor.validator), ("close", UploadSessionAppendArg.close.validator), ("content_hash", UploadSessionAppendArg.content_hash.validator), ] UploadSessionAppendBatchArg.entries.validator = bv.List( UploadSessionAppendBatchArgEntry_validator, max_items=1000 ) UploadSessionAppendBatchArg.content_hash.validator = bv.Nullable(Sha256HexHash_validator) UploadSessionAppendBatchArg._all_field_names_ = set( [ "entries", "content_hash", ] ) UploadSessionAppendBatchArg._all_fields_ = [ ("entries", UploadSessionAppendBatchArg.entries.validator), ("content_hash", UploadSessionAppendBatchArg.content_hash.validator), ] UploadSessionAppendBatchArgEntry.cursor.validator = UploadSessionCursor_validator UploadSessionAppendBatchArgEntry.length.validator = bv.UInt64() UploadSessionAppendBatchArgEntry.close.validator = bv.Boolean() UploadSessionAppendBatchArgEntry._all_field_names_ = set( [ "cursor", "length", "close", ] ) UploadSessionAppendBatchArgEntry._all_fields_ = [ ("cursor", UploadSessionAppendBatchArgEntry.cursor.validator), ("length", UploadSessionAppendBatchArgEntry.length.validator), ("close", UploadSessionAppendBatchArgEntry.close.validator), ] UploadSessionAppendBatchEntryError._not_found_validator = bv.Void() UploadSessionAppendBatchEntryError._incorrect_offset_validator = UploadSessionOffsetError_validator UploadSessionAppendBatchEntryError._closed_validator = bv.Void() UploadSessionAppendBatchEntryError._too_large_validator = bv.Void() UploadSessionAppendBatchEntryError._concurrent_session_invalid_offset_validator = bv.Void() UploadSessionAppendBatchEntryError._concurrent_session_invalid_data_size_validator = bv.Void() UploadSessionAppendBatchEntryError._other_validator = bv.Void() UploadSessionAppendBatchEntryError._tagmap = { "not_found": UploadSessionAppendBatchEntryError._not_found_validator, "incorrect_offset": UploadSessionAppendBatchEntryError._incorrect_offset_validator, "closed": UploadSessionAppendBatchEntryError._closed_validator, "too_large": UploadSessionAppendBatchEntryError._too_large_validator, "concurrent_session_invalid_offset": UploadSessionAppendBatchEntryError._concurrent_session_invalid_offset_validator, "concurrent_session_invalid_data_size": UploadSessionAppendBatchEntryError._concurrent_session_invalid_data_size_validator, "other": UploadSessionAppendBatchEntryError._other_validator, } UploadSessionAppendBatchEntryError.not_found = UploadSessionAppendBatchEntryError("not_found") UploadSessionAppendBatchEntryError.closed = UploadSessionAppendBatchEntryError("closed") UploadSessionAppendBatchEntryError.too_large = UploadSessionAppendBatchEntryError("too_large") UploadSessionAppendBatchEntryError.concurrent_session_invalid_offset = ( UploadSessionAppendBatchEntryError("concurrent_session_invalid_offset") ) UploadSessionAppendBatchEntryError.concurrent_session_invalid_data_size = ( UploadSessionAppendBatchEntryError("concurrent_session_invalid_data_size") ) UploadSessionAppendBatchEntryError.other = UploadSessionAppendBatchEntryError("other") UploadSessionAppendBatchError._payload_too_large_validator = bv.Void() UploadSessionAppendBatchError._content_hash_mismatch_validator = bv.Void() UploadSessionAppendBatchError._length_mismatch_validator = bv.Void() UploadSessionAppendBatchError._other_validator = bv.Void() UploadSessionAppendBatchError._tagmap = { "payload_too_large": UploadSessionAppendBatchError._payload_too_large_validator, "content_hash_mismatch": UploadSessionAppendBatchError._content_hash_mismatch_validator, "length_mismatch": UploadSessionAppendBatchError._length_mismatch_validator, "other": UploadSessionAppendBatchError._other_validator, } UploadSessionAppendBatchError.payload_too_large = UploadSessionAppendBatchError("payload_too_large") UploadSessionAppendBatchError.content_hash_mismatch = UploadSessionAppendBatchError( "content_hash_mismatch" ) UploadSessionAppendBatchError.length_mismatch = UploadSessionAppendBatchError("length_mismatch") UploadSessionAppendBatchError.other = UploadSessionAppendBatchError("other") UploadSessionAppendBatchResult.entries.validator = bv.List( UploadSessionAppendBatchResultEntry_validator ) UploadSessionAppendBatchResult._all_field_names_ = set(["entries"]) UploadSessionAppendBatchResult._all_fields_ = [ ("entries", UploadSessionAppendBatchResult.entries.validator) ] UploadSessionAppendBatchResultEntry._success_validator = bv.Void() UploadSessionAppendBatchResultEntry._failure_validator = ( UploadSessionAppendBatchEntryError_validator ) UploadSessionAppendBatchResultEntry._tagmap = { "success": UploadSessionAppendBatchResultEntry._success_validator, "failure": UploadSessionAppendBatchResultEntry._failure_validator, } UploadSessionAppendBatchResultEntry.success = UploadSessionAppendBatchResultEntry("success") UploadSessionAppendError._not_found_validator = bv.Void() UploadSessionAppendError._incorrect_offset_validator = UploadSessionOffsetError_validator UploadSessionAppendError._closed_validator = bv.Void() UploadSessionAppendError._too_large_validator = bv.Void() UploadSessionAppendError._concurrent_session_invalid_offset_validator = bv.Void() UploadSessionAppendError._concurrent_session_invalid_data_size_validator = bv.Void() UploadSessionAppendError._payload_too_large_validator = bv.Void() UploadSessionAppendError._content_hash_mismatch_validator = bv.Void() UploadSessionAppendError._other_validator = bv.Void() UploadSessionAppendError._tagmap = { "not_found": UploadSessionAppendError._not_found_validator, "incorrect_offset": UploadSessionAppendError._incorrect_offset_validator, "closed": UploadSessionAppendError._closed_validator, "too_large": UploadSessionAppendError._too_large_validator, "concurrent_session_invalid_offset": UploadSessionAppendError._concurrent_session_invalid_offset_validator, "concurrent_session_invalid_data_size": UploadSessionAppendError._concurrent_session_invalid_data_size_validator, "payload_too_large": UploadSessionAppendError._payload_too_large_validator, "content_hash_mismatch": UploadSessionAppendError._content_hash_mismatch_validator, "other": UploadSessionAppendError._other_validator, } UploadSessionAppendError.not_found = UploadSessionAppendError("not_found") UploadSessionAppendError.closed = UploadSessionAppendError("closed") UploadSessionAppendError.too_large = UploadSessionAppendError("too_large") UploadSessionAppendError.concurrent_session_invalid_offset = UploadSessionAppendError( "concurrent_session_invalid_offset" ) UploadSessionAppendError.concurrent_session_invalid_data_size = UploadSessionAppendError( "concurrent_session_invalid_data_size" ) UploadSessionAppendError.payload_too_large = UploadSessionAppendError("payload_too_large") UploadSessionAppendError.content_hash_mismatch = UploadSessionAppendError("content_hash_mismatch") UploadSessionAppendError.other = UploadSessionAppendError("other") 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.content_hash.validator = bv.Nullable(Sha256HexHash_validator) UploadSessionFinishArg._all_field_names_ = set( [ "cursor", "commit", "content_hash", ] ) UploadSessionFinishArg._all_fields_ = [ ("cursor", UploadSessionFinishArg.cursor.validator), ("commit", UploadSessionFinishArg.commit.validator), ("content_hash", UploadSessionFinishArg.content_hash.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._concurrent_session_data_not_allowed_validator = bv.Void() UploadSessionFinishError._concurrent_session_not_closed_validator = bv.Void() UploadSessionFinishError._concurrent_session_missing_data_validator = bv.Void() UploadSessionFinishError._payload_too_large_validator = bv.Void() UploadSessionFinishError._content_hash_mismatch_validator = bv.Void() UploadSessionFinishError._encryption_not_supported_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, "concurrent_session_data_not_allowed": UploadSessionFinishError._concurrent_session_data_not_allowed_validator, "concurrent_session_not_closed": UploadSessionFinishError._concurrent_session_not_closed_validator, "concurrent_session_missing_data": UploadSessionFinishError._concurrent_session_missing_data_validator, "payload_too_large": UploadSessionFinishError._payload_too_large_validator, "content_hash_mismatch": UploadSessionFinishError._content_hash_mismatch_validator, "encryption_not_supported": UploadSessionFinishError._encryption_not_supported_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.concurrent_session_data_not_allowed = UploadSessionFinishError( "concurrent_session_data_not_allowed" ) UploadSessionFinishError.concurrent_session_not_closed = UploadSessionFinishError( "concurrent_session_not_closed" ) UploadSessionFinishError.concurrent_session_missing_data = UploadSessionFinishError( "concurrent_session_missing_data" ) UploadSessionFinishError.payload_too_large = UploadSessionFinishError("payload_too_large") UploadSessionFinishError.content_hash_mismatch = UploadSessionFinishError("content_hash_mismatch") UploadSessionFinishError.encryption_not_supported = UploadSessionFinishError( "encryption_not_supported" ) 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._concurrent_session_invalid_offset_validator = bv.Void() UploadSessionLookupError._concurrent_session_invalid_data_size_validator = bv.Void() UploadSessionLookupError._payload_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, "concurrent_session_invalid_offset": UploadSessionLookupError._concurrent_session_invalid_offset_validator, "concurrent_session_invalid_data_size": UploadSessionLookupError._concurrent_session_invalid_data_size_validator, "payload_too_large": UploadSessionLookupError._payload_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.concurrent_session_invalid_offset = UploadSessionLookupError( "concurrent_session_invalid_offset" ) UploadSessionLookupError.concurrent_session_invalid_data_size = UploadSessionLookupError( "concurrent_session_invalid_data_size" ) UploadSessionLookupError.payload_too_large = UploadSessionLookupError("payload_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.session_type.validator = bv.Nullable(UploadSessionType_validator) UploadSessionStartArg.content_hash.validator = bv.Nullable(Sha256HexHash_validator) UploadSessionStartArg._all_field_names_ = set( [ "close", "session_type", "content_hash", ] ) UploadSessionStartArg._all_fields_ = [ ("close", UploadSessionStartArg.close.validator), ("session_type", UploadSessionStartArg.session_type.validator), ("content_hash", UploadSessionStartArg.content_hash.validator), ] UploadSessionStartBatchArg.session_type.validator = bv.Nullable(UploadSessionType_validator) UploadSessionStartBatchArg.num_sessions.validator = bv.UInt64(min_value=1, max_value=1000) UploadSessionStartBatchArg._all_field_names_ = set( [ "session_type", "num_sessions", ] ) UploadSessionStartBatchArg._all_fields_ = [ ("session_type", UploadSessionStartBatchArg.session_type.validator), ("num_sessions", UploadSessionStartBatchArg.num_sessions.validator), ] UploadSessionStartBatchResult.session_ids.validator = bv.List(bv.String()) UploadSessionStartBatchResult._all_field_names_ = set(["session_ids"]) UploadSessionStartBatchResult._all_fields_ = [ ("session_ids", UploadSessionStartBatchResult.session_ids.validator) ] UploadSessionStartError._concurrent_session_data_not_allowed_validator = bv.Void() UploadSessionStartError._concurrent_session_close_not_allowed_validator = bv.Void() UploadSessionStartError._payload_too_large_validator = bv.Void() UploadSessionStartError._content_hash_mismatch_validator = bv.Void() UploadSessionStartError._other_validator = bv.Void() UploadSessionStartError._tagmap = { "concurrent_session_data_not_allowed": UploadSessionStartError._concurrent_session_data_not_allowed_validator, "concurrent_session_close_not_allowed": UploadSessionStartError._concurrent_session_close_not_allowed_validator, "payload_too_large": UploadSessionStartError._payload_too_large_validator, "content_hash_mismatch": UploadSessionStartError._content_hash_mismatch_validator, "other": UploadSessionStartError._other_validator, } UploadSessionStartError.concurrent_session_data_not_allowed = UploadSessionStartError( "concurrent_session_data_not_allowed" ) UploadSessionStartError.concurrent_session_close_not_allowed = UploadSessionStartError( "concurrent_session_close_not_allowed" ) UploadSessionStartError.payload_too_large = UploadSessionStartError("payload_too_large") UploadSessionStartError.content_hash_mismatch = UploadSessionStartError("content_hash_mismatch") UploadSessionStartError.other = UploadSessionStartError("other") UploadSessionStartResult.session_id.validator = bv.String() UploadSessionStartResult._all_field_names_ = set(["session_id"]) UploadSessionStartResult._all_fields_ = [ ("session_id", UploadSessionStartResult.session_id.validator) ] UploadSessionType._sequential_validator = bv.Void() UploadSessionType._concurrent_validator = bv.Void() UploadSessionType._other_validator = bv.Void() UploadSessionType._tagmap = { "sequential": UploadSessionType._sequential_validator, "concurrent": UploadSessionType._concurrent_validator, "other": UploadSessionType._other_validator, } UploadSessionType.sequential = UploadSessionType("sequential") UploadSessionType.concurrent = UploadSessionType("concurrent") UploadSessionType.other = UploadSessionType("other") 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), ] UserGeneratedTag.tag_text.validator = TagText_validator UserGeneratedTag._all_field_names_ = set(["tag_text"]) UserGeneratedTag._all_fields_ = [("tag_text", UserGeneratedTag.tag_text.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._operation_suppressed_validator = bv.Void() WriteError._too_many_write_operations_validator = bv.Void() WriteError._access_restricted_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, "operation_suppressed": WriteError._operation_suppressed_validator, "too_many_write_operations": WriteError._too_many_write_operations_validator, "access_restricted": WriteError._access_restricted_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.operation_suppressed = WriteError("operation_suppressed") WriteError.too_many_write_operations = WriteError("too_many_write_operations") WriteError.access_restricted = WriteError("access_restricted") 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") GetMetadataArg.include_media_info.default = False GetMetadataArg.include_deleted.default = False GetMetadataArg.include_has_explicit_shared_members.default = False CommitInfo.mode.default = WriteMode.add CommitInfo.autorename.default = False CommitInfo.mute.default = False CommitInfo.strict_conflict.default = False CreateFolderArg.autorename.default = False CreateFolderBatchArg.autorename.default = False CreateFolderBatchArg.force_async.default = False FileMetadata.is_downloadable.default = True FolderSharingInfo.traverse_only.default = False FolderSharingInfo.no_access.default = False GetTemporaryUploadLinkArg.duration.default = 14400.0 ListFolderArg.recursive.default = False ListFolderArg.include_media_info.default = False ListFolderArg.include_deleted.default = False ListFolderArg.include_has_explicit_shared_members.default = False ListFolderArg.include_mounted_folders.default = True ListFolderArg.include_non_downloadable_files.default = True ListFolderArg.include_restorable_info.default = False ListFolderLongpollArg.timeout.default = 30 ListRevisionsArg.mode.default = ListRevisionsMode.path ListRevisionsArg.limit.default = 10 ListRevisionsArg.include_restorable_info.default = False RelocationBatchArgBase.autorename.default = False MoveBatchArg.allow_ownership_transfer.default = False RelocationArg.allow_shared_folder.default = False RelocationArg.autorename.default = False RelocationArg.allow_ownership_transfer.default = False RelocationBatchArg.allow_shared_folder.default = False RelocationBatchArg.allow_ownership_transfer.default = False SearchArg.start.default = 0 SearchArg.max_results.default = 100 SearchArg.mode.default = SearchMode.filename SearchMatchFieldOptions.include_highlights.default = False SearchOptions.max_results.default = 100 SearchOptions.file_status.default = FileStatus.active SearchOptions.filename_only.default = False ThumbnailArg.format.default = ThumbnailFormat.jpeg ThumbnailArg.size.default = ThumbnailSize.w64h64 ThumbnailArg.mode.default = ThumbnailMode.strict ThumbnailArg.quality.default = ThumbnailQuality.quality_80 ThumbnailV2Arg.format.default = ThumbnailFormat.jpeg ThumbnailV2Arg.size.default = ThumbnailSize.w64h64 ThumbnailV2Arg.mode.default = ThumbnailMode.strict ThumbnailV2Arg.quality.default = ThumbnailQuality.quality_80 UploadSessionAppendArg.close.default = False UploadSessionAppendBatchArgEntry.close.default = False UploadSessionStartArg.close.default = False alpha_get_metadata = bb.Route( "alpha/get_metadata", 1, True, AlphaGetMetadataArg_validator, Metadata_validator, AlphaGetMetadataError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) alpha_upload = bb.Route( "alpha/upload", 1, True, UploadArg_validator, FileMetadata_validator, UploadError_validator, {"auth": "user", "host": "content", "style": "upload"}, ) copy = bb.Route( "copy", 1, True, RelocationArg_validator, Metadata_validator, RelocationError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) copy_v2 = bb.Route( "copy", 2, False, RelocationArg_validator, RelocationResult_validator, RelocationError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) copy_batch = bb.Route( "copy_batch", 1, True, RelocationBatchArg_validator, RelocationBatchLaunch_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) copy_batch_v2 = bb.Route( "copy_batch", 2, False, CopyBatchArg_validator, RelocationBatchV2Launch_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) copy_batch_check = bb.Route( "copy_batch/check", 1, True, async_.PollArg_validator, RelocationBatchJobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) copy_batch_check_v2 = bb.Route( "copy_batch/check", 2, False, async_.PollArg_validator, RelocationBatchV2JobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) copy_reference_get = bb.Route( "copy_reference/get", 1, False, GetCopyReferenceArg_validator, GetCopyReferenceResult_validator, GetCopyReferenceError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) copy_reference_save = bb.Route( "copy_reference/save", 1, False, SaveCopyReferenceArg_validator, SaveCopyReferenceResult_validator, SaveCopyReferenceError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) create_folder = bb.Route( "create_folder", 1, True, CreateFolderArg_validator, FolderMetadata_validator, CreateFolderError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) create_folder_v2 = bb.Route( "create_folder", 2, False, CreateFolderArg_validator, CreateFolderResult_validator, CreateFolderError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) create_folder_batch = bb.Route( "create_folder_batch", 1, False, CreateFolderBatchArg_validator, CreateFolderBatchLaunch_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) create_folder_batch_check = bb.Route( "create_folder_batch/check", 1, False, async_.PollArg_validator, CreateFolderBatchJobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) delete = bb.Route( "delete", 1, True, DeleteArg_validator, Metadata_validator, DeleteError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) delete_v2 = bb.Route( "delete", 2, False, DeleteArg_validator, DeleteResult_validator, DeleteError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) delete_batch = bb.Route( "delete_batch", 1, False, DeleteBatchArg_validator, DeleteBatchLaunch_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) delete_batch_check = bb.Route( "delete_batch/check", 1, False, async_.PollArg_validator, DeleteBatchJobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) download = bb.Route( "download", 1, False, DownloadArg_validator, FileMetadata_validator, DownloadError_validator, {"auth": "user", "host": "content", "style": "download"}, ) download_zip = bb.Route( "download_zip", 1, False, DownloadZipArg_validator, DownloadZipResult_validator, DownloadZipError_validator, {"auth": "user", "host": "content", "style": "download"}, ) export = bb.Route( "export", 1, False, ExportArg_validator, ExportResult_validator, ExportError_validator, {"auth": "user", "host": "content", "style": "download"}, ) get_file_lock_batch = bb.Route( "get_file_lock_batch", 1, False, LockFileBatchArg_validator, LockFileBatchResult_validator, LockFileError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_metadata = bb.Route( "get_metadata", 1, False, GetMetadataArg_validator, Metadata_validator, GetMetadataError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_preview = bb.Route( "get_preview", 1, False, PreviewArg_validator, FileMetadata_validator, PreviewError_validator, {"auth": "user", "host": "content", "style": "download"}, ) get_temporary_link = bb.Route( "get_temporary_link", 1, False, GetTemporaryLinkArg_validator, GetTemporaryLinkResult_validator, GetTemporaryLinkError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_temporary_upload_link = bb.Route( "get_temporary_upload_link", 1, False, GetTemporaryUploadLinkArg_validator, GetTemporaryUploadLinkResult_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) get_thumbnail = bb.Route( "get_thumbnail", 1, False, ThumbnailArg_validator, FileMetadata_validator, ThumbnailError_validator, {"auth": "user", "host": "content", "style": "download"}, ) get_thumbnail_v2 = bb.Route( "get_thumbnail", 2, False, ThumbnailV2Arg_validator, PreviewResult_validator, ThumbnailV2Error_validator, {"auth": "app, user", "host": "content", "style": "download"}, ) get_thumbnail_batch = bb.Route( "get_thumbnail_batch", 1, False, GetThumbnailBatchArg_validator, GetThumbnailBatchResult_validator, GetThumbnailBatchError_validator, {"auth": "user", "host": "content", "style": "rpc"}, ) list_folder = bb.Route( "list_folder", 1, False, ListFolderArg_validator, ListFolderResult_validator, ListFolderError_validator, {"auth": "app, user", "host": "api", "style": "rpc"}, ) list_folder_continue = bb.Route( "list_folder/continue", 1, False, ListFolderContinueArg_validator, ListFolderResult_validator, ListFolderContinueError_validator, {"auth": "app, user", "host": "api", "style": "rpc"}, ) list_folder_get_latest_cursor = bb.Route( "list_folder/get_latest_cursor", 1, False, ListFolderArg_validator, ListFolderGetLatestCursorResult_validator, ListFolderError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_folder_longpoll = bb.Route( "list_folder/longpoll", 1, False, ListFolderLongpollArg_validator, ListFolderLongpollResult_validator, ListFolderLongpollError_validator, {"auth": "noauth", "host": "notify", "style": "rpc"}, ) list_revisions = bb.Route( "list_revisions", 1, False, ListRevisionsArg_validator, ListRevisionsResult_validator, ListRevisionsError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) lock_file_batch = bb.Route( "lock_file_batch", 1, False, LockFileBatchArg_validator, LockFileBatchResult_validator, LockFileError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) move = bb.Route( "move", 1, True, RelocationArg_validator, Metadata_validator, RelocationError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) move_v2 = bb.Route( "move", 2, False, RelocationArg_validator, RelocationResult_validator, RelocationError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) move_batch = bb.Route( "move_batch", 1, True, RelocationBatchArg_validator, RelocationBatchLaunch_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) move_batch_v2 = bb.Route( "move_batch", 2, False, MoveBatchArg_validator, RelocationBatchV2Launch_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) move_batch_check = bb.Route( "move_batch/check", 1, True, async_.PollArg_validator, RelocationBatchJobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) move_batch_check_v2 = bb.Route( "move_batch/check", 2, False, async_.PollArg_validator, RelocationBatchV2JobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) paper_create = bb.Route( "paper/create", 1, False, PaperCreateArg_validator, PaperCreateResult_validator, PaperCreateError_validator, {"auth": "user", "host": "api", "style": "upload"}, ) paper_update = bb.Route( "paper/update", 1, False, PaperUpdateArg_validator, PaperUpdateResult_validator, PaperUpdateError_validator, {"auth": "user", "host": "api", "style": "upload"}, ) permanently_delete = bb.Route( "permanently_delete", 1, False, DeleteArg_validator, bv.Void(), DeleteError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) properties_add = bb.Route( "properties/add", 1, True, file_properties.AddPropertiesArg_validator, bv.Void(), file_properties.AddPropertiesError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) properties_overwrite = bb.Route( "properties/overwrite", 1, True, file_properties.OverwritePropertyGroupArg_validator, bv.Void(), file_properties.InvalidPropertyGroupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) properties_update = bb.Route( "properties/update", 1, True, file_properties.UpdatePropertiesArg_validator, bv.Void(), file_properties.UpdatePropertiesError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) restore = bb.Route( "restore", 1, False, RestoreArg_validator, FileMetadata_validator, RestoreError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) save_url = bb.Route( "save_url", 1, False, SaveUrlArg_validator, SaveUrlResult_validator, SaveUrlError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) save_url_check_job_status = bb.Route( "save_url/check_job_status", 1, False, async_.PollArg_validator, SaveUrlJobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) search = bb.Route( "search", 1, True, SearchArg_validator, SearchResult_validator, SearchError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) search_v2 = bb.Route( "search", 2, False, SearchV2Arg_validator, SearchV2Result_validator, SearchError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) search_continue_v2 = bb.Route( "search/continue", 2, False, SearchV2ContinueArg_validator, SearchV2Result_validator, SearchError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) tags_add = bb.Route( "tags/add", 1, False, AddTagArg_validator, bv.Void(), AddTagError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) tags_get = bb.Route( "tags/get", 1, False, GetTagsArg_validator, GetTagsResult_validator, BaseTagError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) tags_remove = bb.Route( "tags/remove", 1, False, RemoveTagArg_validator, bv.Void(), RemoveTagError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) unlock_file_batch = bb.Route( "unlock_file_batch", 1, False, UnlockFileBatchArg_validator, LockFileBatchResult_validator, LockFileError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) upload = bb.Route( "upload", 1, False, UploadArg_validator, FileMetadata_validator, UploadError_validator, {"auth": "user", "host": "content", "style": "upload"}, ) upload_session_append = bb.Route( "upload_session/append", 1, True, UploadSessionCursor_validator, bv.Void(), UploadSessionAppendError_validator, {"auth": "user", "host": "content", "style": "upload"}, ) upload_session_append_v2 = bb.Route( "upload_session/append", 2, False, UploadSessionAppendArg_validator, bv.Void(), UploadSessionAppendError_validator, {"auth": "user", "host": "content", "style": "upload"}, ) upload_session_append_batch = bb.Route( "upload_session/append_batch", 1, False, UploadSessionAppendBatchArg_validator, UploadSessionAppendBatchResult_validator, UploadSessionAppendBatchError_validator, {"auth": "user", "host": "content", "style": "upload"}, ) upload_session_finish = bb.Route( "upload_session/finish", 1, False, UploadSessionFinishArg_validator, FileMetadata_validator, UploadSessionFinishError_validator, {"auth": "user", "host": "content", "style": "upload"}, ) upload_session_finish_batch = bb.Route( "upload_session/finish_batch", 1, True, UploadSessionFinishBatchArg_validator, UploadSessionFinishBatchLaunch_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) upload_session_finish_batch_v2 = bb.Route( "upload_session/finish_batch", 2, False, UploadSessionFinishBatchArg_validator, UploadSessionFinishBatchResult_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) upload_session_finish_batch_check = bb.Route( "upload_session/finish_batch/check", 1, False, async_.PollArg_validator, UploadSessionFinishBatchJobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) upload_session_start = bb.Route( "upload_session/start", 1, False, UploadSessionStartArg_validator, UploadSessionStartResult_validator, UploadSessionStartError_validator, {"auth": "user", "host": "content", "style": "upload"}, ) upload_session_start_batch = bb.Route( "upload_session/start_batch", 1, False, UploadSessionStartBatchArg_validator, UploadSessionStartBatchResult_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) ROUTES = { "alpha/get_metadata": alpha_get_metadata, "alpha/upload": alpha_upload, "copy": copy, "copy:2": copy_v2, "copy_batch": copy_batch, "copy_batch:2": copy_batch_v2, "copy_batch/check": copy_batch_check, "copy_batch/check:2": copy_batch_check_v2, "copy_reference/get": copy_reference_get, "copy_reference/save": copy_reference_save, "create_folder": create_folder, "create_folder:2": create_folder_v2, "create_folder_batch": create_folder_batch, "create_folder_batch/check": create_folder_batch_check, "delete": delete, "delete:2": delete_v2, "delete_batch": delete_batch, "delete_batch/check": delete_batch_check, "download": download, "download_zip": download_zip, "export": export, "get_file_lock_batch": get_file_lock_batch, "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:2": get_thumbnail_v2, "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, "lock_file_batch": lock_file_batch, "move": move, "move:2": move_v2, "move_batch": move_batch, "move_batch:2": move_batch_v2, "move_batch/check": move_batch_check, "move_batch/check:2": move_batch_check_v2, "paper/create": paper_create, "paper/update": paper_update, "permanently_delete": permanently_delete, "properties/add": properties_add, "properties/overwrite": properties_overwrite, "properties/update": properties_update, "restore": restore, "save_url": save_url, "save_url/check_job_status": save_url_check_job_status, "search": search, "search:2": search_v2, "search/continue:2": search_continue_v2, "tags/add": tags_add, "tags/get": tags_get, "tags/remove": tags_remove, "unlock_file_batch": unlock_file_batch, "upload": upload, "upload_session/append": upload_session_append, "upload_session/append:2": upload_session_append_v2, "upload_session/append_batch": upload_session_append_batch, "upload_session/finish": upload_session_finish, "upload_session/finish_batch": upload_session_finish_batch, "upload_session/finish_batch:2": upload_session_finish_batch_v2, "upload_session/finish_batch/check": upload_session_finish_batch_check, "upload_session/start": upload_session_start, "upload_session/start_batch": upload_session_start_batch, } dropbox-dropbox-sdk-python-6064f79/dropbox/oauth.py000066400000000000000000000607041522735175000224140ustar00rootroot00000000000000import hashlib __all__ = [ "BadRequestException", "BadStateException", "CsrfException", "DropboxOAuth2Flow", "DropboxOAuth2FlowNoRedirect", "NotApprovedException", "OAuth2FlowNoRedirectResult", "OAuth2FlowResult", "ProviderException", ] import base64 import os import urllib import re from datetime import datetime, timedelta from .session import ( API_HOST, WEB_HOST, pinned_session, DEFAULT_TIMEOUT, ) url_path_quote = urllib.parse.quote url_encode = urllib.parse.urlencode TOKEN_ACCESS_TYPES = ["offline", "online", "legacy"] INCLUDE_GRANTED_SCOPES_TYPES = ["user", "team"] PKCE_VERIFIER_LENGTH = 128 class OAuth2FlowNoRedirectResult(object): """ Authorization information for an OAuth2Flow performed with no redirect. """ def __init__(self, access_token, account_id, user_id, refresh_token, expiration, scope): """ :param str access_token: Token to be used to authenticate later requests. :param str account_id: The Dropbox user's account ID. :param str user_id: Deprecated (use :attr:`account_id` instead). :param str refresh_token: Token to be used to acquire new access token when existing one expires. :param expiration: Either the number of seconds from now that the token expires in or the datetime at which the token expires. :type expiration: int or datetime :param list scope: List of scopes to request in base oauth flow. """ self.access_token = access_token if not expiration: self.expires_at = None elif isinstance(expiration, datetime): self.expires_at = expiration else: self.expires_at = datetime.utcnow() + timedelta(seconds=int(expiration)) self.refresh_token = refresh_token self.account_id = account_id self.user_id = user_id self.scope = scope def __repr__(self): return "OAuth2FlowNoRedirectResult(%s, %s, %s, %s, %s, %s)" % ( self.access_token, self.account_id, self.user_id, self.refresh_token, self.expires_at, self.scope, ) class OAuth2FlowResult(OAuth2FlowNoRedirectResult): """ Authorization information for an :class:`OAuth2Flow` with redirect. """ def __init__( self, access_token, account_id, user_id, url_state, refresh_token, expires_in, scope, ): """ Same as :class:`OAuth2FlowNoRedirectResult` but with url_state. :param str url_state: The url state that was set by :meth:`DropboxOAuth2Flow.start`. """ super(OAuth2FlowResult, self).__init__( access_token=access_token, account_id=account_id, user_id=user_id, refresh_token=refresh_token, expiration=expires_in, scope=scope, ) 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, result.refresh_token, result.expires_at, result.scope, ) def __repr__(self): return "OAuth2FlowResult(%s, %s, %s, %s, %s, %s, %s)" % ( self.access_token, self.account_id, self.user_id, self.url_state, self.refresh_token, self.expires_at, self.scope, ) class DropboxOAuth2FlowBase(object): def __init__( self, consumer_key, consumer_secret=None, locale=None, token_access_type=None, scope=None, include_granted_scopes=None, use_pkce=False, timeout=DEFAULT_TIMEOUT, ca_certs=None, ): if scope is not None and (not isinstance(scope, list) or len(scope) == 0): raise BadInputException("Scope list must be of type list") if token_access_type is not None and token_access_type not in TOKEN_ACCESS_TYPES: raise BadInputException( "Token access type must be from the following enum: {}".format(TOKEN_ACCESS_TYPES) ) if not (use_pkce or consumer_secret): raise BadInputException("Must pass in either consumer secret or use PKCE") if include_granted_scopes and not scope: raise BadInputException("Must pass in scope to pass include_granted_scopes") self.consumer_key = consumer_key self.consumer_secret = consumer_secret self.locale = locale self.token_access_type = token_access_type self.requests_session = pinned_session(ca_certs=ca_certs) self.scope = scope self.include_granted_scopes = include_granted_scopes self._timeout = timeout if use_pkce: self.code_verifier = _generate_pkce_code_verifier() self.code_challenge = _generate_pkce_code_challenge(self.code_verifier) else: self.code_verifier = None self.code_challenge = None def _get_authorize_url( self, redirect_uri, state, token_access_type=None, scope=None, include_granted_scopes=None, code_challenge=None, ): 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 if token_access_type is not None: assert token_access_type in TOKEN_ACCESS_TYPES params["token_access_type"] = token_access_type if code_challenge: params["code_challenge"] = code_challenge params["code_challenge_method"] = "S256" if scope is not None: params["scope"] = " ".join(scope) if include_granted_scopes is not None: assert include_granted_scopes in INCLUDE_GRANTED_SCOPES_TYPES params["include_granted_scopes"] = include_granted_scopes return self.build_url("/oauth2/authorize", params, WEB_HOST) def _finish(self, code, redirect_uri, code_verifier): url = self.build_url("/oauth2/token") params = { "grant_type": "authorization_code", "code": code, "client_id": self.consumer_key, } if code_verifier: params["code_verifier"] = code_verifier else: params["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, timeout=self._timeout) 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"] if "refresh_token" in d: refresh_token = d["refresh_token"] else: refresh_token = "" if "expires_in" in d: expires_in = d["expires_in"] else: expires_in = None if "scope" in d: scope = d["scope"] else: scope = None uid = d["uid"] return OAuth2FlowNoRedirectResult( access_token, account_id, uid, refresh_token, expires_in, scope ) 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 """ 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). See examples under `example/oauth `_ """ def __init__( self, consumer_key, consumer_secret=None, locale=None, token_access_type=None, scope=None, include_granted_scopes=None, use_pkce=False, timeout=DEFAULT_TIMEOUT, ca_certs=None, ): # noqa: E501; """ 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 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". :param str token_access_type: the type of token to be requested. From the following enum: * None - creates a token with the app default (either legacy or online) * legacy - creates one long-lived token with no expiration * online - create one short-lived token with an expiration * offline - create one short-lived token with an expiration with a refresh token :param list scope: list of scopes to request in base oauth flow. If left blank, will default to all scopes for app. :param str include_granted_scopes: which scopes to include from previous grants. From the following enum: * user - include user scopes in the grant * team - include team scopes in the grant * *Note*: if this user has never linked the app, include_granted_scopes must be None :param bool use_pkce: Whether or not to use Sha256 based PKCE. PKCE should be only use on client apps which doesn't call your server. It is less secure than non-PKCE flow but can be used if you are unable to safely retrieve your app secret. :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 100 seconds. :param str ca_cert: path to CA certificate. If left blank, default certificate location \ will be used """ super(DropboxOAuth2FlowNoRedirect, self).__init__( consumer_key=consumer_key, consumer_secret=consumer_secret, locale=locale, token_access_type=token_access_type, scope=scope, include_granted_scopes=include_granted_scopes, use_pkce=use_pkce, timeout=timeout, ca_certs=ca_certs, ) 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, self.token_access_type, scope=self.scope, include_granted_scopes=self.include_granted_scopes, code_challenge=self.code_challenge, ) 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: :class:`OAuth2FlowNoRedirectResult` :raises: The same exceptions as :meth:`DropboxOAuth2Flow.finish()`. """ return self._finish(code, None, self.code_verifier) 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. See examples under `example/oauth `_ """ def __init__( self, consumer_key, redirect_uri, session, csrf_token_session_key, consumer_secret=None, locale=None, token_access_type=None, scope=None, include_granted_scopes=None, use_pkce=False, timeout=DEFAULT_TIMEOUT, ca_certs=None, ): """ Construct an instance. :param str consumer_key: Your API app's "app key". :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 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". :param str token_access_type: The type of token to be requested. From the following enum: * None - creates a token with the app default (either legacy or online) * legacy - creates one long-lived token with no expiration * online - create one short-lived token with an expiration * offline - create one short-lived token with an expiration with a refresh token :param list scope: List of scopes to request in base oauth flow. If left blank, will default to all scopes for app. :param str include_granted_scopes: Which scopes to include from previous grants. From the following enum: * user - include user scopes in the grant * team - include team scopes in the grant * *Note*: If this user has never linked the app, :attr:`include_granted_scopes` must \ be `None` :param bool use_pkce: Whether or not to use Sha256 based PKCE :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 100 seconds. :param str ca_cert: path to CA certificate. If left blank, default certificate location \ will be used """ super(DropboxOAuth2Flow, self).__init__( consumer_key=consumer_key, consumer_secret=consumer_secret, locale=locale, token_access_type=token_access_type, scope=scope, include_granted_scopes=include_granted_scopes, use_pkce=use_pkce, timeout=timeout, ca_certs=ca_certs, ) 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 :attr:`redirect_uri` you passed in to the constructor. This function will also save a CSRF token to :attr:`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, self.token_access_type, scope=self.scope, include_granted_scopes=self.include_granted_scopes, code_challenge=self.code_challenge, ) 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: class:`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 :attr:`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, self.code_verifier) 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 class BadInputException(Exception): """ Thrown if incorrect types/values are used This should only ever be thrown during testing, app should have validation of input prior to reaching this point """ 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 :class:`str` representing the key/value pairs in :attr:`params`. Keys are values are ``str()``'d before calling :meth:`urllib.urlencode`, with the exception of unicode objects which are utf8-encoded. """ def encode(o): if isinstance(o, bytes): return o else: if isinstance(o, str): return o.encode("utf-8") else: return str(o).encode("utf-8") utf8_params = {encode(k): encode(v) for k, v in params.items()} return url_encode(utf8_params) def _generate_pkce_code_verifier(): code_verifier = base64.urlsafe_b64encode(os.urandom(PKCE_VERIFIER_LENGTH)).decode("utf-8") code_verifier = re.sub("[^a-zA-Z0-9]+", "", code_verifier) if len(code_verifier) > PKCE_VERIFIER_LENGTH: code_verifier = code_verifier[:128] return code_verifier def _generate_pkce_code_challenge(code_verifier): code_challenge = hashlib.sha256(code_verifier.encode("utf-8")).digest() code_challenge = base64.urlsafe_b64encode(code_challenge).decode("utf-8") code_challenge = code_challenge.replace("=", "") return code_challenge dropbox-dropbox-sdk-python-6064f79/dropbox/openid.py000066400000000000000000000171041522735175000225460ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv class OpenIdError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar OpenIdError.incorrect_openid_scopes: Missing openid claims for the associated access token. """ _catch_all = "other" # Attribute is overwritten below the class definition incorrect_openid_scopes = None # Attribute is overwritten below the class definition other = None def is_incorrect_openid_scopes(self): """ Check if the union tag is ``incorrect_openid_scopes``. :rtype: bool """ return self._tag == "incorrect_openid_scopes" 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(OpenIdError, self)._process_custom_annotations(annotation_type, field_path, processor) OpenIdError_validator = bv.Union(OpenIdError) class UserInfoArgs(bb.Struct): """ No Parameters """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserInfoArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) UserInfoArgs_validator = bv.Struct(UserInfoArgs) class UserInfoError(bb.Union): """ This class acts as a tagged union. Only 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 openid_error(cls, val): """ Create an instance of this class set to the ``openid_error`` tag with value ``val``. :param OpenIdError val: :rtype: UserInfoError """ return cls("openid_error", val) def is_openid_error(self): """ Check if the union tag is ``openid_error``. :rtype: bool """ return self._tag == "openid_error" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_openid_error(self): """ Only call this if :meth:`is_openid_error` is true. :rtype: OpenIdError """ if not self.is_openid_error(): raise AttributeError("tag 'openid_error' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserInfoError, self)._process_custom_annotations( annotation_type, field_path, processor ) UserInfoError_validator = bv.Union(UserInfoError) class UserInfoResult(bb.Struct): """ :ivar UserInfoResult.family_name: Last name of user. :ivar UserInfoResult.given_name: First name of user. :ivar UserInfoResult.email: Email address of user. :ivar UserInfoResult.email_verified: If user is email verified. :ivar UserInfoResult.iss: Issuer of token (in this case Dropbox). :ivar UserInfoResult.sub: An identifier for the user. This is the Dropbox account_id, a string value such as dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc. """ __slots__ = [ "_family_name_value", "_given_name_value", "_email_value", "_email_verified_value", "_iss_value", "_sub_value", ] _has_required_fields = False def __init__( self, family_name=None, given_name=None, email=None, email_verified=None, iss=None, sub=None, ): self._family_name_value = bb.NOT_SET self._given_name_value = bb.NOT_SET self._email_value = bb.NOT_SET self._email_verified_value = bb.NOT_SET self._iss_value = bb.NOT_SET self._sub_value = bb.NOT_SET if family_name is not None: self.family_name = family_name if given_name is not None: self.given_name = given_name if email is not None: self.email = email if email_verified is not None: self.email_verified = email_verified if iss is not None: self.iss = iss if sub is not None: self.sub = sub # Instance attribute type: str (validator is set below) family_name = bb.Attribute("family_name", nullable=True) # Instance attribute type: str (validator is set below) given_name = bb.Attribute("given_name", nullable=True) # Instance attribute type: str (validator is set below) email = bb.Attribute("email", nullable=True) # Instance attribute type: bool (validator is set below) email_verified = bb.Attribute("email_verified", nullable=True) # Instance attribute type: str (validator is set below) iss = bb.Attribute("iss") # Instance attribute type: str (validator is set below) sub = bb.Attribute("sub") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserInfoResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UserInfoResult_validator = bv.Struct(UserInfoResult) OpenIdError._incorrect_openid_scopes_validator = bv.Void() OpenIdError._other_validator = bv.Void() OpenIdError._tagmap = { "incorrect_openid_scopes": OpenIdError._incorrect_openid_scopes_validator, "other": OpenIdError._other_validator, } OpenIdError.incorrect_openid_scopes = OpenIdError("incorrect_openid_scopes") OpenIdError.other = OpenIdError("other") UserInfoArgs._all_field_names_ = set([]) UserInfoArgs._all_fields_ = [] UserInfoError._openid_error_validator = OpenIdError_validator UserInfoError._other_validator = bv.Void() UserInfoError._tagmap = { "openid_error": UserInfoError._openid_error_validator, "other": UserInfoError._other_validator, } UserInfoError.other = UserInfoError("other") UserInfoResult.family_name.validator = bv.Nullable(bv.String()) UserInfoResult.given_name.validator = bv.Nullable(bv.String()) UserInfoResult.email.validator = bv.Nullable(bv.String()) UserInfoResult.email_verified.validator = bv.Nullable(bv.Boolean()) UserInfoResult.iss.validator = bv.String() UserInfoResult.sub.validator = bv.String() UserInfoResult._all_field_names_ = set( [ "family_name", "given_name", "email", "email_verified", "iss", "sub", ] ) UserInfoResult._all_fields_ = [ ("family_name", UserInfoResult.family_name.validator), ("given_name", UserInfoResult.given_name.validator), ("email", UserInfoResult.email.validator), ("email_verified", UserInfoResult.email_verified.validator), ("iss", UserInfoResult.iss.validator), ("sub", UserInfoResult.sub.validator), ] UserInfoResult.iss.default = "" UserInfoResult.sub.default = "" userinfo = bb.Route( "userinfo", 1, False, UserInfoArgs_validator, UserInfoResult_validator, UserInfoError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) ROUTES = { "userinfo": userinfo, } dropbox-dropbox-sdk-python-6064f79/dropbox/paper.py000066400000000000000000003612321522735175000224030ustar00rootroot00000000000000# -*- 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. New Paper users will see docs they create in their filesystem as '.paper' files alongside their other Dropbox content. The /paper endpoints are being deprecated and you'll need to use /files and /sharing endpoints to interact with their Paper content. Read more in the `Paper Migration Guide `_. """ from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import common from dropbox import files from dropbox import sharing class AddMember(bb.Struct): """ :ivar AddMember.permission_level: Permission for the user. :ivar AddMember.member: User which should be added to the Paper doc. Specify only email address or Dropbox account ID. """ __slots__ = [ "_permission_level_value", "_member_value", ] _has_required_fields = True def __init__(self, member=None, permission_level=None): self._permission_level_value = bb.NOT_SET self._member_value = bb.NOT_SET if permission_level is not None: self.permission_level = permission_level if member is not None: self.member = member # Instance attribute type: PaperDocPermissionLevel (validator is set below) permission_level = bb.Attribute("permission_level", user_defined=True) # Instance attribute type: sharing.MemberSelector (validator is set below) member = bb.Attribute("member", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddMember, self)._process_custom_annotations(annotation_type, field_path, processor) AddMember_validator = bv.Struct(AddMember) class RefPaperDoc(bb.Struct): """ :ivar RefPaperDoc.doc_id: The Paper doc ID. """ __slots__ = [ "_doc_id_value", ] _has_required_fields = True def __init__(self, doc_id=None): self._doc_id_value = bb.NOT_SET if doc_id is not None: self.doc_id = doc_id # Instance attribute type: str (validator is set below) doc_id = bb.Attribute("doc_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RefPaperDoc, self)._process_custom_annotations(annotation_type, field_path, processor) RefPaperDoc_validator = bv.Struct(RefPaperDoc) class AddPaperDocUser(RefPaperDoc): """ :ivar AddPaperDocUser.members: User which should be added to the Paper doc. Specify only email address or Dropbox account ID. :ivar AddPaperDocUser.custom_message: A personal message that will be emailed to each successfully added member. :ivar AddPaperDocUser.quiet: Clients should set this to true if no email message shall be sent to added users. """ __slots__ = [ "_members_value", "_custom_message_value", "_quiet_value", ] _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 = bb.NOT_SET self._custom_message_value = bb.NOT_SET self._quiet_value = bb.NOT_SET 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 # Instance attribute type: list of [AddMember] (validator is set below) members = bb.Attribute("members") # Instance attribute type: str (validator is set below) custom_message = bb.Attribute("custom_message", nullable=True) # Instance attribute type: bool (validator is set below) quiet = bb.Attribute("quiet") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddPaperDocUser, self)._process_custom_annotations( annotation_type, field_path, processor ) AddPaperDocUser_validator = bv.Struct(AddPaperDocUser) class AddPaperDocUserMemberResult(bb.Struct): """ Per-member result for :meth:`dropbox.dropbox_client.Dropbox.paper_docs_users_add`. :ivar AddPaperDocUserMemberResult.member: One of specified input members. :ivar AddPaperDocUserMemberResult.result: The outcome of the action on this member. """ __slots__ = [ "_member_value", "_result_value", ] _has_required_fields = True def __init__(self, member=None, result=None): self._member_value = bb.NOT_SET self._result_value = bb.NOT_SET if member is not None: self.member = member if result is not None: self.result = result # Instance attribute type: sharing.MemberSelector (validator is set below) member = bb.Attribute("member", user_defined=True) # Instance attribute type: AddPaperDocUserResult (validator is set below) result = bb.Attribute("result", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddPaperDocUserMemberResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 AddPaperDocUserResult.success: User was successfully added to the Paper doc. :ivar AddPaperDocUserResult.unknown_error: Something unexpected happened when trying to add the user to the Paper doc. :ivar AddPaperDocUserResult.sharing_outside_team_disabled: The Paper doc can be shared only with team members. :ivar AddPaperDocUserResult.daily_limit_reached: The daily limit of how many users can be added to the Paper doc was reached. :ivar AddPaperDocUserResult.user_is_owner: Owner's permissions cannot be changed. :ivar AddPaperDocUserResult.failed_user_data_retrieval: User data could not be retrieved. Clients should retry. :ivar 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 ) AddPaperDocUserResult_validator = bv.Union(AddPaperDocUserResult) class Cursor(bb.Struct): """ :ivar Cursor.value: The actual cursor value. :ivar 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", "_expiration_value", ] _has_required_fields = True def __init__(self, value=None, expiration=None): self._value_value = bb.NOT_SET self._expiration_value = bb.NOT_SET if value is not None: self.value = value if expiration is not None: self.expiration = expiration # Instance attribute type: str (validator is set below) value = bb.Attribute("value") # Instance attribute type: datetime.datetime (validator is set below) expiration = bb.Attribute("expiration", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(Cursor, self)._process_custom_annotations(annotation_type, field_path, processor) 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 PaperApiBaseError.insufficient_permissions: Your account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the `Paper Migration Guide `_. """ _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 ) 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 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 ) 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 DocSubscriptionLevel.default: No change email messages unless you're the creator. :ivar DocSubscriptionLevel.ignore: Ignored: Not shown in pad lists or activity and no email message is sent. :ivar DocSubscriptionLevel.every: Subscribed: Shown in pad lists and activity and change email messages are sent. :ivar 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 ) 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 ExportFormat.html: The HTML export format. :ivar ExportFormat.markdown: The markdown export format. :ivar ExportFormat.json: Doc metadata JSON 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 json = 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_json(self): """ Check if the union tag is ``json``. :rtype: bool """ return self._tag == "json" 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 ) ExportFormat_validator = bv.Union(ExportFormat) class Folder(bb.Struct): """ Data structure representing a Paper folder. :ivar Folder.id: Paper folder ID. This ID uniquely identifies the folder. :ivar Folder.name: Paper folder name. """ __slots__ = [ "_id_value", "_name_value", ] _has_required_fields = True def __init__(self, id=None, name=None): self._id_value = bb.NOT_SET self._name_value = bb.NOT_SET if id is not None: self.id = id if name is not None: self.name = name # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(Folder, self)._process_custom_annotations(annotation_type, field_path, processor) Folder_validator = bv.Struct(Folder) class FolderSharingPolicyType(bb.Union): """ The sharing policy of a Paper folder. 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 FolderSharingPolicyType.team: Everyone in your team and anyone directly invited can access this folder. :ivar 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 ) 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 FolderSubscriptionLevel.none: Not shown in activity, no email messages. :ivar FolderSubscriptionLevel.activity_only: Shown in activity, no email messages. :ivar FolderSubscriptionLevel.daily_emails: Shown in activity, daily email messages. :ivar 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 ) FolderSubscriptionLevel_validator = bv.Union(FolderSubscriptionLevel) class FoldersContainingPaperDoc(bb.Struct): """ Metadata about Paper folders containing the specififed Paper doc. :ivar FoldersContainingPaperDoc.folder_sharing_policy_type: The sharing policy of the folder containing the Paper doc. :ivar FoldersContainingPaperDoc.folders: The folder path. If present the first folder is the root folder. """ __slots__ = [ "_folder_sharing_policy_type_value", "_folders_value", ] _has_required_fields = False def __init__(self, folder_sharing_policy_type=None, folders=None): self._folder_sharing_policy_type_value = bb.NOT_SET self._folders_value = bb.NOT_SET 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 # Instance attribute type: FolderSharingPolicyType (validator is set below) folder_sharing_policy_type = bb.Attribute( "folder_sharing_policy_type", nullable=True, user_defined=True ) # Instance attribute type: list of [Folder] (validator is set below) folders = bb.Attribute("folders", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FoldersContainingPaperDoc, self)._process_custom_annotations( annotation_type, field_path, processor ) FoldersContainingPaperDoc_validator = bv.Struct(FoldersContainingPaperDoc) class GetDocMetadataArg(bb.Struct): """ Argument for retrieving Paper doc metadata. Accepts either a legacy Paper doc ID or a Cloud Doc file ID. :ivar GetDocMetadataArg.doc_id: Legacy Paper doc identifier. :ivar GetDocMetadataArg.file_id: Dropbox file ID for Cloud Docs (post-PiFS migration). """ __slots__ = [ "_doc_id_value", "_file_id_value", ] _has_required_fields = False def __init__(self, doc_id=None, file_id=None): self._doc_id_value = bb.NOT_SET self._file_id_value = bb.NOT_SET if doc_id is not None: self.doc_id = doc_id if file_id is not None: self.file_id = file_id # Instance attribute type: str (validator is set below) doc_id = bb.Attribute("doc_id", nullable=True) # Instance attribute type: str (validator is set below) file_id = bb.Attribute("file_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetDocMetadataArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GetDocMetadataArg_validator = bv.Struct(GetDocMetadataArg) 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 ImportFormat.html: The provided data is interpreted as standard HTML. :ivar ImportFormat.markdown: The provided data is interpreted as markdown. The first line of the provided document will be used as the doc title. :ivar ImportFormat.plain_text: The provided data is interpreted as plain text. 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 ) ImportFormat_validator = bv.Union(ImportFormat) class InviteeInfoWithPermissionLevel(bb.Struct): """ :ivar InviteeInfoWithPermissionLevel.invitee: Email address invited to the Paper doc. :ivar InviteeInfoWithPermissionLevel.permission_level: Permission level for the invitee. """ __slots__ = [ "_invitee_value", "_permission_level_value", ] _has_required_fields = True def __init__(self, invitee=None, permission_level=None): self._invitee_value = bb.NOT_SET self._permission_level_value = bb.NOT_SET if invitee is not None: self.invitee = invitee if permission_level is not None: self.permission_level = permission_level # Instance attribute type: sharing.InviteeInfo (validator is set below) invitee = bb.Attribute("invitee", user_defined=True) # Instance attribute type: PaperDocPermissionLevel (validator is set below) permission_level = bb.Attribute("permission_level", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(InviteeInfoWithPermissionLevel, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) ListDocsCursorError_validator = bv.Union(ListDocsCursorError) class ListPaperDocsArgs(bb.Struct): """ :ivar ListPaperDocsArgs.filter_by: Allows user to specify how the Paper docs should be filtered. :ivar ListPaperDocsArgs.sort_by: Allows user to specify how the Paper docs should be sorted. :ivar ListPaperDocsArgs.sort_order: Allows user to specify the sort order of the result. :ivar 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. :ivar ListPaperDocsArgs.stop_at_date: Do not return results beyond this date. Behavior depends on sort order. """ __slots__ = [ "_filter_by_value", "_sort_by_value", "_sort_order_value", "_limit_value", "_stop_at_date_value", ] _has_required_fields = False def __init__( self, filter_by=None, sort_by=None, sort_order=None, limit=None, stop_at_date=None, ): self._filter_by_value = bb.NOT_SET self._sort_by_value = bb.NOT_SET self._sort_order_value = bb.NOT_SET self._limit_value = bb.NOT_SET self._stop_at_date_value = bb.NOT_SET 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 if stop_at_date is not None: self.stop_at_date = stop_at_date # Instance attribute type: ListPaperDocsFilterBy (validator is set below) filter_by = bb.Attribute("filter_by", user_defined=True) # Instance attribute type: ListPaperDocsSortBy (validator is set below) sort_by = bb.Attribute("sort_by", user_defined=True) # Instance attribute type: ListPaperDocsSortOrder (validator is set below) sort_order = bb.Attribute("sort_order", user_defined=True) # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") # Instance attribute type: datetime.datetime (validator is set below) stop_at_date = bb.Attribute("stop_at_date", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListPaperDocsArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) ListPaperDocsArgs_validator = bv.Struct(ListPaperDocsArgs) class ListPaperDocsContinueArgs(bb.Struct): """ :ivar ListPaperDocsContinueArgs.cursor: The cursor obtained from :meth:`dropbox.dropbox_client.Dropbox.paper_docs_list` or :meth:`dropbox.dropbox_client.Dropbox.paper_docs_list_continue`. Allows for pagination. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListPaperDocsContinueArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ListPaperDocsFilterBy.docs_accessed: Fetches all Paper doc IDs that the user has ever accessed. :ivar 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 ) ListPaperDocsFilterBy_validator = bv.Union(ListPaperDocsFilterBy) class ListPaperDocsResponse(bb.Struct): """ :ivar 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_client.Dropbox.paper_docs_list`. :ivar ListPaperDocsResponse.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.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_client.Dropbox.paper_docs_list`. :ivar ListPaperDocsResponse.has_more: Will be set to True if a subsequent call with the provided cursor to :meth:`dropbox.dropbox_client.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_client.Dropbox.paper_docs_list_continue`. """ __slots__ = [ "_doc_ids_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, doc_ids=None, cursor=None, has_more=None): self._doc_ids_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [str] (validator is set below) doc_ids = bb.Attribute("doc_ids") # Instance attribute type: Cursor (validator is set below) cursor = bb.Attribute("cursor", user_defined=True) # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListPaperDocsResponse, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ListPaperDocsSortBy.accessed: Sorts the Paper docs by the time they were last accessed. :ivar ListPaperDocsSortBy.modified: Sorts the Paper docs by the time they were last modified. :ivar 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 ) 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 ListPaperDocsSortOrder.ascending: Sorts the search result in ascending order. :ivar 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 ) 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 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 ) ListUsersCursorError_validator = bv.Union(ListUsersCursorError) class ListUsersOnFolderArgs(RefPaperDoc): """ :ivar 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", ] _has_required_fields = True def __init__(self, doc_id=None, limit=None): super(ListUsersOnFolderArgs, self).__init__(doc_id) self._limit_value = bb.NOT_SET if limit is not None: self.limit = limit # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListUsersOnFolderArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) ListUsersOnFolderArgs_validator = bv.Struct(ListUsersOnFolderArgs) class ListUsersOnFolderContinueArgs(RefPaperDoc): """ :ivar ListUsersOnFolderContinueArgs.cursor: The cursor obtained from :meth:`dropbox.dropbox_client.Dropbox.paper_docs_folder_users_list` or :meth:`dropbox.dropbox_client.Dropbox.paper_docs_folder_users_list_continue`. Allows for pagination. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, doc_id=None, cursor=None): super(ListUsersOnFolderContinueArgs, self).__init__(doc_id) self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListUsersOnFolderContinueArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) ListUsersOnFolderContinueArgs_validator = bv.Struct(ListUsersOnFolderContinueArgs) class ListUsersOnFolderResponse(bb.Struct): """ :ivar ListUsersOnFolderResponse.invitees: List of email addresses that are invited on the Paper folder. :ivar ListUsersOnFolderResponse.users: List of users that are invited on the Paper folder. :ivar ListUsersOnFolderResponse.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.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_client.Dropbox.paper_docs_folder_users_list`. :ivar ListUsersOnFolderResponse.has_more: Will be set to True if a subsequent call with the provided cursor to :meth:`dropbox.dropbox_client.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_client.Dropbox.paper_docs_folder_users_list_continue`. """ __slots__ = [ "_invitees_value", "_users_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, invitees=None, users=None, cursor=None, has_more=None): self._invitees_value = bb.NOT_SET self._users_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [sharing.InviteeInfo] (validator is set below) invitees = bb.Attribute("invitees") # Instance attribute type: list of [sharing.UserInfo] (validator is set below) users = bb.Attribute("users") # Instance attribute type: Cursor (validator is set below) cursor = bb.Attribute("cursor", user_defined=True) # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListUsersOnFolderResponse, self)._process_custom_annotations( annotation_type, field_path, processor ) ListUsersOnFolderResponse_validator = bv.Struct(ListUsersOnFolderResponse) class ListUsersOnPaperDocArgs(RefPaperDoc): """ :ivar 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 ListUsersOnPaperDocArgs.filter_by: Specify this attribute if you want to obtain users that have already accessed the Paper doc. """ __slots__ = [ "_limit_value", "_filter_by_value", ] _has_required_fields = True def __init__(self, doc_id=None, limit=None, filter_by=None): super(ListUsersOnPaperDocArgs, self).__init__(doc_id) self._limit_value = bb.NOT_SET self._filter_by_value = bb.NOT_SET if limit is not None: self.limit = limit if filter_by is not None: self.filter_by = filter_by # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") # Instance attribute type: UserOnPaperDocFilter (validator is set below) filter_by = bb.Attribute("filter_by", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListUsersOnPaperDocArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) ListUsersOnPaperDocArgs_validator = bv.Struct(ListUsersOnPaperDocArgs) class ListUsersOnPaperDocContinueArgs(RefPaperDoc): """ :ivar ListUsersOnPaperDocContinueArgs.cursor: The cursor obtained from :meth:`dropbox.dropbox_client.Dropbox.paper_docs_users_list` or :meth:`dropbox.dropbox_client.Dropbox.paper_docs_users_list_continue`. Allows for pagination. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, doc_id=None, cursor=None): super(ListUsersOnPaperDocContinueArgs, self).__init__(doc_id) self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListUsersOnPaperDocContinueArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) ListUsersOnPaperDocContinueArgs_validator = bv.Struct(ListUsersOnPaperDocContinueArgs) class ListUsersOnPaperDocResponse(bb.Struct): """ :ivar ListUsersOnPaperDocResponse.invitees: List of email addresses with their respective permission levels that are invited on the Paper doc. :ivar ListUsersOnPaperDocResponse.users: List of users with their respective permission levels that are invited on the Paper folder. :ivar ListUsersOnPaperDocResponse.doc_owner: The Paper doc owner. This field is populated on every single response. :ivar ListUsersOnPaperDocResponse.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.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_client.Dropbox.paper_docs_users_list`. :ivar ListUsersOnPaperDocResponse.has_more: Will be set to True if a subsequent call with the provided cursor to :meth:`dropbox.dropbox_client.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_client.Dropbox.paper_docs_users_list_continue`. """ __slots__ = [ "_invitees_value", "_users_value", "_doc_owner_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, invitees=None, users=None, doc_owner=None, cursor=None, has_more=None): self._invitees_value = bb.NOT_SET self._users_value = bb.NOT_SET self._doc_owner_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [InviteeInfoWithPermissionLevel] (validator is set below) invitees = bb.Attribute("invitees") # Instance attribute type: list of [UserInfoWithPermissionLevel] (validator is set below) users = bb.Attribute("users") # Instance attribute type: sharing.UserInfo (validator is set below) doc_owner = bb.Attribute("doc_owner", user_defined=True) # Instance attribute type: Cursor (validator is set below) cursor = bb.Attribute("cursor", user_defined=True) # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListUsersOnPaperDocResponse, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PaperApiCursorError.expired_cursor: The provided cursor is expired. :ivar PaperApiCursorError.invalid_cursor: The provided cursor is invalid. :ivar PaperApiCursorError.wrong_user_in_cursor: The provided cursor contains invalid user. :ivar 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 ) PaperApiCursorError_validator = bv.Union(PaperApiCursorError) class PaperDocCreateArgs(bb.Struct): """ :ivar 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 PaperDocCreateArgs.import_format: The format of provided data. """ __slots__ = [ "_parent_folder_id_value", "_import_format_value", ] _has_required_fields = True def __init__(self, import_format=None, parent_folder_id=None): self._parent_folder_id_value = bb.NOT_SET self._import_format_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) parent_folder_id = bb.Attribute("parent_folder_id", nullable=True) # Instance attribute type: ImportFormat (validator is set below) import_format = bb.Attribute("import_format", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocCreateArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PaperDocCreateError.content_malformed: The provided content was malformed and cannot be imported to Paper. :ivar PaperDocCreateError.folder_not_found: The specified Paper folder is cannot be found. :ivar PaperDocCreateError.doc_length_exceeded: The newly created Paper doc would be too large. Please split the content into multiple docs. :ivar PaperDocCreateError.image_size_exceeded: The imported document contains an image that is too large. The current limit is 1MB. 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 ) PaperDocCreateError_validator = bv.Union(PaperDocCreateError) class PaperDocCreateUpdateResult(bb.Struct): """ :ivar PaperDocCreateUpdateResult.doc_id: Doc ID of the newly created doc. :ivar PaperDocCreateUpdateResult.revision: The Paper doc revision. Simply an ever increasing number. :ivar PaperDocCreateUpdateResult.title: The Paper doc title. """ __slots__ = [ "_doc_id_value", "_revision_value", "_title_value", ] _has_required_fields = True def __init__(self, doc_id=None, revision=None, title=None): self._doc_id_value = bb.NOT_SET self._revision_value = bb.NOT_SET self._title_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) doc_id = bb.Attribute("doc_id") # Instance attribute type: int (validator is set below) revision = bb.Attribute("revision") # Instance attribute type: str (validator is set below) title = bb.Attribute("title") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocCreateUpdateResult, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocCreateUpdateResult_validator = bv.Struct(PaperDocCreateUpdateResult) class PaperDocExport(RefPaperDoc): """ :ivar PaperDocExport.include_comments: When true, export includes comment threads (e.g. markdown footnotes). When false or omitted, body only. Other formats may adopt this later; currently only markdown uses it. Plain bool (not optional): protoc-gen-godbx does not support proto3 optional yet. """ __slots__ = [ "_export_format_value", "_include_comments_value", ] _has_required_fields = True def __init__(self, doc_id=None, export_format=None, include_comments=None): super(PaperDocExport, self).__init__(doc_id) self._export_format_value = bb.NOT_SET self._include_comments_value = bb.NOT_SET if export_format is not None: self.export_format = export_format if include_comments is not None: self.include_comments = include_comments # Instance attribute type: ExportFormat (validator is set below) export_format = bb.Attribute("export_format", user_defined=True) # Instance attribute type: bool (validator is set below) include_comments = bb.Attribute("include_comments") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocExport, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocExport_validator = bv.Struct(PaperDocExport) class PaperDocExportResult(bb.Struct): """ :ivar PaperDocExportResult.owner: The Paper doc owner's email address. :ivar PaperDocExportResult.title: The Paper doc title. :ivar PaperDocExportResult.revision: The Paper doc revision. Simply an ever increasing number. :ivar PaperDocExportResult.mime_type: MIME type of the export. This corresponds to :class:`ExportFormat` specified in the request. """ __slots__ = [ "_owner_value", "_title_value", "_revision_value", "_mime_type_value", ] _has_required_fields = True def __init__(self, owner=None, title=None, revision=None, mime_type=None): self._owner_value = bb.NOT_SET self._title_value = bb.NOT_SET self._revision_value = bb.NOT_SET self._mime_type_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) owner = bb.Attribute("owner") # Instance attribute type: str (validator is set below) title = bb.Attribute("title") # Instance attribute type: int (validator is set below) revision = bb.Attribute("revision") # Instance attribute type: str (validator is set below) mime_type = bb.Attribute("mime_type") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocExportResult, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocExportResult_validator = bv.Struct(PaperDocExportResult) class PaperDocGetMetadataResult(bb.Struct): """ Metadata returned by docs/get_metadata. :ivar PaperDocGetMetadataResult.doc_id: The Paper doc ID. :ivar PaperDocGetMetadataResult.owner: The Paper doc owner's email address. :ivar PaperDocGetMetadataResult.title: The Paper doc title. :ivar PaperDocGetMetadataResult.created_date: The Paper doc creation date. :ivar PaperDocGetMetadataResult.status: The Paper doc status. :ivar PaperDocGetMetadataResult.revision: The Paper doc revision. Simply an ever increasing number. :ivar PaperDocGetMetadataResult.last_updated_date: The date when the Paper doc was last edited. :ivar PaperDocGetMetadataResult.last_editor: The email address of the last editor of the Paper doc. """ __slots__ = [ "_doc_id_value", "_owner_value", "_title_value", "_created_date_value", "_status_value", "_revision_value", "_last_updated_date_value", "_last_editor_value", ] _has_required_fields = True def __init__( self, doc_id=None, owner=None, title=None, created_date=None, status=None, revision=None, last_updated_date=None, last_editor=None, ): self._doc_id_value = bb.NOT_SET self._owner_value = bb.NOT_SET self._title_value = bb.NOT_SET self._created_date_value = bb.NOT_SET self._status_value = bb.NOT_SET self._revision_value = bb.NOT_SET self._last_updated_date_value = bb.NOT_SET self._last_editor_value = bb.NOT_SET if doc_id is not None: self.doc_id = doc_id if owner is not None: self.owner = owner if title is not None: self.title = title if created_date is not None: self.created_date = created_date if status is not None: self.status = status if revision is not None: self.revision = revision if last_updated_date is not None: self.last_updated_date = last_updated_date if last_editor is not None: self.last_editor = last_editor # Instance attribute type: str (validator is set below) doc_id = bb.Attribute("doc_id") # Instance attribute type: str (validator is set below) owner = bb.Attribute("owner") # Instance attribute type: str (validator is set below) title = bb.Attribute("title") # Instance attribute type: datetime.datetime (validator is set below) created_date = bb.Attribute("created_date") # Instance attribute type: PaperDocStatus (validator is set below) status = bb.Attribute("status", user_defined=True) # Instance attribute type: int (validator is set below) revision = bb.Attribute("revision") # Instance attribute type: datetime.datetime (validator is set below) last_updated_date = bb.Attribute("last_updated_date") # Instance attribute type: str (validator is set below) last_editor = bb.Attribute("last_editor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocGetMetadataResult, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocGetMetadataResult_validator = bv.Struct(PaperDocGetMetadataResult) 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 PaperDocPermissionLevel.edit: User will be granted edit permissions. :ivar 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 ) PaperDocPermissionLevel_validator = bv.Union(PaperDocPermissionLevel) class PaperDocSharingPolicy(RefPaperDoc): """ :ivar PaperDocSharingPolicy.sharing_policy: The default sharing policy to be set for the Paper doc. """ __slots__ = [ "_sharing_policy_value", ] _has_required_fields = True def __init__(self, doc_id=None, sharing_policy=None): super(PaperDocSharingPolicy, self).__init__(doc_id) self._sharing_policy_value = bb.NOT_SET if sharing_policy is not None: self.sharing_policy = sharing_policy # Instance attribute type: SharingPolicy (validator is set below) sharing_policy = bb.Attribute("sharing_policy", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocSharingPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocSharingPolicy_validator = bv.Struct(PaperDocSharingPolicy) class PaperDocStatus(bb.Union): """ The status 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 PaperDocStatus.active: The Paper doc is active. :ivar PaperDocStatus.deleted: The Paper doc is deleted. """ _catch_all = "other" # Attribute is overwritten below the class definition active = None # Attribute is overwritten below the class definition deleted = 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_deleted(self): """ Check if the union tag is ``deleted``. :rtype: bool """ return self._tag == "deleted" 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(PaperDocStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocStatus_validator = bv.Union(PaperDocStatus) class PaperDocUpdateArgs(RefPaperDoc): """ :ivar PaperDocUpdateArgs.doc_update_policy: The policy used for the current update call. :ivar 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 PaperDocUpdateArgs.import_format: The format of provided data. """ __slots__ = [ "_doc_update_policy_value", "_revision_value", "_import_format_value", ] _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 = bb.NOT_SET self._revision_value = bb.NOT_SET self._import_format_value = bb.NOT_SET 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 # Instance attribute type: PaperDocUpdatePolicy (validator is set below) doc_update_policy = bb.Attribute("doc_update_policy", user_defined=True) # Instance attribute type: int (validator is set below) revision = bb.Attribute("revision") # Instance attribute type: ImportFormat (validator is set below) import_format = bb.Attribute("import_format", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocUpdateArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PaperDocUpdateError.content_malformed: The provided content was malformed and cannot be imported to Paper. :ivar PaperDocUpdateError.revision_mismatch: The provided revision does not match the document head. :ivar PaperDocUpdateError.doc_length_exceeded: The newly created Paper doc would be too large, split the content into multiple docs. :ivar PaperDocUpdateError.image_size_exceeded: The imported document contains an image that is too large. The current limit is 1MB. This only applies to HTML with data URI. :ivar PaperDocUpdateError.doc_archived: This operation is not allowed on archived Paper docs. :ivar 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 ) 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 PaperDocUpdatePolicy.append: The content will be appended to the doc. :ivar PaperDocUpdatePolicy.prepend: The content will be prepended to the doc. The doc title will not be affected. :ivar 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 ) PaperDocUpdatePolicy_validator = bv.Union(PaperDocUpdatePolicy) class PaperFolderCreateArg(bb.Struct): """ :ivar PaperFolderCreateArg.name: The name of the new Paper folder. :ivar PaperFolderCreateArg.parent_folder_id: The encrypted Paper folder Id where the new Paper folder should be created. The API user has to have write access to this folder or error is thrown. If not supplied, the new folder will be created at top level. :ivar PaperFolderCreateArg.is_team_folder: Whether the folder to be created should be a team folder. This value will be ignored if parent_folder_id is supplied, as the new folder will inherit the type (private or team folder) from its parent. We will by default create a top-level private folder if both parent_folder_id and is_team_folder are not supplied. """ __slots__ = [ "_name_value", "_parent_folder_id_value", "_is_team_folder_value", ] _has_required_fields = True def __init__(self, name=None, parent_folder_id=None, is_team_folder=None): self._name_value = bb.NOT_SET self._parent_folder_id_value = bb.NOT_SET self._is_team_folder_value = bb.NOT_SET if name is not None: self.name = name if parent_folder_id is not None: self.parent_folder_id = parent_folder_id if is_team_folder is not None: self.is_team_folder = is_team_folder # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) parent_folder_id = bb.Attribute("parent_folder_id", nullable=True) # Instance attribute type: bool (validator is set below) is_team_folder = bb.Attribute("is_team_folder", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderCreateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderCreateArg_validator = bv.Struct(PaperFolderCreateArg) class PaperFolderCreateError(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 PaperFolderCreateError.folder_not_found: The specified parent Paper folder cannot be found. :ivar PaperFolderCreateError.invalid_folder_id: The folder id cannot be decrypted to valid folder id. """ # Attribute is overwritten below the class definition folder_not_found = None # Attribute is overwritten below the class definition invalid_folder_id = None 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_invalid_folder_id(self): """ Check if the union tag is ``invalid_folder_id``. :rtype: bool """ return self._tag == "invalid_folder_id" def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderCreateError, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderCreateError_validator = bv.Union(PaperFolderCreateError) class PaperFolderCreateResult(bb.Struct): """ :ivar PaperFolderCreateResult.folder_id: Folder ID of the newly created folder. """ __slots__ = [ "_folder_id_value", ] _has_required_fields = True def __init__(self, folder_id=None): self._folder_id_value = bb.NOT_SET if folder_id is not None: self.folder_id = folder_id # Instance attribute type: str (validator is set below) folder_id = bb.Attribute("folder_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderCreateResult, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderCreateResult_validator = bv.Struct(PaperFolderCreateResult) class RemovePaperDocUser(RefPaperDoc): """ :ivar RemovePaperDocUser.member: User which should be removed from the Paper doc. Specify only email address or Dropbox account ID. """ __slots__ = [ "_member_value", ] _has_required_fields = True def __init__(self, doc_id=None, member=None): super(RemovePaperDocUser, self).__init__(doc_id) self._member_value = bb.NOT_SET if member is not None: self.member = member # Instance attribute type: sharing.MemberSelector (validator is set below) member = bb.Attribute("member", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(RemovePaperDocUser, self)._process_custom_annotations( annotation_type, field_path, processor ) RemovePaperDocUser_validator = bv.Struct(RemovePaperDocUser) class SharingPolicy(bb.Struct): """ Sharing policy of Paper doc. :ivar SharingPolicy.public_sharing_policy: This value applies to the non-team members. :ivar 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", "_team_sharing_policy_value", ] _has_required_fields = False def __init__(self, public_sharing_policy=None, team_sharing_policy=None): self._public_sharing_policy_value = bb.NOT_SET self._team_sharing_policy_value = bb.NOT_SET 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 # Instance attribute type: SharingPublicPolicyType (validator is set below) public_sharing_policy = bb.Attribute("public_sharing_policy", nullable=True, user_defined=True) # Instance attribute type: SharingTeamPolicyType (validator is set below) team_sharing_policy = bb.Attribute("team_sharing_policy", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 SharingTeamPolicyType.people_with_link_can_edit: Users who have a link to this doc can edit it. :ivar SharingTeamPolicyType.people_with_link_can_view_and_comment: Users who have a link to this doc can view and comment on it. :ivar 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 ) 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 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 ) SharingPublicPolicyType_validator = bv.Union(SharingPublicPolicyType) class UserInfoWithPermissionLevel(bb.Struct): """ :ivar UserInfoWithPermissionLevel.user: User shared on the Paper doc. :ivar UserInfoWithPermissionLevel.permission_level: Permission level for the user. """ __slots__ = [ "_user_value", "_permission_level_value", ] _has_required_fields = True def __init__(self, user=None, permission_level=None): self._user_value = bb.NOT_SET self._permission_level_value = bb.NOT_SET if user is not None: self.user = user if permission_level is not None: self.permission_level = permission_level # Instance attribute type: sharing.UserInfo (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: PaperDocPermissionLevel (validator is set below) permission_level = bb.Attribute("permission_level", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserInfoWithPermissionLevel, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 UserOnPaperDocFilter.visited: all users who have visited the Paper doc. :ivar 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 ) UserOnPaperDocFilter_validator = bv.Union(UserOnPaperDocFilter) 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._json_validator = bv.Void() ExportFormat._other_validator = bv.Void() ExportFormat._tagmap = { "html": ExportFormat._html_validator, "markdown": ExportFormat._markdown_validator, "json": ExportFormat._json_validator, "other": ExportFormat._other_validator, } ExportFormat.html = ExportFormat("html") ExportFormat.markdown = ExportFormat("markdown") ExportFormat.json = ExportFormat("json") 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), ] GetDocMetadataArg.doc_id.validator = bv.Nullable(PaperDocId_validator) GetDocMetadataArg.file_id.validator = bv.Nullable(files.FileId_validator) GetDocMetadataArg._all_field_names_ = set( [ "doc_id", "file_id", ] ) GetDocMetadataArg._all_fields_ = [ ("doc_id", GetDocMetadataArg.doc_id.validator), ("file_id", GetDocMetadataArg.file_id.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.stop_at_date.validator = bv.Nullable(common.DropboxTimestamp_validator) ListPaperDocsArgs._all_field_names_ = set( [ "filter_by", "sort_by", "sort_order", "limit", "stop_at_date", ] ) 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), ("stop_at_date", ListPaperDocsArgs.stop_at_date.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.include_comments.validator = bv.Boolean() PaperDocExport._all_field_names_ = RefPaperDoc._all_field_names_.union( set( [ "export_format", "include_comments", ] ) ) PaperDocExport._all_fields_ = RefPaperDoc._all_fields_ + [ ("export_format", PaperDocExport.export_format.validator), ("include_comments", PaperDocExport.include_comments.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), ] PaperDocGetMetadataResult.doc_id.validator = PaperDocId_validator PaperDocGetMetadataResult.owner.validator = bv.String() PaperDocGetMetadataResult.title.validator = bv.String() PaperDocGetMetadataResult.created_date.validator = common.DropboxTimestamp_validator PaperDocGetMetadataResult.status.validator = PaperDocStatus_validator PaperDocGetMetadataResult.revision.validator = bv.Int64() PaperDocGetMetadataResult.last_updated_date.validator = common.DropboxTimestamp_validator PaperDocGetMetadataResult.last_editor.validator = bv.String() PaperDocGetMetadataResult._all_field_names_ = set( [ "doc_id", "owner", "title", "created_date", "status", "revision", "last_updated_date", "last_editor", ] ) PaperDocGetMetadataResult._all_fields_ = [ ("doc_id", PaperDocGetMetadataResult.doc_id.validator), ("owner", PaperDocGetMetadataResult.owner.validator), ("title", PaperDocGetMetadataResult.title.validator), ("created_date", PaperDocGetMetadataResult.created_date.validator), ("status", PaperDocGetMetadataResult.status.validator), ("revision", PaperDocGetMetadataResult.revision.validator), ("last_updated_date", PaperDocGetMetadataResult.last_updated_date.validator), ("last_editor", PaperDocGetMetadataResult.last_editor.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) ] PaperDocStatus._active_validator = bv.Void() PaperDocStatus._deleted_validator = bv.Void() PaperDocStatus._other_validator = bv.Void() PaperDocStatus._tagmap = { "active": PaperDocStatus._active_validator, "deleted": PaperDocStatus._deleted_validator, "other": PaperDocStatus._other_validator, } PaperDocStatus.active = PaperDocStatus("active") PaperDocStatus.deleted = PaperDocStatus("deleted") PaperDocStatus.other = PaperDocStatus("other") 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") PaperFolderCreateArg.name.validator = bv.String() PaperFolderCreateArg.parent_folder_id.validator = bv.Nullable(bv.String()) PaperFolderCreateArg.is_team_folder.validator = bv.Nullable(bv.Boolean()) PaperFolderCreateArg._all_field_names_ = set( [ "name", "parent_folder_id", "is_team_folder", ] ) PaperFolderCreateArg._all_fields_ = [ ("name", PaperFolderCreateArg.name.validator), ("parent_folder_id", PaperFolderCreateArg.parent_folder_id.validator), ("is_team_folder", PaperFolderCreateArg.is_team_folder.validator), ] PaperFolderCreateError._folder_not_found_validator = bv.Void() PaperFolderCreateError._invalid_folder_id_validator = bv.Void() PaperFolderCreateError._tagmap = { "folder_not_found": PaperFolderCreateError._folder_not_found_validator, "invalid_folder_id": PaperFolderCreateError._invalid_folder_id_validator, } PaperFolderCreateError._tagmap.update(PaperApiBaseError._tagmap) PaperFolderCreateError.folder_not_found = PaperFolderCreateError("folder_not_found") PaperFolderCreateError.invalid_folder_id = PaperFolderCreateError("invalid_folder_id") PaperFolderCreateResult.folder_id.validator = bv.String() PaperFolderCreateResult._all_field_names_ = set(["folder_id"]) PaperFolderCreateResult._all_fields_ = [("folder_id", PaperFolderCreateResult.folder_id.validator)] 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") AddMember.permission_level.default = PaperDocPermissionLevel.edit AddPaperDocUser.quiet.default = False ListPaperDocsArgs.filter_by.default = ListPaperDocsFilterBy.docs_accessed ListPaperDocsArgs.sort_by.default = ListPaperDocsSortBy.accessed ListPaperDocsArgs.sort_order.default = ListPaperDocsSortOrder.ascending ListPaperDocsArgs.limit.default = 1000 ListUsersOnFolderArgs.limit.default = 1000 ListUsersOnPaperDocArgs.limit.default = 1000 ListUsersOnPaperDocArgs.filter_by.default = UserOnPaperDocFilter.shared PaperDocExport.include_comments.default = False docs_archive = bb.Route( "docs/archive", 1, True, RefPaperDoc_validator, bv.Void(), DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_create = bb.Route( "docs/create", 1, True, PaperDocCreateArgs_validator, PaperDocCreateUpdateResult_validator, PaperDocCreateError_validator, {"auth": "user", "host": "api", "style": "upload"}, ) docs_download = bb.Route( "docs/download", 1, True, PaperDocExport_validator, PaperDocExportResult_validator, DocLookupError_validator, {"auth": "user", "host": "api", "style": "download"}, ) docs_folder_users_list = bb.Route( "docs/folder_users/list", 1, True, ListUsersOnFolderArgs_validator, ListUsersOnFolderResponse_validator, DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_folder_users_list_continue = bb.Route( "docs/folder_users/list/continue", 1, True, ListUsersOnFolderContinueArgs_validator, ListUsersOnFolderResponse_validator, ListUsersCursorError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_get_folder_info = bb.Route( "docs/get_folder_info", 1, True, RefPaperDoc_validator, FoldersContainingPaperDoc_validator, DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_get_metadata = bb.Route( "docs/get_metadata", 1, False, GetDocMetadataArg_validator, PaperDocGetMetadataResult_validator, DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_list = bb.Route( "docs/list", 1, True, ListPaperDocsArgs_validator, ListPaperDocsResponse_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) docs_list_continue = bb.Route( "docs/list/continue", 1, True, ListPaperDocsContinueArgs_validator, ListPaperDocsResponse_validator, ListDocsCursorError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_permanently_delete = bb.Route( "docs/permanently_delete", 1, True, RefPaperDoc_validator, bv.Void(), DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_sharing_policy_get = bb.Route( "docs/sharing_policy/get", 1, True, RefPaperDoc_validator, SharingPolicy_validator, DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_sharing_policy_set = bb.Route( "docs/sharing_policy/set", 1, True, PaperDocSharingPolicy_validator, bv.Void(), DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_update = bb.Route( "docs/update", 1, True, PaperDocUpdateArgs_validator, PaperDocCreateUpdateResult_validator, PaperDocUpdateError_validator, {"auth": "user", "host": "api", "style": "upload"}, ) docs_users_add = bb.Route( "docs/users/add", 1, True, AddPaperDocUser_validator, bv.List(AddPaperDocUserMemberResult_validator), DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_users_list = bb.Route( "docs/users/list", 1, True, ListUsersOnPaperDocArgs_validator, ListUsersOnPaperDocResponse_validator, DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_users_list_continue = bb.Route( "docs/users/list/continue", 1, True, ListUsersOnPaperDocContinueArgs_validator, ListUsersOnPaperDocResponse_validator, ListUsersCursorError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) docs_users_remove = bb.Route( "docs/users/remove", 1, True, RemovePaperDocUser_validator, bv.Void(), DocLookupError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) folders_create = bb.Route( "folders/create", 1, True, PaperFolderCreateArg_validator, PaperFolderCreateResult_validator, PaperFolderCreateError_validator, {"auth": "user", "host": "api", "style": "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/get_metadata": docs_get_metadata, "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, "folders/create": folders_create, } dropbox-dropbox-sdk-python-6064f79/dropbox/riviera.py000066400000000000000000003205411522735175000227330ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import async_ class ApiExifGpsMetadata(bb.Struct): """ GPS coordinates and related tags extracted from image EXIF data. Fields are populated on a best-effort basis and may be empty when absent from the source file. :ivar ApiExifGpsMetadata.latitude: Latitude / longitude in decimal degrees (positive = N/E, negative = S/W). :ivar ApiExifGpsMetadata.altitude: Altitude in meters, as reported by the source (string to preserve the original representation, which may include a reference direction). :ivar ApiExifGpsMetadata.timestamp: Timestamp / datestamp of the GPS fix, in the EXIF-provided format. """ __slots__ = [ "_latitude_value", "_longitude_value", "_altitude_value", "_timestamp_value", "_datestamp_value", ] _has_required_fields = False def __init__( self, latitude=None, longitude=None, altitude=None, timestamp=None, datestamp=None, ): self._latitude_value = bb.NOT_SET self._longitude_value = bb.NOT_SET self._altitude_value = bb.NOT_SET self._timestamp_value = bb.NOT_SET self._datestamp_value = bb.NOT_SET if latitude is not None: self.latitude = latitude if longitude is not None: self.longitude = longitude if altitude is not None: self.altitude = altitude if timestamp is not None: self.timestamp = timestamp if datestamp is not None: self.datestamp = datestamp # Instance attribute type: float (validator is set below) latitude = bb.Attribute("latitude") # Instance attribute type: float (validator is set below) longitude = bb.Attribute("longitude") # Instance attribute type: str (validator is set below) altitude = bb.Attribute("altitude") # Instance attribute type: str (validator is set below) timestamp = bb.Attribute("timestamp") # Instance attribute type: str (validator is set below) datestamp = bb.Attribute("datestamp") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiExifGpsMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) ApiExifGpsMetadata_validator = bv.Struct(ApiExifGpsMetadata) class ApiExifMetadata(bb.Struct): """ Image EXIF metadata. Mirrors the useful subset of the internal `riviera.ExifMetadata` message. Fields are best-effort and may be empty. :ivar ApiExifMetadata.date_time_original: Capture time in the EXIF-provided format (local time of the camera). :ivar ApiExifMetadata.offset_time_original: Timezone offset for `date_time_original`, e.g. "+09:00". :ivar ApiExifMetadata.orientation: EXIF orientation value (1-8). See the EXIF spec; 1 is the normal upright orientation. :ivar ApiExifMetadata.exposure_time: fraction in string form, e.g. "1/250" :ivar ApiExifMetadata.focal_length: e.g. "26.0 mm" """ __slots__ = [ "_image_width_value", "_image_height_value", "_camera_make_value", "_camera_model_value", "_lens_model_value", "_date_time_original_value", "_offset_time_original_value", "_orientation_value", "_exposure_time_value", "_aperture_value_value", "_iso_speed_value", "_focal_length_value", "_megapixels_value", "_artist_value", "_copyright_value", "_gps_metadata_value", ] _has_required_fields = False def __init__( self, image_width=None, image_height=None, camera_make=None, camera_model=None, lens_model=None, date_time_original=None, offset_time_original=None, orientation=None, exposure_time=None, aperture_value=None, iso_speed=None, focal_length=None, megapixels=None, artist=None, copyright=None, gps_metadata=None, ): self._image_width_value = bb.NOT_SET self._image_height_value = bb.NOT_SET self._camera_make_value = bb.NOT_SET self._camera_model_value = bb.NOT_SET self._lens_model_value = bb.NOT_SET self._date_time_original_value = bb.NOT_SET self._offset_time_original_value = bb.NOT_SET self._orientation_value = bb.NOT_SET self._exposure_time_value = bb.NOT_SET self._aperture_value_value = bb.NOT_SET self._iso_speed_value = bb.NOT_SET self._focal_length_value = bb.NOT_SET self._megapixels_value = bb.NOT_SET self._artist_value = bb.NOT_SET self._copyright_value = bb.NOT_SET self._gps_metadata_value = bb.NOT_SET if image_width is not None: self.image_width = image_width if image_height is not None: self.image_height = image_height if camera_make is not None: self.camera_make = camera_make if camera_model is not None: self.camera_model = camera_model if lens_model is not None: self.lens_model = lens_model if date_time_original is not None: self.date_time_original = date_time_original if offset_time_original is not None: self.offset_time_original = offset_time_original if orientation is not None: self.orientation = orientation if exposure_time is not None: self.exposure_time = exposure_time if aperture_value is not None: self.aperture_value = aperture_value if iso_speed is not None: self.iso_speed = iso_speed if focal_length is not None: self.focal_length = focal_length if megapixels is not None: self.megapixels = megapixels if artist is not None: self.artist = artist if copyright is not None: self.copyright = copyright if gps_metadata is not None: self.gps_metadata = gps_metadata # Instance attribute type: int (validator is set below) image_width = bb.Attribute("image_width") # Instance attribute type: int (validator is set below) image_height = bb.Attribute("image_height") # Instance attribute type: str (validator is set below) camera_make = bb.Attribute("camera_make") # Instance attribute type: str (validator is set below) camera_model = bb.Attribute("camera_model") # Instance attribute type: str (validator is set below) lens_model = bb.Attribute("lens_model") # Instance attribute type: str (validator is set below) date_time_original = bb.Attribute("date_time_original") # Instance attribute type: str (validator is set below) offset_time_original = bb.Attribute("offset_time_original") # Instance attribute type: int (validator is set below) orientation = bb.Attribute("orientation") # Instance attribute type: str (validator is set below) exposure_time = bb.Attribute("exposure_time") # Instance attribute type: float (validator is set below) aperture_value = bb.Attribute("aperture_value") # Instance attribute type: int (validator is set below) iso_speed = bb.Attribute("iso_speed") # Instance attribute type: str (validator is set below) focal_length = bb.Attribute("focal_length") # Instance attribute type: float (validator is set below) megapixels = bb.Attribute("megapixels") # Instance attribute type: str (validator is set below) artist = bb.Attribute("artist") # Instance attribute type: str (validator is set below) copyright = bb.Attribute("copyright") # Instance attribute type: ApiExifGpsMetadata (validator is set below) gps_metadata = bb.Attribute("gps_metadata", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiExifMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) ApiExifMetadata_validator = bv.Struct(ApiExifMetadata) class ApiMediaMetadata(bb.Struct): """ Audio/video container and per-stream metadata. Mirrors the useful subset of the internal `riviera.MediaMetadata` message. :ivar ApiMediaMetadata.creation_time: Container-level creation time, when present. """ __slots__ = [ "_bitrate_bps_value", "_duration_s_value", "_creation_time_value", "_streams_value", ] _has_required_fields = False def __init__(self, bitrate_bps=None, duration_s=None, creation_time=None, streams=None): self._bitrate_bps_value = bb.NOT_SET self._duration_s_value = bb.NOT_SET self._creation_time_value = bb.NOT_SET self._streams_value = bb.NOT_SET if bitrate_bps is not None: self.bitrate_bps = bitrate_bps if duration_s is not None: self.duration_s = duration_s if creation_time is not None: self.creation_time = creation_time if streams is not None: self.streams = streams # Instance attribute type: int (validator is set below) bitrate_bps = bb.Attribute("bitrate_bps") # Instance attribute type: float (validator is set below) duration_s = bb.Attribute("duration_s") # Instance attribute type: str (validator is set below) creation_time = bb.Attribute("creation_time") # Instance attribute type: list of [ApiMediaStream] (validator is set below) streams = bb.Attribute("streams", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiMediaMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) ApiMediaMetadata_validator = bv.Struct(ApiMediaMetadata) class ApiMediaStream(bb.Struct): """ A single audio or video stream within a media file. :ivar ApiMediaStream.codec_type: "audio", "video", etc. :ivar ApiMediaStream.width: Video-specific fields (zero / empty for audio streams). :ivar ApiMediaStream.display_aspect_ratio: e.g. "16:9" :ivar ApiMediaStream.channels: Audio-specific fields (zero / empty for video streams). :ivar ApiMediaStream.language_iso_639: ISO 639 language code for the stream, when present. """ __slots__ = [ "_index_value", "_codec_type_value", "_codec_name_value", "_bitrate_bps_value", "_duration_s_value", "_width_value", "_height_value", "_frames_per_second_value", "_rotation_value", "_display_aspect_ratio_value", "_channels_value", "_channel_layout_value", "_sample_rate_s_value", "_language_iso_639_value", ] _has_required_fields = False def __init__( self, index=None, codec_type=None, codec_name=None, bitrate_bps=None, duration_s=None, width=None, height=None, frames_per_second=None, rotation=None, display_aspect_ratio=None, channels=None, channel_layout=None, sample_rate_s=None, language_iso_639=None, ): self._index_value = bb.NOT_SET self._codec_type_value = bb.NOT_SET self._codec_name_value = bb.NOT_SET self._bitrate_bps_value = bb.NOT_SET self._duration_s_value = bb.NOT_SET self._width_value = bb.NOT_SET self._height_value = bb.NOT_SET self._frames_per_second_value = bb.NOT_SET self._rotation_value = bb.NOT_SET self._display_aspect_ratio_value = bb.NOT_SET self._channels_value = bb.NOT_SET self._channel_layout_value = bb.NOT_SET self._sample_rate_s_value = bb.NOT_SET self._language_iso_639_value = bb.NOT_SET if index is not None: self.index = index if codec_type is not None: self.codec_type = codec_type if codec_name is not None: self.codec_name = codec_name if bitrate_bps is not None: self.bitrate_bps = bitrate_bps if duration_s is not None: self.duration_s = duration_s if width is not None: self.width = width if height is not None: self.height = height if frames_per_second is not None: self.frames_per_second = frames_per_second if rotation is not None: self.rotation = rotation if display_aspect_ratio is not None: self.display_aspect_ratio = display_aspect_ratio if channels is not None: self.channels = channels if channel_layout is not None: self.channel_layout = channel_layout if sample_rate_s is not None: self.sample_rate_s = sample_rate_s if language_iso_639 is not None: self.language_iso_639 = language_iso_639 # Instance attribute type: int (validator is set below) index = bb.Attribute("index") # Instance attribute type: str (validator is set below) codec_type = bb.Attribute("codec_type") # Instance attribute type: str (validator is set below) codec_name = bb.Attribute("codec_name") # Instance attribute type: int (validator is set below) bitrate_bps = bb.Attribute("bitrate_bps") # Instance attribute type: float (validator is set below) duration_s = bb.Attribute("duration_s") # Instance attribute type: int (validator is set below) width = bb.Attribute("width") # Instance attribute type: int (validator is set below) height = bb.Attribute("height") # Instance attribute type: float (validator is set below) frames_per_second = bb.Attribute("frames_per_second") # Instance attribute type: int (validator is set below) rotation = bb.Attribute("rotation") # Instance attribute type: str (validator is set below) display_aspect_ratio = bb.Attribute("display_aspect_ratio") # Instance attribute type: int (validator is set below) channels = bb.Attribute("channels") # Instance attribute type: str (validator is set below) channel_layout = bb.Attribute("channel_layout") # Instance attribute type: int (validator is set below) sample_rate_s = bb.Attribute("sample_rate_s") # Instance attribute type: str (validator is set below) language_iso_639 = bb.Attribute("language_iso_639") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiMediaStream, self)._process_custom_annotations( annotation_type, field_path, processor ) ApiMediaStream_validator = bv.Struct(ApiMediaStream) class ApiOfficeMetadata(bb.Struct): """ MS Office document metadata. Mirrors the internal `riviera.OfficeMetadata` message. Some fields apply only to specific document types (e.g. `slides` for PowerPoint, `words`/`pages` for Word). :ivar ApiOfficeMetadata.pages: Word only. :ivar ApiOfficeMetadata.slides: PowerPoint only. """ __slots__ = [ "_file_type_value", "_creator_value", "_company_value", "_title_value", "_subject_value", "_keywords_value", "_description_value", "_total_edit_time_minutes_value", "_pages_value", "_words_value", "_slides_value", "_revision_number_value", ] _has_required_fields = False def __init__( self, file_type=None, creator=None, company=None, title=None, subject=None, keywords=None, description=None, total_edit_time_minutes=None, pages=None, words=None, slides=None, revision_number=None, ): self._file_type_value = bb.NOT_SET self._creator_value = bb.NOT_SET self._company_value = bb.NOT_SET self._title_value = bb.NOT_SET self._subject_value = bb.NOT_SET self._keywords_value = bb.NOT_SET self._description_value = bb.NOT_SET self._total_edit_time_minutes_value = bb.NOT_SET self._pages_value = bb.NOT_SET self._words_value = bb.NOT_SET self._slides_value = bb.NOT_SET self._revision_number_value = bb.NOT_SET if file_type is not None: self.file_type = file_type if creator is not None: self.creator = creator if company is not None: self.company = company if title is not None: self.title = title if subject is not None: self.subject = subject if keywords is not None: self.keywords = keywords if description is not None: self.description = description if total_edit_time_minutes is not None: self.total_edit_time_minutes = total_edit_time_minutes if pages is not None: self.pages = pages if words is not None: self.words = words if slides is not None: self.slides = slides if revision_number is not None: self.revision_number = revision_number # Instance attribute type: OfficeFileType (validator is set below) file_type = bb.Attribute("file_type", user_defined=True) # Instance attribute type: str (validator is set below) creator = bb.Attribute("creator") # Instance attribute type: str (validator is set below) company = bb.Attribute("company") # Instance attribute type: str (validator is set below) title = bb.Attribute("title") # Instance attribute type: str (validator is set below) subject = bb.Attribute("subject") # Instance attribute type: str (validator is set below) keywords = bb.Attribute("keywords") # Instance attribute type: str (validator is set below) description = bb.Attribute("description") # Instance attribute type: int (validator is set below) total_edit_time_minutes = bb.Attribute("total_edit_time_minutes") # Instance attribute type: int (validator is set below) pages = bb.Attribute("pages") # Instance attribute type: int (validator is set below) words = bb.Attribute("words") # Instance attribute type: int (validator is set below) slides = bb.Attribute("slides") # Instance attribute type: str (validator is set below) revision_number = bb.Attribute("revision_number") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiOfficeMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) ApiOfficeMetadata_validator = bv.Struct(ApiOfficeMetadata) class ApiPdfMetadata(bb.Struct): """ PDF document metadata. :ivar ApiPdfMetadata.width: Width / height of the first page, in PDF points. """ __slots__ = [ "_pages_value", "_width_value", "_height_value", ] _has_required_fields = False def __init__(self, pages=None, width=None, height=None): self._pages_value = bb.NOT_SET self._width_value = bb.NOT_SET self._height_value = bb.NOT_SET if pages is not None: self.pages = pages if width is not None: self.width = width if height is not None: self.height = height # Instance attribute type: int (validator is set below) pages = bb.Attribute("pages") # Instance attribute type: int (validator is set below) width = bb.Attribute("width") # Instance attribute type: int (validator is set below) height = bb.Attribute("height") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiPdfMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) ApiPdfMetadata_validator = bv.Struct(ApiPdfMetadata) class ApiStructuredTranscript(bb.Struct): """ Structured transcript for APIv2 """ __slots__ = [ "_segments_value", "_transcript_locale_value", ] _has_required_fields = False def __init__(self, segments=None, transcript_locale=None): self._segments_value = bb.NOT_SET self._transcript_locale_value = bb.NOT_SET if segments is not None: self.segments = segments if transcript_locale is not None: self.transcript_locale = transcript_locale # Instance attribute type: list of [ApiTranscriptSegment] (validator is set below) segments = bb.Attribute("segments", nullable=True) # Instance attribute type: str (validator is set below) transcript_locale = bb.Attribute("transcript_locale") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiStructuredTranscript, self)._process_custom_annotations( annotation_type, field_path, processor ) ApiStructuredTranscript_validator = bv.Struct(ApiStructuredTranscript) class ApiTranscriptSegment(bb.Struct): """ Transcript segment for APIv2 """ __slots__ = [ "_text_value", "_start_time_value", "_end_time_value", ] _has_required_fields = False def __init__(self, text=None, start_time=None, end_time=None): self._text_value = bb.NOT_SET self._start_time_value = bb.NOT_SET self._end_time_value = bb.NOT_SET if text is not None: self.text = text if start_time is not None: self.start_time = start_time if end_time is not None: self.end_time = end_time # Instance attribute type: str (validator is set below) text = bb.Attribute("text") # Instance attribute type: float (validator is set below) start_time = bb.Attribute("start_time") # Instance attribute type: float (validator is set below) end_time = bb.Attribute("end_time") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiTranscriptSegment, self)._process_custom_annotations( annotation_type, field_path, processor ) ApiTranscriptSegment_validator = bv.Struct(ApiTranscriptSegment) class ContentApiV2Error(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar ContentApiV2Error.not_found_error: The referenced file does not exist or is not accessible. :ivar ContentApiV2Error.is_a_folder_error: The target is a folder, not a file. """ _catch_all = "other" # Attribute is overwritten below the class definition no_audio_error = None # Attribute is overwritten below the class definition link_download_disabled_error = None # Attribute is overwritten below the class definition shared_link_password_protected = None # Attribute is overwritten below the class definition limit_exceeded_error = None # Attribute is overwritten below the class definition not_found_error = None # Attribute is overwritten below the class definition is_a_folder_error = None # Attribute is overwritten below the class definition other = None @classmethod def server_error(cls, val): """ Create an instance of this class set to the ``server_error`` tag with value ``val``. :param str val: :rtype: ContentApiV2Error """ return cls("server_error", val) @classmethod def user_error(cls, val): """ Create an instance of this class set to the ``user_error`` tag with value ``val``. :param str val: :rtype: ContentApiV2Error """ return cls("user_error", val) @classmethod def media_duration_error(cls, val): """ Create an instance of this class set to the ``media_duration_error`` tag with value ``val``. :param MediaDurationError val: :rtype: ContentApiV2Error """ return cls("media_duration_error", val) def is_server_error(self): """ Check if the union tag is ``server_error``. :rtype: bool """ return self._tag == "server_error" def is_user_error(self): """ Check if the union tag is ``user_error``. :rtype: bool """ return self._tag == "user_error" def is_media_duration_error(self): """ Check if the union tag is ``media_duration_error``. :rtype: bool """ return self._tag == "media_duration_error" def is_no_audio_error(self): """ Check if the union tag is ``no_audio_error``. :rtype: bool """ return self._tag == "no_audio_error" def is_link_download_disabled_error(self): """ Check if the union tag is ``link_download_disabled_error``. :rtype: bool """ return self._tag == "link_download_disabled_error" def is_shared_link_password_protected(self): """ Check if the union tag is ``shared_link_password_protected``. :rtype: bool """ return self._tag == "shared_link_password_protected" def is_limit_exceeded_error(self): """ Check if the union tag is ``limit_exceeded_error``. :rtype: bool """ return self._tag == "limit_exceeded_error" def is_not_found_error(self): """ Check if the union tag is ``not_found_error``. :rtype: bool """ return self._tag == "not_found_error" def is_is_a_folder_error(self): """ Check if the union tag is ``is_a_folder_error``. :rtype: bool """ return self._tag == "is_a_folder_error" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_server_error(self): """ Only call this if :meth:`is_server_error` is true. :rtype: str """ if not self.is_server_error(): raise AttributeError("tag 'server_error' not set") return self._value def get_user_error(self): """ Only call this if :meth:`is_user_error` is true. :rtype: str """ if not self.is_user_error(): raise AttributeError("tag 'user_error' not set") return self._value def get_media_duration_error(self): """ Only call this if :meth:`is_media_duration_error` is true. :rtype: MediaDurationError """ if not self.is_media_duration_error(): raise AttributeError("tag 'media_duration_error' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(ContentApiV2Error, self)._process_custom_annotations( annotation_type, field_path, processor ) ContentApiV2Error_validator = bv.Union(ContentApiV2Error) class ErrorCode(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar ErrorCode.bad_request: 400 :ivar ErrorCode.api_error: 409 :ivar ErrorCode.access_error: 403 :ivar ErrorCode.ratelimit_error: 429 :ivar ErrorCode.unavailable: 503 """ _catch_all = "other" # Attribute is overwritten below the class definition unknown_error = None # Attribute is overwritten below the class definition bad_request = None # Attribute is overwritten below the class definition api_error = None # Attribute is overwritten below the class definition access_error = None # Attribute is overwritten below the class definition ratelimit_error = None # Attribute is overwritten below the class definition unavailable = None # Attribute is overwritten below the class definition other = None def is_unknown_error(self): """ Check if the union tag is ``unknown_error``. :rtype: bool """ return self._tag == "unknown_error" def is_bad_request(self): """ Check if the union tag is ``bad_request``. :rtype: bool """ return self._tag == "bad_request" def is_api_error(self): """ Check if the union tag is ``api_error``. :rtype: bool """ return self._tag == "api_error" def is_access_error(self): """ Check if the union tag is ``access_error``. :rtype: bool """ return self._tag == "access_error" def is_ratelimit_error(self): """ Check if the union tag is ``ratelimit_error``. :rtype: bool """ return self._tag == "ratelimit_error" def is_unavailable(self): """ Check if the union tag is ``unavailable``. :rtype: bool """ return self._tag == "unavailable" 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(ErrorCode, self)._process_custom_annotations(annotation_type, field_path, processor) ErrorCode_validator = bv.Union(ErrorCode) class FileIdOrUrl(bb.Union): """ This class acts as a tagged union. Only 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 file_id(cls, val): """ Create an instance of this class set to the ``file_id`` tag with value ``val``. :param str val: :rtype: FileIdOrUrl """ return cls("file_id", val) @classmethod def url(cls, val): """ Create an instance of this class set to the ``url`` tag with value ``val``. :param str val: :rtype: FileIdOrUrl """ return cls("url", val) @classmethod def path(cls, val): """ Create an instance of this class set to the ``path`` tag with value ``val``. :param str val: :rtype: FileIdOrUrl """ return cls("path", val) def is_file_id(self): """ Check if the union tag is ``file_id``. :rtype: bool """ return self._tag == "file_id" def is_url(self): """ Check if the union tag is ``url``. :rtype: bool """ return self._tag == "url" 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_file_id(self): """ Only call this if :meth:`is_file_id` is true. :rtype: str """ if not self.is_file_id(): raise AttributeError("tag 'file_id' not set") return self._value def get_url(self): """ Only call this if :meth:`is_url` is true. :rtype: str """ if not self.is_url(): raise AttributeError("tag 'url' not set") return self._value def get_path(self): """ Only call this if :meth:`is_path` is true. :rtype: 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(FileIdOrUrl, self)._process_custom_annotations(annotation_type, field_path, processor) FileIdOrUrl_validator = bv.Union(FileIdOrUrl) class GetMarkdownArgs(bb.Struct): """ Arguments for the asynchronous `get_markdown_async` route. Exactly one of `file_id`, `path`, or `url` must be supplied via `file_id_or_url` to identify the document to convert to markdown. :ivar GetMarkdownArgs.file_id_or_url: Identifier of the document to convert. Callers must set exactly one of the oneof variants: - file_id: a Dropbox-issued file id (format: "id:") for a file the authenticated user has access to. - path: an absolute Dropbox path, e.g. "/folder/report.docx". - url: either a Dropbox shared link (www.dropbox.com) or an external HTTPS URL pointing to a supported document file. - Dropbox shared links are resolved internally using the caller's authenticated identity and the link's visibility / download settings. They therefore require an authenticated user context (anonymous `url` requests against Dropbox links are rejected with an `ACCESS_ERROR`). Links protected by a password are rejected with `shared_link_password_protected`; links with downloads disabled are rejected with `link_download_disabled_error`. - External URLs are fetched over HTTPS through the backend's egress proxy and must point at a supported document file extension. The referenced file must be a document in a supported format; requests against unsupported formats return `unsupported_format_error`. :ivar GetMarkdownArgs.enable_ocr: Enable OCR for PDF documents. Processing is slower when enabled. :ivar GetMarkdownArgs.embed_images: When true, embed images as base64 data URIs in the markdown output. This can significantly increase output size. """ __slots__ = [ "_file_id_or_url_value", "_enable_ocr_value", "_embed_images_value", ] _has_required_fields = False def __init__(self, file_id_or_url=None, enable_ocr=None, embed_images=None): self._file_id_or_url_value = bb.NOT_SET self._enable_ocr_value = bb.NOT_SET self._embed_images_value = bb.NOT_SET if file_id_or_url is not None: self.file_id_or_url = file_id_or_url if enable_ocr is not None: self.enable_ocr = enable_ocr if embed_images is not None: self.embed_images = embed_images # Instance attribute type: FileIdOrUrl (validator is set below) file_id_or_url = bb.Attribute("file_id_or_url", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) enable_ocr = bb.Attribute("enable_ocr") # Instance attribute type: bool (validator is set below) embed_images = bb.Attribute("embed_images") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetMarkdownArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) GetMarkdownArgs_validator = bv.Struct(GetMarkdownArgs) class GetMarkdownAsyncCheckResult(bb.Union): """ Result type for EventBus async check This class acts as a tagged union. Only 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 in_progress = None # 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 GetMarkdownResult val: :rtype: GetMarkdownAsyncCheckResult """ return cls("complete", val) @classmethod def failed(cls, val): """ Create an instance of this class set to the ``failed`` tag with value ``val``. :param GetMarkdownAsyncError val: :rtype: GetMarkdownAsyncCheckResult """ return cls("failed", val) def is_in_progress(self): """ Check if the union tag is ``in_progress``. :rtype: bool """ return self._tag == "in_progress" 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): """ Only call this if :meth:`is_complete` is true. :rtype: GetMarkdownResult """ 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: GetMarkdownAsyncError """ 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(GetMarkdownAsyncCheckResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetMarkdownAsyncCheckResult_validator = bv.Union(GetMarkdownAsyncCheckResult) class GetMarkdownAsyncError(bb.Struct): __slots__ = [ "_error_code_value", "_error_details_value", ] _has_required_fields = False def __init__(self, error_code=None, error_details=None): self._error_code_value = bb.NOT_SET self._error_details_value = bb.NOT_SET if error_code is not None: self.error_code = error_code if error_details is not None: self.error_details = error_details # Instance attribute type: ErrorCode (validator is set below) error_code = bb.Attribute("error_code", user_defined=True) # Instance attribute type: MarkdownConversionApiV2Error (validator is set below) error_details = bb.Attribute("error_details", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetMarkdownAsyncError, self)._process_custom_annotations( annotation_type, field_path, processor ) GetMarkdownAsyncError_validator = bv.Struct(GetMarkdownAsyncError) class GetMarkdownResult(bb.Struct): """ :ivar GetMarkdownResult.markdown: The converted markdown content """ __slots__ = [ "_markdown_value", ] _has_required_fields = False def __init__(self, markdown=None): self._markdown_value = bb.NOT_SET if markdown is not None: self.markdown = markdown # Instance attribute type: str (validator is set below) markdown = bb.Attribute("markdown") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetMarkdownResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetMarkdownResult_validator = bv.Struct(GetMarkdownResult) class GetMetadataArgs(bb.Struct): """ Arguments for the asynchronous `get_metadata_async` route. Exactly one of `file_id`, `path`, or `url` must be supplied via `file_id_or_url` to identify the file whose metadata should be extracted. :ivar GetMetadataArgs.file_id_or_url: Identifier of the file to extract metadata from. Callers must set exactly one of the oneof variants: - file_id: a Dropbox-issued file id (format: "id:") for a file the authenticated user has access to. - path: an absolute Dropbox path, e.g. "/folder/photo.jpg". - url: either a Dropbox shared link (www.dropbox.com) or an external HTTPS URL pointing to a supported file. - Dropbox shared links are resolved internally using the caller's authenticated identity and the link's visibility / download settings. They therefore require an authenticated user context (anonymous `url` requests against Dropbox links are rejected with an `ACCESS_ERROR`). Links protected by a password are rejected with `shared_link_password_protected`; links with downloads disabled are rejected with `link_download_disabled_error`. - External URLs are fetched over HTTPS through the backend's egress proxy and must point at a supported file extension. The kind of metadata returned is determined by the file type: image files return EXIF metadata, audio/video files return media metadata, PDFs return PDF metadata, and MS Office documents (docx, pptx, xlsx) return Office metadata. Requests against unsupported formats return `unsupported_format_error`. """ __slots__ = [ "_file_id_or_url_value", ] _has_required_fields = False def __init__(self, file_id_or_url=None): self._file_id_or_url_value = bb.NOT_SET if file_id_or_url is not None: self.file_id_or_url = file_id_or_url # Instance attribute type: FileIdOrUrl (validator is set below) file_id_or_url = bb.Attribute("file_id_or_url", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetMetadataArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) GetMetadataArgs_validator = bv.Struct(GetMetadataArgs) class GetMetadataAsyncCheckResult(bb.Union): """ Result type for EventBus async check - must end in "CheckResult" This class acts as a tagged union. Only 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 in_progress = None # 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 GetMetadataResult val: :rtype: GetMetadataAsyncCheckResult """ return cls("complete", val) @classmethod def failed(cls, val): """ Create an instance of this class set to the ``failed`` tag with value ``val``. :param GetMetadataAsyncError val: :rtype: GetMetadataAsyncCheckResult """ return cls("failed", val) def is_in_progress(self): """ Check if the union tag is ``in_progress``. :rtype: bool """ return self._tag == "in_progress" 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): """ Only call this if :meth:`is_complete` is true. :rtype: GetMetadataResult """ 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: GetMetadataAsyncError """ 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(GetMetadataAsyncCheckResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetMetadataAsyncCheckResult_validator = bv.Union(GetMetadataAsyncCheckResult) class GetMetadataAsyncError(bb.Struct): __slots__ = [ "_error_code_value", "_error_details_value", ] _has_required_fields = False def __init__(self, error_code=None, error_details=None): self._error_code_value = bb.NOT_SET self._error_details_value = bb.NOT_SET if error_code is not None: self.error_code = error_code if error_details is not None: self.error_details = error_details # Instance attribute type: ErrorCode (validator is set below) error_code = bb.Attribute("error_code", user_defined=True) # Instance attribute type: MetadataExtractionApiV2Error (validator is set below) error_details = bb.Attribute("error_details", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetMetadataAsyncError, self)._process_custom_annotations( annotation_type, field_path, processor ) GetMetadataAsyncError_validator = bv.Struct(GetMetadataAsyncError) class GetMetadataResult(bb.Struct): """ :ivar GetMetadataResult.metadata_type: The kind of metadata that was extracted for the requested file. Callers should read the matching field of the `metadata` oneof. """ __slots__ = [ "_metadata_type_value", "_metadata_value", ] _has_required_fields = False def __init__(self, metadata_type=None, metadata=None): self._metadata_type_value = bb.NOT_SET self._metadata_value = bb.NOT_SET if metadata_type is not None: self.metadata_type = metadata_type if metadata is not None: self.metadata = metadata # Instance attribute type: MetadataType (validator is set below) metadata_type = bb.Attribute("metadata_type", user_defined=True) # Instance attribute type: MetadataUnion (validator is set below) metadata = bb.Attribute("metadata", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetMetadataResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetMetadataResult_validator = bv.Struct(GetMetadataResult) class GetTranscriptArgs(bb.Struct): """ Arguments for the asynchronous `get_transcript_async` route. Exactly one of `file_id`, `path`, or `url` must be supplied via `file_id_or_url` to identify the audio or video asset to transcribe. :ivar GetTranscriptArgs.file_id_or_url: Identifier of the media asset to transcribe. Callers must set exactly one of the oneof variants: - file_id: a Dropbox-issued file id (format: "id:") for a file the authenticated user has access to. - path: an absolute Dropbox path, e.g. "/folder/recording.mp4". - url: either a Dropbox shared link (www.dropbox.com) or an external HTTPS URL pointing to a supported audio/video file. - Dropbox shared links are resolved internally using the caller's authenticated identity and the link's visibility / download settings. They therefore require an authenticated user context (anonymous `url` requests against Dropbox links are rejected with an `ACCESS_ERROR`). Links protected by a password are rejected with `shared_link_password_protected`; links with downloads disabled are rejected with `link_download_disabled_error`. - External URLs are fetched over HTTPS through the backend's egress proxy and must point at a supported audio/video file extension. The referenced asset must be an audio or video file in a supported format; requests against files with no audio track return a `no_audio_error`. :ivar GetTranscriptArgs.timestamp_level: Granularity of the time offsets returned for each transcript segment. Defaults to `SENTENCE. - SENTENCE: one segment per spoken sentence (recommended). - WORD: one segment per word, useful for fine-grained alignment such as captioning or highlight-as-you-listen experiences. :ivar GetTranscriptArgs.included_special_words: Comma-delimited list of non-lexical filler words to preserve in the transcript output, e.g. `"uh, ah, uhm"`. By default these fillers are stripped. Unrecognized tokens are ignored. Leave empty to use the default filtering behavior. :ivar GetTranscriptArgs.audio_language: Optional ISO 639-1 two-letter language code hinting the spoken language of the source audio (e.g. "en", "ja"). When empty, the service auto-detects the language; supplying a hint improves accuracy and latency for short or ambiguous clips. Unsupported languages fall back to auto-detection. """ __slots__ = [ "_file_id_or_url_value", "_timestamp_level_value", "_included_special_words_value", "_audio_language_value", ] _has_required_fields = False def __init__( self, file_id_or_url=None, timestamp_level=None, included_special_words=None, audio_language=None, ): self._file_id_or_url_value = bb.NOT_SET self._timestamp_level_value = bb.NOT_SET self._included_special_words_value = bb.NOT_SET self._audio_language_value = bb.NOT_SET if file_id_or_url is not None: self.file_id_or_url = file_id_or_url if timestamp_level is not None: self.timestamp_level = timestamp_level if included_special_words is not None: self.included_special_words = included_special_words if audio_language is not None: self.audio_language = audio_language # Instance attribute type: FileIdOrUrl (validator is set below) file_id_or_url = bb.Attribute("file_id_or_url", nullable=True, user_defined=True) # Instance attribute type: TimestampLevel (validator is set below) timestamp_level = bb.Attribute("timestamp_level", user_defined=True) # Instance attribute type: str (validator is set below) included_special_words = bb.Attribute("included_special_words") # Instance attribute type: str (validator is set below) audio_language = bb.Attribute("audio_language") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTranscriptArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTranscriptArgs_validator = bv.Struct(GetTranscriptArgs) class GetTranscriptAsyncCheckResult(bb.Union): """ Result type for EventBus async check - must end in "CheckResult" This class acts as a tagged union. Only 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 in_progress = None # 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 GetTranscriptResult val: :rtype: GetTranscriptAsyncCheckResult """ return cls("complete", val) @classmethod def failed(cls, val): """ Create an instance of this class set to the ``failed`` tag with value ``val``. :param GetTranscriptAsyncError val: :rtype: GetTranscriptAsyncCheckResult """ return cls("failed", val) def is_in_progress(self): """ Check if the union tag is ``in_progress``. :rtype: bool """ return self._tag == "in_progress" 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): """ Only call this if :meth:`is_complete` is true. :rtype: GetTranscriptResult """ 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: GetTranscriptAsyncError """ 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(GetTranscriptAsyncCheckResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTranscriptAsyncCheckResult_validator = bv.Union(GetTranscriptAsyncCheckResult) class GetTranscriptAsyncError(bb.Struct): __slots__ = [ "_error_code_value", "_error_details_value", ] _has_required_fields = False def __init__(self, error_code=None, error_details=None): self._error_code_value = bb.NOT_SET self._error_details_value = bb.NOT_SET if error_code is not None: self.error_code = error_code if error_details is not None: self.error_details = error_details # Instance attribute type: ErrorCode (validator is set below) error_code = bb.Attribute("error_code", user_defined=True) # Instance attribute type: ContentApiV2Error (validator is set below) error_details = bb.Attribute("error_details", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTranscriptAsyncError, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTranscriptAsyncError_validator = bv.Struct(GetTranscriptAsyncError) class GetTranscriptResult(bb.Struct): """ :ivar GetTranscriptResult.structured_transcript: The structured transcript produced for the requested media asset, with per-segment text, start/end offsets (in seconds from the beginning of the media), and the detected or caller-supplied locale. """ __slots__ = [ "_structured_transcript_value", ] _has_required_fields = False def __init__(self, structured_transcript=None): self._structured_transcript_value = bb.NOT_SET if structured_transcript is not None: self.structured_transcript = structured_transcript # Instance attribute type: ApiStructuredTranscript (validator is set below) structured_transcript = bb.Attribute("structured_transcript", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTranscriptResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTranscriptResult_validator = bv.Struct(GetTranscriptResult) class MarkdownConversionApiV2Error(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar MarkdownConversionApiV2Error.not_found_error: The referenced file does not exist or is not accessible. :ivar MarkdownConversionApiV2Error.is_a_folder_error: The target is a folder, not a file. """ _catch_all = "other" # Attribute is overwritten below the class definition unsupported_format_error = None # Attribute is overwritten below the class definition link_download_disabled_error = None # Attribute is overwritten below the class definition shared_link_password_protected = None # Attribute is overwritten below the class definition limit_exceeded_error = None # Attribute is overwritten below the class definition conversion_failure_error = None # Attribute is overwritten below the class definition not_found_error = None # Attribute is overwritten below the class definition is_a_folder_error = None # Attribute is overwritten below the class definition other = None @classmethod def server_error(cls, val): """ Create an instance of this class set to the ``server_error`` tag with value ``val``. :param str val: :rtype: MarkdownConversionApiV2Error """ return cls("server_error", val) @classmethod def user_error(cls, val): """ Create an instance of this class set to the ``user_error`` tag with value ``val``. :param str val: :rtype: MarkdownConversionApiV2Error """ return cls("user_error", val) def is_server_error(self): """ Check if the union tag is ``server_error``. :rtype: bool """ return self._tag == "server_error" def is_user_error(self): """ Check if the union tag is ``user_error``. :rtype: bool """ return self._tag == "user_error" def is_unsupported_format_error(self): """ Check if the union tag is ``unsupported_format_error``. :rtype: bool """ return self._tag == "unsupported_format_error" def is_link_download_disabled_error(self): """ Check if the union tag is ``link_download_disabled_error``. :rtype: bool """ return self._tag == "link_download_disabled_error" def is_shared_link_password_protected(self): """ Check if the union tag is ``shared_link_password_protected``. :rtype: bool """ return self._tag == "shared_link_password_protected" def is_limit_exceeded_error(self): """ Check if the union tag is ``limit_exceeded_error``. :rtype: bool """ return self._tag == "limit_exceeded_error" def is_conversion_failure_error(self): """ Check if the union tag is ``conversion_failure_error``. :rtype: bool """ return self._tag == "conversion_failure_error" def is_not_found_error(self): """ Check if the union tag is ``not_found_error``. :rtype: bool """ return self._tag == "not_found_error" def is_is_a_folder_error(self): """ Check if the union tag is ``is_a_folder_error``. :rtype: bool """ return self._tag == "is_a_folder_error" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_server_error(self): """ Only call this if :meth:`is_server_error` is true. :rtype: str """ if not self.is_server_error(): raise AttributeError("tag 'server_error' not set") return self._value def get_user_error(self): """ Only call this if :meth:`is_user_error` is true. :rtype: str """ 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(MarkdownConversionApiV2Error, self)._process_custom_annotations( annotation_type, field_path, processor ) MarkdownConversionApiV2Error_validator = bv.Union(MarkdownConversionApiV2Error) class MediaDurationError(bb.Struct): __slots__ = [ "_limit_value", ] _has_required_fields = False def __init__(self, limit=None): self._limit_value = bb.NOT_SET if limit is not None: self.limit = limit # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaDurationError, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaDurationError_validator = bv.Struct(MediaDurationError) class MetadataExtractionApiV2Error(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar MetadataExtractionApiV2Error.not_found_error: The referenced file does not exist or is not accessible. :ivar MetadataExtractionApiV2Error.is_a_folder_error: The target is a folder, not a file. """ _catch_all = "other" # Attribute is overwritten below the class definition unsupported_format_error = None # Attribute is overwritten below the class definition link_download_disabled_error = None # Attribute is overwritten below the class definition shared_link_password_protected = None # Attribute is overwritten below the class definition limit_exceeded_error = None # Attribute is overwritten below the class definition conversion_failure_error = None # Attribute is overwritten below the class definition not_found_error = None # Attribute is overwritten below the class definition is_a_folder_error = None # Attribute is overwritten below the class definition other = None @classmethod def server_error(cls, val): """ Create an instance of this class set to the ``server_error`` tag with value ``val``. :param str val: :rtype: MetadataExtractionApiV2Error """ return cls("server_error", val) @classmethod def user_error(cls, val): """ Create an instance of this class set to the ``user_error`` tag with value ``val``. :param str val: :rtype: MetadataExtractionApiV2Error """ return cls("user_error", val) def is_server_error(self): """ Check if the union tag is ``server_error``. :rtype: bool """ return self._tag == "server_error" def is_user_error(self): """ Check if the union tag is ``user_error``. :rtype: bool """ return self._tag == "user_error" def is_unsupported_format_error(self): """ Check if the union tag is ``unsupported_format_error``. :rtype: bool """ return self._tag == "unsupported_format_error" def is_link_download_disabled_error(self): """ Check if the union tag is ``link_download_disabled_error``. :rtype: bool """ return self._tag == "link_download_disabled_error" def is_shared_link_password_protected(self): """ Check if the union tag is ``shared_link_password_protected``. :rtype: bool """ return self._tag == "shared_link_password_protected" def is_limit_exceeded_error(self): """ Check if the union tag is ``limit_exceeded_error``. :rtype: bool """ return self._tag == "limit_exceeded_error" def is_conversion_failure_error(self): """ Check if the union tag is ``conversion_failure_error``. :rtype: bool """ return self._tag == "conversion_failure_error" def is_not_found_error(self): """ Check if the union tag is ``not_found_error``. :rtype: bool """ return self._tag == "not_found_error" def is_is_a_folder_error(self): """ Check if the union tag is ``is_a_folder_error``. :rtype: bool """ return self._tag == "is_a_folder_error" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_server_error(self): """ Only call this if :meth:`is_server_error` is true. :rtype: str """ if not self.is_server_error(): raise AttributeError("tag 'server_error' not set") return self._value def get_user_error(self): """ Only call this if :meth:`is_user_error` is true. :rtype: str """ 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(MetadataExtractionApiV2Error, self)._process_custom_annotations( annotation_type, field_path, processor ) MetadataExtractionApiV2Error_validator = bv.Union(MetadataExtractionApiV2Error) class MetadataType(bb.Union): """ Which metadata variant is populated in a `GetMetadataResult`, derived from the file 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 metadata_type_unknown = None # Attribute is overwritten below the class definition metadata_type_exif = None # Attribute is overwritten below the class definition metadata_type_media = None # Attribute is overwritten below the class definition metadata_type_pdf = None # Attribute is overwritten below the class definition metadata_type_office = None # Attribute is overwritten below the class definition other = None def is_metadata_type_unknown(self): """ Check if the union tag is ``metadata_type_unknown``. :rtype: bool """ return self._tag == "metadata_type_unknown" def is_metadata_type_exif(self): """ Check if the union tag is ``metadata_type_exif``. :rtype: bool """ return self._tag == "metadata_type_exif" def is_metadata_type_media(self): """ Check if the union tag is ``metadata_type_media``. :rtype: bool """ return self._tag == "metadata_type_media" def is_metadata_type_pdf(self): """ Check if the union tag is ``metadata_type_pdf``. :rtype: bool """ return self._tag == "metadata_type_pdf" def is_metadata_type_office(self): """ Check if the union tag is ``metadata_type_office``. :rtype: bool """ return self._tag == "metadata_type_office" 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(MetadataType, self)._process_custom_annotations( annotation_type, field_path, processor ) MetadataType_validator = bv.Union(MetadataType) class OfficeFileType(bb.Union): """ The kind of MS Office document that produced an `ApiOfficeMetadata` result. This class acts as a tagged union. Only 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 office_filetype_unknown = None # Attribute is overwritten below the class definition office_filetype_word = None # Attribute is overwritten below the class definition office_filetype_powerpoint = None # Attribute is overwritten below the class definition office_filetype_excel = None # Attribute is overwritten below the class definition other = None def is_office_filetype_unknown(self): """ Check if the union tag is ``office_filetype_unknown``. :rtype: bool """ return self._tag == "office_filetype_unknown" def is_office_filetype_word(self): """ Check if the union tag is ``office_filetype_word``. :rtype: bool """ return self._tag == "office_filetype_word" def is_office_filetype_powerpoint(self): """ Check if the union tag is ``office_filetype_powerpoint``. :rtype: bool """ return self._tag == "office_filetype_powerpoint" def is_office_filetype_excel(self): """ Check if the union tag is ``office_filetype_excel``. :rtype: bool """ return self._tag == "office_filetype_excel" 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(OfficeFileType, self)._process_custom_annotations( annotation_type, field_path, processor ) OfficeFileType_validator = bv.Union(OfficeFileType) class TimestampLevel(bb.Union): """ This class acts as a tagged union. Only 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 unknown = None # Attribute is overwritten below the class definition sentence = None # Attribute is overwritten below the class definition word = None # Attribute is overwritten below the class definition other = None def is_unknown(self): """ Check if the union tag is ``unknown``. :rtype: bool """ return self._tag == "unknown" def is_sentence(self): """ Check if the union tag is ``sentence``. :rtype: bool """ return self._tag == "sentence" def is_word(self): """ Check if the union tag is ``word``. :rtype: bool """ return self._tag == "word" 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(TimestampLevel, self)._process_custom_annotations( annotation_type, field_path, processor ) TimestampLevel_validator = bv.Union(TimestampLevel) class MetadataUnion(bb.Union): """ Exactly one variant is populated, corresponding to `metadata_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 other = None @classmethod def exif(cls, val): """ Create an instance of this class set to the ``exif`` tag with value ``val``. :param ApiExifMetadata val: :rtype: MetadataUnion """ return cls("exif", val) @classmethod def media(cls, val): """ Create an instance of this class set to the ``media`` tag with value ``val``. :param ApiMediaMetadata val: :rtype: MetadataUnion """ return cls("media", val) @classmethod def pdf(cls, val): """ Create an instance of this class set to the ``pdf`` tag with value ``val``. :param ApiPdfMetadata val: :rtype: MetadataUnion """ return cls("pdf", val) @classmethod def office(cls, val): """ Create an instance of this class set to the ``office`` tag with value ``val``. :param ApiOfficeMetadata val: :rtype: MetadataUnion """ return cls("office", val) def is_exif(self): """ Check if the union tag is ``exif``. :rtype: bool """ return self._tag == "exif" def is_media(self): """ Check if the union tag is ``media``. :rtype: bool """ return self._tag == "media" def is_pdf(self): """ Check if the union tag is ``pdf``. :rtype: bool """ return self._tag == "pdf" def is_office(self): """ Check if the union tag is ``office``. :rtype: bool """ return self._tag == "office" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_exif(self): """ Only call this if :meth:`is_exif` is true. :rtype: ApiExifMetadata """ if not self.is_exif(): raise AttributeError("tag 'exif' not set") return self._value def get_media(self): """ Only call this if :meth:`is_media` is true. :rtype: ApiMediaMetadata """ if not self.is_media(): raise AttributeError("tag 'media' not set") return self._value def get_pdf(self): """ Only call this if :meth:`is_pdf` is true. :rtype: ApiPdfMetadata """ if not self.is_pdf(): raise AttributeError("tag 'pdf' not set") return self._value def get_office(self): """ Only call this if :meth:`is_office` is true. :rtype: ApiOfficeMetadata """ if not self.is_office(): raise AttributeError("tag 'office' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(MetadataUnion, self)._process_custom_annotations( annotation_type, field_path, processor ) MetadataUnion_validator = bv.Union(MetadataUnion) ApiExifGpsMetadata.latitude.validator = bv.Float32() ApiExifGpsMetadata.longitude.validator = bv.Float32() ApiExifGpsMetadata.altitude.validator = bv.String() ApiExifGpsMetadata.timestamp.validator = bv.String() ApiExifGpsMetadata.datestamp.validator = bv.String() ApiExifGpsMetadata._all_field_names_ = set( [ "latitude", "longitude", "altitude", "timestamp", "datestamp", ] ) ApiExifGpsMetadata._all_fields_ = [ ("latitude", ApiExifGpsMetadata.latitude.validator), ("longitude", ApiExifGpsMetadata.longitude.validator), ("altitude", ApiExifGpsMetadata.altitude.validator), ("timestamp", ApiExifGpsMetadata.timestamp.validator), ("datestamp", ApiExifGpsMetadata.datestamp.validator), ] ApiExifMetadata.image_width.validator = bv.UInt32() ApiExifMetadata.image_height.validator = bv.UInt32() ApiExifMetadata.camera_make.validator = bv.String() ApiExifMetadata.camera_model.validator = bv.String() ApiExifMetadata.lens_model.validator = bv.String() ApiExifMetadata.date_time_original.validator = bv.String() ApiExifMetadata.offset_time_original.validator = bv.String() ApiExifMetadata.orientation.validator = bv.UInt32() ApiExifMetadata.exposure_time.validator = bv.String() ApiExifMetadata.aperture_value.validator = bv.Float64() ApiExifMetadata.iso_speed.validator = bv.UInt32() ApiExifMetadata.focal_length.validator = bv.String() ApiExifMetadata.megapixels.validator = bv.Float64() ApiExifMetadata.artist.validator = bv.String() ApiExifMetadata.copyright.validator = bv.String() ApiExifMetadata.gps_metadata.validator = bv.Nullable(ApiExifGpsMetadata_validator) ApiExifMetadata._all_field_names_ = set( [ "image_width", "image_height", "camera_make", "camera_model", "lens_model", "date_time_original", "offset_time_original", "orientation", "exposure_time", "aperture_value", "iso_speed", "focal_length", "megapixels", "artist", "copyright", "gps_metadata", ] ) ApiExifMetadata._all_fields_ = [ ("image_width", ApiExifMetadata.image_width.validator), ("image_height", ApiExifMetadata.image_height.validator), ("camera_make", ApiExifMetadata.camera_make.validator), ("camera_model", ApiExifMetadata.camera_model.validator), ("lens_model", ApiExifMetadata.lens_model.validator), ("date_time_original", ApiExifMetadata.date_time_original.validator), ("offset_time_original", ApiExifMetadata.offset_time_original.validator), ("orientation", ApiExifMetadata.orientation.validator), ("exposure_time", ApiExifMetadata.exposure_time.validator), ("aperture_value", ApiExifMetadata.aperture_value.validator), ("iso_speed", ApiExifMetadata.iso_speed.validator), ("focal_length", ApiExifMetadata.focal_length.validator), ("megapixels", ApiExifMetadata.megapixels.validator), ("artist", ApiExifMetadata.artist.validator), ("copyright", ApiExifMetadata.copyright.validator), ("gps_metadata", ApiExifMetadata.gps_metadata.validator), ] ApiMediaMetadata.bitrate_bps.validator = bv.UInt64() ApiMediaMetadata.duration_s.validator = bv.Float64() ApiMediaMetadata.creation_time.validator = bv.String() ApiMediaMetadata.streams.validator = bv.Nullable(bv.List(ApiMediaStream_validator)) ApiMediaMetadata._all_field_names_ = set( [ "bitrate_bps", "duration_s", "creation_time", "streams", ] ) ApiMediaMetadata._all_fields_ = [ ("bitrate_bps", ApiMediaMetadata.bitrate_bps.validator), ("duration_s", ApiMediaMetadata.duration_s.validator), ("creation_time", ApiMediaMetadata.creation_time.validator), ("streams", ApiMediaMetadata.streams.validator), ] ApiMediaStream.index.validator = bv.UInt32() ApiMediaStream.codec_type.validator = bv.String() ApiMediaStream.codec_name.validator = bv.String() ApiMediaStream.bitrate_bps.validator = bv.UInt64() ApiMediaStream.duration_s.validator = bv.Float64() ApiMediaStream.width.validator = bv.UInt32() ApiMediaStream.height.validator = bv.UInt32() ApiMediaStream.frames_per_second.validator = bv.Float64() ApiMediaStream.rotation.validator = bv.Int32() ApiMediaStream.display_aspect_ratio.validator = bv.String() ApiMediaStream.channels.validator = bv.UInt32() ApiMediaStream.channel_layout.validator = bv.String() ApiMediaStream.sample_rate_s.validator = bv.UInt64() ApiMediaStream.language_iso_639.validator = bv.String() ApiMediaStream._all_field_names_ = set( [ "index", "codec_type", "codec_name", "bitrate_bps", "duration_s", "width", "height", "frames_per_second", "rotation", "display_aspect_ratio", "channels", "channel_layout", "sample_rate_s", "language_iso_639", ] ) ApiMediaStream._all_fields_ = [ ("index", ApiMediaStream.index.validator), ("codec_type", ApiMediaStream.codec_type.validator), ("codec_name", ApiMediaStream.codec_name.validator), ("bitrate_bps", ApiMediaStream.bitrate_bps.validator), ("duration_s", ApiMediaStream.duration_s.validator), ("width", ApiMediaStream.width.validator), ("height", ApiMediaStream.height.validator), ("frames_per_second", ApiMediaStream.frames_per_second.validator), ("rotation", ApiMediaStream.rotation.validator), ("display_aspect_ratio", ApiMediaStream.display_aspect_ratio.validator), ("channels", ApiMediaStream.channels.validator), ("channel_layout", ApiMediaStream.channel_layout.validator), ("sample_rate_s", ApiMediaStream.sample_rate_s.validator), ("language_iso_639", ApiMediaStream.language_iso_639.validator), ] ApiOfficeMetadata.file_type.validator = OfficeFileType_validator ApiOfficeMetadata.creator.validator = bv.String() ApiOfficeMetadata.company.validator = bv.String() ApiOfficeMetadata.title.validator = bv.String() ApiOfficeMetadata.subject.validator = bv.String() ApiOfficeMetadata.keywords.validator = bv.String() ApiOfficeMetadata.description.validator = bv.String() ApiOfficeMetadata.total_edit_time_minutes.validator = bv.UInt32() ApiOfficeMetadata.pages.validator = bv.UInt32() ApiOfficeMetadata.words.validator = bv.UInt32() ApiOfficeMetadata.slides.validator = bv.UInt32() ApiOfficeMetadata.revision_number.validator = bv.String() ApiOfficeMetadata._all_field_names_ = set( [ "file_type", "creator", "company", "title", "subject", "keywords", "description", "total_edit_time_minutes", "pages", "words", "slides", "revision_number", ] ) ApiOfficeMetadata._all_fields_ = [ ("file_type", ApiOfficeMetadata.file_type.validator), ("creator", ApiOfficeMetadata.creator.validator), ("company", ApiOfficeMetadata.company.validator), ("title", ApiOfficeMetadata.title.validator), ("subject", ApiOfficeMetadata.subject.validator), ("keywords", ApiOfficeMetadata.keywords.validator), ("description", ApiOfficeMetadata.description.validator), ("total_edit_time_minutes", ApiOfficeMetadata.total_edit_time_minutes.validator), ("pages", ApiOfficeMetadata.pages.validator), ("words", ApiOfficeMetadata.words.validator), ("slides", ApiOfficeMetadata.slides.validator), ("revision_number", ApiOfficeMetadata.revision_number.validator), ] ApiPdfMetadata.pages.validator = bv.UInt32() ApiPdfMetadata.width.validator = bv.UInt32() ApiPdfMetadata.height.validator = bv.UInt32() ApiPdfMetadata._all_field_names_ = set( [ "pages", "width", "height", ] ) ApiPdfMetadata._all_fields_ = [ ("pages", ApiPdfMetadata.pages.validator), ("width", ApiPdfMetadata.width.validator), ("height", ApiPdfMetadata.height.validator), ] ApiStructuredTranscript.segments.validator = bv.Nullable(bv.List(ApiTranscriptSegment_validator)) ApiStructuredTranscript.transcript_locale.validator = bv.String() ApiStructuredTranscript._all_field_names_ = set( [ "segments", "transcript_locale", ] ) ApiStructuredTranscript._all_fields_ = [ ("segments", ApiStructuredTranscript.segments.validator), ("transcript_locale", ApiStructuredTranscript.transcript_locale.validator), ] ApiTranscriptSegment.text.validator = bv.String() ApiTranscriptSegment.start_time.validator = bv.Float64() ApiTranscriptSegment.end_time.validator = bv.Float64() ApiTranscriptSegment._all_field_names_ = set( [ "text", "start_time", "end_time", ] ) ApiTranscriptSegment._all_fields_ = [ ("text", ApiTranscriptSegment.text.validator), ("start_time", ApiTranscriptSegment.start_time.validator), ("end_time", ApiTranscriptSegment.end_time.validator), ] ContentApiV2Error._server_error_validator = bv.String() ContentApiV2Error._user_error_validator = bv.String() ContentApiV2Error._media_duration_error_validator = MediaDurationError_validator ContentApiV2Error._no_audio_error_validator = bv.Void() ContentApiV2Error._link_download_disabled_error_validator = bv.Void() ContentApiV2Error._shared_link_password_protected_validator = bv.Void() ContentApiV2Error._limit_exceeded_error_validator = bv.Void() ContentApiV2Error._not_found_error_validator = bv.Void() ContentApiV2Error._is_a_folder_error_validator = bv.Void() ContentApiV2Error._other_validator = bv.Void() ContentApiV2Error._tagmap = { "server_error": ContentApiV2Error._server_error_validator, "user_error": ContentApiV2Error._user_error_validator, "media_duration_error": ContentApiV2Error._media_duration_error_validator, "no_audio_error": ContentApiV2Error._no_audio_error_validator, "link_download_disabled_error": ContentApiV2Error._link_download_disabled_error_validator, "shared_link_password_protected": ContentApiV2Error._shared_link_password_protected_validator, "limit_exceeded_error": ContentApiV2Error._limit_exceeded_error_validator, "not_found_error": ContentApiV2Error._not_found_error_validator, "is_a_folder_error": ContentApiV2Error._is_a_folder_error_validator, "other": ContentApiV2Error._other_validator, } ContentApiV2Error.no_audio_error = ContentApiV2Error("no_audio_error") ContentApiV2Error.link_download_disabled_error = ContentApiV2Error("link_download_disabled_error") ContentApiV2Error.shared_link_password_protected = ContentApiV2Error( "shared_link_password_protected" ) ContentApiV2Error.limit_exceeded_error = ContentApiV2Error("limit_exceeded_error") ContentApiV2Error.not_found_error = ContentApiV2Error("not_found_error") ContentApiV2Error.is_a_folder_error = ContentApiV2Error("is_a_folder_error") ContentApiV2Error.other = ContentApiV2Error("other") ErrorCode._unknown_error_validator = bv.Void() ErrorCode._bad_request_validator = bv.Void() ErrorCode._api_error_validator = bv.Void() ErrorCode._access_error_validator = bv.Void() ErrorCode._ratelimit_error_validator = bv.Void() ErrorCode._unavailable_validator = bv.Void() ErrorCode._other_validator = bv.Void() ErrorCode._tagmap = { "unknown_error": ErrorCode._unknown_error_validator, "bad_request": ErrorCode._bad_request_validator, "api_error": ErrorCode._api_error_validator, "access_error": ErrorCode._access_error_validator, "ratelimit_error": ErrorCode._ratelimit_error_validator, "unavailable": ErrorCode._unavailable_validator, "other": ErrorCode._other_validator, } ErrorCode.unknown_error = ErrorCode("unknown_error") ErrorCode.bad_request = ErrorCode("bad_request") ErrorCode.api_error = ErrorCode("api_error") ErrorCode.access_error = ErrorCode("access_error") ErrorCode.ratelimit_error = ErrorCode("ratelimit_error") ErrorCode.unavailable = ErrorCode("unavailable") ErrorCode.other = ErrorCode("other") FileIdOrUrl._file_id_validator = bv.String() FileIdOrUrl._url_validator = bv.String() FileIdOrUrl._path_validator = bv.String() FileIdOrUrl._other_validator = bv.Void() FileIdOrUrl._tagmap = { "file_id": FileIdOrUrl._file_id_validator, "url": FileIdOrUrl._url_validator, "path": FileIdOrUrl._path_validator, "other": FileIdOrUrl._other_validator, } FileIdOrUrl.other = FileIdOrUrl("other") GetMarkdownArgs.file_id_or_url.validator = bv.Nullable(FileIdOrUrl_validator) GetMarkdownArgs.enable_ocr.validator = bv.Boolean() GetMarkdownArgs.embed_images.validator = bv.Boolean() GetMarkdownArgs._all_field_names_ = set( [ "file_id_or_url", "enable_ocr", "embed_images", ] ) GetMarkdownArgs._all_fields_ = [ ("file_id_or_url", GetMarkdownArgs.file_id_or_url.validator), ("enable_ocr", GetMarkdownArgs.enable_ocr.validator), ("embed_images", GetMarkdownArgs.embed_images.validator), ] GetMarkdownAsyncCheckResult._in_progress_validator = bv.Void() GetMarkdownAsyncCheckResult._complete_validator = GetMarkdownResult_validator GetMarkdownAsyncCheckResult._failed_validator = GetMarkdownAsyncError_validator GetMarkdownAsyncCheckResult._other_validator = bv.Void() GetMarkdownAsyncCheckResult._tagmap = { "in_progress": GetMarkdownAsyncCheckResult._in_progress_validator, "complete": GetMarkdownAsyncCheckResult._complete_validator, "failed": GetMarkdownAsyncCheckResult._failed_validator, "other": GetMarkdownAsyncCheckResult._other_validator, } GetMarkdownAsyncCheckResult.in_progress = GetMarkdownAsyncCheckResult("in_progress") GetMarkdownAsyncCheckResult.other = GetMarkdownAsyncCheckResult("other") GetMarkdownAsyncError.error_code.validator = ErrorCode_validator GetMarkdownAsyncError.error_details.validator = bv.Nullable(MarkdownConversionApiV2Error_validator) GetMarkdownAsyncError._all_field_names_ = set( [ "error_code", "error_details", ] ) GetMarkdownAsyncError._all_fields_ = [ ("error_code", GetMarkdownAsyncError.error_code.validator), ("error_details", GetMarkdownAsyncError.error_details.validator), ] GetMarkdownResult.markdown.validator = bv.String() GetMarkdownResult._all_field_names_ = set(["markdown"]) GetMarkdownResult._all_fields_ = [("markdown", GetMarkdownResult.markdown.validator)] GetMetadataArgs.file_id_or_url.validator = bv.Nullable(FileIdOrUrl_validator) GetMetadataArgs._all_field_names_ = set(["file_id_or_url"]) GetMetadataArgs._all_fields_ = [("file_id_or_url", GetMetadataArgs.file_id_or_url.validator)] GetMetadataAsyncCheckResult._in_progress_validator = bv.Void() GetMetadataAsyncCheckResult._complete_validator = GetMetadataResult_validator GetMetadataAsyncCheckResult._failed_validator = GetMetadataAsyncError_validator GetMetadataAsyncCheckResult._other_validator = bv.Void() GetMetadataAsyncCheckResult._tagmap = { "in_progress": GetMetadataAsyncCheckResult._in_progress_validator, "complete": GetMetadataAsyncCheckResult._complete_validator, "failed": GetMetadataAsyncCheckResult._failed_validator, "other": GetMetadataAsyncCheckResult._other_validator, } GetMetadataAsyncCheckResult.in_progress = GetMetadataAsyncCheckResult("in_progress") GetMetadataAsyncCheckResult.other = GetMetadataAsyncCheckResult("other") GetMetadataAsyncError.error_code.validator = ErrorCode_validator GetMetadataAsyncError.error_details.validator = bv.Nullable(MetadataExtractionApiV2Error_validator) GetMetadataAsyncError._all_field_names_ = set( [ "error_code", "error_details", ] ) GetMetadataAsyncError._all_fields_ = [ ("error_code", GetMetadataAsyncError.error_code.validator), ("error_details", GetMetadataAsyncError.error_details.validator), ] GetMetadataResult.metadata_type.validator = MetadataType_validator GetMetadataResult.metadata.validator = bv.Nullable(MetadataUnion_validator) GetMetadataResult._all_field_names_ = set( [ "metadata_type", "metadata", ] ) GetMetadataResult._all_fields_ = [ ("metadata_type", GetMetadataResult.metadata_type.validator), ("metadata", GetMetadataResult.metadata.validator), ] GetTranscriptArgs.file_id_or_url.validator = bv.Nullable(FileIdOrUrl_validator) GetTranscriptArgs.timestamp_level.validator = TimestampLevel_validator GetTranscriptArgs.included_special_words.validator = bv.String() GetTranscriptArgs.audio_language.validator = bv.String() GetTranscriptArgs._all_field_names_ = set( [ "file_id_or_url", "timestamp_level", "included_special_words", "audio_language", ] ) GetTranscriptArgs._all_fields_ = [ ("file_id_or_url", GetTranscriptArgs.file_id_or_url.validator), ("timestamp_level", GetTranscriptArgs.timestamp_level.validator), ("included_special_words", GetTranscriptArgs.included_special_words.validator), ("audio_language", GetTranscriptArgs.audio_language.validator), ] GetTranscriptAsyncCheckResult._in_progress_validator = bv.Void() GetTranscriptAsyncCheckResult._complete_validator = GetTranscriptResult_validator GetTranscriptAsyncCheckResult._failed_validator = GetTranscriptAsyncError_validator GetTranscriptAsyncCheckResult._other_validator = bv.Void() GetTranscriptAsyncCheckResult._tagmap = { "in_progress": GetTranscriptAsyncCheckResult._in_progress_validator, "complete": GetTranscriptAsyncCheckResult._complete_validator, "failed": GetTranscriptAsyncCheckResult._failed_validator, "other": GetTranscriptAsyncCheckResult._other_validator, } GetTranscriptAsyncCheckResult.in_progress = GetTranscriptAsyncCheckResult("in_progress") GetTranscriptAsyncCheckResult.other = GetTranscriptAsyncCheckResult("other") GetTranscriptAsyncError.error_code.validator = ErrorCode_validator GetTranscriptAsyncError.error_details.validator = bv.Nullable(ContentApiV2Error_validator) GetTranscriptAsyncError._all_field_names_ = set( [ "error_code", "error_details", ] ) GetTranscriptAsyncError._all_fields_ = [ ("error_code", GetTranscriptAsyncError.error_code.validator), ("error_details", GetTranscriptAsyncError.error_details.validator), ] GetTranscriptResult.structured_transcript.validator = bv.Nullable(ApiStructuredTranscript_validator) GetTranscriptResult._all_field_names_ = set(["structured_transcript"]) GetTranscriptResult._all_fields_ = [ ("structured_transcript", GetTranscriptResult.structured_transcript.validator) ] MarkdownConversionApiV2Error._server_error_validator = bv.String() MarkdownConversionApiV2Error._user_error_validator = bv.String() MarkdownConversionApiV2Error._unsupported_format_error_validator = bv.Void() MarkdownConversionApiV2Error._link_download_disabled_error_validator = bv.Void() MarkdownConversionApiV2Error._shared_link_password_protected_validator = bv.Void() MarkdownConversionApiV2Error._limit_exceeded_error_validator = bv.Void() MarkdownConversionApiV2Error._conversion_failure_error_validator = bv.Void() MarkdownConversionApiV2Error._not_found_error_validator = bv.Void() MarkdownConversionApiV2Error._is_a_folder_error_validator = bv.Void() MarkdownConversionApiV2Error._other_validator = bv.Void() MarkdownConversionApiV2Error._tagmap = { "server_error": MarkdownConversionApiV2Error._server_error_validator, "user_error": MarkdownConversionApiV2Error._user_error_validator, "unsupported_format_error": MarkdownConversionApiV2Error._unsupported_format_error_validator, "link_download_disabled_error": MarkdownConversionApiV2Error._link_download_disabled_error_validator, "shared_link_password_protected": MarkdownConversionApiV2Error._shared_link_password_protected_validator, "limit_exceeded_error": MarkdownConversionApiV2Error._limit_exceeded_error_validator, "conversion_failure_error": MarkdownConversionApiV2Error._conversion_failure_error_validator, "not_found_error": MarkdownConversionApiV2Error._not_found_error_validator, "is_a_folder_error": MarkdownConversionApiV2Error._is_a_folder_error_validator, "other": MarkdownConversionApiV2Error._other_validator, } MarkdownConversionApiV2Error.unsupported_format_error = MarkdownConversionApiV2Error( "unsupported_format_error" ) MarkdownConversionApiV2Error.link_download_disabled_error = MarkdownConversionApiV2Error( "link_download_disabled_error" ) MarkdownConversionApiV2Error.shared_link_password_protected = MarkdownConversionApiV2Error( "shared_link_password_protected" ) MarkdownConversionApiV2Error.limit_exceeded_error = MarkdownConversionApiV2Error( "limit_exceeded_error" ) MarkdownConversionApiV2Error.conversion_failure_error = MarkdownConversionApiV2Error( "conversion_failure_error" ) MarkdownConversionApiV2Error.not_found_error = MarkdownConversionApiV2Error("not_found_error") MarkdownConversionApiV2Error.is_a_folder_error = MarkdownConversionApiV2Error("is_a_folder_error") MarkdownConversionApiV2Error.other = MarkdownConversionApiV2Error("other") MediaDurationError.limit.validator = bv.Int32() MediaDurationError._all_field_names_ = set(["limit"]) MediaDurationError._all_fields_ = [("limit", MediaDurationError.limit.validator)] MetadataExtractionApiV2Error._server_error_validator = bv.String() MetadataExtractionApiV2Error._user_error_validator = bv.String() MetadataExtractionApiV2Error._unsupported_format_error_validator = bv.Void() MetadataExtractionApiV2Error._link_download_disabled_error_validator = bv.Void() MetadataExtractionApiV2Error._shared_link_password_protected_validator = bv.Void() MetadataExtractionApiV2Error._limit_exceeded_error_validator = bv.Void() MetadataExtractionApiV2Error._conversion_failure_error_validator = bv.Void() MetadataExtractionApiV2Error._not_found_error_validator = bv.Void() MetadataExtractionApiV2Error._is_a_folder_error_validator = bv.Void() MetadataExtractionApiV2Error._other_validator = bv.Void() MetadataExtractionApiV2Error._tagmap = { "server_error": MetadataExtractionApiV2Error._server_error_validator, "user_error": MetadataExtractionApiV2Error._user_error_validator, "unsupported_format_error": MetadataExtractionApiV2Error._unsupported_format_error_validator, "link_download_disabled_error": MetadataExtractionApiV2Error._link_download_disabled_error_validator, "shared_link_password_protected": MetadataExtractionApiV2Error._shared_link_password_protected_validator, "limit_exceeded_error": MetadataExtractionApiV2Error._limit_exceeded_error_validator, "conversion_failure_error": MetadataExtractionApiV2Error._conversion_failure_error_validator, "not_found_error": MetadataExtractionApiV2Error._not_found_error_validator, "is_a_folder_error": MetadataExtractionApiV2Error._is_a_folder_error_validator, "other": MetadataExtractionApiV2Error._other_validator, } MetadataExtractionApiV2Error.unsupported_format_error = MetadataExtractionApiV2Error( "unsupported_format_error" ) MetadataExtractionApiV2Error.link_download_disabled_error = MetadataExtractionApiV2Error( "link_download_disabled_error" ) MetadataExtractionApiV2Error.shared_link_password_protected = MetadataExtractionApiV2Error( "shared_link_password_protected" ) MetadataExtractionApiV2Error.limit_exceeded_error = MetadataExtractionApiV2Error( "limit_exceeded_error" ) MetadataExtractionApiV2Error.conversion_failure_error = MetadataExtractionApiV2Error( "conversion_failure_error" ) MetadataExtractionApiV2Error.not_found_error = MetadataExtractionApiV2Error("not_found_error") MetadataExtractionApiV2Error.is_a_folder_error = MetadataExtractionApiV2Error("is_a_folder_error") MetadataExtractionApiV2Error.other = MetadataExtractionApiV2Error("other") MetadataType._metadata_type_unknown_validator = bv.Void() MetadataType._metadata_type_exif_validator = bv.Void() MetadataType._metadata_type_media_validator = bv.Void() MetadataType._metadata_type_pdf_validator = bv.Void() MetadataType._metadata_type_office_validator = bv.Void() MetadataType._other_validator = bv.Void() MetadataType._tagmap = { "metadata_type_unknown": MetadataType._metadata_type_unknown_validator, "metadata_type_exif": MetadataType._metadata_type_exif_validator, "metadata_type_media": MetadataType._metadata_type_media_validator, "metadata_type_pdf": MetadataType._metadata_type_pdf_validator, "metadata_type_office": MetadataType._metadata_type_office_validator, "other": MetadataType._other_validator, } MetadataType.metadata_type_unknown = MetadataType("metadata_type_unknown") MetadataType.metadata_type_exif = MetadataType("metadata_type_exif") MetadataType.metadata_type_media = MetadataType("metadata_type_media") MetadataType.metadata_type_pdf = MetadataType("metadata_type_pdf") MetadataType.metadata_type_office = MetadataType("metadata_type_office") MetadataType.other = MetadataType("other") OfficeFileType._office_filetype_unknown_validator = bv.Void() OfficeFileType._office_filetype_word_validator = bv.Void() OfficeFileType._office_filetype_powerpoint_validator = bv.Void() OfficeFileType._office_filetype_excel_validator = bv.Void() OfficeFileType._other_validator = bv.Void() OfficeFileType._tagmap = { "office_filetype_unknown": OfficeFileType._office_filetype_unknown_validator, "office_filetype_word": OfficeFileType._office_filetype_word_validator, "office_filetype_powerpoint": OfficeFileType._office_filetype_powerpoint_validator, "office_filetype_excel": OfficeFileType._office_filetype_excel_validator, "other": OfficeFileType._other_validator, } OfficeFileType.office_filetype_unknown = OfficeFileType("office_filetype_unknown") OfficeFileType.office_filetype_word = OfficeFileType("office_filetype_word") OfficeFileType.office_filetype_powerpoint = OfficeFileType("office_filetype_powerpoint") OfficeFileType.office_filetype_excel = OfficeFileType("office_filetype_excel") OfficeFileType.other = OfficeFileType("other") TimestampLevel._unknown_validator = bv.Void() TimestampLevel._sentence_validator = bv.Void() TimestampLevel._word_validator = bv.Void() TimestampLevel._other_validator = bv.Void() TimestampLevel._tagmap = { "unknown": TimestampLevel._unknown_validator, "sentence": TimestampLevel._sentence_validator, "word": TimestampLevel._word_validator, "other": TimestampLevel._other_validator, } TimestampLevel.unknown = TimestampLevel("unknown") TimestampLevel.sentence = TimestampLevel("sentence") TimestampLevel.word = TimestampLevel("word") TimestampLevel.other = TimestampLevel("other") MetadataUnion._exif_validator = ApiExifMetadata_validator MetadataUnion._media_validator = ApiMediaMetadata_validator MetadataUnion._pdf_validator = ApiPdfMetadata_validator MetadataUnion._office_validator = ApiOfficeMetadata_validator MetadataUnion._other_validator = bv.Void() MetadataUnion._tagmap = { "exif": MetadataUnion._exif_validator, "media": MetadataUnion._media_validator, "pdf": MetadataUnion._pdf_validator, "office": MetadataUnion._office_validator, "other": MetadataUnion._other_validator, } MetadataUnion.other = MetadataUnion("other") ApiExifGpsMetadata.latitude.default = 0.0 ApiExifGpsMetadata.longitude.default = 0.0 ApiExifGpsMetadata.altitude.default = "" ApiExifGpsMetadata.timestamp.default = "" ApiExifGpsMetadata.datestamp.default = "" ApiExifMetadata.image_width.default = 0 ApiExifMetadata.image_height.default = 0 ApiExifMetadata.camera_make.default = "" ApiExifMetadata.camera_model.default = "" ApiExifMetadata.lens_model.default = "" ApiExifMetadata.date_time_original.default = "" ApiExifMetadata.offset_time_original.default = "" ApiExifMetadata.orientation.default = 0 ApiExifMetadata.exposure_time.default = "" ApiExifMetadata.aperture_value.default = 0.0 ApiExifMetadata.iso_speed.default = 0 ApiExifMetadata.focal_length.default = "" ApiExifMetadata.megapixels.default = 0.0 ApiExifMetadata.artist.default = "" ApiExifMetadata.copyright.default = "" ApiMediaMetadata.bitrate_bps.default = 0 ApiMediaMetadata.duration_s.default = 0.0 ApiMediaMetadata.creation_time.default = "" ApiMediaStream.index.default = 0 ApiMediaStream.codec_type.default = "" ApiMediaStream.codec_name.default = "" ApiMediaStream.bitrate_bps.default = 0 ApiMediaStream.duration_s.default = 0.0 ApiMediaStream.width.default = 0 ApiMediaStream.height.default = 0 ApiMediaStream.frames_per_second.default = 0.0 ApiMediaStream.rotation.default = 0 ApiMediaStream.display_aspect_ratio.default = "" ApiMediaStream.channels.default = 0 ApiMediaStream.channel_layout.default = "" ApiMediaStream.sample_rate_s.default = 0 ApiMediaStream.language_iso_639.default = "" ApiOfficeMetadata.file_type.default = OfficeFileType.office_filetype_unknown ApiOfficeMetadata.creator.default = "" ApiOfficeMetadata.company.default = "" ApiOfficeMetadata.title.default = "" ApiOfficeMetadata.subject.default = "" ApiOfficeMetadata.keywords.default = "" ApiOfficeMetadata.description.default = "" ApiOfficeMetadata.total_edit_time_minutes.default = 0 ApiOfficeMetadata.pages.default = 0 ApiOfficeMetadata.words.default = 0 ApiOfficeMetadata.slides.default = 0 ApiOfficeMetadata.revision_number.default = "" ApiPdfMetadata.pages.default = 0 ApiPdfMetadata.width.default = 0 ApiPdfMetadata.height.default = 0 ApiStructuredTranscript.transcript_locale.default = "" ApiTranscriptSegment.text.default = "" ApiTranscriptSegment.start_time.default = 0.0 ApiTranscriptSegment.end_time.default = 0.0 GetMarkdownArgs.enable_ocr.default = False GetMarkdownArgs.embed_images.default = False GetMarkdownAsyncError.error_code.default = ErrorCode.unknown_error GetMarkdownResult.markdown.default = "" GetMetadataAsyncError.error_code.default = ErrorCode.unknown_error GetMetadataResult.metadata_type.default = MetadataType.metadata_type_unknown GetTranscriptArgs.timestamp_level.default = TimestampLevel.unknown GetTranscriptArgs.included_special_words.default = "" GetTranscriptArgs.audio_language.default = "" GetTranscriptAsyncError.error_code.default = ErrorCode.unknown_error MediaDurationError.limit.default = 0 get_markdown_async = bb.Route( "get_markdown_async", 1, False, GetMarkdownArgs_validator, async_.LaunchResultBase_validator, bv.Void(), {"auth": "app, user", "host": "api", "style": "rpc"}, ) get_markdown_async_check = bb.Route( "get_markdown_async/check", 1, False, async_.PollArg_validator, GetMarkdownAsyncCheckResult_validator, async_.PollError_validator, {"auth": "app, user", "host": "api", "style": "rpc"}, ) get_metadata_async = bb.Route( "get_metadata_async", 1, False, GetMetadataArgs_validator, async_.LaunchResultBase_validator, bv.Void(), {"auth": "app, user", "host": "api", "style": "rpc"}, ) get_metadata_async_check = bb.Route( "get_metadata_async/check", 1, False, async_.PollArg_validator, GetMetadataAsyncCheckResult_validator, async_.PollError_validator, {"auth": "app, user", "host": "api", "style": "rpc"}, ) get_transcript_async = bb.Route( "get_transcript_async", 1, False, GetTranscriptArgs_validator, async_.LaunchResultBase_validator, bv.Void(), {"auth": "app, user", "host": "api", "style": "rpc"}, ) get_transcript_async_check = bb.Route( "get_transcript_async/check", 1, False, async_.PollArg_validator, GetTranscriptAsyncCheckResult_validator, async_.PollError_validator, {"auth": "app, user", "host": "api", "style": "rpc"}, ) ROUTES = { "get_markdown_async": get_markdown_async, "get_markdown_async/check": get_markdown_async_check, "get_metadata_async": get_metadata_async, "get_metadata_async/check": get_metadata_async_check, "get_transcript_async": get_transcript_async, "get_transcript_async/check": get_transcript_async_check, } dropbox-dropbox-sdk-python-6064f79/dropbox/secondary_emails.py000066400000000000000000000033521522735175000246110ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import common class SecondaryEmail(bb.Struct): """ :ivar SecondaryEmail.email: Secondary email address. :ivar SecondaryEmail.is_verified: Whether or not the secondary email address is verified to be owned by a user. """ __slots__ = [ "_email_value", "_is_verified_value", ] _has_required_fields = True def __init__(self, email=None, is_verified=None): self._email_value = bb.NOT_SET self._is_verified_value = bb.NOT_SET if email is not None: self.email = email if is_verified is not None: self.is_verified = is_verified # Instance attribute type: str (validator is set below) email = bb.Attribute("email") # Instance attribute type: bool (validator is set below) is_verified = bb.Attribute("is_verified") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryEmail, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryEmail_validator = bv.Struct(SecondaryEmail) SecondaryEmail.email.validator = common.EmailAddress_validator SecondaryEmail.is_verified.validator = bv.Boolean() SecondaryEmail._all_field_names_ = set( [ "email", "is_verified", ] ) SecondaryEmail._all_fields_ = [ ("email", SecondaryEmail.email.validator), ("is_verified", SecondaryEmail.is_verified.validator), ] ROUTES = {} dropbox-dropbox-sdk-python-6064f79/dropbox/seen_state.py000066400000000000000000000106651522735175000234270ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv 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 PlatformType.web: The content was viewed on the web. :ivar PlatformType.desktop: The content was viewed on a desktop client. :ivar PlatformType.mobile_ios: The content was viewed on a mobile iOS client. :ivar PlatformType.mobile_android: The content was viewed on a mobile android client. :ivar PlatformType.api: The content was viewed from an API client. :ivar PlatformType.unknown: The content was viewed on an unknown platform. :ivar 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 ) 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-dropbox-sdk-python-6064f79/dropbox/session.py000066400000000000000000000042711522735175000227540ustar00rootroot00000000000000import 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) # This is the default longest time we'll block on receiving data from the server DEFAULT_TIMEOUT = 100 # 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): _ca_certs = None def __init__(self, *args, **kwargs): self._ca_certs = kwargs.pop("ca_certs", None) super(_SSLAdapter, self).__init__(*args, **kwargs) 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=self._ca_certs, ) def pinned_session(pool_maxsize=8, ca_certs=None): # always verify, use cert bundle if provided _session = requests.session() # requests if ca_certs is not None: _session.verify = ca_certs else: _session.verify = True # urllib3 within requests http_adapter = _SSLAdapter(pool_connections=4, pool_maxsize=pool_maxsize, ca_certs=ca_certs) _session.mount("https://", http_adapter) return _session SSLError = requests.exceptions.SSLError # raised on verification errors dropbox-dropbox-sdk-python-6064f79/dropbox/sharing.py000066400000000000000000020626061522735175000227340ustar00rootroot00000000000000# -*- 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. """ from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import async_ from dropbox import common from dropbox import files from dropbox import seen_state from dropbox import team_common from dropbox import team_policies from dropbox import users from dropbox 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 AccessInheritance.inherit: The shared folder inherits its members from the parent folder. :ivar 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 ) 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 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_client.Dropbox.sharing_update_folder_policy`. :ivar AccessLevel.editor: The collaborator can both view and edit the shared folder. :ivar AccessLevel.viewer: The collaborator can only view the shared folder. :ivar AccessLevel.viewer_no_comment: The collaborator can only view the shared folder and does not have any access to comments. :ivar AccessLevel.traverse: The collaborator can only view the shared folder that they have access to. :ivar AccessLevel.no_access: If there is a Righteous Link on the folder which grants access and the user has visited such link, they are allowed to perform certain action (i.e. add themselves to the folder) via the link access even though the user themselves are not a member on the shared folder yet. """ _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 traverse = None # Attribute is overwritten below the class definition no_access = 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_traverse(self): """ Check if the union tag is ``traverse``. :rtype: bool """ return self._tag == "traverse" 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(AccessLevel, self)._process_custom_annotations(annotation_type, field_path, processor) 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 AclUpdatePolicy.owner: Only the owner can update the ACL. :ivar 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 ) AclUpdatePolicy_validator = bv.Union(AclUpdatePolicy) class AddFileMemberArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_add_file_member`. :ivar AddFileMemberArgs.file: File to which to add members. :ivar AddFileMemberArgs.members: Members to add. Note that even an email address is given, this may result in a user being directly added to the membership if that email is the user's main account email. :ivar AddFileMemberArgs.custom_message: Message to send to added members in their invitation. :ivar AddFileMemberArgs.quiet: Whether added members should be notified via email and device notifications of their invitation. :ivar AddFileMemberArgs.access_level: AccessLevel union object, describing what access level we want to give new members. :ivar AddFileMemberArgs.add_message_as_comment: If the custom message should be added as a comment on the file. Only meant for Paper files. :ivar AddFileMemberArgs.fp_sealed_result: Field is only returned for "internal" callers. The FingerprintJS Sealed Client Result value """ __slots__ = [ "_file_value", "_members_value", "_custom_message_value", "_quiet_value", "_access_level_value", "_add_message_as_comment_value", "_fp_sealed_result_value", ] _has_required_fields = True def __init__( self, file=None, members=None, custom_message=None, quiet=None, access_level=None, add_message_as_comment=None, fp_sealed_result=None, ): self._file_value = bb.NOT_SET self._members_value = bb.NOT_SET self._custom_message_value = bb.NOT_SET self._quiet_value = bb.NOT_SET self._access_level_value = bb.NOT_SET self._add_message_as_comment_value = bb.NOT_SET self._fp_sealed_result_value = bb.NOT_SET 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 if fp_sealed_result is not None: self.fp_sealed_result = fp_sealed_result # Instance attribute type: str (validator is set below) file = bb.Attribute("file") # Instance attribute type: list of [MemberSelector] (validator is set below) members = bb.Attribute("members") # Instance attribute type: str (validator is set below) custom_message = bb.Attribute("custom_message", nullable=True) # Instance attribute type: bool (validator is set below) quiet = bb.Attribute("quiet") # Instance attribute type: AccessLevel (validator is set below) access_level = bb.Attribute("access_level", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) add_message_as_comment = bb.Attribute("add_message_as_comment") # Instance attribute type: str (validator is set below) fp_sealed_result = bb.Attribute("fp_sealed_result", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddFileMemberArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) AddFileMemberArgs_validator = bv.Struct(AddFileMemberArgs) class AddFileMemberError(bb.Union): """ Errors for :meth:`dropbox.dropbox_client.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 AddFileMemberError.rate_limit: The user has reached the rate limit for invitations. :ivar AddFileMemberError.invalid_comment: The custom message did not pass comment permissions checks. :ivar AddFileMemberError.banned_member: The current user has been banned for abuse reasons. """ _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 banned_member = 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_banned_member(self): """ Check if the union tag is ``banned_member``. :rtype: bool """ return self._tag == "banned_member" 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 ) AddFileMemberError_validator = bv.Union(AddFileMemberError) class AddFolderMemberArg(bb.Struct): """ :ivar AddFolderMemberArg.shared_folder_id: The ID for the shared folder. :ivar AddFolderMemberArg.members: The intended list of members to add. Added members will receive invites to join the shared folder. :ivar AddFolderMemberArg.quiet: Whether added members should be notified via email and device notifications of their invite. :ivar AddFolderMemberArg.custom_message: Optional message to display to added members in their invitation. :ivar AddFolderMemberArg.fp_sealed_result: Field is only returned for "internal" callers. The FingerprintJS Sealed Client Result value """ __slots__ = [ "_shared_folder_id_value", "_members_value", "_quiet_value", "_custom_message_value", "_fp_sealed_result_value", ] _has_required_fields = True def __init__( self, shared_folder_id=None, members=None, quiet=None, custom_message=None, fp_sealed_result=None, ): self._shared_folder_id_value = bb.NOT_SET self._members_value = bb.NOT_SET self._quiet_value = bb.NOT_SET self._custom_message_value = bb.NOT_SET self._fp_sealed_result_value = bb.NOT_SET 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 if fp_sealed_result is not None: self.fp_sealed_result = fp_sealed_result # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: list of [AddMember] (validator is set below) members = bb.Attribute("members") # Instance attribute type: bool (validator is set below) quiet = bb.Attribute("quiet") # Instance attribute type: str (validator is set below) custom_message = bb.Attribute("custom_message", nullable=True) # Instance attribute type: str (validator is set below) fp_sealed_result = bb.Attribute("fp_sealed_result", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddFolderMemberArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 AddFolderMemberError.access_error: Unable to access shared folder. :vartype AddFolderMemberError.access_error: SharedFolderAccessError :ivar AddFolderMemberError.email_unverified: This user's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address `here `_. :ivar AddFolderMemberError.banned_member: The current user has been banned. :ivar AddFolderMemberError.bad_member: ``AddFolderMemberArg.members`` contains a bad invitation recipient. :vartype AddFolderMemberError.bad_member: AddMemberSelectorError :ivar AddFolderMemberError.cant_share_outside_team: Your team policy does not allow sharing outside of the team. :ivar AddFolderMemberError.too_many_members: The value is the member limit that was reached. :vartype AddFolderMemberError.too_many_members: int :ivar AddFolderMemberError.too_many_pending_invites: The value is the pending invite limit that was reached. :vartype AddFolderMemberError.too_many_pending_invites: int :ivar AddFolderMemberError.rate_limit: The current user has hit the limit of invites they can send per day. Try again in 24 hours. :ivar AddFolderMemberError.too_many_invitees: The current user is trying to share with too many people at once. :ivar 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 AddFolderMemberError.team_folder: This action cannot be performed on a team shared folder. :ivar AddFolderMemberError.no_permission: The current user does not have permission to perform this action. :ivar AddFolderMemberError.invalid_shared_folder: Field is deprecated. Invalid shared folder error will be returned as an access_error. """ _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 invalid_shared_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: 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_invalid_shared_folder(self): """ Check if the union tag is ``invalid_shared_folder``. :rtype: bool """ return self._tag == "invalid_shared_folder" 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 ) 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 AddMember.member: The member to add to the shared folder. :ivar AddMember.access_level: The access level to grant ``member`` to the shared folder. ``AccessLevel.owner`` is disallowed. """ __slots__ = [ "_member_value", "_access_level_value", ] _has_required_fields = True def __init__(self, member=None, access_level=None): self._member_value = bb.NOT_SET self._access_level_value = bb.NOT_SET if member is not None: self.member = member if access_level is not None: self.access_level = access_level # Instance attribute type: MemberSelector (validator is set below) member = bb.Attribute("member", user_defined=True) # Instance attribute type: AccessLevel (validator is set below) access_level = bb.Attribute("access_level", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddMember, self)._process_custom_annotations(annotation_type, field_path, processor) 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 AddMemberSelectorError.automatic_group: Automatically created groups can only be added to team folders. :ivar AddMemberSelectorError.invalid_dropbox_id: The value is the ID that could not be identified. :vartype AddMemberSelectorError.invalid_dropbox_id: str :ivar AddMemberSelectorError.invalid_email: The value is the e-email address that is malformed. :vartype AddMemberSelectorError.invalid_email: str :ivar AddMemberSelectorError.invalid_group: Provided group is invalid. :ivar AddMemberSelectorError.unverified_dropbox_id: The value is the ID of the Dropbox user with an unverified email address. Invite unverified users by email address instead of by their Dropbox ID. :vartype AddMemberSelectorError.unverified_dropbox_id: str :ivar AddMemberSelectorError.group_deleted: At least one of the specified groups in ``AddFolderMemberArg.members`` is deleted. :ivar 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 invalid_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_invalid_group(self): """ Check if the union tag is ``invalid_group``. :rtype: bool """ return self._tag == "invalid_group" 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 email address. Invite unverified users by email 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 ) AddMemberSelectorError_validator = bv.Union(AddMemberSelectorError) 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 RequestedVisibility.public: Anyone who has received the link can access it. No login required. :ivar RequestedVisibility.team_only: Only members of the same team can access the link. Login is required. :ivar 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 ) 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 ResolvedVisibility.team_and_password: Only members of the same team who have the link-specific password can access the link. Login is required. :ivar ResolvedVisibility.shared_folder_only: Only members of the shared folder containing the linked file can access the link. Login is required. :ivar ResolvedVisibility.no_one: The link merely points the user to the content, and does not grant any additional rights. Existing members of the content who use this link can only access the content with their pre-existing access rights. Either on the file directly, or inherited from a parent folder. :ivar ResolvedVisibility.only_you: Only the current user can view this link. """ _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 no_one = None # Attribute is overwritten below the class definition only_you = 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_no_one(self): """ Check if the union tag is ``no_one``. :rtype: bool """ return self._tag == "no_one" def is_only_you(self): """ Check if the union tag is ``only_you``. :rtype: bool """ return self._tag == "only_you" 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 ) ResolvedVisibility_validator = bv.Union(ResolvedVisibility) class AlphaResolvedVisibility(ResolvedVisibility): """ check documentation for ResolvedVisibility. This class acts as a tagged union. Only 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(AlphaResolvedVisibility, self)._process_custom_annotations( annotation_type, field_path, processor ) AlphaResolvedVisibility_validator = bv.Union(AlphaResolvedVisibility) class AudienceExceptionContentInfo(bb.Struct): """ Information about the content that has a link audience different than that of this folder. :ivar AudienceExceptionContentInfo.name: The name of the content, which is either a file or a folder. """ __slots__ = [ "_name_value", ] _has_required_fields = True def __init__(self, name=None): self._name_value = bb.NOT_SET if name is not None: self.name = name # Instance attribute type: str (validator is set below) name = bb.Attribute("name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AudienceExceptionContentInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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", "_exceptions_value", ] _has_required_fields = True def __init__(self, count=None, exceptions=None): self._count_value = bb.NOT_SET self._exceptions_value = bb.NOT_SET if count is not None: self.count = count if exceptions is not None: self.exceptions = exceptions # Instance attribute type: int (validator is set below) count = bb.Attribute("count") # Instance attribute type: list of [AudienceExceptionContentInfo] (validator is set below) exceptions = bb.Attribute("exceptions") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AudienceExceptions, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 AudienceRestrictingSharedFolder.shared_folder_id: The ID of the shared folder. :ivar AudienceRestrictingSharedFolder.name: The name of the shared folder. :ivar AudienceRestrictingSharedFolder.audience: The link audience of the shared folder. """ __slots__ = [ "_shared_folder_id_value", "_name_value", "_audience_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None, name=None, audience=None): self._shared_folder_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._audience_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: LinkAudience (validator is set below) audience = bb.Attribute("audience", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AudienceRestrictingSharedFolder, self)._process_custom_annotations( annotation_type, field_path, processor ) AudienceRestrictingSharedFolder_validator = bv.Struct(AudienceRestrictingSharedFolder) class ChangeLinkExpirationPolicy(bb.Union): """ Enumerates acceptable values for team's ChangeLinkExpirationPolicy setting. This class acts as a tagged union. Only 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 allowed = None # Attribute is overwritten below the class definition not_allowed = None # Attribute is overwritten below the class definition other = None def is_allowed(self): """ Check if the union tag is ``allowed``. :rtype: bool """ return self._tag == "allowed" def is_not_allowed(self): """ Check if the union tag is ``not_allowed``. :rtype: bool """ return self._tag == "not_allowed" 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(ChangeLinkExpirationPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) ChangeLinkExpirationPolicy_validator = bv.Union(ChangeLinkExpirationPolicy) class LinkMetadata(bb.Struct): """ Metadata for a shared link. This can be either a :class:`PathLinkMetadata` or :class:`CollectionLinkMetadata`. :ivar LinkMetadata.url: URL of the shared link. :ivar LinkMetadata.visibility: Who can access the link. :ivar LinkMetadata.expires: Expiration time, if set. By default the link won't expire. """ __slots__ = [ "_url_value", "_visibility_value", "_expires_value", ] _has_required_fields = True def __init__(self, url=None, visibility=None, expires=None): self._url_value = bb.NOT_SET self._visibility_value = bb.NOT_SET self._expires_value = bb.NOT_SET if url is not None: self.url = url if visibility is not None: self.visibility = visibility if expires is not None: self.expires = expires # Instance attribute type: str (validator is set below) url = bb.Attribute("url") # Instance attribute type: Visibility (validator is set below) visibility = bb.Attribute("visibility", user_defined=True) # Instance attribute type: datetime.datetime (validator is set below) expires = bb.Attribute("expires", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LinkMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) CollectionLinkMetadata_validator = bv.Struct(CollectionLinkMetadata) class CreateSharedLinkArg(bb.Struct): """ :ivar CreateSharedLinkArg.path: The path to share. :ivar CreateSharedLinkArg.short_url: Field is deprecated. None :ivar 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", "_short_url_value", "_pending_upload_value", ] _has_required_fields = True def __init__(self, path=None, short_url=None, pending_upload=None): self._path_value = bb.NOT_SET self._short_url_value = bb.NOT_SET self._pending_upload_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: bool (validator is set below) short_url = bb.Attribute("short_url") # Instance attribute type: PendingUploadMode (validator is set below) pending_upload = bb.Attribute("pending_upload", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateSharedLinkArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) CreateSharedLinkError_validator = bv.Union(CreateSharedLinkError) class CreateSharedLinkWithSettingsArg(bb.Struct): """ :ivar CreateSharedLinkWithSettingsArg.path: The path to be shared by the shared link. :ivar CreateSharedLinkWithSettingsArg.settings: The requested settings for the newly created shared link. """ __slots__ = [ "_path_value", "_settings_value", ] _has_required_fields = True def __init__(self, path=None, settings=None): self._path_value = bb.NOT_SET self._settings_value = bb.NOT_SET if path is not None: self.path = path if settings is not None: self.settings = settings # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: SharedLinkSettings (validator is set below) settings = bb.Attribute("settings", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateSharedLinkWithSettingsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 CreateSharedLinkWithSettingsError.email_not_verified: This user's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address `here `_. :ivar CreateSharedLinkWithSettingsError.shared_link_already_exists: The shared link already exists. You can call :meth:`dropbox.dropbox_client.Dropbox.sharing_list_shared_links` to get the existing link, or use the provided metadata if it is returned. Existing link metadata will not be returned if custom settings were specified in the request that could make the existing link incompatible with the requested settings. :vartype CreateSharedLinkWithSettingsError.shared_link_already_exists: Optional[SharedLinkAlreadyExistsMetadata] :ivar CreateSharedLinkWithSettingsError.settings_error: There is an error with the given settings. :vartype CreateSharedLinkWithSettingsError.settings_error: SharedLinkSettingsError :ivar CreateSharedLinkWithSettingsError.access_denied: The user is not allowed to create a shared link to the specified file. For example, this can occur if the file is restricted or if the user's links are `banned `_. :ivar CreateSharedLinkWithSettingsError.banned_member: The current user has been `banned `_ for abuse reasons. :ivar CreateSharedLinkWithSettingsError.too_many_shared_folders: Your Dropbox folder will have too many shared folders after the operation. https://help.dropbox.com/share/shared-folder-faq#Is-there-a-limit-to-the-number-of-shared-folders-I-can-create """ _catch_all = None # Attribute is overwritten below the class definition email_not_verified = None # Attribute is overwritten below the class definition access_denied = None # Attribute is overwritten below the class definition banned_member = None # Attribute is overwritten below the class definition too_many_shared_folders = 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 is_banned_member(self): """ Check if the union tag is ``banned_member``. :rtype: bool """ return self._tag == "banned_member" def is_too_many_shared_folders(self): """ Check if the union tag is ``too_many_shared_folders``. :rtype: bool """ return self._tag == "too_many_shared_folders" 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_client.Dropbox.sharing_list_shared_links` to get the existing link, or use the provided metadata if it is returned. Existing link metadata will not be returned if custom settings were specified in the request that could make the existing link incompatible with the requested settings. 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 ) CreateSharedLinkWithSettingsError_validator = bv.Union(CreateSharedLinkWithSettingsError) class SharedContentLinkMetadataBase(bb.Struct): """ :ivar SharedContentLinkMetadataBase.access_level: The access level on the link for this file. :ivar 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 SharedContentLinkMetadataBase.audience_restricting_shared_folder: The shared folder that prevents the link audience for this link from being more restrictive. :ivar SharedContentLinkMetadataBase.current_audience: The current audience of the link. :ivar 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 SharedContentLinkMetadataBase.link_permissions: A list of permissions for actions you can perform on the link. :ivar SharedContentLinkMetadataBase.password_protected: Whether the link is protected by a password. """ __slots__ = [ "_access_level_value", "_audience_options_value", "_audience_restricting_shared_folder_value", "_current_audience_value", "_expiry_value", "_link_permissions_value", "_password_protected_value", ] _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 = bb.NOT_SET self._audience_options_value = bb.NOT_SET self._audience_restricting_shared_folder_value = bb.NOT_SET self._current_audience_value = bb.NOT_SET self._expiry_value = bb.NOT_SET self._link_permissions_value = bb.NOT_SET self._password_protected_value = bb.NOT_SET 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 # Instance attribute type: AccessLevel (validator is set below) access_level = bb.Attribute("access_level", nullable=True, user_defined=True) # Instance attribute type: list of [LinkAudience] (validator is set below) audience_options = bb.Attribute("audience_options") # Instance attribute type: AudienceRestrictingSharedFolder (validator is set below) audience_restricting_shared_folder = bb.Attribute( "audience_restricting_shared_folder", nullable=True, user_defined=True ) # Instance attribute type: LinkAudience (validator is set below) current_audience = bb.Attribute("current_audience", user_defined=True) # Instance attribute type: datetime.datetime (validator is set below) expiry = bb.Attribute("expiry", nullable=True) # Instance attribute type: list of [LinkPermission] (validator is set below) link_permissions = bb.Attribute("link_permissions") # Instance attribute type: bool (validator is set below) password_protected = bb.Attribute("password_protected") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentLinkMetadataBase, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 FileAction.disable_viewer_info: Disable viewer information on the file. :ivar FileAction.edit_contents: Change or edit contents of the file. :ivar FileAction.enable_viewer_info: Enable viewer information on the file. :ivar FileAction.invite_viewer: Add a member with view permissions. :ivar FileAction.invite_viewer_no_comment: Add a member with view permissions but no comment permissions. :ivar FileAction.invite_editor: Add a member with edit permissions. :ivar FileAction.unshare: Stop sharing this file. :ivar FileAction.relinquish_membership: Relinquish one's own membership to the file. :ivar FileAction.share_link: Field is deprecated. Use create_view_link and create_edit_link instead. :ivar FileAction.create_link: Field is deprecated. Use create_view_link and create_edit_link instead. :ivar FileAction.create_view_link: Create a shared link to a file that only allows users to view the content. :ivar 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) 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 FileErrorResult.file_not_found_error: File specified by id was not found. :vartype FileErrorResult.file_not_found_error: str :ivar FileErrorResult.invalid_file_action_error: User does not have permission to take the specified action on the file. :vartype FileErrorResult.invalid_file_action_error: str :ivar FileErrorResult.permission_denied_error: User does not have permission to access file specified by file.Id. :vartype FileErrorResult.permission_denied_error: str """ _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 ) FileErrorResult_validator = bv.Union(FileErrorResult) class SharedLinkMetadata(bb.Struct): """ The metadata of a shared link. :ivar SharedLinkMetadata.url: URL of the shared link. :ivar SharedLinkMetadata.id: A unique identifier for the linked file. :ivar SharedLinkMetadata.name: The linked file name (including extension). This never contains a slash. :ivar SharedLinkMetadata.expires: Expiration time, if set. By default the link won't expire. :ivar 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 and the user is the owner of the link. :ivar SharedLinkMetadata.link_permissions: The link's access permissions. :ivar 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 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", "_id_value", "_name_value", "_expires_value", "_path_lower_value", "_link_permissions_value", "_team_member_info_value", "_content_owner_team_info_value", ] _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 = bb.NOT_SET self._id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._expires_value = bb.NOT_SET self._path_lower_value = bb.NOT_SET self._link_permissions_value = bb.NOT_SET self._team_member_info_value = bb.NOT_SET self._content_owner_team_info_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) url = bb.Attribute("url") # Instance attribute type: str (validator is set below) id = bb.Attribute("id", nullable=True) # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: datetime.datetime (validator is set below) expires = bb.Attribute("expires", nullable=True) # Instance attribute type: str (validator is set below) path_lower = bb.Attribute("path_lower", nullable=True) # Instance attribute type: LinkPermissions (validator is set below) link_permissions = bb.Attribute("link_permissions", user_defined=True) # Instance attribute type: TeamMemberInfo (validator is set below) team_member_info = bb.Attribute("team_member_info", nullable=True, user_defined=True) # Instance attribute type: users.Team (validator is set below) content_owner_team_info = bb.Attribute("content_owner_team_info", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkMetadata_validator = bv.StructTree(SharedLinkMetadata) class FileLinkMetadata(SharedLinkMetadata): """ The metadata of a file shared link. :ivar 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 FileLinkMetadata.server_modified: The last time the file was modified on Dropbox. :ivar 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 FileLinkMetadata.size: The file size in bytes. """ __slots__ = [ "_client_modified_value", "_server_modified_value", "_rev_value", "_size_value", ] _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 = bb.NOT_SET self._server_modified_value = bb.NOT_SET self._rev_value = bb.NOT_SET self._size_value = bb.NOT_SET 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 # Instance attribute type: datetime.datetime (validator is set below) client_modified = bb.Attribute("client_modified") # Instance attribute type: datetime.datetime (validator is set below) server_modified = bb.Attribute("server_modified") # Instance attribute type: str (validator is set below) rev = bb.Attribute("rev") # Instance attribute type: int (validator is set below) size = bb.Attribute("size") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLinkMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 FileMemberActionError.invalid_member: Specified member was not found. :ivar FileMemberActionError.no_permission: User does not have permission to perform this action on this member. :ivar FileMemberActionError.access_error: Specified file was invalid or user does not have access. :vartype FileMemberActionError.access_error: SharingFileAccessError :ivar 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. :vartype FileMemberActionError.no_explicit_access: MemberAccessLevelResult """ _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 ) 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 FileMemberActionIndividualResult.success: Part of the response for both add_file_member and remove_file_member_v1 (deprecated). For add_file_member, indicates giving access was successful and at what AccessLevel. For remove_file_member_v1, indicates member was successfully removed from the file. If AccessLevel is given, the member still has access via a parent shared folder. :vartype FileMemberActionIndividualResult.success: Optional[AccessLevel] :ivar FileMemberActionIndividualResult.member_error: User was not able to perform this action. :vartype FileMemberActionIndividualResult.member_error: FileMemberActionError """ _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): """ Part of the response for both add_file_member and remove_file_member_v1 (deprecated). For add_file_member, indicates giving access was successful and at what AccessLevel. For remove_file_member_v1, indicates member was successfully removed from the 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 ) FileMemberActionIndividualResult_validator = bv.Union(FileMemberActionIndividualResult) class FileMemberActionResult(bb.Struct): """ Per-member result for :meth:`dropbox.dropbox_client.Dropbox.sharing_add_file_member`. :ivar FileMemberActionResult.member: One of specified input members. :ivar FileMemberActionResult.result: The outcome of the action on this member. :ivar FileMemberActionResult.sckey_sha1: The SHA-1 encrypted shared content key. :ivar FileMemberActionResult.invitation_signature: The sharing sender-recipient invitation signatures for the input member_id. A member_id can be a group and thus have multiple users and multiple invitation signatures. """ __slots__ = [ "_member_value", "_result_value", "_sckey_sha1_value", "_invitation_signature_value", ] _has_required_fields = True def __init__(self, member=None, result=None, sckey_sha1=None, invitation_signature=None): self._member_value = bb.NOT_SET self._result_value = bb.NOT_SET self._sckey_sha1_value = bb.NOT_SET self._invitation_signature_value = bb.NOT_SET if member is not None: self.member = member if result is not None: self.result = result if sckey_sha1 is not None: self.sckey_sha1 = sckey_sha1 if invitation_signature is not None: self.invitation_signature = invitation_signature # Instance attribute type: MemberSelector (validator is set below) member = bb.Attribute("member", user_defined=True) # Instance attribute type: FileMemberActionIndividualResult (validator is set below) result = bb.Attribute("result", user_defined=True) # Instance attribute type: str (validator is set below) sckey_sha1 = bb.Attribute("sckey_sha1", nullable=True) # Instance attribute type: list of [str] (validator is set below) invitation_signature = bb.Attribute("invitation_signature", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileMemberActionResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 FileMemberRemoveActionResult.success: Member was successfully removed from this file. :vartype FileMemberRemoveActionResult.success: MemberAccessLevelResult :ivar FileMemberRemoveActionResult.member_error: User was not able to remove this member. :vartype FileMemberRemoveActionResult.member_error: FileMemberActionError """ _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 ) FileMemberRemoveActionResult_validator = bv.Union(FileMemberRemoveActionResult) class FilePermission(bb.Struct): """ Whether the user is allowed to take the sharing action on the file. :ivar FilePermission.action: The action that the user may wish to take on the file. :ivar FilePermission.allow: True if the user is allowed to take the action. :ivar FilePermission.reason: The reason why the user is denied the permission. Not present if the action is allowed. """ __slots__ = [ "_action_value", "_allow_value", "_reason_value", ] _has_required_fields = True def __init__(self, action=None, allow=None, reason=None): self._action_value = bb.NOT_SET self._allow_value = bb.NOT_SET self._reason_value = bb.NOT_SET if action is not None: self.action = action if allow is not None: self.allow = allow if reason is not None: self.reason = reason # Instance attribute type: FileAction (validator is set below) action = bb.Attribute("action", user_defined=True) # Instance attribute type: bool (validator is set below) allow = bb.Attribute("allow") # Instance attribute type: PermissionDeniedReason (validator is set below) reason = bb.Attribute("reason", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FilePermission, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 FolderAction.change_options: Change folder options, such as who can be invited to join the folder. :ivar FolderAction.disable_viewer_info: Disable viewer information for this folder. :ivar FolderAction.edit_contents: Change or edit contents of the folder. :ivar FolderAction.enable_viewer_info: Enable viewer information on the folder. :ivar FolderAction.invite_editor: Invite a user or group to join the folder with read and write permission. :ivar FolderAction.invite_viewer: Invite a user or group to join the folder with read permission. :ivar FolderAction.invite_viewer_no_comment: Invite a user or group to join the folder with read permission but no comment permissions. :ivar FolderAction.relinquish_membership: Relinquish one's own membership in the folder. :ivar FolderAction.unmount: Unmount the folder. :ivar FolderAction.unshare: Stop sharing this folder. :ivar FolderAction.leave_a_copy: Keep a copy of the contents upon leaving or being kicked from the folder. :ivar FolderAction.share_link: Field is deprecated. Use create_view_link and create_edit_link instead. :ivar FolderAction.create_link: Field is deprecated. Use create_view_link and create_edit_link instead. :ivar FolderAction.create_view_link: Create a shared link that only allows users to view the content. :ivar FolderAction.create_edit_link: Create a shared link that allows users to edit the content. :ivar 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 create_view_link = None # Attribute is overwritten below the class definition create_edit_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_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_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 ) 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 ) FolderLinkMetadata_validator = bv.Struct(FolderLinkMetadata) class FolderPermission(bb.Struct): """ Whether the user is allowed to take the action on the shared folder. :ivar FolderPermission.action: The action that the user may wish to take on the folder. :ivar FolderPermission.allow: True if the user is allowed to take the action. :ivar 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", "_allow_value", "_reason_value", ] _has_required_fields = True def __init__(self, action=None, allow=None, reason=None): self._action_value = bb.NOT_SET self._allow_value = bb.NOT_SET self._reason_value = bb.NOT_SET if action is not None: self.action = action if allow is not None: self.allow = allow if reason is not None: self.reason = reason # Instance attribute type: FolderAction (validator is set below) action = bb.Attribute("action", user_defined=True) # Instance attribute type: bool (validator is set below) allow = bb.Attribute("allow") # Instance attribute type: PermissionDeniedReason (validator is set below) reason = bb.Attribute("reason", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderPermission, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderPermission_validator = bv.Struct(FolderPermission) class FolderPolicy(bb.Struct): """ A set of policies governing membership and privileges for a shared folder. :ivar 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 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 FolderPolicy.acl_update_policy: Who can add and remove members from this shared folder. :ivar FolderPolicy.shared_link_policy: Who links can be shared with. :ivar FolderPolicy.viewer_info_policy: Who can enable/disable viewer info for this shared folder. """ __slots__ = [ "_member_policy_value", "_resolved_member_policy_value", "_acl_update_policy_value", "_shared_link_policy_value", "_viewer_info_policy_value", ] _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 = bb.NOT_SET self._resolved_member_policy_value = bb.NOT_SET self._acl_update_policy_value = bb.NOT_SET self._shared_link_policy_value = bb.NOT_SET self._viewer_info_policy_value = bb.NOT_SET 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 # Instance attribute type: MemberPolicy (validator is set below) member_policy = bb.Attribute("member_policy", nullable=True, user_defined=True) # Instance attribute type: MemberPolicy (validator is set below) resolved_member_policy = bb.Attribute( "resolved_member_policy", nullable=True, user_defined=True ) # Instance attribute type: AclUpdatePolicy (validator is set below) acl_update_policy = bb.Attribute("acl_update_policy", user_defined=True) # Instance attribute type: SharedLinkPolicy (validator is set below) shared_link_policy = bb.Attribute("shared_link_policy", user_defined=True) # Instance attribute type: ViewerInfoPolicy (validator is set below) viewer_info_policy = bb.Attribute("viewer_info_policy", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderPolicy_validator = bv.Struct(FolderPolicy) class GetFileMetadataArg(bb.Struct): """ Arguments of :meth:`dropbox.dropbox_client.Dropbox.sharing_get_file_metadata`. :ivar GetFileMetadataArg.file: The file to query. :ivar 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", "_actions_value", ] _has_required_fields = True def __init__(self, file=None, actions=None): self._file_value = bb.NOT_SET self._actions_value = bb.NOT_SET if file is not None: self.file = file if actions is not None: self.actions = actions # Instance attribute type: str (validator is set below) file = bb.Attribute("file") # Instance attribute type: list of [FileAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetFileMetadataArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GetFileMetadataArg_validator = bv.Struct(GetFileMetadataArg) class GetFileMetadataBatchArg(bb.Struct): """ Arguments of :meth:`dropbox.dropbox_client.Dropbox.sharing_get_file_metadata_batch`. :ivar GetFileMetadataBatchArg.files: The files to query. :ivar 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", "_actions_value", ] _has_required_fields = True def __init__(self, files=None, actions=None): self._files_value = bb.NOT_SET self._actions_value = bb.NOT_SET if files is not None: self.files = files if actions is not None: self.actions = actions # Instance attribute type: list of [str] (validator is set below) files = bb.Attribute("files") # Instance attribute type: list of [FileAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetFileMetadataBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GetFileMetadataBatchArg_validator = bv.Struct(GetFileMetadataBatchArg) class GetFileMetadataBatchResult(bb.Struct): """ Per file results of :meth:`dropbox.dropbox_client.Dropbox.sharing_get_file_metadata_batch`. :ivar GetFileMetadataBatchResult.file: This is the input file identifier corresponding to one of ``GetFileMetadataBatchArg.files``. :ivar GetFileMetadataBatchResult.result: The result for this particular file. """ __slots__ = [ "_file_value", "_result_value", ] _has_required_fields = True def __init__(self, file=None, result=None): self._file_value = bb.NOT_SET self._result_value = bb.NOT_SET if file is not None: self.file = file if result is not None: self.result = result # Instance attribute type: str (validator is set below) file = bb.Attribute("file") # Instance attribute type: GetFileMetadataIndividualResult (validator is set below) result = bb.Attribute("result", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetFileMetadataBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetFileMetadataBatchResult_validator = bv.Struct(GetFileMetadataBatchResult) class GetFileMetadataError(bb.Union): """ Error result for :meth:`dropbox.dropbox_client.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 ) 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 GetFileMetadataIndividualResult.metadata: The result for this file if it was successful. :vartype GetFileMetadataIndividualResult.metadata: SharedFileMetadata :ivar GetFileMetadataIndividualResult.access_error: The result for this file if it was an error. :vartype GetFileMetadataIndividualResult.access_error: SharingFileAccessError """ _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 ) GetFileMetadataIndividualResult_validator = bv.Union(GetFileMetadataIndividualResult) class GetMetadataArgs(bb.Struct): """ :ivar GetMetadataArgs.shared_folder_id: The ID for the shared folder. :ivar 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", "_actions_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None, actions=None): self._shared_folder_id_value = bb.NOT_SET self._actions_value = bb.NOT_SET if shared_folder_id is not None: self.shared_folder_id = shared_folder_id if actions is not None: self.actions = actions # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: list of [FolderAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetMetadataArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 SharedLinkError.shared_link_not_found: The shared link wasn't found. :ivar SharedLinkError.shared_link_access_denied: The caller is not allowed to access this shared link. :ivar SharedLinkError.unsupported_link_type: This type of link is not supported; use :meth:`dropbox.dropbox_client.Dropbox.sharing_files` instead. :ivar SharedLinkError.unsupported_parameter_field: Private shared links do not support `path` or `link_password` parameter fields. """ _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 unsupported_parameter_field = 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_unsupported_parameter_field(self): """ Check if the union tag is ``unsupported_parameter_field``. :rtype: bool """ return self._tag == "unsupported_parameter_field" 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 ) 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 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 ) GetSharedLinkFileError_validator = bv.Union(GetSharedLinkFileError) class GetSharedLinkMetadataArg(bb.Struct): """ :ivar GetSharedLinkMetadataArg.url: URL of the shared link. :ivar 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 GetSharedLinkMetadataArg.link_password: If the shared link has a password, this parameter can be used. """ __slots__ = [ "_url_value", "_path_value", "_link_password_value", ] _has_required_fields = True def __init__(self, url=None, path=None, link_password=None): self._url_value = bb.NOT_SET self._path_value = bb.NOT_SET self._link_password_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) url = bb.Attribute("url") # Instance attribute type: str (validator is set below) path = bb.Attribute("path", nullable=True) # Instance attribute type: str (validator is set below) link_password = bb.Attribute("link_password", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetSharedLinkMetadataArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GetSharedLinkMetadataArg_validator = bv.Struct(GetSharedLinkMetadataArg) class GetSharedLinksArg(bb.Struct): """ :ivar GetSharedLinksArg.path: See :meth:`dropbox.dropbox_client.Dropbox.sharing_get_shared_links` description. """ __slots__ = [ "_path_value", ] _has_required_fields = False def __init__(self, path=None): self._path_value = bb.NOT_SET if path is not None: self.path = path # Instance attribute type: str (validator is set below) path = bb.Attribute("path", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetSharedLinksArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) GetSharedLinksError_validator = bv.Union(GetSharedLinksError) class GetSharedLinksResult(bb.Struct): """ :ivar GetSharedLinksResult.links: Shared links applicable to the path argument. """ __slots__ = [ "_links_value", ] _has_required_fields = True def __init__(self, links=None): self._links_value = bb.NOT_SET if links is not None: self.links = links # Instance attribute type: list of [LinkMetadata] (validator is set below) links = bb.Attribute("links") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetSharedLinksResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GroupInfo.group_type: Field is deprecated. The type of group. :ivar GroupInfo.is_member: If the current user is a member of the group. :ivar GroupInfo.is_owner: If the current user is an owner of the group. :ivar GroupInfo.same_team: If the group is owned by the current user's team. """ __slots__ = [ "_group_type_value", "_is_member_value", "_is_owner_value", "_same_team_value", ] _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 = bb.NOT_SET self._is_member_value = bb.NOT_SET self._is_owner_value = bb.NOT_SET self._same_team_value = bb.NOT_SET 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 # Instance attribute type: team_common.GroupType (validator is set below) group_type = bb.Attribute("group_type", user_defined=True) # Instance attribute type: bool (validator is set below) is_member = bb.Attribute("is_member") # Instance attribute type: bool (validator is set below) is_owner = bb.Attribute("is_owner") # Instance attribute type: bool (validator is set below) same_team = bb.Attribute("same_team") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupInfo, self)._process_custom_annotations(annotation_type, field_path, processor) GroupInfo_validator = bv.Struct(GroupInfo) class MembershipInfo(bb.Struct): """ The information about a member of the shared content. :ivar 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 MembershipInfo.permissions: The permissions that requesting user has on this member. The set of permissions corresponds to the MemberActions in the request. :ivar MembershipInfo.initials: Field is deprecated. Never set. :ivar MembershipInfo.is_inherited: True if the member has access on a parent folder. """ __slots__ = [ "_access_type_value", "_permissions_value", "_initials_value", "_is_inherited_value", ] _has_required_fields = True def __init__(self, access_type=None, permissions=None, initials=None, is_inherited=None): self._access_type_value = bb.NOT_SET self._permissions_value = bb.NOT_SET self._initials_value = bb.NOT_SET self._is_inherited_value = bb.NOT_SET 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 # Instance attribute type: AccessLevel (validator is set below) access_type = bb.Attribute("access_type", user_defined=True) # Instance attribute type: list of [MemberPermission] (validator is set below) permissions = bb.Attribute("permissions", nullable=True) # Instance attribute type: str (validator is set below) initials = bb.Attribute("initials", nullable=True) # Instance attribute type: bool (validator is set below) is_inherited = bb.Attribute("is_inherited") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembershipInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) MembershipInfo_validator = bv.Struct(MembershipInfo) class GroupMembershipInfo(MembershipInfo): """ The information about a group member of the shared content. :ivar GroupMembershipInfo.group: The information about the membership group. """ __slots__ = [ "_group_value", ] _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 = bb.NOT_SET if group is not None: self.group = group # Instance attribute type: GroupInfo (validator is set below) group = bb.Attribute("group", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupMembershipInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupMembershipInfo_validator = bv.Struct(GroupMembershipInfo) class InsufficientPlan(bb.Struct): """ :ivar InsufficientPlan.message: A message to tell the user to upgrade in order to support expected action. :ivar 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", "_upsell_url_value", ] _has_required_fields = True def __init__(self, message=None, upsell_url=None): self._message_value = bb.NOT_SET self._upsell_url_value = bb.NOT_SET if message is not None: self.message = message if upsell_url is not None: self.upsell_url = upsell_url # Instance attribute type: str (validator is set below) message = bb.Attribute("message") # Instance attribute type: str (validator is set below) upsell_url = bb.Attribute("upsell_url", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(InsufficientPlan, self)._process_custom_annotations( annotation_type, field_path, processor ) InsufficientPlan_validator = bv.Struct(InsufficientPlan) class InsufficientQuotaAmounts(bb.Struct): """ :ivar InsufficientQuotaAmounts.space_needed: The amount of space needed to add the item (the size of the item). :ivar InsufficientQuotaAmounts.space_shortage: The amount of extra space needed to add the item. :ivar InsufficientQuotaAmounts.space_left: The amount of space left in the user's Dropbox, less than space_needed. """ __slots__ = [ "_space_needed_value", "_space_shortage_value", "_space_left_value", ] _has_required_fields = True def __init__(self, space_needed=None, space_shortage=None, space_left=None): self._space_needed_value = bb.NOT_SET self._space_shortage_value = bb.NOT_SET self._space_left_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) space_needed = bb.Attribute("space_needed") # Instance attribute type: int (validator is set below) space_shortage = bb.Attribute("space_shortage") # Instance attribute type: int (validator is set below) space_left = bb.Attribute("space_left") def _process_custom_annotations(self, annotation_type, field_path, processor): super(InsufficientQuotaAmounts, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 InviteeInfo.email: Email address of invited user. :vartype InviteeInfo.email: str """ _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): """ Email 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) InviteeInfo_validator = bv.Union(InviteeInfo) class InviteeMembershipInfo(MembershipInfo): """ Information about an invited member of a shared content. :ivar InviteeMembershipInfo.invitee: Recipient of the invitation. :ivar InviteeMembershipInfo.user: The user this invitation is tied to, if available. """ __slots__ = [ "_invitee_value", "_user_value", ] _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 = bb.NOT_SET self._user_value = bb.NOT_SET if invitee is not None: self.invitee = invitee if user is not None: self.user = user # Instance attribute type: InviteeInfo (validator is set below) invitee = bb.Attribute("invitee", user_defined=True) # Instance attribute type: UserInfo (validator is set below) user = bb.Attribute("user", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(InviteeMembershipInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) InviteeMembershipInfo_validator = bv.Struct(InviteeMembershipInfo) class JobError(bb.Union): """ Error occurred while performing an asynchronous job from :meth:`dropbox.dropbox_client.Dropbox.sharing_unshare_folder` or :meth:`dropbox.dropbox_client.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 JobError.unshare_folder_error: Error occurred while performing :meth:`dropbox.dropbox_client.Dropbox.sharing_unshare_folder` action. :vartype JobError.unshare_folder_error: UnshareFolderError :ivar JobError.remove_folder_member_error: Error occurred while performing :meth:`dropbox.dropbox_client.Dropbox.sharing_remove_folder_member` action. :vartype JobError.remove_folder_member_error: RemoveFolderMemberError :ivar JobError.relinquish_folder_membership_error: Error occurred while performing :meth:`dropbox.dropbox_client.Dropbox.sharing_relinquish_folder_membership` action. :vartype JobError.relinquish_folder_membership_error: RelinquishFolderMembershipError """ _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_client.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_client.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_client.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) 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 JobStatus.complete: The asynchronous job has finished. :ivar JobStatus.failed: The asynchronous job returned an error. :vartype JobStatus.failed: JobError """ # 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) 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 LinkAccessLevel.viewer: Users who use the link can view and comment on the content. :ivar 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 ) 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 LinkAction.change_access_level: Change the access level of the link. :ivar LinkAction.change_audience: Change the audience of the link. :ivar LinkAction.remove_expiry: Remove the expiry date of the link. :ivar LinkAction.remove_password: Remove the password of the link. :ivar LinkAction.set_expiry: Create or modify the expiry date of the link. :ivar 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) 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 LinkAudience.public: Link is accessible by anyone. :ivar LinkAudience.team: Link is accessible only by team members. :ivar 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 LinkAudience.password: Field is deprecated. Use `require_password` instead. A link-specific password is required to access the link. Login is not required. :ivar LinkAudience.members: Field is deprecated. 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 ) LinkAudience_validator = bv.Union(LinkAudience) class VisibilityPolicyDisallowedReason(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar VisibilityPolicyDisallowedReason.delete_and_recreate: The user needs to delete and recreate the link to change the visibility policy. :ivar VisibilityPolicyDisallowedReason.restricted_by_shared_folder: The parent shared folder restricts sharing of links outside the shared folder. To change the visibility policy, remove the restriction from the parent shared folder. :ivar VisibilityPolicyDisallowedReason.restricted_by_team: The team policy prevents links being shared outside the team. :ivar VisibilityPolicyDisallowedReason.user_not_on_team: The user needs to be on a team to set this policy. :ivar VisibilityPolicyDisallowedReason.user_account_type: The user is a basic user or is on a limited team. :ivar VisibilityPolicyDisallowedReason.permission_denied: The user does not have permission. """ _catch_all = "other" # Attribute is overwritten below the class definition delete_and_recreate = None # Attribute is overwritten below the class definition restricted_by_shared_folder = None # Attribute is overwritten below the class definition restricted_by_team = None # Attribute is overwritten below the class definition user_not_on_team = None # Attribute is overwritten below the class definition user_account_type = None # Attribute is overwritten below the class definition permission_denied = None # Attribute is overwritten below the class definition other = None def is_delete_and_recreate(self): """ Check if the union tag is ``delete_and_recreate``. :rtype: bool """ return self._tag == "delete_and_recreate" def is_restricted_by_shared_folder(self): """ Check if the union tag is ``restricted_by_shared_folder``. :rtype: bool """ return self._tag == "restricted_by_shared_folder" 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_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_user_account_type(self): """ Check if the union tag is ``user_account_type``. :rtype: bool """ return self._tag == "user_account_type" def is_permission_denied(self): """ Check if the union tag is ``permission_denied``. :rtype: bool """ return self._tag == "permission_denied" 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(VisibilityPolicyDisallowedReason, self)._process_custom_annotations( annotation_type, field_path, processor ) VisibilityPolicyDisallowedReason_validator = bv.Union(VisibilityPolicyDisallowedReason) class LinkAudienceDisallowedReason(VisibilityPolicyDisallowedReason): """ check documentation for VisibilityPolicyDisallowedReason. This class acts as a tagged union. Only 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(LinkAudienceDisallowedReason, self)._process_custom_annotations( annotation_type, field_path, processor ) LinkAudienceDisallowedReason_validator = bv.Union(LinkAudienceDisallowedReason) class LinkAudienceOption(bb.Struct): """ :ivar LinkAudienceOption.audience: Specifies who can access the link. :ivar LinkAudienceOption.allowed: Whether the user calling this API can select this audience option. :ivar LinkAudienceOption.disallowed_reason: If ``allowed`` is ``False``, this will provide the reason that the user is not permitted to set the visibility to this policy. """ __slots__ = [ "_audience_value", "_allowed_value", "_disallowed_reason_value", ] _has_required_fields = True def __init__(self, audience=None, allowed=None, disallowed_reason=None): self._audience_value = bb.NOT_SET self._allowed_value = bb.NOT_SET self._disallowed_reason_value = bb.NOT_SET if audience is not None: self.audience = audience if allowed is not None: self.allowed = allowed if disallowed_reason is not None: self.disallowed_reason = disallowed_reason # Instance attribute type: LinkAudience (validator is set below) audience = bb.Attribute("audience", user_defined=True) # Instance attribute type: bool (validator is set below) allowed = bb.Attribute("allowed") # Instance attribute type: LinkAudienceDisallowedReason (validator is set below) disallowed_reason = bb.Attribute("disallowed_reason", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LinkAudienceOption, self)._process_custom_annotations( annotation_type, field_path, processor ) LinkAudienceOption_validator = bv.Struct(LinkAudienceOption) 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 LinkExpiry.remove_expiry: Remove the currently set expiry for the link. :ivar LinkExpiry.set_expiry: Set a new expiry or change an existing expiry. :vartype LinkExpiry.set_expiry: datetime.datetime """ _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) 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 LinkPassword.remove_password: Remove the currently set password for the link. :ivar LinkPassword.set_password: Set a new password or change an existing password. :vartype LinkPassword.set_password: str """ _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 ) LinkPassword_validator = bv.Union(LinkPassword) class LinkPermission(bb.Struct): """ Permissions for actions that can be performed on a link. """ __slots__ = [ "_action_value", "_allow_value", "_reason_value", ] _has_required_fields = True def __init__(self, action=None, allow=None, reason=None): self._action_value = bb.NOT_SET self._allow_value = bb.NOT_SET self._reason_value = bb.NOT_SET if action is not None: self.action = action if allow is not None: self.allow = allow if reason is not None: self.reason = reason # Instance attribute type: LinkAction (validator is set below) action = bb.Attribute("action", user_defined=True) # Instance attribute type: bool (validator is set below) allow = bb.Attribute("allow") # Instance attribute type: PermissionDeniedReason (validator is set below) reason = bb.Attribute("reason", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LinkPermission, self)._process_custom_annotations( annotation_type, field_path, processor ) LinkPermission_validator = bv.Struct(LinkPermission) class LinkPermissions(bb.Struct): """ :ivar 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 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 LinkPermissions.can_revoke: Whether the caller can revoke the shared link. :ivar LinkPermissions.revoke_failure_reason: The failure reason for revoking the link. This field will only be present if the ``can_revoke`` is ``False``. :ivar LinkPermissions.effective_audience: The type of audience who can benefit from the access level specified by the `link_access_level` field. :ivar 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. :ivar LinkPermissions.visibility_policies: A list of policies that the user might be able to set for the visibility. :ivar LinkPermissions.can_set_expiry: Whether the user can set the expiry settings of the link. This refers to the ability to create a new expiry and modify an existing expiry. :ivar LinkPermissions.can_remove_expiry: Whether the user can remove the expiry of the link. :ivar LinkPermissions.allow_download: Whether the link can be downloaded or not. :ivar LinkPermissions.can_allow_download: Whether the user can allow downloads via the link. This refers to the ability to remove a no-download restriction on the link. :ivar LinkPermissions.can_disallow_download: Whether the user can disallow downloads via the link. This refers to the ability to impose a no-download restriction on the link. :ivar LinkPermissions.allow_comments: Field is deprecated. Whether comments are enabled for the linked file. This takes the team commenting policy into account. :ivar LinkPermissions.team_restricts_comments: Field is deprecated. Whether the team has disabled commenting globally. :ivar LinkPermissions.audience_options: A list of link audience options the user might be able to set as the new audience. :ivar LinkPermissions.can_set_password: Whether the user can set a password for the link. :ivar LinkPermissions.can_remove_password: Whether the user can remove the password of the link. :ivar LinkPermissions.require_password: Whether the user is required to provide a password to view the link. :ivar LinkPermissions.can_use_extended_sharing_controls: Whether the user can use extended sharing controls, based on their account type. :ivar LinkPermissions.can_sync: Whether a user can save the content to their Dropbox account. :ivar LinkPermissions.can_request_access: Whether the user can request access to the content. :ivar LinkPermissions.enforce_shared_link_password_policy: Whether the updated externally available shared link must have password set. Not provided if the link is not team owned. :ivar LinkPermissions.days_to_expire_policy: Existing owning team's policy for default number of days from today to link's expiration. Not provided if the link is not team owned. :ivar LinkPermissions.change_shared_link_expiration_policy: When owning team's policy ``change_shared_link_expiration_policy`` is ``ChangeLinkExpirationPolicy.not_allowed``, the updated externally available shared link expiration value cannot be less strict than ``days_to_expire_policy``. In this case ``days_to_expire_policy`` is expected to be different from `none`. Not provided if the link is not team owned. """ __slots__ = [ "_resolved_visibility_value", "_requested_visibility_value", "_can_revoke_value", "_revoke_failure_reason_value", "_effective_audience_value", "_link_access_level_value", "_visibility_policies_value", "_can_set_expiry_value", "_can_remove_expiry_value", "_allow_download_value", "_can_allow_download_value", "_can_disallow_download_value", "_allow_comments_value", "_team_restricts_comments_value", "_audience_options_value", "_can_set_password_value", "_can_remove_password_value", "_require_password_value", "_can_use_extended_sharing_controls_value", "_can_sync_value", "_can_request_access_value", "_enforce_shared_link_password_policy_value", "_days_to_expire_policy_value", "_change_shared_link_expiration_policy_value", ] _has_required_fields = True def __init__( self, can_revoke=None, visibility_policies=None, can_set_expiry=None, can_remove_expiry=None, allow_download=None, can_allow_download=None, can_disallow_download=None, allow_comments=None, team_restricts_comments=None, resolved_visibility=None, requested_visibility=None, revoke_failure_reason=None, effective_audience=None, link_access_level=None, audience_options=None, can_set_password=None, can_remove_password=None, require_password=None, can_use_extended_sharing_controls=None, can_sync=None, can_request_access=None, enforce_shared_link_password_policy=None, days_to_expire_policy=None, change_shared_link_expiration_policy=None, ): self._resolved_visibility_value = bb.NOT_SET self._requested_visibility_value = bb.NOT_SET self._can_revoke_value = bb.NOT_SET self._revoke_failure_reason_value = bb.NOT_SET self._effective_audience_value = bb.NOT_SET self._link_access_level_value = bb.NOT_SET self._visibility_policies_value = bb.NOT_SET self._can_set_expiry_value = bb.NOT_SET self._can_remove_expiry_value = bb.NOT_SET self._allow_download_value = bb.NOT_SET self._can_allow_download_value = bb.NOT_SET self._can_disallow_download_value = bb.NOT_SET self._allow_comments_value = bb.NOT_SET self._team_restricts_comments_value = bb.NOT_SET self._audience_options_value = bb.NOT_SET self._can_set_password_value = bb.NOT_SET self._can_remove_password_value = bb.NOT_SET self._require_password_value = bb.NOT_SET self._can_use_extended_sharing_controls_value = bb.NOT_SET self._can_sync_value = bb.NOT_SET self._can_request_access_value = bb.NOT_SET self._enforce_shared_link_password_policy_value = bb.NOT_SET self._days_to_expire_policy_value = bb.NOT_SET self._change_shared_link_expiration_policy_value = bb.NOT_SET 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 if visibility_policies is not None: self.visibility_policies = visibility_policies if can_set_expiry is not None: self.can_set_expiry = can_set_expiry if can_remove_expiry is not None: self.can_remove_expiry = can_remove_expiry if allow_download is not None: self.allow_download = allow_download if can_allow_download is not None: self.can_allow_download = can_allow_download if can_disallow_download is not None: self.can_disallow_download = can_disallow_download if allow_comments is not None: self.allow_comments = allow_comments if team_restricts_comments is not None: self.team_restricts_comments = team_restricts_comments if audience_options is not None: self.audience_options = audience_options if can_set_password is not None: self.can_set_password = can_set_password if can_remove_password is not None: self.can_remove_password = can_remove_password if require_password is not None: self.require_password = require_password if can_use_extended_sharing_controls is not None: self.can_use_extended_sharing_controls = can_use_extended_sharing_controls if can_sync is not None: self.can_sync = can_sync if can_request_access is not None: self.can_request_access = can_request_access if enforce_shared_link_password_policy is not None: self.enforce_shared_link_password_policy = enforce_shared_link_password_policy if days_to_expire_policy is not None: self.days_to_expire_policy = days_to_expire_policy if change_shared_link_expiration_policy is not None: self.change_shared_link_expiration_policy = change_shared_link_expiration_policy # Instance attribute type: ResolvedVisibility (validator is set below) resolved_visibility = bb.Attribute("resolved_visibility", nullable=True, user_defined=True) # Instance attribute type: RequestedVisibility (validator is set below) requested_visibility = bb.Attribute("requested_visibility", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) can_revoke = bb.Attribute("can_revoke") # Instance attribute type: SharedLinkAccessFailureReason (validator is set below) revoke_failure_reason = bb.Attribute("revoke_failure_reason", nullable=True, user_defined=True) # Instance attribute type: LinkAudience (validator is set below) effective_audience = bb.Attribute("effective_audience", nullable=True, user_defined=True) # Instance attribute type: LinkAccessLevel (validator is set below) link_access_level = bb.Attribute("link_access_level", nullable=True, user_defined=True) # Instance attribute type: list of [VisibilityPolicy] (validator is set below) visibility_policies = bb.Attribute("visibility_policies") # Instance attribute type: bool (validator is set below) can_set_expiry = bb.Attribute("can_set_expiry") # Instance attribute type: bool (validator is set below) can_remove_expiry = bb.Attribute("can_remove_expiry") # Instance attribute type: bool (validator is set below) allow_download = bb.Attribute("allow_download") # Instance attribute type: bool (validator is set below) can_allow_download = bb.Attribute("can_allow_download") # Instance attribute type: bool (validator is set below) can_disallow_download = bb.Attribute("can_disallow_download") # Instance attribute type: bool (validator is set below) allow_comments = bb.Attribute("allow_comments") # Instance attribute type: bool (validator is set below) team_restricts_comments = bb.Attribute("team_restricts_comments") # Instance attribute type: list of [LinkAudienceOption] (validator is set below) audience_options = bb.Attribute("audience_options", nullable=True) # Instance attribute type: bool (validator is set below) can_set_password = bb.Attribute("can_set_password", nullable=True) # Instance attribute type: bool (validator is set below) can_remove_password = bb.Attribute("can_remove_password", nullable=True) # Instance attribute type: bool (validator is set below) require_password = bb.Attribute("require_password", nullable=True) # Instance attribute type: bool (validator is set below) can_use_extended_sharing_controls = bb.Attribute( "can_use_extended_sharing_controls", nullable=True ) # Instance attribute type: bool (validator is set below) can_sync = bb.Attribute("can_sync", nullable=True) # Instance attribute type: bool (validator is set below) can_request_access = bb.Attribute("can_request_access", nullable=True) # Instance attribute type: team_policies.EnforceLinkPasswordPolicy (validator is set below) enforce_shared_link_password_policy = bb.Attribute( "enforce_shared_link_password_policy", nullable=True, user_defined=True ) # Instance attribute type: team_policies.DefaultLinkExpirationDaysPolicy (validator is set below) days_to_expire_policy = bb.Attribute("days_to_expire_policy", nullable=True, user_defined=True) # Instance attribute type: ChangeLinkExpirationPolicy (validator is set below) change_shared_link_expiration_policy = bb.Attribute( "change_shared_link_expiration_policy", nullable=True, user_defined=True ) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LinkPermissions, self)._process_custom_annotations( annotation_type, field_path, processor ) LinkPermissions_validator = bv.Struct(LinkPermissions) class LinkSettings(bb.Struct): """ Settings that apply to a link. :ivar LinkSettings.access_level: The access level on the link for this file. Currently, it only accepts 'viewer' and 'viewer_no_comment'. :ivar LinkSettings.audience: The type of audience on the link for this file. :ivar LinkSettings.expiry: An expiry timestamp to set on a link. :ivar LinkSettings.password: The password for the link. """ __slots__ = [ "_access_level_value", "_audience_value", "_expiry_value", "_password_value", ] _has_required_fields = False def __init__(self, access_level=None, audience=None, expiry=None, password=None): self._access_level_value = bb.NOT_SET self._audience_value = bb.NOT_SET self._expiry_value = bb.NOT_SET self._password_value = bb.NOT_SET 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 # Instance attribute type: AccessLevel (validator is set below) access_level = bb.Attribute("access_level", nullable=True, user_defined=True) # Instance attribute type: LinkAudience (validator is set below) audience = bb.Attribute("audience", nullable=True, user_defined=True) # Instance attribute type: LinkExpiry (validator is set below) expiry = bb.Attribute("expiry", nullable=True, user_defined=True) # Instance attribute type: LinkPassword (validator is set below) password = bb.Attribute("password", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LinkSettings, self)._process_custom_annotations( annotation_type, field_path, processor ) LinkSettings_validator = bv.Struct(LinkSettings) class ListFileMembersArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members`. :ivar ListFileMembersArg.file: The file for which you want to see members. :ivar ListFileMembersArg.actions: The actions for which to return permissions on a member. :ivar ListFileMembersArg.include_inherited: Whether to include members who only have access from a parent shared folder. :ivar ListFileMembersArg.limit: Number of members to return max per query. Defaults to 100 if no limit is specified. """ __slots__ = [ "_file_value", "_actions_value", "_include_inherited_value", "_limit_value", ] _has_required_fields = True def __init__(self, file=None, actions=None, include_inherited=None, limit=None): self._file_value = bb.NOT_SET self._actions_value = bb.NOT_SET self._include_inherited_value = bb.NOT_SET self._limit_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) file = bb.Attribute("file") # Instance attribute type: list of [MemberAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) # Instance attribute type: bool (validator is set below) include_inherited = bb.Attribute("include_inherited") # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFileMembersArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFileMembersArg_validator = bv.Struct(ListFileMembersArg) class ListFileMembersBatchArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members_batch`. :ivar ListFileMembersBatchArg.files: Files for which to return members. :ivar ListFileMembersBatchArg.limit: Number of members to return max per query. Defaults to 1000 if no limit is specified. """ __slots__ = [ "_files_value", "_limit_value", ] _has_required_fields = True def __init__(self, files=None, limit=None): self._files_value = bb.NOT_SET self._limit_value = bb.NOT_SET if files is not None: self.files = files if limit is not None: self.limit = limit # Instance attribute type: list of [str] (validator is set below) files = bb.Attribute("files") # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFileMembersBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFileMembersBatchArg_validator = bv.Struct(ListFileMembersBatchArg) class ListFileMembersBatchResult(bb.Struct): """ Per-file result for :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members_batch`. :ivar ListFileMembersBatchResult.file: This is the input file identifier, whether an ID or a path. :ivar ListFileMembersBatchResult.result: The result for this particular file. """ __slots__ = [ "_file_value", "_result_value", ] _has_required_fields = True def __init__(self, file=None, result=None): self._file_value = bb.NOT_SET self._result_value = bb.NOT_SET if file is not None: self.file = file if result is not None: self.result = result # Instance attribute type: str (validator is set below) file = bb.Attribute("file") # Instance attribute type: ListFileMembersIndividualResult (validator is set below) result = bb.Attribute("result", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFileMembersBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFileMembersBatchResult_validator = bv.Struct(ListFileMembersBatchResult) class ListFileMembersContinueArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members_continue`. :ivar ListFileMembersContinueArg.cursor: The cursor returned by your last call to :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members`, :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members_continue`, or :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members_batch`. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFileMembersContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFileMembersContinueArg_validator = bv.Struct(ListFileMembersContinueArg) class ListFileMembersContinueError(bb.Union): """ Error for :meth:`dropbox.dropbox_client.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 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 ) ListFileMembersContinueError_validator = bv.Union(ListFileMembersContinueError) class ListFileMembersCountResult(bb.Struct): """ :ivar ListFileMembersCountResult.members: A list of members on this file. :ivar ListFileMembersCountResult.member_count: The number of members on this file. This does not include inherited members. """ __slots__ = [ "_members_value", "_member_count_value", ] _has_required_fields = True def __init__(self, members=None, member_count=None): self._members_value = bb.NOT_SET self._member_count_value = bb.NOT_SET if members is not None: self.members = members if member_count is not None: self.member_count = member_count # Instance attribute type: SharedFileMembers (validator is set below) members = bb.Attribute("members", user_defined=True) # Instance attribute type: int (validator is set below) member_count = bb.Attribute("member_count") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFileMembersCountResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFileMembersCountResult_validator = bv.Struct(ListFileMembersCountResult) class ListFileMembersError(bb.Union): """ Error for :meth:`dropbox.dropbox_client.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 ) 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 ListFileMembersIndividualResult.result: The results of the query for this file if it was successful. :vartype ListFileMembersIndividualResult.result: ListFileMembersCountResult :ivar ListFileMembersIndividualResult.access_error: The result of the query for this file if it was an error. :vartype ListFileMembersIndividualResult.access_error: SharingFileAccessError """ _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 ) ListFileMembersIndividualResult_validator = bv.Union(ListFileMembersIndividualResult) class ListFilesArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_list_received_files`. :ivar ListFilesArg.limit: Number of files to return max per query. Defaults to 100 if no limit is specified. :ivar 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", "_actions_value", ] _has_required_fields = False def __init__(self, limit=None, actions=None): self._limit_value = bb.NOT_SET self._actions_value = bb.NOT_SET if limit is not None: self.limit = limit if actions is not None: self.actions = actions # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") # Instance attribute type: list of [FileAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFilesArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFilesArg_validator = bv.Struct(ListFilesArg) class ListFilesContinueArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_list_received_files_continue`. :ivar ListFilesContinueArg.cursor: Cursor in ``ListFilesResult.cursor``. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFilesContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFilesContinueArg_validator = bv.Struct(ListFilesContinueArg) class ListFilesContinueError(bb.Union): """ Error results for :meth:`dropbox.dropbox_client.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 ListFilesContinueError.user_error: User account had a problem. :vartype ListFilesContinueError.user_error: SharingUserError :ivar 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 ) ListFilesContinueError_validator = bv.Union(ListFilesContinueError) class ListFilesResult(bb.Struct): """ Success results for :meth:`dropbox.dropbox_client.Dropbox.sharing_list_received_files`. :ivar ListFilesResult.entries: Information about the files shared with current user. :ivar ListFilesResult.cursor: Cursor used to obtain additional shared files. """ __slots__ = [ "_entries_value", "_cursor_value", ] _has_required_fields = True def __init__(self, entries=None, cursor=None): self._entries_value = bb.NOT_SET self._cursor_value = bb.NOT_SET if entries is not None: self.entries = entries if cursor is not None: self.cursor = cursor # Instance attribute type: list of [SharedFileMetadata] (validator is set below) entries = bb.Attribute("entries") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFilesResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFilesResult_validator = bv.Struct(ListFilesResult) class ListFolderMembersCursorArg(bb.Struct): """ :ivar 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 ListFolderMembersCursorArg.limit: The maximum number of results that include members, groups and invitees to return per request. """ __slots__ = [ "_actions_value", "_limit_value", ] _has_required_fields = False def __init__(self, actions=None, limit=None): self._actions_value = bb.NOT_SET self._limit_value = bb.NOT_SET if actions is not None: self.actions = actions if limit is not None: self.limit = limit # Instance attribute type: list of [MemberAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFolderMembersCursorArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFolderMembersCursorArg_validator = bv.Struct(ListFolderMembersCursorArg) class ListFolderMembersArgs(ListFolderMembersCursorArg): """ :ivar ListFolderMembersArgs.shared_folder_id: The ID for the shared folder. When path is provided, the folder ID will be extracted from the path instead. :ivar ListFolderMembersArgs.path: Optional path to get inherited members. When omitted, uses shared_folder_id to return direct members. When provided, extracts folder ID from this path and returns users who have access through parent shared folder. """ __slots__ = [ "_shared_folder_id_value", "_path_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None, actions=None, limit=None, path=None): super(ListFolderMembersArgs, self).__init__(actions, limit) self._shared_folder_id_value = bb.NOT_SET self._path_value = bb.NOT_SET if shared_folder_id is not None: self.shared_folder_id = shared_folder_id if path is not None: self.path = path # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: str (validator is set below) path = bb.Attribute("path", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFolderMembersArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFolderMembersArgs_validator = bv.Struct(ListFolderMembersArgs) class ListFolderMembersContinueArg(bb.Struct): """ :ivar ListFolderMembersContinueArg.cursor: The cursor returned by your last call to :meth:`dropbox.dropbox_client.Dropbox.sharing_list_folder_members` or :meth:`dropbox.dropbox_client.Dropbox.sharing_list_folder_members_continue`. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFolderMembersContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) ListFolderMembersContinueError_validator = bv.Union(ListFolderMembersContinueError) class ListFoldersArgs(bb.Struct): """ :ivar ListFoldersArgs.limit: The maximum number of results to return per request. :ivar 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", "_actions_value", ] _has_required_fields = False def __init__(self, limit=None, actions=None): self._limit_value = bb.NOT_SET self._actions_value = bb.NOT_SET if limit is not None: self.limit = limit if actions is not None: self.actions = actions # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") # Instance attribute type: list of [FolderAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFoldersArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFoldersArgs_validator = bv.Struct(ListFoldersArgs) class ListFoldersContinueArg(bb.Struct): """ :ivar ListFoldersContinueArg.cursor: The cursor returned by the previous API call specified in the endpoint description. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFoldersContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) ListFoldersContinueError_validator = bv.Union(ListFoldersContinueError) class ListFoldersResult(bb.Struct): """ Result for :meth:`dropbox.dropbox_client.Dropbox.sharing_list_folders` or :meth:`dropbox.dropbox_client.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 ListFoldersResult.entries: List of all shared folders the authenticated user has access to. :ivar 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_client.Dropbox.sharing_list_folders_continue` or :meth:`dropbox.dropbox_client.Dropbox.sharing_list_mountable_folders_continue`) to list additional folders. """ __slots__ = [ "_entries_value", "_cursor_value", ] _has_required_fields = True def __init__(self, entries=None, cursor=None): self._entries_value = bb.NOT_SET self._cursor_value = bb.NOT_SET if entries is not None: self.entries = entries if cursor is not None: self.cursor = cursor # Instance attribute type: list of [SharedFolderMetadata] (validator is set below) entries = bb.Attribute("entries") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListFoldersResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListFoldersResult_validator = bv.Struct(ListFoldersResult) class ListSharedLinksArg(bb.Struct): """ :ivar ListSharedLinksArg.path: See :meth:`dropbox.dropbox_client.Dropbox.sharing_list_shared_links` description. :ivar ListSharedLinksArg.cursor: The cursor returned by your last call to :meth:`dropbox.dropbox_client.Dropbox.sharing_list_shared_links`. :ivar ListSharedLinksArg.direct_only: See :meth:`dropbox.dropbox_client.Dropbox.sharing_list_shared_links` description. """ __slots__ = [ "_path_value", "_cursor_value", "_direct_only_value", ] _has_required_fields = False def __init__(self, path=None, cursor=None, direct_only=None): self._path_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._direct_only_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) path = bb.Attribute("path", nullable=True) # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) # Instance attribute type: bool (validator is set below) direct_only = bb.Attribute("direct_only", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListSharedLinksArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ListSharedLinksError.reset: Indicates that the cursor has been invalidated. Call :meth:`dropbox.dropbox_client.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 ) ListSharedLinksError_validator = bv.Union(ListSharedLinksError) class ListSharedLinksResult(bb.Struct): """ :ivar ListSharedLinksResult.links: Shared links applicable to the path argument. :ivar ListSharedLinksResult.has_more: Is true if there are additional shared links that have not been returned yet. Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.sharing_list_shared_links` to retrieve them. :ivar ListSharedLinksResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.sharing_list_shared_links` to obtain the additional links. Cursor is returned only if no path is given. """ __slots__ = [ "_links_value", "_has_more_value", "_cursor_value", ] _has_required_fields = True def __init__(self, links=None, has_more=None, cursor=None): self._links_value = bb.NOT_SET self._has_more_value = bb.NOT_SET self._cursor_value = bb.NOT_SET 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 # Instance attribute type: list of [SharedLinkMetadata] (validator is set below) links = bb.Attribute("links") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListSharedLinksResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListSharedLinksResult_validator = bv.Struct(ListSharedLinksResult) class MemberAccessLevelResult(bb.Struct): """ Contains information about a member's access level to content after an operation. :ivar MemberAccessLevelResult.access_level: The member still has this level of access to the content through a parent folder. :ivar MemberAccessLevelResult.warning: A localized string with additional information about why the user has this access level to the content. :ivar 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", "_warning_value", "_access_details_value", ] _has_required_fields = False def __init__(self, access_level=None, warning=None, access_details=None): self._access_level_value = bb.NOT_SET self._warning_value = bb.NOT_SET self._access_details_value = bb.NOT_SET 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 # Instance attribute type: AccessLevel (validator is set below) access_level = bb.Attribute("access_level", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) warning = bb.Attribute("warning", nullable=True) # Instance attribute type: list of [ParentFolderAccessInfo] (validator is set below) access_details = bb.Attribute("access_details", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAccessLevelResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 MemberAction.leave_a_copy: Allow the member to keep a copy of the folder when removing. :ivar MemberAction.make_editor: Make the member an editor of the folder. :ivar MemberAction.make_owner: Make the member an owner of the folder. :ivar MemberAction.make_viewer: Make the member a viewer of the folder. :ivar MemberAction.make_viewer_no_comment: Make the member a viewer of the folder without commenting permissions. :ivar 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 ) MemberAction_validator = bv.Union(MemberAction) class MemberPermission(bb.Struct): """ Whether the user is allowed to take the action on the associated member. :ivar MemberPermission.action: The action that the user may wish to take on the member. :ivar MemberPermission.allow: True if the user is allowed to take the action. :ivar MemberPermission.reason: The reason why the user is denied the permission. Not present if the action is allowed. """ __slots__ = [ "_action_value", "_allow_value", "_reason_value", ] _has_required_fields = True def __init__(self, action=None, allow=None, reason=None): self._action_value = bb.NOT_SET self._allow_value = bb.NOT_SET self._reason_value = bb.NOT_SET if action is not None: self.action = action if allow is not None: self.allow = allow if reason is not None: self.reason = reason # Instance attribute type: MemberAction (validator is set below) action = bb.Attribute("action", user_defined=True) # Instance attribute type: bool (validator is set below) allow = bb.Attribute("allow") # Instance attribute type: PermissionDeniedReason (validator is set below) reason = bb.Attribute("reason", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberPermission, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 MemberPolicy.team: Only a teammate can become a member. :ivar MemberPolicy.anyone: Anyone can become a member. :ivar MemberPolicy.team_and_approved: Only a teammate and approved people 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 team_and_approved = 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_team_and_approved(self): """ Check if the union tag is ``team_and_approved``. :rtype: bool """ return self._tag == "team_and_approved" 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 ) 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 MemberSelector.dropbox_id: Dropbox account, team member, or group ID of member. :vartype MemberSelector.dropbox_id: str :ivar MemberSelector.email: Email address of member. :vartype MemberSelector.email: str """ _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): """ Email 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 ) MemberSelector_validator = bv.Union(MemberSelector) class ModifySharedLinkSettingsArgs(bb.Struct): """ :ivar ModifySharedLinkSettingsArgs.url: URL of the shared link to change its settings. :ivar ModifySharedLinkSettingsArgs.settings: Set of settings for the shared link. :ivar ModifySharedLinkSettingsArgs.remove_expiration: If set to true, removes the expiration of the shared link. """ __slots__ = [ "_url_value", "_settings_value", "_remove_expiration_value", ] _has_required_fields = True def __init__(self, url=None, settings=None, remove_expiration=None): self._url_value = bb.NOT_SET self._settings_value = bb.NOT_SET self._remove_expiration_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) url = bb.Attribute("url") # Instance attribute type: SharedLinkSettings (validator is set below) settings = bb.Attribute("settings", user_defined=True) # Instance attribute type: bool (validator is set below) remove_expiration = bb.Attribute("remove_expiration") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ModifySharedLinkSettingsArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ModifySharedLinkSettingsError.settings_error: There is an error with the given settings. :vartype ModifySharedLinkSettingsError.settings_error: SharedLinkSettingsError :ivar ModifySharedLinkSettingsError.email_not_verified: This user's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address `here `_. """ # 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 ) ModifySharedLinkSettingsError_validator = bv.Union(ModifySharedLinkSettingsError) class MountFolderArg(bb.Struct): """ :ivar MountFolderArg.shared_folder_id: The ID of the shared folder to mount. """ __slots__ = [ "_shared_folder_id_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None): self._shared_folder_id_value = bb.NOT_SET if shared_folder_id is not None: self.shared_folder_id = shared_folder_id # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MountFolderArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 MountFolderError.inside_shared_folder: Mounting would cause a shared folder to be inside another, which is disallowed. :ivar MountFolderError.insufficient_quota: The current user does not have enough space to mount the shared folder. :vartype MountFolderError.insufficient_quota: InsufficientQuotaAmounts :ivar MountFolderError.already_mounted: The shared folder is already mounted. :ivar MountFolderError.no_permission: The current user does not have permission to perform this action. :ivar 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. :ivar MountFolderError.must_automount: The shared folder is not mountable by directly call APIs, instead the automounter is responsible for mounting it. """ _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 must_automount = 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_must_automount(self): """ Check if the union tag is ``must_automount``. :rtype: bool """ return self._tag == "must_automount" 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 ) MountFolderError_validator = bv.Union(MountFolderError) class ParentFolderAccessInfo(bb.Struct): """ Contains information about a parent folder that a member has access to. :ivar ParentFolderAccessInfo.folder_name: Display name for the folder. :ivar ParentFolderAccessInfo.shared_folder_id: The identifier of the parent shared folder. :ivar ParentFolderAccessInfo.permissions: The user's permissions for the parent shared folder. :ivar ParentFolderAccessInfo.path: The full path to the parent shared folder relative to the acting user's root. """ __slots__ = [ "_folder_name_value", "_shared_folder_id_value", "_permissions_value", "_path_value", ] _has_required_fields = True def __init__(self, folder_name=None, shared_folder_id=None, permissions=None, path=None): self._folder_name_value = bb.NOT_SET self._shared_folder_id_value = bb.NOT_SET self._permissions_value = bb.NOT_SET self._path_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) folder_name = bb.Attribute("folder_name") # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: list of [MemberPermission] (validator is set below) permissions = bb.Attribute("permissions") # Instance attribute type: str (validator is set below) path = bb.Attribute("path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ParentFolderAccessInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) ParentFolderAccessInfo_validator = bv.Struct(ParentFolderAccessInfo) class PathLinkMetadata(LinkMetadata): """ Metadata for a path-based shared link. :ivar PathLinkMetadata.path: Path in user's Dropbox. """ __slots__ = [ "_path_value", ] _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 = bb.NOT_SET if path is not None: self.path = path # Instance attribute type: str (validator is set below) path = bb.Attribute("path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PathLinkMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PendingUploadMode.file: Assume pending uploads are files. :ivar 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 ) 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 PermissionDeniedReason.user_not_same_team_as_owner: User is not on the same team as the folder owner. :ivar PermissionDeniedReason.user_not_allowed_by_owner: User is prohibited by the owner from taking the action. :ivar PermissionDeniedReason.target_is_indirect_member: Target is indirectly a member of the folder, for example by being part of a group. :ivar PermissionDeniedReason.target_is_owner: Target is the owner of the folder. :ivar PermissionDeniedReason.target_is_self: Target is the user itself. :ivar PermissionDeniedReason.target_not_active: Target is not an active member of the team. :ivar PermissionDeniedReason.folder_is_limited_team_folder: Folder is team folder for a limited team. :ivar PermissionDeniedReason.owner_not_on_team: The content owner needs to be on a Dropbox team to perform this action. :ivar PermissionDeniedReason.permission_denied: The user does not have permission to perform this action on the link. :ivar PermissionDeniedReason.restricted_by_team: The user's team policy prevents performing this action on the link. :ivar PermissionDeniedReason.user_account_type: The user's account type does not support this action. :ivar PermissionDeniedReason.user_not_on_team: The user needs to be on a Dropbox team to perform this action. :ivar PermissionDeniedReason.folder_is_inside_shared_folder: Folder is inside of another shared folder. :ivar 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 ) PermissionDeniedReason_validator = bv.Union(PermissionDeniedReason) class RelinquishAccessArg(bb.Struct): """ Removes all self-removable access from a file or folder. For folders: always relinquishes without keeping a local copy (leave_a_copy=false behavior). If you need control over keeping folder contents, use the relinquish_folder_membership endpoint instead. :ivar RelinquishAccessArg.file_id: The id for the file or folder. """ __slots__ = [ "_file_id_value", ] _has_required_fields = True def __init__(self, file_id=None): self._file_id_value = bb.NOT_SET if file_id is not None: self.file_id = file_id # Instance attribute type: str (validator is set below) file_id = bb.Attribute("file_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelinquishAccessArg, self)._process_custom_annotations( annotation_type, field_path, processor ) RelinquishAccessArg_validator = bv.Struct(RelinquishAccessArg) class RelinquishAccessError(bb.Union): """ Error result for the relinquish_access endpoint. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar RelinquishAccessError.invalid_file_id: File or folder not found or has been deleted. :ivar RelinquishAccessError.email_unverified: Caller's email address is not verified. :ivar RelinquishAccessError.owner: User is the owner of the file/folder. :ivar RelinquishAccessError.no_explicit_access: User has only non-removable access — inherited from a parent folder or via group membership. Either way, relinquish_access cannot remove the caller's access from this surface; the caller must take action on the source of the access (e.g. leave the parent shared folder, or be removed from the group). :ivar RelinquishAccessError.team_folder: Team folder restrictions apply. :ivar RelinquishAccessError.no_permission: Caller does not have permission to perform this action. Generic fallback. """ _catch_all = "other" # Attribute is overwritten below the class definition invalid_file_id = None # Attribute is overwritten below the class definition email_unverified = None # Attribute is overwritten below the class definition owner = None # Attribute is overwritten below the class definition no_explicit_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 other = None def is_invalid_file_id(self): """ Check if the union tag is ``invalid_file_id``. :rtype: bool """ return self._tag == "invalid_file_id" def is_email_unverified(self): """ Check if the union tag is ``email_unverified``. :rtype: bool """ return self._tag == "email_unverified" def is_owner(self): """ Check if the union tag is ``owner``. :rtype: bool """ return self._tag == "owner" 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_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 _process_custom_annotations(self, annotation_type, field_path, processor): super(RelinquishAccessError, self)._process_custom_annotations( annotation_type, field_path, processor ) RelinquishAccessError_validator = bv.Union(RelinquishAccessError) class RelinquishAccessResult(bb.Struct): """ Returns an empty response for the relinquish_access endpoint. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelinquishAccessResult, self)._process_custom_annotations( annotation_type, field_path, processor ) RelinquishAccessResult_validator = bv.Struct(RelinquishAccessResult) class RelinquishFileMembershipArg(bb.Struct): """ :ivar RelinquishFileMembershipArg.file: The path or id for the file. """ __slots__ = [ "_file_value", ] _has_required_fields = True def __init__(self, file=None): self._file_value = bb.NOT_SET if file is not None: self.file = file # Instance attribute type: str (validator is set below) file = bb.Attribute("file") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelinquishFileMembershipArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 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 ) RelinquishFileMembershipError_validator = bv.Union(RelinquishFileMembershipError) class RelinquishFolderMembershipArg(bb.Struct): """ :ivar RelinquishFolderMembershipArg.shared_folder_id: The ID for the shared folder. :ivar RelinquishFolderMembershipArg.leave_a_copy: Keep a copy of the folder's contents upon relinquishing membership. This must be set to false when the folder is within a team folder or another shared folder. """ __slots__ = [ "_shared_folder_id_value", "_leave_a_copy_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None, leave_a_copy=None): self._shared_folder_id_value = bb.NOT_SET self._leave_a_copy_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: bool (validator is set below) leave_a_copy = bb.Attribute("leave_a_copy") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelinquishFolderMembershipArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 RelinquishFolderMembershipError.mounted: The shared folder is currently mounted. Unmount the shared folder before relinquishing membership. :ivar 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 RelinquishFolderMembershipError.team_folder: This action cannot be performed on a team shared folder. :ivar RelinquishFolderMembershipError.no_permission: The current user does not have permission to perform this action. :ivar 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 ) RelinquishFolderMembershipError_validator = bv.Union(RelinquishFolderMembershipError) class RemoveFileMemberArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_remove_file_member_2`. :ivar RemoveFileMemberArg.file: File from which to remove members. :ivar 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", "_member_value", ] _has_required_fields = True def __init__(self, file=None, member=None): self._file_value = bb.NOT_SET self._member_value = bb.NOT_SET if file is not None: self.file = file if member is not None: self.member = member # Instance attribute type: str (validator is set below) file = bb.Attribute("file") # Instance attribute type: MemberSelector (validator is set below) member = bb.Attribute("member", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(RemoveFileMemberArg, self)._process_custom_annotations( annotation_type, field_path, processor ) RemoveFileMemberArg_validator = bv.Struct(RemoveFileMemberArg) class RemoveFileMemberError(bb.Union): """ Errors for :meth:`dropbox.dropbox_client.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 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. :vartype RemoveFileMemberError.no_explicit_access: MemberAccessLevelResult """ _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 ) RemoveFileMemberError_validator = bv.Union(RemoveFileMemberError) class RemoveFolderMemberArg(bb.Struct): """ :ivar RemoveFolderMemberArg.shared_folder_id: The ID for the shared folder. :ivar RemoveFolderMemberArg.member: The member to remove from the folder. :ivar 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. This must be set to false when removing a group, or when the folder is within a team folder or another shared folder. """ __slots__ = [ "_shared_folder_id_value", "_member_value", "_leave_a_copy_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None, member=None, leave_a_copy=None): self._shared_folder_id_value = bb.NOT_SET self._member_value = bb.NOT_SET self._leave_a_copy_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: MemberSelector (validator is set below) member = bb.Attribute("member", user_defined=True) # Instance attribute type: bool (validator is set below) leave_a_copy = bb.Attribute("leave_a_copy") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RemoveFolderMemberArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 RemoveFolderMemberError.group_access: The target user has access to the shared folder via a group. :ivar RemoveFolderMemberError.team_folder: This action cannot be performed on a team shared folder. :ivar RemoveFolderMemberError.no_permission: The current user does not have permission to perform this action. :ivar 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 ) 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 RemoveMemberJobStatus.complete: Removing the folder member has finished. The value is information about whether the member has another form of access. :vartype RemoveMemberJobStatus.complete: MemberAccessLevelResult """ @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 ) 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 RequestedLinkAccessLevel.viewer: Users who use the link can view and comment on the content. :ivar RequestedLinkAccessLevel.editor: Users who use the link can edit, view and comment on the content. Note not all file types support edit links yet. :ivar RequestedLinkAccessLevel.max: Request for the maximum access level you can set the link to. :ivar RequestedLinkAccessLevel.default: Request for the default access level the user has set. """ _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 default = 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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 ) RequestedLinkAccessLevel_validator = bv.Union(RequestedLinkAccessLevel) class RevokeSharedLinkArg(bb.Struct): """ :ivar RevokeSharedLinkArg.url: URL of the shared link. """ __slots__ = [ "_url_value", ] _has_required_fields = True def __init__(self, url=None): self._url_value = bb.NOT_SET if url is not None: self.url = url # Instance attribute type: str (validator is set below) url = bb.Attribute("url") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RevokeSharedLinkArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) RevokeSharedLinkError_validator = bv.Union(RevokeSharedLinkError) class SetAccessInheritanceArg(bb.Struct): """ :ivar SetAccessInheritanceArg.access_inheritance: The access inheritance settings for the folder. :ivar SetAccessInheritanceArg.shared_folder_id: The ID for the shared folder. """ __slots__ = [ "_access_inheritance_value", "_shared_folder_id_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None, access_inheritance=None): self._access_inheritance_value = bb.NOT_SET self._shared_folder_id_value = bb.NOT_SET 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 # Instance attribute type: AccessInheritance (validator is set below) access_inheritance = bb.Attribute("access_inheritance", user_defined=True) # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SetAccessInheritanceArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 SetAccessInheritanceError.access_error: Unable to access shared folder. :vartype SetAccessInheritanceError.access_error: SharedFolderAccessError :ivar 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 ) SetAccessInheritanceError_validator = bv.Union(SetAccessInheritanceError) class ShareFolderArgBase(bb.Struct): """ :ivar ShareFolderArgBase.acl_update_policy: Who can add and remove members of this shared folder. :ivar ShareFolderArgBase.force_async: Whether to force the share to happen asynchronously. :ivar ShareFolderArgBase.member_policy: Who can be a member of this shared folder. Only applicable if the current user is on a team. :ivar ShareFolderArgBase.path: The path or the file id to the folder to share. If it does not exist, then a new one is created. :ivar 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 ShareFolderArgBase.viewer_info_policy: Who can enable/disable viewer info for this shared folder. :ivar ShareFolderArgBase.access_inheritance: The access inheritance settings for the folder. """ __slots__ = [ "_acl_update_policy_value", "_force_async_value", "_member_policy_value", "_path_value", "_shared_link_policy_value", "_viewer_info_policy_value", "_access_inheritance_value", ] _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 = bb.NOT_SET self._force_async_value = bb.NOT_SET self._member_policy_value = bb.NOT_SET self._path_value = bb.NOT_SET self._shared_link_policy_value = bb.NOT_SET self._viewer_info_policy_value = bb.NOT_SET self._access_inheritance_value = bb.NOT_SET 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 # Instance attribute type: AclUpdatePolicy (validator is set below) acl_update_policy = bb.Attribute("acl_update_policy", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) force_async = bb.Attribute("force_async") # Instance attribute type: MemberPolicy (validator is set below) member_policy = bb.Attribute("member_policy", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) path = bb.Attribute("path") # Instance attribute type: SharedLinkPolicy (validator is set below) shared_link_policy = bb.Attribute("shared_link_policy", nullable=True, user_defined=True) # Instance attribute type: ViewerInfoPolicy (validator is set below) viewer_info_policy = bb.Attribute("viewer_info_policy", nullable=True, user_defined=True) # Instance attribute type: AccessInheritance (validator is set below) access_inheritance = bb.Attribute("access_inheritance", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShareFolderArgBase, self)._process_custom_annotations( annotation_type, field_path, processor ) ShareFolderArgBase_validator = bv.Struct(ShareFolderArgBase) class ShareFolderArg(ShareFolderArgBase): """ :ivar 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 ShareFolderArg.link_settings: Settings on the link for this folder. """ __slots__ = [ "_actions_value", "_link_settings_value", ] _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 = bb.NOT_SET self._link_settings_value = bb.NOT_SET if actions is not None: self.actions = actions if link_settings is not None: self.link_settings = link_settings # Instance attribute type: list of [FolderAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) # Instance attribute type: LinkSettings (validator is set below) link_settings = bb.Attribute("link_settings", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShareFolderArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ShareFolderErrorBase.email_unverified: This user's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address `here `_. :ivar ShareFolderErrorBase.bad_path: ``ShareFolderArg.path`` is invalid. :vartype ShareFolderErrorBase.bad_path: SharePathError :ivar ShareFolderErrorBase.team_policy_disallows_member_policy: Team policy or group sharing settings are more restrictive than ``ShareFolderArg.member_policy``. :ivar 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 ) 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 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 ) ShareFolderError_validator = bv.Union(ShareFolderError) class ShareFolderErrorBaseV2(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar ShareFolderErrorBaseV2.email_unverified: This user's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address `here `_. :ivar ShareFolderErrorBaseV2.team_policy_disallows_member_policy: Team policy or group sharing settings are more restrictive than ``ShareFolderArg.member_policy``. :ivar ShareFolderErrorBaseV2.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 def is_email_unverified(self): """ Check if the union tag is ``email_unverified``. :rtype: bool """ return self._tag == "email_unverified" 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 _process_custom_annotations(self, annotation_type, field_path, processor): super(ShareFolderErrorBaseV2, self)._process_custom_annotations( annotation_type, field_path, processor ) ShareFolderErrorBaseV2_validator = bv.Union(ShareFolderErrorBaseV2) class ShareFolderErrorV2(ShareFolderErrorBaseV2): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar ShareFolderErrorV2.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(ShareFolderErrorV2, self)._process_custom_annotations( annotation_type, field_path, processor ) ShareFolderErrorV2_validator = bv.Union(ShareFolderErrorV2) 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 ShareFolderJobStatus.complete: The share job has finished. The value is the metadata for the folder. :vartype ShareFolderJobStatus.complete: SharedFolderMetadata """ @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 ) 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 ) 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 SharePathError.is_file: A file is at the specified path. :ivar SharePathError.inside_shared_folder: We do not support sharing a folder inside a shared folder. :ivar SharePathError.contains_shared_folder: We do not support shared folders that contain shared folders. :ivar SharePathError.contains_app_folder: We do not support shared folders that contain app folders. :ivar SharePathError.contains_team_folder: We do not support shared folders that contain team folders. :ivar SharePathError.is_app_folder: We do not support sharing an app folder. :ivar SharePathError.inside_app_folder: We do not support sharing a folder inside an app folder. :ivar SharePathError.is_public_folder: A public folder can't be shared this way. Use a public link instead. :ivar SharePathError.inside_public_folder: A folder inside a public folder can't be shared this way. Use a public link instead. :ivar SharePathError.already_shared: Folder is already shared. Contains metadata about the existing shared folder. :vartype SharePathError.already_shared: SharedFolderMetadata :ivar SharePathError.invalid_path: Path is not valid. :ivar SharePathError.is_osx_package: We do not support sharing a Mac OS X package. :ivar SharePathError.inside_osx_package: We do not support sharing a folder inside a Mac OS X package. :ivar SharePathError.is_vault: We do not support sharing the Vault folder. :ivar SharePathError.is_vault_locked: We do not support sharing a folder inside a locked Vault. :ivar SharePathError.is_family: We do not support sharing the Family folder. """ _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 is_vault = None # Attribute is overwritten below the class definition is_vault_locked = None # Attribute is overwritten below the class definition is_family = 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_is_vault(self): """ Check if the union tag is ``is_vault``. :rtype: bool """ return self._tag == "is_vault" def is_is_vault_locked(self): """ Check if the union tag is ``is_vault_locked``. :rtype: bool """ return self._tag == "is_vault_locked" def is_is_family(self): """ Check if the union tag is ``is_family``. :rtype: bool """ return self._tag == "is_family" 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 ) SharePathError_validator = bv.Union(SharePathError) class SharePathErrorBaseV2(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar SharePathErrorBaseV2.is_file: A file is at the specified path. :ivar SharePathErrorBaseV2.inside_shared_folder: We do not support sharing a folder inside a shared folder. :ivar SharePathErrorBaseV2.contains_shared_folder: We do not support shared folders that contain shared folders. :ivar SharePathErrorBaseV2.contains_team_folder: We do not support shared folders that contain team folders. :ivar SharePathErrorBaseV2.is_app_folder: We do not support sharing an app folder. :ivar SharePathErrorBaseV2.inside_app_folder: We do not support sharing a folder inside an app folder. :ivar SharePathErrorBaseV2.is_public_folder: A public folder can't be shared this way. Use a public link instead. :ivar SharePathErrorBaseV2.inside_public_folder: A folder inside a public folder can't be shared this way. Use a public link instead. :ivar SharePathErrorBaseV2.already_shared: Folder is already shared. Contains metadata about the existing shared folder. :vartype SharePathErrorBaseV2.already_shared: SharedFolderMetadata :ivar SharePathErrorBaseV2.invalid_path: Path is not valid. :ivar SharePathErrorBaseV2.is_osx_package: We do not support sharing a Mac OS X package. :ivar SharePathErrorBaseV2.inside_osx_package: We do not support sharing a folder inside a Mac OS X package. :ivar SharePathErrorBaseV2.is_vault: We do not support sharing the Vault folder. :ivar SharePathErrorBaseV2.is_vault_locked: We do not support sharing a folder inside a locked Vault. """ _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_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 is_vault = None # Attribute is overwritten below the class definition is_vault_locked = 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: SharePathErrorBaseV2 """ 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_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_is_vault(self): """ Check if the union tag is ``is_vault``. :rtype: bool """ return self._tag == "is_vault" def is_is_vault_locked(self): """ Check if the union tag is ``is_vault_locked``. :rtype: bool """ return self._tag == "is_vault_locked" 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(SharePathErrorBaseV2, self)._process_custom_annotations( annotation_type, field_path, processor ) SharePathErrorBaseV2_validator = bv.Union(SharePathErrorBaseV2) class SharePathErrorV2(SharePathErrorBaseV2): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar SharePathErrorV2.is_family: We do not support sharing the Family folder. :ivar SharePathErrorV2.contains_app_folder: We do not support shared folders that contain app folders. """ # Attribute is overwritten below the class definition is_family = None # Attribute is overwritten below the class definition contains_app_folder = None def is_is_family(self): """ Check if the union tag is ``is_family``. :rtype: bool """ return self._tag == "is_family" def is_contains_app_folder(self): """ Check if the union tag is ``contains_app_folder``. :rtype: bool """ return self._tag == "contains_app_folder" def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharePathErrorV2, self)._process_custom_annotations( annotation_type, field_path, processor ) SharePathErrorV2_validator = bv.Union(SharePathErrorV2) class SharedContentLinkMetadata(SharedContentLinkMetadataBase): """ Metadata of a shared link for a file or folder. :ivar 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 SharedContentLinkMetadata.url: The URL of the link. """ __slots__ = [ "_audience_exceptions_value", "_url_value", ] _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 = bb.NOT_SET self._url_value = bb.NOT_SET if audience_exceptions is not None: self.audience_exceptions = audience_exceptions if url is not None: self.url = url # Instance attribute type: AudienceExceptions (validator is set below) audience_exceptions = bb.Attribute("audience_exceptions", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) url = bb.Attribute("url") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentLinkMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentLinkMetadata_validator = bv.Struct(SharedContentLinkMetadata) class SharedFileMembers(bb.Struct): """ Shared file user, group, and invitee membership. Used for the results of :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members` and :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members_continue`, and used as part of the results for :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members_batch`. :ivar SharedFileMembers.users: The list of user members of the shared file. :ivar SharedFileMembers.groups: The list of group members of the shared file. :ivar SharedFileMembers.invitees: The list of invited members of a file, but have not logged in and claimed this. :ivar SharedFileMembers.cursor: Present if there are additional shared file members that have not been returned yet. Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.sharing_list_file_members_continue` to list additional members. """ __slots__ = [ "_users_value", "_groups_value", "_invitees_value", "_cursor_value", ] _has_required_fields = True def __init__(self, users=None, groups=None, invitees=None, cursor=None): self._users_value = bb.NOT_SET self._groups_value = bb.NOT_SET self._invitees_value = bb.NOT_SET self._cursor_value = bb.NOT_SET 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 # Instance attribute type: list of [UserFileMembershipInfo] (validator is set below) users = bb.Attribute("users") # Instance attribute type: list of [GroupMembershipInfo] (validator is set below) groups = bb.Attribute("groups") # Instance attribute type: list of [InviteeMembershipInfo] (validator is set below) invitees = bb.Attribute("invitees") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFileMembers, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFileMembers_validator = bv.Struct(SharedFileMembers) class SharedFileMetadata(bb.Struct): """ Properties of the shared file. :ivar SharedFileMetadata.access_type: The current user's access level for this shared file. :ivar SharedFileMetadata.id: The ID of the file. :ivar 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 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 SharedFileMetadata.name: The name of this file. :ivar 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 SharedFileMetadata.owner_team: The team that owns the file. This field is not present if the file is not owned by a team. :ivar 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 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 SharedFileMetadata.path_lower: The lower-case full path of this file. Absent for unmounted files. :ivar 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 SharedFileMetadata.policy: Policies governing this shared file. :ivar SharedFileMetadata.preview_url: URL for displaying a web preview of the shared file. :ivar 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", "_id_value", "_expected_link_metadata_value", "_link_metadata_value", "_name_value", "_owner_display_names_value", "_owner_team_value", "_parent_shared_folder_id_value", "_path_display_value", "_path_lower_value", "_permissions_value", "_policy_value", "_preview_url_value", "_time_invited_value", ] _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 = bb.NOT_SET self._id_value = bb.NOT_SET self._expected_link_metadata_value = bb.NOT_SET self._link_metadata_value = bb.NOT_SET self._name_value = bb.NOT_SET self._owner_display_names_value = bb.NOT_SET self._owner_team_value = bb.NOT_SET self._parent_shared_folder_id_value = bb.NOT_SET self._path_display_value = bb.NOT_SET self._path_lower_value = bb.NOT_SET self._permissions_value = bb.NOT_SET self._policy_value = bb.NOT_SET self._preview_url_value = bb.NOT_SET self._time_invited_value = bb.NOT_SET 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 # Instance attribute type: AccessLevel (validator is set below) access_type = bb.Attribute("access_type", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: ExpectedSharedContentLinkMetadata (validator is set below) expected_link_metadata = bb.Attribute( "expected_link_metadata", nullable=True, user_defined=True ) # Instance attribute type: SharedContentLinkMetadata (validator is set below) link_metadata = bb.Attribute("link_metadata", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: list of [str] (validator is set below) owner_display_names = bb.Attribute("owner_display_names", nullable=True) # Instance attribute type: users.Team (validator is set below) owner_team = bb.Attribute("owner_team", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) parent_shared_folder_id = bb.Attribute("parent_shared_folder_id", nullable=True) # Instance attribute type: str (validator is set below) path_display = bb.Attribute("path_display", nullable=True) # Instance attribute type: str (validator is set below) path_lower = bb.Attribute("path_lower", nullable=True) # Instance attribute type: list of [FilePermission] (validator is set below) permissions = bb.Attribute("permissions", nullable=True) # Instance attribute type: FolderPolicy (validator is set below) policy = bb.Attribute("policy", user_defined=True) # Instance attribute type: str (validator is set below) preview_url = bb.Attribute("preview_url") # Instance attribute type: datetime.datetime (validator is set below) time_invited = bb.Attribute("time_invited", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFileMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 SharedFolderAccessError.invalid_id: This shared folder ID is invalid. :ivar SharedFolderAccessError.not_a_member: The user is not a member of the shared folder thus cannot access it. :ivar SharedFolderAccessError.invalid_member: The user does not exist or their account is disabled. :ivar SharedFolderAccessError.email_unverified: Field is deprecated. Never set. :ivar 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 invalid_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_invalid_member(self): """ Check if the union tag is ``invalid_member``. :rtype: bool """ return self._tag == "invalid_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 ) 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 SharedFolderMemberError.invalid_dropbox_id: The target dropbox_id is invalid. :ivar SharedFolderMemberError.not_a_member: The target dropbox_id is not a member of the shared folder. :ivar SharedFolderMemberError.no_explicit_access: The target member only has inherited access to the shared folder. :vartype SharedFolderMemberError.no_explicit_access: MemberAccessLevelResult """ _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 ) SharedFolderMemberError_validator = bv.Union(SharedFolderMemberError) class SharedFolderMembers(bb.Struct): """ Shared folder user and group membership. :ivar SharedFolderMembers.users: The list of user members of the shared folder. :ivar SharedFolderMembers.groups: The list of group members of the shared folder. :ivar SharedFolderMembers.invitees: The list of invitees to the shared folder. :ivar SharedFolderMembers.cursor: Present if there are additional shared folder members that have not been returned yet. Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.sharing_list_folder_members_continue` to list additional members. """ __slots__ = [ "_users_value", "_groups_value", "_invitees_value", "_cursor_value", ] _has_required_fields = True def __init__(self, users=None, groups=None, invitees=None, cursor=None): self._users_value = bb.NOT_SET self._groups_value = bb.NOT_SET self._invitees_value = bb.NOT_SET self._cursor_value = bb.NOT_SET 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 # Instance attribute type: list of [UserMembershipInfo] (validator is set below) users = bb.Attribute("users") # Instance attribute type: list of [GroupMembershipInfo] (validator is set below) groups = bb.Attribute("groups") # Instance attribute type: list of [InviteeMembershipInfo] (validator is set below) invitees = bb.Attribute("invitees") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderMembers, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderMembers_validator = bv.Struct(SharedFolderMembers) class SharedFolderMetadataBase(bb.Struct): """ Properties of the shared folder. :ivar SharedFolderMetadataBase.access_type: The current user's access level for this shared folder. :ivar SharedFolderMetadataBase.is_inside_team_folder: Whether this folder is inside of a team folder. :ivar SharedFolderMetadataBase.is_team_folder: Whether this folder is a `team folder `_. :ivar 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 SharedFolderMetadataBase.owner_team: The team that owns the folder. This field is not present if the folder is not owned by a team. :ivar 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 SharedFolderMetadataBase.path_display: The full path of this shared folder. Absent for unmounted folders. :ivar SharedFolderMetadataBase.path_lower: The lower-cased full path of this shared folder. Absent for unmounted folders. :ivar SharedFolderMetadataBase.parent_folder_name: Display name for the parent folder. """ __slots__ = [ "_access_type_value", "_is_inside_team_folder_value", "_is_team_folder_value", "_owner_display_names_value", "_owner_team_value", "_parent_shared_folder_id_value", "_path_display_value", "_path_lower_value", "_parent_folder_name_value", ] _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_display=None, path_lower=None, parent_folder_name=None, ): self._access_type_value = bb.NOT_SET self._is_inside_team_folder_value = bb.NOT_SET self._is_team_folder_value = bb.NOT_SET self._owner_display_names_value = bb.NOT_SET self._owner_team_value = bb.NOT_SET self._parent_shared_folder_id_value = bb.NOT_SET self._path_display_value = bb.NOT_SET self._path_lower_value = bb.NOT_SET self._parent_folder_name_value = bb.NOT_SET 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_display is not None: self.path_display = path_display if path_lower is not None: self.path_lower = path_lower if parent_folder_name is not None: self.parent_folder_name = parent_folder_name # Instance attribute type: AccessLevel (validator is set below) access_type = bb.Attribute("access_type", user_defined=True) # Instance attribute type: bool (validator is set below) is_inside_team_folder = bb.Attribute("is_inside_team_folder") # Instance attribute type: bool (validator is set below) is_team_folder = bb.Attribute("is_team_folder") # Instance attribute type: list of [str] (validator is set below) owner_display_names = bb.Attribute("owner_display_names", nullable=True) # Instance attribute type: users.Team (validator is set below) owner_team = bb.Attribute("owner_team", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) parent_shared_folder_id = bb.Attribute("parent_shared_folder_id", nullable=True) # Instance attribute type: str (validator is set below) path_display = bb.Attribute("path_display", nullable=True) # Instance attribute type: str (validator is set below) path_lower = bb.Attribute("path_lower", nullable=True) # Instance attribute type: str (validator is set below) parent_folder_name = bb.Attribute("parent_folder_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderMetadataBase, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderMetadataBase_validator = bv.Struct(SharedFolderMetadataBase) class SharedFolderMetadata(SharedFolderMetadataBase): """ The metadata which includes basic information about the shared folder. :ivar 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 SharedFolderMetadata.name: The name of the this shared folder. :ivar 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 SharedFolderMetadata.policy: Policies governing this shared folder. :ivar SharedFolderMetadata.preview_url: URL for displaying a web preview of the shared folder. :ivar SharedFolderMetadata.shared_folder_id: The ID of the shared folder. :ivar SharedFolderMetadata.time_invited: Timestamp indicating when the current user was invited to this shared folder. :ivar SharedFolderMetadata.access_inheritance: Whether the folder inherits its members from its parent. :ivar SharedFolderMetadata.folder_id: The ID of the content. """ __slots__ = [ "_link_metadata_value", "_name_value", "_permissions_value", "_policy_value", "_preview_url_value", "_shared_folder_id_value", "_time_invited_value", "_access_inheritance_value", "_folder_id_value", ] _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_display=None, path_lower=None, parent_folder_name=None, link_metadata=None, permissions=None, access_inheritance=None, folder_id=None, ): super(SharedFolderMetadata, self).__init__( access_type, is_inside_team_folder, is_team_folder, owner_display_names, owner_team, parent_shared_folder_id, path_display, path_lower, parent_folder_name, ) self._link_metadata_value = bb.NOT_SET self._name_value = bb.NOT_SET self._permissions_value = bb.NOT_SET self._policy_value = bb.NOT_SET self._preview_url_value = bb.NOT_SET self._shared_folder_id_value = bb.NOT_SET self._time_invited_value = bb.NOT_SET self._access_inheritance_value = bb.NOT_SET self._folder_id_value = bb.NOT_SET 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 if folder_id is not None: self.folder_id = folder_id # Instance attribute type: SharedContentLinkMetadata (validator is set below) link_metadata = bb.Attribute("link_metadata", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: list of [FolderPermission] (validator is set below) permissions = bb.Attribute("permissions", nullable=True) # Instance attribute type: FolderPolicy (validator is set below) policy = bb.Attribute("policy", user_defined=True) # Instance attribute type: str (validator is set below) preview_url = bb.Attribute("preview_url") # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: datetime.datetime (validator is set below) time_invited = bb.Attribute("time_invited") # Instance attribute type: AccessInheritance (validator is set below) access_inheritance = bb.Attribute("access_inheritance", user_defined=True) # Instance attribute type: str (validator is set below) folder_id = bb.Attribute("folder_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 SharedLinkAccessFailureReason.login_required: User is not logged in. :ivar SharedLinkAccessFailureReason.email_verify_required: This user's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address `here `_. :ivar SharedLinkAccessFailureReason.password_required: The link is password protected. :ivar SharedLinkAccessFailureReason.team_only: Access is allowed for team members only. :ivar 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 ) 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 SharedLinkAlreadyExistsMetadata.metadata: Metadata of the shared link that already exists. :vartype SharedLinkAlreadyExistsMetadata.metadata: SharedLinkMetadata """ _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 ) SharedLinkAlreadyExistsMetadata_validator = bv.Union(SharedLinkAlreadyExistsMetadata) class SharedLinkMetadataError(SharedLinkError): """ The potential errors for a call to get_shared_link_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. """ def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkMetadataError, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkMetadataError_validator = bv.Union(SharedLinkMetadataError) 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 SharedLinkPolicy.anyone: Links can be shared with anyone. :ivar SharedLinkPolicy.team: Field is deprecated. Links can be shared with anyone on the same team as the owner. :ivar 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 ) SharedLinkPolicy_validator = bv.Union(SharedLinkPolicy) class SharedLinkSettings(bb.Struct): """ :ivar SharedLinkSettings.require_password: Boolean flag to enable or disable password protection. :ivar SharedLinkSettings.link_password: If ``require_password`` is true, this is needed to specify the password to access the link. :ivar SharedLinkSettings.expires: Expiration time of the shared link. By default the link won't expire. :ivar 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 SharedLinkSettings.access: Requested access level you want the audience to gain from this link. Note, modifying access level for an existing link is not supported. :ivar SharedLinkSettings.requested_visibility: Field is deprecated. Use ``audience`` instead. The requested access for this shared link. :ivar SharedLinkSettings.allow_download: Boolean flag to allow or not download capabilities for shared links. """ __slots__ = [ "_require_password_value", "_link_password_value", "_expires_value", "_audience_value", "_access_value", "_requested_visibility_value", "_allow_download_value", ] _has_required_fields = False def __init__( self, require_password=None, link_password=None, expires=None, audience=None, access=None, requested_visibility=None, allow_download=None, ): self._require_password_value = bb.NOT_SET self._link_password_value = bb.NOT_SET self._expires_value = bb.NOT_SET self._audience_value = bb.NOT_SET self._access_value = bb.NOT_SET self._requested_visibility_value = bb.NOT_SET self._allow_download_value = bb.NOT_SET if require_password is not None: self.require_password = require_password 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 if requested_visibility is not None: self.requested_visibility = requested_visibility if allow_download is not None: self.allow_download = allow_download # Instance attribute type: bool (validator is set below) require_password = bb.Attribute("require_password", nullable=True) # Instance attribute type: str (validator is set below) link_password = bb.Attribute("link_password", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) expires = bb.Attribute("expires", nullable=True) # Instance attribute type: LinkAudience (validator is set below) audience = bb.Attribute("audience", nullable=True, user_defined=True) # Instance attribute type: RequestedLinkAccessLevel (validator is set below) access = bb.Attribute("access", nullable=True, user_defined=True) # Instance attribute type: RequestedVisibility (validator is set below) requested_visibility = bb.Attribute("requested_visibility", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) allow_download = bb.Attribute("allow_download", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettings, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 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 ) 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 SharingFileAccessError.no_permission: Current user does not have sufficient privileges to perform the desired action. :ivar SharingFileAccessError.invalid_file: File specified was not found. :ivar SharingFileAccessError.is_folder: A folder can't be shared this way. Use folder sharing or a shared link instead. :ivar SharingFileAccessError.inside_public_folder: A file inside a public folder can't be shared this way. Use a public link instead. :ivar 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 ) 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 SharingUserError.email_unverified: This user's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address `here `_. """ _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 ) SharingUserError_validator = bv.Union(SharingUserError) class TeamMemberInfo(bb.Struct): """ Information about a team member. :ivar TeamMemberInfo.team_info: Information about the member's team. :ivar TeamMemberInfo.display_name: The display name of the user. :ivar 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", "_display_name_value", "_member_id_value", ] _has_required_fields = True def __init__(self, team_info=None, display_name=None, member_id=None): self._team_info_value = bb.NOT_SET self._display_name_value = bb.NOT_SET self._member_id_value = bb.NOT_SET 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 # Instance attribute type: users.Team (validator is set below) team_info = bb.Attribute("team_info") # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name") # Instance attribute type: str (validator is set below) member_id = bb.Attribute("member_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberInfo_validator = bv.Struct(TeamMemberInfo) class TransferFolderArg(bb.Struct): """ :ivar TransferFolderArg.shared_folder_id: The ID for the shared folder. :ivar TransferFolderArg.to_dropbox_id: A account or team member ID to transfer ownership to. """ __slots__ = [ "_shared_folder_id_value", "_to_dropbox_id_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None, to_dropbox_id=None): self._shared_folder_id_value = bb.NOT_SET self._to_dropbox_id_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: str (validator is set below) to_dropbox_id = bb.Attribute("to_dropbox_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TransferFolderArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TransferFolderError.invalid_dropbox_id: ``TransferFolderArg.to_dropbox_id`` is invalid. :ivar TransferFolderError.new_owner_not_a_member: The new designated owner is not currently a member of the shared folder. :ivar TransferFolderError.new_owner_unmounted: The new designated owner has not added the folder to their Dropbox. :ivar TransferFolderError.new_owner_email_unverified: The new designated owner's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address `here `_. :ivar TransferFolderError.team_folder: This action cannot be performed on a team shared folder. :ivar 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 ) TransferFolderError_validator = bv.Union(TransferFolderError) class UnmountFolderArg(bb.Struct): """ :ivar UnmountFolderArg.shared_folder_id: The ID for the shared folder. """ __slots__ = [ "_shared_folder_id_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None): self._shared_folder_id_value = bb.NOT_SET if shared_folder_id is not None: self.shared_folder_id = shared_folder_id # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UnmountFolderArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 UnmountFolderError.no_permission: The current user does not have permission to perform this action. :ivar 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 ) UnmountFolderError_validator = bv.Union(UnmountFolderError) class UnshareFileArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_unshare_file`. :ivar UnshareFileArg.file: The file to unshare. """ __slots__ = [ "_file_value", ] _has_required_fields = True def __init__(self, file=None): self._file_value = bb.NOT_SET if file is not None: self.file = file # Instance attribute type: str (validator is set below) file = bb.Attribute("file") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UnshareFileArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UnshareFileArg_validator = bv.Struct(UnshareFileArg) class UnshareFileError(bb.Union): """ Error result for :meth:`dropbox.dropbox_client.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 ) UnshareFileError_validator = bv.Union(UnshareFileError) class UnshareFolderArg(bb.Struct): """ :ivar UnshareFolderArg.shared_folder_id: The ID for the shared folder. :ivar 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", "_leave_a_copy_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None, leave_a_copy=None): self._shared_folder_id_value = bb.NOT_SET self._leave_a_copy_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: bool (validator is set below) leave_a_copy = bb.Attribute("leave_a_copy") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UnshareFolderArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 UnshareFolderError.team_folder: This action cannot be performed on a team shared folder. :ivar UnshareFolderError.no_permission: The current user does not have permission to perform this action. :ivar 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 ) UnshareFolderError_validator = bv.Union(UnshareFolderError) class UpdateFileMemberArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_update_file_member`. :ivar UpdateFileMemberArgs.file: File for which we are changing a member's access. :ivar UpdateFileMemberArgs.member: The member whose access we are changing. :ivar UpdateFileMemberArgs.access_level: The new access level for the member. """ __slots__ = [ "_file_value", "_member_value", "_access_level_value", ] _has_required_fields = True def __init__(self, file=None, member=None, access_level=None): self._file_value = bb.NOT_SET self._member_value = bb.NOT_SET self._access_level_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) file = bb.Attribute("file") # Instance attribute type: MemberSelector (validator is set below) member = bb.Attribute("member", user_defined=True) # Instance attribute type: AccessLevel (validator is set below) access_level = bb.Attribute("access_level", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UpdateFileMemberArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) UpdateFileMemberArgs_validator = bv.Struct(UpdateFileMemberArgs) class UpdateFilePolicyArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.sharing_update_file_policy`. :ivar UpdateFilePolicyArg.file: File that we are changing the policy for. :ivar UpdateFilePolicyArg.actions: A list of `FileAction`s corresponding to `FilePermission`s that should appear in the response's ``SharedFileMetadata.permissions`` field describing the actions the authenticated user can perform on the file. :ivar UpdateFilePolicyArg.link_settings: Field is deprecated. Settings on the link for the file. :ivar UpdateFilePolicyArg.viewer_info_policy: The presence and seen state policy on the file. """ __slots__ = [ "_file_value", "_actions_value", "_link_settings_value", "_viewer_info_policy_value", ] _has_required_fields = True def __init__(self, file=None, actions=None, link_settings=None, viewer_info_policy=None): self._file_value = bb.NOT_SET self._actions_value = bb.NOT_SET self._link_settings_value = bb.NOT_SET self._viewer_info_policy_value = bb.NOT_SET if file is not None: self.file = file if actions is not None: self.actions = actions if link_settings is not None: self.link_settings = link_settings if viewer_info_policy is not None: self.viewer_info_policy = viewer_info_policy # Instance attribute type: str (validator is set below) file = bb.Attribute("file") # Instance attribute type: list of [FileAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) # Instance attribute type: LinkSettings (validator is set below) link_settings = bb.Attribute("link_settings", nullable=True, user_defined=True) # Instance attribute type: ViewerInfoPolicy (validator is set below) viewer_info_policy = bb.Attribute("viewer_info_policy", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UpdateFilePolicyArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UpdateFilePolicyArg_validator = bv.Struct(UpdateFilePolicyArg) class UpdateFilePolicyError(bb.Union): """ Error result for :meth:`dropbox.dropbox_client.Dropbox.sharing_update_file_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 UpdateFilePolicyError.invalid_file_settings: The file settings are invalid. :ivar UpdateFilePolicyError.no_permission: The current user does not have permission to perform this action. """ _catch_all = "other" # Attribute is overwritten below the class definition invalid_file_settings = 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: UpdateFilePolicyError """ 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_file_settings(self): """ Check if the union tag is ``invalid_file_settings``. :rtype: bool """ return self._tag == "invalid_file_settings" 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(UpdateFilePolicyError, self)._process_custom_annotations( annotation_type, field_path, processor ) UpdateFilePolicyError_validator = bv.Union(UpdateFilePolicyError) class UpdateFolderMemberArg(bb.Struct): """ :ivar UpdateFolderMemberArg.shared_folder_id: The ID for the shared folder. :ivar UpdateFolderMemberArg.member: The member of the shared folder to update. Only the ``MemberSelector.dropbox_id`` may be set at this time. :ivar UpdateFolderMemberArg.access_level: The new access level for ``member``. ``AccessLevel.owner`` is disallowed. """ __slots__ = [ "_shared_folder_id_value", "_member_value", "_access_level_value", ] _has_required_fields = True def __init__(self, shared_folder_id=None, member=None, access_level=None): self._shared_folder_id_value = bb.NOT_SET self._member_value = bb.NOT_SET self._access_level_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: MemberSelector (validator is set below) member = bb.Attribute("member", user_defined=True) # Instance attribute type: AccessLevel (validator is set below) access_level = bb.Attribute("access_level", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UpdateFolderMemberArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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. :vartype UpdateFolderMemberError.no_explicit_access: AddFolderMemberError :ivar 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 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 ) UpdateFolderMemberError_validator = bv.Union(UpdateFolderMemberError) class UpdateFolderPolicyArg(bb.Struct): """ If any of the policies are unset, then they retain their current setting. :ivar UpdateFolderPolicyArg.shared_folder_id: The ID for the shared folder. :ivar UpdateFolderPolicyArg.member_policy: Who can be a member of this shared folder. Only applicable if the current user is on a team. :ivar UpdateFolderPolicyArg.acl_update_policy: Who can add and remove members of this shared folder. :ivar UpdateFolderPolicyArg.viewer_info_policy: Who can enable/disable viewer info for this shared folder. :ivar 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 UpdateFolderPolicyArg.link_settings: Settings on the link for this folder. :ivar 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", "_member_policy_value", "_acl_update_policy_value", "_viewer_info_policy_value", "_shared_link_policy_value", "_link_settings_value", "_actions_value", ] _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 = bb.NOT_SET self._member_policy_value = bb.NOT_SET self._acl_update_policy_value = bb.NOT_SET self._viewer_info_policy_value = bb.NOT_SET self._shared_link_policy_value = bb.NOT_SET self._link_settings_value = bb.NOT_SET self._actions_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_folder_id = bb.Attribute("shared_folder_id") # Instance attribute type: MemberPolicy (validator is set below) member_policy = bb.Attribute("member_policy", nullable=True, user_defined=True) # Instance attribute type: AclUpdatePolicy (validator is set below) acl_update_policy = bb.Attribute("acl_update_policy", nullable=True, user_defined=True) # Instance attribute type: ViewerInfoPolicy (validator is set below) viewer_info_policy = bb.Attribute("viewer_info_policy", nullable=True, user_defined=True) # Instance attribute type: SharedLinkPolicy (validator is set below) shared_link_policy = bb.Attribute("shared_link_policy", nullable=True, user_defined=True) # Instance attribute type: LinkSettings (validator is set below) link_settings = bb.Attribute("link_settings", nullable=True, user_defined=True) # Instance attribute type: list of [FolderAction] (validator is set below) actions = bb.Attribute("actions", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UpdateFolderPolicyArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 UpdateFolderPolicyError.not_on_team: ``UpdateFolderPolicyArg.member_policy`` was set even though user is not on a team. :ivar UpdateFolderPolicyError.team_policy_disallows_member_policy: Team policy or group sharing settings are more restrictive than ``ShareFolderArg.member_policy``. :ivar UpdateFolderPolicyError.disallowed_shared_link_policy: The current account is not allowed to select the specified ``ShareFolderArg.shared_link_policy``. :ivar UpdateFolderPolicyError.no_permission: The current user does not have permission to perform this action. :ivar 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 ) UpdateFolderPolicyError_validator = bv.Union(UpdateFolderPolicyError) class UserMembershipInfo(MembershipInfo): """ The information about a user member of the shared content. :ivar UserMembershipInfo.user: The account information for the membership user. """ __slots__ = [ "_user_value", ] _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 = bb.NOT_SET if user is not None: self.user = user # Instance attribute type: UserInfo (validator is set below) user = bb.Attribute("user", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserMembershipInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 UserFileMembershipInfo.time_last_seen: The UTC timestamp of when the user has last seen the content. Only populated if the user has seen the content and the caller has a plan that includes viewer history. :ivar UserFileMembershipInfo.platform_type: The platform on which the user has last seen the content, or unknown. """ __slots__ = [ "_time_last_seen_value", "_platform_type_value", ] _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 = bb.NOT_SET self._platform_type_value = bb.NOT_SET 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 # Instance attribute type: datetime.datetime (validator is set below) time_last_seen = bb.Attribute("time_last_seen", nullable=True) # Instance attribute type: seen_state.PlatformType (validator is set below) platform_type = bb.Attribute("platform_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserFileMembershipInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) UserFileMembershipInfo_validator = bv.Struct(UserFileMembershipInfo) class UserInfo(bb.Struct): """ Basic information about a user. Use :meth:`dropbox.dropbox_client.Dropbox.sharing_users_account` and :meth:`dropbox.dropbox_client.Dropbox.sharing_users_account_batch` to obtain more detailed information. :ivar UserInfo.account_id: The account ID of the user. :ivar UserInfo.email: Email address of user. :ivar UserInfo.display_name: The display name of the user. :ivar UserInfo.same_team: If the user is in the same team as current user. :ivar UserInfo.team_member_id: The team member ID of the shared folder member. Only present if ``same_team`` is true. """ __slots__ = [ "_account_id_value", "_email_value", "_display_name_value", "_same_team_value", "_team_member_id_value", ] _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 = bb.NOT_SET self._email_value = bb.NOT_SET self._display_name_value = bb.NOT_SET self._same_team_value = bb.NOT_SET self._team_member_id_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) account_id = bb.Attribute("account_id") # Instance attribute type: str (validator is set below) email = bb.Attribute("email") # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name") # Instance attribute type: bool (validator is set below) same_team = bb.Attribute("same_team") # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserInfo, self)._process_custom_annotations(annotation_type, field_path, processor) 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 ViewerInfoPolicy.enabled: Viewer information is available on this file. :ivar 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 ) 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 Visibility.public: Anyone who has received the link can access it. No login required. :ivar Visibility.team_only: Only members of the same team can access the link. Login is required. :ivar Visibility.password: A link-specific password is required to access the link. Login is not required. :ivar Visibility.team_and_password: Only members of the same team who have the link-specific password can access the link. :ivar 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) Visibility_validator = bv.Union(Visibility) class VisibilityPolicy(bb.Struct): """ :ivar VisibilityPolicy.policy: This is the value to submit when saving the visibility setting. :ivar VisibilityPolicy.resolved_policy: This is what the effective policy would be, if you selected this option. The resolved policy is obtained after considering external effects such as shared folder settings and team policy. This value is guaranteed to be provided. :ivar VisibilityPolicy.allowed: Whether the user is permitted to set the visibility to this policy. :ivar VisibilityPolicy.disallowed_reason: If ``allowed`` is ``False``, this will provide the reason that the user is not permitted to set the visibility to this policy. """ __slots__ = [ "_policy_value", "_resolved_policy_value", "_allowed_value", "_disallowed_reason_value", ] _has_required_fields = True def __init__(self, policy=None, resolved_policy=None, allowed=None, disallowed_reason=None): self._policy_value = bb.NOT_SET self._resolved_policy_value = bb.NOT_SET self._allowed_value = bb.NOT_SET self._disallowed_reason_value = bb.NOT_SET if policy is not None: self.policy = policy if resolved_policy is not None: self.resolved_policy = resolved_policy if allowed is not None: self.allowed = allowed if disallowed_reason is not None: self.disallowed_reason = disallowed_reason # Instance attribute type: RequestedVisibility (validator is set below) policy = bb.Attribute("policy", user_defined=True) # Instance attribute type: AlphaResolvedVisibility (validator is set below) resolved_policy = bb.Attribute("resolved_policy", user_defined=True) # Instance attribute type: bool (validator is set below) allowed = bb.Attribute("allowed") # Instance attribute type: VisibilityPolicyDisallowedReason (validator is set below) disallowed_reason = bb.Attribute("disallowed_reason", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(VisibilityPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) VisibilityPolicy_validator = bv.Struct(VisibilityPolicy) 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="((/|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._traverse_validator = bv.Void() AccessLevel._no_access_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, "traverse": AccessLevel._traverse_validator, "no_access": AccessLevel._no_access_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.traverse = AccessLevel("traverse") AccessLevel.no_access = AccessLevel("no_access") 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 = bv.Nullable(AccessLevel_validator) AddFileMemberArgs.add_message_as_comment.validator = bv.Boolean() AddFileMemberArgs.fp_sealed_result.validator = bv.Nullable(bv.String()) 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), ] AddFileMemberArgs._all_internal_field_names_ = set(["fp_sealed_result"]) AddFileMemberArgs._all_internal_fields_ = [ ("fp_sealed_result", AddFileMemberArgs.fp_sealed_result.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._banned_member_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, "banned_member": AddFileMemberError._banned_member_validator, "other": AddFileMemberError._other_validator, } AddFileMemberError.rate_limit = AddFileMemberError("rate_limit") AddFileMemberError.invalid_comment = AddFileMemberError("invalid_comment") AddFileMemberError.banned_member = AddFileMemberError("banned_member") 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.fp_sealed_result.validator = bv.Nullable(bv.String()) 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), ] AddFolderMemberArg._all_internal_field_names_ = set(["fp_sealed_result"]) AddFolderMemberArg._all_internal_fields_ = [ ("fp_sealed_result", AddFolderMemberArg.fp_sealed_result.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._invalid_shared_folder_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, "invalid_shared_folder": AddFolderMemberError._invalid_shared_folder_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.invalid_shared_folder = AddFolderMemberError("invalid_shared_folder") AddFolderMemberError.other = AddFolderMemberError("other") AddMember.member.validator = MemberSelector_validator AddMember.access_level.validator = bv.Nullable(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._invalid_group_validator = bv.Void() 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, "invalid_group": AddMemberSelectorError._invalid_group_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.invalid_group = AddMemberSelectorError("invalid_group") AddMemberSelectorError.group_deleted = AddMemberSelectorError("group_deleted") AddMemberSelectorError.group_not_on_team = AddMemberSelectorError("group_not_on_team") AddMemberSelectorError.other = AddMemberSelectorError("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._no_one_validator = bv.Void() ResolvedVisibility._only_you_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, "no_one": ResolvedVisibility._no_one_validator, "only_you": ResolvedVisibility._only_you_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.no_one = ResolvedVisibility("no_one") ResolvedVisibility.only_you = ResolvedVisibility("only_you") ResolvedVisibility.other = ResolvedVisibility("other") AlphaResolvedVisibility._tagmap = {} AlphaResolvedVisibility._tagmap.update(ResolvedVisibility._tagmap) 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), ] ChangeLinkExpirationPolicy._allowed_validator = bv.Void() ChangeLinkExpirationPolicy._not_allowed_validator = bv.Void() ChangeLinkExpirationPolicy._other_validator = bv.Void() ChangeLinkExpirationPolicy._tagmap = { "allowed": ChangeLinkExpirationPolicy._allowed_validator, "not_allowed": ChangeLinkExpirationPolicy._not_allowed_validator, "other": ChangeLinkExpirationPolicy._other_validator, } ChangeLinkExpirationPolicy.allowed = ChangeLinkExpirationPolicy("allowed") ChangeLinkExpirationPolicy.not_allowed = ChangeLinkExpirationPolicy("not_allowed") ChangeLinkExpirationPolicy.other = ChangeLinkExpirationPolicy("other") 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_ = { ("path",): PathLinkMetadata_validator, ("collection",): CollectionLinkMetadata_validator, } LinkMetadata._pytype_to_tag_and_subtype_ = { PathLinkMetadata: (("path",), PathLinkMetadata_validator), CollectionLinkMetadata: (("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._banned_member_validator = bv.Void() CreateSharedLinkWithSettingsError._too_many_shared_folders_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, "banned_member": CreateSharedLinkWithSettingsError._banned_member_validator, "too_many_shared_folders": CreateSharedLinkWithSettingsError._too_many_shared_folders_validator, } CreateSharedLinkWithSettingsError.email_not_verified = CreateSharedLinkWithSettingsError( "email_not_verified" ) CreateSharedLinkWithSettingsError.access_denied = CreateSharedLinkWithSettingsError("access_denied") CreateSharedLinkWithSettingsError.banned_member = CreateSharedLinkWithSettingsError("banned_member") CreateSharedLinkWithSettingsError.too_many_shared_folders = CreateSharedLinkWithSettingsError( "too_many_shared_folders" ) 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_ = { ("file",): FileLinkMetadata_validator, ("folder",): FolderLinkMetadata_validator, } SharedLinkMetadata._pytype_to_tag_and_subtype_ = { FileLinkMetadata: (("file",), FileLinkMetadata_validator), FolderLinkMetadata: (("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.sckey_sha1.validator = bv.Nullable(bv.String()) FileMemberActionResult.invitation_signature.validator = bv.Nullable(bv.List(bv.String())) FileMemberActionResult._all_field_names_ = set( [ "member", "result", "sckey_sha1", "invitation_signature", ] ) FileMemberActionResult._all_fields_ = [ ("member", FileMemberActionResult.member.validator), ("result", FileMemberActionResult.result.validator), ("sckey_sha1", FileMemberActionResult.sckey_sha1.validator), ("invitation_signature", FileMemberActionResult.invitation_signature.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._create_view_link_validator = bv.Void() FolderAction._create_edit_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, "create_view_link": FolderAction._create_view_link_validator, "create_edit_link": FolderAction._create_edit_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.create_view_link = FolderAction("create_view_link") FolderAction.create_edit_link = FolderAction("create_edit_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._unsupported_parameter_field_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, "unsupported_parameter_field": SharedLinkError._unsupported_parameter_field_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.unsupported_parameter_field = SharedLinkError("unsupported_parameter_field") 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") VisibilityPolicyDisallowedReason._delete_and_recreate_validator = bv.Void() VisibilityPolicyDisallowedReason._restricted_by_shared_folder_validator = bv.Void() VisibilityPolicyDisallowedReason._restricted_by_team_validator = bv.Void() VisibilityPolicyDisallowedReason._user_not_on_team_validator = bv.Void() VisibilityPolicyDisallowedReason._user_account_type_validator = bv.Void() VisibilityPolicyDisallowedReason._permission_denied_validator = bv.Void() VisibilityPolicyDisallowedReason._other_validator = bv.Void() VisibilityPolicyDisallowedReason._tagmap = { "delete_and_recreate": VisibilityPolicyDisallowedReason._delete_and_recreate_validator, "restricted_by_shared_folder": VisibilityPolicyDisallowedReason._restricted_by_shared_folder_validator, "restricted_by_team": VisibilityPolicyDisallowedReason._restricted_by_team_validator, "user_not_on_team": VisibilityPolicyDisallowedReason._user_not_on_team_validator, "user_account_type": VisibilityPolicyDisallowedReason._user_account_type_validator, "permission_denied": VisibilityPolicyDisallowedReason._permission_denied_validator, "other": VisibilityPolicyDisallowedReason._other_validator, } VisibilityPolicyDisallowedReason.delete_and_recreate = VisibilityPolicyDisallowedReason( "delete_and_recreate" ) VisibilityPolicyDisallowedReason.restricted_by_shared_folder = VisibilityPolicyDisallowedReason( "restricted_by_shared_folder" ) VisibilityPolicyDisallowedReason.restricted_by_team = VisibilityPolicyDisallowedReason( "restricted_by_team" ) VisibilityPolicyDisallowedReason.user_not_on_team = VisibilityPolicyDisallowedReason( "user_not_on_team" ) VisibilityPolicyDisallowedReason.user_account_type = VisibilityPolicyDisallowedReason( "user_account_type" ) VisibilityPolicyDisallowedReason.permission_denied = VisibilityPolicyDisallowedReason( "permission_denied" ) VisibilityPolicyDisallowedReason.other = VisibilityPolicyDisallowedReason("other") LinkAudienceDisallowedReason._tagmap = {} LinkAudienceDisallowedReason._tagmap.update(VisibilityPolicyDisallowedReason._tagmap) LinkAudienceOption.audience.validator = LinkAudience_validator LinkAudienceOption.allowed.validator = bv.Boolean() LinkAudienceOption.disallowed_reason.validator = bv.Nullable(LinkAudienceDisallowedReason_validator) LinkAudienceOption._all_field_names_ = set( [ "audience", "allowed", "disallowed_reason", ] ) LinkAudienceOption._all_fields_ = [ ("audience", LinkAudienceOption.audience.validator), ("allowed", LinkAudienceOption.allowed.validator), ("disallowed_reason", LinkAudienceOption.disallowed_reason.validator), ] 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.visibility_policies.validator = bv.List(VisibilityPolicy_validator) LinkPermissions.can_set_expiry.validator = bv.Boolean() LinkPermissions.can_remove_expiry.validator = bv.Boolean() LinkPermissions.allow_download.validator = bv.Boolean() LinkPermissions.can_allow_download.validator = bv.Boolean() LinkPermissions.can_disallow_download.validator = bv.Boolean() LinkPermissions.allow_comments.validator = bv.Boolean() LinkPermissions.team_restricts_comments.validator = bv.Boolean() LinkPermissions.audience_options.validator = bv.Nullable(bv.List(LinkAudienceOption_validator)) LinkPermissions.can_set_password.validator = bv.Nullable(bv.Boolean()) LinkPermissions.can_remove_password.validator = bv.Nullable(bv.Boolean()) LinkPermissions.require_password.validator = bv.Nullable(bv.Boolean()) LinkPermissions.can_use_extended_sharing_controls.validator = bv.Nullable(bv.Boolean()) LinkPermissions.can_sync.validator = bv.Nullable(bv.Boolean()) LinkPermissions.can_request_access.validator = bv.Nullable(bv.Boolean()) LinkPermissions.enforce_shared_link_password_policy.validator = bv.Nullable( team_policies.EnforceLinkPasswordPolicy_validator ) LinkPermissions.days_to_expire_policy.validator = bv.Nullable( team_policies.DefaultLinkExpirationDaysPolicy_validator ) LinkPermissions.change_shared_link_expiration_policy.validator = bv.Nullable( ChangeLinkExpirationPolicy_validator ) LinkPermissions._all_field_names_ = set( [ "resolved_visibility", "requested_visibility", "can_revoke", "revoke_failure_reason", "effective_audience", "link_access_level", "visibility_policies", "can_set_expiry", "can_remove_expiry", "allow_download", "can_allow_download", "can_disallow_download", "allow_comments", "team_restricts_comments", "audience_options", "can_set_password", "can_remove_password", "require_password", "can_use_extended_sharing_controls", "can_sync", "can_request_access", "enforce_shared_link_password_policy", "days_to_expire_policy", "change_shared_link_expiration_policy", ] ) 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), ("visibility_policies", LinkPermissions.visibility_policies.validator), ("can_set_expiry", LinkPermissions.can_set_expiry.validator), ("can_remove_expiry", LinkPermissions.can_remove_expiry.validator), ("allow_download", LinkPermissions.allow_download.validator), ("can_allow_download", LinkPermissions.can_allow_download.validator), ("can_disallow_download", LinkPermissions.can_disallow_download.validator), ("allow_comments", LinkPermissions.allow_comments.validator), ("team_restricts_comments", LinkPermissions.team_restricts_comments.validator), ("audience_options", LinkPermissions.audience_options.validator), ("can_set_password", LinkPermissions.can_set_password.validator), ("can_remove_password", LinkPermissions.can_remove_password.validator), ("require_password", LinkPermissions.require_password.validator), ( "can_use_extended_sharing_controls", LinkPermissions.can_use_extended_sharing_controls.validator, ), ("can_sync", LinkPermissions.can_sync.validator), ("can_request_access", LinkPermissions.can_request_access.validator), ( "enforce_shared_link_password_policy", LinkPermissions.enforce_shared_link_password_policy.validator, ), ("days_to_expire_policy", LinkPermissions.days_to_expire_policy.validator), ( "change_shared_link_expiration_policy", LinkPermissions.change_shared_link_expiration_policy.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=3000) 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.path.validator = bv.Nullable(bv.String()) ListFolderMembersArgs._all_field_names_ = ListFolderMembersCursorArg._all_field_names_.union( set( [ "shared_folder_id", "path", ] ) ) ListFolderMembersArgs._all_fields_ = ListFolderMembersCursorArg._all_fields_ + [ ("shared_folder_id", ListFolderMembersArgs.shared_folder_id.validator), ("path", ListFolderMembersArgs.path.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._team_and_approved_validator = bv.Void() MemberPolicy._other_validator = bv.Void() MemberPolicy._tagmap = { "team": MemberPolicy._team_validator, "anyone": MemberPolicy._anyone_validator, "team_and_approved": MemberPolicy._team_and_approved_validator, "other": MemberPolicy._other_validator, } MemberPolicy.team = MemberPolicy("team") MemberPolicy.anyone = MemberPolicy("anyone") MemberPolicy.team_and_approved = MemberPolicy("team_and_approved") 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._must_automount_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, "must_automount": MountFolderError._must_automount_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.must_automount = MountFolderError("must_automount") 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") RelinquishAccessArg.file_id.validator = bv.String() RelinquishAccessArg._all_field_names_ = set(["file_id"]) RelinquishAccessArg._all_fields_ = [("file_id", RelinquishAccessArg.file_id.validator)] RelinquishAccessError._invalid_file_id_validator = bv.Void() RelinquishAccessError._email_unverified_validator = bv.Void() RelinquishAccessError._owner_validator = bv.Void() RelinquishAccessError._no_explicit_access_validator = bv.Void() RelinquishAccessError._team_folder_validator = bv.Void() RelinquishAccessError._no_permission_validator = bv.Void() RelinquishAccessError._other_validator = bv.Void() RelinquishAccessError._tagmap = { "invalid_file_id": RelinquishAccessError._invalid_file_id_validator, "email_unverified": RelinquishAccessError._email_unverified_validator, "owner": RelinquishAccessError._owner_validator, "no_explicit_access": RelinquishAccessError._no_explicit_access_validator, "team_folder": RelinquishAccessError._team_folder_validator, "no_permission": RelinquishAccessError._no_permission_validator, "other": RelinquishAccessError._other_validator, } RelinquishAccessError.invalid_file_id = RelinquishAccessError("invalid_file_id") RelinquishAccessError.email_unverified = RelinquishAccessError("email_unverified") RelinquishAccessError.owner = RelinquishAccessError("owner") RelinquishAccessError.no_explicit_access = RelinquishAccessError("no_explicit_access") RelinquishAccessError.team_folder = RelinquishAccessError("team_folder") RelinquishAccessError.no_permission = RelinquishAccessError("no_permission") RelinquishAccessError.other = RelinquishAccessError("other") RelinquishAccessResult._all_field_names_ = set([]) RelinquishAccessResult._all_fields_ = [] 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._default_validator = bv.Void() RequestedLinkAccessLevel._other_validator = bv.Void() RequestedLinkAccessLevel._tagmap = { "viewer": RequestedLinkAccessLevel._viewer_validator, "editor": RequestedLinkAccessLevel._editor_validator, "max": RequestedLinkAccessLevel._max_validator, "default": RequestedLinkAccessLevel._default_validator, "other": RequestedLinkAccessLevel._other_validator, } RequestedLinkAccessLevel.viewer = RequestedLinkAccessLevel("viewer") RequestedLinkAccessLevel.editor = RequestedLinkAccessLevel("editor") RequestedLinkAccessLevel.max = RequestedLinkAccessLevel("max") RequestedLinkAccessLevel.default = RequestedLinkAccessLevel("default") RequestedLinkAccessLevel.other = RequestedLinkAccessLevel("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.WritePathOrId_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") ShareFolderErrorBaseV2._email_unverified_validator = bv.Void() ShareFolderErrorBaseV2._team_policy_disallows_member_policy_validator = bv.Void() ShareFolderErrorBaseV2._disallowed_shared_link_policy_validator = bv.Void() ShareFolderErrorBaseV2._other_validator = bv.Void() ShareFolderErrorBaseV2._tagmap = { "email_unverified": ShareFolderErrorBaseV2._email_unverified_validator, "team_policy_disallows_member_policy": ShareFolderErrorBaseV2._team_policy_disallows_member_policy_validator, "disallowed_shared_link_policy": ShareFolderErrorBaseV2._disallowed_shared_link_policy_validator, "other": ShareFolderErrorBaseV2._other_validator, } ShareFolderErrorBaseV2.email_unverified = ShareFolderErrorBaseV2("email_unverified") ShareFolderErrorBaseV2.team_policy_disallows_member_policy = ShareFolderErrorBaseV2( "team_policy_disallows_member_policy" ) ShareFolderErrorBaseV2.disallowed_shared_link_policy = ShareFolderErrorBaseV2( "disallowed_shared_link_policy" ) ShareFolderErrorBaseV2.other = ShareFolderErrorBaseV2("other") ShareFolderErrorV2._no_permission_validator = bv.Void() ShareFolderErrorV2._tagmap = { "no_permission": ShareFolderErrorV2._no_permission_validator, } ShareFolderErrorV2._tagmap.update(ShareFolderErrorBaseV2._tagmap) ShareFolderErrorV2.no_permission = ShareFolderErrorV2("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._is_vault_validator = bv.Void() SharePathError._is_vault_locked_validator = bv.Void() SharePathError._is_family_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, "is_vault": SharePathError._is_vault_validator, "is_vault_locked": SharePathError._is_vault_locked_validator, "is_family": SharePathError._is_family_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.is_vault = SharePathError("is_vault") SharePathError.is_vault_locked = SharePathError("is_vault_locked") SharePathError.is_family = SharePathError("is_family") SharePathError.other = SharePathError("other") SharePathErrorBaseV2._is_file_validator = bv.Void() SharePathErrorBaseV2._inside_shared_folder_validator = bv.Void() SharePathErrorBaseV2._contains_shared_folder_validator = bv.Void() SharePathErrorBaseV2._contains_team_folder_validator = bv.Void() SharePathErrorBaseV2._is_app_folder_validator = bv.Void() SharePathErrorBaseV2._inside_app_folder_validator = bv.Void() SharePathErrorBaseV2._is_public_folder_validator = bv.Void() SharePathErrorBaseV2._inside_public_folder_validator = bv.Void() SharePathErrorBaseV2._already_shared_validator = SharedFolderMetadata_validator SharePathErrorBaseV2._invalid_path_validator = bv.Void() SharePathErrorBaseV2._is_osx_package_validator = bv.Void() SharePathErrorBaseV2._inside_osx_package_validator = bv.Void() SharePathErrorBaseV2._is_vault_validator = bv.Void() SharePathErrorBaseV2._is_vault_locked_validator = bv.Void() SharePathErrorBaseV2._other_validator = bv.Void() SharePathErrorBaseV2._tagmap = { "is_file": SharePathErrorBaseV2._is_file_validator, "inside_shared_folder": SharePathErrorBaseV2._inside_shared_folder_validator, "contains_shared_folder": SharePathErrorBaseV2._contains_shared_folder_validator, "contains_team_folder": SharePathErrorBaseV2._contains_team_folder_validator, "is_app_folder": SharePathErrorBaseV2._is_app_folder_validator, "inside_app_folder": SharePathErrorBaseV2._inside_app_folder_validator, "is_public_folder": SharePathErrorBaseV2._is_public_folder_validator, "inside_public_folder": SharePathErrorBaseV2._inside_public_folder_validator, "already_shared": SharePathErrorBaseV2._already_shared_validator, "invalid_path": SharePathErrorBaseV2._invalid_path_validator, "is_osx_package": SharePathErrorBaseV2._is_osx_package_validator, "inside_osx_package": SharePathErrorBaseV2._inside_osx_package_validator, "is_vault": SharePathErrorBaseV2._is_vault_validator, "is_vault_locked": SharePathErrorBaseV2._is_vault_locked_validator, "other": SharePathErrorBaseV2._other_validator, } SharePathErrorBaseV2.is_file = SharePathErrorBaseV2("is_file") SharePathErrorBaseV2.inside_shared_folder = SharePathErrorBaseV2("inside_shared_folder") SharePathErrorBaseV2.contains_shared_folder = SharePathErrorBaseV2("contains_shared_folder") SharePathErrorBaseV2.contains_team_folder = SharePathErrorBaseV2("contains_team_folder") SharePathErrorBaseV2.is_app_folder = SharePathErrorBaseV2("is_app_folder") SharePathErrorBaseV2.inside_app_folder = SharePathErrorBaseV2("inside_app_folder") SharePathErrorBaseV2.is_public_folder = SharePathErrorBaseV2("is_public_folder") SharePathErrorBaseV2.inside_public_folder = SharePathErrorBaseV2("inside_public_folder") SharePathErrorBaseV2.invalid_path = SharePathErrorBaseV2("invalid_path") SharePathErrorBaseV2.is_osx_package = SharePathErrorBaseV2("is_osx_package") SharePathErrorBaseV2.inside_osx_package = SharePathErrorBaseV2("inside_osx_package") SharePathErrorBaseV2.is_vault = SharePathErrorBaseV2("is_vault") SharePathErrorBaseV2.is_vault_locked = SharePathErrorBaseV2("is_vault_locked") SharePathErrorBaseV2.other = SharePathErrorBaseV2("other") SharePathErrorV2._is_family_validator = bv.Void() SharePathErrorV2._contains_app_folder_validator = bv.Void() SharePathErrorV2._tagmap = { "is_family": SharePathErrorV2._is_family_validator, "contains_app_folder": SharePathErrorV2._contains_app_folder_validator, } SharePathErrorV2._tagmap.update(SharePathErrorBaseV2._tagmap) SharePathErrorV2.is_family = SharePathErrorV2("is_family") SharePathErrorV2.contains_app_folder = SharePathErrorV2("contains_app_folder") 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._invalid_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, "invalid_member": SharedFolderAccessError._invalid_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.invalid_member = SharedFolderAccessError("invalid_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_display.validator = bv.Nullable(bv.String()) SharedFolderMetadataBase.path_lower.validator = bv.Nullable(bv.String()) SharedFolderMetadataBase.parent_folder_name.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_display", "path_lower", "parent_folder_name", ] ) 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_display", SharedFolderMetadataBase.path_display.validator), ("path_lower", SharedFolderMetadataBase.path_lower.validator), ("parent_folder_name", SharedFolderMetadataBase.parent_folder_name.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.folder_id.validator = bv.Nullable(files.FileId_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", "folder_id", ] ) ) 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), ("folder_id", SharedFolderMetadata.folder_id.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") SharedLinkMetadataError._tagmap = {} SharedLinkMetadataError._tagmap.update(SharedLinkError._tagmap) 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.require_password.validator = bv.Nullable(bv.Boolean()) 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.requested_visibility.validator = bv.Nullable(RequestedVisibility_validator) SharedLinkSettings.allow_download.validator = bv.Nullable(bv.Boolean()) SharedLinkSettings._all_field_names_ = set( [ "require_password", "link_password", "expires", "audience", "access", "requested_visibility", "allow_download", ] ) SharedLinkSettings._all_fields_ = [ ("require_password", SharedLinkSettings.require_password.validator), ("link_password", SharedLinkSettings.link_password.validator), ("expires", SharedLinkSettings.expires.validator), ("audience", SharedLinkSettings.audience.validator), ("access", SharedLinkSettings.access.validator), ("requested_visibility", SharedLinkSettings.requested_visibility.validator), ("allow_download", SharedLinkSettings.allow_download.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.file.validator = PathOrId_validator UpdateFileMemberArgs.member.validator = MemberSelector_validator UpdateFileMemberArgs.access_level.validator = AccessLevel_validator UpdateFileMemberArgs._all_field_names_ = set( [ "file", "member", "access_level", ] ) UpdateFileMemberArgs._all_fields_ = [ ("file", UpdateFileMemberArgs.file.validator), ("member", UpdateFileMemberArgs.member.validator), ("access_level", UpdateFileMemberArgs.access_level.validator), ] UpdateFilePolicyArg.file.validator = PathOrId_validator UpdateFilePolicyArg.actions.validator = bv.Nullable(bv.List(FileAction_validator)) UpdateFilePolicyArg.link_settings.validator = bv.Nullable(LinkSettings_validator) UpdateFilePolicyArg.viewer_info_policy.validator = bv.Nullable(ViewerInfoPolicy_validator) UpdateFilePolicyArg._all_field_names_ = set( [ "file", "actions", "link_settings", "viewer_info_policy", ] ) UpdateFilePolicyArg._all_fields_ = [ ("file", UpdateFilePolicyArg.file.validator), ("actions", UpdateFilePolicyArg.actions.validator), ("link_settings", UpdateFilePolicyArg.link_settings.validator), ("viewer_info_policy", UpdateFilePolicyArg.viewer_info_policy.validator), ] UpdateFilePolicyError._access_error_validator = SharingFileAccessError_validator UpdateFilePolicyError._invalid_file_settings_validator = bv.Void() UpdateFilePolicyError._no_permission_validator = bv.Void() UpdateFilePolicyError._other_validator = bv.Void() UpdateFilePolicyError._tagmap = { "access_error": UpdateFilePolicyError._access_error_validator, "invalid_file_settings": UpdateFilePolicyError._invalid_file_settings_validator, "no_permission": UpdateFilePolicyError._no_permission_validator, "other": UpdateFilePolicyError._other_validator, } UpdateFilePolicyError.invalid_file_settings = UpdateFilePolicyError("invalid_file_settings") UpdateFilePolicyError.no_permission = UpdateFilePolicyError("no_permission") UpdateFilePolicyError.other = UpdateFilePolicyError("other") 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") VisibilityPolicy.policy.validator = RequestedVisibility_validator VisibilityPolicy.resolved_policy.validator = AlphaResolvedVisibility_validator VisibilityPolicy.allowed.validator = bv.Boolean() VisibilityPolicy.disallowed_reason.validator = bv.Nullable( VisibilityPolicyDisallowedReason_validator ) VisibilityPolicy._all_field_names_ = set( [ "policy", "resolved_policy", "allowed", "disallowed_reason", ] ) VisibilityPolicy._all_fields_ = [ ("policy", VisibilityPolicy.policy.validator), ("resolved_policy", VisibilityPolicy.resolved_policy.validator), ("allowed", VisibilityPolicy.allowed.validator), ("disallowed_reason", VisibilityPolicy.disallowed_reason.validator), ] AddFileMemberArgs.quiet.default = False AddFileMemberArgs.add_message_as_comment.default = False AddFolderMemberArg.quiet.default = False CreateSharedLinkArg.short_url.default = False MembershipInfo.is_inherited.default = False ListFileMembersArg.include_inherited.default = True ListFileMembersArg.limit.default = 100 ListFileMembersBatchArg.limit.default = 1000 ListFilesArg.limit.default = 100 ListFolderMembersCursorArg.limit.default = 1000 ListFoldersArgs.limit.default = 1000 ModifySharedLinkSettingsArgs.remove_expiration.default = False RelinquishFolderMembershipArg.leave_a_copy.default = False SetAccessInheritanceArg.access_inheritance.default = AccessInheritance.inherit ShareFolderArgBase.force_async.default = False ShareFolderArgBase.access_inheritance.default = AccessInheritance.inherit SharedFolderMetadata.access_inheritance.default = AccessInheritance.inherit UnshareFolderArg.leave_a_copy.default = False add_file_member = bb.Route( "add_file_member", 1, False, AddFileMemberArgs_validator, bv.List(FileMemberActionResult_validator), AddFileMemberError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) add_folder_member = bb.Route( "add_folder_member", 1, False, AddFolderMemberArg_validator, bv.Void(), AddFolderMemberError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) check_job_status = bb.Route( "check_job_status", 1, False, async_.PollArg_validator, JobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) check_remove_member_job_status = bb.Route( "check_remove_member_job_status", 1, False, async_.PollArg_validator, RemoveMemberJobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) check_share_job_status = bb.Route( "check_share_job_status", 1, False, async_.PollArg_validator, ShareFolderJobStatus_validator, async_.PollError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) create_shared_link = bb.Route( "create_shared_link", 1, True, CreateSharedLinkArg_validator, PathLinkMetadata_validator, CreateSharedLinkError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) create_shared_link_with_settings = bb.Route( "create_shared_link_with_settings", 1, False, CreateSharedLinkWithSettingsArg_validator, SharedLinkMetadata_validator, CreateSharedLinkWithSettingsError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_file_metadata = bb.Route( "get_file_metadata", 1, False, GetFileMetadataArg_validator, SharedFileMetadata_validator, GetFileMetadataError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_file_metadata_batch = bb.Route( "get_file_metadata/batch", 1, False, GetFileMetadataBatchArg_validator, bv.List(GetFileMetadataBatchResult_validator), SharingUserError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_folder_metadata = bb.Route( "get_folder_metadata", 1, False, GetMetadataArgs_validator, SharedFolderMetadata_validator, SharedFolderAccessError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_shared_link_file = bb.Route( "get_shared_link_file", 1, False, GetSharedLinkFileArg_validator, SharedLinkMetadata_validator, GetSharedLinkFileError_validator, {"auth": "app, user", "host": "content", "style": "download"}, ) get_shared_link_metadata = bb.Route( "get_shared_link_metadata", 1, False, GetSharedLinkMetadataArg_validator, SharedLinkMetadata_validator, SharedLinkMetadataError_validator, {"auth": "app, user", "host": "api", "style": "rpc"}, ) get_shared_links = bb.Route( "get_shared_links", 1, True, GetSharedLinksArg_validator, GetSharedLinksResult_validator, GetSharedLinksError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_file_members = bb.Route( "list_file_members", 1, False, ListFileMembersArg_validator, SharedFileMembers_validator, ListFileMembersError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_file_members_batch = bb.Route( "list_file_members/batch", 1, False, ListFileMembersBatchArg_validator, bv.List(ListFileMembersBatchResult_validator), SharingUserError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_file_members_continue = bb.Route( "list_file_members/continue", 1, False, ListFileMembersContinueArg_validator, SharedFileMembers_validator, ListFileMembersContinueError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_folder_members = bb.Route( "list_folder_members", 1, False, ListFolderMembersArgs_validator, SharedFolderMembers_validator, SharedFolderAccessError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_folder_members_continue = bb.Route( "list_folder_members/continue", 1, False, ListFolderMembersContinueArg_validator, SharedFolderMembers_validator, ListFolderMembersContinueError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_folders = bb.Route( "list_folders", 1, False, ListFoldersArgs_validator, ListFoldersResult_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) list_folders_continue = bb.Route( "list_folders/continue", 1, False, ListFoldersContinueArg_validator, ListFoldersResult_validator, ListFoldersContinueError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_mountable_folders = bb.Route( "list_mountable_folders", 1, False, ListFoldersArgs_validator, ListFoldersResult_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) list_mountable_folders_continue = bb.Route( "list_mountable_folders/continue", 1, False, ListFoldersContinueArg_validator, ListFoldersResult_validator, ListFoldersContinueError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_received_files = bb.Route( "list_received_files", 1, False, ListFilesArg_validator, ListFilesResult_validator, SharingUserError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_received_files_continue = bb.Route( "list_received_files/continue", 1, False, ListFilesContinueArg_validator, ListFilesResult_validator, ListFilesContinueError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) list_shared_links = bb.Route( "list_shared_links", 1, False, ListSharedLinksArg_validator, ListSharedLinksResult_validator, ListSharedLinksError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) modify_shared_link_settings = bb.Route( "modify_shared_link_settings", 1, False, ModifySharedLinkSettingsArgs_validator, SharedLinkMetadata_validator, ModifySharedLinkSettingsError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) mount_folder = bb.Route( "mount_folder", 1, False, MountFolderArg_validator, SharedFolderMetadata_validator, MountFolderError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) relinquish_access = bb.Route( "relinquish_access", 1, False, RelinquishAccessArg_validator, RelinquishAccessResult_validator, RelinquishAccessError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) relinquish_file_membership = bb.Route( "relinquish_file_membership", 1, False, RelinquishFileMembershipArg_validator, bv.Void(), RelinquishFileMembershipError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) relinquish_folder_membership = bb.Route( "relinquish_folder_membership", 1, False, RelinquishFolderMembershipArg_validator, async_.LaunchEmptyResult_validator, RelinquishFolderMembershipError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) remove_file_member = bb.Route( "remove_file_member", 1, True, RemoveFileMemberArg_validator, FileMemberActionIndividualResult_validator, RemoveFileMemberError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) remove_file_member_2 = bb.Route( "remove_file_member_2", 1, False, RemoveFileMemberArg_validator, FileMemberRemoveActionResult_validator, RemoveFileMemberError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) remove_folder_member = bb.Route( "remove_folder_member", 1, False, RemoveFolderMemberArg_validator, async_.LaunchResultBase_validator, RemoveFolderMemberError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) revoke_shared_link = bb.Route( "revoke_shared_link", 1, False, RevokeSharedLinkArg_validator, bv.Void(), RevokeSharedLinkError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) set_access_inheritance = bb.Route( "set_access_inheritance", 1, False, SetAccessInheritanceArg_validator, ShareFolderLaunch_validator, SetAccessInheritanceError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) share_folder = bb.Route( "share_folder", 1, False, ShareFolderArg_validator, ShareFolderLaunch_validator, ShareFolderError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) transfer_folder = bb.Route( "transfer_folder", 1, False, TransferFolderArg_validator, bv.Void(), TransferFolderError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) unmount_folder = bb.Route( "unmount_folder", 1, False, UnmountFolderArg_validator, bv.Void(), UnmountFolderError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) unshare_file = bb.Route( "unshare_file", 1, False, UnshareFileArg_validator, bv.Void(), UnshareFileError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) unshare_folder = bb.Route( "unshare_folder", 1, False, UnshareFolderArg_validator, async_.LaunchEmptyResult_validator, UnshareFolderError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) update_file_member = bb.Route( "update_file_member", 1, False, UpdateFileMemberArgs_validator, MemberAccessLevelResult_validator, FileMemberActionError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) update_file_policy = bb.Route( "update_file_policy", 1, False, UpdateFilePolicyArg_validator, SharedFileMetadata_validator, UpdateFilePolicyError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) update_folder_member = bb.Route( "update_folder_member", 1, False, UpdateFolderMemberArg_validator, MemberAccessLevelResult_validator, UpdateFolderMemberError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) update_folder_policy = bb.Route( "update_folder_policy", 1, False, UpdateFolderPolicyArg_validator, SharedFolderMetadata_validator, UpdateFolderPolicyError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) ROUTES = { "add_file_member": add_file_member, "add_folder_member": add_folder_member, "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_access": relinquish_access, "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_file_policy": update_file_policy, "update_folder_member": update_folder_member, "update_folder_policy": update_folder_policy, } dropbox-dropbox-sdk-python-6064f79/dropbox/stone_base.py000066400000000000000000000001021522735175000234000ustar00rootroot00000000000000from stone.backends.python_rsrc.stone_base import * # noqa: F403 dropbox-dropbox-sdk-python-6064f79/dropbox/stone_serializers.py000066400000000000000000000001111522735175000250220ustar00rootroot00000000000000from stone.backends.python_rsrc.stone_serializers import * # noqa: F403 dropbox-dropbox-sdk-python-6064f79/dropbox/stone_validators.py000066400000000000000000000001101522735175000246350ustar00rootroot00000000000000from stone.backends.python_rsrc.stone_validators import * # noqa: F403 dropbox-dropbox-sdk-python-6064f79/dropbox/team.py000066400000000000000000024377001522735175000222300ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import account from dropbox import async_ from dropbox import common from dropbox import file_properties from dropbox import files from dropbox import secondary_emails from dropbox import team_common from dropbox import team_policies from dropbox import users from dropbox import users_common class DeviceSession(bb.Struct): """ :ivar DeviceSession.session_id: The session id. :ivar DeviceSession.ip_address: The IP address of the last activity from this session. :ivar DeviceSession.country: The country from which the last activity from this session was made. :ivar DeviceSession.created: The time this session was created. :ivar DeviceSession.updated: The time of the last activity from this session. """ __slots__ = [ "_session_id_value", "_ip_address_value", "_country_value", "_created_value", "_updated_value", ] _has_required_fields = True def __init__(self, session_id=None, ip_address=None, country=None, created=None, updated=None): self._session_id_value = bb.NOT_SET self._ip_address_value = bb.NOT_SET self._country_value = bb.NOT_SET self._created_value = bb.NOT_SET self._updated_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) session_id = bb.Attribute("session_id") # Instance attribute type: str (validator is set below) ip_address = bb.Attribute("ip_address", nullable=True) # Instance attribute type: str (validator is set below) country = bb.Attribute("country", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) created = bb.Attribute("created", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) updated = bb.Attribute("updated", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceSession, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceSession_validator = bv.Struct(DeviceSession) class ActiveWebSession(DeviceSession): """ Information on active web sessions. :ivar ActiveWebSession.user_agent: Information on the hosting device. :ivar ActiveWebSession.os: Information on the hosting operating system. :ivar ActiveWebSession.browser: Information on the browser used for this web session. :ivar ActiveWebSession.expires: The time this session expires. """ __slots__ = [ "_user_agent_value", "_os_value", "_browser_value", "_expires_value", ] _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 = bb.NOT_SET self._os_value = bb.NOT_SET self._browser_value = bb.NOT_SET self._expires_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) user_agent = bb.Attribute("user_agent") # Instance attribute type: str (validator is set below) os = bb.Attribute("os") # Instance attribute type: str (validator is set below) browser = bb.Attribute("browser") # Instance attribute type: datetime.datetime (validator is set below) expires = bb.Attribute("expires", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ActiveWebSession, self)._process_custom_annotations( annotation_type, field_path, processor ) ActiveWebSession_validator = bv.Struct(ActiveWebSession) class AddSecondaryEmailResult(bb.Union): """ Result of trying to add a secondary email to a user. 'success' is the only value indicating that a secondary email was successfully added to a user. The other values explain the type of error that occurred, and include the email for which the error occurred. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar AddSecondaryEmailResult.success: Describes a secondary email that was successfully added to a user. :vartype AddSecondaryEmailResult.success: secondary_emails.SecondaryEmail :ivar AddSecondaryEmailResult.unavailable: Secondary email is not available to be claimed by the user. :vartype AddSecondaryEmailResult.unavailable: str :ivar AddSecondaryEmailResult.already_pending: Secondary email is already a pending email for the user. :vartype AddSecondaryEmailResult.already_pending: str :ivar AddSecondaryEmailResult.already_owned_by_user: Secondary email is already a verified email for the user. :vartype AddSecondaryEmailResult.already_owned_by_user: str :ivar AddSecondaryEmailResult.reached_limit: User already has the maximum number of secondary emails allowed. :vartype AddSecondaryEmailResult.reached_limit: str :ivar AddSecondaryEmailResult.transient_error: Field is deprecated. A transient error occurred. Please try again later. :vartype AddSecondaryEmailResult.transient_error: str :ivar AddSecondaryEmailResult.too_many_updates: An error occurred due to conflicting updates. Please try again later. :vartype AddSecondaryEmailResult.too_many_updates: str :ivar AddSecondaryEmailResult.unknown_error: An unknown error occurred. :vartype AddSecondaryEmailResult.unknown_error: str :ivar AddSecondaryEmailResult.rate_limited: Too many emails are being sent to this email address. Please try again later. :vartype AddSecondaryEmailResult.rate_limited: str """ _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 secondary_emails.SecondaryEmail val: :rtype: AddSecondaryEmailResult """ return cls("success", val) @classmethod def unavailable(cls, val): """ Create an instance of this class set to the ``unavailable`` tag with value ``val``. :param str val: :rtype: AddSecondaryEmailResult """ return cls("unavailable", val) @classmethod def already_pending(cls, val): """ Create an instance of this class set to the ``already_pending`` tag with value ``val``. :param str val: :rtype: AddSecondaryEmailResult """ return cls("already_pending", val) @classmethod def already_owned_by_user(cls, val): """ Create an instance of this class set to the ``already_owned_by_user`` tag with value ``val``. :param str val: :rtype: AddSecondaryEmailResult """ return cls("already_owned_by_user", val) @classmethod def reached_limit(cls, val): """ Create an instance of this class set to the ``reached_limit`` tag with value ``val``. :param str val: :rtype: AddSecondaryEmailResult """ return cls("reached_limit", val) @classmethod def transient_error(cls, val): """ Create an instance of this class set to the ``transient_error`` tag with value ``val``. :param str val: :rtype: AddSecondaryEmailResult """ return cls("transient_error", val) @classmethod def too_many_updates(cls, val): """ Create an instance of this class set to the ``too_many_updates`` tag with value ``val``. :param str val: :rtype: AddSecondaryEmailResult """ return cls("too_many_updates", val) @classmethod def unknown_error(cls, val): """ Create an instance of this class set to the ``unknown_error`` tag with value ``val``. :param str val: :rtype: AddSecondaryEmailResult """ return cls("unknown_error", val) @classmethod def rate_limited(cls, val): """ Create an instance of this class set to the ``rate_limited`` tag with value ``val``. :param str val: :rtype: AddSecondaryEmailResult """ return cls("rate_limited", val) def is_success(self): """ Check if the union tag is ``success``. :rtype: bool """ return self._tag == "success" def is_unavailable(self): """ Check if the union tag is ``unavailable``. :rtype: bool """ return self._tag == "unavailable" def is_already_pending(self): """ Check if the union tag is ``already_pending``. :rtype: bool """ return self._tag == "already_pending" def is_already_owned_by_user(self): """ Check if the union tag is ``already_owned_by_user``. :rtype: bool """ return self._tag == "already_owned_by_user" def is_reached_limit(self): """ Check if the union tag is ``reached_limit``. :rtype: bool """ return self._tag == "reached_limit" def is_transient_error(self): """ Check if the union tag is ``transient_error``. :rtype: bool """ return self._tag == "transient_error" def is_too_many_updates(self): """ Check if the union tag is ``too_many_updates``. :rtype: bool """ return self._tag == "too_many_updates" def is_unknown_error(self): """ Check if the union tag is ``unknown_error``. :rtype: bool """ return self._tag == "unknown_error" def is_rate_limited(self): """ Check if the union tag is ``rate_limited``. :rtype: bool """ return self._tag == "rate_limited" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_success(self): """ Describes a secondary email that was successfully added to a user. Only call this if :meth:`is_success` is true. :rtype: secondary_emails.SecondaryEmail """ if not self.is_success(): raise AttributeError("tag 'success' not set") return self._value def get_unavailable(self): """ Secondary email is not available to be claimed by the user. Only call this if :meth:`is_unavailable` is true. :rtype: str """ if not self.is_unavailable(): raise AttributeError("tag 'unavailable' not set") return self._value def get_already_pending(self): """ Secondary email is already a pending email for the user. Only call this if :meth:`is_already_pending` is true. :rtype: str """ if not self.is_already_pending(): raise AttributeError("tag 'already_pending' not set") return self._value def get_already_owned_by_user(self): """ Secondary email is already a verified email for the user. Only call this if :meth:`is_already_owned_by_user` is true. :rtype: str """ if not self.is_already_owned_by_user(): raise AttributeError("tag 'already_owned_by_user' not set") return self._value def get_reached_limit(self): """ User already has the maximum number of secondary emails allowed. Only call this if :meth:`is_reached_limit` is true. :rtype: str """ if not self.is_reached_limit(): raise AttributeError("tag 'reached_limit' not set") return self._value def get_transient_error(self): """ Field is deprecated. A transient error occurred. Please try again later. Only call this if :meth:`is_transient_error` is true. :rtype: str """ if not self.is_transient_error(): raise AttributeError("tag 'transient_error' not set") return self._value def get_too_many_updates(self): """ An error occurred due to conflicting updates. Please try again later. Only call this if :meth:`is_too_many_updates` is true. :rtype: str """ if not self.is_too_many_updates(): raise AttributeError("tag 'too_many_updates' not set") return self._value def get_unknown_error(self): """ An unknown error occurred. Only call this if :meth:`is_unknown_error` is true. :rtype: str """ if not self.is_unknown_error(): raise AttributeError("tag 'unknown_error' not set") return self._value def get_rate_limited(self): """ Too many emails are being sent to this email address. Please try again later. Only call this if :meth:`is_rate_limited` is true. :rtype: str """ if not self.is_rate_limited(): raise AttributeError("tag 'rate_limited' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddSecondaryEmailResult, self)._process_custom_annotations( annotation_type, field_path, processor ) AddSecondaryEmailResult_validator = bv.Union(AddSecondaryEmailResult) class AddSecondaryEmailsArg(bb.Struct): """ :ivar AddSecondaryEmailsArg.new_secondary_emails: List of users and secondary emails to add. """ __slots__ = [ "_new_secondary_emails_value", ] _has_required_fields = True def __init__(self, new_secondary_emails=None): self._new_secondary_emails_value = bb.NOT_SET if new_secondary_emails is not None: self.new_secondary_emails = new_secondary_emails # Instance attribute type: list of [UserSecondaryEmailsArg] (validator is set below) new_secondary_emails = bb.Attribute("new_secondary_emails") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddSecondaryEmailsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) AddSecondaryEmailsArg_validator = bv.Struct(AddSecondaryEmailsArg) class AddSecondaryEmailsError(bb.Union): """ Error returned when adding secondary emails fails. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar AddSecondaryEmailsError.secondary_emails_disabled: Secondary emails are disabled for the team. :ivar AddSecondaryEmailsError.too_many_emails: A maximum of 20 secondary emails can be added in a single call. """ _catch_all = "other" # Attribute is overwritten below the class definition secondary_emails_disabled = None # Attribute is overwritten below the class definition too_many_emails = None # Attribute is overwritten below the class definition other = None def is_secondary_emails_disabled(self): """ Check if the union tag is ``secondary_emails_disabled``. :rtype: bool """ return self._tag == "secondary_emails_disabled" def is_too_many_emails(self): """ Check if the union tag is ``too_many_emails``. :rtype: bool """ return self._tag == "too_many_emails" 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(AddSecondaryEmailsError, self)._process_custom_annotations( annotation_type, field_path, processor ) AddSecondaryEmailsError_validator = bv.Union(AddSecondaryEmailsError) class AddSecondaryEmailsResult(bb.Struct): """ :ivar AddSecondaryEmailsResult.results: List of users and secondary email results. """ __slots__ = [ "_results_value", ] _has_required_fields = True def __init__(self, results=None): self._results_value = bb.NOT_SET if results is not None: self.results = results # Instance attribute type: list of [UserAddResult] (validator is set below) results = bb.Attribute("results") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddSecondaryEmailsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) AddSecondaryEmailsResult_validator = bv.Struct(AddSecondaryEmailsResult) 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 AdminTier.team_admin: User is an administrator of the team - has all permissions. :ivar AdminTier.user_management_admin: User can do most user provisioning, de-provisioning and management. :ivar AdminTier.support_admin: User can do a limited set of common support tasks for existing users. Note: Dropbox is adding new types of admin roles; these may display as support_admin. :ivar 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) AdminTier_validator = bv.Union(AdminTier) class ApiApp(bb.Struct): """ Information on linked third party applications. :ivar ApiApp.app_id: The application unique id. :ivar ApiApp.app_name: The application name. :ivar ApiApp.publisher: The application publisher name. :ivar ApiApp.publisher_url: The publisher's URL. :ivar ApiApp.linked: The time this application was linked. :ivar ApiApp.is_app_folder: Whether the linked application uses a dedicated folder. """ __slots__ = [ "_app_id_value", "_app_name_value", "_publisher_value", "_publisher_url_value", "_linked_value", "_is_app_folder_value", ] _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 = bb.NOT_SET self._app_name_value = bb.NOT_SET self._publisher_value = bb.NOT_SET self._publisher_url_value = bb.NOT_SET self._linked_value = bb.NOT_SET self._is_app_folder_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) app_id = bb.Attribute("app_id") # Instance attribute type: str (validator is set below) app_name = bb.Attribute("app_name") # Instance attribute type: str (validator is set below) publisher = bb.Attribute("publisher", nullable=True) # Instance attribute type: str (validator is set below) publisher_url = bb.Attribute("publisher_url", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) linked = bb.Attribute("linked", nullable=True) # Instance attribute type: bool (validator is set below) is_app_folder = bb.Attribute("is_app_folder") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiApp, self)._process_custom_annotations(annotation_type, field_path, processor) ApiApp_validator = bv.Struct(ApiApp) class BaseDfbReport(bb.Struct): """ Base report structure. :ivar BaseDfbReport.start_date: First date present in the results as 'YYYY-MM-DD' or None. """ __slots__ = [ "_start_date_value", ] _has_required_fields = True def __init__(self, start_date=None): self._start_date_value = bb.NOT_SET if start_date is not None: self.start_date = start_date # Instance attribute type: str (validator is set below) start_date = bb.Attribute("start_date") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BaseDfbReport, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 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 ) 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 CustomQuotaResult.success: User's custom quota. :vartype CustomQuotaResult.success: UserCustomQuotaResult :ivar CustomQuotaResult.invalid_user: Invalid user (not in team). :vartype CustomQuotaResult.invalid_user: UserSelectorArg """ _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 ) CustomQuotaResult_validator = bv.Union(CustomQuotaResult) class CustomQuotaUsersArg(bb.Struct): """ :ivar CustomQuotaUsersArg.users: List of users. """ __slots__ = [ "_users_value", ] _has_required_fields = True def __init__(self, users=None): self._users_value = bb.NOT_SET if users is not None: self.users = users # Instance attribute type: list of [UserSelectorArg] (validator is set below) users = bb.Attribute("users") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CustomQuotaUsersArg, self)._process_custom_annotations( annotation_type, field_path, processor ) CustomQuotaUsersArg_validator = bv.Struct(CustomQuotaUsersArg) class DateRange(bb.Struct): """ Input arguments that can be provided for most reports. :ivar DateRange.start_date: Optional starting date (inclusive). If start_date is None or too long ago, this field will be set to 6 months ago. :ivar DateRange.end_date: Optional ending date (exclusive). """ __slots__ = [ "_start_date_value", "_end_date_value", ] _has_required_fields = False def __init__(self, start_date=None, end_date=None): self._start_date_value = bb.NOT_SET self._end_date_value = bb.NOT_SET if start_date is not None: self.start_date = start_date if end_date is not None: self.end_date = end_date # Instance attribute type: datetime.datetime (validator is set below) start_date = bb.Attribute("start_date", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) end_date = bb.Attribute("end_date", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DateRange, self)._process_custom_annotations(annotation_type, field_path, processor) 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 ) DateRangeError_validator = bv.Union(DateRangeError) class DeleteSecondaryEmailResult(bb.Union): """ Result of trying to delete a secondary email address. 'success' is the only value indicating that a secondary email was successfully deleted. The other values explain the type of error that occurred, and include the email for which the error occurred. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar DeleteSecondaryEmailResult.success: The secondary email was successfully deleted. :vartype DeleteSecondaryEmailResult.success: str :ivar DeleteSecondaryEmailResult.not_found: The email address was not found for the user. :vartype DeleteSecondaryEmailResult.not_found: str :ivar DeleteSecondaryEmailResult.cannot_remove_primary: The email address is the primary email address of the user, and cannot be removed. :vartype DeleteSecondaryEmailResult.cannot_remove_primary: str """ _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 str val: :rtype: DeleteSecondaryEmailResult """ return cls("success", val) @classmethod def not_found(cls, val): """ Create an instance of this class set to the ``not_found`` tag with value ``val``. :param str val: :rtype: DeleteSecondaryEmailResult """ return cls("not_found", val) @classmethod def cannot_remove_primary(cls, val): """ Create an instance of this class set to the ``cannot_remove_primary`` tag with value ``val``. :param str val: :rtype: DeleteSecondaryEmailResult """ return cls("cannot_remove_primary", val) def is_success(self): """ Check if the union tag is ``success``. :rtype: bool """ return self._tag == "success" def is_not_found(self): """ Check if the union tag is ``not_found``. :rtype: bool """ return self._tag == "not_found" def is_cannot_remove_primary(self): """ Check if the union tag is ``cannot_remove_primary``. :rtype: bool """ return self._tag == "cannot_remove_primary" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_success(self): """ The secondary email was successfully deleted. Only call this if :meth:`is_success` is true. :rtype: str """ if not self.is_success(): raise AttributeError("tag 'success' not set") return self._value def get_not_found(self): """ The email address was not found for the user. Only call this if :meth:`is_not_found` is true. :rtype: str """ if not self.is_not_found(): raise AttributeError("tag 'not_found' not set") return self._value def get_cannot_remove_primary(self): """ The email address is the primary email address of the user, and cannot be removed. Only call this if :meth:`is_cannot_remove_primary` is true. :rtype: str """ if not self.is_cannot_remove_primary(): raise AttributeError("tag 'cannot_remove_primary' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteSecondaryEmailResult, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteSecondaryEmailResult_validator = bv.Union(DeleteSecondaryEmailResult) class DeleteSecondaryEmailsArg(bb.Struct): """ :ivar DeleteSecondaryEmailsArg.emails_to_delete: List of users and their secondary emails to delete. """ __slots__ = [ "_emails_to_delete_value", ] _has_required_fields = True def __init__(self, emails_to_delete=None): self._emails_to_delete_value = bb.NOT_SET if emails_to_delete is not None: self.emails_to_delete = emails_to_delete # Instance attribute type: list of [UserSecondaryEmailsArg] (validator is set below) emails_to_delete = bb.Attribute("emails_to_delete") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteSecondaryEmailsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteSecondaryEmailsArg_validator = bv.Struct(DeleteSecondaryEmailsArg) class DeleteSecondaryEmailsResult(bb.Struct): __slots__ = [ "_results_value", ] _has_required_fields = True def __init__(self, results=None): self._results_value = bb.NOT_SET if results is not None: self.results = results # Instance attribute type: list of [UserDeleteResult] (validator is set below) results = bb.Attribute("results") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteSecondaryEmailsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteSecondaryEmailsResult_validator = bv.Struct(DeleteSecondaryEmailsResult) class DesktopClientSession(DeviceSession): """ Information about linked Dropbox desktop client sessions. :ivar DesktopClientSession.host_name: Name of the hosting desktop. :ivar DesktopClientSession.client_type: The Dropbox desktop client type. :ivar DesktopClientSession.client_version: The Dropbox client version. :ivar DesktopClientSession.platform: Information on the hosting platform. :ivar DesktopClientSession.is_delete_on_unlink_supported: Whether it's possible to delete all of the account files upon unlinking. """ __slots__ = [ "_host_name_value", "_client_type_value", "_client_version_value", "_platform_value", "_is_delete_on_unlink_supported_value", ] _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 = bb.NOT_SET self._client_type_value = bb.NOT_SET self._client_version_value = bb.NOT_SET self._platform_value = bb.NOT_SET self._is_delete_on_unlink_supported_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) host_name = bb.Attribute("host_name") # Instance attribute type: DesktopPlatform (validator is set below) client_type = bb.Attribute("client_type", user_defined=True) # Instance attribute type: str (validator is set below) client_version = bb.Attribute("client_version") # Instance attribute type: str (validator is set below) platform = bb.Attribute("platform") # Instance attribute type: bool (validator is set below) is_delete_on_unlink_supported = bb.Attribute("is_delete_on_unlink_supported") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DesktopClientSession, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 DesktopPlatform.windows: Official Windows Dropbox desktop client. :ivar DesktopPlatform.mac: Official Mac Dropbox desktop client. :ivar 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 ) DesktopPlatform_validator = bv.Union(DesktopPlatform) class DeviceSessionArg(bb.Struct): """ :ivar DeviceSessionArg.session_id: The session id. :ivar DeviceSessionArg.team_member_id: The unique id of the member owning the device. """ __slots__ = [ "_session_id_value", "_team_member_id_value", ] _has_required_fields = True def __init__(self, session_id=None, team_member_id=None): self._session_id_value = bb.NOT_SET self._team_member_id_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) session_id = bb.Attribute("session_id") # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceSessionArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 DevicesActive.windows: Array of number of linked windows (desktop) clients with activity. :ivar DevicesActive.macos: Array of number of linked mac (desktop) clients with activity. :ivar DevicesActive.linux: Array of number of linked linus (desktop) clients with activity. :ivar DevicesActive.ios: Array of number of linked ios devices with activity. :ivar DevicesActive.android: Array of number of linked android devices with activity. :ivar DevicesActive.other: Array of number of other linked devices (blackberry, windows phone, etc) with activity. :ivar DevicesActive.total: Array of total number of linked clients with activity. """ __slots__ = [ "_windows_value", "_macos_value", "_linux_value", "_ios_value", "_android_value", "_other_value", "_total_value", ] _has_required_fields = True def __init__( self, windows=None, macos=None, linux=None, ios=None, android=None, other=None, total=None, ): self._windows_value = bb.NOT_SET self._macos_value = bb.NOT_SET self._linux_value = bb.NOT_SET self._ios_value = bb.NOT_SET self._android_value = bb.NOT_SET self._other_value = bb.NOT_SET self._total_value = bb.NOT_SET 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 # Instance attribute type: list of [Optional[int]] (validator is set below) windows = bb.Attribute("windows") # Instance attribute type: list of [Optional[int]] (validator is set below) macos = bb.Attribute("macos") # Instance attribute type: list of [Optional[int]] (validator is set below) linux = bb.Attribute("linux") # Instance attribute type: list of [Optional[int]] (validator is set below) ios = bb.Attribute("ios") # Instance attribute type: list of [Optional[int]] (validator is set below) android = bb.Attribute("android") # Instance attribute type: list of [Optional[int]] (validator is set below) other = bb.Attribute("other") # Instance attribute type: list of [Optional[int]] (validator is set below) total = bb.Attribute("total") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DevicesActive, self)._process_custom_annotations( annotation_type, field_path, processor ) DevicesActive_validator = bv.Struct(DevicesActive) class ExcludedUsersListArg(bb.Struct): """ Excluded users list argument. :ivar ExcludedUsersListArg.limit: Number of results to return per call. """ __slots__ = [ "_limit_value", ] _has_required_fields = False def __init__(self, limit=None): self._limit_value = bb.NOT_SET if limit is not None: self.limit = limit # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExcludedUsersListArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ExcludedUsersListArg_validator = bv.Struct(ExcludedUsersListArg) class ExcludedUsersListContinueArg(bb.Struct): """ Excluded users list continue argument. :ivar ExcludedUsersListContinueArg.cursor: Indicates from what point to get the next set of users. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExcludedUsersListContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 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 ) ExcludedUsersListError_validator = bv.Union(ExcludedUsersListError) class ExcludedUsersListResult(bb.Struct): """ Excluded users list result. :ivar ExcludedUsersListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_member_space_limits_excluded_users_list_continue` to obtain additional excluded users. :ivar ExcludedUsersListResult.has_more: Is true if there are additional excluded users that have not been returned yet. An additional call to :meth:`dropbox.dropbox_client.Dropbox.team_member_space_limits_excluded_users_list_continue` can retrieve them. """ __slots__ = [ "_users_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, users=None, has_more=None, cursor=None): self._users_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [MemberProfile] (validator is set below) users = bb.Attribute("users") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExcludedUsersListResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ExcludedUsersUpdateArg.users: List of users to be added/removed. """ __slots__ = [ "_users_value", ] _has_required_fields = False def __init__(self, users=None): self._users_value = bb.NOT_SET if users is not None: self.users = users # Instance attribute type: list of [UserSelectorArg] (validator is set below) users = bb.Attribute("users", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExcludedUsersUpdateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ExcludedUsersUpdateError.users_not_in_team: At least one of the users is not part of your team. :ivar 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 ) ExcludedUsersUpdateError_validator = bv.Union(ExcludedUsersUpdateError) class ExcludedUsersUpdateResult(bb.Struct): """ Excluded users update result. :ivar ExcludedUsersUpdateResult.status: Update status. """ __slots__ = [ "_status_value", ] _has_required_fields = True def __init__(self, status=None): self._status_value = bb.NOT_SET if status is not None: self.status = status # Instance attribute type: ExcludedUsersUpdateStatus (validator is set below) status = bb.Attribute("status", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExcludedUsersUpdateResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 Feature.upload_api_rate_limit: The number of upload API calls allowed per month. :ivar Feature.has_team_shared_dropbox: Does this team have a shared team root. :ivar Feature.has_team_file_events: Does this team have file events. :ivar Feature.has_team_selective_sync: Does this team have team selective sync enabled. :ivar Feature.has_distinct_member_homes: Does this team have team member folder. """ _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 has_distinct_member_homes = 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_has_distinct_member_homes(self): """ Check if the union tag is ``has_distinct_member_homes``. :rtype: bool """ return self._tag == "has_distinct_member_homes" 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) 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) @classmethod def has_distinct_member_homes(cls, val): """ Create an instance of this class set to the ``has_distinct_member_homes`` tag with value ``val``. :param HasDistinctMemberHomesValue val: :rtype: FeatureValue """ return cls("has_distinct_member_homes", 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_has_distinct_member_homes(self): """ Check if the union tag is ``has_distinct_member_homes``. :rtype: bool """ return self._tag == "has_distinct_member_homes" 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 get_has_distinct_member_homes(self): """ Only call this if :meth:`is_has_distinct_member_homes` is true. :rtype: HasDistinctMemberHomesValue """ if not self.is_has_distinct_member_homes(): raise AttributeError("tag 'has_distinct_member_homes' 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 ) FeatureValue_validator = bv.Union(FeatureValue) class FeaturesGetValuesBatchArg(bb.Struct): """ :ivar FeaturesGetValuesBatchArg.features: A list of features in :class:`Feature`. If the list is empty, this route will return :class:`FeaturesGetValuesBatchError`. """ __slots__ = [ "_features_value", ] _has_required_fields = True def __init__(self, features=None): self._features_value = bb.NOT_SET if features is not None: self.features = features # Instance attribute type: list of [Feature] (validator is set below) features = bb.Attribute("features") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FeaturesGetValuesBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) FeaturesGetValuesBatchError_validator = bv.Union(FeaturesGetValuesBatchError) class FeaturesGetValuesBatchResult(bb.Struct): __slots__ = [ "_values_value", ] _has_required_fields = True def __init__(self, values=None): self._values_value = bb.NOT_SET if values is not None: self.values = values # Instance attribute type: list of [FeatureValue] (validator is set below) values = bb.Attribute("values") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FeaturesGetValuesBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GetActivityReport.adds: Array of total number of adds by team members. :ivar 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 GetActivityReport.deletes: Array of total number of deletes by team members. :ivar GetActivityReport.active_users_28_day: Array of the number of users who have been active in the last 28 days. :ivar GetActivityReport.active_users_7_day: Array of the number of users who have been active in the last week. :ivar GetActivityReport.active_users_1_day: Array of the number of users who have been active in the last day. :ivar GetActivityReport.active_shared_folders_28_day: Array of the number of shared folders with some activity in the last 28 days. :ivar GetActivityReport.active_shared_folders_7_day: Array of the number of shared folders with some activity in the last week. :ivar GetActivityReport.active_shared_folders_1_day: Array of the number of shared folders with some activity in the last day. :ivar GetActivityReport.shared_links_created: Array of the number of shared links created. :ivar GetActivityReport.shared_links_viewed_by_team: Array of the number of views by team users to shared links created by the team. :ivar 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 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 GetActivityReport.shared_links_viewed_total: Array of the total number of views to shared links created by the team. """ __slots__ = [ "_adds_value", "_edits_value", "_deletes_value", "_active_users_28_day_value", "_active_users_7_day_value", "_active_users_1_day_value", "_active_shared_folders_28_day_value", "_active_shared_folders_7_day_value", "_active_shared_folders_1_day_value", "_shared_links_created_value", "_shared_links_viewed_by_team_value", "_shared_links_viewed_by_outside_user_value", "_shared_links_viewed_by_not_logged_in_value", "_shared_links_viewed_total_value", ] _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 = bb.NOT_SET self._edits_value = bb.NOT_SET self._deletes_value = bb.NOT_SET self._active_users_28_day_value = bb.NOT_SET self._active_users_7_day_value = bb.NOT_SET self._active_users_1_day_value = bb.NOT_SET self._active_shared_folders_28_day_value = bb.NOT_SET self._active_shared_folders_7_day_value = bb.NOT_SET self._active_shared_folders_1_day_value = bb.NOT_SET self._shared_links_created_value = bb.NOT_SET self._shared_links_viewed_by_team_value = bb.NOT_SET self._shared_links_viewed_by_outside_user_value = bb.NOT_SET self._shared_links_viewed_by_not_logged_in_value = bb.NOT_SET self._shared_links_viewed_total_value = bb.NOT_SET 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 # Instance attribute type: list of [Optional[int]] (validator is set below) adds = bb.Attribute("adds") # Instance attribute type: list of [Optional[int]] (validator is set below) edits = bb.Attribute("edits") # Instance attribute type: list of [Optional[int]] (validator is set below) deletes = bb.Attribute("deletes") # Instance attribute type: list of [Optional[int]] (validator is set below) active_users_28_day = bb.Attribute("active_users_28_day") # Instance attribute type: list of [Optional[int]] (validator is set below) active_users_7_day = bb.Attribute("active_users_7_day") # Instance attribute type: list of [Optional[int]] (validator is set below) active_users_1_day = bb.Attribute("active_users_1_day") # Instance attribute type: list of [Optional[int]] (validator is set below) active_shared_folders_28_day = bb.Attribute("active_shared_folders_28_day") # Instance attribute type: list of [Optional[int]] (validator is set below) active_shared_folders_7_day = bb.Attribute("active_shared_folders_7_day") # Instance attribute type: list of [Optional[int]] (validator is set below) active_shared_folders_1_day = bb.Attribute("active_shared_folders_1_day") # Instance attribute type: list of [Optional[int]] (validator is set below) shared_links_created = bb.Attribute("shared_links_created") # Instance attribute type: list of [Optional[int]] (validator is set below) shared_links_viewed_by_team = bb.Attribute("shared_links_viewed_by_team") # Instance attribute type: list of [Optional[int]] (validator is set below) shared_links_viewed_by_outside_user = bb.Attribute("shared_links_viewed_by_outside_user") # Instance attribute type: list of [Optional[int]] (validator is set below) shared_links_viewed_by_not_logged_in = bb.Attribute("shared_links_viewed_by_not_logged_in") # Instance attribute type: list of [Optional[int]] (validator is set below) shared_links_viewed_total = bb.Attribute("shared_links_viewed_total") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetActivityReport, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GetDevicesReport.active_1_day: Report of the number of devices active in the last day. :ivar GetDevicesReport.active_7_day: Report of the number of devices active in the last 7 days. :ivar GetDevicesReport.active_28_day: Report of the number of devices active in the last 28 days. """ __slots__ = [ "_active_1_day_value", "_active_7_day_value", "_active_28_day_value", ] _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 = bb.NOT_SET self._active_7_day_value = bb.NOT_SET self._active_28_day_value = bb.NOT_SET 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 # Instance attribute type: DevicesActive (validator is set below) active_1_day = bb.Attribute("active_1_day", user_defined=True) # Instance attribute type: DevicesActive (validator is set below) active_7_day = bb.Attribute("active_7_day", user_defined=True) # Instance attribute type: DevicesActive (validator is set below) active_28_day = bb.Attribute("active_28_day", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetDevicesReport, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GetMembershipReport.team_size: Team size, for each day. :ivar GetMembershipReport.pending_invites: The number of pending invites to the team, for each day. :ivar GetMembershipReport.members_joined: The number of members that joined the team, for each day. :ivar GetMembershipReport.suspended_members: The number of suspended team members, for each day. :ivar GetMembershipReport.licenses: The total number of licenses the team has, for each day. """ __slots__ = [ "_team_size_value", "_pending_invites_value", "_members_joined_value", "_suspended_members_value", "_licenses_value", ] _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 = bb.NOT_SET self._pending_invites_value = bb.NOT_SET self._members_joined_value = bb.NOT_SET self._suspended_members_value = bb.NOT_SET self._licenses_value = bb.NOT_SET 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 # Instance attribute type: list of [Optional[int]] (validator is set below) team_size = bb.Attribute("team_size") # Instance attribute type: list of [Optional[int]] (validator is set below) pending_invites = bb.Attribute("pending_invites") # Instance attribute type: list of [Optional[int]] (validator is set below) members_joined = bb.Attribute("members_joined") # Instance attribute type: list of [Optional[int]] (validator is set below) suspended_members = bb.Attribute("suspended_members") # Instance attribute type: list of [Optional[int]] (validator is set below) licenses = bb.Attribute("licenses") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetMembershipReport, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GetStorageReport.total_usage: Sum of the shared, unshared, and datastore usages, for each day. :ivar GetStorageReport.shared_usage: Array of the combined size (bytes) of team members' shared folders, for each day. :ivar GetStorageReport.unshared_usage: Array of the combined size (bytes) of team members' root namespaces, for each day. :ivar GetStorageReport.shared_folders: Array of the number of shared folders owned by team members, for each day. :ivar 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", "_shared_usage_value", "_unshared_usage_value", "_shared_folders_value", "_member_storage_map_value", ] _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 = bb.NOT_SET self._shared_usage_value = bb.NOT_SET self._unshared_usage_value = bb.NOT_SET self._shared_folders_value = bb.NOT_SET self._member_storage_map_value = bb.NOT_SET 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 # Instance attribute type: list of [Optional[int]] (validator is set below) total_usage = bb.Attribute("total_usage") # Instance attribute type: list of [Optional[int]] (validator is set below) shared_usage = bb.Attribute("shared_usage") # Instance attribute type: list of [Optional[int]] (validator is set below) unshared_usage = bb.Attribute("unshared_usage") # Instance attribute type: list of [Optional[int]] (validator is set below) shared_folders = bb.Attribute("shared_folders") # Instance attribute type: list of [list of [StorageBucket]] (validator is set below) member_storage_map = bb.Attribute("member_storage_map") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetStorageReport, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GroupAccessType.member: User is a member of the group, but has no special permissions. :ivar 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 ) GroupAccessType_validator = bv.Union(GroupAccessType) class GroupCreateArg(bb.Struct): """ :ivar GroupCreateArg.group_name: Group name. :ivar GroupCreateArg.add_creator_as_owner: Automatically add the creator of the group. :ivar GroupCreateArg.group_external_id: The creator of a team can associate an arbitrary external ID to the group. :ivar GroupCreateArg.group_management_type: Whether the team can be managed by selected users, or only by team admins. """ __slots__ = [ "_group_name_value", "_add_creator_as_owner_value", "_group_external_id_value", "_group_management_type_value", ] _has_required_fields = True def __init__( self, group_name=None, add_creator_as_owner=None, group_external_id=None, group_management_type=None, ): self._group_name_value = bb.NOT_SET self._add_creator_as_owner_value = bb.NOT_SET self._group_external_id_value = bb.NOT_SET self._group_management_type_value = bb.NOT_SET if group_name is not None: self.group_name = group_name if add_creator_as_owner is not None: self.add_creator_as_owner = add_creator_as_owner 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 # Instance attribute type: str (validator is set below) group_name = bb.Attribute("group_name") # Instance attribute type: bool (validator is set below) add_creator_as_owner = bb.Attribute("add_creator_as_owner") # Instance attribute type: str (validator is set below) group_external_id = bb.Attribute("group_external_id", nullable=True) # Instance attribute type: team_common.GroupManagementType (validator is set below) group_management_type = bb.Attribute("group_management_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupCreateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GroupCreateError.group_name_already_used: The requested group name is already being used by another group. :ivar GroupCreateError.group_name_invalid: Group name is empty or has invalid characters. :ivar GroupCreateError.external_id_already_in_use: The requested external ID is already being used by another group. :ivar 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 ) 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 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 ) 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 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 ) 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 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 ) GroupDeleteError_validator = bv.Union(GroupDeleteError) class GroupFullInfo(team_common.GroupSummary): """ Full description of a group. :ivar GroupFullInfo.members: List of group members. :ivar GroupFullInfo.created: The group creation time as a UTC timestamp in milliseconds since the Unix epoch. """ __slots__ = [ "_members_value", "_created_value", ] _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 = bb.NOT_SET self._created_value = bb.NOT_SET if members is not None: self.members = members if created is not None: self.created = created # Instance attribute type: list of [GroupMemberInfo] (validator is set below) members = bb.Attribute("members", nullable=True) # Instance attribute type: int (validator is set below) created = bb.Attribute("created") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupFullInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupFullInfo_validator = bv.Struct(GroupFullInfo) class GroupMemberInfo(bb.Struct): """ Profile of group member, and role in group. :ivar GroupMemberInfo.profile: Profile of group member. :ivar GroupMemberInfo.access_type: The role that the user has in the group. """ __slots__ = [ "_profile_value", "_access_type_value", ] _has_required_fields = True def __init__(self, profile=None, access_type=None): self._profile_value = bb.NOT_SET self._access_type_value = bb.NOT_SET if profile is not None: self.profile = profile if access_type is not None: self.access_type = access_type # Instance attribute type: MemberProfile (validator is set below) profile = bb.Attribute("profile", user_defined=True) # Instance attribute type: GroupAccessType (validator is set below) access_type = bb.Attribute("access_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupMemberInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupMemberInfo_validator = bv.Struct(GroupMemberInfo) class GroupMemberSelector(bb.Struct): """ Argument for selecting a group and a single user. :ivar GroupMemberSelector.group: Specify a group. :ivar GroupMemberSelector.user: Identity of a user that is a member of ``group``. """ __slots__ = [ "_group_value", "_user_value", ] _has_required_fields = True def __init__(self, group=None, user=None): self._group_value = bb.NOT_SET self._user_value = bb.NOT_SET if group is not None: self.group = group if user is not None: self.user = user # Instance attribute type: GroupSelector (validator is set below) group = bb.Attribute("group", user_defined=True) # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupMemberSelector, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 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 ) GroupMemberSetAccessTypeError_validator = bv.Union(GroupMemberSetAccessTypeError) class IncludeMembersArg(bb.Struct): """ :ivar 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", ] _has_required_fields = False def __init__(self, return_members=None): self._return_members_value = bb.NOT_SET if return_members is not None: self.return_members = return_members # Instance attribute type: bool (validator is set below) return_members = bb.Attribute("return_members") def _process_custom_annotations(self, annotation_type, field_path, processor): super(IncludeMembersArg, self)._process_custom_annotations( annotation_type, field_path, processor ) IncludeMembersArg_validator = bv.Struct(IncludeMembersArg) class GroupMembersAddArg(IncludeMembersArg): """ :ivar GroupMembersAddArg.group: Group to which users will be added. :ivar GroupMembersAddArg.members: List of users to be added to the group. """ __slots__ = [ "_group_value", "_members_value", ] _has_required_fields = True def __init__(self, group=None, members=None, return_members=None): super(GroupMembersAddArg, self).__init__(return_members) self._group_value = bb.NOT_SET self._members_value = bb.NOT_SET if group is not None: self.group = group if members is not None: self.members = members # Instance attribute type: GroupSelector (validator is set below) group = bb.Attribute("group", user_defined=True) # Instance attribute type: list of [MemberAccess] (validator is set below) members = bb.Attribute("members") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupMembersAddArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 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 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 :meth:`dropbox.dropbox_client.Dropbox.team_members_add` endpoint. :vartype GroupMembersAddError.members_not_in_team: list of [str] :ivar GroupMembersAddError.users_not_found: These users were not found in Dropbox. :vartype GroupMembersAddError.users_not_found: list of [str] :ivar GroupMembersAddError.user_must_be_active_to_be_owner: A suspended user cannot be added to a group as ``GroupAccessType.owner``. :ivar GroupMembersAddError.user_cannot_be_manager_of_company_managed_group: A company-managed group cannot be managed by a user. :vartype GroupMembersAddError.user_cannot_be_manager_of_company_managed_group: list of [str] """ # 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_client.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 ) GroupMembersAddError_validator = bv.Union(GroupMembersAddError) class GroupMembersChangeResult(bb.Struct): """ Result returned by :meth:`dropbox.dropbox_client.Dropbox.team_groups_members_add` and :meth:`dropbox.dropbox_client.Dropbox.team_groups_members_remove`. :ivar GroupMembersChangeResult.group_info: The group info after member change operation has been performed. :ivar GroupMembersChangeResult.async_job_id: Field is deprecated. For legacy purposes async_job_id will always return one space ' '. Formerly, it was an ID that was used to obtain the status of granting/revoking group-owned resources. It's no longer necessary because the async processing now happens automatically. """ __slots__ = [ "_group_info_value", "_async_job_id_value", ] _has_required_fields = True def __init__(self, group_info=None, async_job_id=None): self._group_info_value = bb.NOT_SET self._async_job_id_value = bb.NOT_SET 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 # Instance attribute type: GroupFullInfo (validator is set below) group_info = bb.Attribute("group_info", user_defined=True) # Instance attribute type: str (validator is set below) async_job_id = bb.Attribute("async_job_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupMembersChangeResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupMembersChangeResult_validator = bv.Struct(GroupMembersChangeResult) class GroupMembersRemoveArg(IncludeMembersArg): """ :ivar GroupMembersRemoveArg.group: Group from which users will be removed. :ivar GroupMembersRemoveArg.users: List of users to be removed from the group. """ __slots__ = [ "_group_value", "_users_value", ] _has_required_fields = True def __init__(self, group=None, users=None, return_members=None): super(GroupMembersRemoveArg, self).__init__(return_members) self._group_value = bb.NOT_SET self._users_value = bb.NOT_SET if group is not None: self.group = group if users is not None: self.users = users # Instance attribute type: GroupSelector (validator is set below) group = bb.Attribute("group", user_defined=True) # Instance attribute type: list of [UserSelectorArg] (validator is set below) users = bb.Attribute("users") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupMembersRemoveArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 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 GroupMembersRemoveError.members_not_in_team: These members are not part of your team. :vartype GroupMembersRemoveError.members_not_in_team: list of [str] :ivar GroupMembersRemoveError.users_not_found: These users were not found in Dropbox. :vartype GroupMembersRemoveError.users_not_found: list of [str] """ # 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 ) GroupMembersRemoveError_validator = bv.Union(GroupMembersRemoveError) class GroupMembersSelector(bb.Struct): """ Argument for selecting a group and a list of users. :ivar GroupMembersSelector.group: Specify a group. :ivar GroupMembersSelector.users: A list of users that are members of ``group``. """ __slots__ = [ "_group_value", "_users_value", ] _has_required_fields = True def __init__(self, group=None, users=None): self._group_value = bb.NOT_SET self._users_value = bb.NOT_SET if group is not None: self.group = group if users is not None: self.users = users # Instance attribute type: GroupSelector (validator is set below) group = bb.Attribute("group", user_defined=True) # Instance attribute type: UsersSelectorArg (validator is set below) users = bb.Attribute("users", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupMembersSelector, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupMembersSelector_validator = bv.Struct(GroupMembersSelector) class GroupMembersSetAccessTypeArg(GroupMemberSelector): """ :ivar GroupMembersSetAccessTypeArg.access_type: New group access type the user will have. :ivar 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", "_return_members_value", ] _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 = bb.NOT_SET self._return_members_value = bb.NOT_SET if access_type is not None: self.access_type = access_type if return_members is not None: self.return_members = return_members # Instance attribute type: GroupAccessType (validator is set below) access_type = bb.Attribute("access_type", user_defined=True) # Instance attribute type: bool (validator is set below) return_members = bb.Attribute("return_members") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupMembersSetAccessTypeArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GroupSelector.group_id: Group ID. :vartype GroupSelector.group_id: str :ivar GroupSelector.group_external_id: External ID of the group. :vartype GroupSelector.group_external_id: str """ _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 ) GroupSelector_validator = bv.Union(GroupSelector) class GroupUpdateArgs(IncludeMembersArg): """ :ivar GroupUpdateArgs.group: Specify a group. :ivar GroupUpdateArgs.new_group_name: Optional argument. Set group name to this if provided. :ivar 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 GroupUpdateArgs.new_group_management_type: Set new group management type, if provided. """ __slots__ = [ "_group_value", "_new_group_name_value", "_new_group_external_id_value", "_new_group_management_type_value", ] _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 = bb.NOT_SET self._new_group_name_value = bb.NOT_SET self._new_group_external_id_value = bb.NOT_SET self._new_group_management_type_value = bb.NOT_SET 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 # Instance attribute type: GroupSelector (validator is set below) group = bb.Attribute("group", user_defined=True) # Instance attribute type: str (validator is set below) new_group_name = bb.Attribute("new_group_name", nullable=True) # Instance attribute type: str (validator is set below) new_group_external_id = bb.Attribute("new_group_external_id", nullable=True) # Instance attribute type: team_common.GroupManagementType (validator is set below) new_group_management_type = bb.Attribute( "new_group_management_type", nullable=True, user_defined=True ) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupUpdateArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GroupUpdateError.group_name_already_used: The requested group name is already being used by another group. :ivar GroupUpdateError.group_name_invalid: Group name is empty or has invalid characters. :ivar 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 ) 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 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 ) 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 GroupsGetInfoItem.id_not_found: An ID that was provided as a parameter to :meth:`dropbox.dropbox_client.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. :vartype GroupsGetInfoItem.id_not_found: str :ivar GroupsGetInfoItem.group_info: Info about a group. :vartype GroupsGetInfoItem.group_info: GroupFullInfo """ _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_client.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 ) GroupsGetInfoItem_validator = bv.Union(GroupsGetInfoItem) class GroupsListArg(bb.Struct): """ :ivar GroupsListArg.limit: Number of results to return per call. """ __slots__ = [ "_limit_value", ] _has_required_fields = False def __init__(self, limit=None): self._limit_value = bb.NOT_SET if limit is not None: self.limit = limit # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupsListArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupsListArg_validator = bv.Struct(GroupsListArg) class GroupsListContinueArg(bb.Struct): """ :ivar GroupsListContinueArg.cursor: Indicates from what point to get the next set of groups. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupsListContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) GroupsListContinueError_validator = bv.Union(GroupsListContinueError) class GroupsListResult(bb.Struct): """ :ivar GroupsListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_groups_list_continue` to obtain the additional groups. :ivar GroupsListResult.has_more: Is true if there are additional groups that have not been returned yet. An additional call to :meth:`dropbox.dropbox_client.Dropbox.team_groups_list_continue` can retrieve them. """ __slots__ = [ "_groups_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, groups=None, cursor=None, has_more=None): self._groups_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [team_common.GroupSummary] (validator is set below) groups = bb.Attribute("groups") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupsListResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupsListResult_validator = bv.Struct(GroupsListResult) class GroupsMembersListArg(bb.Struct): """ :ivar GroupsMembersListArg.group: The group whose members are to be listed. :ivar GroupsMembersListArg.limit: Number of results to return per call. """ __slots__ = [ "_group_value", "_limit_value", ] _has_required_fields = True def __init__(self, group=None, limit=None): self._group_value = bb.NOT_SET self._limit_value = bb.NOT_SET if group is not None: self.group = group if limit is not None: self.limit = limit # Instance attribute type: GroupSelector (validator is set below) group = bb.Attribute("group", user_defined=True) # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupsMembersListArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupsMembersListArg_validator = bv.Struct(GroupsMembersListArg) class GroupsMembersListContinueArg(bb.Struct): """ :ivar GroupsMembersListContinueArg.cursor: Indicates from what point to get the next set of groups. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupsMembersListContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) GroupsMembersListContinueError_validator = bv.Union(GroupsMembersListContinueError) class GroupsMembersListResult(bb.Struct): """ :ivar GroupsMembersListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_groups_members_list_continue` to obtain additional group members. :ivar GroupsMembersListResult.has_more: Is true if there are additional group members that have not been returned yet. An additional call to :meth:`dropbox.dropbox_client.Dropbox.team_groups_members_list_continue` can retrieve them. """ __slots__ = [ "_members_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, members=None, cursor=None, has_more=None): self._members_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [GroupMemberInfo] (validator is set below) members = bb.Attribute("members") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupsMembersListResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 GroupsSelector.group_ids: List of group IDs. :vartype GroupsSelector.group_ids: list of [str] :ivar GroupsSelector.group_external_ids: List of external IDs of groups. :vartype GroupsSelector.group_external_ids: list of [str] """ _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 ) GroupsSelector_validator = bv.Union(GroupsSelector) class HasDistinctMemberHomesValue(bb.Union): """ The value for ``Feature.has_distinct_member_homes``. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar HasDistinctMemberHomesValue.has_distinct_member_homes: Does this team have distinct team member homes. :vartype HasDistinctMemberHomesValue.has_distinct_member_homes: bool """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @classmethod def has_distinct_member_homes(cls, val): """ Create an instance of this class set to the ``has_distinct_member_homes`` tag with value ``val``. :param bool val: :rtype: HasDistinctMemberHomesValue """ return cls("has_distinct_member_homes", val) def is_has_distinct_member_homes(self): """ Check if the union tag is ``has_distinct_member_homes``. :rtype: bool """ return self._tag == "has_distinct_member_homes" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_has_distinct_member_homes(self): """ Does this team have distinct team member homes. Only call this if :meth:`is_has_distinct_member_homes` is true. :rtype: bool """ if not self.is_has_distinct_member_homes(): raise AttributeError("tag 'has_distinct_member_homes' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(HasDistinctMemberHomesValue, self)._process_custom_annotations( annotation_type, field_path, processor ) HasDistinctMemberHomesValue_validator = bv.Union(HasDistinctMemberHomesValue) 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 HasTeamFileEventsValue.enabled: Does this team have file events. :vartype HasTeamFileEventsValue.enabled: bool """ _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 ) 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 HasTeamSelectiveSyncValue.has_team_selective_sync: Does this team have team selective sync enabled. :vartype HasTeamSelectiveSyncValue.has_team_selective_sync: bool """ _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 ) 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 HasTeamSharedDropboxValue.has_team_shared_dropbox: Does this team have a shared team root. :vartype HasTeamSharedDropboxValue.has_team_shared_dropbox: bool """ _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 ) HasTeamSharedDropboxValue_validator = bv.Union(HasTeamSharedDropboxValue) class LegalHoldHeldRevisionMetadata(bb.Struct): """ :ivar LegalHoldHeldRevisionMetadata.new_filename: The held revision filename. :ivar LegalHoldHeldRevisionMetadata.original_revision_id: The id of the held revision. :ivar LegalHoldHeldRevisionMetadata.original_file_path: The original path of the held revision. :ivar LegalHoldHeldRevisionMetadata.server_modified: The last time the file was modified on Dropbox. :ivar LegalHoldHeldRevisionMetadata.author_member_id: The member id of the revision's author. :ivar LegalHoldHeldRevisionMetadata.author_member_status: The member status of the revision's author. :ivar LegalHoldHeldRevisionMetadata.author_email: The email address of the held revision author. :ivar LegalHoldHeldRevisionMetadata.file_type: The type of the held revision's file. :ivar LegalHoldHeldRevisionMetadata.size: The file size in bytes. :ivar LegalHoldHeldRevisionMetadata.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__ = [ "_new_filename_value", "_original_revision_id_value", "_original_file_path_value", "_server_modified_value", "_author_member_id_value", "_author_member_status_value", "_author_email_value", "_file_type_value", "_size_value", "_content_hash_value", ] _has_required_fields = True def __init__( self, new_filename=None, original_revision_id=None, original_file_path=None, server_modified=None, author_member_id=None, author_member_status=None, author_email=None, file_type=None, size=None, content_hash=None, ): self._new_filename_value = bb.NOT_SET self._original_revision_id_value = bb.NOT_SET self._original_file_path_value = bb.NOT_SET self._server_modified_value = bb.NOT_SET self._author_member_id_value = bb.NOT_SET self._author_member_status_value = bb.NOT_SET self._author_email_value = bb.NOT_SET self._file_type_value = bb.NOT_SET self._size_value = bb.NOT_SET self._content_hash_value = bb.NOT_SET if new_filename is not None: self.new_filename = new_filename if original_revision_id is not None: self.original_revision_id = original_revision_id if original_file_path is not None: self.original_file_path = original_file_path if server_modified is not None: self.server_modified = server_modified if author_member_id is not None: self.author_member_id = author_member_id if author_member_status is not None: self.author_member_status = author_member_status if author_email is not None: self.author_email = author_email if file_type is not None: self.file_type = file_type if size is not None: self.size = size if content_hash is not None: self.content_hash = content_hash # Instance attribute type: str (validator is set below) new_filename = bb.Attribute("new_filename") # Instance attribute type: str (validator is set below) original_revision_id = bb.Attribute("original_revision_id") # Instance attribute type: str (validator is set below) original_file_path = bb.Attribute("original_file_path") # Instance attribute type: datetime.datetime (validator is set below) server_modified = bb.Attribute("server_modified") # Instance attribute type: str (validator is set below) author_member_id = bb.Attribute("author_member_id") # Instance attribute type: TeamMemberStatus (validator is set below) author_member_status = bb.Attribute("author_member_status", user_defined=True) # Instance attribute type: str (validator is set below) author_email = bb.Attribute("author_email") # Instance attribute type: str (validator is set below) file_type = bb.Attribute("file_type") # Instance attribute type: int (validator is set below) size = bb.Attribute("size") # Instance attribute type: str (validator is set below) content_hash = bb.Attribute("content_hash") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldHeldRevisionMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldHeldRevisionMetadata_validator = bv.Struct(LegalHoldHeldRevisionMetadata) class LegalHoldPolicy(bb.Struct): """ :ivar LegalHoldPolicy.id: The legal hold id. :ivar LegalHoldPolicy.name: Policy name. :ivar LegalHoldPolicy.description: A description of the legal hold policy. :ivar LegalHoldPolicy.activation_time: The time at which the legal hold was activated. :ivar LegalHoldPolicy.members: Team members IDs and number of permanently deleted members under hold. :ivar LegalHoldPolicy.status: The current state of the hold. :ivar LegalHoldPolicy.start_date: Start date of the legal hold policy. :ivar LegalHoldPolicy.end_date: End date of the legal hold policy. """ __slots__ = [ "_id_value", "_name_value", "_description_value", "_activation_time_value", "_members_value", "_status_value", "_start_date_value", "_end_date_value", ] _has_required_fields = True def __init__( self, id=None, name=None, members=None, status=None, start_date=None, description=None, activation_time=None, end_date=None, ): self._id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._description_value = bb.NOT_SET self._activation_time_value = bb.NOT_SET self._members_value = bb.NOT_SET self._status_value = bb.NOT_SET self._start_date_value = bb.NOT_SET self._end_date_value = bb.NOT_SET if id is not None: self.id = id if name is not None: self.name = name if description is not None: self.description = description if activation_time is not None: self.activation_time = activation_time if members is not None: self.members = members if status is not None: self.status = status if start_date is not None: self.start_date = start_date if end_date is not None: self.end_date = end_date # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) description = bb.Attribute("description", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) activation_time = bb.Attribute("activation_time", nullable=True) # Instance attribute type: MembersInfo (validator is set below) members = bb.Attribute("members", user_defined=True) # Instance attribute type: LegalHoldStatus (validator is set below) status = bb.Attribute("status", user_defined=True) # Instance attribute type: datetime.datetime (validator is set below) start_date = bb.Attribute("start_date") # Instance attribute type: datetime.datetime (validator is set below) end_date = bb.Attribute("end_date", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldPolicy_validator = bv.Struct(LegalHoldPolicy) class LegalHoldStatus(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LegalHoldStatus.active: The legal hold policy is active. :ivar LegalHoldStatus.released: The legal hold policy was released. :ivar LegalHoldStatus.activating: The legal hold policy is activating. :ivar LegalHoldStatus.updating: The legal hold policy is updating. :ivar LegalHoldStatus.exporting: The legal hold policy is exporting. :ivar LegalHoldStatus.releasing: The legal hold policy is releasing. """ _catch_all = "other" # Attribute is overwritten below the class definition active = None # Attribute is overwritten below the class definition released = None # Attribute is overwritten below the class definition activating = None # Attribute is overwritten below the class definition updating = None # Attribute is overwritten below the class definition exporting = None # Attribute is overwritten below the class definition releasing = 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_released(self): """ Check if the union tag is ``released``. :rtype: bool """ return self._tag == "released" def is_activating(self): """ Check if the union tag is ``activating``. :rtype: bool """ return self._tag == "activating" def is_updating(self): """ Check if the union tag is ``updating``. :rtype: bool """ return self._tag == "updating" def is_exporting(self): """ Check if the union tag is ``exporting``. :rtype: bool """ return self._tag == "exporting" def is_releasing(self): """ Check if the union tag is ``releasing``. :rtype: bool """ return self._tag == "releasing" 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(LegalHoldStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldStatus_validator = bv.Union(LegalHoldStatus) class LegalHoldsError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LegalHoldsError.unknown_legal_hold_error: There has been an unknown legal hold error. :ivar LegalHoldsError.insufficient_permissions: You don't have permissions to perform this action. """ _catch_all = "other" # Attribute is overwritten below the class definition unknown_legal_hold_error = None # Attribute is overwritten below the class definition insufficient_permissions = None # Attribute is overwritten below the class definition other = None def is_unknown_legal_hold_error(self): """ Check if the union tag is ``unknown_legal_hold_error``. :rtype: bool """ return self._tag == "unknown_legal_hold_error" 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(LegalHoldsError, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsError_validator = bv.Union(LegalHoldsError) class LegalHoldsGetPolicyArg(bb.Struct): """ :ivar LegalHoldsGetPolicyArg.id: The legal hold Id. """ __slots__ = [ "_id_value", ] _has_required_fields = True def __init__(self, id=None): self._id_value = bb.NOT_SET if id is not None: self.id = id # Instance attribute type: str (validator is set below) id = bb.Attribute("id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsGetPolicyArg, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsGetPolicyArg_validator = bv.Struct(LegalHoldsGetPolicyArg) class LegalHoldsGetPolicyError(LegalHoldsError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LegalHoldsGetPolicyError.legal_hold_policy_not_found: Legal hold policy does not exist for ``LegalHoldsGetPolicyArg.id``. """ # Attribute is overwritten below the class definition legal_hold_policy_not_found = None def is_legal_hold_policy_not_found(self): """ Check if the union tag is ``legal_hold_policy_not_found``. :rtype: bool """ return self._tag == "legal_hold_policy_not_found" def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsGetPolicyError, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsGetPolicyError_validator = bv.Union(LegalHoldsGetPolicyError) class LegalHoldsListHeldRevisionResult(bb.Struct): """ :ivar LegalHoldsListHeldRevisionResult.entries: List of file entries that under the hold. :ivar LegalHoldsListHeldRevisionResult.cursor: The cursor idicates where to continue reading file metadata entries for the next API call. When there are no more entries, the cursor will return none. Pass the cursor into /2/team/legal_holds/list_held_revisions/continue. :ivar LegalHoldsListHeldRevisionResult.has_more: True if there are more file entries that haven't been returned. You can retrieve them with a call to /legal_holds/list_held_revisions_continue. """ __slots__ = [ "_entries_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, entries=None, has_more=None, cursor=None): self._entries_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [LegalHoldHeldRevisionMetadata] (validator is set below) entries = bb.Attribute("entries") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsListHeldRevisionResult, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsListHeldRevisionResult_validator = bv.Struct(LegalHoldsListHeldRevisionResult) class LegalHoldsListHeldRevisionsArg(bb.Struct): """ :ivar LegalHoldsListHeldRevisionsArg.id: The legal hold Id. """ __slots__ = [ "_id_value", ] _has_required_fields = True def __init__(self, id=None): self._id_value = bb.NOT_SET if id is not None: self.id = id # Instance attribute type: str (validator is set below) id = bb.Attribute("id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsListHeldRevisionsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsListHeldRevisionsArg_validator = bv.Struct(LegalHoldsListHeldRevisionsArg) class LegalHoldsListHeldRevisionsContinueArg(bb.Struct): """ :ivar LegalHoldsListHeldRevisionsContinueArg.id: The legal hold Id. :ivar LegalHoldsListHeldRevisionsContinueArg.cursor: The cursor idicates where to continue reading file metadata entries for the next API call. When there are no more entries, the cursor will return none. """ __slots__ = [ "_id_value", "_cursor_value", ] _has_required_fields = True def __init__(self, id=None, cursor=None): self._id_value = bb.NOT_SET self._cursor_value = bb.NOT_SET if id is not None: self.id = id if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsListHeldRevisionsContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsListHeldRevisionsContinueArg_validator = bv.Struct(LegalHoldsListHeldRevisionsContinueArg) class LegalHoldsListHeldRevisionsContinueError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LegalHoldsListHeldRevisionsContinueError.unknown_legal_hold_error: There has been an unknown legal hold error. :ivar LegalHoldsListHeldRevisionsContinueError.transient_error: Temporary infrastructure failure, please retry. :ivar LegalHoldsListHeldRevisionsContinueError.reset: Indicates that the cursor has been invalidated. Call :meth:`dropbox.dropbox_client.Dropbox.team_legal_holds_list_held_revisions_continue` again with an empty cursor to obtain a new cursor. """ _catch_all = "other" # Attribute is overwritten below the class definition unknown_legal_hold_error = None # Attribute is overwritten below the class definition transient_error = None # Attribute is overwritten below the class definition reset = None # Attribute is overwritten below the class definition other = None def is_unknown_legal_hold_error(self): """ Check if the union tag is ``unknown_legal_hold_error``. :rtype: bool """ return self._tag == "unknown_legal_hold_error" def is_transient_error(self): """ Check if the union tag is ``transient_error``. :rtype: bool """ return self._tag == "transient_error" 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(LegalHoldsListHeldRevisionsContinueError, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsListHeldRevisionsContinueError_validator = bv.Union( LegalHoldsListHeldRevisionsContinueError ) class LegalHoldsListHeldRevisionsError(LegalHoldsError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LegalHoldsListHeldRevisionsError.transient_error: Temporary infrastructure failure, please retry. :ivar LegalHoldsListHeldRevisionsError.legal_hold_still_empty: The legal hold is not holding any revisions yet. :ivar LegalHoldsListHeldRevisionsError.inactive_legal_hold: Trying to list revisions for an inactive legal hold. """ # Attribute is overwritten below the class definition transient_error = None # Attribute is overwritten below the class definition legal_hold_still_empty = None # Attribute is overwritten below the class definition inactive_legal_hold = None def is_transient_error(self): """ Check if the union tag is ``transient_error``. :rtype: bool """ return self._tag == "transient_error" def is_legal_hold_still_empty(self): """ Check if the union tag is ``legal_hold_still_empty``. :rtype: bool """ return self._tag == "legal_hold_still_empty" def is_inactive_legal_hold(self): """ Check if the union tag is ``inactive_legal_hold``. :rtype: bool """ return self._tag == "inactive_legal_hold" def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsListHeldRevisionsError, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsListHeldRevisionsError_validator = bv.Union(LegalHoldsListHeldRevisionsError) class LegalHoldsListPoliciesArg(bb.Struct): """ :ivar LegalHoldsListPoliciesArg.include_released: Whether to return holds that were released. """ __slots__ = [ "_include_released_value", ] _has_required_fields = False def __init__(self, include_released=None): self._include_released_value = bb.NOT_SET if include_released is not None: self.include_released = include_released # Instance attribute type: bool (validator is set below) include_released = bb.Attribute("include_released") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsListPoliciesArg, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsListPoliciesArg_validator = bv.Struct(LegalHoldsListPoliciesArg) class LegalHoldsListPoliciesError(LegalHoldsError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LegalHoldsListPoliciesError.transient_error: Temporary infrastructure failure, please retry. """ # Attribute is overwritten below the class definition transient_error = None def is_transient_error(self): """ Check if the union tag is ``transient_error``. :rtype: bool """ return self._tag == "transient_error" def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsListPoliciesError, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsListPoliciesError_validator = bv.Union(LegalHoldsListPoliciesError) class LegalHoldsListPoliciesResult(bb.Struct): __slots__ = [ "_policies_value", ] _has_required_fields = True def __init__(self, policies=None): self._policies_value = bb.NOT_SET if policies is not None: self.policies = policies # Instance attribute type: list of [LegalHoldPolicy] (validator is set below) policies = bb.Attribute("policies") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsListPoliciesResult, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsListPoliciesResult_validator = bv.Struct(LegalHoldsListPoliciesResult) class LegalHoldsPolicyCreateArg(bb.Struct): """ :ivar LegalHoldsPolicyCreateArg.name: Policy name. :ivar LegalHoldsPolicyCreateArg.description: A description of the legal hold policy. :ivar LegalHoldsPolicyCreateArg.members: List of team member IDs added to the hold. :ivar LegalHoldsPolicyCreateArg.start_date: start date of the legal hold policy. :ivar LegalHoldsPolicyCreateArg.end_date: end date of the legal hold policy. """ __slots__ = [ "_name_value", "_description_value", "_members_value", "_start_date_value", "_end_date_value", ] _has_required_fields = True def __init__(self, name=None, members=None, description=None, start_date=None, end_date=None): self._name_value = bb.NOT_SET self._description_value = bb.NOT_SET self._members_value = bb.NOT_SET self._start_date_value = bb.NOT_SET self._end_date_value = bb.NOT_SET if name is not None: self.name = name if description is not None: self.description = description if members is not None: self.members = members if start_date is not None: self.start_date = start_date if end_date is not None: self.end_date = end_date # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) description = bb.Attribute("description", nullable=True) # Instance attribute type: list of [str] (validator is set below) members = bb.Attribute("members") # Instance attribute type: datetime.datetime (validator is set below) start_date = bb.Attribute("start_date", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) end_date = bb.Attribute("end_date", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsPolicyCreateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsPolicyCreateArg_validator = bv.Struct(LegalHoldsPolicyCreateArg) class LegalHoldsPolicyCreateError(LegalHoldsError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LegalHoldsPolicyCreateError.start_date_is_later_than_end_date: Start date must be earlier than end date. :ivar LegalHoldsPolicyCreateError.empty_members_list: The users list must have at least one user. :ivar LegalHoldsPolicyCreateError.invalid_members: Some members in the members list are not valid to be placed under legal hold. :ivar LegalHoldsPolicyCreateError.number_of_users_on_hold_is_greater_than_hold_limitation: You cannot add more than 5 users in a legal hold. :ivar LegalHoldsPolicyCreateError.transient_error: Temporary infrastructure failure, please retry. :ivar LegalHoldsPolicyCreateError.name_must_be_unique: The name provided is already in use by another legal hold. :ivar LegalHoldsPolicyCreateError.team_exceeded_legal_hold_quota: Team exceeded legal hold quota. :ivar LegalHoldsPolicyCreateError.invalid_date: The provided date is invalid. """ # Attribute is overwritten below the class definition start_date_is_later_than_end_date = None # Attribute is overwritten below the class definition empty_members_list = None # Attribute is overwritten below the class definition invalid_members = None # Attribute is overwritten below the class definition number_of_users_on_hold_is_greater_than_hold_limitation = None # Attribute is overwritten below the class definition transient_error = None # Attribute is overwritten below the class definition name_must_be_unique = None # Attribute is overwritten below the class definition team_exceeded_legal_hold_quota = None # Attribute is overwritten below the class definition invalid_date = None def is_start_date_is_later_than_end_date(self): """ Check if the union tag is ``start_date_is_later_than_end_date``. :rtype: bool """ return self._tag == "start_date_is_later_than_end_date" def is_empty_members_list(self): """ Check if the union tag is ``empty_members_list``. :rtype: bool """ return self._tag == "empty_members_list" def is_invalid_members(self): """ Check if the union tag is ``invalid_members``. :rtype: bool """ return self._tag == "invalid_members" def is_number_of_users_on_hold_is_greater_than_hold_limitation(self): """ Check if the union tag is ``number_of_users_on_hold_is_greater_than_hold_limitation``. :rtype: bool """ return self._tag == "number_of_users_on_hold_is_greater_than_hold_limitation" def is_transient_error(self): """ Check if the union tag is ``transient_error``. :rtype: bool """ return self._tag == "transient_error" def is_name_must_be_unique(self): """ Check if the union tag is ``name_must_be_unique``. :rtype: bool """ return self._tag == "name_must_be_unique" def is_team_exceeded_legal_hold_quota(self): """ Check if the union tag is ``team_exceeded_legal_hold_quota``. :rtype: bool """ return self._tag == "team_exceeded_legal_hold_quota" def is_invalid_date(self): """ Check if the union tag is ``invalid_date``. :rtype: bool """ return self._tag == "invalid_date" def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsPolicyCreateError, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsPolicyCreateError_validator = bv.Union(LegalHoldsPolicyCreateError) class LegalHoldsPolicyReleaseArg(bb.Struct): """ :ivar LegalHoldsPolicyReleaseArg.id: The legal hold Id. """ __slots__ = [ "_id_value", ] _has_required_fields = True def __init__(self, id=None): self._id_value = bb.NOT_SET if id is not None: self.id = id # Instance attribute type: str (validator is set below) id = bb.Attribute("id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsPolicyReleaseArg, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsPolicyReleaseArg_validator = bv.Struct(LegalHoldsPolicyReleaseArg) class LegalHoldsPolicyReleaseError(LegalHoldsError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LegalHoldsPolicyReleaseError.legal_hold_performing_another_operation: Legal hold is currently performing another operation. :ivar LegalHoldsPolicyReleaseError.legal_hold_already_releasing: Legal hold is currently performing a release or is already released. :ivar LegalHoldsPolicyReleaseError.legal_hold_policy_not_found: Legal hold policy does not exist for ``LegalHoldsPolicyReleaseArg.id``. """ # Attribute is overwritten below the class definition legal_hold_performing_another_operation = None # Attribute is overwritten below the class definition legal_hold_already_releasing = None # Attribute is overwritten below the class definition legal_hold_policy_not_found = None def is_legal_hold_performing_another_operation(self): """ Check if the union tag is ``legal_hold_performing_another_operation``. :rtype: bool """ return self._tag == "legal_hold_performing_another_operation" def is_legal_hold_already_releasing(self): """ Check if the union tag is ``legal_hold_already_releasing``. :rtype: bool """ return self._tag == "legal_hold_already_releasing" def is_legal_hold_policy_not_found(self): """ Check if the union tag is ``legal_hold_policy_not_found``. :rtype: bool """ return self._tag == "legal_hold_policy_not_found" def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsPolicyReleaseError, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsPolicyReleaseError_validator = bv.Union(LegalHoldsPolicyReleaseError) class LegalHoldsPolicyUpdateArg(bb.Struct): """ :ivar LegalHoldsPolicyUpdateArg.id: The legal hold Id. :ivar LegalHoldsPolicyUpdateArg.name: Policy new name. :ivar LegalHoldsPolicyUpdateArg.description: Policy new description. :ivar LegalHoldsPolicyUpdateArg.members: List of team member IDs to apply the policy on. """ __slots__ = [ "_id_value", "_name_value", "_description_value", "_members_value", ] _has_required_fields = True def __init__(self, id=None, name=None, description=None, members=None): self._id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._description_value = bb.NOT_SET self._members_value = bb.NOT_SET if id is not None: self.id = id if name is not None: self.name = name if description is not None: self.description = description if members is not None: self.members = members # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name", nullable=True) # Instance attribute type: str (validator is set below) description = bb.Attribute("description", nullable=True) # Instance attribute type: list of [str] (validator is set below) members = bb.Attribute("members", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsPolicyUpdateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsPolicyUpdateArg_validator = bv.Struct(LegalHoldsPolicyUpdateArg) class LegalHoldsPolicyUpdateError(LegalHoldsError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar LegalHoldsPolicyUpdateError.transient_error: Temporary infrastructure failure, please retry. :ivar LegalHoldsPolicyUpdateError.inactive_legal_hold: Trying to release an inactive legal hold. :ivar LegalHoldsPolicyUpdateError.legal_hold_performing_another_operation: Legal hold is currently performing another operation. :ivar LegalHoldsPolicyUpdateError.invalid_members: Some members in the members list are not valid to be placed under legal hold. :ivar LegalHoldsPolicyUpdateError.number_of_users_on_hold_is_greater_than_hold_limitation: You cannot add more than 5 users in a legal hold. :ivar LegalHoldsPolicyUpdateError.empty_members_list: The users list must have at least one user. :ivar LegalHoldsPolicyUpdateError.name_must_be_unique: The name provided is already in use by another legal hold. :ivar LegalHoldsPolicyUpdateError.legal_hold_policy_not_found: Legal hold policy does not exist for ``LegalHoldsPolicyUpdateArg.id``. """ # Attribute is overwritten below the class definition transient_error = None # Attribute is overwritten below the class definition inactive_legal_hold = None # Attribute is overwritten below the class definition legal_hold_performing_another_operation = None # Attribute is overwritten below the class definition invalid_members = None # Attribute is overwritten below the class definition number_of_users_on_hold_is_greater_than_hold_limitation = None # Attribute is overwritten below the class definition empty_members_list = None # Attribute is overwritten below the class definition name_must_be_unique = None # Attribute is overwritten below the class definition legal_hold_policy_not_found = None def is_transient_error(self): """ Check if the union tag is ``transient_error``. :rtype: bool """ return self._tag == "transient_error" def is_inactive_legal_hold(self): """ Check if the union tag is ``inactive_legal_hold``. :rtype: bool """ return self._tag == "inactive_legal_hold" def is_legal_hold_performing_another_operation(self): """ Check if the union tag is ``legal_hold_performing_another_operation``. :rtype: bool """ return self._tag == "legal_hold_performing_another_operation" def is_invalid_members(self): """ Check if the union tag is ``invalid_members``. :rtype: bool """ return self._tag == "invalid_members" def is_number_of_users_on_hold_is_greater_than_hold_limitation(self): """ Check if the union tag is ``number_of_users_on_hold_is_greater_than_hold_limitation``. :rtype: bool """ return self._tag == "number_of_users_on_hold_is_greater_than_hold_limitation" def is_empty_members_list(self): """ Check if the union tag is ``empty_members_list``. :rtype: bool """ return self._tag == "empty_members_list" def is_name_must_be_unique(self): """ Check if the union tag is ``name_must_be_unique``. :rtype: bool """ return self._tag == "name_must_be_unique" def is_legal_hold_policy_not_found(self): """ Check if the union tag is ``legal_hold_policy_not_found``. :rtype: bool """ return self._tag == "legal_hold_policy_not_found" def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsPolicyUpdateError, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsPolicyUpdateError_validator = bv.Union(LegalHoldsPolicyUpdateError) class ListMemberAppsArg(bb.Struct): """ :ivar ListMemberAppsArg.team_member_id: The team member id. """ __slots__ = [ "_team_member_id_value", ] _has_required_fields = True def __init__(self, team_member_id=None): self._team_member_id_value = bb.NOT_SET if team_member_id is not None: self.team_member_id = team_member_id # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListMemberAppsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListMemberAppsArg_validator = bv.Struct(ListMemberAppsArg) class ListMemberAppsError(bb.Union): """ Error returned by :meth:`dropbox.dropbox_client.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 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 ) ListMemberAppsError_validator = bv.Union(ListMemberAppsError) class ListMemberAppsResult(bb.Struct): """ :ivar ListMemberAppsResult.linked_api_apps: List of third party applications linked by this team member. """ __slots__ = [ "_linked_api_apps_value", ] _has_required_fields = True def __init__(self, linked_api_apps=None): self._linked_api_apps_value = bb.NOT_SET if linked_api_apps is not None: self.linked_api_apps = linked_api_apps # Instance attribute type: list of [ApiApp] (validator is set below) linked_api_apps = bb.Attribute("linked_api_apps") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListMemberAppsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListMemberAppsResult_validator = bv.Struct(ListMemberAppsResult) class ListMemberDevicesArg(bb.Struct): """ :ivar ListMemberDevicesArg.team_member_id: The team's member id. :ivar ListMemberDevicesArg.include_web_sessions: Whether to list web sessions of the team's member. :ivar ListMemberDevicesArg.include_desktop_clients: Whether to list linked desktop devices of the team's member. :ivar ListMemberDevicesArg.include_mobile_clients: Whether to list linked mobile devices of the team's member. """ __slots__ = [ "_team_member_id_value", "_include_web_sessions_value", "_include_desktop_clients_value", "_include_mobile_clients_value", ] _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 = bb.NOT_SET self._include_web_sessions_value = bb.NOT_SET self._include_desktop_clients_value = bb.NOT_SET self._include_mobile_clients_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id") # Instance attribute type: bool (validator is set below) include_web_sessions = bb.Attribute("include_web_sessions") # Instance attribute type: bool (validator is set below) include_desktop_clients = bb.Attribute("include_desktop_clients") # Instance attribute type: bool (validator is set below) include_mobile_clients = bb.Attribute("include_mobile_clients") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListMemberDevicesArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) ListMemberDevicesError_validator = bv.Union(ListMemberDevicesError) class ListMemberDevicesResult(bb.Struct): """ :ivar ListMemberDevicesResult.active_web_sessions: List of web sessions made by this team member. :ivar ListMemberDevicesResult.desktop_client_sessions: List of desktop clients used by this team member. :ivar ListMemberDevicesResult.mobile_client_sessions: List of mobile client used by this team member. """ __slots__ = [ "_active_web_sessions_value", "_desktop_client_sessions_value", "_mobile_client_sessions_value", ] _has_required_fields = False def __init__( self, active_web_sessions=None, desktop_client_sessions=None, mobile_client_sessions=None, ): self._active_web_sessions_value = bb.NOT_SET self._desktop_client_sessions_value = bb.NOT_SET self._mobile_client_sessions_value = bb.NOT_SET 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 # Instance attribute type: list of [ActiveWebSession] (validator is set below) active_web_sessions = bb.Attribute("active_web_sessions", nullable=True) # Instance attribute type: list of [DesktopClientSession] (validator is set below) desktop_client_sessions = bb.Attribute("desktop_client_sessions", nullable=True) # Instance attribute type: list of [MobileClientSession] (validator is set below) mobile_client_sessions = bb.Attribute("mobile_client_sessions", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListMemberDevicesResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListMemberDevicesResult_validator = bv.Struct(ListMemberDevicesResult) class ListMembersAppsArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps`. :ivar ListMembersAppsArg.cursor: At the first call to the :meth:`dropbox.dropbox_client.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", ] _has_required_fields = False def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListMembersAppsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListMembersAppsArg_validator = bv.Struct(ListMembersAppsArg) class ListMembersAppsError(bb.Union): """ Error returned by :meth:`dropbox.dropbox_client.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 ListMembersAppsError.reset: Indicates that the cursor has been invalidated. Call :meth:`dropbox.dropbox_client.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 ) ListMembersAppsError_validator = bv.Union(ListMembersAppsError) class ListMembersAppsResult(bb.Struct): """ Information returned by :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps`. :ivar ListMembersAppsResult.apps: The linked applications of each member of the team. :ivar ListMembersAppsResult.has_more: If true, then there are more apps available. Pass the cursor to :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps` to retrieve the rest. :ivar ListMembersAppsResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps` to receive the next sub list of team's applications. """ __slots__ = [ "_apps_value", "_has_more_value", "_cursor_value", ] _has_required_fields = True def __init__(self, apps=None, has_more=None, cursor=None): self._apps_value = bb.NOT_SET self._has_more_value = bb.NOT_SET self._cursor_value = bb.NOT_SET 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 # Instance attribute type: list of [MemberLinkedApps] (validator is set below) apps = bb.Attribute("apps") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListMembersAppsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListMembersAppsResult_validator = bv.Struct(ListMembersAppsResult) class ListMembersDevicesArg(bb.Struct): """ :ivar ListMembersDevicesArg.cursor: At the first call to the :meth:`dropbox.dropbox_client.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 ListMembersDevicesArg.include_web_sessions: Whether to list web sessions of the team members. :ivar ListMembersDevicesArg.include_desktop_clients: Whether to list desktop clients of the team members. :ivar ListMembersDevicesArg.include_mobile_clients: Whether to list mobile clients of the team members. """ __slots__ = [ "_cursor_value", "_include_web_sessions_value", "_include_desktop_clients_value", "_include_mobile_clients_value", ] _has_required_fields = False def __init__( self, cursor=None, include_web_sessions=None, include_desktop_clients=None, include_mobile_clients=None, ): self._cursor_value = bb.NOT_SET self._include_web_sessions_value = bb.NOT_SET self._include_desktop_clients_value = bb.NOT_SET self._include_mobile_clients_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) # Instance attribute type: bool (validator is set below) include_web_sessions = bb.Attribute("include_web_sessions") # Instance attribute type: bool (validator is set below) include_desktop_clients = bb.Attribute("include_desktop_clients") # Instance attribute type: bool (validator is set below) include_mobile_clients = bb.Attribute("include_mobile_clients") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListMembersDevicesArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ListMembersDevicesError.reset: Indicates that the cursor has been invalidated. Call :meth:`dropbox.dropbox_client.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 ) ListMembersDevicesError_validator = bv.Union(ListMembersDevicesError) class ListMembersDevicesResult(bb.Struct): """ :ivar ListMembersDevicesResult.devices: The devices of each member of the team. :ivar ListMembersDevicesResult.has_more: If true, then there are more devices available. Pass the cursor to :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_members_devices` to retrieve the rest. :ivar ListMembersDevicesResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_members_devices` to receive the next sub list of team's devices. """ __slots__ = [ "_devices_value", "_has_more_value", "_cursor_value", ] _has_required_fields = True def __init__(self, devices=None, has_more=None, cursor=None): self._devices_value = bb.NOT_SET self._has_more_value = bb.NOT_SET self._cursor_value = bb.NOT_SET 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 # Instance attribute type: list of [MemberDevices] (validator is set below) devices = bb.Attribute("devices") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListMembersDevicesResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListMembersDevicesResult_validator = bv.Struct(ListMembersDevicesResult) class ListTeamAppsArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps`. :ivar ListTeamAppsArg.cursor: At the first call to the :meth:`dropbox.dropbox_client.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", ] _has_required_fields = False def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListTeamAppsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ListTeamAppsArg_validator = bv.Struct(ListTeamAppsArg) class ListTeamAppsError(bb.Union): """ Error returned by :meth:`dropbox.dropbox_client.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 ListTeamAppsError.reset: Indicates that the cursor has been invalidated. Call :meth:`dropbox.dropbox_client.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 ) ListTeamAppsError_validator = bv.Union(ListTeamAppsError) class ListTeamAppsResult(bb.Struct): """ Information returned by :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps`. :ivar ListTeamAppsResult.apps: The linked applications of each member of the team. :ivar ListTeamAppsResult.has_more: If true, then there are more apps available. Pass the cursor to :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps` to retrieve the rest. :ivar ListTeamAppsResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps` to receive the next sub list of team's applications. """ __slots__ = [ "_apps_value", "_has_more_value", "_cursor_value", ] _has_required_fields = True def __init__(self, apps=None, has_more=None, cursor=None): self._apps_value = bb.NOT_SET self._has_more_value = bb.NOT_SET self._cursor_value = bb.NOT_SET 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 # Instance attribute type: list of [MemberLinkedApps] (validator is set below) apps = bb.Attribute("apps") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListTeamAppsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListTeamAppsResult_validator = bv.Struct(ListTeamAppsResult) class ListTeamDevicesArg(bb.Struct): """ :ivar ListTeamDevicesArg.cursor: At the first call to the :meth:`dropbox.dropbox_client.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 ListTeamDevicesArg.include_web_sessions: Whether to list web sessions of the team members. :ivar ListTeamDevicesArg.include_desktop_clients: Whether to list desktop clients of the team members. :ivar ListTeamDevicesArg.include_mobile_clients: Whether to list mobile clients of the team members. """ __slots__ = [ "_cursor_value", "_include_web_sessions_value", "_include_desktop_clients_value", "_include_mobile_clients_value", ] _has_required_fields = False def __init__( self, cursor=None, include_web_sessions=None, include_desktop_clients=None, include_mobile_clients=None, ): self._cursor_value = bb.NOT_SET self._include_web_sessions_value = bb.NOT_SET self._include_desktop_clients_value = bb.NOT_SET self._include_mobile_clients_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) # Instance attribute type: bool (validator is set below) include_web_sessions = bb.Attribute("include_web_sessions") # Instance attribute type: bool (validator is set below) include_desktop_clients = bb.Attribute("include_desktop_clients") # Instance attribute type: bool (validator is set below) include_mobile_clients = bb.Attribute("include_mobile_clients") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListTeamDevicesArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ListTeamDevicesError.reset: Indicates that the cursor has been invalidated. Call :meth:`dropbox.dropbox_client.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 ) ListTeamDevicesError_validator = bv.Union(ListTeamDevicesError) class ListTeamDevicesResult(bb.Struct): """ :ivar ListTeamDevicesResult.devices: The devices of each member of the team. :ivar ListTeamDevicesResult.has_more: If true, then there are more devices available. Pass the cursor to :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_team_devices` to retrieve the rest. :ivar ListTeamDevicesResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_team_devices` to receive the next sub list of team's devices. """ __slots__ = [ "_devices_value", "_has_more_value", "_cursor_value", ] _has_required_fields = True def __init__(self, devices=None, has_more=None, cursor=None): self._devices_value = bb.NOT_SET self._has_more_value = bb.NOT_SET self._cursor_value = bb.NOT_SET 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 # Instance attribute type: list of [MemberDevices] (validator is set below) devices = bb.Attribute("devices") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ListTeamDevicesResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ListTeamDevicesResult_validator = bv.Struct(ListTeamDevicesResult) class MemberAccess(bb.Struct): """ Specify access type a member should have when joined to a group. :ivar MemberAccess.user: Identity of a user. :ivar MemberAccess.access_type: Access type. """ __slots__ = [ "_user_value", "_access_type_value", ] _has_required_fields = True def __init__(self, user=None, access_type=None): self._user_value = bb.NOT_SET self._access_type_value = bb.NOT_SET if user is not None: self.user = user if access_type is not None: self.access_type = access_type # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: GroupAccessType (validator is set below) access_type = bb.Attribute("access_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAccess, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAccess_validator = bv.Struct(MemberAccess) class MemberAddArgBase(bb.Struct): """ :ivar MemberAddArgBase.member_given_name: Member's first name. :ivar MemberAddArgBase.member_surname: Member's last name. :ivar MemberAddArgBase.member_external_id: External ID for member. :ivar MemberAddArgBase.member_persistent_id: Persistent ID for member. This field is only available to teams using persistent ID SAML configuration. :ivar MemberAddArgBase.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 MemberAddArgBase.is_directory_restricted: Whether a user is directory restricted. """ __slots__ = [ "_member_email_value", "_member_given_name_value", "_member_surname_value", "_member_external_id_value", "_member_persistent_id_value", "_send_welcome_email_value", "_is_directory_restricted_value", ] _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, is_directory_restricted=None, ): self._member_email_value = bb.NOT_SET self._member_given_name_value = bb.NOT_SET self._member_surname_value = bb.NOT_SET self._member_external_id_value = bb.NOT_SET self._member_persistent_id_value = bb.NOT_SET self._send_welcome_email_value = bb.NOT_SET self._is_directory_restricted_value = bb.NOT_SET 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 is_directory_restricted is not None: self.is_directory_restricted = is_directory_restricted # Instance attribute type: str (validator is set below) member_email = bb.Attribute("member_email") # Instance attribute type: str (validator is set below) member_given_name = bb.Attribute("member_given_name", nullable=True) # Instance attribute type: str (validator is set below) member_surname = bb.Attribute("member_surname", nullable=True) # Instance attribute type: str (validator is set below) member_external_id = bb.Attribute("member_external_id", nullable=True) # Instance attribute type: str (validator is set below) member_persistent_id = bb.Attribute("member_persistent_id", nullable=True) # Instance attribute type: bool (validator is set below) send_welcome_email = bb.Attribute("send_welcome_email") # Instance attribute type: bool (validator is set below) is_directory_restricted = bb.Attribute("is_directory_restricted", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAddArgBase, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddArgBase_validator = bv.Struct(MemberAddArgBase) class MemberAddArg(MemberAddArgBase): __slots__ = [ "_role_value", ] _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, is_directory_restricted=None, role=None, ): super(MemberAddArg, self).__init__( member_email, member_given_name, member_surname, member_external_id, member_persistent_id, send_welcome_email, is_directory_restricted, ) self._role_value = bb.NOT_SET if role is not None: self.role = role # Instance attribute type: AdminTier (validator is set below) role = bb.Attribute("role", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAddArg, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddArg_validator = bv.Struct(MemberAddArg) class MemberAddResultBase(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar MemberAddResultBase.team_license_limit: Team is already full. The organization has no available licenses. :vartype MemberAddResultBase.team_license_limit: str :ivar MemberAddResultBase.free_team_member_limit_reached: Team is already full. The free team member limit has been reached. :vartype MemberAddResultBase.free_team_member_limit_reached: str :ivar MemberAddResultBase.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. :vartype MemberAddResultBase.user_already_on_team: str :ivar MemberAddResultBase.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. :vartype MemberAddResultBase.user_on_another_team: str :ivar MemberAddResultBase.user_already_paired: User is already paired. :vartype MemberAddResultBase.user_already_paired: str :ivar MemberAddResultBase.user_migration_failed: User migration has failed. :vartype MemberAddResultBase.user_migration_failed: str :ivar MemberAddResultBase.duplicate_external_member_id: A user with the given external member ID already exists on the team (including in recoverable state). :vartype MemberAddResultBase.duplicate_external_member_id: str :ivar MemberAddResultBase.duplicate_member_persistent_id: A user with the given persistent ID already exists on the team (including in recoverable state). :vartype MemberAddResultBase.duplicate_member_persistent_id: str :ivar MemberAddResultBase.persistent_id_disabled: Persistent ID is only available to teams with persistent ID SAML configuration. Please contact Dropbox for more information. :vartype MemberAddResultBase.persistent_id_disabled: str :ivar MemberAddResultBase.user_creation_failed: User creation has failed. :vartype MemberAddResultBase.user_creation_failed: str """ _catch_all = None @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: MemberAddResultBase """ 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: MemberAddResultBase """ 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: MemberAddResultBase """ 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: MemberAddResultBase """ 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: MemberAddResultBase """ 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: MemberAddResultBase """ 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: MemberAddResultBase """ 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: MemberAddResultBase """ 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: MemberAddResultBase """ 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: MemberAddResultBase """ return cls("user_creation_failed", val) 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_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(MemberAddResultBase, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddResultBase_validator = bv.Union(MemberAddResultBase) class MemberAddResult(MemberAddResultBase): """ 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 MemberAddResult.success: Describes a user that was successfully added to the team. :vartype MemberAddResult.success: TeamMemberInfo """ @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) def is_success(self): """ Check if the union tag is ``success``. :rtype: bool """ return self._tag == "success" 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 _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAddResult, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddResult_validator = bv.Union(MemberAddResult) class MemberAddV2Arg(MemberAddArgBase): __slots__ = [ "_role_ids_value", ] _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, is_directory_restricted=None, role_ids=None, ): super(MemberAddV2Arg, self).__init__( member_email, member_given_name, member_surname, member_external_id, member_persistent_id, send_welcome_email, is_directory_restricted, ) self._role_ids_value = bb.NOT_SET if role_ids is not None: self.role_ids = role_ids # Instance attribute type: list of [str] (validator is set below) role_ids = bb.Attribute("role_ids", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAddV2Arg, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddV2Arg_validator = bv.Struct(MemberAddV2Arg) class MemberAddV2Result(MemberAddResultBase): """ 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 MemberAddV2Result.success: Describes a user that was successfully added to the team. :vartype MemberAddV2Result.success: TeamMemberInfoV2 """ _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 TeamMemberInfoV2 val: :rtype: MemberAddV2Result """ return cls("success", val) 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 get_success(self): """ Describes a user that was successfully added to the team. Only call this if :meth:`is_success` is true. :rtype: TeamMemberInfoV2 """ if not self.is_success(): raise AttributeError("tag 'success' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAddV2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddV2Result_validator = bv.Union(MemberAddV2Result) class MemberDevices(bb.Struct): """ Information on devices of a team's member. :ivar MemberDevices.team_member_id: The member unique Id. :ivar MemberDevices.web_sessions: List of web sessions made by this team member. :ivar MemberDevices.desktop_clients: List of desktop clients by this team member. :ivar MemberDevices.mobile_clients: List of mobile clients by this team member. """ __slots__ = [ "_team_member_id_value", "_web_sessions_value", "_desktop_clients_value", "_mobile_clients_value", ] _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 = bb.NOT_SET self._web_sessions_value = bb.NOT_SET self._desktop_clients_value = bb.NOT_SET self._mobile_clients_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id") # Instance attribute type: list of [ActiveWebSession] (validator is set below) web_sessions = bb.Attribute("web_sessions", nullable=True) # Instance attribute type: list of [DesktopClientSession] (validator is set below) desktop_clients = bb.Attribute("desktop_clients", nullable=True) # Instance attribute type: list of [MobileClientSession] (validator is set below) mobile_clients = bb.Attribute("mobile_clients", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberDevices, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberDevices_validator = bv.Struct(MemberDevices) class MemberLinkedApps(bb.Struct): """ Information on linked applications of a team member. :ivar MemberLinkedApps.team_member_id: The member unique Id. :ivar MemberLinkedApps.linked_api_apps: List of third party applications linked by this team member. """ __slots__ = [ "_team_member_id_value", "_linked_api_apps_value", ] _has_required_fields = True def __init__(self, team_member_id=None, linked_api_apps=None): self._team_member_id_value = bb.NOT_SET self._linked_api_apps_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id") # Instance attribute type: list of [ApiApp] (validator is set below) linked_api_apps = bb.Attribute("linked_api_apps") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberLinkedApps, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberLinkedApps_validator = bv.Struct(MemberLinkedApps) class MemberProfile(bb.Struct): """ Basic member profile. :ivar MemberProfile.team_member_id: ID of user as a member of a team. :ivar 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 MemberProfile.account_id: A user's account identifier. :ivar MemberProfile.email: Email address of user. :ivar MemberProfile.email_verified: Is true if the user's email is verified to be owned by the user. :ivar MemberProfile.secondary_emails: Secondary emails of a user. :ivar MemberProfile.status: The user's status as a member of a specific team. :ivar MemberProfile.name: Representations for a person's name. :ivar 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 MemberProfile.invited_on: The date and time the user was invited to the team (contains value only when the member's status matches ``TeamMemberStatus.invited``). :ivar MemberProfile.joined_on: The date and time the user joined as a member of a specific team. :ivar 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 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 MemberProfile.is_directory_restricted: Whether the user is a directory restricted user. :ivar MemberProfile.profile_photo_url: URL for the photo representing the user, if one is set. """ __slots__ = [ "_team_member_id_value", "_external_id_value", "_account_id_value", "_email_value", "_email_verified_value", "_secondary_emails_value", "_status_value", "_name_value", "_membership_type_value", "_invited_on_value", "_joined_on_value", "_suspended_on_value", "_persistent_id_value", "_is_directory_restricted_value", "_profile_photo_url_value", ] _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, secondary_emails=None, invited_on=None, joined_on=None, suspended_on=None, persistent_id=None, is_directory_restricted=None, profile_photo_url=None, ): self._team_member_id_value = bb.NOT_SET self._external_id_value = bb.NOT_SET self._account_id_value = bb.NOT_SET self._email_value = bb.NOT_SET self._email_verified_value = bb.NOT_SET self._secondary_emails_value = bb.NOT_SET self._status_value = bb.NOT_SET self._name_value = bb.NOT_SET self._membership_type_value = bb.NOT_SET self._invited_on_value = bb.NOT_SET self._joined_on_value = bb.NOT_SET self._suspended_on_value = bb.NOT_SET self._persistent_id_value = bb.NOT_SET self._is_directory_restricted_value = bb.NOT_SET self._profile_photo_url_value = bb.NOT_SET 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 secondary_emails is not None: self.secondary_emails = secondary_emails 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 invited_on is not None: self.invited_on = invited_on 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 # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id") # Instance attribute type: str (validator is set below) external_id = bb.Attribute("external_id", nullable=True) # Instance attribute type: str (validator is set below) account_id = bb.Attribute("account_id", nullable=True) # Instance attribute type: str (validator is set below) email = bb.Attribute("email") # Instance attribute type: bool (validator is set below) email_verified = bb.Attribute("email_verified") # Instance attribute type: list of [secondary_emails.SecondaryEmail] (validator is set below) secondary_emails = bb.Attribute("secondary_emails", nullable=True) # Instance attribute type: TeamMemberStatus (validator is set below) status = bb.Attribute("status", user_defined=True) # Instance attribute type: users.Name (validator is set below) name = bb.Attribute("name", user_defined=True) # Instance attribute type: TeamMembershipType (validator is set below) membership_type = bb.Attribute("membership_type", user_defined=True) # Instance attribute type: datetime.datetime (validator is set below) invited_on = bb.Attribute("invited_on", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) joined_on = bb.Attribute("joined_on", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) suspended_on = bb.Attribute("suspended_on", nullable=True) # Instance attribute type: str (validator is set below) persistent_id = bb.Attribute("persistent_id", nullable=True) # Instance attribute type: bool (validator is set below) is_directory_restricted = bb.Attribute("is_directory_restricted", nullable=True) # Instance attribute type: str (validator is set below) profile_photo_url = bb.Attribute("profile_photo_url", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberProfile, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 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 ) MemberSelectorError_validator = bv.Union(MemberSelectorError) class MembersAddArgBase(bb.Struct): """ :ivar MembersAddArgBase.force_async: Whether to force the add to happen asynchronously. """ __slots__ = [ "_force_async_value", ] _has_required_fields = False def __init__(self, force_async=None): self._force_async_value = bb.NOT_SET if force_async is not None: self.force_async = force_async # Instance attribute type: bool (validator is set below) force_async = bb.Attribute("force_async") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersAddArgBase, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersAddArgBase_validator = bv.Struct(MembersAddArgBase) class MembersAddArg(MembersAddArgBase): """ :ivar MembersAddArg.new_members: Details of new members to be added to the team. """ __slots__ = [ "_new_members_value", ] _has_required_fields = True def __init__(self, new_members=None, force_async=None): super(MembersAddArg, self).__init__(force_async) self._new_members_value = bb.NOT_SET if new_members is not None: self.new_members = new_members # Instance attribute type: list of [MemberAddArg] (validator is set below) new_members = bb.Attribute("new_members") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersAddArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 MembersAddJobStatus.complete: The asynchronous job has finished. For each member that was specified in the parameter :class:`MembersAddArg` that was provided to :meth:`dropbox.dropbox_client.Dropbox.team_members_add`, a corresponding item is returned in this list. :vartype MembersAddJobStatus.complete: list of [MemberAddResult] :ivar MembersAddJobStatus.failed: The asynchronous job returned an error. The string contains an error message. :vartype MembersAddJobStatus.failed: str """ @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_client.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 ) MembersAddJobStatus_validator = bv.Union(MembersAddJobStatus) class MembersAddJobStatusV2Result(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 MembersAddJobStatusV2Result.complete: The asynchronous job has finished. For each member that was specified in the parameter :class:`MembersAddArg` that was provided to :meth:`dropbox.dropbox_client.Dropbox.team_members_add`, a corresponding item is returned in this list. :vartype MembersAddJobStatusV2Result.complete: list of [MemberAddV2Result] :ivar MembersAddJobStatusV2Result.failed: The asynchronous job returned an error. The string contains an error message. :vartype MembersAddJobStatusV2Result.failed: str """ _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 list of [MemberAddV2Result] val: :rtype: MembersAddJobStatusV2Result """ 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: MembersAddJobStatusV2Result """ 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 asynchronous job has finished. For each member that was specified in the parameter :class:`MembersAddArg` that was provided to :meth:`dropbox.dropbox_client.Dropbox.team_members_add`, a corresponding item is returned in this list. Only call this if :meth:`is_complete` is true. :rtype: list of [MemberAddV2Result] """ 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(MembersAddJobStatusV2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersAddJobStatusV2Result_validator = bv.Union(MembersAddJobStatusV2Result) 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 ) MembersAddLaunch_validator = bv.Union(MembersAddLaunch) class MembersAddLaunchV2Result(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. """ _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 list of [MemberAddV2Result] val: :rtype: MembersAddLaunchV2Result """ 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: list of [MemberAddV2Result] """ 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(MembersAddLaunchV2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersAddLaunchV2Result_validator = bv.Union(MembersAddLaunchV2Result) class MembersAddV2Arg(MembersAddArgBase): """ :ivar MembersAddV2Arg.new_members: Details of new members to be added to the team. """ __slots__ = [ "_new_members_value", ] _has_required_fields = True def __init__(self, new_members=None, force_async=None): super(MembersAddV2Arg, self).__init__(force_async) self._new_members_value = bb.NOT_SET if new_members is not None: self.new_members = new_members # Instance attribute type: list of [MemberAddV2Arg] (validator is set below) new_members = bb.Attribute("new_members") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersAddV2Arg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersAddV2Arg_validator = bv.Struct(MembersAddV2Arg) class MembersDeactivateBaseArg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify the user account. :ivar MembersDeactivateBaseArg.user: Identity of user to remove/suspend/have their files moved. """ __slots__ = [ "_user_value", ] _has_required_fields = True def __init__(self, user=None): self._user_value = bb.NOT_SET if user is not None: self.user = user # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersDeactivateBaseArg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersDeactivateBaseArg_validator = bv.Struct(MembersDeactivateBaseArg) class MembersDataTransferArg(MembersDeactivateBaseArg): """ :ivar MembersDataTransferArg.transfer_dest_id: Files from the deleted member account will be transferred to this user. :ivar MembersDataTransferArg.transfer_admin_id: Errors during the transfer process will be sent via email to this user. """ __slots__ = [ "_transfer_dest_id_value", "_transfer_admin_id_value", ] _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 = bb.NOT_SET self._transfer_admin_id_value = bb.NOT_SET 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 # Instance attribute type: UserSelectorArg (validator is set below) transfer_dest_id = bb.Attribute("transfer_dest_id", user_defined=True) # Instance attribute type: UserSelectorArg (validator is set below) transfer_admin_id = bb.Attribute("transfer_admin_id", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersDataTransferArg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersDataTransferArg_validator = bv.Struct(MembersDataTransferArg) class MembersDeactivateArg(MembersDeactivateBaseArg): """ :ivar MembersDeactivateArg.wipe_data: If provided, controls if the user's data will be deleted on their linked devices. """ __slots__ = [ "_wipe_data_value", ] _has_required_fields = True def __init__(self, user=None, wipe_data=None): super(MembersDeactivateArg, self).__init__(user) self._wipe_data_value = bb.NOT_SET if wipe_data is not None: self.wipe_data = wipe_data # Instance attribute type: bool (validator is set below) wipe_data = bb.Attribute("wipe_data") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersDeactivateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) MembersDeactivateError_validator = bv.Union(MembersDeactivateError) class MembersPermanentlyDeleteFilesError(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 MembersPermanentlyDeleteFilesError.transfer_in_progress: Cannot permanently delete files while it's being transferred. :ivar MembersPermanentlyDeleteFilesError.already_transferred: Cannot permanently delete files that have already been transferred. :ivar MembersPermanentlyDeleteFilesError.already_transferred_or_deleted: Cannot permanently delete files that have already been transferred or deleted. """ # Attribute is overwritten below the class definition transfer_in_progress = None # Attribute is overwritten below the class definition already_transferred = None # Attribute is overwritten below the class definition already_transferred_or_deleted = None def is_transfer_in_progress(self): """ Check if the union tag is ``transfer_in_progress``. :rtype: bool """ return self._tag == "transfer_in_progress" def is_already_transferred(self): """ Check if the union tag is ``already_transferred``. :rtype: bool """ return self._tag == "already_transferred" def is_already_transferred_or_deleted(self): """ Check if the union tag is ``already_transferred_or_deleted``. :rtype: bool """ return self._tag == "already_transferred_or_deleted" def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersPermanentlyDeleteFilesError, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersPermanentlyDeleteFilesError_validator = bv.Union(MembersPermanentlyDeleteFilesError) class MembersDeleteFormerMemberFilesError(MembersPermanentlyDeleteFilesError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar MembersDeleteFormerMemberFilesError.user_not_removed: User has not been removed from the team. """ # Attribute is overwritten below the class definition user_not_removed = None def is_user_not_removed(self): """ Check if the union tag is ``user_not_removed``. :rtype: bool """ return self._tag == "user_not_removed" def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersDeleteFormerMemberFilesError, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersDeleteFormerMemberFilesError_validator = bv.Union(MembersDeleteFormerMemberFilesError) class MembersDeleteProfilePhotoArg(bb.Struct): """ :ivar MembersDeleteProfilePhotoArg.user: Identity of the user whose profile photo will be deleted. """ __slots__ = [ "_user_value", ] _has_required_fields = True def __init__(self, user=None): self._user_value = bb.NOT_SET if user is not None: self.user = user # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersDeleteProfilePhotoArg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersDeleteProfilePhotoArg_validator = bv.Struct(MembersDeleteProfilePhotoArg) class MembersDeleteProfilePhotoError(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 MembersDeleteProfilePhotoError.set_profile_disallowed: Modifying deleted users is not allowed. """ _catch_all = "other" # Attribute is overwritten below the class definition set_profile_disallowed = None # Attribute is overwritten below the class definition other = None 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_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(MembersDeleteProfilePhotoError, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersDeleteProfilePhotoError_validator = bv.Union(MembersDeleteProfilePhotoError) class MembersFormerMemberArg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify a former team member. :ivar MembersFormerMemberArg.user: Identity of user whose files will be permanently deleted. """ __slots__ = [ "_user_value", ] _has_required_fields = True def __init__(self, user=None): self._user_value = bb.NOT_SET if user is not None: self.user = user # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersFormerMemberArg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersFormerMemberArg_validator = bv.Struct(MembersFormerMemberArg) class MembersGetAvailableTeamMemberRolesResult(bb.Struct): """ Available TeamMemberRole for the connected team. To be used with :meth:`dropbox.dropbox_client.Dropbox.team_members_set_admin_permissions`. :ivar MembersGetAvailableTeamMemberRolesResult.roles: Available roles. """ __slots__ = [ "_roles_value", ] _has_required_fields = True def __init__(self, roles=None): self._roles_value = bb.NOT_SET if roles is not None: self.roles = roles # Instance attribute type: list of [TeamMemberRole] (validator is set below) roles = bb.Attribute("roles") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersGetAvailableTeamMemberRolesResult, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersGetAvailableTeamMemberRolesResult_validator = bv.Struct( MembersGetAvailableTeamMemberRolesResult ) class MembersGetInfoArgs(bb.Struct): """ :ivar MembersGetInfoArgs.members: List of team members. """ __slots__ = [ "_members_value", ] _has_required_fields = True def __init__(self, members=None): self._members_value = bb.NOT_SET if members is not None: self.members = members # Instance attribute type: list of [UserSelectorArg] (validator is set below) members = bb.Attribute("members") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersGetInfoArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) MembersGetInfoError_validator = bv.Union(MembersGetInfoError) class MembersGetInfoItemBase(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar MembersGetInfoItemBase.id_not_found: An ID that was provided as a parameter to :meth:`dropbox.dropbox_client.Dropbox.team_members_get_info` or :meth:`dropbox.dropbox_client.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. :vartype MembersGetInfoItemBase.id_not_found: str """ _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: MembersGetInfoItemBase """ return cls("id_not_found", 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 get_id_not_found(self): """ An ID that was provided as a parameter to :meth:`dropbox.dropbox_client.Dropbox.team_members_get_info` or :meth:`dropbox.dropbox_client.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 _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersGetInfoItemBase, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersGetInfoItemBase_validator = bv.Union(MembersGetInfoItemBase) class MembersGetInfoItem(MembersGetInfoItemBase): """ Describes a result obtained for a single user whose id was specified in the parameter of :meth:`dropbox.dropbox_client.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 MembersGetInfoItem.member_info: Info about a team member. :vartype MembersGetInfoItem.member_info: TeamMemberInfo """ @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_member_info(self): """ Check if the union tag is ``member_info``. :rtype: bool """ return self._tag == "member_info" 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 ) MembersGetInfoItem_validator = bv.Union(MembersGetInfoItem) class MembersGetInfoItemV2(MembersGetInfoItemBase): """ Describes a result obtained for a single user whose id was specified in the parameter of :meth:`dropbox.dropbox_client.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 MembersGetInfoItemV2.member_info: Info about a team member. :vartype MembersGetInfoItemV2.member_info: TeamMemberInfoV2 """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @classmethod def member_info(cls, val): """ Create an instance of this class set to the ``member_info`` tag with value ``val``. :param TeamMemberInfoV2 val: :rtype: MembersGetInfoItemV2 """ return cls("member_info", val) def is_member_info(self): """ Check if the union tag is ``member_info``. :rtype: bool """ return self._tag == "member_info" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_member_info(self): """ Info about a team member. Only call this if :meth:`is_member_info` is true. :rtype: TeamMemberInfoV2 """ 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(MembersGetInfoItemV2, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersGetInfoItemV2_validator = bv.Union(MembersGetInfoItemV2) class MembersGetInfoV2Arg(bb.Struct): """ :ivar MembersGetInfoV2Arg.members: List of team members. """ __slots__ = [ "_members_value", ] _has_required_fields = True def __init__(self, members=None): self._members_value = bb.NOT_SET if members is not None: self.members = members # Instance attribute type: list of [UserSelectorArg] (validator is set below) members = bb.Attribute("members") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersGetInfoV2Arg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersGetInfoV2Arg_validator = bv.Struct(MembersGetInfoV2Arg) class MembersGetInfoV2Result(bb.Struct): """ :ivar MembersGetInfoV2Result.members_info: List of team members info. """ __slots__ = [ "_members_info_value", ] _has_required_fields = True def __init__(self, members_info=None): self._members_info_value = bb.NOT_SET if members_info is not None: self.members_info = members_info # Instance attribute type: list of [MembersGetInfoItemV2] (validator is set below) members_info = bb.Attribute("members_info") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersGetInfoV2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersGetInfoV2Result_validator = bv.Struct(MembersGetInfoV2Result) class MembersInfo(bb.Struct): """ :ivar MembersInfo.team_member_ids: Team member IDs of the users under this hold. :ivar MembersInfo.permanently_deleted_users: The number of permanently deleted users that were under this hold. """ __slots__ = [ "_team_member_ids_value", "_permanently_deleted_users_value", ] _has_required_fields = True def __init__(self, team_member_ids=None, permanently_deleted_users=None): self._team_member_ids_value = bb.NOT_SET self._permanently_deleted_users_value = bb.NOT_SET if team_member_ids is not None: self.team_member_ids = team_member_ids if permanently_deleted_users is not None: self.permanently_deleted_users = permanently_deleted_users # Instance attribute type: list of [str] (validator is set below) team_member_ids = bb.Attribute("team_member_ids") # Instance attribute type: int (validator is set below) permanently_deleted_users = bb.Attribute("permanently_deleted_users") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersInfo, self)._process_custom_annotations(annotation_type, field_path, processor) MembersInfo_validator = bv.Struct(MembersInfo) class MembersListArg(bb.Struct): """ :ivar MembersListArg.limit: Number of results to return per call. :ivar MembersListArg.include_removed: Whether to return removed members. """ __slots__ = [ "_limit_value", "_include_removed_value", ] _has_required_fields = False def __init__(self, limit=None, include_removed=None): self._limit_value = bb.NOT_SET self._include_removed_value = bb.NOT_SET if limit is not None: self.limit = limit if include_removed is not None: self.include_removed = include_removed # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") # Instance attribute type: bool (validator is set below) include_removed = bb.Attribute("include_removed") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersListArg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersListArg_validator = bv.Struct(MembersListArg) class MembersListContinueArg(bb.Struct): """ :ivar MembersListContinueArg.cursor: Indicates from what point to get the next set of members. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersListContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 ) MembersListError_validator = bv.Union(MembersListError) class MembersListResult(bb.Struct): """ :ivar MembersListResult.members: List of team members. :ivar MembersListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_members_list_continue` to obtain the additional members. :ivar MembersListResult.has_more: Is true if there are additional team members that have not been returned yet. An additional call to :meth:`dropbox.dropbox_client.Dropbox.team_members_list_continue` can retrieve them. """ __slots__ = [ "_members_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, members=None, cursor=None, has_more=None): self._members_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [TeamMemberInfo] (validator is set below) members = bb.Attribute("members") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersListResult, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersListResult_validator = bv.Struct(MembersListResult) class MembersListV2Result(bb.Struct): """ :ivar MembersListV2Result.members: List of team members. :ivar MembersListV2Result.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_members_list_continue` to obtain the additional members. :ivar MembersListV2Result.has_more: Is true if there are additional team members that have not been returned yet. An additional call to :meth:`dropbox.dropbox_client.Dropbox.team_members_list_continue` can retrieve them. """ __slots__ = [ "_members_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, members=None, cursor=None, has_more=None): self._members_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [TeamMemberInfoV2] (validator is set below) members = bb.Attribute("members") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersListV2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersListV2Result_validator = bv.Struct(MembersListV2Result) class MembersRecoverArg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify the user account. :ivar MembersRecoverArg.user: Identity of user to recover. """ __slots__ = [ "_user_value", ] _has_required_fields = True def __init__(self, user=None): self._user_value = bb.NOT_SET if user is not None: self.user = user # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersRecoverArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 MembersRecoverError.user_unrecoverable: The user is not recoverable. :ivar MembersRecoverError.user_not_in_team: The user is not a member of the team. :ivar 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 ) MembersRecoverError_validator = bv.Union(MembersRecoverError) class MembersRemoveArg(MembersDeactivateArg): """ :ivar MembersRemoveArg.transfer_dest_id: If provided, files from the deleted member account will be transferred to this user. :ivar 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 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``. :ivar MembersRemoveArg.retain_team_shares: If provided, allows removed users to keep access to Dropbox folders (not Dropbox Paper folders) already explicitly shared with them (not via a group) when they are downgraded to a Basic account. Users will not retain access to folders that do not allow external sharing. In order to keep the sharing relationships, the arguments ``wipe_data`` should be set to ``False`` and ``keep_account`` should be set to ``True``. :ivar MembersRemoveArg.permanently_delete_files: Permanently delete the data in the deleted member's account. After permanent deletion, the data is no longer available to be transferred to a different user. """ __slots__ = [ "_transfer_dest_id_value", "_transfer_admin_id_value", "_keep_account_value", "_retain_team_shares_value", "_permanently_delete_files_value", ] _has_required_fields = True def __init__( self, user=None, wipe_data=None, transfer_dest_id=None, transfer_admin_id=None, keep_account=None, retain_team_shares=None, permanently_delete_files=None, ): super(MembersRemoveArg, self).__init__(user, wipe_data) self._transfer_dest_id_value = bb.NOT_SET self._transfer_admin_id_value = bb.NOT_SET self._keep_account_value = bb.NOT_SET self._retain_team_shares_value = bb.NOT_SET self._permanently_delete_files_value = bb.NOT_SET 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 if retain_team_shares is not None: self.retain_team_shares = retain_team_shares if permanently_delete_files is not None: self.permanently_delete_files = permanently_delete_files # Instance attribute type: UserSelectorArg (validator is set below) transfer_dest_id = bb.Attribute("transfer_dest_id", nullable=True, user_defined=True) # Instance attribute type: UserSelectorArg (validator is set below) transfer_admin_id = bb.Attribute("transfer_admin_id", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) keep_account = bb.Attribute("keep_account") # Instance attribute type: bool (validator is set below) retain_team_shares = bb.Attribute("retain_team_shares") # Instance attribute type: bool (validator is set below) permanently_delete_files = bb.Attribute("permanently_delete_files") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersRemoveArg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersRemoveArg_validator = bv.Struct(MembersRemoveArg) class MembersTransferFilesError(MembersPermanentlyDeleteFilesError): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar MembersTransferFilesError.removed_and_transfer_dest_should_differ: Expected removed user and transfer_dest user to be different. :ivar MembersTransferFilesError.removed_and_transfer_admin_should_differ: Expected removed user and transfer_admin user to be different. :ivar MembersTransferFilesError.transfer_dest_user_not_found: No matching user found for the argument transfer_dest_id. :ivar MembersTransferFilesError.transfer_dest_user_not_in_team: The provided transfer_dest_id does not exist on this team. :ivar MembersTransferFilesError.transfer_admin_user_not_in_team: The provided transfer_admin_id does not exist on this team. :ivar MembersTransferFilesError.transfer_admin_user_not_found: No matching user found for the argument transfer_admin_id. :ivar MembersTransferFilesError.unspecified_transfer_admin_id: The transfer_admin_id argument must be provided when file transfer is requested. :ivar MembersTransferFilesError.transfer_admin_is_not_admin: Specified transfer_admin user is not a team admin. :ivar 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 ) 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 MembersRemoveError.remove_last_admin: The user is the last admin of the team, so it cannot be removed from it. :ivar MembersRemoveError.cannot_keep_account_and_transfer: Cannot keep account and transfer the data to another user at the same time. :ivar 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 MembersRemoveError.cannot_keep_account_and_permanently_delete: Cannot keep account and permanently delete the data at the same time. To keep the account the argument permanently_delete_files should be set to ``False``. :ivar MembersRemoveError.email_address_too_long_to_be_disabled: The email address of the user is too long to be disabled. :ivar MembersRemoveError.cannot_keep_invited_user_account: Cannot keep account of an invited user. :ivar MembersRemoveError.cannot_retain_shares_when_data_wiped: Cannot retain team shares when the user's data is marked for deletion on their linked devices. The argument wipe_data should be set to ``False``. :ivar MembersRemoveError.cannot_retain_shares_when_no_account_kept: The user's account must be kept in order to retain team shares. The argument keep_account should be set to ``True``. :ivar MembersRemoveError.cannot_retain_shares_when_team_external_sharing_off: Externally sharing files, folders, and links must be enabled in team settings in order to retain team shares for the user. :ivar MembersRemoveError.cannot_keep_account: Only a team admin, can convert this account to a Basic account. :ivar MembersRemoveError.cannot_keep_account_under_legal_hold: This user content is currently being held. To convert this member's account to a Basic account, you'll first need to remove them from the hold. :ivar MembersRemoveError.cannot_keep_account_required_to_sign_tos: To convert this member to a Basic account, they'll first need to sign in to Dropbox and agree to the terms of service. :ivar MembersRemoveError.cannot_permanently_delete_and_transfer: Cannot permanently delete files and transfer the data to another user at the same time. :ivar MembersRemoveError.member_is_transfer_destination: This user is the active destination of an in-progress file transfer. Wait for the transfer to complete before removing this member. """ # 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 cannot_keep_account_and_permanently_delete = 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 # Attribute is overwritten below the class definition cannot_retain_shares_when_data_wiped = None # Attribute is overwritten below the class definition cannot_retain_shares_when_no_account_kept = None # Attribute is overwritten below the class definition cannot_retain_shares_when_team_external_sharing_off = None # Attribute is overwritten below the class definition cannot_keep_account = None # Attribute is overwritten below the class definition cannot_keep_account_under_legal_hold = None # Attribute is overwritten below the class definition cannot_keep_account_required_to_sign_tos = None # Attribute is overwritten below the class definition cannot_permanently_delete_and_transfer = None # Attribute is overwritten below the class definition member_is_transfer_destination = 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_cannot_keep_account_and_permanently_delete(self): """ Check if the union tag is ``cannot_keep_account_and_permanently_delete``. :rtype: bool """ return self._tag == "cannot_keep_account_and_permanently_delete" 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 is_cannot_retain_shares_when_data_wiped(self): """ Check if the union tag is ``cannot_retain_shares_when_data_wiped``. :rtype: bool """ return self._tag == "cannot_retain_shares_when_data_wiped" def is_cannot_retain_shares_when_no_account_kept(self): """ Check if the union tag is ``cannot_retain_shares_when_no_account_kept``. :rtype: bool """ return self._tag == "cannot_retain_shares_when_no_account_kept" def is_cannot_retain_shares_when_team_external_sharing_off(self): """ Check if the union tag is ``cannot_retain_shares_when_team_external_sharing_off``. :rtype: bool """ return self._tag == "cannot_retain_shares_when_team_external_sharing_off" def is_cannot_keep_account(self): """ Check if the union tag is ``cannot_keep_account``. :rtype: bool """ return self._tag == "cannot_keep_account" def is_cannot_keep_account_under_legal_hold(self): """ Check if the union tag is ``cannot_keep_account_under_legal_hold``. :rtype: bool """ return self._tag == "cannot_keep_account_under_legal_hold" def is_cannot_keep_account_required_to_sign_tos(self): """ Check if the union tag is ``cannot_keep_account_required_to_sign_tos``. :rtype: bool """ return self._tag == "cannot_keep_account_required_to_sign_tos" def is_cannot_permanently_delete_and_transfer(self): """ Check if the union tag is ``cannot_permanently_delete_and_transfer``. :rtype: bool """ return self._tag == "cannot_permanently_delete_and_transfer" def is_member_is_transfer_destination(self): """ Check if the union tag is ``member_is_transfer_destination``. :rtype: bool """ return self._tag == "member_is_transfer_destination" def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersRemoveError, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) MembersSendWelcomeError_validator = bv.Union(MembersSendWelcomeError) class MembersSetPermissions2Arg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify the user account. :ivar MembersSetPermissions2Arg.user: Identity of user whose role will be set. :ivar MembersSetPermissions2Arg.new_roles: The new roles for the member. Send empty list to make user member only. For now, only up to one role is allowed. """ __slots__ = [ "_user_value", "_new_roles_value", ] _has_required_fields = True def __init__(self, user=None, new_roles=None): self._user_value = bb.NOT_SET self._new_roles_value = bb.NOT_SET if user is not None: self.user = user if new_roles is not None: self.new_roles = new_roles # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: list of [str] (validator is set below) new_roles = bb.Attribute("new_roles", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersSetPermissions2Arg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersSetPermissions2Arg_validator = bv.Struct(MembersSetPermissions2Arg) class MembersSetPermissions2Error(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 MembersSetPermissions2Error.last_admin: Cannot remove the admin setting of the last admin. :ivar MembersSetPermissions2Error.user_not_in_team: The user is not a member of the team. :ivar MembersSetPermissions2Error.cannot_set_permissions: Cannot remove/grant permissions. This can happen if the team member is suspended. :ivar MembersSetPermissions2Error.role_not_found: No matching role found. At least one of the provided new_roles does not exist on this team. """ _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 role_not_found = 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_role_not_found(self): """ Check if the union tag is ``role_not_found``. :rtype: bool """ return self._tag == "role_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(MembersSetPermissions2Error, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersSetPermissions2Error_validator = bv.Union(MembersSetPermissions2Error) class MembersSetPermissions2Result(bb.Struct): """ :ivar MembersSetPermissions2Result.team_member_id: The member ID of the user to which the change was applied. :ivar MembersSetPermissions2Result.roles: The roles after the change. Empty in case the user become a non-admin. """ __slots__ = [ "_team_member_id_value", "_roles_value", ] _has_required_fields = True def __init__(self, team_member_id=None, roles=None): self._team_member_id_value = bb.NOT_SET self._roles_value = bb.NOT_SET if team_member_id is not None: self.team_member_id = team_member_id if roles is not None: self.roles = roles # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id") # Instance attribute type: list of [TeamMemberRole] (validator is set below) roles = bb.Attribute("roles", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersSetPermissions2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersSetPermissions2Result_validator = bv.Struct(MembersSetPermissions2Result) class MembersSetPermissionsArg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify the user account. :ivar MembersSetPermissionsArg.user: Identity of user whose role will be set. :ivar MembersSetPermissionsArg.new_role: The new role of the member. """ __slots__ = [ "_user_value", "_new_role_value", ] _has_required_fields = True def __init__(self, user=None, new_role=None): self._user_value = bb.NOT_SET self._new_role_value = bb.NOT_SET if user is not None: self.user = user if new_role is not None: self.new_role = new_role # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: AdminTier (validator is set below) new_role = bb.Attribute("new_role", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersSetPermissionsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 MembersSetPermissionsError.last_admin: Cannot remove the admin setting of the last admin. :ivar MembersSetPermissionsError.user_not_in_team: The user is not a member of the team. :ivar MembersSetPermissionsError.cannot_set_permissions: Cannot remove/grant permissions. :ivar 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 ) MembersSetPermissionsError_validator = bv.Union(MembersSetPermissionsError) class MembersSetPermissionsResult(bb.Struct): """ :ivar MembersSetPermissionsResult.team_member_id: The member ID of the user to which the change was applied. :ivar MembersSetPermissionsResult.role: The role after the change. """ __slots__ = [ "_team_member_id_value", "_role_value", ] _has_required_fields = True def __init__(self, team_member_id=None, role=None): self._team_member_id_value = bb.NOT_SET self._role_value = bb.NOT_SET if team_member_id is not None: self.team_member_id = team_member_id if role is not None: self.role = role # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id") # Instance attribute type: AdminTier (validator is set below) role = bb.Attribute("role", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersSetPermissionsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 MembersSetProfileArg.user: Identity of user whose profile will be set. :ivar MembersSetProfileArg.new_email: New email for member. :ivar MembersSetProfileArg.new_external_id: New external ID for member. :ivar MembersSetProfileArg.new_given_name: New given name for member. :ivar MembersSetProfileArg.new_surname: New surname for member. :ivar MembersSetProfileArg.new_persistent_id: New persistent ID. This field only available to teams using persistent ID SAML configuration. :ivar MembersSetProfileArg.new_is_directory_restricted: New value for whether the user is a directory restricted user. """ __slots__ = [ "_user_value", "_new_email_value", "_new_external_id_value", "_new_given_name_value", "_new_surname_value", "_new_persistent_id_value", "_new_is_directory_restricted_value", ] _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 = bb.NOT_SET self._new_email_value = bb.NOT_SET self._new_external_id_value = bb.NOT_SET self._new_given_name_value = bb.NOT_SET self._new_surname_value = bb.NOT_SET self._new_persistent_id_value = bb.NOT_SET self._new_is_directory_restricted_value = bb.NOT_SET 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 # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: str (validator is set below) new_email = bb.Attribute("new_email", nullable=True) # Instance attribute type: str (validator is set below) new_external_id = bb.Attribute("new_external_id", nullable=True) # Instance attribute type: str (validator is set below) new_given_name = bb.Attribute("new_given_name", nullable=True) # Instance attribute type: str (validator is set below) new_surname = bb.Attribute("new_surname", nullable=True) # Instance attribute type: str (validator is set below) new_persistent_id = bb.Attribute("new_persistent_id", nullable=True) # Instance attribute type: bool (validator is set below) new_is_directory_restricted = bb.Attribute("new_is_directory_restricted", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersSetProfileArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 MembersSetProfileError.external_id_and_new_external_id_unsafe: It is unsafe to use both external_id and new_external_id. :ivar MembersSetProfileError.no_new_data_specified: None of new_email, new_given_name, new_surname, or new_external_id are specified. :ivar MembersSetProfileError.email_reserved_for_other_user: Email is already reserved for another user. :ivar MembersSetProfileError.external_id_used_by_other_user: The external ID is already in use by another team member. :ivar MembersSetProfileError.set_profile_disallowed: Modifying deleted users is not allowed. :ivar MembersSetProfileError.param_cannot_be_empty: Parameter new_email cannot be empty. :ivar MembersSetProfileError.persistent_id_disabled: Persistent ID is only available to teams with persistent ID SAML configuration. Please contact Dropbox for more information. :ivar MembersSetProfileError.persistent_id_used_by_other_user: The persistent ID is already in use by another team member. :ivar 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 ) MembersSetProfileError_validator = bv.Union(MembersSetProfileError) class MembersSetProfilePhotoArg(bb.Struct): """ :ivar MembersSetProfilePhotoArg.user: Identity of the user whose profile photo will be set. :ivar MembersSetProfilePhotoArg.photo: Image to set as the member's new profile photo. """ __slots__ = [ "_user_value", "_photo_value", ] _has_required_fields = True def __init__(self, user=None, photo=None): self._user_value = bb.NOT_SET self._photo_value = bb.NOT_SET if user is not None: self.user = user if photo is not None: self.photo = photo # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: account.PhotoSourceArg (validator is set below) photo = bb.Attribute("photo", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersSetProfilePhotoArg, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersSetProfilePhotoArg_validator = bv.Struct(MembersSetProfilePhotoArg) class MembersSetProfilePhotoError(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 MembersSetProfilePhotoError.set_profile_disallowed: Modifying deleted users is not allowed. """ _catch_all = "other" # Attribute is overwritten below the class definition set_profile_disallowed = None # Attribute is overwritten below the class definition other = None @classmethod def photo_error(cls, val): """ Create an instance of this class set to the ``photo_error`` tag with value ``val``. :param account.SetProfilePhotoError val: :rtype: MembersSetProfilePhotoError """ return cls("photo_error", val) 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_photo_error(self): """ Check if the union tag is ``photo_error``. :rtype: bool """ return self._tag == "photo_error" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_photo_error(self): """ Only call this if :meth:`is_photo_error` is true. :rtype: account.SetProfilePhotoError """ if not self.is_photo_error(): raise AttributeError("tag 'photo_error' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersSetProfilePhotoError, self)._process_custom_annotations( annotation_type, field_path, processor ) MembersSetProfilePhotoError_validator = bv.Union(MembersSetProfilePhotoError) 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 MembersSuspendError.suspend_inactive_user: The user is not active, so it cannot be suspended. :ivar MembersSuspendError.suspend_last_admin: The user is the last admin of the team, so it cannot be suspended. :ivar 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 ) 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 MembersTransferFormerMembersFilesError.user_data_is_being_transferred: The user's data is being transferred. Please wait some time before retrying. :ivar MembersTransferFormerMembersFilesError.user_not_removed: No matching removed user found for the argument user. :ivar MembersTransferFormerMembersFilesError.user_data_cannot_be_transferred: User files aren't transferable anymore. :ivar 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 ) 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 MembersUnsuspendArg.user: Identity of user to unsuspend. """ __slots__ = [ "_user_value", ] _has_required_fields = True def __init__(self, user=None): self._user_value = bb.NOT_SET if user is not None: self.user = user # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MembersUnsuspendArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 MembersUnsuspendError.unsuspend_non_suspended_member: The user is unsuspended, so it cannot be unsuspended again. :ivar 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 ) 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 MobileClientPlatform.iphone: Official Dropbox iPhone client. :ivar MobileClientPlatform.ipad: Official Dropbox iPad client. :ivar MobileClientPlatform.android: Official Dropbox Android client. :ivar MobileClientPlatform.windows_phone: Official Dropbox Windows phone client. :ivar 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 ) MobileClientPlatform_validator = bv.Union(MobileClientPlatform) class MobileClientSession(DeviceSession): """ Information about linked Dropbox mobile client sessions. :ivar MobileClientSession.device_name: The device name. :ivar MobileClientSession.client_type: The mobile application type. :ivar MobileClientSession.client_version: The dropbox client version. :ivar MobileClientSession.os_version: The hosting OS version. :ivar MobileClientSession.last_carrier: last carrier used by the device. """ __slots__ = [ "_device_name_value", "_client_type_value", "_client_version_value", "_os_version_value", "_last_carrier_value", ] _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 = bb.NOT_SET self._client_type_value = bb.NOT_SET self._client_version_value = bb.NOT_SET self._os_version_value = bb.NOT_SET self._last_carrier_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) device_name = bb.Attribute("device_name") # Instance attribute type: MobileClientPlatform (validator is set below) client_type = bb.Attribute("client_type", user_defined=True) # Instance attribute type: str (validator is set below) client_version = bb.Attribute("client_version", nullable=True) # Instance attribute type: str (validator is set below) os_version = bb.Attribute("os_version", nullable=True) # Instance attribute type: str (validator is set below) last_carrier = bb.Attribute("last_carrier", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MobileClientSession, self)._process_custom_annotations( annotation_type, field_path, processor ) MobileClientSession_validator = bv.Struct(MobileClientSession) class NamespaceMetadata(bb.Struct): """ Properties of a namespace. :ivar NamespaceMetadata.name: The name of this namespace. :ivar NamespaceMetadata.namespace_id: The ID of this namespace. :ivar NamespaceMetadata.namespace_type: The type of this namespace. :ivar 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. :ivar NamespaceMetadata.quota_limit: The quota limit in bytes for this namespace tree. Only applicable to team folders. """ __slots__ = [ "_name_value", "_namespace_id_value", "_namespace_type_value", "_team_member_id_value", "_quota_limit_value", ] _has_required_fields = True def __init__( self, name=None, namespace_id=None, namespace_type=None, team_member_id=None, quota_limit=None, ): self._name_value = bb.NOT_SET self._namespace_id_value = bb.NOT_SET self._namespace_type_value = bb.NOT_SET self._team_member_id_value = bb.NOT_SET self._quota_limit_value = bb.NOT_SET 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 if quota_limit is not None: self.quota_limit = quota_limit # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) namespace_id = bb.Attribute("namespace_id") # Instance attribute type: NamespaceType (validator is set below) namespace_type = bb.Attribute("namespace_type", user_defined=True) # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id", nullable=True) # Instance attribute type: int (validator is set below) quota_limit = bb.Attribute("quota_limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NamespaceMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 NamespaceType.app_folder: App sandbox folder. :ivar NamespaceType.shared_folder: Shared folder. :ivar NamespaceType.team_folder: Top-level team-owned folder. :ivar NamespaceType.team_member_folder: Team member's home folder. :ivar NamespaceType.team_member_root: Team member's root 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 team_member_root = 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_team_member_root(self): """ Check if the union tag is ``team_member_root``. :rtype: bool """ return self._tag == "team_member_root" 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 ) 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 RemoveCustomQuotaResult.success: Successfully removed user. :vartype RemoveCustomQuotaResult.success: UserSelectorArg :ivar RemoveCustomQuotaResult.invalid_user: Invalid user (not in team). :vartype RemoveCustomQuotaResult.invalid_user: UserSelectorArg """ _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 ) RemoveCustomQuotaResult_validator = bv.Union(RemoveCustomQuotaResult) class RemovedStatus(bb.Struct): """ :ivar RemovedStatus.is_recoverable: True if the removed team member is recoverable. :ivar RemovedStatus.is_disconnected: True if the team member's account was converted to individual account. """ __slots__ = [ "_is_recoverable_value", "_is_disconnected_value", ] _has_required_fields = True def __init__(self, is_recoverable=None, is_disconnected=None): self._is_recoverable_value = bb.NOT_SET self._is_disconnected_value = bb.NOT_SET if is_recoverable is not None: self.is_recoverable = is_recoverable if is_disconnected is not None: self.is_disconnected = is_disconnected # Instance attribute type: bool (validator is set below) is_recoverable = bb.Attribute("is_recoverable") # Instance attribute type: bool (validator is set below) is_disconnected = bb.Attribute("is_disconnected") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RemovedStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) RemovedStatus_validator = bv.Struct(RemovedStatus) class ResendSecondaryEmailResult(bb.Union): """ Result of trying to resend verification email to a secondary email address. 'success' is the only value indicating that a verification email was successfully sent. The other values explain the type of error that occurred, and include the email for which the error occurred. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar ResendSecondaryEmailResult.success: A verification email was successfully sent to the secondary email address. :vartype ResendSecondaryEmailResult.success: str :ivar ResendSecondaryEmailResult.not_pending: This secondary email address is not pending for the user. :vartype ResendSecondaryEmailResult.not_pending: str :ivar ResendSecondaryEmailResult.rate_limited: Too many emails are being sent to this email address. Please try again later. :vartype ResendSecondaryEmailResult.rate_limited: str """ _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 str val: :rtype: ResendSecondaryEmailResult """ return cls("success", val) @classmethod def not_pending(cls, val): """ Create an instance of this class set to the ``not_pending`` tag with value ``val``. :param str val: :rtype: ResendSecondaryEmailResult """ return cls("not_pending", val) @classmethod def rate_limited(cls, val): """ Create an instance of this class set to the ``rate_limited`` tag with value ``val``. :param str val: :rtype: ResendSecondaryEmailResult """ return cls("rate_limited", val) def is_success(self): """ Check if the union tag is ``success``. :rtype: bool """ return self._tag == "success" def is_not_pending(self): """ Check if the union tag is ``not_pending``. :rtype: bool """ return self._tag == "not_pending" def is_rate_limited(self): """ Check if the union tag is ``rate_limited``. :rtype: bool """ return self._tag == "rate_limited" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_success(self): """ A verification email was successfully sent to the secondary email address. Only call this if :meth:`is_success` is true. :rtype: str """ if not self.is_success(): raise AttributeError("tag 'success' not set") return self._value def get_not_pending(self): """ This secondary email address is not pending for the user. Only call this if :meth:`is_not_pending` is true. :rtype: str """ if not self.is_not_pending(): raise AttributeError("tag 'not_pending' not set") return self._value def get_rate_limited(self): """ Too many emails are being sent to this email address. Please try again later. Only call this if :meth:`is_rate_limited` is true. :rtype: str """ if not self.is_rate_limited(): raise AttributeError("tag 'rate_limited' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(ResendSecondaryEmailResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ResendSecondaryEmailResult_validator = bv.Union(ResendSecondaryEmailResult) class ResendVerificationEmailArg(bb.Struct): """ :ivar ResendVerificationEmailArg.emails_to_resend: List of users and secondary emails to resend verification emails to. """ __slots__ = [ "_emails_to_resend_value", ] _has_required_fields = True def __init__(self, emails_to_resend=None): self._emails_to_resend_value = bb.NOT_SET if emails_to_resend is not None: self.emails_to_resend = emails_to_resend # Instance attribute type: list of [UserSecondaryEmailsArg] (validator is set below) emails_to_resend = bb.Attribute("emails_to_resend") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ResendVerificationEmailArg, self)._process_custom_annotations( annotation_type, field_path, processor ) ResendVerificationEmailArg_validator = bv.Struct(ResendVerificationEmailArg) class ResendVerificationEmailResult(bb.Struct): """ List of users and resend results. """ __slots__ = [ "_results_value", ] _has_required_fields = True def __init__(self, results=None): self._results_value = bb.NOT_SET if results is not None: self.results = results # Instance attribute type: list of [UserResendResult] (validator is set below) results = bb.Attribute("results") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ResendVerificationEmailResult, self)._process_custom_annotations( annotation_type, field_path, processor ) ResendVerificationEmailResult_validator = bv.Struct(ResendVerificationEmailResult) class RevokeDesktopClientArg(DeviceSessionArg): """ :ivar 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", ] _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 = bb.NOT_SET if delete_on_unlink is not None: self.delete_on_unlink = delete_on_unlink # Instance attribute type: bool (validator is set below) delete_on_unlink = bb.Attribute("delete_on_unlink") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RevokeDesktopClientArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 RevokeDeviceSessionArg.web_session: End an active session. :vartype RevokeDeviceSessionArg.web_session: DeviceSessionArg :ivar RevokeDeviceSessionArg.desktop_client: Unlink a linked desktop device. :vartype RevokeDeviceSessionArg.desktop_client: RevokeDesktopClientArg :ivar RevokeDeviceSessionArg.mobile_client: Unlink a linked mobile device. :vartype RevokeDeviceSessionArg.mobile_client: DeviceSessionArg """ _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 ) RevokeDeviceSessionArg_validator = bv.Union(RevokeDeviceSessionArg) class RevokeDeviceSessionBatchArg(bb.Struct): __slots__ = [ "_revoke_devices_value", ] _has_required_fields = True def __init__(self, revoke_devices=None): self._revoke_devices_value = bb.NOT_SET if revoke_devices is not None: self.revoke_devices = revoke_devices # Instance attribute type: list of [RevokeDeviceSessionArg] (validator is set below) revoke_devices = bb.Attribute("revoke_devices") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RevokeDeviceSessionBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) RevokeDeviceSessionBatchError_validator = bv.Union(RevokeDeviceSessionBatchError) class RevokeDeviceSessionBatchResult(bb.Struct): __slots__ = [ "_revoke_devices_status_value", ] _has_required_fields = True def __init__(self, revoke_devices_status=None): self._revoke_devices_status_value = bb.NOT_SET if revoke_devices_status is not None: self.revoke_devices_status = revoke_devices_status # Instance attribute type: list of [RevokeDeviceSessionStatus] (validator is set below) revoke_devices_status = bb.Attribute("revoke_devices_status") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RevokeDeviceSessionBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 RevokeDeviceSessionError.device_session_not_found: Device session not found. :ivar 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 ) RevokeDeviceSessionError_validator = bv.Union(RevokeDeviceSessionError) class RevokeDeviceSessionStatus(bb.Struct): """ :ivar RevokeDeviceSessionStatus.success: Result of the revoking request. :ivar RevokeDeviceSessionStatus.error_type: The error cause in case of a failure. """ __slots__ = [ "_success_value", "_error_type_value", ] _has_required_fields = True def __init__(self, success=None, error_type=None): self._success_value = bb.NOT_SET self._error_type_value = bb.NOT_SET if success is not None: self.success = success if error_type is not None: self.error_type = error_type # Instance attribute type: bool (validator is set below) success = bb.Attribute("success") # Instance attribute type: RevokeDeviceSessionError (validator is set below) error_type = bb.Attribute("error_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(RevokeDeviceSessionStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) RevokeDeviceSessionStatus_validator = bv.Struct(RevokeDeviceSessionStatus) class RevokeLinkedApiAppArg(bb.Struct): """ :ivar RevokeLinkedApiAppArg.app_id: The application's unique id. :ivar RevokeLinkedApiAppArg.team_member_id: The unique id of the member owning the device. :ivar RevokeLinkedApiAppArg.keep_app_folder: Field is deprecated. This flag is not longer supported, the application dedicated folder (in case the application uses one) will be kept. """ __slots__ = [ "_app_id_value", "_team_member_id_value", "_keep_app_folder_value", ] _has_required_fields = True def __init__(self, app_id=None, team_member_id=None, keep_app_folder=None): self._app_id_value = bb.NOT_SET self._team_member_id_value = bb.NOT_SET self._keep_app_folder_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) app_id = bb.Attribute("app_id") # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id") # Instance attribute type: bool (validator is set below) keep_app_folder = bb.Attribute("keep_app_folder") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RevokeLinkedApiAppArg, self)._process_custom_annotations( annotation_type, field_path, processor ) RevokeLinkedApiAppArg_validator = bv.Struct(RevokeLinkedApiAppArg) class RevokeLinkedApiAppBatchArg(bb.Struct): __slots__ = [ "_revoke_linked_app_value", ] _has_required_fields = True def __init__(self, revoke_linked_app=None): self._revoke_linked_app_value = bb.NOT_SET if revoke_linked_app is not None: self.revoke_linked_app = revoke_linked_app # Instance attribute type: list of [RevokeLinkedApiAppArg] (validator is set below) revoke_linked_app = bb.Attribute("revoke_linked_app") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RevokeLinkedApiAppBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) RevokeLinkedApiAppBatchArg_validator = bv.Struct(RevokeLinkedApiAppBatchArg) class RevokeLinkedAppBatchError(bb.Union): """ Error returned by :meth:`dropbox.dropbox_client.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 ) RevokeLinkedAppBatchError_validator = bv.Union(RevokeLinkedAppBatchError) class RevokeLinkedAppBatchResult(bb.Struct): __slots__ = [ "_revoke_linked_app_status_value", ] _has_required_fields = True def __init__(self, revoke_linked_app_status=None): self._revoke_linked_app_status_value = bb.NOT_SET if revoke_linked_app_status is not None: self.revoke_linked_app_status = revoke_linked_app_status # Instance attribute type: list of [RevokeLinkedAppStatus] (validator is set below) revoke_linked_app_status = bb.Attribute("revoke_linked_app_status") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RevokeLinkedAppBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) RevokeLinkedAppBatchResult_validator = bv.Struct(RevokeLinkedAppBatchResult) class RevokeLinkedAppError(bb.Union): """ Error returned by :meth:`dropbox.dropbox_client.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 RevokeLinkedAppError.app_not_found: Application not found. :ivar RevokeLinkedAppError.member_not_found: Member not found. :ivar RevokeLinkedAppError.app_folder_removal_not_supported: App folder removal is not supported. """ _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 app_folder_removal_not_supported = 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_app_folder_removal_not_supported(self): """ Check if the union tag is ``app_folder_removal_not_supported``. :rtype: bool """ return self._tag == "app_folder_removal_not_supported" 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 ) RevokeLinkedAppError_validator = bv.Union(RevokeLinkedAppError) class RevokeLinkedAppStatus(bb.Struct): """ :ivar RevokeLinkedAppStatus.success: Result of the revoking request. :ivar RevokeLinkedAppStatus.error_type: The error cause in case of a failure. """ __slots__ = [ "_success_value", "_error_type_value", ] _has_required_fields = True def __init__(self, success=None, error_type=None): self._success_value = bb.NOT_SET self._error_type_value = bb.NOT_SET if success is not None: self.success = success if error_type is not None: self.error_type = error_type # Instance attribute type: bool (validator is set below) success = bb.Attribute("success") # Instance attribute type: RevokeLinkedAppError (validator is set below) error_type = bb.Attribute("error_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(RevokeLinkedAppStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) RevokeLinkedAppStatus_validator = bv.Struct(RevokeLinkedAppStatus) class SetCustomQuotaArg(bb.Struct): """ :ivar SetCustomQuotaArg.users_and_quotas: List of users and their custom quotas. """ __slots__ = [ "_users_and_quotas_value", ] _has_required_fields = True def __init__(self, users_and_quotas=None): self._users_and_quotas_value = bb.NOT_SET if users_and_quotas is not None: self.users_and_quotas = users_and_quotas # Instance attribute type: list of [UserCustomQuotaArg] (validator is set below) users_and_quotas = bb.Attribute("users_and_quotas") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SetCustomQuotaArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) SetCustomQuotaError_validator = bv.Union(SetCustomQuotaError) class SharingAllowlistAddArgs(bb.Struct): """ Structure representing Approve List entries. Domain and emails are supported. At least one entry of any supported type is required. :ivar SharingAllowlistAddArgs.domains: List of domains represented by valid string representation (RFC-1034/5). :ivar SharingAllowlistAddArgs.emails: List of emails represented by valid string representation (RFC-5322/822). """ __slots__ = [ "_domains_value", "_emails_value", ] _has_required_fields = False def __init__(self, domains=None, emails=None): self._domains_value = bb.NOT_SET self._emails_value = bb.NOT_SET if domains is not None: self.domains = domains if emails is not None: self.emails = emails # Instance attribute type: list of [str] (validator is set below) domains = bb.Attribute("domains", nullable=True) # Instance attribute type: list of [str] (validator is set below) emails = bb.Attribute("emails", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistAddArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistAddArgs_validator = bv.Struct(SharingAllowlistAddArgs) class SharingAllowlistAddError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar SharingAllowlistAddError.malformed_entry: One of provided values is not valid. :vartype SharingAllowlistAddError.malformed_entry: str :ivar SharingAllowlistAddError.no_entries_provided: Neither single domain nor email provided. :ivar SharingAllowlistAddError.too_many_entries_provided: Too many entries provided within one call. :ivar SharingAllowlistAddError.team_limit_reached: Team entries limit reached. :ivar SharingAllowlistAddError.unknown_error: Unknown error. :ivar SharingAllowlistAddError.entries_already_exist: Entries already exists. :vartype SharingAllowlistAddError.entries_already_exist: str """ _catch_all = "other" # Attribute is overwritten below the class definition no_entries_provided = None # Attribute is overwritten below the class definition too_many_entries_provided = None # Attribute is overwritten below the class definition team_limit_reached = None # Attribute is overwritten below the class definition unknown_error = None # Attribute is overwritten below the class definition other = None @classmethod def malformed_entry(cls, val): """ Create an instance of this class set to the ``malformed_entry`` tag with value ``val``. :param str val: :rtype: SharingAllowlistAddError """ return cls("malformed_entry", val) @classmethod def entries_already_exist(cls, val): """ Create an instance of this class set to the ``entries_already_exist`` tag with value ``val``. :param str val: :rtype: SharingAllowlistAddError """ return cls("entries_already_exist", val) def is_malformed_entry(self): """ Check if the union tag is ``malformed_entry``. :rtype: bool """ return self._tag == "malformed_entry" def is_no_entries_provided(self): """ Check if the union tag is ``no_entries_provided``. :rtype: bool """ return self._tag == "no_entries_provided" def is_too_many_entries_provided(self): """ Check if the union tag is ``too_many_entries_provided``. :rtype: bool """ return self._tag == "too_many_entries_provided" def is_team_limit_reached(self): """ Check if the union tag is ``team_limit_reached``. :rtype: bool """ return self._tag == "team_limit_reached" def is_unknown_error(self): """ Check if the union tag is ``unknown_error``. :rtype: bool """ return self._tag == "unknown_error" def is_entries_already_exist(self): """ Check if the union tag is ``entries_already_exist``. :rtype: bool """ return self._tag == "entries_already_exist" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_malformed_entry(self): """ One of provided values is not valid. Only call this if :meth:`is_malformed_entry` is true. :rtype: str """ if not self.is_malformed_entry(): raise AttributeError("tag 'malformed_entry' not set") return self._value def get_entries_already_exist(self): """ Entries already exists. Only call this if :meth:`is_entries_already_exist` is true. :rtype: str """ if not self.is_entries_already_exist(): raise AttributeError("tag 'entries_already_exist' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistAddError, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistAddError_validator = bv.Union(SharingAllowlistAddError) class SharingAllowlistAddResponse(bb.Struct): """ This struct is empty. The comment here is intentionally emitted to avoid indentation issues with Stone. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistAddResponse, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistAddResponse_validator = bv.Struct(SharingAllowlistAddResponse) class SharingAllowlistListArg(bb.Struct): """ :ivar SharingAllowlistListArg.limit: The number of entries to fetch at one time. """ __slots__ = [ "_limit_value", ] _has_required_fields = False def __init__(self, limit=None): self._limit_value = bb.NOT_SET if limit is not None: self.limit = limit # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistListArg, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistListArg_validator = bv.Struct(SharingAllowlistListArg) class SharingAllowlistListContinueArg(bb.Struct): """ :ivar SharingAllowlistListContinueArg.cursor: The cursor returned from a previous call to :meth:`dropbox.dropbox_client.Dropbox.team_sharing_allowlist_list` or :meth:`dropbox.dropbox_client.Dropbox.team_sharing_allowlist_list_continue`. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistListContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistListContinueArg_validator = bv.Struct(SharingAllowlistListContinueArg) class SharingAllowlistListContinueError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar SharingAllowlistListContinueError.invalid_cursor: Provided cursor is not valid. """ _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(SharingAllowlistListContinueError, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistListContinueError_validator = bv.Union(SharingAllowlistListContinueError) class SharingAllowlistListError(bb.Struct): """ This struct is empty. The comment here is intentionally emitted to avoid indentation issues with Stone. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistListError, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistListError_validator = bv.Struct(SharingAllowlistListError) class SharingAllowlistListResponse(bb.Struct): """ :ivar SharingAllowlistListResponse.domains: List of domains represented by valid string representation (RFC-1034/5). :ivar SharingAllowlistListResponse.emails: List of emails represented by valid string representation (RFC-5322/822). :ivar SharingAllowlistListResponse.cursor: If this is nonempty, there are more entries that can be fetched with :meth:`dropbox.dropbox_client.Dropbox.team_sharing_allowlist_list_continue`. :ivar SharingAllowlistListResponse.has_more: if true indicates that more entries can be fetched with :meth:`dropbox.dropbox_client.Dropbox.team_sharing_allowlist_list_continue`. """ __slots__ = [ "_domains_value", "_emails_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, domains=None, emails=None, cursor=None, has_more=None): self._domains_value = bb.NOT_SET self._emails_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET if domains is not None: self.domains = domains if emails is not None: self.emails = emails if cursor is not None: self.cursor = cursor if has_more is not None: self.has_more = has_more # Instance attribute type: list of [str] (validator is set below) domains = bb.Attribute("domains") # Instance attribute type: list of [str] (validator is set below) emails = bb.Attribute("emails") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistListResponse, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistListResponse_validator = bv.Struct(SharingAllowlistListResponse) class SharingAllowlistRemoveArgs(bb.Struct): """ :ivar SharingAllowlistRemoveArgs.domains: List of domains represented by valid string representation (RFC-1034/5). :ivar SharingAllowlistRemoveArgs.emails: List of emails represented by valid string representation (RFC-5322/822). """ __slots__ = [ "_domains_value", "_emails_value", ] _has_required_fields = False def __init__(self, domains=None, emails=None): self._domains_value = bb.NOT_SET self._emails_value = bb.NOT_SET if domains is not None: self.domains = domains if emails is not None: self.emails = emails # Instance attribute type: list of [str] (validator is set below) domains = bb.Attribute("domains", nullable=True) # Instance attribute type: list of [str] (validator is set below) emails = bb.Attribute("emails", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistRemoveArgs, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistRemoveArgs_validator = bv.Struct(SharingAllowlistRemoveArgs) class SharingAllowlistRemoveError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar SharingAllowlistRemoveError.malformed_entry: One of provided values is not valid. :vartype SharingAllowlistRemoveError.malformed_entry: str :ivar SharingAllowlistRemoveError.entries_do_not_exist: One or more provided values do not exist. :vartype SharingAllowlistRemoveError.entries_do_not_exist: str :ivar SharingAllowlistRemoveError.no_entries_provided: Neither single domain nor email provided. :ivar SharingAllowlistRemoveError.too_many_entries_provided: Too many entries provided within one call. :ivar SharingAllowlistRemoveError.unknown_error: Unknown error. """ _catch_all = "other" # Attribute is overwritten below the class definition no_entries_provided = None # Attribute is overwritten below the class definition too_many_entries_provided = None # Attribute is overwritten below the class definition unknown_error = None # Attribute is overwritten below the class definition other = None @classmethod def malformed_entry(cls, val): """ Create an instance of this class set to the ``malformed_entry`` tag with value ``val``. :param str val: :rtype: SharingAllowlistRemoveError """ return cls("malformed_entry", val) @classmethod def entries_do_not_exist(cls, val): """ Create an instance of this class set to the ``entries_do_not_exist`` tag with value ``val``. :param str val: :rtype: SharingAllowlistRemoveError """ return cls("entries_do_not_exist", val) def is_malformed_entry(self): """ Check if the union tag is ``malformed_entry``. :rtype: bool """ return self._tag == "malformed_entry" def is_entries_do_not_exist(self): """ Check if the union tag is ``entries_do_not_exist``. :rtype: bool """ return self._tag == "entries_do_not_exist" def is_no_entries_provided(self): """ Check if the union tag is ``no_entries_provided``. :rtype: bool """ return self._tag == "no_entries_provided" def is_too_many_entries_provided(self): """ Check if the union tag is ``too_many_entries_provided``. :rtype: bool """ return self._tag == "too_many_entries_provided" def is_unknown_error(self): """ Check if the union tag is ``unknown_error``. :rtype: bool """ return self._tag == "unknown_error" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_malformed_entry(self): """ One of provided values is not valid. Only call this if :meth:`is_malformed_entry` is true. :rtype: str """ if not self.is_malformed_entry(): raise AttributeError("tag 'malformed_entry' not set") return self._value def get_entries_do_not_exist(self): """ One or more provided values do not exist. Only call this if :meth:`is_entries_do_not_exist` is true. :rtype: str """ if not self.is_entries_do_not_exist(): raise AttributeError("tag 'entries_do_not_exist' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistRemoveError, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistRemoveError_validator = bv.Union(SharingAllowlistRemoveError) class SharingAllowlistRemoveResponse(bb.Struct): """ This struct is empty. The comment here is intentionally emitted to avoid indentation issues with Stone. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingAllowlistRemoveResponse, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingAllowlistRemoveResponse_validator = bv.Struct(SharingAllowlistRemoveResponse) class StorageBucket(bb.Struct): """ Describes the number of users in a specific storage bucket. :ivar StorageBucket.bucket: The name of the storage bucket. For example, '1G' is a bucket of users with storage size up to 1 Giga. :ivar StorageBucket.users: The number of people whose storage is in the range of this storage bucket. """ __slots__ = [ "_bucket_value", "_users_value", ] _has_required_fields = True def __init__(self, bucket=None, users=None): self._bucket_value = bb.NOT_SET self._users_value = bb.NOT_SET if bucket is not None: self.bucket = bucket if users is not None: self.users = users # Instance attribute type: str (validator is set below) bucket = bb.Attribute("bucket") # Instance attribute type: int (validator is set below) users = bb.Attribute("users") def _process_custom_annotations(self, annotation_type, field_path, processor): super(StorageBucket, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TeamFolderAccessError.invalid_team_folder_id: The team folder ID is invalid. :ivar 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 ) 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 ) TeamFolderActivateError_validator = bv.Union(TeamFolderActivateError) class TeamFolderIdArg(bb.Struct): """ :ivar TeamFolderIdArg.team_folder_id: The ID of the team folder. """ __slots__ = [ "_team_folder_id_value", ] _has_required_fields = True def __init__(self, team_folder_id=None): self._team_folder_id_value = bb.NOT_SET if team_folder_id is not None: self.team_folder_id = team_folder_id # Instance attribute type: str (validator is set below) team_folder_id = bb.Attribute("team_folder_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderIdArg, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderIdArg_validator = bv.Struct(TeamFolderIdArg) class TeamFolderArchiveArg(TeamFolderIdArg): """ :ivar TeamFolderArchiveArg.force_async_off: Whether to force the archive to happen synchronously. """ __slots__ = [ "_force_async_off_value", ] _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 = bb.NOT_SET if force_async_off is not None: self.force_async_off = force_async_off # Instance attribute type: bool (validator is set below) force_async_off = bb.Attribute("force_async_off") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderArchiveArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 TeamFolderArchiveJobStatus.complete: The archive job has finished. The value is the metadata for the resulting team folder. :vartype TeamFolderArchiveJobStatus.complete: TeamFolderMetadata :ivar TeamFolderArchiveJobStatus.failed: Error occurred while performing an asynchronous job from :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_archive`. :vartype TeamFolderArchiveJobStatus.failed: TeamFolderArchiveError """ @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_client.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 ) 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 ) TeamFolderArchiveLaunch_validator = bv.Union(TeamFolderArchiveLaunch) class TeamFolderCreateArg(bb.Struct): """ :ivar TeamFolderCreateArg.name: Name for the new team folder. :ivar 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", "_sync_setting_value", ] _has_required_fields = True def __init__(self, name=None, sync_setting=None): self._name_value = bb.NOT_SET self._sync_setting_value = bb.NOT_SET if name is not None: self.name = name if sync_setting is not None: self.sync_setting = sync_setting # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: files.SyncSettingArg (validator is set below) sync_setting = bb.Attribute("sync_setting", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderCreateArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TeamFolderCreateError.invalid_folder_name: The provided name cannot be used. :ivar TeamFolderCreateError.folder_name_already_used: There is already a team folder with the provided name. :ivar TeamFolderCreateError.folder_name_reserved: The provided name cannot be used because it is reserved. :ivar TeamFolderCreateError.sync_settings_error: An error occurred setting the sync settings. :vartype TeamFolderCreateError.sync_settings_error: files.SyncSettingsError :ivar TeamFolderCreateError.folder_count_limit_exceeded: The team has reached the maximum number of team folders allowed by its plan. """ _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 folder_count_limit_exceeded = 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_folder_count_limit_exceeded(self): """ Check if the union tag is ``folder_count_limit_exceeded``. :rtype: bool """ return self._tag == "folder_count_limit_exceeded" 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 ) 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 TeamFolderGetInfoItem.id_not_found: An ID that was provided as a parameter to :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_get_info` did not match any of the team's team folders. :vartype TeamFolderGetInfoItem.id_not_found: str :ivar TeamFolderGetInfoItem.team_folder_metadata: Properties of a team folder. :vartype TeamFolderGetInfoItem.team_folder_metadata: TeamFolderMetadata """ _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_client.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 ) TeamFolderGetInfoItem_validator = bv.Union(TeamFolderGetInfoItem) class TeamFolderIdListArg(bb.Struct): """ :ivar TeamFolderIdListArg.team_folder_ids: The list of team folder IDs. """ __slots__ = [ "_team_folder_ids_value", ] _has_required_fields = True def __init__(self, team_folder_ids=None): self._team_folder_ids_value = bb.NOT_SET if team_folder_ids is not None: self.team_folder_ids = team_folder_ids # Instance attribute type: list of [str] (validator is set below) team_folder_ids = bb.Attribute("team_folder_ids") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderIdListArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TeamFolderInvalidStatusError.active: The folder is active and the operation did not succeed. :ivar TeamFolderInvalidStatusError.archived: The folder is archived and the operation did not succeed. :ivar 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 ) TeamFolderInvalidStatusError_validator = bv.Union(TeamFolderInvalidStatusError) class TeamFolderListArg(bb.Struct): """ :ivar TeamFolderListArg.limit: The maximum number of results to return per request. """ __slots__ = [ "_limit_value", ] _has_required_fields = False def __init__(self, limit=None): self._limit_value = bb.NOT_SET if limit is not None: self.limit = limit # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderListArg, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderListArg_validator = bv.Struct(TeamFolderListArg) class TeamFolderListContinueArg(bb.Struct): """ :ivar TeamFolderListContinueArg.cursor: Indicates from what point to get the next set of team folders. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderListContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) TeamFolderListContinueError_validator = bv.Union(TeamFolderListContinueError) class TeamFolderListError(bb.Struct): __slots__ = [ "_access_error_value", ] _has_required_fields = True def __init__(self, access_error=None): self._access_error_value = bb.NOT_SET if access_error is not None: self.access_error = access_error # Instance attribute type: TeamFolderAccessError (validator is set below) access_error = bb.Attribute("access_error", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderListError, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderListError_validator = bv.Struct(TeamFolderListError) class TeamFolderListResult(bb.Struct): """ Result for :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_list` and :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_list_continue`. :ivar TeamFolderListResult.team_folders: List of all team folders in the authenticated team. :ivar TeamFolderListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_list_continue` to obtain additional team folders. :ivar TeamFolderListResult.has_more: Is true if there are additional team folders that have not been returned yet. An additional call to :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_list_continue` can retrieve them. """ __slots__ = [ "_team_folders_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, team_folders=None, cursor=None, has_more=None): self._team_folders_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [TeamFolderMetadata] (validator is set below) team_folders = bb.Attribute("team_folders") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderListResult, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderListResult_validator = bv.Struct(TeamFolderListResult) class TeamFolderMetadata(bb.Struct): """ Properties of a team folder. :ivar TeamFolderMetadata.team_folder_id: The ID of the team folder. :ivar TeamFolderMetadata.name: The name of the team folder. :ivar TeamFolderMetadata.status: The status of the team folder. :ivar TeamFolderMetadata.is_team_shared_dropbox: True if this team folder is a shared team root. :ivar TeamFolderMetadata.sync_setting: The sync setting applied to this team folder. :ivar TeamFolderMetadata.content_sync_settings: Sync settings applied to contents of this team folder. :ivar TeamFolderMetadata.quota_limit: The quota limit in bytes for this team folder namespace tree. """ __slots__ = [ "_team_folder_id_value", "_name_value", "_status_value", "_is_team_shared_dropbox_value", "_sync_setting_value", "_content_sync_settings_value", "_quota_limit_value", ] _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, quota_limit=None, ): self._team_folder_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._status_value = bb.NOT_SET self._is_team_shared_dropbox_value = bb.NOT_SET self._sync_setting_value = bb.NOT_SET self._content_sync_settings_value = bb.NOT_SET self._quota_limit_value = bb.NOT_SET 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 if quota_limit is not None: self.quota_limit = quota_limit # Instance attribute type: str (validator is set below) team_folder_id = bb.Attribute("team_folder_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: TeamFolderStatus (validator is set below) status = bb.Attribute("status", user_defined=True) # Instance attribute type: bool (validator is set below) is_team_shared_dropbox = bb.Attribute("is_team_shared_dropbox") # Instance attribute type: files.SyncSetting (validator is set below) sync_setting = bb.Attribute("sync_setting", user_defined=True) # Instance attribute type: list of [files.ContentSyncSetting] (validator is set below) content_sync_settings = bb.Attribute("content_sync_settings") # Instance attribute type: int (validator is set below) quota_limit = bb.Attribute("quota_limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderMetadata, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) TeamFolderPermanentlyDeleteError_validator = bv.Union(TeamFolderPermanentlyDeleteError) class TeamFolderRenameArg(TeamFolderIdArg): """ :ivar TeamFolderRenameArg.name: New team folder name. """ __slots__ = [ "_name_value", ] _has_required_fields = True def __init__(self, team_folder_id=None, name=None): super(TeamFolderRenameArg, self).__init__(team_folder_id) self._name_value = bb.NOT_SET if name is not None: self.name = name # Instance attribute type: str (validator is set below) name = bb.Attribute("name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderRenameArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TeamFolderRenameError.invalid_folder_name: The provided folder name cannot be used. :ivar TeamFolderRenameError.folder_name_already_used: There is already a team folder with the same name. :ivar 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 ) TeamFolderRenameError_validator = bv.Union(TeamFolderRenameError) class TeamFolderRestoreError(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(TeamFolderRestoreError, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderRestoreError_validator = bv.Union(TeamFolderRestoreError) 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 TeamFolderStatus.active: The team folder and sub-folders are available to all members. :ivar TeamFolderStatus.archived: The team folder is archived and is not accessible outside of the team folder manager. :ivar TeamFolderStatus.archive_in_progress: The team folder is in the process of being archived and is not accessible outside of the team folder manager. :ivar TeamFolderStatus.inactive: The team folder is unmounted and can be restored. """ _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 inactive = 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_inactive(self): """ Check if the union tag is ``inactive``. :rtype: bool """ return self._tag == "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(TeamFolderStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) TeamFolderTeamSharedDropboxError_validator = bv.Union(TeamFolderTeamSharedDropboxError) class TeamFolderUpdateSyncSettingsArg(TeamFolderIdArg): """ :ivar 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 TeamFolderUpdateSyncSettingsArg.content_sync_settings: Sync settings to apply to contents of this team folder. """ __slots__ = [ "_sync_setting_value", "_content_sync_settings_value", ] _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 = bb.NOT_SET self._content_sync_settings_value = bb.NOT_SET 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 # Instance attribute type: files.SyncSettingArg (validator is set below) sync_setting = bb.Attribute("sync_setting", nullable=True, user_defined=True) # Instance attribute type: list of [files.ContentSyncSettingArg] (validator is set below) content_sync_settings = bb.Attribute("content_sync_settings", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderUpdateSyncSettingsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TeamFolderUpdateSyncSettingsError.sync_settings_error: An error occurred setting the sync settings. :vartype TeamFolderUpdateSyncSettingsError.sync_settings_error: files.SyncSettingsError """ @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 ) TeamFolderUpdateSyncSettingsError_validator = bv.Union(TeamFolderUpdateSyncSettingsError) class TeamGetInfoResult(bb.Struct): """ :ivar TeamGetInfoResult.name: The name of the team. :ivar TeamGetInfoResult.team_id: The ID of the team. :ivar TeamGetInfoResult.num_licensed_users: The number of licenses available to the team. :ivar TeamGetInfoResult.num_provisioned_users: The number of accounts that have been invited or are already active members of the team. :ivar TeamGetInfoResult.num_used_licenses: The number of licenses used on the team. """ __slots__ = [ "_name_value", "_team_id_value", "_num_licensed_users_value", "_num_provisioned_users_value", "_num_used_licenses_value", "_policies_value", ] _has_required_fields = True def __init__( self, name=None, team_id=None, num_licensed_users=None, num_provisioned_users=None, policies=None, num_used_licenses=None, ): self._name_value = bb.NOT_SET self._team_id_value = bb.NOT_SET self._num_licensed_users_value = bb.NOT_SET self._num_provisioned_users_value = bb.NOT_SET self._num_used_licenses_value = bb.NOT_SET self._policies_value = bb.NOT_SET 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 num_used_licenses is not None: self.num_used_licenses = num_used_licenses if policies is not None: self.policies = policies # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) team_id = bb.Attribute("team_id") # Instance attribute type: int (validator is set below) num_licensed_users = bb.Attribute("num_licensed_users") # Instance attribute type: int (validator is set below) num_provisioned_users = bb.Attribute("num_provisioned_users") # Instance attribute type: int (validator is set below) num_used_licenses = bb.Attribute("num_used_licenses") # Instance attribute type: team_policies.TeamMemberPolicies (validator is set below) policies = bb.Attribute("policies", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamGetInfoResult, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamGetInfoResult_validator = bv.Struct(TeamGetInfoResult) class TeamMemberInfo(bb.Struct): """ Information about a team member. :ivar TeamMemberInfo.profile: Profile of a user as a member of a team. :ivar TeamMemberInfo.role: The user's role in the team. """ __slots__ = [ "_profile_value", "_role_value", ] _has_required_fields = True def __init__(self, profile=None, role=None): self._profile_value = bb.NOT_SET self._role_value = bb.NOT_SET if profile is not None: self.profile = profile if role is not None: self.role = role # Instance attribute type: TeamMemberProfile (validator is set below) profile = bb.Attribute("profile", user_defined=True) # Instance attribute type: AdminTier (validator is set below) role = bb.Attribute("role", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberInfo_validator = bv.Struct(TeamMemberInfo) class TeamMemberInfoV2(bb.Struct): """ Information about a team member. :ivar TeamMemberInfoV2.profile: Profile of a user as a member of a team. :ivar TeamMemberInfoV2.roles: The user's roles in the team. """ __slots__ = [ "_profile_value", "_roles_value", ] _has_required_fields = True def __init__(self, profile=None, roles=None): self._profile_value = bb.NOT_SET self._roles_value = bb.NOT_SET if profile is not None: self.profile = profile if roles is not None: self.roles = roles # Instance attribute type: TeamMemberProfile (validator is set below) profile = bb.Attribute("profile", user_defined=True) # Instance attribute type: list of [TeamMemberRole] (validator is set below) roles = bb.Attribute("roles", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberInfoV2, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberInfoV2_validator = bv.Struct(TeamMemberInfoV2) class TeamMemberInfoV2Result(bb.Struct): """ Information about a team member, after the change, like at :meth:`dropbox.dropbox_client.Dropbox.team_members_set_profile`. :ivar TeamMemberInfoV2Result.member_info: Member info, after the change. """ __slots__ = [ "_member_info_value", ] _has_required_fields = True def __init__(self, member_info=None): self._member_info_value = bb.NOT_SET if member_info is not None: self.member_info = member_info # Instance attribute type: TeamMemberInfoV2 (validator is set below) member_info = bb.Attribute("member_info", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberInfoV2Result, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberInfoV2Result_validator = bv.Struct(TeamMemberInfoV2Result) class TeamMemberProfile(MemberProfile): """ Profile of a user as a member of a team. :ivar TeamMemberProfile.groups: List of group IDs of groups that the user belongs to. :ivar TeamMemberProfile.member_folder_id: The namespace id of the user's member folder. :ivar TeamMemberProfile.root_folder_id: The namespace id of the user's root folder. """ __slots__ = [ "_groups_value", "_member_folder_id_value", "_root_folder_id_value", ] _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, root_folder_id=None, external_id=None, account_id=None, secondary_emails=None, invited_on=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, secondary_emails, invited_on, joined_on, suspended_on, persistent_id, is_directory_restricted, profile_photo_url, ) self._groups_value = bb.NOT_SET self._member_folder_id_value = bb.NOT_SET self._root_folder_id_value = bb.NOT_SET if groups is not None: self.groups = groups if member_folder_id is not None: self.member_folder_id = member_folder_id if root_folder_id is not None: self.root_folder_id = root_folder_id # Instance attribute type: list of [str] (validator is set below) groups = bb.Attribute("groups") # Instance attribute type: str (validator is set below) member_folder_id = bb.Attribute("member_folder_id") # Instance attribute type: str (validator is set below) root_folder_id = bb.Attribute("root_folder_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberProfile, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberProfile_validator = bv.Struct(TeamMemberProfile) class TeamMemberRole(bb.Struct): """ A role which can be attached to a team member. This replaces AdminTier; each AdminTier corresponds to a new TeamMemberRole with a matching name. :ivar TeamMemberRole.role_id: A string containing encoded role ID. For roles defined by Dropbox, this is the same across all teams. :ivar TeamMemberRole.name: The role display name. :ivar TeamMemberRole.description: Role description. Describes which permissions come with this role. """ __slots__ = [ "_role_id_value", "_name_value", "_description_value", ] _has_required_fields = True def __init__(self, role_id=None, name=None, description=None): self._role_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._description_value = bb.NOT_SET if role_id is not None: self.role_id = role_id if name is not None: self.name = name if description is not None: self.description = description # Instance attribute type: str (validator is set below) role_id = bb.Attribute("role_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberRole, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberRole_validator = bv.Struct(TeamMemberRole) 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 TeamMemberStatus.active: User has successfully joined the team. :ivar TeamMemberStatus.invited: User has been invited to a team, but has not joined the team yet. :ivar 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 TeamMemberStatus.removed: User is no longer a member of the team. Removed users are only listed when include_removed is true in members/list. :vartype TeamMemberStatus.removed: RemovedStatus """ _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 ) 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 TeamMembershipType.full: User uses a license and has full access to team resources like the shared quota. :ivar TeamMembershipType.limited: Field is deprecated. 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 ) TeamMembershipType_validator = bv.Union(TeamMembershipType) class TeamNamespacesListArg(bb.Struct): """ :ivar TeamNamespacesListArg.limit: Field is deprecated. Specifying a value here has no effect. """ __slots__ = [ "_limit_value", ] _has_required_fields = False def __init__(self, limit=None): self._limit_value = bb.NOT_SET if limit is not None: self.limit = limit # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamNamespacesListArg, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamNamespacesListArg_validator = bv.Struct(TeamNamespacesListArg) class TeamNamespacesListContinueArg(bb.Struct): """ :ivar TeamNamespacesListContinueArg.cursor: Indicates from what point to get the next set of team-accessible namespaces. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamNamespacesListContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 ) 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 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 ) TeamNamespacesListContinueError_validator = bv.Union(TeamNamespacesListContinueError) class TeamNamespacesListResult(bb.Struct): """ Result for :meth:`dropbox.dropbox_client.Dropbox.team_namespaces_list`. :ivar TeamNamespacesListResult.namespaces: List of all namespaces the team can access. :ivar TeamNamespacesListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_namespaces_list_continue` to obtain additional namespaces. Note that duplicate namespaces may be returned. :ivar TeamNamespacesListResult.has_more: Is true if there are additional namespaces that have not been returned yet. """ __slots__ = [ "_namespaces_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, namespaces=None, cursor=None, has_more=None): self._namespaces_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [NamespaceMetadata] (validator is set below) namespaces = bb.Attribute("namespaces") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamNamespacesListResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 TeamReportFailureReason.many_reports_at_once: Too many other reports are being created right now. Try creating this report again once the others finish. :ivar 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 ) TeamReportFailureReason_validator = bv.Union(TeamReportFailureReason) class TokenGetAuthenticatedAdminError(bb.Union): """ Error returned by :meth:`dropbox.dropbox_client.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 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 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 ) TokenGetAuthenticatedAdminError_validator = bv.Union(TokenGetAuthenticatedAdminError) class TokenGetAuthenticatedAdminResult(bb.Struct): """ Results for :meth:`dropbox.dropbox_client.Dropbox.team_token_get_authenticated_admin`. :ivar TokenGetAuthenticatedAdminResult.admin_profile: The admin who authorized the token. """ __slots__ = [ "_admin_profile_value", ] _has_required_fields = True def __init__(self, admin_profile=None): self._admin_profile_value = bb.NOT_SET if admin_profile is not None: self.admin_profile = admin_profile # Instance attribute type: TeamMemberProfile (validator is set below) admin_profile = bb.Attribute("admin_profile", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TokenGetAuthenticatedAdminResult, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 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 UploadApiRateLimitValue.limit: The number of upload API calls allowed per month. :vartype UploadApiRateLimitValue.limit: int """ _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 ) UploadApiRateLimitValue_validator = bv.Union(UploadApiRateLimitValue) class UserAddResult(bb.Union): """ Result of trying to add secondary emails to a user. 'success' is the only value indicating that a user was successfully retrieved for adding secondary emails. The other values explain the type of error that occurred, and include the user for which the error occurred. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UserAddResult.success: Describes a user and the results for each attempt to add a secondary email. :vartype UserAddResult.success: UserSecondaryEmailsResult :ivar UserAddResult.invalid_user: Specified user is not a valid target for adding secondary emails. :vartype UserAddResult.invalid_user: UserSelectorArg :ivar UserAddResult.unverified: Secondary emails can only be added to verified users. :vartype UserAddResult.unverified: UserSelectorArg :ivar UserAddResult.placeholder_user: Secondary emails cannot be added to placeholder users. :vartype UserAddResult.placeholder_user: UserSelectorArg """ _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 UserSecondaryEmailsResult val: :rtype: UserAddResult """ 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: UserAddResult """ return cls("invalid_user", val) @classmethod def unverified(cls, val): """ Create an instance of this class set to the ``unverified`` tag with value ``val``. :param UserSelectorArg val: :rtype: UserAddResult """ return cls("unverified", val) @classmethod def placeholder_user(cls, val): """ Create an instance of this class set to the ``placeholder_user`` tag with value ``val``. :param UserSelectorArg val: :rtype: UserAddResult """ return cls("placeholder_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_unverified(self): """ Check if the union tag is ``unverified``. :rtype: bool """ return self._tag == "unverified" def is_placeholder_user(self): """ Check if the union tag is ``placeholder_user``. :rtype: bool """ return self._tag == "placeholder_user" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_success(self): """ Describes a user and the results for each attempt to add a secondary email. Only call this if :meth:`is_success` is true. :rtype: UserSecondaryEmailsResult """ if not self.is_success(): raise AttributeError("tag 'success' not set") return self._value def get_invalid_user(self): """ Specified user is not a valid target for adding secondary emails. 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 get_unverified(self): """ Secondary emails can only be added to verified users. Only call this if :meth:`is_unverified` is true. :rtype: UserSelectorArg """ if not self.is_unverified(): raise AttributeError("tag 'unverified' not set") return self._value def get_placeholder_user(self): """ Secondary emails cannot be added to placeholder users. Only call this if :meth:`is_placeholder_user` is true. :rtype: UserSelectorArg """ if not self.is_placeholder_user(): raise AttributeError("tag 'placeholder_user' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserAddResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UserAddResult_validator = bv.Union(UserAddResult) class UserCustomQuotaArg(bb.Struct): """ User and their required custom quota in GB (1 TB = 1024 GB). """ __slots__ = [ "_user_value", "_quota_gb_value", ] _has_required_fields = True def __init__(self, user=None, quota_gb=None): self._user_value = bb.NOT_SET self._quota_gb_value = bb.NOT_SET if user is not None: self.user = user if quota_gb is not None: self.quota_gb = quota_gb # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: int (validator is set below) quota_gb = bb.Attribute("quota_gb") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserCustomQuotaArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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", "_quota_gb_value", ] _has_required_fields = True def __init__(self, user=None, quota_gb=None): self._user_value = bb.NOT_SET self._quota_gb_value = bb.NOT_SET if user is not None: self.user = user if quota_gb is not None: self.quota_gb = quota_gb # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: int (validator is set below) quota_gb = bb.Attribute("quota_gb", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserCustomQuotaResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UserCustomQuotaResult_validator = bv.Struct(UserCustomQuotaResult) class UserDeleteEmailsResult(bb.Struct): __slots__ = [ "_user_value", "_results_value", ] _has_required_fields = True def __init__(self, user=None, results=None): self._user_value = bb.NOT_SET self._results_value = bb.NOT_SET if user is not None: self.user = user if results is not None: self.results = results # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: list of [DeleteSecondaryEmailResult] (validator is set below) results = bb.Attribute("results") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserDeleteEmailsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UserDeleteEmailsResult_validator = bv.Struct(UserDeleteEmailsResult) class UserDeleteResult(bb.Union): """ Result of trying to delete a user's secondary emails. 'success' is the only value indicating that a user was successfully retrieved for deleting secondary emails. The other values explain the type of error that occurred, and include the user for which the error occurred. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UserDeleteResult.success: Describes a user and the results for each attempt to delete a secondary email. :vartype UserDeleteResult.success: UserDeleteEmailsResult :ivar UserDeleteResult.invalid_user: Specified user is not a valid target for deleting secondary emails. :vartype UserDeleteResult.invalid_user: UserSelectorArg """ _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 UserDeleteEmailsResult val: :rtype: UserDeleteResult """ 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: UserDeleteResult """ 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): """ Describes a user and the results for each attempt to delete a secondary email. Only call this if :meth:`is_success` is true. :rtype: UserDeleteEmailsResult """ if not self.is_success(): raise AttributeError("tag 'success' not set") return self._value def get_invalid_user(self): """ Specified user is not a valid target for deleting secondary emails. 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(UserDeleteResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UserDeleteResult_validator = bv.Union(UserDeleteResult) class UserResendEmailsResult(bb.Struct): __slots__ = [ "_user_value", "_results_value", ] _has_required_fields = True def __init__(self, user=None, results=None): self._user_value = bb.NOT_SET self._results_value = bb.NOT_SET if user is not None: self.user = user if results is not None: self.results = results # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: list of [ResendSecondaryEmailResult] (validator is set below) results = bb.Attribute("results") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserResendEmailsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UserResendEmailsResult_validator = bv.Struct(UserResendEmailsResult) class UserResendResult(bb.Union): """ Result of trying to resend verification emails to a user. 'success' is the only value indicating that a user was successfully retrieved for sending verification emails. The other values explain the type of error that occurred, and include the user for which the error occurred. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UserResendResult.success: Describes a user and the results for each attempt to resend verification emails. :vartype UserResendResult.success: UserResendEmailsResult :ivar UserResendResult.invalid_user: Specified user is not a valid target for resending verification emails. :vartype UserResendResult.invalid_user: UserSelectorArg """ _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 UserResendEmailsResult val: :rtype: UserResendResult """ 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: UserResendResult """ 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): """ Describes a user and the results for each attempt to resend verification emails. Only call this if :meth:`is_success` is true. :rtype: UserResendEmailsResult """ if not self.is_success(): raise AttributeError("tag 'success' not set") return self._value def get_invalid_user(self): """ Specified user is not a valid target for resending verification emails. 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(UserResendResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UserResendResult_validator = bv.Union(UserResendResult) class UserSecondaryEmailsArg(bb.Struct): """ User and a list of secondary emails. """ __slots__ = [ "_user_value", "_secondary_emails_value", ] _has_required_fields = True def __init__(self, user=None, secondary_emails=None): self._user_value = bb.NOT_SET self._secondary_emails_value = bb.NOT_SET if user is not None: self.user = user if secondary_emails is not None: self.secondary_emails = secondary_emails # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: list of [str] (validator is set below) secondary_emails = bb.Attribute("secondary_emails") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserSecondaryEmailsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UserSecondaryEmailsArg_validator = bv.Struct(UserSecondaryEmailsArg) class UserSecondaryEmailsResult(bb.Struct): __slots__ = [ "_user_value", "_results_value", ] _has_required_fields = True def __init__(self, user=None, results=None): self._user_value = bb.NOT_SET self._results_value = bb.NOT_SET if user is not None: self.user = user if results is not None: self.results = results # Instance attribute type: UserSelectorArg (validator is set below) user = bb.Attribute("user", user_defined=True) # Instance attribute type: list of [AddSecondaryEmailResult] (validator is set below) results = bb.Attribute("results") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserSecondaryEmailsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UserSecondaryEmailsResult_validator = bv.Struct(UserSecondaryEmailsResult) 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 ) 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 UsersSelectorArg.team_member_ids: List of member IDs. :vartype UsersSelectorArg.team_member_ids: list of [str] :ivar UsersSelectorArg.external_ids: List of external user IDs. :vartype UsersSelectorArg.external_ids: list of [str] :ivar UsersSelectorArg.emails: List of email addresses. :vartype UsersSelectorArg.emails: list of [str] """ _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 ) UsersSelectorArg_validator = bv.Union(UsersSelectorArg) GroupsGetInfoResult_validator = bv.List(GroupsGetInfoItem_validator) LegalHoldId_validator = bv.String(pattern="^pid_dbhid:.+") LegalHoldPolicyDescription_validator = bv.String(max_length=501) LegalHoldPolicyName_validator = bv.String(max_length=140) LegalHoldsGetPolicyResult_validator = LegalHoldPolicy_validator LegalHoldsGetPolicyResult = LegalHoldPolicy LegalHoldsPolicyCreateResult_validator = LegalHoldPolicy_validator LegalHoldsPolicyCreateResult = LegalHoldPolicy LegalHoldsPolicyUpdateResult_validator = LegalHoldPolicy_validator LegalHoldsPolicyUpdateResult = LegalHoldPolicy ListHeldRevisionCursor_validator = bv.String(min_length=1) MembersGetInfoResult_validator = bv.List(MembersGetInfoItem_validator) NumberPerDay_validator = bv.List(bv.Nullable(bv.UInt64())) Path_validator = bv.String(pattern="(/(.|[\\r\\n])*)?") TeamMemberRoleId_validator = bv.String(max_length=128, pattern="pid_dbtmr:.*") UserQuota_validator = bv.UInt32(min_value=2) 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), ] AddSecondaryEmailResult._success_validator = secondary_emails.SecondaryEmail_validator AddSecondaryEmailResult._unavailable_validator = common.EmailAddress_validator AddSecondaryEmailResult._already_pending_validator = common.EmailAddress_validator AddSecondaryEmailResult._already_owned_by_user_validator = common.EmailAddress_validator AddSecondaryEmailResult._reached_limit_validator = common.EmailAddress_validator AddSecondaryEmailResult._transient_error_validator = common.EmailAddress_validator AddSecondaryEmailResult._too_many_updates_validator = common.EmailAddress_validator AddSecondaryEmailResult._unknown_error_validator = common.EmailAddress_validator AddSecondaryEmailResult._rate_limited_validator = common.EmailAddress_validator AddSecondaryEmailResult._other_validator = bv.Void() AddSecondaryEmailResult._tagmap = { "success": AddSecondaryEmailResult._success_validator, "unavailable": AddSecondaryEmailResult._unavailable_validator, "already_pending": AddSecondaryEmailResult._already_pending_validator, "already_owned_by_user": AddSecondaryEmailResult._already_owned_by_user_validator, "reached_limit": AddSecondaryEmailResult._reached_limit_validator, "transient_error": AddSecondaryEmailResult._transient_error_validator, "too_many_updates": AddSecondaryEmailResult._too_many_updates_validator, "unknown_error": AddSecondaryEmailResult._unknown_error_validator, "rate_limited": AddSecondaryEmailResult._rate_limited_validator, "other": AddSecondaryEmailResult._other_validator, } AddSecondaryEmailResult.other = AddSecondaryEmailResult("other") AddSecondaryEmailsArg.new_secondary_emails.validator = bv.List(UserSecondaryEmailsArg_validator) AddSecondaryEmailsArg._all_field_names_ = set(["new_secondary_emails"]) AddSecondaryEmailsArg._all_fields_ = [ ("new_secondary_emails", AddSecondaryEmailsArg.new_secondary_emails.validator) ] AddSecondaryEmailsError._secondary_emails_disabled_validator = bv.Void() AddSecondaryEmailsError._too_many_emails_validator = bv.Void() AddSecondaryEmailsError._other_validator = bv.Void() AddSecondaryEmailsError._tagmap = { "secondary_emails_disabled": AddSecondaryEmailsError._secondary_emails_disabled_validator, "too_many_emails": AddSecondaryEmailsError._too_many_emails_validator, "other": AddSecondaryEmailsError._other_validator, } AddSecondaryEmailsError.secondary_emails_disabled = AddSecondaryEmailsError( "secondary_emails_disabled" ) AddSecondaryEmailsError.too_many_emails = AddSecondaryEmailsError("too_many_emails") AddSecondaryEmailsError.other = AddSecondaryEmailsError("other") AddSecondaryEmailsResult.results.validator = bv.List(UserAddResult_validator) AddSecondaryEmailsResult._all_field_names_ = set(["results"]) AddSecondaryEmailsResult._all_fields_ = [("results", AddSecondaryEmailsResult.results.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") DeleteSecondaryEmailResult._success_validator = common.EmailAddress_validator DeleteSecondaryEmailResult._not_found_validator = common.EmailAddress_validator DeleteSecondaryEmailResult._cannot_remove_primary_validator = common.EmailAddress_validator DeleteSecondaryEmailResult._other_validator = bv.Void() DeleteSecondaryEmailResult._tagmap = { "success": DeleteSecondaryEmailResult._success_validator, "not_found": DeleteSecondaryEmailResult._not_found_validator, "cannot_remove_primary": DeleteSecondaryEmailResult._cannot_remove_primary_validator, "other": DeleteSecondaryEmailResult._other_validator, } DeleteSecondaryEmailResult.other = DeleteSecondaryEmailResult("other") DeleteSecondaryEmailsArg.emails_to_delete.validator = bv.List(UserSecondaryEmailsArg_validator) DeleteSecondaryEmailsArg._all_field_names_ = set(["emails_to_delete"]) DeleteSecondaryEmailsArg._all_fields_ = [ ("emails_to_delete", DeleteSecondaryEmailsArg.emails_to_delete.validator) ] DeleteSecondaryEmailsResult.results.validator = bv.List(UserDeleteResult_validator) DeleteSecondaryEmailsResult._all_field_names_ = set(["results"]) DeleteSecondaryEmailsResult._all_fields_ = [ ("results", DeleteSecondaryEmailsResult.results.validator) ] 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._has_distinct_member_homes_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, "has_distinct_member_homes": Feature._has_distinct_member_homes_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.has_distinct_member_homes = Feature("has_distinct_member_homes") 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._has_distinct_member_homes_validator = HasDistinctMemberHomesValue_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, "has_distinct_member_homes": FeatureValue._has_distinct_member_homes_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.add_creator_as_owner.validator = bv.Boolean() 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", "add_creator_as_owner", "group_external_id", "group_management_type", ] ) GroupCreateArg._all_fields_ = [ ("group_name", GroupCreateArg.group_name.validator), ("add_creator_as_owner", GroupCreateArg.add_creator_as_owner.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, } HasDistinctMemberHomesValue._has_distinct_member_homes_validator = bv.Boolean() HasDistinctMemberHomesValue._other_validator = bv.Void() HasDistinctMemberHomesValue._tagmap = { "has_distinct_member_homes": HasDistinctMemberHomesValue._has_distinct_member_homes_validator, "other": HasDistinctMemberHomesValue._other_validator, } HasDistinctMemberHomesValue.other = HasDistinctMemberHomesValue("other") 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") LegalHoldHeldRevisionMetadata.new_filename.validator = bv.String() LegalHoldHeldRevisionMetadata.original_revision_id.validator = files.Rev_validator LegalHoldHeldRevisionMetadata.original_file_path.validator = Path_validator LegalHoldHeldRevisionMetadata.server_modified.validator = common.DropboxTimestamp_validator LegalHoldHeldRevisionMetadata.author_member_id.validator = team_common.TeamMemberId_validator LegalHoldHeldRevisionMetadata.author_member_status.validator = TeamMemberStatus_validator LegalHoldHeldRevisionMetadata.author_email.validator = common.EmailAddress_validator LegalHoldHeldRevisionMetadata.file_type.validator = bv.String() LegalHoldHeldRevisionMetadata.size.validator = bv.UInt64() LegalHoldHeldRevisionMetadata.content_hash.validator = files.Sha256HexHash_validator LegalHoldHeldRevisionMetadata._all_field_names_ = set( [ "new_filename", "original_revision_id", "original_file_path", "server_modified", "author_member_id", "author_member_status", "author_email", "file_type", "size", "content_hash", ] ) LegalHoldHeldRevisionMetadata._all_fields_ = [ ("new_filename", LegalHoldHeldRevisionMetadata.new_filename.validator), ( "original_revision_id", LegalHoldHeldRevisionMetadata.original_revision_id.validator, ), ("original_file_path", LegalHoldHeldRevisionMetadata.original_file_path.validator), ("server_modified", LegalHoldHeldRevisionMetadata.server_modified.validator), ("author_member_id", LegalHoldHeldRevisionMetadata.author_member_id.validator), ( "author_member_status", LegalHoldHeldRevisionMetadata.author_member_status.validator, ), ("author_email", LegalHoldHeldRevisionMetadata.author_email.validator), ("file_type", LegalHoldHeldRevisionMetadata.file_type.validator), ("size", LegalHoldHeldRevisionMetadata.size.validator), ("content_hash", LegalHoldHeldRevisionMetadata.content_hash.validator), ] LegalHoldPolicy.id.validator = LegalHoldId_validator LegalHoldPolicy.name.validator = LegalHoldPolicyName_validator LegalHoldPolicy.description.validator = bv.Nullable(LegalHoldPolicyDescription_validator) LegalHoldPolicy.activation_time.validator = bv.Nullable(common.DropboxTimestamp_validator) LegalHoldPolicy.members.validator = MembersInfo_validator LegalHoldPolicy.status.validator = LegalHoldStatus_validator LegalHoldPolicy.start_date.validator = common.DropboxTimestamp_validator LegalHoldPolicy.end_date.validator = bv.Nullable(common.DropboxTimestamp_validator) LegalHoldPolicy._all_field_names_ = set( [ "id", "name", "description", "activation_time", "members", "status", "start_date", "end_date", ] ) LegalHoldPolicy._all_fields_ = [ ("id", LegalHoldPolicy.id.validator), ("name", LegalHoldPolicy.name.validator), ("description", LegalHoldPolicy.description.validator), ("activation_time", LegalHoldPolicy.activation_time.validator), ("members", LegalHoldPolicy.members.validator), ("status", LegalHoldPolicy.status.validator), ("start_date", LegalHoldPolicy.start_date.validator), ("end_date", LegalHoldPolicy.end_date.validator), ] LegalHoldStatus._active_validator = bv.Void() LegalHoldStatus._released_validator = bv.Void() LegalHoldStatus._activating_validator = bv.Void() LegalHoldStatus._updating_validator = bv.Void() LegalHoldStatus._exporting_validator = bv.Void() LegalHoldStatus._releasing_validator = bv.Void() LegalHoldStatus._other_validator = bv.Void() LegalHoldStatus._tagmap = { "active": LegalHoldStatus._active_validator, "released": LegalHoldStatus._released_validator, "activating": LegalHoldStatus._activating_validator, "updating": LegalHoldStatus._updating_validator, "exporting": LegalHoldStatus._exporting_validator, "releasing": LegalHoldStatus._releasing_validator, "other": LegalHoldStatus._other_validator, } LegalHoldStatus.active = LegalHoldStatus("active") LegalHoldStatus.released = LegalHoldStatus("released") LegalHoldStatus.activating = LegalHoldStatus("activating") LegalHoldStatus.updating = LegalHoldStatus("updating") LegalHoldStatus.exporting = LegalHoldStatus("exporting") LegalHoldStatus.releasing = LegalHoldStatus("releasing") LegalHoldStatus.other = LegalHoldStatus("other") LegalHoldsError._unknown_legal_hold_error_validator = bv.Void() LegalHoldsError._insufficient_permissions_validator = bv.Void() LegalHoldsError._other_validator = bv.Void() LegalHoldsError._tagmap = { "unknown_legal_hold_error": LegalHoldsError._unknown_legal_hold_error_validator, "insufficient_permissions": LegalHoldsError._insufficient_permissions_validator, "other": LegalHoldsError._other_validator, } LegalHoldsError.unknown_legal_hold_error = LegalHoldsError("unknown_legal_hold_error") LegalHoldsError.insufficient_permissions = LegalHoldsError("insufficient_permissions") LegalHoldsError.other = LegalHoldsError("other") LegalHoldsGetPolicyArg.id.validator = LegalHoldId_validator LegalHoldsGetPolicyArg._all_field_names_ = set(["id"]) LegalHoldsGetPolicyArg._all_fields_ = [("id", LegalHoldsGetPolicyArg.id.validator)] LegalHoldsGetPolicyError._legal_hold_policy_not_found_validator = bv.Void() LegalHoldsGetPolicyError._tagmap = { "legal_hold_policy_not_found": LegalHoldsGetPolicyError._legal_hold_policy_not_found_validator, } LegalHoldsGetPolicyError._tagmap.update(LegalHoldsError._tagmap) LegalHoldsGetPolicyError.legal_hold_policy_not_found = LegalHoldsGetPolicyError( "legal_hold_policy_not_found" ) LegalHoldsListHeldRevisionResult.entries.validator = bv.List( LegalHoldHeldRevisionMetadata_validator ) LegalHoldsListHeldRevisionResult.cursor.validator = bv.Nullable(ListHeldRevisionCursor_validator) LegalHoldsListHeldRevisionResult.has_more.validator = bv.Boolean() LegalHoldsListHeldRevisionResult._all_field_names_ = set( [ "entries", "cursor", "has_more", ] ) LegalHoldsListHeldRevisionResult._all_fields_ = [ ("entries", LegalHoldsListHeldRevisionResult.entries.validator), ("cursor", LegalHoldsListHeldRevisionResult.cursor.validator), ("has_more", LegalHoldsListHeldRevisionResult.has_more.validator), ] LegalHoldsListHeldRevisionsArg.id.validator = LegalHoldId_validator LegalHoldsListHeldRevisionsArg._all_field_names_ = set(["id"]) LegalHoldsListHeldRevisionsArg._all_fields_ = [("id", LegalHoldsListHeldRevisionsArg.id.validator)] LegalHoldsListHeldRevisionsContinueArg.id.validator = LegalHoldId_validator LegalHoldsListHeldRevisionsContinueArg.cursor.validator = bv.Nullable( ListHeldRevisionCursor_validator ) LegalHoldsListHeldRevisionsContinueArg._all_field_names_ = set( [ "id", "cursor", ] ) LegalHoldsListHeldRevisionsContinueArg._all_fields_ = [ ("id", LegalHoldsListHeldRevisionsContinueArg.id.validator), ("cursor", LegalHoldsListHeldRevisionsContinueArg.cursor.validator), ] LegalHoldsListHeldRevisionsContinueError._unknown_legal_hold_error_validator = bv.Void() LegalHoldsListHeldRevisionsContinueError._transient_error_validator = bv.Void() LegalHoldsListHeldRevisionsContinueError._reset_validator = bv.Void() LegalHoldsListHeldRevisionsContinueError._other_validator = bv.Void() LegalHoldsListHeldRevisionsContinueError._tagmap = { "unknown_legal_hold_error": LegalHoldsListHeldRevisionsContinueError._unknown_legal_hold_error_validator, "transient_error": LegalHoldsListHeldRevisionsContinueError._transient_error_validator, "reset": LegalHoldsListHeldRevisionsContinueError._reset_validator, "other": LegalHoldsListHeldRevisionsContinueError._other_validator, } LegalHoldsListHeldRevisionsContinueError.unknown_legal_hold_error = ( LegalHoldsListHeldRevisionsContinueError("unknown_legal_hold_error") ) LegalHoldsListHeldRevisionsContinueError.transient_error = LegalHoldsListHeldRevisionsContinueError( "transient_error" ) LegalHoldsListHeldRevisionsContinueError.reset = LegalHoldsListHeldRevisionsContinueError("reset") LegalHoldsListHeldRevisionsContinueError.other = LegalHoldsListHeldRevisionsContinueError("other") LegalHoldsListHeldRevisionsError._transient_error_validator = bv.Void() LegalHoldsListHeldRevisionsError._legal_hold_still_empty_validator = bv.Void() LegalHoldsListHeldRevisionsError._inactive_legal_hold_validator = bv.Void() LegalHoldsListHeldRevisionsError._tagmap = { "transient_error": LegalHoldsListHeldRevisionsError._transient_error_validator, "legal_hold_still_empty": LegalHoldsListHeldRevisionsError._legal_hold_still_empty_validator, "inactive_legal_hold": LegalHoldsListHeldRevisionsError._inactive_legal_hold_validator, } LegalHoldsListHeldRevisionsError._tagmap.update(LegalHoldsError._tagmap) LegalHoldsListHeldRevisionsError.transient_error = LegalHoldsListHeldRevisionsError( "transient_error" ) LegalHoldsListHeldRevisionsError.legal_hold_still_empty = LegalHoldsListHeldRevisionsError( "legal_hold_still_empty" ) LegalHoldsListHeldRevisionsError.inactive_legal_hold = LegalHoldsListHeldRevisionsError( "inactive_legal_hold" ) LegalHoldsListPoliciesArg.include_released.validator = bv.Boolean() LegalHoldsListPoliciesArg._all_field_names_ = set(["include_released"]) LegalHoldsListPoliciesArg._all_fields_ = [ ("include_released", LegalHoldsListPoliciesArg.include_released.validator) ] LegalHoldsListPoliciesError._transient_error_validator = bv.Void() LegalHoldsListPoliciesError._tagmap = { "transient_error": LegalHoldsListPoliciesError._transient_error_validator, } LegalHoldsListPoliciesError._tagmap.update(LegalHoldsError._tagmap) LegalHoldsListPoliciesError.transient_error = LegalHoldsListPoliciesError("transient_error") LegalHoldsListPoliciesResult.policies.validator = bv.List(LegalHoldPolicy_validator) LegalHoldsListPoliciesResult._all_field_names_ = set(["policies"]) LegalHoldsListPoliciesResult._all_fields_ = [ ("policies", LegalHoldsListPoliciesResult.policies.validator) ] LegalHoldsPolicyCreateArg.name.validator = LegalHoldPolicyName_validator LegalHoldsPolicyCreateArg.description.validator = bv.Nullable(LegalHoldPolicyDescription_validator) LegalHoldsPolicyCreateArg.members.validator = bv.List(team_common.TeamMemberId_validator) LegalHoldsPolicyCreateArg.start_date.validator = bv.Nullable(common.DropboxTimestamp_validator) LegalHoldsPolicyCreateArg.end_date.validator = bv.Nullable(common.DropboxTimestamp_validator) LegalHoldsPolicyCreateArg._all_field_names_ = set( [ "name", "description", "members", "start_date", "end_date", ] ) LegalHoldsPolicyCreateArg._all_fields_ = [ ("name", LegalHoldsPolicyCreateArg.name.validator), ("description", LegalHoldsPolicyCreateArg.description.validator), ("members", LegalHoldsPolicyCreateArg.members.validator), ("start_date", LegalHoldsPolicyCreateArg.start_date.validator), ("end_date", LegalHoldsPolicyCreateArg.end_date.validator), ] LegalHoldsPolicyCreateError._start_date_is_later_than_end_date_validator = bv.Void() LegalHoldsPolicyCreateError._empty_members_list_validator = bv.Void() LegalHoldsPolicyCreateError._invalid_members_validator = bv.Void() LegalHoldsPolicyCreateError._number_of_users_on_hold_is_greater_than_hold_limitation_validator = ( bv.Void() ) LegalHoldsPolicyCreateError._transient_error_validator = bv.Void() LegalHoldsPolicyCreateError._name_must_be_unique_validator = bv.Void() LegalHoldsPolicyCreateError._team_exceeded_legal_hold_quota_validator = bv.Void() LegalHoldsPolicyCreateError._invalid_date_validator = bv.Void() LegalHoldsPolicyCreateError._tagmap = { "start_date_is_later_than_end_date": LegalHoldsPolicyCreateError._start_date_is_later_than_end_date_validator, "empty_members_list": LegalHoldsPolicyCreateError._empty_members_list_validator, "invalid_members": LegalHoldsPolicyCreateError._invalid_members_validator, "number_of_users_on_hold_is_greater_than_hold_limitation": LegalHoldsPolicyCreateError._number_of_users_on_hold_is_greater_than_hold_limitation_validator, "transient_error": LegalHoldsPolicyCreateError._transient_error_validator, "name_must_be_unique": LegalHoldsPolicyCreateError._name_must_be_unique_validator, "team_exceeded_legal_hold_quota": LegalHoldsPolicyCreateError._team_exceeded_legal_hold_quota_validator, "invalid_date": LegalHoldsPolicyCreateError._invalid_date_validator, } LegalHoldsPolicyCreateError._tagmap.update(LegalHoldsError._tagmap) LegalHoldsPolicyCreateError.start_date_is_later_than_end_date = LegalHoldsPolicyCreateError( "start_date_is_later_than_end_date" ) LegalHoldsPolicyCreateError.empty_members_list = LegalHoldsPolicyCreateError("empty_members_list") LegalHoldsPolicyCreateError.invalid_members = LegalHoldsPolicyCreateError("invalid_members") LegalHoldsPolicyCreateError.number_of_users_on_hold_is_greater_than_hold_limitation = ( LegalHoldsPolicyCreateError("number_of_users_on_hold_is_greater_than_hold_limitation") ) LegalHoldsPolicyCreateError.transient_error = LegalHoldsPolicyCreateError("transient_error") LegalHoldsPolicyCreateError.name_must_be_unique = LegalHoldsPolicyCreateError("name_must_be_unique") LegalHoldsPolicyCreateError.team_exceeded_legal_hold_quota = LegalHoldsPolicyCreateError( "team_exceeded_legal_hold_quota" ) LegalHoldsPolicyCreateError.invalid_date = LegalHoldsPolicyCreateError("invalid_date") LegalHoldsPolicyReleaseArg.id.validator = LegalHoldId_validator LegalHoldsPolicyReleaseArg._all_field_names_ = set(["id"]) LegalHoldsPolicyReleaseArg._all_fields_ = [("id", LegalHoldsPolicyReleaseArg.id.validator)] LegalHoldsPolicyReleaseError._legal_hold_performing_another_operation_validator = bv.Void() LegalHoldsPolicyReleaseError._legal_hold_already_releasing_validator = bv.Void() LegalHoldsPolicyReleaseError._legal_hold_policy_not_found_validator = bv.Void() LegalHoldsPolicyReleaseError._tagmap = { "legal_hold_performing_another_operation": LegalHoldsPolicyReleaseError._legal_hold_performing_another_operation_validator, "legal_hold_already_releasing": LegalHoldsPolicyReleaseError._legal_hold_already_releasing_validator, "legal_hold_policy_not_found": LegalHoldsPolicyReleaseError._legal_hold_policy_not_found_validator, } LegalHoldsPolicyReleaseError._tagmap.update(LegalHoldsError._tagmap) LegalHoldsPolicyReleaseError.legal_hold_performing_another_operation = LegalHoldsPolicyReleaseError( "legal_hold_performing_another_operation" ) LegalHoldsPolicyReleaseError.legal_hold_already_releasing = LegalHoldsPolicyReleaseError( "legal_hold_already_releasing" ) LegalHoldsPolicyReleaseError.legal_hold_policy_not_found = LegalHoldsPolicyReleaseError( "legal_hold_policy_not_found" ) LegalHoldsPolicyUpdateArg.id.validator = LegalHoldId_validator LegalHoldsPolicyUpdateArg.name.validator = bv.Nullable(LegalHoldPolicyName_validator) LegalHoldsPolicyUpdateArg.description.validator = bv.Nullable(LegalHoldPolicyDescription_validator) LegalHoldsPolicyUpdateArg.members.validator = bv.Nullable( bv.List(team_common.TeamMemberId_validator) ) LegalHoldsPolicyUpdateArg._all_field_names_ = set( [ "id", "name", "description", "members", ] ) LegalHoldsPolicyUpdateArg._all_fields_ = [ ("id", LegalHoldsPolicyUpdateArg.id.validator), ("name", LegalHoldsPolicyUpdateArg.name.validator), ("description", LegalHoldsPolicyUpdateArg.description.validator), ("members", LegalHoldsPolicyUpdateArg.members.validator), ] LegalHoldsPolicyUpdateError._transient_error_validator = bv.Void() LegalHoldsPolicyUpdateError._inactive_legal_hold_validator = bv.Void() LegalHoldsPolicyUpdateError._legal_hold_performing_another_operation_validator = bv.Void() LegalHoldsPolicyUpdateError._invalid_members_validator = bv.Void() LegalHoldsPolicyUpdateError._number_of_users_on_hold_is_greater_than_hold_limitation_validator = ( bv.Void() ) LegalHoldsPolicyUpdateError._empty_members_list_validator = bv.Void() LegalHoldsPolicyUpdateError._name_must_be_unique_validator = bv.Void() LegalHoldsPolicyUpdateError._legal_hold_policy_not_found_validator = bv.Void() LegalHoldsPolicyUpdateError._tagmap = { "transient_error": LegalHoldsPolicyUpdateError._transient_error_validator, "inactive_legal_hold": LegalHoldsPolicyUpdateError._inactive_legal_hold_validator, "legal_hold_performing_another_operation": LegalHoldsPolicyUpdateError._legal_hold_performing_another_operation_validator, "invalid_members": LegalHoldsPolicyUpdateError._invalid_members_validator, "number_of_users_on_hold_is_greater_than_hold_limitation": LegalHoldsPolicyUpdateError._number_of_users_on_hold_is_greater_than_hold_limitation_validator, "empty_members_list": LegalHoldsPolicyUpdateError._empty_members_list_validator, "name_must_be_unique": LegalHoldsPolicyUpdateError._name_must_be_unique_validator, "legal_hold_policy_not_found": LegalHoldsPolicyUpdateError._legal_hold_policy_not_found_validator, } LegalHoldsPolicyUpdateError._tagmap.update(LegalHoldsError._tagmap) LegalHoldsPolicyUpdateError.transient_error = LegalHoldsPolicyUpdateError("transient_error") LegalHoldsPolicyUpdateError.inactive_legal_hold = LegalHoldsPolicyUpdateError("inactive_legal_hold") LegalHoldsPolicyUpdateError.legal_hold_performing_another_operation = LegalHoldsPolicyUpdateError( "legal_hold_performing_another_operation" ) LegalHoldsPolicyUpdateError.invalid_members = LegalHoldsPolicyUpdateError("invalid_members") LegalHoldsPolicyUpdateError.number_of_users_on_hold_is_greater_than_hold_limitation = ( LegalHoldsPolicyUpdateError("number_of_users_on_hold_is_greater_than_hold_limitation") ) LegalHoldsPolicyUpdateError.empty_members_list = LegalHoldsPolicyUpdateError("empty_members_list") LegalHoldsPolicyUpdateError.name_must_be_unique = LegalHoldsPolicyUpdateError("name_must_be_unique") LegalHoldsPolicyUpdateError.legal_hold_policy_not_found = LegalHoldsPolicyUpdateError( "legal_hold_policy_not_found" ) 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), ] MemberAddArgBase.member_email.validator = common.EmailAddress_validator MemberAddArgBase.member_given_name.validator = bv.Nullable(common.OptionalNamePart_validator) MemberAddArgBase.member_surname.validator = bv.Nullable(common.OptionalNamePart_validator) MemberAddArgBase.member_external_id.validator = bv.Nullable(team_common.MemberExternalId_validator) MemberAddArgBase.member_persistent_id.validator = bv.Nullable(bv.String()) MemberAddArgBase.send_welcome_email.validator = bv.Boolean() MemberAddArgBase.is_directory_restricted.validator = bv.Nullable(bv.Boolean()) MemberAddArgBase._all_field_names_ = set( [ "member_email", "member_given_name", "member_surname", "member_external_id", "member_persistent_id", "send_welcome_email", "is_directory_restricted", ] ) MemberAddArgBase._all_fields_ = [ ("member_email", MemberAddArgBase.member_email.validator), ("member_given_name", MemberAddArgBase.member_given_name.validator), ("member_surname", MemberAddArgBase.member_surname.validator), ("member_external_id", MemberAddArgBase.member_external_id.validator), ("member_persistent_id", MemberAddArgBase.member_persistent_id.validator), ("send_welcome_email", MemberAddArgBase.send_welcome_email.validator), ("is_directory_restricted", MemberAddArgBase.is_directory_restricted.validator), ] MemberAddArg.role.validator = AdminTier_validator MemberAddArg._all_field_names_ = MemberAddArgBase._all_field_names_.union(set(["role"])) MemberAddArg._all_fields_ = MemberAddArgBase._all_fields_ + [("role", MemberAddArg.role.validator)] MemberAddResultBase._team_license_limit_validator = common.EmailAddress_validator MemberAddResultBase._free_team_member_limit_reached_validator = common.EmailAddress_validator MemberAddResultBase._user_already_on_team_validator = common.EmailAddress_validator MemberAddResultBase._user_on_another_team_validator = common.EmailAddress_validator MemberAddResultBase._user_already_paired_validator = common.EmailAddress_validator MemberAddResultBase._user_migration_failed_validator = common.EmailAddress_validator MemberAddResultBase._duplicate_external_member_id_validator = common.EmailAddress_validator MemberAddResultBase._duplicate_member_persistent_id_validator = common.EmailAddress_validator MemberAddResultBase._persistent_id_disabled_validator = common.EmailAddress_validator MemberAddResultBase._user_creation_failed_validator = common.EmailAddress_validator MemberAddResultBase._tagmap = { "team_license_limit": MemberAddResultBase._team_license_limit_validator, "free_team_member_limit_reached": MemberAddResultBase._free_team_member_limit_reached_validator, "user_already_on_team": MemberAddResultBase._user_already_on_team_validator, "user_on_another_team": MemberAddResultBase._user_on_another_team_validator, "user_already_paired": MemberAddResultBase._user_already_paired_validator, "user_migration_failed": MemberAddResultBase._user_migration_failed_validator, "duplicate_external_member_id": MemberAddResultBase._duplicate_external_member_id_validator, "duplicate_member_persistent_id": MemberAddResultBase._duplicate_member_persistent_id_validator, "persistent_id_disabled": MemberAddResultBase._persistent_id_disabled_validator, "user_creation_failed": MemberAddResultBase._user_creation_failed_validator, } MemberAddResult._success_validator = TeamMemberInfo_validator MemberAddResult._tagmap = { "success": MemberAddResult._success_validator, } MemberAddResult._tagmap.update(MemberAddResultBase._tagmap) MemberAddV2Arg.role_ids.validator = bv.Nullable(bv.List(TeamMemberRoleId_validator, max_items=1)) MemberAddV2Arg._all_field_names_ = MemberAddArgBase._all_field_names_.union(set(["role_ids"])) MemberAddV2Arg._all_fields_ = MemberAddArgBase._all_fields_ + [ ("role_ids", MemberAddV2Arg.role_ids.validator) ] MemberAddV2Result._success_validator = TeamMemberInfoV2_validator MemberAddV2Result._other_validator = bv.Void() MemberAddV2Result._tagmap = { "success": MemberAddV2Result._success_validator, "other": MemberAddV2Result._other_validator, } MemberAddV2Result._tagmap.update(MemberAddResultBase._tagmap) MemberAddV2Result.other = MemberAddV2Result("other") 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.secondary_emails.validator = bv.Nullable( bv.List(secondary_emails.SecondaryEmail_validator) ) MemberProfile.status.validator = TeamMemberStatus_validator MemberProfile.name.validator = users.Name_validator MemberProfile.membership_type.validator = TeamMembershipType_validator MemberProfile.invited_on.validator = bv.Nullable(common.DropboxTimestamp_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", "secondary_emails", "status", "name", "membership_type", "invited_on", "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), ("secondary_emails", MemberProfile.secondary_emails.validator), ("status", MemberProfile.status.validator), ("name", MemberProfile.name.validator), ("membership_type", MemberProfile.membership_type.validator), ("invited_on", MemberProfile.invited_on.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") MembersAddArgBase.force_async.validator = bv.Boolean() MembersAddArgBase._all_field_names_ = set(["force_async"]) MembersAddArgBase._all_fields_ = [("force_async", MembersAddArgBase.force_async.validator)] MembersAddArg.new_members.validator = bv.List(MemberAddArg_validator) MembersAddArg._all_field_names_ = MembersAddArgBase._all_field_names_.union(set(["new_members"])) MembersAddArg._all_fields_ = MembersAddArgBase._all_fields_ + [ ("new_members", MembersAddArg.new_members.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) MembersAddJobStatusV2Result._complete_validator = bv.List(MemberAddV2Result_validator) MembersAddJobStatusV2Result._failed_validator = bv.String() MembersAddJobStatusV2Result._other_validator = bv.Void() MembersAddJobStatusV2Result._tagmap = { "complete": MembersAddJobStatusV2Result._complete_validator, "failed": MembersAddJobStatusV2Result._failed_validator, "other": MembersAddJobStatusV2Result._other_validator, } MembersAddJobStatusV2Result._tagmap.update(async_.PollResultBase._tagmap) MembersAddJobStatusV2Result.other = MembersAddJobStatusV2Result("other") MembersAddLaunch._complete_validator = bv.List(MemberAddResult_validator) MembersAddLaunch._tagmap = { "complete": MembersAddLaunch._complete_validator, } MembersAddLaunch._tagmap.update(async_.LaunchResultBase._tagmap) MembersAddLaunchV2Result._complete_validator = bv.List(MemberAddV2Result_validator) MembersAddLaunchV2Result._other_validator = bv.Void() MembersAddLaunchV2Result._tagmap = { "complete": MembersAddLaunchV2Result._complete_validator, "other": MembersAddLaunchV2Result._other_validator, } MembersAddLaunchV2Result._tagmap.update(async_.LaunchResultBase._tagmap) MembersAddLaunchV2Result.other = MembersAddLaunchV2Result("other") MembersAddV2Arg.new_members.validator = bv.List(MemberAddV2Arg_validator) MembersAddV2Arg._all_field_names_ = MembersAddArgBase._all_field_names_.union(set(["new_members"])) MembersAddV2Arg._all_fields_ = MembersAddArgBase._all_fields_ + [ ("new_members", MembersAddV2Arg.new_members.validator) ] MembersDeactivateBaseArg.user.validator = UserSelectorArg_validator MembersDeactivateBaseArg._all_field_names_ = set(["user"]) MembersDeactivateBaseArg._all_fields_ = [("user", MembersDeactivateBaseArg.user.validator)] MembersDataTransferArg.transfer_dest_id.validator = UserSelectorArg_validator MembersDataTransferArg.transfer_admin_id.validator = UserSelectorArg_validator MembersDataTransferArg._all_field_names_ = MembersDeactivateBaseArg._all_field_names_.union( set( [ "transfer_dest_id", "transfer_admin_id", ] ) ) MembersDataTransferArg._all_fields_ = MembersDeactivateBaseArg._all_fields_ + [ ("transfer_dest_id", MembersDataTransferArg.transfer_dest_id.validator), ("transfer_admin_id", MembersDataTransferArg.transfer_admin_id.validator), ] MembersDeactivateArg.wipe_data.validator = bv.Boolean() MembersDeactivateArg._all_field_names_ = MembersDeactivateBaseArg._all_field_names_.union( set(["wipe_data"]) ) MembersDeactivateArg._all_fields_ = MembersDeactivateBaseArg._all_fields_ + [ ("wipe_data", MembersDeactivateArg.wipe_data.validator) ] MembersDeactivateError._user_not_in_team_validator = bv.Void() MembersDeactivateError._other_validator = bv.Void() MembersDeactivateError._tagmap = { "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") MembersPermanentlyDeleteFilesError._transfer_in_progress_validator = bv.Void() MembersPermanentlyDeleteFilesError._already_transferred_validator = bv.Void() MembersPermanentlyDeleteFilesError._already_transferred_or_deleted_validator = bv.Void() MembersPermanentlyDeleteFilesError._tagmap = { "transfer_in_progress": MembersPermanentlyDeleteFilesError._transfer_in_progress_validator, "already_transferred": MembersPermanentlyDeleteFilesError._already_transferred_validator, "already_transferred_or_deleted": MembersPermanentlyDeleteFilesError._already_transferred_or_deleted_validator, } MembersPermanentlyDeleteFilesError._tagmap.update(MembersDeactivateError._tagmap) MembersPermanentlyDeleteFilesError.transfer_in_progress = MembersPermanentlyDeleteFilesError( "transfer_in_progress" ) MembersPermanentlyDeleteFilesError.already_transferred = MembersPermanentlyDeleteFilesError( "already_transferred" ) MembersPermanentlyDeleteFilesError.already_transferred_or_deleted = ( MembersPermanentlyDeleteFilesError("already_transferred_or_deleted") ) MembersDeleteFormerMemberFilesError._user_not_removed_validator = bv.Void() MembersDeleteFormerMemberFilesError._tagmap = { "user_not_removed": MembersDeleteFormerMemberFilesError._user_not_removed_validator, } MembersDeleteFormerMemberFilesError._tagmap.update(MembersPermanentlyDeleteFilesError._tagmap) MembersDeleteFormerMemberFilesError.user_not_removed = MembersDeleteFormerMemberFilesError( "user_not_removed" ) MembersDeleteProfilePhotoArg.user.validator = UserSelectorArg_validator MembersDeleteProfilePhotoArg._all_field_names_ = set(["user"]) MembersDeleteProfilePhotoArg._all_fields_ = [("user", MembersDeleteProfilePhotoArg.user.validator)] MembersDeleteProfilePhotoError._set_profile_disallowed_validator = bv.Void() MembersDeleteProfilePhotoError._other_validator = bv.Void() MembersDeleteProfilePhotoError._tagmap = { "set_profile_disallowed": MembersDeleteProfilePhotoError._set_profile_disallowed_validator, "other": MembersDeleteProfilePhotoError._other_validator, } MembersDeleteProfilePhotoError._tagmap.update(MemberSelectorError._tagmap) MembersDeleteProfilePhotoError.set_profile_disallowed = MembersDeleteProfilePhotoError( "set_profile_disallowed" ) MembersDeleteProfilePhotoError.other = MembersDeleteProfilePhotoError("other") MembersFormerMemberArg.user.validator = UserSelectorArg_validator MembersFormerMemberArg._all_field_names_ = set(["user"]) MembersFormerMemberArg._all_fields_ = [("user", MembersFormerMemberArg.user.validator)] MembersGetAvailableTeamMemberRolesResult.roles.validator = bv.List(TeamMemberRole_validator) MembersGetAvailableTeamMemberRolesResult._all_field_names_ = set(["roles"]) MembersGetAvailableTeamMemberRolesResult._all_fields_ = [ ("roles", MembersGetAvailableTeamMemberRolesResult.roles.validator) ] 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") MembersGetInfoItemBase._id_not_found_validator = bv.String() MembersGetInfoItemBase._tagmap = { "id_not_found": MembersGetInfoItemBase._id_not_found_validator, } MembersGetInfoItem._member_info_validator = TeamMemberInfo_validator MembersGetInfoItem._tagmap = { "member_info": MembersGetInfoItem._member_info_validator, } MembersGetInfoItem._tagmap.update(MembersGetInfoItemBase._tagmap) MembersGetInfoItemV2._member_info_validator = TeamMemberInfoV2_validator MembersGetInfoItemV2._other_validator = bv.Void() MembersGetInfoItemV2._tagmap = { "member_info": MembersGetInfoItemV2._member_info_validator, "other": MembersGetInfoItemV2._other_validator, } MembersGetInfoItemV2._tagmap.update(MembersGetInfoItemBase._tagmap) MembersGetInfoItemV2.other = MembersGetInfoItemV2("other") MembersGetInfoV2Arg.members.validator = bv.List(UserSelectorArg_validator) MembersGetInfoV2Arg._all_field_names_ = set(["members"]) MembersGetInfoV2Arg._all_fields_ = [("members", MembersGetInfoV2Arg.members.validator)] MembersGetInfoV2Result.members_info.validator = bv.List(MembersGetInfoItemV2_validator) MembersGetInfoV2Result._all_field_names_ = set(["members_info"]) MembersGetInfoV2Result._all_fields_ = [ ("members_info", MembersGetInfoV2Result.members_info.validator) ] MembersInfo.team_member_ids.validator = bv.List(team_common.TeamMemberId_validator) MembersInfo.permanently_deleted_users.validator = bv.UInt64() MembersInfo._all_field_names_ = set( [ "team_member_ids", "permanently_deleted_users", ] ) MembersInfo._all_fields_ = [ ("team_member_ids", MembersInfo.team_member_ids.validator), ("permanently_deleted_users", MembersInfo.permanently_deleted_users.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), ] MembersListV2Result.members.validator = bv.List(TeamMemberInfoV2_validator) MembersListV2Result.cursor.validator = bv.String() MembersListV2Result.has_more.validator = bv.Boolean() MembersListV2Result._all_field_names_ = set( [ "members", "cursor", "has_more", ] ) MembersListV2Result._all_fields_ = [ ("members", MembersListV2Result.members.validator), ("cursor", MembersListV2Result.cursor.validator), ("has_more", MembersListV2Result.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.retain_team_shares.validator = bv.Boolean() MembersRemoveArg.permanently_delete_files.validator = bv.Boolean() MembersRemoveArg._all_field_names_ = MembersDeactivateArg._all_field_names_.union( set( [ "transfer_dest_id", "transfer_admin_id", "keep_account", "retain_team_shares", "permanently_delete_files", ] ) ) 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), ("retain_team_shares", MembersRemoveArg.retain_team_shares.validator), ("permanently_delete_files", MembersRemoveArg.permanently_delete_files.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(MembersPermanentlyDeleteFilesError._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._cannot_keep_account_and_permanently_delete_validator = bv.Void() MembersRemoveError._email_address_too_long_to_be_disabled_validator = bv.Void() MembersRemoveError._cannot_keep_invited_user_account_validator = bv.Void() MembersRemoveError._cannot_retain_shares_when_data_wiped_validator = bv.Void() MembersRemoveError._cannot_retain_shares_when_no_account_kept_validator = bv.Void() MembersRemoveError._cannot_retain_shares_when_team_external_sharing_off_validator = bv.Void() MembersRemoveError._cannot_keep_account_validator = bv.Void() MembersRemoveError._cannot_keep_account_under_legal_hold_validator = bv.Void() MembersRemoveError._cannot_keep_account_required_to_sign_tos_validator = bv.Void() MembersRemoveError._cannot_permanently_delete_and_transfer_validator = bv.Void() MembersRemoveError._member_is_transfer_destination_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, "cannot_keep_account_and_permanently_delete": MembersRemoveError._cannot_keep_account_and_permanently_delete_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, "cannot_retain_shares_when_data_wiped": MembersRemoveError._cannot_retain_shares_when_data_wiped_validator, "cannot_retain_shares_when_no_account_kept": MembersRemoveError._cannot_retain_shares_when_no_account_kept_validator, "cannot_retain_shares_when_team_external_sharing_off": MembersRemoveError._cannot_retain_shares_when_team_external_sharing_off_validator, "cannot_keep_account": MembersRemoveError._cannot_keep_account_validator, "cannot_keep_account_under_legal_hold": MembersRemoveError._cannot_keep_account_under_legal_hold_validator, "cannot_keep_account_required_to_sign_tos": MembersRemoveError._cannot_keep_account_required_to_sign_tos_validator, "cannot_permanently_delete_and_transfer": MembersRemoveError._cannot_permanently_delete_and_transfer_validator, "member_is_transfer_destination": MembersRemoveError._member_is_transfer_destination_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.cannot_keep_account_and_permanently_delete = MembersRemoveError( "cannot_keep_account_and_permanently_delete" ) 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" ) MembersRemoveError.cannot_retain_shares_when_data_wiped = MembersRemoveError( "cannot_retain_shares_when_data_wiped" ) MembersRemoveError.cannot_retain_shares_when_no_account_kept = MembersRemoveError( "cannot_retain_shares_when_no_account_kept" ) MembersRemoveError.cannot_retain_shares_when_team_external_sharing_off = MembersRemoveError( "cannot_retain_shares_when_team_external_sharing_off" ) MembersRemoveError.cannot_keep_account = MembersRemoveError("cannot_keep_account") MembersRemoveError.cannot_keep_account_under_legal_hold = MembersRemoveError( "cannot_keep_account_under_legal_hold" ) MembersRemoveError.cannot_keep_account_required_to_sign_tos = MembersRemoveError( "cannot_keep_account_required_to_sign_tos" ) MembersRemoveError.cannot_permanently_delete_and_transfer = MembersRemoveError( "cannot_permanently_delete_and_transfer" ) MembersRemoveError.member_is_transfer_destination = MembersRemoveError( "member_is_transfer_destination" ) MembersSendWelcomeError._other_validator = bv.Void() MembersSendWelcomeError._tagmap = { "other": MembersSendWelcomeError._other_validator, } MembersSendWelcomeError._tagmap.update(MemberSelectorError._tagmap) MembersSendWelcomeError.other = MembersSendWelcomeError("other") MembersSetPermissions2Arg.user.validator = UserSelectorArg_validator MembersSetPermissions2Arg.new_roles.validator = bv.Nullable( bv.List(TeamMemberRoleId_validator, max_items=1) ) MembersSetPermissions2Arg._all_field_names_ = set( [ "user", "new_roles", ] ) MembersSetPermissions2Arg._all_fields_ = [ ("user", MembersSetPermissions2Arg.user.validator), ("new_roles", MembersSetPermissions2Arg.new_roles.validator), ] MembersSetPermissions2Error._last_admin_validator = bv.Void() MembersSetPermissions2Error._user_not_in_team_validator = bv.Void() MembersSetPermissions2Error._cannot_set_permissions_validator = bv.Void() MembersSetPermissions2Error._role_not_found_validator = bv.Void() MembersSetPermissions2Error._other_validator = bv.Void() MembersSetPermissions2Error._tagmap = { "last_admin": MembersSetPermissions2Error._last_admin_validator, "user_not_in_team": MembersSetPermissions2Error._user_not_in_team_validator, "cannot_set_permissions": MembersSetPermissions2Error._cannot_set_permissions_validator, "role_not_found": MembersSetPermissions2Error._role_not_found_validator, "other": MembersSetPermissions2Error._other_validator, } MembersSetPermissions2Error._tagmap.update(UserSelectorError._tagmap) MembersSetPermissions2Error.last_admin = MembersSetPermissions2Error("last_admin") MembersSetPermissions2Error.user_not_in_team = MembersSetPermissions2Error("user_not_in_team") MembersSetPermissions2Error.cannot_set_permissions = MembersSetPermissions2Error( "cannot_set_permissions" ) MembersSetPermissions2Error.role_not_found = MembersSetPermissions2Error("role_not_found") MembersSetPermissions2Error.other = MembersSetPermissions2Error("other") MembersSetPermissions2Result.team_member_id.validator = team_common.TeamMemberId_validator MembersSetPermissions2Result.roles.validator = bv.Nullable(bv.List(TeamMemberRole_validator)) MembersSetPermissions2Result._all_field_names_ = set( [ "team_member_id", "roles", ] ) MembersSetPermissions2Result._all_fields_ = [ ("team_member_id", MembersSetPermissions2Result.team_member_id.validator), ("roles", MembersSetPermissions2Result.roles.validator), ] 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") MembersSetProfilePhotoArg.user.validator = UserSelectorArg_validator MembersSetProfilePhotoArg.photo.validator = account.PhotoSourceArg_validator MembersSetProfilePhotoArg._all_field_names_ = set( [ "user", "photo", ] ) MembersSetProfilePhotoArg._all_fields_ = [ ("user", MembersSetProfilePhotoArg.user.validator), ("photo", MembersSetProfilePhotoArg.photo.validator), ] MembersSetProfilePhotoError._set_profile_disallowed_validator = bv.Void() MembersSetProfilePhotoError._photo_error_validator = account.SetProfilePhotoError_validator MembersSetProfilePhotoError._other_validator = bv.Void() MembersSetProfilePhotoError._tagmap = { "set_profile_disallowed": MembersSetProfilePhotoError._set_profile_disallowed_validator, "photo_error": MembersSetProfilePhotoError._photo_error_validator, "other": MembersSetProfilePhotoError._other_validator, } MembersSetProfilePhotoError._tagmap.update(MemberSelectorError._tagmap) MembersSetProfilePhotoError.set_profile_disallowed = MembersSetProfilePhotoError( "set_profile_disallowed" ) MembersSetProfilePhotoError.other = MembersSetProfilePhotoError("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.quota_limit.validator = bv.Int64() NamespaceMetadata._all_field_names_ = set( [ "name", "namespace_id", "namespace_type", "team_member_id", "quota_limit", ] ) 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), ("quota_limit", NamespaceMetadata.quota_limit.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._team_member_root_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, "team_member_root": NamespaceType._team_member_root_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.team_member_root = NamespaceType("team_member_root") 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), ] ResendSecondaryEmailResult._success_validator = common.EmailAddress_validator ResendSecondaryEmailResult._not_pending_validator = common.EmailAddress_validator ResendSecondaryEmailResult._rate_limited_validator = common.EmailAddress_validator ResendSecondaryEmailResult._other_validator = bv.Void() ResendSecondaryEmailResult._tagmap = { "success": ResendSecondaryEmailResult._success_validator, "not_pending": ResendSecondaryEmailResult._not_pending_validator, "rate_limited": ResendSecondaryEmailResult._rate_limited_validator, "other": ResendSecondaryEmailResult._other_validator, } ResendSecondaryEmailResult.other = ResendSecondaryEmailResult("other") ResendVerificationEmailArg.emails_to_resend.validator = bv.List(UserSecondaryEmailsArg_validator) ResendVerificationEmailArg._all_field_names_ = set(["emails_to_resend"]) ResendVerificationEmailArg._all_fields_ = [ ("emails_to_resend", ResendVerificationEmailArg.emails_to_resend.validator) ] ResendVerificationEmailResult.results.validator = bv.List(UserResendResult_validator) ResendVerificationEmailResult._all_field_names_ = set(["results"]) ResendVerificationEmailResult._all_fields_ = [ ("results", ResendVerificationEmailResult.results.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._app_folder_removal_not_supported_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, "app_folder_removal_not_supported": RevokeLinkedAppError._app_folder_removal_not_supported_validator, "other": RevokeLinkedAppError._other_validator, } RevokeLinkedAppError.app_not_found = RevokeLinkedAppError("app_not_found") RevokeLinkedAppError.member_not_found = RevokeLinkedAppError("member_not_found") RevokeLinkedAppError.app_folder_removal_not_supported = RevokeLinkedAppError( "app_folder_removal_not_supported" ) 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") SharingAllowlistAddArgs.domains.validator = bv.Nullable(bv.List(bv.String())) SharingAllowlistAddArgs.emails.validator = bv.Nullable(bv.List(bv.String())) SharingAllowlistAddArgs._all_field_names_ = set( [ "domains", "emails", ] ) SharingAllowlistAddArgs._all_fields_ = [ ("domains", SharingAllowlistAddArgs.domains.validator), ("emails", SharingAllowlistAddArgs.emails.validator), ] SharingAllowlistAddError._malformed_entry_validator = bv.String() SharingAllowlistAddError._no_entries_provided_validator = bv.Void() SharingAllowlistAddError._too_many_entries_provided_validator = bv.Void() SharingAllowlistAddError._team_limit_reached_validator = bv.Void() SharingAllowlistAddError._unknown_error_validator = bv.Void() SharingAllowlistAddError._entries_already_exist_validator = bv.String() SharingAllowlistAddError._other_validator = bv.Void() SharingAllowlistAddError._tagmap = { "malformed_entry": SharingAllowlistAddError._malformed_entry_validator, "no_entries_provided": SharingAllowlistAddError._no_entries_provided_validator, "too_many_entries_provided": SharingAllowlistAddError._too_many_entries_provided_validator, "team_limit_reached": SharingAllowlistAddError._team_limit_reached_validator, "unknown_error": SharingAllowlistAddError._unknown_error_validator, "entries_already_exist": SharingAllowlistAddError._entries_already_exist_validator, "other": SharingAllowlistAddError._other_validator, } SharingAllowlistAddError.no_entries_provided = SharingAllowlistAddError("no_entries_provided") SharingAllowlistAddError.too_many_entries_provided = SharingAllowlistAddError( "too_many_entries_provided" ) SharingAllowlistAddError.team_limit_reached = SharingAllowlistAddError("team_limit_reached") SharingAllowlistAddError.unknown_error = SharingAllowlistAddError("unknown_error") SharingAllowlistAddError.other = SharingAllowlistAddError("other") SharingAllowlistAddResponse._all_field_names_ = set([]) SharingAllowlistAddResponse._all_fields_ = [] SharingAllowlistListArg.limit.validator = bv.UInt32(min_value=1, max_value=1000) SharingAllowlistListArg._all_field_names_ = set(["limit"]) SharingAllowlistListArg._all_fields_ = [("limit", SharingAllowlistListArg.limit.validator)] SharingAllowlistListContinueArg.cursor.validator = bv.String() SharingAllowlistListContinueArg._all_field_names_ = set(["cursor"]) SharingAllowlistListContinueArg._all_fields_ = [ ("cursor", SharingAllowlistListContinueArg.cursor.validator) ] SharingAllowlistListContinueError._invalid_cursor_validator = bv.Void() SharingAllowlistListContinueError._other_validator = bv.Void() SharingAllowlistListContinueError._tagmap = { "invalid_cursor": SharingAllowlistListContinueError._invalid_cursor_validator, "other": SharingAllowlistListContinueError._other_validator, } SharingAllowlistListContinueError.invalid_cursor = SharingAllowlistListContinueError( "invalid_cursor" ) SharingAllowlistListContinueError.other = SharingAllowlistListContinueError("other") SharingAllowlistListError._all_field_names_ = set([]) SharingAllowlistListError._all_fields_ = [] SharingAllowlistListResponse.domains.validator = bv.List(bv.String()) SharingAllowlistListResponse.emails.validator = bv.List(bv.String()) SharingAllowlistListResponse.cursor.validator = bv.String() SharingAllowlistListResponse.has_more.validator = bv.Boolean() SharingAllowlistListResponse._all_field_names_ = set( [ "domains", "emails", "cursor", "has_more", ] ) SharingAllowlistListResponse._all_fields_ = [ ("domains", SharingAllowlistListResponse.domains.validator), ("emails", SharingAllowlistListResponse.emails.validator), ("cursor", SharingAllowlistListResponse.cursor.validator), ("has_more", SharingAllowlistListResponse.has_more.validator), ] SharingAllowlistRemoveArgs.domains.validator = bv.Nullable(bv.List(bv.String())) SharingAllowlistRemoveArgs.emails.validator = bv.Nullable(bv.List(bv.String())) SharingAllowlistRemoveArgs._all_field_names_ = set( [ "domains", "emails", ] ) SharingAllowlistRemoveArgs._all_fields_ = [ ("domains", SharingAllowlistRemoveArgs.domains.validator), ("emails", SharingAllowlistRemoveArgs.emails.validator), ] SharingAllowlistRemoveError._malformed_entry_validator = bv.String() SharingAllowlistRemoveError._entries_do_not_exist_validator = bv.String() SharingAllowlistRemoveError._no_entries_provided_validator = bv.Void() SharingAllowlistRemoveError._too_many_entries_provided_validator = bv.Void() SharingAllowlistRemoveError._unknown_error_validator = bv.Void() SharingAllowlistRemoveError._other_validator = bv.Void() SharingAllowlistRemoveError._tagmap = { "malformed_entry": SharingAllowlistRemoveError._malformed_entry_validator, "entries_do_not_exist": SharingAllowlistRemoveError._entries_do_not_exist_validator, "no_entries_provided": SharingAllowlistRemoveError._no_entries_provided_validator, "too_many_entries_provided": SharingAllowlistRemoveError._too_many_entries_provided_validator, "unknown_error": SharingAllowlistRemoveError._unknown_error_validator, "other": SharingAllowlistRemoveError._other_validator, } SharingAllowlistRemoveError.no_entries_provided = SharingAllowlistRemoveError("no_entries_provided") SharingAllowlistRemoveError.too_many_entries_provided = SharingAllowlistRemoveError( "too_many_entries_provided" ) SharingAllowlistRemoveError.unknown_error = SharingAllowlistRemoveError("unknown_error") SharingAllowlistRemoveError.other = SharingAllowlistRemoveError("other") SharingAllowlistRemoveResponse._all_field_names_ = set([]) SharingAllowlistRemoveResponse._all_fields_ = [] 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._folder_count_limit_exceeded_validator = bv.Void() 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, "folder_count_limit_exceeded": TeamFolderCreateError._folder_count_limit_exceeded_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.folder_count_limit_exceeded = TeamFolderCreateError( "folder_count_limit_exceeded" ) 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.quota_limit.validator = bv.Int64() TeamFolderMetadata._all_field_names_ = set( [ "team_folder_id", "name", "status", "is_team_shared_dropbox", "sync_setting", "content_sync_settings", "quota_limit", ] ) 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), ("quota_limit", TeamFolderMetadata.quota_limit.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") TeamFolderRestoreError._tagmap = {} TeamFolderRestoreError._tagmap.update(BaseTeamFolderError._tagmap) TeamFolderStatus._active_validator = bv.Void() TeamFolderStatus._archived_validator = bv.Void() TeamFolderStatus._archive_in_progress_validator = bv.Void() TeamFolderStatus._inactive_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, "inactive": TeamFolderStatus._inactive_validator, "other": TeamFolderStatus._other_validator, } TeamFolderStatus.active = TeamFolderStatus("active") TeamFolderStatus.archived = TeamFolderStatus("archived") TeamFolderStatus.archive_in_progress = TeamFolderStatus("archive_in_progress") TeamFolderStatus.inactive = TeamFolderStatus("inactive") 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.num_used_licenses.validator = bv.UInt32() TeamGetInfoResult.policies.validator = team_policies.TeamMemberPolicies_validator TeamGetInfoResult._all_field_names_ = set( [ "name", "team_id", "num_licensed_users", "num_provisioned_users", "num_used_licenses", "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), ("num_used_licenses", TeamGetInfoResult.num_used_licenses.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), ] TeamMemberInfoV2.profile.validator = TeamMemberProfile_validator TeamMemberInfoV2.roles.validator = bv.Nullable(bv.List(TeamMemberRole_validator)) TeamMemberInfoV2._all_field_names_ = set( [ "profile", "roles", ] ) TeamMemberInfoV2._all_fields_ = [ ("profile", TeamMemberInfoV2.profile.validator), ("roles", TeamMemberInfoV2.roles.validator), ] TeamMemberInfoV2Result.member_info.validator = TeamMemberInfoV2_validator TeamMemberInfoV2Result._all_field_names_ = set(["member_info"]) TeamMemberInfoV2Result._all_fields_ = [ ("member_info", TeamMemberInfoV2Result.member_info.validator) ] TeamMemberProfile.groups.validator = bv.List(team_common.GroupId_validator) TeamMemberProfile.member_folder_id.validator = common.NamespaceId_validator TeamMemberProfile.root_folder_id.validator = common.NamespaceId_validator TeamMemberProfile._all_field_names_ = MemberProfile._all_field_names_.union( set( [ "groups", "member_folder_id", "root_folder_id", ] ) ) TeamMemberProfile._all_fields_ = MemberProfile._all_fields_ + [ ("groups", TeamMemberProfile.groups.validator), ("member_folder_id", TeamMemberProfile.member_folder_id.validator), ("root_folder_id", TeamMemberProfile.root_folder_id.validator), ] TeamMemberRole.role_id.validator = TeamMemberRoleId_validator TeamMemberRole.name.validator = bv.String(max_length=32) TeamMemberRole.description.validator = bv.String(max_length=256) TeamMemberRole._all_field_names_ = set( [ "role_id", "name", "description", ] ) TeamMemberRole._all_fields_ = [ ("role_id", TeamMemberRole.role_id.validator), ("name", TeamMemberRole.name.validator), ("description", TeamMemberRole.description.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") UserAddResult._success_validator = UserSecondaryEmailsResult_validator UserAddResult._invalid_user_validator = UserSelectorArg_validator UserAddResult._unverified_validator = UserSelectorArg_validator UserAddResult._placeholder_user_validator = UserSelectorArg_validator UserAddResult._other_validator = bv.Void() UserAddResult._tagmap = { "success": UserAddResult._success_validator, "invalid_user": UserAddResult._invalid_user_validator, "unverified": UserAddResult._unverified_validator, "placeholder_user": UserAddResult._placeholder_user_validator, "other": UserAddResult._other_validator, } UserAddResult.other = UserAddResult("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), ] UserDeleteEmailsResult.user.validator = UserSelectorArg_validator UserDeleteEmailsResult.results.validator = bv.List(DeleteSecondaryEmailResult_validator) UserDeleteEmailsResult._all_field_names_ = set( [ "user", "results", ] ) UserDeleteEmailsResult._all_fields_ = [ ("user", UserDeleteEmailsResult.user.validator), ("results", UserDeleteEmailsResult.results.validator), ] UserDeleteResult._success_validator = UserDeleteEmailsResult_validator UserDeleteResult._invalid_user_validator = UserSelectorArg_validator UserDeleteResult._other_validator = bv.Void() UserDeleteResult._tagmap = { "success": UserDeleteResult._success_validator, "invalid_user": UserDeleteResult._invalid_user_validator, "other": UserDeleteResult._other_validator, } UserDeleteResult.other = UserDeleteResult("other") UserResendEmailsResult.user.validator = UserSelectorArg_validator UserResendEmailsResult.results.validator = bv.List(ResendSecondaryEmailResult_validator) UserResendEmailsResult._all_field_names_ = set( [ "user", "results", ] ) UserResendEmailsResult._all_fields_ = [ ("user", UserResendEmailsResult.user.validator), ("results", UserResendEmailsResult.results.validator), ] UserResendResult._success_validator = UserResendEmailsResult_validator UserResendResult._invalid_user_validator = UserSelectorArg_validator UserResendResult._other_validator = bv.Void() UserResendResult._tagmap = { "success": UserResendResult._success_validator, "invalid_user": UserResendResult._invalid_user_validator, "other": UserResendResult._other_validator, } UserResendResult.other = UserResendResult("other") UserSecondaryEmailsArg.user.validator = UserSelectorArg_validator UserSecondaryEmailsArg.secondary_emails.validator = bv.List(common.EmailAddress_validator) UserSecondaryEmailsArg._all_field_names_ = set( [ "user", "secondary_emails", ] ) UserSecondaryEmailsArg._all_fields_ = [ ("user", UserSecondaryEmailsArg.user.validator), ("secondary_emails", UserSecondaryEmailsArg.secondary_emails.validator), ] UserSecondaryEmailsResult.user.validator = UserSelectorArg_validator UserSecondaryEmailsResult.results.validator = bv.List(AddSecondaryEmailResult_validator) UserSecondaryEmailsResult._all_field_names_ = set( [ "user", "results", ] ) UserSecondaryEmailsResult._all_fields_ = [ ("user", UserSecondaryEmailsResult.user.validator), ("results", UserSecondaryEmailsResult.results.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, } ExcludedUsersListArg.limit.default = 1000 GroupCreateArg.add_creator_as_owner.default = False IncludeMembersArg.return_members.default = True GroupMembersSetAccessTypeArg.return_members.default = True GroupsListArg.limit.default = 1000 GroupsMembersListArg.limit.default = 1000 LegalHoldsListPoliciesArg.include_released.default = False ListMemberDevicesArg.include_web_sessions.default = True ListMemberDevicesArg.include_desktop_clients.default = True ListMemberDevicesArg.include_mobile_clients.default = True ListMembersDevicesArg.include_web_sessions.default = True ListMembersDevicesArg.include_desktop_clients.default = True ListMembersDevicesArg.include_mobile_clients.default = True ListTeamDevicesArg.include_web_sessions.default = True ListTeamDevicesArg.include_desktop_clients.default = True ListTeamDevicesArg.include_mobile_clients.default = True MemberAddArgBase.send_welcome_email.default = True MemberAddArg.role.default = AdminTier.member_only MembersAddArgBase.force_async.default = False MembersDeactivateArg.wipe_data.default = True MembersListArg.limit.default = 1000 MembersListArg.include_removed.default = False MembersRemoveArg.keep_account.default = False MembersRemoveArg.retain_team_shares.default = False MembersRemoveArg.permanently_delete_files.default = False NamespaceMetadata.quota_limit.default = 0 RevokeDesktopClientArg.delete_on_unlink.default = False RevokeLinkedApiAppArg.keep_app_folder.default = True SharingAllowlistListArg.limit.default = 1000 SharingAllowlistListResponse.cursor.default = "" SharingAllowlistListResponse.has_more.default = False TeamFolderArchiveArg.force_async_off.default = False TeamFolderListArg.limit.default = 1000 TeamFolderMetadata.quota_limit.default = 0 TeamGetInfoResult.num_used_licenses.default = 0 TeamNamespacesListArg.limit.default = 1000 devices_list_member_devices = bb.Route( "devices/list_member_devices", 1, False, ListMemberDevicesArg_validator, ListMemberDevicesResult_validator, ListMemberDevicesError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) devices_list_members_devices = bb.Route( "devices/list_members_devices", 1, False, ListMembersDevicesArg_validator, ListMembersDevicesResult_validator, ListMembersDevicesError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) devices_list_team_devices = bb.Route( "devices/list_team_devices", 1, True, ListTeamDevicesArg_validator, ListTeamDevicesResult_validator, ListTeamDevicesError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) devices_revoke_device_session = bb.Route( "devices/revoke_device_session", 1, False, RevokeDeviceSessionArg_validator, bv.Void(), RevokeDeviceSessionError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) devices_revoke_device_session_batch = bb.Route( "devices/revoke_device_session_batch", 1, False, RevokeDeviceSessionBatchArg_validator, RevokeDeviceSessionBatchResult_validator, RevokeDeviceSessionBatchError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) features_get_values = bb.Route( "features/get_values", 1, False, FeaturesGetValuesBatchArg_validator, FeaturesGetValuesBatchResult_validator, FeaturesGetValuesBatchError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) get_info = bb.Route( "get_info", 1, False, bv.Void(), TeamGetInfoResult_validator, bv.Void(), {"auth": "team", "host": "api", "style": "rpc"}, ) groups_create = bb.Route( "groups/create", 1, False, GroupCreateArg_validator, GroupFullInfo_validator, GroupCreateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_delete = bb.Route( "groups/delete", 1, False, GroupSelector_validator, async_.LaunchEmptyResult_validator, GroupDeleteError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_get_info = bb.Route( "groups/get_info", 1, False, GroupsSelector_validator, GroupsGetInfoResult_validator, GroupsGetInfoError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_job_status_get = bb.Route( "groups/job_status/get", 1, False, async_.PollArg_validator, async_.PollEmptyResult_validator, GroupsPollError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_list = bb.Route( "groups/list", 1, False, GroupsListArg_validator, GroupsListResult_validator, bv.Void(), {"auth": "team", "host": "api", "style": "rpc"}, ) groups_list_continue = bb.Route( "groups/list/continue", 1, False, GroupsListContinueArg_validator, GroupsListResult_validator, GroupsListContinueError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_members_add = bb.Route( "groups/members/add", 1, False, GroupMembersAddArg_validator, GroupMembersChangeResult_validator, GroupMembersAddError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_members_list = bb.Route( "groups/members/list", 1, False, GroupsMembersListArg_validator, GroupsMembersListResult_validator, GroupSelectorError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_members_list_continue = bb.Route( "groups/members/list/continue", 1, False, GroupsMembersListContinueArg_validator, GroupsMembersListResult_validator, GroupsMembersListContinueError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_members_remove = bb.Route( "groups/members/remove", 1, False, GroupMembersRemoveArg_validator, GroupMembersChangeResult_validator, GroupMembersRemoveError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_members_set_access_type = bb.Route( "groups/members/set_access_type", 1, False, GroupMembersSetAccessTypeArg_validator, GroupsGetInfoResult_validator, GroupMemberSetAccessTypeError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) groups_update = bb.Route( "groups/update", 1, False, GroupUpdateArgs_validator, GroupFullInfo_validator, GroupUpdateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) legal_holds_create_policy = bb.Route( "legal_holds/create_policy", 1, False, LegalHoldsPolicyCreateArg_validator, LegalHoldsPolicyCreateResult_validator, LegalHoldsPolicyCreateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) legal_holds_get_policy = bb.Route( "legal_holds/get_policy", 1, False, LegalHoldsGetPolicyArg_validator, LegalHoldsGetPolicyResult_validator, LegalHoldsGetPolicyError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) legal_holds_list_held_revisions = bb.Route( "legal_holds/list_held_revisions", 1, False, LegalHoldsListHeldRevisionsArg_validator, LegalHoldsListHeldRevisionResult_validator, LegalHoldsListHeldRevisionsError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) legal_holds_list_held_revisions_continue = bb.Route( "legal_holds/list_held_revisions_continue", 1, False, LegalHoldsListHeldRevisionsContinueArg_validator, LegalHoldsListHeldRevisionResult_validator, LegalHoldsListHeldRevisionsError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) legal_holds_list_policies = bb.Route( "legal_holds/list_policies", 1, False, LegalHoldsListPoliciesArg_validator, LegalHoldsListPoliciesResult_validator, LegalHoldsListPoliciesError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) legal_holds_release_policy = bb.Route( "legal_holds/release_policy", 1, False, LegalHoldsPolicyReleaseArg_validator, bv.Void(), LegalHoldsPolicyReleaseError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) legal_holds_update_policy = bb.Route( "legal_holds/update_policy", 1, False, LegalHoldsPolicyUpdateArg_validator, LegalHoldsPolicyUpdateResult_validator, LegalHoldsPolicyUpdateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) linked_apps_list_member_linked_apps = bb.Route( "linked_apps/list_member_linked_apps", 1, False, ListMemberAppsArg_validator, ListMemberAppsResult_validator, ListMemberAppsError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) linked_apps_list_members_linked_apps = bb.Route( "linked_apps/list_members_linked_apps", 1, False, ListMembersAppsArg_validator, ListMembersAppsResult_validator, ListMembersAppsError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) linked_apps_list_team_linked_apps = bb.Route( "linked_apps/list_team_linked_apps", 1, True, ListTeamAppsArg_validator, ListTeamAppsResult_validator, ListTeamAppsError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) linked_apps_revoke_linked_app = bb.Route( "linked_apps/revoke_linked_app", 1, False, RevokeLinkedApiAppArg_validator, bv.Void(), RevokeLinkedAppError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) linked_apps_revoke_linked_app_batch = bb.Route( "linked_apps/revoke_linked_app_batch", 1, False, RevokeLinkedApiAppBatchArg_validator, RevokeLinkedAppBatchResult_validator, RevokeLinkedAppBatchError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) member_space_limits_excluded_users_add = bb.Route( "member_space_limits/excluded_users/add", 1, False, ExcludedUsersUpdateArg_validator, ExcludedUsersUpdateResult_validator, ExcludedUsersUpdateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) member_space_limits_excluded_users_list = bb.Route( "member_space_limits/excluded_users/list", 1, False, ExcludedUsersListArg_validator, ExcludedUsersListResult_validator, ExcludedUsersListError_validator, {"auth": "team", "host": "api", "style": "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, {"auth": "team", "host": "api", "style": "rpc"}, ) member_space_limits_excluded_users_remove = bb.Route( "member_space_limits/excluded_users/remove", 1, False, ExcludedUsersUpdateArg_validator, ExcludedUsersUpdateResult_validator, ExcludedUsersUpdateError_validator, {"auth": "team", "host": "api", "style": "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, {"auth": "team", "host": "api", "style": "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, {"auth": "team", "host": "api", "style": "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, {"auth": "team", "host": "api", "style": "rpc"}, ) members_add = bb.Route( "members/add", 1, False, MembersAddArg_validator, MembersAddLaunch_validator, bv.Void(), {"auth": "team", "host": "api", "style": "rpc"}, ) members_add_v2 = bb.Route( "members/add", 2, False, MembersAddV2Arg_validator, MembersAddLaunchV2Result_validator, bv.Void(), {"auth": "team", "host": "api", "style": "rpc"}, ) members_add_job_status_get = bb.Route( "members/add/job_status/get", 1, False, async_.PollArg_validator, MembersAddJobStatus_validator, async_.PollError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_add_job_status_get_v2 = bb.Route( "members/add/job_status/get", 2, False, async_.PollArg_validator, MembersAddJobStatusV2Result_validator, async_.PollError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_delete_former_member_files = bb.Route( "members/delete_former_member_files", 1, False, MembersFormerMemberArg_validator, bv.Void(), MembersDeleteFormerMemberFilesError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_delete_profile_photo = bb.Route( "members/delete_profile_photo", 1, False, MembersDeleteProfilePhotoArg_validator, TeamMemberInfo_validator, MembersDeleteProfilePhotoError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_delete_profile_photo_v2 = bb.Route( "members/delete_profile_photo", 2, False, MembersDeleteProfilePhotoArg_validator, TeamMemberInfoV2Result_validator, MembersDeleteProfilePhotoError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_get_available_team_member_roles = bb.Route( "members/get_available_team_member_roles", 1, False, bv.Void(), MembersGetAvailableTeamMemberRolesResult_validator, bv.Void(), {"auth": "team", "host": "api", "style": "rpc"}, ) members_get_info = bb.Route( "members/get_info", 1, False, MembersGetInfoArgs_validator, MembersGetInfoResult_validator, MembersGetInfoError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_get_info_v2 = bb.Route( "members/get_info", 2, False, MembersGetInfoV2Arg_validator, MembersGetInfoV2Result_validator, MembersGetInfoError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_list = bb.Route( "members/list", 1, False, MembersListArg_validator, MembersListResult_validator, MembersListError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_list_v2 = bb.Route( "members/list", 2, False, MembersListArg_validator, MembersListV2Result_validator, MembersListError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_list_continue = bb.Route( "members/list/continue", 1, False, MembersListContinueArg_validator, MembersListResult_validator, MembersListContinueError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_list_continue_v2 = bb.Route( "members/list/continue", 2, False, MembersListContinueArg_validator, MembersListV2Result_validator, MembersListContinueError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_move_former_member_files = bb.Route( "members/move_former_member_files", 1, False, MembersDataTransferArg_validator, async_.LaunchEmptyResult_validator, MembersTransferFormerMembersFilesError_validator, {"auth": "team", "host": "api", "style": "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, {"auth": "team", "host": "api", "style": "rpc"}, ) members_recover = bb.Route( "members/recover", 1, False, MembersRecoverArg_validator, bv.Void(), MembersRecoverError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_remove = bb.Route( "members/remove", 1, False, MembersRemoveArg_validator, async_.LaunchEmptyResult_validator, MembersRemoveError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_remove_job_status_get = bb.Route( "members/remove/job_status/get", 1, False, async_.PollArg_validator, async_.PollEmptyResult_validator, async_.PollError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_secondary_emails_add = bb.Route( "members/secondary_emails/add", 1, False, AddSecondaryEmailsArg_validator, AddSecondaryEmailsResult_validator, AddSecondaryEmailsError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_secondary_emails_delete = bb.Route( "members/secondary_emails/delete", 1, False, DeleteSecondaryEmailsArg_validator, DeleteSecondaryEmailsResult_validator, bv.Void(), {"auth": "team", "host": "api", "style": "rpc"}, ) members_secondary_emails_resend_verification_emails = bb.Route( "members/secondary_emails/resend_verification_emails", 1, False, ResendVerificationEmailArg_validator, ResendVerificationEmailResult_validator, bv.Void(), {"auth": "team", "host": "api", "style": "rpc"}, ) members_send_welcome_email = bb.Route( "members/send_welcome_email", 1, False, UserSelectorArg_validator, bv.Void(), MembersSendWelcomeError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_set_admin_permissions = bb.Route( "members/set_admin_permissions", 1, False, MembersSetPermissionsArg_validator, MembersSetPermissionsResult_validator, MembersSetPermissionsError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_set_admin_permissions_v2 = bb.Route( "members/set_admin_permissions", 2, False, MembersSetPermissions2Arg_validator, MembersSetPermissions2Result_validator, MembersSetPermissions2Error_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_set_profile = bb.Route( "members/set_profile", 1, False, MembersSetProfileArg_validator, TeamMemberInfo_validator, MembersSetProfileError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_set_profile_v2 = bb.Route( "members/set_profile", 2, False, MembersSetProfileArg_validator, TeamMemberInfoV2Result_validator, MembersSetProfileError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_set_profile_photo = bb.Route( "members/set_profile_photo", 1, False, MembersSetProfilePhotoArg_validator, TeamMemberInfo_validator, MembersSetProfilePhotoError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_set_profile_photo_v2 = bb.Route( "members/set_profile_photo", 2, False, MembersSetProfilePhotoArg_validator, TeamMemberInfoV2Result_validator, MembersSetProfilePhotoError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_suspend = bb.Route( "members/suspend", 1, False, MembersDeactivateArg_validator, bv.Void(), MembersSuspendError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) members_unsuspend = bb.Route( "members/unsuspend", 1, False, MembersUnsuspendArg_validator, bv.Void(), MembersUnsuspendError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) namespaces_list = bb.Route( "namespaces/list", 1, False, TeamNamespacesListArg_validator, TeamNamespacesListResult_validator, TeamNamespacesListError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) namespaces_list_continue = bb.Route( "namespaces/list/continue", 1, False, TeamNamespacesListContinueArg_validator, TeamNamespacesListResult_validator, TeamNamespacesListContinueError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) properties_template_add = bb.Route( "properties/template/add", 1, True, file_properties.AddTemplateArg_validator, file_properties.AddTemplateResult_validator, file_properties.ModifyTemplateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) properties_template_get = bb.Route( "properties/template/get", 1, True, file_properties.GetTemplateArg_validator, file_properties.GetTemplateResult_validator, file_properties.TemplateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) reports_get_activity = bb.Route( "reports/get_activity", 1, True, DateRange_validator, GetActivityReport_validator, DateRangeError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) reports_get_devices = bb.Route( "reports/get_devices", 1, True, DateRange_validator, GetDevicesReport_validator, DateRangeError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) reports_get_membership = bb.Route( "reports/get_membership", 1, True, DateRange_validator, GetMembershipReport_validator, DateRangeError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) reports_get_storage = bb.Route( "reports/get_storage", 1, True, DateRange_validator, GetStorageReport_validator, DateRangeError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) sharing_allowlist_add = bb.Route( "sharing_allowlist/add", 1, False, SharingAllowlistAddArgs_validator, SharingAllowlistAddResponse_validator, SharingAllowlistAddError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) sharing_allowlist_list = bb.Route( "sharing_allowlist/list", 1, False, SharingAllowlistListArg_validator, SharingAllowlistListResponse_validator, SharingAllowlistListError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) sharing_allowlist_list_continue = bb.Route( "sharing_allowlist/list/continue", 1, False, SharingAllowlistListContinueArg_validator, SharingAllowlistListResponse_validator, SharingAllowlistListContinueError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) sharing_allowlist_remove = bb.Route( "sharing_allowlist/remove", 1, False, SharingAllowlistRemoveArgs_validator, SharingAllowlistRemoveResponse_validator, SharingAllowlistRemoveError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_activate = bb.Route( "team_folder/activate", 1, False, TeamFolderIdArg_validator, TeamFolderMetadata_validator, TeamFolderActivateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_archive = bb.Route( "team_folder/archive", 1, False, TeamFolderArchiveArg_validator, TeamFolderArchiveLaunch_validator, TeamFolderArchiveError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_archive_check = bb.Route( "team_folder/archive/check", 1, False, async_.PollArg_validator, TeamFolderArchiveJobStatus_validator, async_.PollError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_create = bb.Route( "team_folder/create", 1, False, TeamFolderCreateArg_validator, TeamFolderMetadata_validator, TeamFolderCreateError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_get_info = bb.Route( "team_folder/get_info", 1, False, TeamFolderIdListArg_validator, bv.List(TeamFolderGetInfoItem_validator), bv.Void(), {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_list = bb.Route( "team_folder/list", 1, False, TeamFolderListArg_validator, TeamFolderListResult_validator, TeamFolderListError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_list_continue = bb.Route( "team_folder/list/continue", 1, False, TeamFolderListContinueArg_validator, TeamFolderListResult_validator, TeamFolderListContinueError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_permanently_delete = bb.Route( "team_folder/permanently_delete", 1, False, TeamFolderIdArg_validator, bv.Void(), TeamFolderPermanentlyDeleteError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_rename = bb.Route( "team_folder/rename", 1, False, TeamFolderRenameArg_validator, TeamFolderMetadata_validator, TeamFolderRenameError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_restore = bb.Route( "team_folder/restore", 1, False, TeamFolderIdArg_validator, TeamFolderMetadata_validator, TeamFolderRestoreError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) team_folder_update_sync_settings = bb.Route( "team_folder/update_sync_settings", 1, False, TeamFolderUpdateSyncSettingsArg_validator, TeamFolderMetadata_validator, TeamFolderUpdateSyncSettingsError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) token_get_authenticated_admin = bb.Route( "token/get_authenticated_admin", 1, False, bv.Void(), TokenGetAuthenticatedAdminResult_validator, TokenGetAuthenticatedAdminError_validator, {"auth": "team", "host": "api", "style": "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, "legal_holds/create_policy": legal_holds_create_policy, "legal_holds/get_policy": legal_holds_get_policy, "legal_holds/list_held_revisions": legal_holds_list_held_revisions, "legal_holds/list_held_revisions_continue": legal_holds_list_held_revisions_continue, "legal_holds/list_policies": legal_holds_list_policies, "legal_holds/release_policy": legal_holds_release_policy, "legal_holds/update_policy": legal_holds_update_policy, "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:2": members_add_v2, "members/add/job_status/get": members_add_job_status_get, "members/add/job_status/get:2": members_add_job_status_get_v2, "members/delete_former_member_files": members_delete_former_member_files, "members/delete_profile_photo": members_delete_profile_photo, "members/delete_profile_photo:2": members_delete_profile_photo_v2, "members/get_available_team_member_roles": members_get_available_team_member_roles, "members/get_info": members_get_info, "members/get_info:2": members_get_info_v2, "members/list": members_list, "members/list:2": members_list_v2, "members/list/continue": members_list_continue, "members/list/continue:2": members_list_continue_v2, "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/secondary_emails/add": members_secondary_emails_add, "members/secondary_emails/delete": members_secondary_emails_delete, "members/secondary_emails/resend_verification_emails": members_secondary_emails_resend_verification_emails, "members/send_welcome_email": members_send_welcome_email, "members/set_admin_permissions": members_set_admin_permissions, "members/set_admin_permissions:2": members_set_admin_permissions_v2, "members/set_profile": members_set_profile, "members/set_profile:2": members_set_profile_v2, "members/set_profile_photo": members_set_profile_photo, "members/set_profile_photo:2": members_set_profile_photo_v2, "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, "reports/get_activity": reports_get_activity, "reports/get_devices": reports_get_devices, "reports/get_membership": reports_get_membership, "reports/get_storage": reports_get_storage, "sharing_allowlist/add": sharing_allowlist_add, "sharing_allowlist/list": sharing_allowlist_list, "sharing_allowlist/list/continue": sharing_allowlist_list_continue, "sharing_allowlist/remove": sharing_allowlist_remove, "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/restore": team_folder_restore, "team_folder/update_sync_settings": team_folder_update_sync_settings, "token/get_authenticated_admin": token_get_authenticated_admin, } dropbox-dropbox-sdk-python-6064f79/dropbox/team_common.py000066400000000000000000000304051522735175000235650ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox 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 GroupManagementType.user_managed: A group which is managed by selected users. :ivar GroupManagementType.company_managed: A group which is managed by team admins only. :ivar 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 ) GroupManagementType_validator = bv.Union(GroupManagementType) class GroupSummary(bb.Struct): """ Information about a group. :ivar GroupSummary.group_external_id: External ID of group. This is an arbitrary ID that an admin can attach to a group. :ivar GroupSummary.member_count: The number of members in the group. :ivar GroupSummary.group_management_type: Who is allowed to manage the group. """ __slots__ = [ "_group_name_value", "_group_id_value", "_group_external_id_value", "_member_count_value", "_group_management_type_value", ] _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 = bb.NOT_SET self._group_id_value = bb.NOT_SET self._group_external_id_value = bb.NOT_SET self._member_count_value = bb.NOT_SET self._group_management_type_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) group_name = bb.Attribute("group_name") # Instance attribute type: str (validator is set below) group_id = bb.Attribute("group_id") # Instance attribute type: str (validator is set below) group_external_id = bb.Attribute("group_external_id", nullable=True) # Instance attribute type: int (validator is set below) member_count = bb.Attribute("member_count", nullable=True) # Instance attribute type: GroupManagementType (validator is set below) group_management_type = bb.Attribute("group_management_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupSummary, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GroupType.team: A group to which team members are automatically added. Applicable to `team folders `_ only. :ivar 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) 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 MemberSpaceLimitType.off: The team member does not have imposed space limit. :ivar MemberSpaceLimitType.alert_only: The team member has soft imposed space limit - the limit is used for display and for notifications. :ivar 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 ) MemberSpaceLimitType_validator = bv.Union(MemberSpaceLimitType) class TimeRange(bb.Struct): """ Time range. :ivar TimeRange.start_time: Optional starting time (inclusive). :ivar TimeRange.end_time: Optional ending time (exclusive). """ __slots__ = [ "_start_time_value", "_end_time_value", ] _has_required_fields = False def __init__(self, start_time=None, end_time=None): self._start_time_value = bb.NOT_SET self._end_time_value = bb.NOT_SET if start_time is not None: self.start_time = start_time if end_time is not None: self.end_time = end_time # Instance attribute type: datetime.datetime (validator is set below) start_time = bb.Attribute("start_time", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) end_time = bb.Attribute("end_time", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TimeRange, self)._process_custom_annotations(annotation_type, field_path, processor) TimeRange_validator = bv.Struct(TimeRange) GroupExternalId_validator = bv.String() GroupId_validator = bv.String() MemberExternalId_validator = bv.String(max_length=64) ResellerId_validator = bv.String() TeamId_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-dropbox-sdk-python-6064f79/dropbox/team_log.py000066400000000000000000175322401522735175000230720ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import common from dropbox import file_requests from dropbox import files from dropbox import sharing from dropbox import team from dropbox import team_common from dropbox import team_policies from dropbox 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 AccessMethodLogInfo.admin_console: Admin console session details. :vartype AccessMethodLogInfo.admin_console: WebSessionLogInfo :ivar AccessMethodLogInfo.api: Api session details. :vartype AccessMethodLogInfo.api: ApiSessionLogInfo :ivar AccessMethodLogInfo.content_manager: Content manager session details. :vartype AccessMethodLogInfo.content_manager: WebSessionLogInfo :ivar AccessMethodLogInfo.end_user: End user session details. :vartype AccessMethodLogInfo.end_user: SessionLogInfo :ivar AccessMethodLogInfo.enterprise_console: Enterprise console session details. :vartype AccessMethodLogInfo.enterprise_console: WebSessionLogInfo :ivar AccessMethodLogInfo.sign_in_as: Sign in as session details. :vartype AccessMethodLogInfo.sign_in_as: WebSessionLogInfo """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @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) @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 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 enterprise_console(cls, val): """ Create an instance of this class set to the ``enterprise_console`` tag with value ``val``. :param WebSessionLogInfo val: :rtype: AccessMethodLogInfo """ return cls("enterprise_console", 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) 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_content_manager(self): """ Check if the union tag is ``content_manager``. :rtype: bool """ return self._tag == "content_manager" def is_end_user(self): """ Check if the union tag is ``end_user``. :rtype: bool """ return self._tag == "end_user" def is_enterprise_console(self): """ Check if the union tag is ``enterprise_console``. :rtype: bool """ return self._tag == "enterprise_console" 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_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" 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 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_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_enterprise_console(self): """ Enterprise console session details. Only call this if :meth:`is_enterprise_console` is true. :rtype: WebSessionLogInfo """ if not self.is_enterprise_console(): raise AttributeError("tag 'enterprise_console' 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 _process_custom_annotations(self, annotation_type, field_path, processor): super(AccessMethodLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 available = None # Attribute is overwritten below the class definition unavailable = None # Attribute is overwritten below the class definition other = None def is_available(self): """ Check if the union tag is ``available``. :rtype: bool """ return self._tag == "available" def is_unavailable(self): """ Check if the union tag is ``unavailable``. :rtype: bool """ return self._tag == "unavailable" 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 ) AccountCaptureAvailability_validator = bv.Union(AccountCaptureAvailability) class AccountCaptureChangeAvailabilityDetails(bb.Struct): """ Granted/revoked option to enable account capture on team domains. :ivar AccountCaptureChangeAvailabilityDetails.new_value: New account capture availabilty value. :ivar AccountCaptureChangeAvailabilityDetails.previous_value: Previous account capture availabilty value. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: AccountCaptureAvailability (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: AccountCaptureAvailability (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureChangeAvailabilityDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureChangeAvailabilityDetails_validator = bv.Struct( AccountCaptureChangeAvailabilityDetails ) class AccountCaptureChangeAvailabilityType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureChangeAvailabilityType, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureChangeAvailabilityType_validator = bv.Struct(AccountCaptureChangeAvailabilityType) class AccountCaptureChangePolicyDetails(bb.Struct): """ Changed account capture setting on team domain. :ivar AccountCaptureChangePolicyDetails.new_value: New account capture policy. :ivar AccountCaptureChangePolicyDetails.previous_value: Previous account capture policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: AccountCapturePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: AccountCapturePolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureChangePolicyDetails_validator = bv.Struct(AccountCaptureChangePolicyDetails) class AccountCaptureChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureChangePolicyType_validator = bv.Struct(AccountCaptureChangePolicyType) class AccountCaptureMigrateAccountDetails(bb.Struct): """ Account-captured user migrated account to team. :ivar AccountCaptureMigrateAccountDetails.domain_name: Domain name. """ __slots__ = [ "_domain_name_value", ] _has_required_fields = True def __init__(self, domain_name=None): self._domain_name_value = bb.NOT_SET if domain_name is not None: self.domain_name = domain_name # Instance attribute type: str (validator is set below) domain_name = bb.Attribute("domain_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureMigrateAccountDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureMigrateAccountDetails_validator = bv.Struct(AccountCaptureMigrateAccountDetails) class AccountCaptureMigrateAccountType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureMigrateAccountType, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureMigrateAccountType_validator = bv.Struct(AccountCaptureMigrateAccountType) class AccountCaptureNotificationEmailsSentDetails(bb.Struct): """ Sent account capture email to all unmanaged members. :ivar AccountCaptureNotificationEmailsSentDetails.domain_name: Domain name. :ivar AccountCaptureNotificationEmailsSentDetails.notification_type: Account-capture email notification type. """ __slots__ = [ "_domain_name_value", "_notification_type_value", ] _has_required_fields = True def __init__(self, domain_name=None, notification_type=None): self._domain_name_value = bb.NOT_SET self._notification_type_value = bb.NOT_SET if domain_name is not None: self.domain_name = domain_name if notification_type is not None: self.notification_type = notification_type # Instance attribute type: str (validator is set below) domain_name = bb.Attribute("domain_name") # Instance attribute type: AccountCaptureNotificationType (validator is set below) notification_type = bb.Attribute("notification_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureNotificationEmailsSentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureNotificationEmailsSentDetails_validator = bv.Struct( AccountCaptureNotificationEmailsSentDetails ) class AccountCaptureNotificationEmailsSentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureNotificationEmailsSentType, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureNotificationEmailsSentType_validator = bv.Struct( AccountCaptureNotificationEmailsSentType ) class AccountCaptureNotificationType(bb.Union): """ This class acts as a tagged union. Only 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 actionable_notification = None # Attribute is overwritten below the class definition proactive_warning_notification = None # Attribute is overwritten below the class definition other = None def is_actionable_notification(self): """ Check if the union tag is ``actionable_notification``. :rtype: bool """ return self._tag == "actionable_notification" def is_proactive_warning_notification(self): """ Check if the union tag is ``proactive_warning_notification``. :rtype: bool """ return self._tag == "proactive_warning_notification" 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(AccountCaptureNotificationType, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureNotificationType_validator = bv.Union(AccountCaptureNotificationType) 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 all_users = None # 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 other = None def is_all_users(self): """ Check if the union tag is ``all_users``. :rtype: bool """ return self._tag == "all_users" 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_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 ) AccountCapturePolicy_validator = bv.Union(AccountCapturePolicy) class AccountCaptureRelinquishAccountDetails(bb.Struct): """ Account-captured user changed account email to personal email. :ivar AccountCaptureRelinquishAccountDetails.domain_name: Domain name. """ __slots__ = [ "_domain_name_value", ] _has_required_fields = True def __init__(self, domain_name=None): self._domain_name_value = bb.NOT_SET if domain_name is not None: self.domain_name = domain_name # Instance attribute type: str (validator is set below) domain_name = bb.Attribute("domain_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureRelinquishAccountDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureRelinquishAccountDetails_validator = bv.Struct(AccountCaptureRelinquishAccountDetails) class AccountCaptureRelinquishAccountType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountCaptureRelinquishAccountType, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountCaptureRelinquishAccountType_validator = bv.Struct(AccountCaptureRelinquishAccountType) class AccountLockOrUnlockedDetails(bb.Struct): """ Unlocked/locked account after failed sign in attempts. :ivar AccountLockOrUnlockedDetails.previous_value: The previous account status. :ivar AccountLockOrUnlockedDetails.new_value: The new account status. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: AccountState (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: AccountState (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountLockOrUnlockedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountLockOrUnlockedDetails_validator = bv.Struct(AccountLockOrUnlockedDetails) class AccountLockOrUnlockedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AccountLockOrUnlockedType, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountLockOrUnlockedType_validator = bv.Struct(AccountLockOrUnlockedType) class AccountState(bb.Union): """ This class acts as a tagged union. Only 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 locked = None # Attribute is overwritten below the class definition unlocked = None # Attribute is overwritten below the class definition other = None def is_locked(self): """ Check if the union tag is ``locked``. :rtype: bool """ return self._tag == "locked" def is_unlocked(self): """ Check if the union tag is ``unlocked``. :rtype: bool """ return self._tag == "unlocked" 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(AccountState, self)._process_custom_annotations( annotation_type, field_path, processor ) AccountState_validator = bv.Union(AccountState) 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 ActionDetails.remove_action: Define how the user was removed from the team. :vartype ActionDetails.remove_action: MemberRemoveActionType :ivar ActionDetails.team_invite_details: Additional information relevant when someone is invited to the team :vartype ActionDetails.team_invite_details: TeamInviteDetails :ivar ActionDetails.team_join_details: Additional information relevant when a new member joins the team. :vartype ActionDetails.team_join_details: JoinTeamDetails """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @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) @classmethod def team_invite_details(cls, val): """ Create an instance of this class set to the ``team_invite_details`` tag with value ``val``. :param TeamInviteDetails val: :rtype: ActionDetails """ return cls("team_invite_details", val) @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) def is_remove_action(self): """ Check if the union tag is ``remove_action``. :rtype: bool """ return self._tag == "remove_action" def is_team_invite_details(self): """ Check if the union tag is ``team_invite_details``. :rtype: bool """ return self._tag == "team_invite_details" 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_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" 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 get_team_invite_details(self): """ Additional information relevant when someone is invited to the team Only call this if :meth:`is_team_invite_details` is true. :rtype: TeamInviteDetails """ if not self.is_team_invite_details(): raise AttributeError("tag 'team_invite_details' not set") return self._value 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 _process_custom_annotations(self, annotation_type, field_path, processor): super(ActionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ActorLogInfo.admin: The admin who did the action. :vartype ActorLogInfo.admin: UserLogInfo :ivar ActorLogInfo.anonymous: Anonymous actor. :ivar ActorLogInfo.app: The application who did the action. :vartype ActorLogInfo.app: AppLogInfo :ivar ActorLogInfo.dropbox: Action done by Dropbox. :ivar ActorLogInfo.reseller: Action done by reseller. :vartype ActorLogInfo.reseller: ResellerLogInfo :ivar ActorLogInfo.user: The user who did the action. :vartype ActorLogInfo.user: UserLogInfo """ _catch_all = "other" # Attribute is overwritten below the class definition anonymous = None # Attribute is overwritten below the class definition dropbox = None # Attribute is overwritten below the class definition other = None @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) @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) def is_admin(self): """ Check if the union tag is ``admin``. :rtype: bool """ return self._tag == "admin" def is_anonymous(self): """ Check if the union tag is ``anonymous``. :rtype: bool """ return self._tag == "anonymous" def is_app(self): """ Check if the union tag is ``app``. :rtype: bool """ return self._tag == "app" def is_dropbox(self): """ Check if the union tag is ``dropbox``. :rtype: bool """ return self._tag == "dropbox" def is_reseller(self): """ Check if the union tag is ``reseller``. :rtype: bool """ return self._tag == "reseller" def is_user(self): """ Check if the union tag is ``user``. :rtype: bool """ return self._tag == "user" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" 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 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 _process_custom_annotations(self, annotation_type, field_path, processor): super(ActorLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) ActorLogInfo_validator = bv.Union(ActorLogInfo) class AddonAssignedDetails(bb.Struct): """ Add-on Assigned. :ivar AddonAssignedDetails.user_name: User's name. :ivar AddonAssignedDetails.addon_name: Add-on name. """ __slots__ = [ "_user_name_value", "_addon_name_value", ] _has_required_fields = True def __init__(self, user_name=None, addon_name=None): self._user_name_value = bb.NOT_SET self._addon_name_value = bb.NOT_SET if user_name is not None: self.user_name = user_name if addon_name is not None: self.addon_name = addon_name # Instance attribute type: UserNameLogInfo (validator is set below) user_name = bb.Attribute("user_name", user_defined=True) # Instance attribute type: AddonLogInfo (validator is set below) addon_name = bb.Attribute("addon_name", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddonAssignedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AddonAssignedDetails_validator = bv.Struct(AddonAssignedDetails) class AddonAssignedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddonAssignedType, self)._process_custom_annotations( annotation_type, field_path, processor ) AddonAssignedType_validator = bv.Struct(AddonAssignedType) class AddonLogInfo(bb.Struct): """ Add-on logged information :ivar AddonLogInfo.addon_name: Add-on name. """ __slots__ = [ "_addon_name_value", ] _has_required_fields = True def __init__(self, addon_name=None): self._addon_name_value = bb.NOT_SET if addon_name is not None: self.addon_name = addon_name # Instance attribute type: str (validator is set below) addon_name = bb.Attribute("addon_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddonLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) AddonLogInfo_validator = bv.Struct(AddonLogInfo) class AddonRemovedDetails(bb.Struct): """ Add-on Removed. :ivar AddonRemovedDetails.user_name: User's name. :ivar AddonRemovedDetails.addon_name: Add-on name. """ __slots__ = [ "_user_name_value", "_addon_name_value", ] _has_required_fields = True def __init__(self, user_name=None, addon_name=None): self._user_name_value = bb.NOT_SET self._addon_name_value = bb.NOT_SET if user_name is not None: self.user_name = user_name if addon_name is not None: self.addon_name = addon_name # Instance attribute type: UserNameLogInfo (validator is set below) user_name = bb.Attribute("user_name", user_defined=True) # Instance attribute type: AddonLogInfo (validator is set below) addon_name = bb.Attribute("addon_name", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddonRemovedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AddonRemovedDetails_validator = bv.Struct(AddonRemovedDetails) class AddonRemovedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AddonRemovedType, self)._process_custom_annotations( annotation_type, field_path, processor ) AddonRemovedType_validator = bv.Struct(AddonRemovedType) class AdminAlertCategoryEnum(bb.Union): """ Alert category This class acts as a tagged union. Only 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 account_takeover = None # Attribute is overwritten below the class definition data_loss_protection = None # Attribute is overwritten below the class definition information_governance = None # Attribute is overwritten below the class definition malware_sharing = None # Attribute is overwritten below the class definition massive_file_operation = None # Attribute is overwritten below the class definition na = None # Attribute is overwritten below the class definition threat_management = None # Attribute is overwritten below the class definition other = None def is_account_takeover(self): """ Check if the union tag is ``account_takeover``. :rtype: bool """ return self._tag == "account_takeover" def is_data_loss_protection(self): """ Check if the union tag is ``data_loss_protection``. :rtype: bool """ return self._tag == "data_loss_protection" def is_information_governance(self): """ Check if the union tag is ``information_governance``. :rtype: bool """ return self._tag == "information_governance" def is_malware_sharing(self): """ Check if the union tag is ``malware_sharing``. :rtype: bool """ return self._tag == "malware_sharing" def is_massive_file_operation(self): """ Check if the union tag is ``massive_file_operation``. :rtype: bool """ return self._tag == "massive_file_operation" def is_na(self): """ Check if the union tag is ``na``. :rtype: bool """ return self._tag == "na" def is_threat_management(self): """ Check if the union tag is ``threat_management``. :rtype: bool """ return self._tag == "threat_management" 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(AdminAlertCategoryEnum, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertCategoryEnum_validator = bv.Union(AdminAlertCategoryEnum) class AdminAlertGeneralStateEnum(bb.Union): """ Alert state This class acts as a tagged union. Only 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 active = None # Attribute is overwritten below the class definition dismissed = None # Attribute is overwritten below the class definition in_progress = None # Attribute is overwritten below the class definition na = None # Attribute is overwritten below the class definition resolved = 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_dismissed(self): """ Check if the union tag is ``dismissed``. :rtype: bool """ return self._tag == "dismissed" def is_in_progress(self): """ Check if the union tag is ``in_progress``. :rtype: bool """ return self._tag == "in_progress" def is_na(self): """ Check if the union tag is ``na``. :rtype: bool """ return self._tag == "na" def is_resolved(self): """ Check if the union tag is ``resolved``. :rtype: bool """ return self._tag == "resolved" 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(AdminAlertGeneralStateEnum, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertGeneralStateEnum_validator = bv.Union(AdminAlertGeneralStateEnum) class AdminAlertSeverityEnum(bb.Union): """ Alert severity This class acts as a tagged union. Only 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 high = None # Attribute is overwritten below the class definition info = None # Attribute is overwritten below the class definition low = None # Attribute is overwritten below the class definition medium = None # Attribute is overwritten below the class definition na = None # Attribute is overwritten below the class definition other = None def is_high(self): """ Check if the union tag is ``high``. :rtype: bool """ return self._tag == "high" def is_info(self): """ Check if the union tag is ``info``. :rtype: bool """ return self._tag == "info" def is_low(self): """ Check if the union tag is ``low``. :rtype: bool """ return self._tag == "low" def is_medium(self): """ Check if the union tag is ``medium``. :rtype: bool """ return self._tag == "medium" def is_na(self): """ Check if the union tag is ``na``. :rtype: bool """ return self._tag == "na" 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(AdminAlertSeverityEnum, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertSeverityEnum_validator = bv.Union(AdminAlertSeverityEnum) class AdminAlertingAlertConfiguration(bb.Struct): """ Alert configurations :ivar AdminAlertingAlertConfiguration.alert_state: Alert state. :ivar AdminAlertingAlertConfiguration.sensitivity_level: Sensitivity level. :ivar AdminAlertingAlertConfiguration.recipients_settings: Recipient settings. :ivar AdminAlertingAlertConfiguration.text: Text. :ivar AdminAlertingAlertConfiguration.excluded_file_extensions: Excluded file extensions. :ivar AdminAlertingAlertConfiguration.malware_exclusion_state: Malware exclusion list state. """ __slots__ = [ "_alert_state_value", "_sensitivity_level_value", "_recipients_settings_value", "_text_value", "_excluded_file_extensions_value", "_malware_exclusion_state_value", ] _has_required_fields = False def __init__( self, alert_state=None, sensitivity_level=None, recipients_settings=None, text=None, excluded_file_extensions=None, malware_exclusion_state=None, ): self._alert_state_value = bb.NOT_SET self._sensitivity_level_value = bb.NOT_SET self._recipients_settings_value = bb.NOT_SET self._text_value = bb.NOT_SET self._excluded_file_extensions_value = bb.NOT_SET self._malware_exclusion_state_value = bb.NOT_SET if alert_state is not None: self.alert_state = alert_state if sensitivity_level is not None: self.sensitivity_level = sensitivity_level if recipients_settings is not None: self.recipients_settings = recipients_settings if text is not None: self.text = text if excluded_file_extensions is not None: self.excluded_file_extensions = excluded_file_extensions if malware_exclusion_state is not None: self.malware_exclusion_state = malware_exclusion_state # Instance attribute type: AdminAlertingAlertStatePolicy (validator is set below) alert_state = bb.Attribute("alert_state", nullable=True, user_defined=True) # Instance attribute type: AdminAlertingAlertSensitivity (validator is set below) sensitivity_level = bb.Attribute("sensitivity_level", nullable=True, user_defined=True) # Instance attribute type: RecipientsConfiguration (validator is set below) recipients_settings = bb.Attribute("recipients_settings", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) text = bb.Attribute("text", nullable=True) # Instance attribute type: str (validator is set below) excluded_file_extensions = bb.Attribute("excluded_file_extensions", nullable=True) # Instance attribute type: MalwareExclusionState (validator is set below) malware_exclusion_state = bb.Attribute( "malware_exclusion_state", nullable=True, user_defined=True ) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AdminAlertingAlertConfiguration, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertingAlertConfiguration_validator = bv.Struct(AdminAlertingAlertConfiguration) class AdminAlertingAlertSensitivity(bb.Union): """ Alert sensitivity This class acts as a tagged union. Only 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 high = None # Attribute is overwritten below the class definition highest = None # Attribute is overwritten below the class definition invalid = None # Attribute is overwritten below the class definition low = None # Attribute is overwritten below the class definition lowest = None # Attribute is overwritten below the class definition medium = None # Attribute is overwritten below the class definition other = None def is_high(self): """ Check if the union tag is ``high``. :rtype: bool """ return self._tag == "high" def is_highest(self): """ Check if the union tag is ``highest``. :rtype: bool """ return self._tag == "highest" def is_invalid(self): """ Check if the union tag is ``invalid``. :rtype: bool """ return self._tag == "invalid" def is_low(self): """ Check if the union tag is ``low``. :rtype: bool """ return self._tag == "low" def is_lowest(self): """ Check if the union tag is ``lowest``. :rtype: bool """ return self._tag == "lowest" def is_medium(self): """ Check if the union tag is ``medium``. :rtype: bool """ return self._tag == "medium" 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(AdminAlertingAlertSensitivity, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertingAlertSensitivity_validator = bv.Union(AdminAlertingAlertSensitivity) class AdminAlertingAlertStateChangedDetails(bb.Struct): """ Changed an alert state. :ivar AdminAlertingAlertStateChangedDetails.alert_name: Alert name. :ivar AdminAlertingAlertStateChangedDetails.alert_severity: Alert severity. :ivar AdminAlertingAlertStateChangedDetails.alert_category: Alert category. :ivar AdminAlertingAlertStateChangedDetails.alert_instance_id: Alert ID. :ivar AdminAlertingAlertStateChangedDetails.previous_value: Alert state before the change. :ivar AdminAlertingAlertStateChangedDetails.new_value: Alert state after the change. """ __slots__ = [ "_alert_name_value", "_alert_severity_value", "_alert_category_value", "_alert_instance_id_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__( self, alert_name=None, alert_severity=None, alert_category=None, alert_instance_id=None, previous_value=None, new_value=None, ): self._alert_name_value = bb.NOT_SET self._alert_severity_value = bb.NOT_SET self._alert_category_value = bb.NOT_SET self._alert_instance_id_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if alert_name is not None: self.alert_name = alert_name if alert_severity is not None: self.alert_severity = alert_severity if alert_category is not None: self.alert_category = alert_category if alert_instance_id is not None: self.alert_instance_id = alert_instance_id if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) alert_name = bb.Attribute("alert_name") # Instance attribute type: AdminAlertSeverityEnum (validator is set below) alert_severity = bb.Attribute("alert_severity", user_defined=True) # Instance attribute type: AdminAlertCategoryEnum (validator is set below) alert_category = bb.Attribute("alert_category", user_defined=True) # Instance attribute type: str (validator is set below) alert_instance_id = bb.Attribute("alert_instance_id") # Instance attribute type: AdminAlertGeneralStateEnum (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: AdminAlertGeneralStateEnum (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AdminAlertingAlertStateChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertingAlertStateChangedDetails_validator = bv.Struct(AdminAlertingAlertStateChangedDetails) class AdminAlertingAlertStateChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AdminAlertingAlertStateChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertingAlertStateChangedType_validator = bv.Struct(AdminAlertingAlertStateChangedType) class AdminAlertingAlertStatePolicy(bb.Union): """ Policy for controlling whether an alert can be triggered or not This class acts as a tagged union. Only 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 off = None # Attribute is overwritten below the class definition on = 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_on(self): """ Check if the union tag is ``on``. :rtype: bool """ return self._tag == "on" 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(AdminAlertingAlertStatePolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertingAlertStatePolicy_validator = bv.Union(AdminAlertingAlertStatePolicy) class AdminAlertingChangedAlertConfigDetails(bb.Struct): """ Changed an alert setting. :ivar AdminAlertingChangedAlertConfigDetails.alert_name: Alert Name. :ivar AdminAlertingChangedAlertConfigDetails.previous_alert_config: Previous alert configuration. :ivar AdminAlertingChangedAlertConfigDetails.new_alert_config: New alert configuration. """ __slots__ = [ "_alert_name_value", "_previous_alert_config_value", "_new_alert_config_value", ] _has_required_fields = True def __init__(self, alert_name=None, previous_alert_config=None, new_alert_config=None): self._alert_name_value = bb.NOT_SET self._previous_alert_config_value = bb.NOT_SET self._new_alert_config_value = bb.NOT_SET if alert_name is not None: self.alert_name = alert_name if previous_alert_config is not None: self.previous_alert_config = previous_alert_config if new_alert_config is not None: self.new_alert_config = new_alert_config # Instance attribute type: str (validator is set below) alert_name = bb.Attribute("alert_name") # Instance attribute type: AdminAlertingAlertConfiguration (validator is set below) previous_alert_config = bb.Attribute("previous_alert_config", user_defined=True) # Instance attribute type: AdminAlertingAlertConfiguration (validator is set below) new_alert_config = bb.Attribute("new_alert_config", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AdminAlertingChangedAlertConfigDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertingChangedAlertConfigDetails_validator = bv.Struct(AdminAlertingChangedAlertConfigDetails) class AdminAlertingChangedAlertConfigType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AdminAlertingChangedAlertConfigType, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertingChangedAlertConfigType_validator = bv.Struct(AdminAlertingChangedAlertConfigType) class AdminAlertingTriggeredAlertDetails(bb.Struct): """ Triggered security alert. :ivar AdminAlertingTriggeredAlertDetails.alert_name: Alert name. :ivar AdminAlertingTriggeredAlertDetails.alert_severity: Alert severity. :ivar AdminAlertingTriggeredAlertDetails.alert_category: Alert category. :ivar AdminAlertingTriggeredAlertDetails.alert_instance_id: Alert ID. """ __slots__ = [ "_alert_name_value", "_alert_severity_value", "_alert_category_value", "_alert_instance_id_value", ] _has_required_fields = True def __init__( self, alert_name=None, alert_severity=None, alert_category=None, alert_instance_id=None, ): self._alert_name_value = bb.NOT_SET self._alert_severity_value = bb.NOT_SET self._alert_category_value = bb.NOT_SET self._alert_instance_id_value = bb.NOT_SET if alert_name is not None: self.alert_name = alert_name if alert_severity is not None: self.alert_severity = alert_severity if alert_category is not None: self.alert_category = alert_category if alert_instance_id is not None: self.alert_instance_id = alert_instance_id # Instance attribute type: str (validator is set below) alert_name = bb.Attribute("alert_name") # Instance attribute type: AdminAlertSeverityEnum (validator is set below) alert_severity = bb.Attribute("alert_severity", user_defined=True) # Instance attribute type: AdminAlertCategoryEnum (validator is set below) alert_category = bb.Attribute("alert_category", user_defined=True) # Instance attribute type: str (validator is set below) alert_instance_id = bb.Attribute("alert_instance_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AdminAlertingTriggeredAlertDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertingTriggeredAlertDetails_validator = bv.Struct(AdminAlertingTriggeredAlertDetails) class AdminAlertingTriggeredAlertType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AdminAlertingTriggeredAlertType, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminAlertingTriggeredAlertType_validator = bv.Struct(AdminAlertingTriggeredAlertType) class AdminConsoleAppPermission(bb.Union): """ This class acts as a tagged union. Only 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_for_listed_apps = None # Attribute is overwritten below the class definition default_for_unlisted_apps = None # Attribute is overwritten below the class definition other = None def is_default_for_listed_apps(self): """ Check if the union tag is ``default_for_listed_apps``. :rtype: bool """ return self._tag == "default_for_listed_apps" def is_default_for_unlisted_apps(self): """ Check if the union tag is ``default_for_unlisted_apps``. :rtype: bool """ return self._tag == "default_for_unlisted_apps" 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(AdminConsoleAppPermission, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminConsoleAppPermission_validator = bv.Union(AdminConsoleAppPermission) class AdminConsoleAppPolicy(bb.Union): """ This class acts as a tagged union. Only 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 block = None # Attribute is overwritten below the class definition default = 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_block(self): """ Check if the union tag is ``block``. :rtype: bool """ return self._tag == "block" def is_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(AdminConsoleAppPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminConsoleAppPolicy_validator = bv.Union(AdminConsoleAppPolicy) class AdminEmailRemindersChangedDetails(bb.Struct): """ Changed admin reminder settings for requests to join the team. :ivar AdminEmailRemindersChangedDetails.new_value: To. :ivar AdminEmailRemindersChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: AdminEmailRemindersPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: AdminEmailRemindersPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AdminEmailRemindersChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminEmailRemindersChangedDetails_validator = bv.Struct(AdminEmailRemindersChangedDetails) class AdminEmailRemindersChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AdminEmailRemindersChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminEmailRemindersChangedType_validator = bv.Struct(AdminEmailRemindersChangedType) class AdminEmailRemindersPolicy(bb.Union): """ Policy for deciding whether team admins receive reminder emails for requests to join 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 default = None # 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(AdminEmailRemindersPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) AdminEmailRemindersPolicy_validator = bv.Union(AdminEmailRemindersPolicy) 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 billing_admin = None # Attribute is overwritten below the class definition compliance_admin = None # Attribute is overwritten below the class definition content_admin = None # Attribute is overwritten below the class definition deprecated_freemium_team_member = None # Attribute is overwritten below the class definition freemium_team_creator = 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 reporting_admin = None # Attribute is overwritten below the class definition security_admin = None # Attribute is overwritten below the class definition support_admin = 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 other = None def is_billing_admin(self): """ Check if the union tag is ``billing_admin``. :rtype: bool """ return self._tag == "billing_admin" def is_compliance_admin(self): """ Check if the union tag is ``compliance_admin``. :rtype: bool """ return self._tag == "compliance_admin" def is_content_admin(self): """ Check if the union tag is ``content_admin``. :rtype: bool """ return self._tag == "content_admin" def is_deprecated_freemium_team_member(self): """ Check if the union tag is ``deprecated_freemium_team_member``. :rtype: bool """ return self._tag == "deprecated_freemium_team_member" def is_freemium_team_creator(self): """ Check if the union tag is ``freemium_team_creator``. :rtype: bool """ return self._tag == "freemium_team_creator" 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_reporting_admin(self): """ Check if the union tag is ``reporting_admin``. :rtype: bool """ return self._tag == "reporting_admin" def is_security_admin(self): """ Check if the union tag is ``security_admin``. :rtype: bool """ return self._tag == "security_admin" def is_support_admin(self): """ Check if the union tag is ``support_admin``. :rtype: bool """ return self._tag == "support_admin" 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_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) AdminRole_validator = bv.Union(AdminRole) class AiThirdPartySharingDropboxBasePolicy(bb.Union): """ Policy for deciding whether team users can use third party AI services This class acts as a tagged union. Only 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 admins_only = None # Attribute is overwritten below the class definition default = None # 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_admins_only(self): """ Check if the union tag is ``admins_only``. :rtype: bool """ return self._tag == "admins_only" def is_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(AiThirdPartySharingDropboxBasePolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) AiThirdPartySharingDropboxBasePolicy_validator = bv.Union(AiThirdPartySharingDropboxBasePolicy) class AiThirdPartySharingDropboxBasePolicyChangedDetails(bb.Struct): """ Changed AI third party sharing policy for team. :ivar AiThirdPartySharingDropboxBasePolicyChangedDetails.new_value: To. :ivar AiThirdPartySharingDropboxBasePolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: AiThirdPartySharingDropboxBasePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: AiThirdPartySharingDropboxBasePolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AiThirdPartySharingDropboxBasePolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AiThirdPartySharingDropboxBasePolicyChangedDetails_validator = bv.Struct( AiThirdPartySharingDropboxBasePolicyChangedDetails ) class AiThirdPartySharingDropboxBasePolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AiThirdPartySharingDropboxBasePolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) AiThirdPartySharingDropboxBasePolicyChangedType_validator = bv.Struct( AiThirdPartySharingDropboxBasePolicyChangedType ) class AlertRecipientsSettingType(bb.Union): """ Alert recipients setting 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 custom_list = None # Attribute is overwritten below the class definition invalid = None # Attribute is overwritten below the class definition none = None # Attribute is overwritten below the class definition team_admins = None # Attribute is overwritten below the class definition other = None def is_custom_list(self): """ Check if the union tag is ``custom_list``. :rtype: bool """ return self._tag == "custom_list" def is_invalid(self): """ Check if the union tag is ``invalid``. :rtype: bool """ return self._tag == "invalid" def is_none(self): """ Check if the union tag is ``none``. :rtype: bool """ return self._tag == "none" def is_team_admins(self): """ Check if the union tag is ``team_admins``. :rtype: bool """ return self._tag == "team_admins" 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(AlertRecipientsSettingType, self)._process_custom_annotations( annotation_type, field_path, processor ) AlertRecipientsSettingType_validator = bv.Union(AlertRecipientsSettingType) 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 ) AllowDownloadDisabledDetails_validator = bv.Struct(AllowDownloadDisabledDetails) class AllowDownloadDisabledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AllowDownloadDisabledType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) AllowDownloadEnabledDetails_validator = bv.Struct(AllowDownloadEnabledDetails) class AllowDownloadEnabledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AllowDownloadEnabledType, self)._process_custom_annotations( annotation_type, field_path, processor ) AllowDownloadEnabledType_validator = bv.Struct(AllowDownloadEnabledType) class ApiSessionLogInfo(bb.Struct): """ Api session. :ivar ApiSessionLogInfo.request_id: Api request ID. """ __slots__ = [ "_request_id_value", ] _has_required_fields = True def __init__(self, request_id=None): self._request_id_value = bb.NOT_SET if request_id is not None: self.request_id = request_id # Instance attribute type: str (validator is set below) request_id = bb.Attribute("request_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApiSessionLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) ApiSessionLogInfo_validator = bv.Struct(ApiSessionLogInfo) class AppBlockedByPermissionsDetails(bb.Struct): """ Failed to connect app for member. :ivar AppBlockedByPermissionsDetails.app_info: Relevant application details. """ __slots__ = [ "_app_info_value", ] _has_required_fields = True def __init__(self, app_info=None): self._app_info_value = bb.NOT_SET if app_info is not None: self.app_info = app_info # Instance attribute type: AppLogInfo (validator is set below) app_info = bb.Attribute("app_info", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppBlockedByPermissionsDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AppBlockedByPermissionsDetails_validator = bv.Struct(AppBlockedByPermissionsDetails) class AppBlockedByPermissionsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppBlockedByPermissionsType, self)._process_custom_annotations( annotation_type, field_path, processor ) AppBlockedByPermissionsType_validator = bv.Struct(AppBlockedByPermissionsType) class AppLinkTeamDetails(bb.Struct): """ Linked app for team. :ivar AppLinkTeamDetails.app_info: Relevant application details. """ __slots__ = [ "_app_info_value", ] _has_required_fields = True def __init__(self, app_info=None): self._app_info_value = bb.NOT_SET if app_info is not None: self.app_info = app_info # Instance attribute type: AppLogInfo (validator is set below) app_info = bb.Attribute("app_info", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppLinkTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AppLinkTeamDetails_validator = bv.Struct(AppLinkTeamDetails) class AppLinkTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppLinkTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) AppLinkTeamType_validator = bv.Struct(AppLinkTeamType) class AppLinkUserDetails(bb.Struct): """ Linked app for member. :ivar AppLinkUserDetails.app_info: Relevant application details. """ __slots__ = [ "_app_info_value", ] _has_required_fields = True def __init__(self, app_info=None): self._app_info_value = bb.NOT_SET if app_info is not None: self.app_info = app_info # Instance attribute type: AppLogInfo (validator is set below) app_info = bb.Attribute("app_info", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppLinkUserDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AppLinkUserDetails_validator = bv.Struct(AppLinkUserDetails) class AppLinkUserType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppLinkUserType, self)._process_custom_annotations( annotation_type, field_path, processor ) AppLinkUserType_validator = bv.Struct(AppLinkUserType) class AppLogInfo(bb.Struct): """ App's logged information. :ivar AppLogInfo.app_id: App unique ID. :ivar AppLogInfo.display_name: App display name. """ __slots__ = [ "_app_id_value", "_display_name_value", ] _has_required_fields = False def __init__(self, app_id=None, display_name=None): self._app_id_value = bb.NOT_SET self._display_name_value = bb.NOT_SET if app_id is not None: self.app_id = app_id if display_name is not None: self.display_name = display_name # Instance attribute type: str (validator is set below) app_id = bb.Attribute("app_id", nullable=True) # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) AppLogInfo_validator = bv.StructTree(AppLogInfo) class AppPermissionsChangedDetails(bb.Struct): """ Changed app permissions. :ivar AppPermissionsChangedDetails.app_name: Name of the app. :ivar AppPermissionsChangedDetails.permission: Permission that was changed. :ivar AppPermissionsChangedDetails.previous_value: Previous policy. :ivar AppPermissionsChangedDetails.new_value: New policy. """ __slots__ = [ "_app_name_value", "_permission_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None, app_name=None, permission=None): self._app_name_value = bb.NOT_SET self._permission_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if app_name is not None: self.app_name = app_name if permission is not None: self.permission = permission if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) app_name = bb.Attribute("app_name", nullable=True) # Instance attribute type: AdminConsoleAppPermission (validator is set below) permission = bb.Attribute("permission", nullable=True, user_defined=True) # Instance attribute type: AdminConsoleAppPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: AdminConsoleAppPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppPermissionsChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AppPermissionsChangedDetails_validator = bv.Struct(AppPermissionsChangedDetails) class AppPermissionsChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppPermissionsChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) AppPermissionsChangedType_validator = bv.Struct(AppPermissionsChangedType) class AppUnlinkTeamDetails(bb.Struct): """ Unlinked app for team. :ivar AppUnlinkTeamDetails.app_info: Relevant application details. """ __slots__ = [ "_app_info_value", ] _has_required_fields = True def __init__(self, app_info=None): self._app_info_value = bb.NOT_SET if app_info is not None: self.app_info = app_info # Instance attribute type: AppLogInfo (validator is set below) app_info = bb.Attribute("app_info", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppUnlinkTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AppUnlinkTeamDetails_validator = bv.Struct(AppUnlinkTeamDetails) class AppUnlinkTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppUnlinkTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) AppUnlinkTeamType_validator = bv.Struct(AppUnlinkTeamType) class AppUnlinkUserDetails(bb.Struct): """ Unlinked app for member. :ivar AppUnlinkUserDetails.app_info: Relevant application details. """ __slots__ = [ "_app_info_value", ] _has_required_fields = True def __init__(self, app_info=None): self._app_info_value = bb.NOT_SET if app_info is not None: self.app_info = app_info # Instance attribute type: AppLogInfo (validator is set below) app_info = bb.Attribute("app_info", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppUnlinkUserDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AppUnlinkUserDetails_validator = bv.Struct(AppUnlinkUserDetails) class AppUnlinkUserType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppUnlinkUserType, self)._process_custom_annotations( annotation_type, field_path, processor ) AppUnlinkUserType_validator = bv.Struct(AppUnlinkUserType) class AppleLoginChangePolicyDetails(bb.Struct): """ Enabled/disabled Apple login for team. :ivar AppleLoginChangePolicyDetails.new_value: New Apple login policy. :ivar AppleLoginChangePolicyDetails.previous_value: Previous Apple login policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: AppleLoginPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: AppleLoginPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppleLoginChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) AppleLoginChangePolicyDetails_validator = bv.Struct(AppleLoginChangePolicyDetails) class AppleLoginChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(AppleLoginChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) AppleLoginChangePolicyType_validator = bv.Struct(AppleLoginChangePolicyType) class AppleLoginPolicy(bb.Union): """ Apple login 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 default = None # 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(AppleLoginPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) AppleLoginPolicy_validator = bv.Union(AppleLoginPolicy) class ApplyNamingConventionDetails(bb.Struct): """ Applied naming convention. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApplyNamingConventionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ApplyNamingConventionDetails_validator = bv.Struct(ApplyNamingConventionDetails) class ApplyNamingConventionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ApplyNamingConventionType, self)._process_custom_annotations( annotation_type, field_path, processor ) ApplyNamingConventionType_validator = bv.Struct(ApplyNamingConventionType) 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 AssetLogInfo.file: File's details. :vartype AssetLogInfo.file: FileLogInfo :ivar AssetLogInfo.folder: Folder's details. :vartype AssetLogInfo.folder: FolderLogInfo :ivar AssetLogInfo.paper_document: Paper document's details. :vartype AssetLogInfo.paper_document: PaperDocumentLogInfo :ivar AssetLogInfo.paper_folder: Paper folder's details. :vartype AssetLogInfo.paper_folder: PaperFolderLogInfo :ivar AssetLogInfo.showcase_document: Showcase document's details. :vartype AssetLogInfo.showcase_document: ShowcaseDocumentLogInfo """ _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 ) AssetLogInfo_validator = bv.Union(AssetLogInfo) class BackupAdminInvitationSentDetails(bb.Struct): """ Invited members to activate Backup. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(BackupAdminInvitationSentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BackupAdminInvitationSentDetails_validator = bv.Struct(BackupAdminInvitationSentDetails) class BackupAdminInvitationSentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BackupAdminInvitationSentType, self)._process_custom_annotations( annotation_type, field_path, processor ) BackupAdminInvitationSentType_validator = bv.Struct(BackupAdminInvitationSentType) class BackupInvitationOpenedDetails(bb.Struct): """ Opened Backup invite. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(BackupInvitationOpenedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BackupInvitationOpenedDetails_validator = bv.Struct(BackupInvitationOpenedDetails) class BackupInvitationOpenedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BackupInvitationOpenedType, self)._process_custom_annotations( annotation_type, field_path, processor ) BackupInvitationOpenedType_validator = bv.Struct(BackupInvitationOpenedType) class BackupStatus(bb.Union): """ Backup 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. """ _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(BackupStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) BackupStatus_validator = bv.Union(BackupStatus) class BinderAddPageDetails(bb.Struct): """ Added Binder page. :ivar BinderAddPageDetails.event_uuid: Event unique identifier. :ivar BinderAddPageDetails.doc_title: Title of the Binder doc. :ivar BinderAddPageDetails.binder_item_name: Name of the Binder page/section. """ __slots__ = [ "_event_uuid_value", "_doc_title_value", "_binder_item_name_value", ] _has_required_fields = True def __init__(self, event_uuid=None, doc_title=None, binder_item_name=None): self._event_uuid_value = bb.NOT_SET self._doc_title_value = bb.NOT_SET self._binder_item_name_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if doc_title is not None: self.doc_title = doc_title if binder_item_name is not None: self.binder_item_name = binder_item_name # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) doc_title = bb.Attribute("doc_title") # Instance attribute type: str (validator is set below) binder_item_name = bb.Attribute("binder_item_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderAddPageDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderAddPageDetails_validator = bv.Struct(BinderAddPageDetails) class BinderAddPageType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderAddPageType, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderAddPageType_validator = bv.Struct(BinderAddPageType) class BinderAddSectionDetails(bb.Struct): """ Added Binder section. :ivar BinderAddSectionDetails.event_uuid: Event unique identifier. :ivar BinderAddSectionDetails.doc_title: Title of the Binder doc. :ivar BinderAddSectionDetails.binder_item_name: Name of the Binder page/section. """ __slots__ = [ "_event_uuid_value", "_doc_title_value", "_binder_item_name_value", ] _has_required_fields = True def __init__(self, event_uuid=None, doc_title=None, binder_item_name=None): self._event_uuid_value = bb.NOT_SET self._doc_title_value = bb.NOT_SET self._binder_item_name_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if doc_title is not None: self.doc_title = doc_title if binder_item_name is not None: self.binder_item_name = binder_item_name # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) doc_title = bb.Attribute("doc_title") # Instance attribute type: str (validator is set below) binder_item_name = bb.Attribute("binder_item_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderAddSectionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderAddSectionDetails_validator = bv.Struct(BinderAddSectionDetails) class BinderAddSectionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderAddSectionType, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderAddSectionType_validator = bv.Struct(BinderAddSectionType) class BinderRemovePageDetails(bb.Struct): """ Removed Binder page. :ivar BinderRemovePageDetails.event_uuid: Event unique identifier. :ivar BinderRemovePageDetails.doc_title: Title of the Binder doc. :ivar BinderRemovePageDetails.binder_item_name: Name of the Binder page/section. """ __slots__ = [ "_event_uuid_value", "_doc_title_value", "_binder_item_name_value", ] _has_required_fields = True def __init__(self, event_uuid=None, doc_title=None, binder_item_name=None): self._event_uuid_value = bb.NOT_SET self._doc_title_value = bb.NOT_SET self._binder_item_name_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if doc_title is not None: self.doc_title = doc_title if binder_item_name is not None: self.binder_item_name = binder_item_name # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) doc_title = bb.Attribute("doc_title") # Instance attribute type: str (validator is set below) binder_item_name = bb.Attribute("binder_item_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderRemovePageDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderRemovePageDetails_validator = bv.Struct(BinderRemovePageDetails) class BinderRemovePageType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderRemovePageType, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderRemovePageType_validator = bv.Struct(BinderRemovePageType) class BinderRemoveSectionDetails(bb.Struct): """ Removed Binder section. :ivar BinderRemoveSectionDetails.event_uuid: Event unique identifier. :ivar BinderRemoveSectionDetails.doc_title: Title of the Binder doc. :ivar BinderRemoveSectionDetails.binder_item_name: Name of the Binder page/section. """ __slots__ = [ "_event_uuid_value", "_doc_title_value", "_binder_item_name_value", ] _has_required_fields = True def __init__(self, event_uuid=None, doc_title=None, binder_item_name=None): self._event_uuid_value = bb.NOT_SET self._doc_title_value = bb.NOT_SET self._binder_item_name_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if doc_title is not None: self.doc_title = doc_title if binder_item_name is not None: self.binder_item_name = binder_item_name # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) doc_title = bb.Attribute("doc_title") # Instance attribute type: str (validator is set below) binder_item_name = bb.Attribute("binder_item_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderRemoveSectionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderRemoveSectionDetails_validator = bv.Struct(BinderRemoveSectionDetails) class BinderRemoveSectionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderRemoveSectionType, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderRemoveSectionType_validator = bv.Struct(BinderRemoveSectionType) class BinderRenamePageDetails(bb.Struct): """ Renamed Binder page. :ivar BinderRenamePageDetails.event_uuid: Event unique identifier. :ivar BinderRenamePageDetails.doc_title: Title of the Binder doc. :ivar BinderRenamePageDetails.binder_item_name: Name of the Binder page/section. :ivar BinderRenamePageDetails.previous_binder_item_name: Previous name of the Binder page/section. """ __slots__ = [ "_event_uuid_value", "_doc_title_value", "_binder_item_name_value", "_previous_binder_item_name_value", ] _has_required_fields = True def __init__( self, event_uuid=None, doc_title=None, binder_item_name=None, previous_binder_item_name=None, ): self._event_uuid_value = bb.NOT_SET self._doc_title_value = bb.NOT_SET self._binder_item_name_value = bb.NOT_SET self._previous_binder_item_name_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if doc_title is not None: self.doc_title = doc_title if binder_item_name is not None: self.binder_item_name = binder_item_name if previous_binder_item_name is not None: self.previous_binder_item_name = previous_binder_item_name # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) doc_title = bb.Attribute("doc_title") # Instance attribute type: str (validator is set below) binder_item_name = bb.Attribute("binder_item_name") # Instance attribute type: str (validator is set below) previous_binder_item_name = bb.Attribute("previous_binder_item_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderRenamePageDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderRenamePageDetails_validator = bv.Struct(BinderRenamePageDetails) class BinderRenamePageType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderRenamePageType, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderRenamePageType_validator = bv.Struct(BinderRenamePageType) class BinderRenameSectionDetails(bb.Struct): """ Renamed Binder section. :ivar BinderRenameSectionDetails.event_uuid: Event unique identifier. :ivar BinderRenameSectionDetails.doc_title: Title of the Binder doc. :ivar BinderRenameSectionDetails.binder_item_name: Name of the Binder page/section. :ivar BinderRenameSectionDetails.previous_binder_item_name: Previous name of the Binder page/section. """ __slots__ = [ "_event_uuid_value", "_doc_title_value", "_binder_item_name_value", "_previous_binder_item_name_value", ] _has_required_fields = True def __init__( self, event_uuid=None, doc_title=None, binder_item_name=None, previous_binder_item_name=None, ): self._event_uuid_value = bb.NOT_SET self._doc_title_value = bb.NOT_SET self._binder_item_name_value = bb.NOT_SET self._previous_binder_item_name_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if doc_title is not None: self.doc_title = doc_title if binder_item_name is not None: self.binder_item_name = binder_item_name if previous_binder_item_name is not None: self.previous_binder_item_name = previous_binder_item_name # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) doc_title = bb.Attribute("doc_title") # Instance attribute type: str (validator is set below) binder_item_name = bb.Attribute("binder_item_name") # Instance attribute type: str (validator is set below) previous_binder_item_name = bb.Attribute("previous_binder_item_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderRenameSectionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderRenameSectionDetails_validator = bv.Struct(BinderRenameSectionDetails) class BinderRenameSectionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderRenameSectionType, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderRenameSectionType_validator = bv.Struct(BinderRenameSectionType) class BinderReorderPageDetails(bb.Struct): """ Reordered Binder page. :ivar BinderReorderPageDetails.event_uuid: Event unique identifier. :ivar BinderReorderPageDetails.doc_title: Title of the Binder doc. :ivar BinderReorderPageDetails.binder_item_name: Name of the Binder page/section. """ __slots__ = [ "_event_uuid_value", "_doc_title_value", "_binder_item_name_value", ] _has_required_fields = True def __init__(self, event_uuid=None, doc_title=None, binder_item_name=None): self._event_uuid_value = bb.NOT_SET self._doc_title_value = bb.NOT_SET self._binder_item_name_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if doc_title is not None: self.doc_title = doc_title if binder_item_name is not None: self.binder_item_name = binder_item_name # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) doc_title = bb.Attribute("doc_title") # Instance attribute type: str (validator is set below) binder_item_name = bb.Attribute("binder_item_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderReorderPageDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderReorderPageDetails_validator = bv.Struct(BinderReorderPageDetails) class BinderReorderPageType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderReorderPageType, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderReorderPageType_validator = bv.Struct(BinderReorderPageType) class BinderReorderSectionDetails(bb.Struct): """ Reordered Binder section. :ivar BinderReorderSectionDetails.event_uuid: Event unique identifier. :ivar BinderReorderSectionDetails.doc_title: Title of the Binder doc. :ivar BinderReorderSectionDetails.binder_item_name: Name of the Binder page/section. """ __slots__ = [ "_event_uuid_value", "_doc_title_value", "_binder_item_name_value", ] _has_required_fields = True def __init__(self, event_uuid=None, doc_title=None, binder_item_name=None): self._event_uuid_value = bb.NOT_SET self._doc_title_value = bb.NOT_SET self._binder_item_name_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if doc_title is not None: self.doc_title = doc_title if binder_item_name is not None: self.binder_item_name = binder_item_name # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) doc_title = bb.Attribute("doc_title") # Instance attribute type: str (validator is set below) binder_item_name = bb.Attribute("binder_item_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderReorderSectionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderReorderSectionDetails_validator = bv.Struct(BinderReorderSectionDetails) class BinderReorderSectionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(BinderReorderSectionType, self)._process_custom_annotations( annotation_type, field_path, processor ) BinderReorderSectionType_validator = bv.Struct(BinderReorderSectionType) 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 ) CameraUploadsPolicy_validator = bv.Union(CameraUploadsPolicy) class CameraUploadsPolicyChangedDetails(bb.Struct): """ Changed camera uploads setting for team. :ivar CameraUploadsPolicyChangedDetails.new_value: New camera uploads setting. :ivar CameraUploadsPolicyChangedDetails.previous_value: Previous camera uploads setting. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: CameraUploadsPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: CameraUploadsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(CameraUploadsPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) CameraUploadsPolicyChangedDetails_validator = bv.Struct(CameraUploadsPolicyChangedDetails) class CameraUploadsPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CameraUploadsPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) CameraUploadsPolicyChangedType_validator = bv.Struct(CameraUploadsPolicyChangedType) class CaptureTeamSpacePolicy(bb.Union): """ Policy for deciding whether team users have access to the Capture team space This class acts as a tagged union. Only 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(CaptureTeamSpacePolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) CaptureTeamSpacePolicy_validator = bv.Union(CaptureTeamSpacePolicy) class CaptureTeamSpacePolicyChangedDetails(bb.Struct): """ Changed Capture team space policy for team. :ivar CaptureTeamSpacePolicyChangedDetails.new_value: To. :ivar CaptureTeamSpacePolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: CaptureTeamSpacePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: CaptureTeamSpacePolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(CaptureTeamSpacePolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) CaptureTeamSpacePolicyChangedDetails_validator = bv.Struct(CaptureTeamSpacePolicyChangedDetails) class CaptureTeamSpacePolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CaptureTeamSpacePolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) CaptureTeamSpacePolicyChangedType_validator = bv.Struct(CaptureTeamSpacePolicyChangedType) class CaptureTranscriptPolicy(bb.Union): """ Policy for deciding whether team users can transcription in Capture This class acts as a tagged union. Only 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 disabled = None # Attribute is overwritten below the class definition enabled = 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_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(CaptureTranscriptPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) CaptureTranscriptPolicy_validator = bv.Union(CaptureTranscriptPolicy) class CaptureTranscriptPolicyChangedDetails(bb.Struct): """ Changed Capture transcription policy for team. :ivar CaptureTranscriptPolicyChangedDetails.new_value: To. :ivar CaptureTranscriptPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: CaptureTranscriptPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: CaptureTranscriptPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(CaptureTranscriptPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) CaptureTranscriptPolicyChangedDetails_validator = bv.Struct(CaptureTranscriptPolicyChangedDetails) class CaptureTranscriptPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CaptureTranscriptPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) CaptureTranscriptPolicyChangedType_validator = bv.Struct(CaptureTranscriptPolicyChangedType) class Certificate(bb.Struct): """ Certificate details. :ivar Certificate.subject: Certificate subject. :ivar Certificate.issuer: Certificate issuer. :ivar Certificate.issue_date: Certificate issue date. :ivar Certificate.expiration_date: Certificate expiration date. :ivar Certificate.serial_number: Certificate serial number. :ivar Certificate.sha1_fingerprint: Certificate sha1 fingerprint. :ivar Certificate.common_name: Certificate common name. """ __slots__ = [ "_subject_value", "_issuer_value", "_issue_date_value", "_expiration_date_value", "_serial_number_value", "_sha1_fingerprint_value", "_common_name_value", ] _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 = bb.NOT_SET self._issuer_value = bb.NOT_SET self._issue_date_value = bb.NOT_SET self._expiration_date_value = bb.NOT_SET self._serial_number_value = bb.NOT_SET self._sha1_fingerprint_value = bb.NOT_SET self._common_name_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) subject = bb.Attribute("subject") # Instance attribute type: str (validator is set below) issuer = bb.Attribute("issuer") # Instance attribute type: str (validator is set below) issue_date = bb.Attribute("issue_date") # Instance attribute type: str (validator is set below) expiration_date = bb.Attribute("expiration_date") # Instance attribute type: str (validator is set below) serial_number = bb.Attribute("serial_number") # Instance attribute type: str (validator is set below) sha1_fingerprint = bb.Attribute("sha1_fingerprint") # Instance attribute type: str (validator is set below) common_name = bb.Attribute("common_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(Certificate, self)._process_custom_annotations(annotation_type, field_path, processor) Certificate_validator = bv.Struct(Certificate) class ChangeLinkExpirationPolicy(bb.Union): """ Policy for deciding whether the team's default expiration days policy must be enforced when an externally shared link is updated This class acts as a tagged union. Only 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 allowed = None # Attribute is overwritten below the class definition not_allowed = None # Attribute is overwritten below the class definition other = None def is_allowed(self): """ Check if the union tag is ``allowed``. :rtype: bool """ return self._tag == "allowed" def is_not_allowed(self): """ Check if the union tag is ``not_allowed``. :rtype: bool """ return self._tag == "not_allowed" 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(ChangeLinkExpirationPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) ChangeLinkExpirationPolicy_validator = bv.Union(ChangeLinkExpirationPolicy) class ChangedEnterpriseAdminRoleDetails(bb.Struct): """ Changed enterprise admin role. :ivar ChangedEnterpriseAdminRoleDetails.previous_value: The member’s previous enterprise admin role. :ivar ChangedEnterpriseAdminRoleDetails.new_value: The member’s new enterprise admin role. :ivar ChangedEnterpriseAdminRoleDetails.team_name: The name of the member’s team. """ __slots__ = [ "_previous_value_value", "_new_value_value", "_team_name_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None, team_name=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET self._team_name_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value if team_name is not None: self.team_name = team_name # Instance attribute type: FedAdminRole (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: FedAdminRole (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: str (validator is set below) team_name = bb.Attribute("team_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ChangedEnterpriseAdminRoleDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ChangedEnterpriseAdminRoleDetails_validator = bv.Struct(ChangedEnterpriseAdminRoleDetails) class ChangedEnterpriseAdminRoleType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ChangedEnterpriseAdminRoleType, self)._process_custom_annotations( annotation_type, field_path, processor ) ChangedEnterpriseAdminRoleType_validator = bv.Struct(ChangedEnterpriseAdminRoleType) class ChangedEnterpriseConnectedTeamStatusDetails(bb.Struct): """ Changed enterprise-connected team status. :ivar ChangedEnterpriseConnectedTeamStatusDetails.action: The preformed change in the team’s connection status. :ivar ChangedEnterpriseConnectedTeamStatusDetails.additional_info: Additional information about the organization or team. :ivar ChangedEnterpriseConnectedTeamStatusDetails.previous_value: Previous request state. :ivar ChangedEnterpriseConnectedTeamStatusDetails.new_value: New request state. """ __slots__ = [ "_action_value", "_additional_info_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, action=None, additional_info=None, previous_value=None, new_value=None): self._action_value = bb.NOT_SET self._additional_info_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if action is not None: self.action = action if additional_info is not None: self.additional_info = additional_info if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: FedHandshakeAction (validator is set below) action = bb.Attribute("action", user_defined=True) # Instance attribute type: FederationStatusChangeAdditionalInfo (validator is set below) additional_info = bb.Attribute("additional_info", user_defined=True) # Instance attribute type: TrustedTeamsRequestState (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: TrustedTeamsRequestState (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ChangedEnterpriseConnectedTeamStatusDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ChangedEnterpriseConnectedTeamStatusDetails_validator = bv.Struct( ChangedEnterpriseConnectedTeamStatusDetails ) class ChangedEnterpriseConnectedTeamStatusType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ChangedEnterpriseConnectedTeamStatusType, self)._process_custom_annotations( annotation_type, field_path, processor ) ChangedEnterpriseConnectedTeamStatusType_validator = bv.Struct( ChangedEnterpriseConnectedTeamStatusType ) class ClassificationChangePolicyDetails(bb.Struct): """ Changed classification policy for team. :ivar ClassificationChangePolicyDetails.previous_value: Previous classification policy. :ivar ClassificationChangePolicyDetails.new_value: New classification policy. :ivar ClassificationChangePolicyDetails.classification_type: Policy type. """ __slots__ = [ "_previous_value_value", "_new_value_value", "_classification_type_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None, classification_type=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET self._classification_type_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value if classification_type is not None: self.classification_type = classification_type # Instance attribute type: ClassificationPolicyEnumWrapper (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: ClassificationPolicyEnumWrapper (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ClassificationType (validator is set below) classification_type = bb.Attribute("classification_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ClassificationChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ClassificationChangePolicyDetails_validator = bv.Struct(ClassificationChangePolicyDetails) class ClassificationChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ClassificationChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) ClassificationChangePolicyType_validator = bv.Struct(ClassificationChangePolicyType) class ClassificationCreateReportDetails(bb.Struct): """ Created Classification report. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(ClassificationCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ClassificationCreateReportDetails_validator = bv.Struct(ClassificationCreateReportDetails) class ClassificationCreateReportFailDetails(bb.Struct): """ Couldn't create Classification report. :ivar ClassificationCreateReportFailDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ClassificationCreateReportFailDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ClassificationCreateReportFailDetails_validator = bv.Struct(ClassificationCreateReportFailDetails) class ClassificationCreateReportFailType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ClassificationCreateReportFailType, self)._process_custom_annotations( annotation_type, field_path, processor ) ClassificationCreateReportFailType_validator = bv.Struct(ClassificationCreateReportFailType) class ClassificationCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ClassificationCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) ClassificationCreateReportType_validator = bv.Struct(ClassificationCreateReportType) class ClassificationPolicyEnumWrapper(bb.Union): """ Policy for controlling team access to the classification feature This class acts as a tagged union. Only 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 member_and_team_folders = None # Attribute is overwritten below the class definition team_folders = 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_member_and_team_folders(self): """ Check if the union tag is ``member_and_team_folders``. :rtype: bool """ return self._tag == "member_and_team_folders" def is_team_folders(self): """ Check if the union tag is ``team_folders``. :rtype: bool """ return self._tag == "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(ClassificationPolicyEnumWrapper, self)._process_custom_annotations( annotation_type, field_path, processor ) ClassificationPolicyEnumWrapper_validator = bv.Union(ClassificationPolicyEnumWrapper) class ClassificationType(bb.Union): """ The type of classification (currently only personal information) This class acts as a tagged union. Only 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 personal_information = None # Attribute is overwritten below the class definition pii = None # Attribute is overwritten below the class definition other = None def is_personal_information(self): """ Check if the union tag is ``personal_information``. :rtype: bool """ return self._tag == "personal_information" def is_pii(self): """ Check if the union tag is ``pii``. :rtype: bool """ return self._tag == "pii" 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(ClassificationType, self)._process_custom_annotations( annotation_type, field_path, processor ) ClassificationType_validator = bv.Union(ClassificationType) class CollectionShareDetails(bb.Struct): """ Shared album. :ivar CollectionShareDetails.album_name: Album name. """ __slots__ = [ "_album_name_value", ] _has_required_fields = True def __init__(self, album_name=None): self._album_name_value = bb.NOT_SET if album_name is not None: self.album_name = album_name # Instance attribute type: str (validator is set below) album_name = bb.Attribute("album_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CollectionShareDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) CollectionShareDetails_validator = bv.Struct(CollectionShareDetails) class CollectionShareType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CollectionShareType, self)._process_custom_annotations( annotation_type, field_path, processor ) CollectionShareType_validator = bv.Struct(CollectionShareType) class ComputerBackupPolicy(bb.Union): """ Policy for controlling team access to computer backup feature This class acts as a tagged union. Only 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 disabled = None # Attribute is overwritten below the class definition enabled = 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_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(ComputerBackupPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) ComputerBackupPolicy_validator = bv.Union(ComputerBackupPolicy) class ComputerBackupPolicyChangedDetails(bb.Struct): """ Changed computer backup policy for team. :ivar ComputerBackupPolicyChangedDetails.new_value: New computer backup policy. :ivar ComputerBackupPolicyChangedDetails.previous_value: Previous computer backup policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ComputerBackupPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ComputerBackupPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ComputerBackupPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ComputerBackupPolicyChangedDetails_validator = bv.Struct(ComputerBackupPolicyChangedDetails) class ComputerBackupPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ComputerBackupPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ComputerBackupPolicyChangedType_validator = bv.Struct(ComputerBackupPolicyChangedType) class ConnectedTeamName(bb.Struct): """ The name of the team :ivar ConnectedTeamName.team: The name of the team. """ __slots__ = [ "_team_value", ] _has_required_fields = True def __init__(self, team=None): self._team_value = bb.NOT_SET if team is not None: self.team = team # Instance attribute type: str (validator is set below) team = bb.Attribute("team") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ConnectedTeamName, self)._process_custom_annotations( annotation_type, field_path, processor ) ConnectedTeamName_validator = bv.Struct(ConnectedTeamName) class ContentAdministrationPolicyChangedDetails(bb.Struct): """ Changed content management setting. :ivar ContentAdministrationPolicyChangedDetails.new_value: New content administration policy. :ivar ContentAdministrationPolicyChangedDetails.previous_value: Previous content administration policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ContentAdministrationPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ContentAdministrationPolicyChangedDetails_validator = bv.Struct( ContentAdministrationPolicyChangedDetails ) class ContentAdministrationPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ContentAdministrationPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ContentAdministrationPolicyChangedType_validator = bv.Struct(ContentAdministrationPolicyChangedType) class ContentDeletionProtectionChangePolicyDetails(bb.Struct): """ Changed content deletion protection policy for team. :ivar ContentDeletionProtectionChangePolicyDetails.new_value: New content deletion protection policy. :ivar ContentDeletionProtectionChangePolicyDetails.new_threshold_bytes: New threshold value in bytes (only present when new policy is on_above_threshold). :ivar ContentDeletionProtectionChangePolicyDetails.previous_value: Previous content deletion protection policy. Might be missing due to historical data gap. :ivar ContentDeletionProtectionChangePolicyDetails.previous_threshold_bytes: Previous threshold value in bytes (only present when previous policy was on_above_threshold). """ __slots__ = [ "_new_value_value", "_new_threshold_bytes_value", "_previous_value_value", "_previous_threshold_bytes_value", ] _has_required_fields = True def __init__( self, new_value=None, new_threshold_bytes=None, previous_value=None, previous_threshold_bytes=None, ): self._new_value_value = bb.NOT_SET self._new_threshold_bytes_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._previous_threshold_bytes_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if new_threshold_bytes is not None: self.new_threshold_bytes = new_threshold_bytes if previous_value is not None: self.previous_value = previous_value if previous_threshold_bytes is not None: self.previous_threshold_bytes = previous_threshold_bytes # Instance attribute type: ContentDeletionProtectionPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: int (validator is set below) new_threshold_bytes = bb.Attribute("new_threshold_bytes", nullable=True) # Instance attribute type: ContentDeletionProtectionPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) # Instance attribute type: int (validator is set below) previous_threshold_bytes = bb.Attribute("previous_threshold_bytes", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ContentDeletionProtectionChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ContentDeletionProtectionChangePolicyDetails_validator = bv.Struct( ContentDeletionProtectionChangePolicyDetails ) class ContentDeletionProtectionChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ContentDeletionProtectionChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) ContentDeletionProtectionChangePolicyType_validator = bv.Struct( ContentDeletionProtectionChangePolicyType ) class ContentDeletionProtectionPolicy(bb.Union): """ Content deletion protection 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 off = None # Attribute is overwritten below the class definition on_above_threshold = None # Attribute is overwritten below the class definition on_all_files = 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_on_above_threshold(self): """ Check if the union tag is ``on_above_threshold``. :rtype: bool """ return self._tag == "on_above_threshold" def is_on_all_files(self): """ Check if the union tag is ``on_all_files``. :rtype: bool """ return self._tag == "on_all_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(ContentDeletionProtectionPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) ContentDeletionProtectionPolicy_validator = bv.Union(ContentDeletionProtectionPolicy) 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 ) 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 ContextLogInfo.anonymous: Anonymous context. :ivar ContextLogInfo.non_team_member: Action was done on behalf of a non team member. :vartype ContextLogInfo.non_team_member: NonTeamMemberLogInfo :ivar ContextLogInfo.organization_team: Action was done on behalf of a team that's part of an organization. :vartype ContextLogInfo.organization_team: TeamLogInfo :ivar ContextLogInfo.team: Action was done on behalf of the team. :ivar ContextLogInfo.team_member: Action was done on behalf of a team member. :vartype ContextLogInfo.team_member: TeamMemberLogInfo :ivar ContextLogInfo.trusted_non_team_member: Action was done on behalf of a trusted non team member. :vartype ContextLogInfo.trusted_non_team_member: TrustedNonTeamMemberLogInfo """ _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 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 organization_team(cls, val): """ Create an instance of this class set to the ``organization_team`` tag with value ``val``. :param TeamLogInfo val: :rtype: ContextLogInfo """ return cls("organization_team", val) @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 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_anonymous(self): """ Check if the union tag is ``anonymous``. :rtype: bool """ return self._tag == "anonymous" 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_organization_team(self): """ Check if the union tag is ``organization_team``. :rtype: bool """ return self._tag == "organization_team" def is_team(self): """ Check if the union tag is ``team``. :rtype: bool """ return self._tag == "team" def is_team_member(self): """ Check if the union tag is ``team_member``. :rtype: bool """ return self._tag == "team_member" 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_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_organization_team(self): """ Action was done on behalf of a team that's part of an organization. Only call this if :meth:`is_organization_team` is true. :rtype: TeamLogInfo """ if not self.is_organization_team(): raise AttributeError("tag 'organization_team' not set") return self._value 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_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 ) 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 ) CreateFolderDetails_validator = bv.Struct(CreateFolderDetails) class CreateFolderType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateFolderType, self)._process_custom_annotations( annotation_type, field_path, processor ) CreateFolderType_validator = bv.Struct(CreateFolderType) class CreateTeamInviteLinkDetails(bb.Struct): """ Created team invite link. :ivar CreateTeamInviteLinkDetails.link_url: The invite link url that was created. :ivar CreateTeamInviteLinkDetails.expiry_date: The expiration date of the invite link. """ __slots__ = [ "_link_url_value", "_expiry_date_value", ] _has_required_fields = True def __init__(self, link_url=None, expiry_date=None): self._link_url_value = bb.NOT_SET self._expiry_date_value = bb.NOT_SET if link_url is not None: self.link_url = link_url if expiry_date is not None: self.expiry_date = expiry_date # Instance attribute type: str (validator is set below) link_url = bb.Attribute("link_url") # Instance attribute type: str (validator is set below) expiry_date = bb.Attribute("expiry_date") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateTeamInviteLinkDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) CreateTeamInviteLinkDetails_validator = bv.Struct(CreateTeamInviteLinkDetails) class CreateTeamInviteLinkType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(CreateTeamInviteLinkType, self)._process_custom_annotations( annotation_type, field_path, processor ) CreateTeamInviteLinkType_validator = bv.Struct(CreateTeamInviteLinkType) class DashAddedCommentToStackDetails(bb.Struct): """ Added a comment to a stack. :ivar DashAddedCommentToStackDetails.stack_name: The name of the stack where the comment exists. :ivar DashAddedCommentToStackDetails.stack_item_name: The name of the stack item that the comment is tied to. :ivar DashAddedCommentToStackDetails.comment_text: The text of the comment. :ivar DashAddedCommentToStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_item_name_value", "_comment_text_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_item_name=None, comment_text=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_item_name_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_item_name is not None: self.stack_item_name = stack_item_name if comment_text is not None: self.comment_text = comment_text if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: str (validator is set below) stack_item_name = bb.Attribute("stack_item_name") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAddedCommentToStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAddedCommentToStackDetails_validator = bv.Struct(DashAddedCommentToStackDetails) class DashAddedCommentToStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAddedCommentToStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAddedCommentToStackType_validator = bv.Struct(DashAddedCommentToStackType) class DashAddedConnectorDetails(bb.Struct): """ Connected to a user connector. :ivar DashAddedConnectorDetails.connector_name: The name of the Connector. :ivar DashAddedConnectorDetails.connector_status: The status of the Connector. """ __slots__ = [ "_connector_name_value", "_connector_status_value", ] _has_required_fields = True def __init__(self, connector_name=None, connector_status=None): self._connector_name_value = bb.NOT_SET self._connector_status_value = bb.NOT_SET if connector_name is not None: self.connector_name = connector_name if connector_status is not None: self.connector_status = connector_status # Instance attribute type: str (validator is set below) connector_name = bb.Attribute("connector_name") # Instance attribute type: DashConnectorStatus (validator is set below) connector_status = bb.Attribute("connector_status", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAddedConnectorDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAddedConnectorDetails_validator = bv.Struct(DashAddedConnectorDetails) class DashAddedConnectorType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAddedConnectorType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAddedConnectorType_validator = bv.Struct(DashAddedConnectorType) class DashAddedLinkToStackDetails(bb.Struct): """ Added a link to a stack. :ivar DashAddedLinkToStackDetails.stack_name: The name of the stack. :ivar DashAddedLinkToStackDetails.stack_item_link: The link to the item in the stack. :ivar DashAddedLinkToStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_item_link_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_item_link=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_item_link_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_item_link is not None: self.stack_item_link = stack_item_link if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: str (validator is set below) stack_item_link = bb.Attribute("stack_item_link") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAddedLinkToStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAddedLinkToStackDetails_validator = bv.Struct(DashAddedLinkToStackDetails) class DashAddedLinkToStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAddedLinkToStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAddedLinkToStackType_validator = bv.Struct(DashAddedLinkToStackType) class DashAddedTeamEmailDomainAllowlistDetails(bb.Struct): """ Admin added an email domain to the team allowlist. :ivar DashAddedTeamEmailDomainAllowlistDetails.email_domain: The email domain that gets added/removed from the team allowlist. """ __slots__ = [ "_email_domain_value", ] _has_required_fields = True def __init__(self, email_domain=None): self._email_domain_value = bb.NOT_SET if email_domain is not None: self.email_domain = email_domain # Instance attribute type: str (validator is set below) email_domain = bb.Attribute("email_domain") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAddedTeamEmailDomainAllowlistDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAddedTeamEmailDomainAllowlistDetails_validator = bv.Struct( DashAddedTeamEmailDomainAllowlistDetails ) class DashAddedTeamEmailDomainAllowlistType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAddedTeamEmailDomainAllowlistType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAddedTeamEmailDomainAllowlistType_validator = bv.Struct(DashAddedTeamEmailDomainAllowlistType) class DashAdminAddedOrgWideConnectorDetails(bb.Struct): """ Admin added an admin connector. :ivar DashAdminAddedOrgWideConnectorDetails.connector_name: The name of the Connector. :ivar DashAdminAddedOrgWideConnectorDetails.connector_status: The status of the Connector. """ __slots__ = [ "_connector_name_value", "_connector_status_value", ] _has_required_fields = True def __init__(self, connector_name=None, connector_status=None): self._connector_name_value = bb.NOT_SET self._connector_status_value = bb.NOT_SET if connector_name is not None: self.connector_name = connector_name if connector_status is not None: self.connector_status = connector_status # Instance attribute type: str (validator is set below) connector_name = bb.Attribute("connector_name") # Instance attribute type: DashConnectorStatus (validator is set below) connector_status = bb.Attribute("connector_status", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAdminAddedOrgWideConnectorDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAdminAddedOrgWideConnectorDetails_validator = bv.Struct(DashAdminAddedOrgWideConnectorDetails) class DashAdminAddedOrgWideConnectorType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAdminAddedOrgWideConnectorType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAdminAddedOrgWideConnectorType_validator = bv.Struct(DashAdminAddedOrgWideConnectorType) class DashAdminDisabledConnectorDetails(bb.Struct): """ Admin disabled a user connector. :ivar DashAdminDisabledConnectorDetails.connector_name: The name of the Connector. :ivar DashAdminDisabledConnectorDetails.connector_status: The status of the Connector. """ __slots__ = [ "_connector_name_value", "_connector_status_value", ] _has_required_fields = True def __init__(self, connector_name=None, connector_status=None): self._connector_name_value = bb.NOT_SET self._connector_status_value = bb.NOT_SET if connector_name is not None: self.connector_name = connector_name if connector_status is not None: self.connector_status = connector_status # Instance attribute type: str (validator is set below) connector_name = bb.Attribute("connector_name") # Instance attribute type: DashConnectorStatus (validator is set below) connector_status = bb.Attribute("connector_status", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAdminDisabledConnectorDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAdminDisabledConnectorDetails_validator = bv.Struct(DashAdminDisabledConnectorDetails) class DashAdminDisabledConnectorType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAdminDisabledConnectorType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAdminDisabledConnectorType_validator = bv.Struct(DashAdminDisabledConnectorType) class DashAdminEnabledConnectorDetails(bb.Struct): """ Admin enabled a user connector. :ivar DashAdminEnabledConnectorDetails.connector_name: The name of the Connector. :ivar DashAdminEnabledConnectorDetails.connector_status: The status of the Connector. """ __slots__ = [ "_connector_name_value", "_connector_status_value", ] _has_required_fields = True def __init__(self, connector_name=None, connector_status=None): self._connector_name_value = bb.NOT_SET self._connector_status_value = bb.NOT_SET if connector_name is not None: self.connector_name = connector_name if connector_status is not None: self.connector_status = connector_status # Instance attribute type: str (validator is set below) connector_name = bb.Attribute("connector_name") # Instance attribute type: DashConnectorStatus (validator is set below) connector_status = bb.Attribute("connector_status", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAdminEnabledConnectorDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAdminEnabledConnectorDetails_validator = bv.Struct(DashAdminEnabledConnectorDetails) class DashAdminEnabledConnectorType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAdminEnabledConnectorType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAdminEnabledConnectorType_validator = bv.Struct(DashAdminEnabledConnectorType) class DashAdminRemovedOrgWideConnectorDetails(bb.Struct): """ Admin removed an admin connector. :ivar DashAdminRemovedOrgWideConnectorDetails.connector_name: The name of the Connector. :ivar DashAdminRemovedOrgWideConnectorDetails.connector_status: The status of the Connector. """ __slots__ = [ "_connector_name_value", "_connector_status_value", ] _has_required_fields = True def __init__(self, connector_name=None, connector_status=None): self._connector_name_value = bb.NOT_SET self._connector_status_value = bb.NOT_SET if connector_name is not None: self.connector_name = connector_name if connector_status is not None: self.connector_status = connector_status # Instance attribute type: str (validator is set below) connector_name = bb.Attribute("connector_name") # Instance attribute type: DashConnectorStatus (validator is set below) connector_status = bb.Attribute("connector_status", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAdminRemovedOrgWideConnectorDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAdminRemovedOrgWideConnectorDetails_validator = bv.Struct( DashAdminRemovedOrgWideConnectorDetails ) class DashAdminRemovedOrgWideConnectorType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashAdminRemovedOrgWideConnectorType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashAdminRemovedOrgWideConnectorType_validator = bv.Struct(DashAdminRemovedOrgWideConnectorType) class DashArchivedStackDetails(bb.Struct): """ Archived a stack. :ivar DashArchivedStackDetails.stack_name: The name of the stack. :ivar DashArchivedStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashArchivedStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashArchivedStackDetails_validator = bv.Struct(DashArchivedStackDetails) class DashArchivedStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashArchivedStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashArchivedStackType_validator = bv.Struct(DashArchivedStackType) class DashChangedAudienceOfSharedLinkToStackDetails(bb.Struct): """ Changed the audience of a shared link to a stack. :ivar DashChangedAudienceOfSharedLinkToStackDetails.stack_name: The name of the stack. :ivar DashChangedAudienceOfSharedLinkToStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashChangedAudienceOfSharedLinkToStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashChangedAudienceOfSharedLinkToStackDetails_validator = bv.Struct( DashChangedAudienceOfSharedLinkToStackDetails ) class DashChangedAudienceOfSharedLinkToStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashChangedAudienceOfSharedLinkToStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashChangedAudienceOfSharedLinkToStackType_validator = bv.Struct( DashChangedAudienceOfSharedLinkToStackType ) class DashClonedStackDetails(bb.Struct): """ Cloned stack. :ivar DashClonedStackDetails.stack_name: The name of the stack. :ivar DashClonedStackDetails.actor_email: Email of the actor. :ivar DashClonedStackDetails.new_cloned_stack_name: New cloned stack name. :ivar DashClonedStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_actor_email_value", "_new_cloned_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__( self, stack_name=None, actor_email=None, new_cloned_stack_name=None, stack_type=None, ): self._stack_name_value = bb.NOT_SET self._actor_email_value = bb.NOT_SET self._new_cloned_stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if actor_email is not None: self.actor_email = actor_email if new_cloned_stack_name is not None: self.new_cloned_stack_name = new_cloned_stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: str (validator is set below) actor_email = bb.Attribute("actor_email") # Instance attribute type: str (validator is set below) new_cloned_stack_name = bb.Attribute("new_cloned_stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashClonedStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashClonedStackDetails_validator = bv.Struct(DashClonedStackDetails) class DashClonedStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashClonedStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashClonedStackType_validator = bv.Struct(DashClonedStackType) class DashConnectorStatus(bb.Union): """ The status of the Connector This class acts as a tagged union. Only 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 fail = None # Attribute is overwritten below the class definition success = None # Attribute is overwritten below the class definition other = None def is_fail(self): """ Check if the union tag is ``fail``. :rtype: bool """ return self._tag == "fail" 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(DashConnectorStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) DashConnectorStatus_validator = bv.Union(DashConnectorStatus) class DashConnectorToolsCallDetails(bb.Struct): """ Called a tool on a connector. :ivar DashConnectorToolsCallDetails.connector_name: The name of the connector. :ivar DashConnectorToolsCallDetails.tool_name: The name of the tool that was called. :ivar DashConnectorToolsCallDetails.surface: The surface from which the tool was called. """ __slots__ = [ "_connector_name_value", "_tool_name_value", "_surface_value", ] _has_required_fields = True def __init__(self, connector_name=None, tool_name=None, surface=None): self._connector_name_value = bb.NOT_SET self._tool_name_value = bb.NOT_SET self._surface_value = bb.NOT_SET if connector_name is not None: self.connector_name = connector_name if tool_name is not None: self.tool_name = tool_name if surface is not None: self.surface = surface # Instance attribute type: str (validator is set below) connector_name = bb.Attribute("connector_name") # Instance attribute type: str (validator is set below) tool_name = bb.Attribute("tool_name") # Instance attribute type: str (validator is set below) surface = bb.Attribute("surface", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashConnectorToolsCallDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashConnectorToolsCallDetails_validator = bv.Struct(DashConnectorToolsCallDetails) class DashConnectorToolsCallType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashConnectorToolsCallType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashConnectorToolsCallType_validator = bv.Struct(DashConnectorToolsCallType) class DashCreatedStackDetails(bb.Struct): """ Created a stack. :ivar DashCreatedStackDetails.stack_name: The name of the stack. :ivar DashCreatedStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashCreatedStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashCreatedStackDetails_validator = bv.Struct(DashCreatedStackDetails) class DashCreatedStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashCreatedStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashCreatedStackType_validator = bv.Struct(DashCreatedStackType) class DashDeletedCommentFromStackDetails(bb.Struct): """ Deleted a comment from a stack. :ivar DashDeletedCommentFromStackDetails.stack_name: The name of the stack where the comment exists. :ivar DashDeletedCommentFromStackDetails.stack_item_name: The name of the stack item that the comment is tied to. :ivar DashDeletedCommentFromStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_item_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_item_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_item_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_item_name is not None: self.stack_item_name = stack_item_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: str (validator is set below) stack_item_name = bb.Attribute("stack_item_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashDeletedCommentFromStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashDeletedCommentFromStackDetails_validator = bv.Struct(DashDeletedCommentFromStackDetails) class DashDeletedCommentFromStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashDeletedCommentFromStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashDeletedCommentFromStackType_validator = bv.Struct(DashDeletedCommentFromStackType) class DashDeletedStackDetails(bb.Struct): """ Deleted a stack. :ivar DashDeletedStackDetails.stack_name: The name of the stack. :ivar DashDeletedStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashDeletedStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashDeletedStackDetails_validator = bv.Struct(DashDeletedStackDetails) class DashDeletedStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashDeletedStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashDeletedStackType_validator = bv.Struct(DashDeletedStackType) class DashEditedCommentInStackDetails(bb.Struct): """ Edited a comment in a stack. :ivar DashEditedCommentInStackDetails.stack_name: The name of the stack where the comment exists. :ivar DashEditedCommentInStackDetails.stack_item_name: The name of the stack item that the comment is tied to. :ivar DashEditedCommentInStackDetails.comment_text: The text of the comment. :ivar DashEditedCommentInStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_item_name_value", "_comment_text_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_item_name=None, comment_text=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_item_name_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_item_name is not None: self.stack_item_name = stack_item_name if comment_text is not None: self.comment_text = comment_text if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: str (validator is set below) stack_item_name = bb.Attribute("stack_item_name") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashEditedCommentInStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashEditedCommentInStackDetails_validator = bv.Struct(DashEditedCommentInStackDetails) class DashEditedCommentInStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashEditedCommentInStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashEditedCommentInStackType_validator = bv.Struct(DashEditedCommentInStackType) class DashExternalSharingPolicy(bb.Union): """ Policy for deciding whether team users can share Dash content 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 = None # 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(DashExternalSharingPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) DashExternalSharingPolicy_validator = bv.Union(DashExternalSharingPolicy) class DashExternalSharingPolicyChangedDetails(bb.Struct): """ Changed Dash external sharing policy for team. :ivar DashExternalSharingPolicyChangedDetails.new_value: To. :ivar DashExternalSharingPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: DashExternalSharingPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: DashExternalSharingPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashExternalSharingPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashExternalSharingPolicyChangedDetails_validator = bv.Struct( DashExternalSharingPolicyChangedDetails ) class DashExternalSharingPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashExternalSharingPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashExternalSharingPolicyChangedType_validator = bv.Struct(DashExternalSharingPolicyChangedType) class DashExternalUserOpenedStackDetails(bb.Struct): """ External user opened a stack. :ivar DashExternalUserOpenedStackDetails.stack_name: The name of the stack. :ivar DashExternalUserOpenedStackDetails.stack_sharing_scope: The sharing scope of the stack. :ivar DashExternalUserOpenedStackDetails.is_invited: Whether the user was invited to the stack. :ivar DashExternalUserOpenedStackDetails.is_verified: Whether the user has verified their email address. :ivar DashExternalUserOpenedStackDetails.stack_owner_team_id: The team ID of the stack owner. :ivar DashExternalUserOpenedStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_sharing_scope_value", "_is_invited_value", "_is_verified_value", "_stack_owner_team_id_value", "_stack_type_value", ] _has_required_fields = True def __init__( self, stack_name=None, stack_sharing_scope=None, is_invited=None, is_verified=None, stack_owner_team_id=None, stack_type=None, ): self._stack_name_value = bb.NOT_SET self._stack_sharing_scope_value = bb.NOT_SET self._is_invited_value = bb.NOT_SET self._is_verified_value = bb.NOT_SET self._stack_owner_team_id_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_sharing_scope is not None: self.stack_sharing_scope = stack_sharing_scope if is_invited is not None: self.is_invited = is_invited if is_verified is not None: self.is_verified = is_verified if stack_owner_team_id is not None: self.stack_owner_team_id = stack_owner_team_id if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackSharingScope (validator is set below) stack_sharing_scope = bb.Attribute("stack_sharing_scope", user_defined=True) # Instance attribute type: bool (validator is set below) is_invited = bb.Attribute("is_invited") # Instance attribute type: bool (validator is set below) is_verified = bb.Attribute("is_verified") # Instance attribute type: int (validator is set below) stack_owner_team_id = bb.Attribute("stack_owner_team_id", nullable=True) # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashExternalUserOpenedStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashExternalUserOpenedStackDetails_validator = bv.Struct(DashExternalUserOpenedStackDetails) class DashExternalUserOpenedStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashExternalUserOpenedStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashExternalUserOpenedStackType_validator = bv.Struct(DashExternalUserOpenedStackType) class DashFirstLaunchedDesktopDetails(bb.Struct): """ Opened the desktop app for the first time. :ivar DashFirstLaunchedDesktopDetails.os_name: The name of the operating system. """ __slots__ = [ "_os_name_value", ] _has_required_fields = True def __init__(self, os_name=None): self._os_name_value = bb.NOT_SET if os_name is not None: self.os_name = os_name # Instance attribute type: str (validator is set below) os_name = bb.Attribute("os_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashFirstLaunchedDesktopDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashFirstLaunchedDesktopDetails_validator = bv.Struct(DashFirstLaunchedDesktopDetails) class DashFirstLaunchedDesktopType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashFirstLaunchedDesktopType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashFirstLaunchedDesktopType_validator = bv.Struct(DashFirstLaunchedDesktopType) class DashFirstLaunchedExtensionDetails(bb.Struct): """ Opened the extension for the first time. :ivar DashFirstLaunchedExtensionDetails.browser_name: The name of the web browser. """ __slots__ = [ "_browser_name_value", ] _has_required_fields = True def __init__(self, browser_name=None): self._browser_name_value = bb.NOT_SET if browser_name is not None: self.browser_name = browser_name # Instance attribute type: str (validator is set below) browser_name = bb.Attribute("browser_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashFirstLaunchedExtensionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashFirstLaunchedExtensionDetails_validator = bv.Struct(DashFirstLaunchedExtensionDetails) class DashFirstLaunchedExtensionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashFirstLaunchedExtensionType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashFirstLaunchedExtensionType_validator = bv.Struct(DashFirstLaunchedExtensionType) class DashFirstLaunchedWebStartPageDetails(bb.Struct): """ Opened the web Start Page for the first time. :ivar DashFirstLaunchedWebStartPageDetails.browser_name: The name of the web browser. """ __slots__ = [ "_browser_name_value", ] _has_required_fields = True def __init__(self, browser_name=None): self._browser_name_value = bb.NOT_SET if browser_name is not None: self.browser_name = browser_name # Instance attribute type: str (validator is set below) browser_name = bb.Attribute("browser_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashFirstLaunchedWebStartPageDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashFirstLaunchedWebStartPageDetails_validator = bv.Struct(DashFirstLaunchedWebStartPageDetails) class DashFirstLaunchedWebStartPageType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashFirstLaunchedWebStartPageType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashFirstLaunchedWebStartPageType_validator = bv.Struct(DashFirstLaunchedWebStartPageType) class DashOpenedSharedLinkToStackDetails(bb.Struct): """ Checked access permissions to a stack. :ivar DashOpenedSharedLinkToStackDetails.stack_name: The name of the stack. :ivar DashOpenedSharedLinkToStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashOpenedSharedLinkToStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashOpenedSharedLinkToStackDetails_validator = bv.Struct(DashOpenedSharedLinkToStackDetails) class DashOpenedSharedLinkToStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashOpenedSharedLinkToStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashOpenedSharedLinkToStackType_validator = bv.Struct(DashOpenedSharedLinkToStackType) class DashOpenedStackDetails(bb.Struct): """ Opened a stack. :ivar DashOpenedStackDetails.stack_name: The name of the stack. :ivar DashOpenedStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashOpenedStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashOpenedStackDetails_validator = bv.Struct(DashOpenedStackDetails) class DashOpenedStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashOpenedStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashOpenedStackType_validator = bv.Struct(DashOpenedStackType) class DashPreviewOptOutStatus(bb.Union): """ The new preview opt-out 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. """ _catch_all = "other" # Attribute is overwritten below the class definition opted_in = None # Attribute is overwritten below the class definition opted_out = None # Attribute is overwritten below the class definition other = None def is_opted_in(self): """ Check if the union tag is ``opted_in``. :rtype: bool """ return self._tag == "opted_in" 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(DashPreviewOptOutStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) DashPreviewOptOutStatus_validator = bv.Union(DashPreviewOptOutStatus) class DashPreviewOptOutStatusChangedDetails(bb.Struct): """ Changed the preview opt-out status. :ivar DashPreviewOptOutStatusChangedDetails.opt_out_status: The new preview opt-out status. """ __slots__ = [ "_opt_out_status_value", ] _has_required_fields = True def __init__(self, opt_out_status=None): self._opt_out_status_value = bb.NOT_SET if opt_out_status is not None: self.opt_out_status = opt_out_status # Instance attribute type: DashPreviewOptOutStatus (validator is set below) opt_out_status = bb.Attribute("opt_out_status", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashPreviewOptOutStatusChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashPreviewOptOutStatusChangedDetails_validator = bv.Struct(DashPreviewOptOutStatusChangedDetails) class DashPreviewOptOutStatusChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashPreviewOptOutStatusChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashPreviewOptOutStatusChangedType_validator = bv.Struct(DashPreviewOptOutStatusChangedType) class DashRemovedConnectorDetails(bb.Struct): """ Disconnected a user connector. :ivar DashRemovedConnectorDetails.connector_name: The name of the Connector. :ivar DashRemovedConnectorDetails.connector_status: The status of the Connector. """ __slots__ = [ "_connector_name_value", "_connector_status_value", ] _has_required_fields = True def __init__(self, connector_name=None, connector_status=None): self._connector_name_value = bb.NOT_SET self._connector_status_value = bb.NOT_SET if connector_name is not None: self.connector_name = connector_name if connector_status is not None: self.connector_status = connector_status # Instance attribute type: str (validator is set below) connector_name = bb.Attribute("connector_name") # Instance attribute type: DashConnectorStatus (validator is set below) connector_status = bb.Attribute("connector_status", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRemovedConnectorDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRemovedConnectorDetails_validator = bv.Struct(DashRemovedConnectorDetails) class DashRemovedConnectorType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRemovedConnectorType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRemovedConnectorType_validator = bv.Struct(DashRemovedConnectorType) class DashRemovedLinkFromStackDetails(bb.Struct): """ Removed a link from a stack. :ivar DashRemovedLinkFromStackDetails.stack_name: The name of the stack. :ivar DashRemovedLinkFromStackDetails.stack_item_link: The link to the item in the stack. :ivar DashRemovedLinkFromStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_item_link_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_item_link=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_item_link_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_item_link is not None: self.stack_item_link = stack_item_link if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: str (validator is set below) stack_item_link = bb.Attribute("stack_item_link") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRemovedLinkFromStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRemovedLinkFromStackDetails_validator = bv.Struct(DashRemovedLinkFromStackDetails) class DashRemovedLinkFromStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRemovedLinkFromStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRemovedLinkFromStackType_validator = bv.Struct(DashRemovedLinkFromStackType) class DashRemovedSharedLinkToStackDetails(bb.Struct): """ Removed a shared link to a stack. :ivar DashRemovedSharedLinkToStackDetails.stack_name: The name of the stack. :ivar DashRemovedSharedLinkToStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRemovedSharedLinkToStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRemovedSharedLinkToStackDetails_validator = bv.Struct(DashRemovedSharedLinkToStackDetails) class DashRemovedSharedLinkToStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRemovedSharedLinkToStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRemovedSharedLinkToStackType_validator = bv.Struct(DashRemovedSharedLinkToStackType) class DashRemovedTeamEmailDomainAllowlistDetails(bb.Struct): """ Admin removed an email domain from the team allowlist. :ivar DashRemovedTeamEmailDomainAllowlistDetails.email_domain: The email domain that gets added/removed from the team allowlist. """ __slots__ = [ "_email_domain_value", ] _has_required_fields = True def __init__(self, email_domain=None): self._email_domain_value = bb.NOT_SET if email_domain is not None: self.email_domain = email_domain # Instance attribute type: str (validator is set below) email_domain = bb.Attribute("email_domain") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRemovedTeamEmailDomainAllowlistDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRemovedTeamEmailDomainAllowlistDetails_validator = bv.Struct( DashRemovedTeamEmailDomainAllowlistDetails ) class DashRemovedTeamEmailDomainAllowlistType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRemovedTeamEmailDomainAllowlistType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRemovedTeamEmailDomainAllowlistType_validator = bv.Struct( DashRemovedTeamEmailDomainAllowlistType ) class DashRenamedStackDetails(bb.Struct): """ Renamed a stack. :ivar DashRenamedStackDetails.old_name: The old name of the stack. :ivar DashRenamedStackDetails.new_name: The new name of the stack. :ivar DashRenamedStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_old_name_value", "_new_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, old_name=None, new_name=None, stack_type=None): self._old_name_value = bb.NOT_SET self._new_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if old_name is not None: self.old_name = old_name if new_name is not None: self.new_name = new_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) old_name = bb.Attribute("old_name") # Instance attribute type: str (validator is set below) new_name = bb.Attribute("new_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRenamedStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRenamedStackDetails_validator = bv.Struct(DashRenamedStackDetails) class DashRenamedStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashRenamedStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashRenamedStackType_validator = bv.Struct(DashRenamedStackType) class DashSharedLinkToStackDetails(bb.Struct): """ Shared a link to a stack. :ivar DashSharedLinkToStackDetails.stack_name: The name of the stack. :ivar DashSharedLinkToStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashSharedLinkToStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashSharedLinkToStackDetails_validator = bv.Struct(DashSharedLinkToStackDetails) class DashSharedLinkToStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashSharedLinkToStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashSharedLinkToStackType_validator = bv.Struct(DashSharedLinkToStackType) class DashStackSharingScope(bb.Union): """ The stack sharing scope This class acts as a tagged union. Only 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 public = None # Attribute is overwritten below the class definition team = None # Attribute is overwritten below the class definition unknown = 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_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_unknown(self): """ Check if the union tag is ``unknown``. :rtype: bool """ return self._tag == "unknown" 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(DashStackSharingScope, self)._process_custom_annotations( annotation_type, field_path, processor ) DashStackSharingScope_validator = bv.Union(DashStackSharingScope) class DashStackType(bb.Union): """ The type of stack backend This class acts as a tagged union. Only 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 cypress = None # Attribute is overwritten below the class definition reference_container = None # Attribute is overwritten below the class definition unknown = None # Attribute is overwritten below the class definition other = None def is_cypress(self): """ Check if the union tag is ``cypress``. :rtype: bool """ return self._tag == "cypress" def is_reference_container(self): """ Check if the union tag is ``reference_container``. :rtype: bool """ return self._tag == "reference_container" def is_unknown(self): """ Check if the union tag is ``unknown``. :rtype: bool """ return self._tag == "unknown" 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(DashStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashStackType_validator = bv.Union(DashStackType) class DashUnarchivedStackDetails(bb.Struct): """ Unarchived a stack. :ivar DashUnarchivedStackDetails.stack_name: The name of the stack. :ivar DashUnarchivedStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashUnarchivedStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashUnarchivedStackDetails_validator = bv.Struct(DashUnarchivedStackDetails) class DashUnarchivedStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashUnarchivedStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashUnarchivedStackType_validator = bv.Struct(DashUnarchivedStackType) class DashViewedCompanyStackDetails(bb.Struct): """ Member viewed a company stack. :ivar DashViewedCompanyStackDetails.stack_name: The name of the stack. :ivar DashViewedCompanyStackDetails.stack_type: The type of stack backend. """ __slots__ = [ "_stack_name_value", "_stack_type_value", ] _has_required_fields = True def __init__(self, stack_name=None, stack_type=None): self._stack_name_value = bb.NOT_SET self._stack_type_value = bb.NOT_SET if stack_name is not None: self.stack_name = stack_name if stack_type is not None: self.stack_type = stack_type # Instance attribute type: str (validator is set below) stack_name = bb.Attribute("stack_name") # Instance attribute type: DashStackType (validator is set below) stack_type = bb.Attribute("stack_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashViewedCompanyStackDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashViewedCompanyStackDetails_validator = bv.Struct(DashViewedCompanyStackDetails) class DashViewedCompanyStackType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashViewedCompanyStackType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashViewedCompanyStackType_validator = bv.Struct(DashViewedCompanyStackType) class DashViewedExternalAiActivityReportDetails(bb.Struct): """ Admin viewed the external AI activity report. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashViewedExternalAiActivityReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DashViewedExternalAiActivityReportDetails_validator = bv.Struct( DashViewedExternalAiActivityReportDetails ) class DashViewedExternalAiActivityReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DashViewedExternalAiActivityReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) DashViewedExternalAiActivityReportType_validator = bv.Struct(DashViewedExternalAiActivityReportType) class DataPlacementRestrictionChangePolicyDetails(bb.Struct): """ Set restrictions on data center locations where team data resides. :ivar DataPlacementRestrictionChangePolicyDetails.previous_value: Previous placement restriction. :ivar DataPlacementRestrictionChangePolicyDetails.new_value: New placement restriction. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: PlacementRestriction (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: PlacementRestriction (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DataPlacementRestrictionChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DataPlacementRestrictionChangePolicyDetails_validator = bv.Struct( DataPlacementRestrictionChangePolicyDetails ) class DataPlacementRestrictionChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DataPlacementRestrictionChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) DataPlacementRestrictionChangePolicyType_validator = bv.Struct( DataPlacementRestrictionChangePolicyType ) class DataPlacementRestrictionSatisfyPolicyDetails(bb.Struct): """ Completed restrictions on data center locations where team data resides. :ivar DataPlacementRestrictionSatisfyPolicyDetails.placement_restriction: Placement restriction. """ __slots__ = [ "_placement_restriction_value", ] _has_required_fields = True def __init__(self, placement_restriction=None): self._placement_restriction_value = bb.NOT_SET if placement_restriction is not None: self.placement_restriction = placement_restriction # Instance attribute type: PlacementRestriction (validator is set below) placement_restriction = bb.Attribute("placement_restriction", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DataPlacementRestrictionSatisfyPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DataPlacementRestrictionSatisfyPolicyDetails_validator = bv.Struct( DataPlacementRestrictionSatisfyPolicyDetails ) class DataPlacementRestrictionSatisfyPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DataPlacementRestrictionSatisfyPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) DataPlacementRestrictionSatisfyPolicyType_validator = bv.Struct( DataPlacementRestrictionSatisfyPolicyType ) class DataResidencyMigrationRequestSuccessfulDetails(bb.Struct): """ Requested data residency migration for team data. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(DataResidencyMigrationRequestSuccessfulDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DataResidencyMigrationRequestSuccessfulDetails_validator = bv.Struct( DataResidencyMigrationRequestSuccessfulDetails ) class DataResidencyMigrationRequestSuccessfulType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DataResidencyMigrationRequestSuccessfulType, self)._process_custom_annotations( annotation_type, field_path, processor ) DataResidencyMigrationRequestSuccessfulType_validator = bv.Struct( DataResidencyMigrationRequestSuccessfulType ) class DataResidencyMigrationRequestUnsuccessfulDetails(bb.Struct): """ Request for data residency migration for team data has failed. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(DataResidencyMigrationRequestUnsuccessfulDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DataResidencyMigrationRequestUnsuccessfulDetails_validator = bv.Struct( DataResidencyMigrationRequestUnsuccessfulDetails ) class DataResidencyMigrationRequestUnsuccessfulType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DataResidencyMigrationRequestUnsuccessfulType, self)._process_custom_annotations( annotation_type, field_path, processor ) DataResidencyMigrationRequestUnsuccessfulType_validator = bv.Struct( DataResidencyMigrationRequestUnsuccessfulType ) class DefaultLinkExpirationDaysPolicy(bb.Union): """ Policy for the default number of days until an externally shared link expires This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. """ _catch_all = "other" # Attribute is overwritten below the class definition day_1 = None # Attribute is overwritten below the class definition day_180 = None # Attribute is overwritten below the class definition day_3 = None # Attribute is overwritten below the class definition day_30 = None # Attribute is overwritten below the class definition day_7 = None # Attribute is overwritten below the class definition day_90 = None # Attribute is overwritten below the class definition none = None # Attribute is overwritten below the class definition year_1 = None # Attribute is overwritten below the class definition other = None def is_day_1(self): """ Check if the union tag is ``day_1``. :rtype: bool """ return self._tag == "day_1" def is_day_180(self): """ Check if the union tag is ``day_180``. :rtype: bool """ return self._tag == "day_180" def is_day_3(self): """ Check if the union tag is ``day_3``. :rtype: bool """ return self._tag == "day_3" def is_day_30(self): """ Check if the union tag is ``day_30``. :rtype: bool """ return self._tag == "day_30" def is_day_7(self): """ Check if the union tag is ``day_7``. :rtype: bool """ return self._tag == "day_7" def is_day_90(self): """ Check if the union tag is ``day_90``. :rtype: bool """ return self._tag == "day_90" def is_none(self): """ Check if the union tag is ``none``. :rtype: bool """ return self._tag == "none" def is_year_1(self): """ Check if the union tag is ``year_1``. :rtype: bool """ return self._tag == "year_1" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def _process_custom_annotations(self, annotation_type, field_path, processor): super(DefaultLinkExpirationDaysPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) DefaultLinkExpirationDaysPolicy_validator = bv.Union(DefaultLinkExpirationDaysPolicy) class DeleteTeamInviteLinkDetails(bb.Struct): """ Deleted team invite link. :ivar DeleteTeamInviteLinkDetails.link_url: The invite link url that was deleted. """ __slots__ = [ "_link_url_value", ] _has_required_fields = True def __init__(self, link_url=None): self._link_url_value = bb.NOT_SET if link_url is not None: self.link_url = link_url # Instance attribute type: str (validator is set below) link_url = bb.Attribute("link_url") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteTeamInviteLinkDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteTeamInviteLinkDetails_validator = bv.Struct(DeleteTeamInviteLinkDetails) class DeleteTeamInviteLinkType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeleteTeamInviteLinkType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeleteTeamInviteLinkType_validator = bv.Struct(DeleteTeamInviteLinkType) class DeviceSessionLogInfo(bb.Struct): """ Device's session logged information. :ivar DeviceSessionLogInfo.ip_address: The IP address of the last activity from this session. :ivar DeviceSessionLogInfo.created: The time this session was created. :ivar DeviceSessionLogInfo.updated: The time of the last activity from this session. """ __slots__ = [ "_ip_address_value", "_created_value", "_updated_value", ] _has_required_fields = False def __init__(self, ip_address=None, created=None, updated=None): self._ip_address_value = bb.NOT_SET self._created_value = bb.NOT_SET self._updated_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) ip_address = bb.Attribute("ip_address", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) created = bb.Attribute("created", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) updated = bb.Attribute("updated", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceSessionLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceSessionLogInfo_validator = bv.StructTree(DeviceSessionLogInfo) class DesktopDeviceSessionLogInfo(DeviceSessionLogInfo): """ Information about linked Dropbox desktop client sessions :ivar DesktopDeviceSessionLogInfo.session_info: Desktop session unique id. :ivar DesktopDeviceSessionLogInfo.host_name: Name of the hosting desktop. :ivar DesktopDeviceSessionLogInfo.client_type: The Dropbox desktop client type. :ivar DesktopDeviceSessionLogInfo.client_version: The Dropbox client version. :ivar DesktopDeviceSessionLogInfo.platform: Information on the hosting platform. :ivar DesktopDeviceSessionLogInfo.is_delete_on_unlink_supported: Whether itu2019s possible to delete all of the account files upon unlinking. """ __slots__ = [ "_session_info_value", "_host_name_value", "_client_type_value", "_client_version_value", "_platform_value", "_is_delete_on_unlink_supported_value", ] _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 = bb.NOT_SET self._host_name_value = bb.NOT_SET self._client_type_value = bb.NOT_SET self._client_version_value = bb.NOT_SET self._platform_value = bb.NOT_SET self._is_delete_on_unlink_supported_value = bb.NOT_SET 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 # Instance attribute type: DesktopSessionLogInfo (validator is set below) session_info = bb.Attribute("session_info", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) host_name = bb.Attribute("host_name") # Instance attribute type: team.DesktopPlatform (validator is set below) client_type = bb.Attribute("client_type", user_defined=True) # Instance attribute type: str (validator is set below) client_version = bb.Attribute("client_version", nullable=True) # Instance attribute type: str (validator is set below) platform = bb.Attribute("platform") # Instance attribute type: bool (validator is set below) is_delete_on_unlink_supported = bb.Attribute("is_delete_on_unlink_supported") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DesktopDeviceSessionLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) DesktopDeviceSessionLogInfo_validator = bv.Struct(DesktopDeviceSessionLogInfo) class SessionLogInfo(bb.Struct): """ Session's logged information. :ivar SessionLogInfo.session_id: Session ID. """ __slots__ = [ "_session_id_value", ] _has_required_fields = False def __init__(self, session_id=None): self._session_id_value = bb.NOT_SET if session_id is not None: self.session_id = session_id # Instance attribute type: str (validator is set below) session_id = bb.Attribute("session_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SessionLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DesktopSessionLogInfo_validator = bv.Struct(DesktopSessionLogInfo) class DeviceApprovalsAddExceptionDetails(bb.Struct): """ Added members to device approvals exception list. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsAddExceptionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsAddExceptionDetails_validator = bv.Struct(DeviceApprovalsAddExceptionDetails) class DeviceApprovalsAddExceptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsAddExceptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsAddExceptionType_validator = bv.Struct(DeviceApprovalsAddExceptionType) class DeviceApprovalsChangeDesktopPolicyDetails(bb.Struct): """ Set/removed limit on number of computers member can link to team Dropbox account. :ivar DeviceApprovalsChangeDesktopPolicyDetails.new_value: New desktop device approvals policy. Might be missing due to historical data gap. :ivar DeviceApprovalsChangeDesktopPolicyDetails.previous_value: Previous desktop device approvals policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: DeviceApprovalsPolicy (validator is set below) new_value = bb.Attribute("new_value", nullable=True, user_defined=True) # Instance attribute type: DeviceApprovalsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsChangeDesktopPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsChangeDesktopPolicyDetails_validator = bv.Struct( DeviceApprovalsChangeDesktopPolicyDetails ) class DeviceApprovalsChangeDesktopPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsChangeDesktopPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 DeviceApprovalsChangeMobilePolicyDetails.new_value: New mobile device approvals policy. Might be missing due to historical data gap. :ivar DeviceApprovalsChangeMobilePolicyDetails.previous_value: Previous mobile device approvals policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: DeviceApprovalsPolicy (validator is set below) new_value = bb.Attribute("new_value", nullable=True, user_defined=True) # Instance attribute type: DeviceApprovalsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsChangeMobilePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsChangeMobilePolicyDetails_validator = bv.Struct( DeviceApprovalsChangeMobilePolicyDetails ) class DeviceApprovalsChangeMobilePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsChangeMobilePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsChangeMobilePolicyType_validator = bv.Struct(DeviceApprovalsChangeMobilePolicyType) class DeviceApprovalsChangeOverageActionDetails(bb.Struct): """ Changed device approvals setting when member is over limit. :ivar DeviceApprovalsChangeOverageActionDetails.new_value: New over the limits policy. Might be missing due to historical data gap. :ivar DeviceApprovalsChangeOverageActionDetails.previous_value: Previous over the limit policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.RolloutMethod (validator is set below) new_value = bb.Attribute("new_value", nullable=True, user_defined=True) # Instance attribute type: team_policies.RolloutMethod (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsChangeOverageActionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsChangeOverageActionDetails_validator = bv.Struct( DeviceApprovalsChangeOverageActionDetails ) class DeviceApprovalsChangeOverageActionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsChangeOverageActionType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsChangeOverageActionType_validator = bv.Struct(DeviceApprovalsChangeOverageActionType) class DeviceApprovalsChangeUnlinkActionDetails(bb.Struct): """ Changed device approvals setting when member unlinks approved device. :ivar DeviceApprovalsChangeUnlinkActionDetails.new_value: New device unlink policy. Might be missing due to historical data gap. :ivar DeviceApprovalsChangeUnlinkActionDetails.previous_value: Previous device unlink policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: DeviceUnlinkPolicy (validator is set below) new_value = bb.Attribute("new_value", nullable=True, user_defined=True) # Instance attribute type: DeviceUnlinkPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsChangeUnlinkActionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsChangeUnlinkActionDetails_validator = bv.Struct( DeviceApprovalsChangeUnlinkActionDetails ) class DeviceApprovalsChangeUnlinkActionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsChangeUnlinkActionType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 limited = None # Attribute is overwritten below the class definition unlimited = None # Attribute is overwritten below the class definition other = None def is_limited(self): """ Check if the union tag is ``limited``. :rtype: bool """ return self._tag == "limited" def is_unlimited(self): """ Check if the union tag is ``unlimited``. :rtype: bool """ return self._tag == "unlimited" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsPolicy_validator = bv.Union(DeviceApprovalsPolicy) class DeviceApprovalsRemoveExceptionDetails(bb.Struct): """ Removed members from device approvals exception list. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsRemoveExceptionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsRemoveExceptionDetails_validator = bv.Struct(DeviceApprovalsRemoveExceptionDetails) class DeviceApprovalsRemoveExceptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceApprovalsRemoveExceptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceApprovalsRemoveExceptionType_validator = bv.Struct(DeviceApprovalsRemoveExceptionType) class DeviceChangeIpDesktopDetails(bb.Struct): """ Changed IP address associated with active desktop session. :ivar DeviceChangeIpDesktopDetails.device_session_info: Device's session logged information. """ __slots__ = [ "_device_session_info_value", ] _has_required_fields = True def __init__(self, device_session_info=None): self._device_session_info_value = bb.NOT_SET if device_session_info is not None: self.device_session_info = device_session_info # Instance attribute type: DeviceSessionLogInfo (validator is set below) device_session_info = bb.Attribute("device_session_info", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceChangeIpDesktopDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceChangeIpDesktopDetails_validator = bv.Struct(DeviceChangeIpDesktopDetails) class DeviceChangeIpDesktopType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceChangeIpDesktopType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceChangeIpDesktopType_validator = bv.Struct(DeviceChangeIpDesktopType) class DeviceChangeIpMobileDetails(bb.Struct): """ Changed IP address associated with active mobile session. :ivar DeviceChangeIpMobileDetails.device_session_info: Device's session logged information. """ __slots__ = [ "_device_session_info_value", ] _has_required_fields = False def __init__(self, device_session_info=None): self._device_session_info_value = bb.NOT_SET if device_session_info is not None: self.device_session_info = device_session_info # Instance attribute type: DeviceSessionLogInfo (validator is set below) device_session_info = bb.Attribute("device_session_info", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceChangeIpMobileDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceChangeIpMobileDetails_validator = bv.Struct(DeviceChangeIpMobileDetails) class DeviceChangeIpMobileType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceChangeIpMobileType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceChangeIpMobileType_validator = bv.Struct(DeviceChangeIpMobileType) class DeviceChangeIpWebDetails(bb.Struct): """ Changed IP address associated with active web session. :ivar DeviceChangeIpWebDetails.user_agent: Web browser name. """ __slots__ = [ "_user_agent_value", ] _has_required_fields = True def __init__(self, user_agent=None): self._user_agent_value = bb.NOT_SET if user_agent is not None: self.user_agent = user_agent # Instance attribute type: str (validator is set below) user_agent = bb.Attribute("user_agent") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceChangeIpWebDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceChangeIpWebDetails_validator = bv.Struct(DeviceChangeIpWebDetails) class DeviceChangeIpWebType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceChangeIpWebType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceChangeIpWebType_validator = bv.Struct(DeviceChangeIpWebType) class DeviceDeleteOnUnlinkFailDetails(bb.Struct): """ Failed to delete all files from unlinked device. :ivar DeviceDeleteOnUnlinkFailDetails.session_info: Session unique id. :ivar DeviceDeleteOnUnlinkFailDetails.display_name: The device name. Might be missing due to historical data gap. :ivar DeviceDeleteOnUnlinkFailDetails.num_failures: The number of times that remote file deletion failed. """ __slots__ = [ "_session_info_value", "_display_name_value", "_num_failures_value", ] _has_required_fields = True def __init__(self, num_failures=None, session_info=None, display_name=None): self._session_info_value = bb.NOT_SET self._display_name_value = bb.NOT_SET self._num_failures_value = bb.NOT_SET 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 # Instance attribute type: SessionLogInfo (validator is set below) session_info = bb.Attribute("session_info", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name", nullable=True) # Instance attribute type: int (validator is set below) num_failures = bb.Attribute("num_failures") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceDeleteOnUnlinkFailDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceDeleteOnUnlinkFailDetails_validator = bv.Struct(DeviceDeleteOnUnlinkFailDetails) class DeviceDeleteOnUnlinkFailType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceDeleteOnUnlinkFailType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceDeleteOnUnlinkFailType_validator = bv.Struct(DeviceDeleteOnUnlinkFailType) class DeviceDeleteOnUnlinkSuccessDetails(bb.Struct): """ Deleted all files from unlinked device. :ivar DeviceDeleteOnUnlinkSuccessDetails.session_info: Session unique id. :ivar DeviceDeleteOnUnlinkSuccessDetails.display_name: The device name. Might be missing due to historical data gap. """ __slots__ = [ "_session_info_value", "_display_name_value", ] _has_required_fields = False def __init__(self, session_info=None, display_name=None): self._session_info_value = bb.NOT_SET self._display_name_value = bb.NOT_SET if session_info is not None: self.session_info = session_info if display_name is not None: self.display_name = display_name # Instance attribute type: SessionLogInfo (validator is set below) session_info = bb.Attribute("session_info", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceDeleteOnUnlinkSuccessDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceDeleteOnUnlinkSuccessDetails_validator = bv.Struct(DeviceDeleteOnUnlinkSuccessDetails) class DeviceDeleteOnUnlinkSuccessType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceDeleteOnUnlinkSuccessType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceDeleteOnUnlinkSuccessType_validator = bv.Struct(DeviceDeleteOnUnlinkSuccessType) class DeviceLinkFailDetails(bb.Struct): """ Failed to link device. :ivar DeviceLinkFailDetails.ip_address: IP address. Might be missing due to historical data gap. :ivar DeviceLinkFailDetails.device_type: A description of the device used while user approval blocked. """ __slots__ = [ "_ip_address_value", "_device_type_value", ] _has_required_fields = True def __init__(self, device_type=None, ip_address=None): self._ip_address_value = bb.NOT_SET self._device_type_value = bb.NOT_SET if ip_address is not None: self.ip_address = ip_address if device_type is not None: self.device_type = device_type # Instance attribute type: str (validator is set below) ip_address = bb.Attribute("ip_address", nullable=True) # Instance attribute type: DeviceType (validator is set below) device_type = bb.Attribute("device_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceLinkFailDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceLinkFailDetails_validator = bv.Struct(DeviceLinkFailDetails) class DeviceLinkFailType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceLinkFailType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceLinkFailType_validator = bv.Struct(DeviceLinkFailType) class DeviceLinkSuccessDetails(bb.Struct): """ Linked device. :ivar DeviceLinkSuccessDetails.device_session_info: Device's session logged information. """ __slots__ = [ "_device_session_info_value", ] _has_required_fields = False def __init__(self, device_session_info=None): self._device_session_info_value = bb.NOT_SET if device_session_info is not None: self.device_session_info = device_session_info # Instance attribute type: DeviceSessionLogInfo (validator is set below) device_session_info = bb.Attribute("device_session_info", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceLinkSuccessDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceLinkSuccessDetails_validator = bv.Struct(DeviceLinkSuccessDetails) class DeviceLinkSuccessType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceLinkSuccessType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DeviceManagementDisabledDetails_validator = bv.Struct(DeviceManagementDisabledDetails) class DeviceManagementDisabledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceManagementDisabledType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DeviceManagementEnabledDetails_validator = bv.Struct(DeviceManagementEnabledDetails) class DeviceManagementEnabledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceManagementEnabledType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceManagementEnabledType_validator = bv.Struct(DeviceManagementEnabledType) class DeviceSyncBackupStatusChangedDetails(bb.Struct): """ Enabled/disabled backup for computer. :ivar DeviceSyncBackupStatusChangedDetails.desktop_device_session_info: Device's session logged information. :ivar DeviceSyncBackupStatusChangedDetails.previous_value: Previous status of computer backup on the device. :ivar DeviceSyncBackupStatusChangedDetails.new_value: Next status of computer backup on the device. """ __slots__ = [ "_desktop_device_session_info_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, desktop_device_session_info=None, previous_value=None, new_value=None): self._desktop_device_session_info_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if desktop_device_session_info is not None: self.desktop_device_session_info = desktop_device_session_info if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: DesktopDeviceSessionLogInfo (validator is set below) desktop_device_session_info = bb.Attribute("desktop_device_session_info", user_defined=True) # Instance attribute type: BackupStatus (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: BackupStatus (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceSyncBackupStatusChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceSyncBackupStatusChangedDetails_validator = bv.Struct(DeviceSyncBackupStatusChangedDetails) class DeviceSyncBackupStatusChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceSyncBackupStatusChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceSyncBackupStatusChangedType_validator = bv.Struct(DeviceSyncBackupStatusChangedType) 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) DeviceType_validator = bv.Union(DeviceType) class DeviceUnlinkDetails(bb.Struct): """ Disconnected device. :ivar DeviceUnlinkDetails.session_info: Session unique id. :ivar DeviceUnlinkDetails.display_name: The device name. Might be missing due to historical data gap. :ivar DeviceUnlinkDetails.delete_data: True if the user requested to delete data after device unlink, false otherwise. """ __slots__ = [ "_session_info_value", "_display_name_value", "_delete_data_value", ] _has_required_fields = True def __init__(self, delete_data=None, session_info=None, display_name=None): self._session_info_value = bb.NOT_SET self._display_name_value = bb.NOT_SET self._delete_data_value = bb.NOT_SET 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 # Instance attribute type: SessionLogInfo (validator is set below) session_info = bb.Attribute("session_info", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name", nullable=True) # Instance attribute type: bool (validator is set below) delete_data = bb.Attribute("delete_data") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceUnlinkDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 keep = None # Attribute is overwritten below the class definition remove = None # Attribute is overwritten below the class definition other = None def is_keep(self): """ Check if the union tag is ``keep``. :rtype: bool """ return self._tag == "keep" 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(DeviceUnlinkPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) DeviceUnlinkPolicy_validator = bv.Union(DeviceUnlinkPolicy) class DeviceUnlinkType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DeviceUnlinkType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DirectoryRestrictionsAddMembersDetails_validator = bv.Struct(DirectoryRestrictionsAddMembersDetails) class DirectoryRestrictionsAddMembersType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DirectoryRestrictionsAddMembersType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DirectoryRestrictionsRemoveMembersDetails_validator = bv.Struct( DirectoryRestrictionsRemoveMembersDetails ) class DirectoryRestrictionsRemoveMembersType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DirectoryRestrictionsRemoveMembersType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DisabledDomainInvitesDetails_validator = bv.Struct(DisabledDomainInvitesDetails) class DisabledDomainInvitesType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DisabledDomainInvitesType, self)._process_custom_annotations( annotation_type, field_path, processor ) DisabledDomainInvitesType_validator = bv.Struct(DisabledDomainInvitesType) class DispositionActionType(bb.Union): """ This class acts as a tagged union. Only 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 automatic_delete = None # Attribute is overwritten below the class definition automatic_permanently_delete = None # Attribute is overwritten below the class definition other = None def is_automatic_delete(self): """ Check if the union tag is ``automatic_delete``. :rtype: bool """ return self._tag == "automatic_delete" def is_automatic_permanently_delete(self): """ Check if the union tag is ``automatic_permanently_delete``. :rtype: bool """ return self._tag == "automatic_permanently_delete" 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(DispositionActionType, self)._process_custom_annotations( annotation_type, field_path, processor ) DispositionActionType_validator = bv.Union(DispositionActionType) 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 ) DomainInvitesApproveRequestToJoinTeamDetails_validator = bv.Struct( DomainInvitesApproveRequestToJoinTeamDetails ) class DomainInvitesApproveRequestToJoinTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainInvitesApproveRequestToJoinTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DomainInvitesDeclineRequestToJoinTeamDetails_validator = bv.Struct( DomainInvitesDeclineRequestToJoinTeamDetails ) class DomainInvitesDeclineRequestToJoinTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainInvitesDeclineRequestToJoinTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) DomainInvitesDeclineRequestToJoinTeamType_validator = bv.Struct( DomainInvitesDeclineRequestToJoinTeamType ) class DomainInvitesEmailExistingUsersDetails(bb.Struct): """ Sent domain invites to existing domain accounts. :ivar DomainInvitesEmailExistingUsersDetails.domain_name: Domain names. :ivar DomainInvitesEmailExistingUsersDetails.num_recipients: Number of recipients. """ __slots__ = [ "_domain_name_value", "_num_recipients_value", ] _has_required_fields = True def __init__(self, domain_name=None, num_recipients=None): self._domain_name_value = bb.NOT_SET self._num_recipients_value = bb.NOT_SET if domain_name is not None: self.domain_name = domain_name if num_recipients is not None: self.num_recipients = num_recipients # Instance attribute type: str (validator is set below) domain_name = bb.Attribute("domain_name") # Instance attribute type: int (validator is set below) num_recipients = bb.Attribute("num_recipients") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainInvitesEmailExistingUsersDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DomainInvitesEmailExistingUsersDetails_validator = bv.Struct(DomainInvitesEmailExistingUsersDetails) class DomainInvitesEmailExistingUsersType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainInvitesEmailExistingUsersType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DomainInvitesRequestToJoinTeamDetails_validator = bv.Struct(DomainInvitesRequestToJoinTeamDetails) class DomainInvitesRequestToJoinTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainInvitesRequestToJoinTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DomainInvitesSetInviteNewUserPrefToNoDetails_validator = bv.Struct( DomainInvitesSetInviteNewUserPrefToNoDetails ) class DomainInvitesSetInviteNewUserPrefToNoType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainInvitesSetInviteNewUserPrefToNoType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DomainInvitesSetInviteNewUserPrefToYesDetails_validator = bv.Struct( DomainInvitesSetInviteNewUserPrefToYesDetails ) class DomainInvitesSetInviteNewUserPrefToYesType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainInvitesSetInviteNewUserPrefToYesType, self)._process_custom_annotations( annotation_type, field_path, processor ) DomainInvitesSetInviteNewUserPrefToYesType_validator = bv.Struct( DomainInvitesSetInviteNewUserPrefToYesType ) class DomainVerificationAddDomainFailDetails(bb.Struct): """ Failed to verify team domain. :ivar DomainVerificationAddDomainFailDetails.domain_name: Domain name. :ivar DomainVerificationAddDomainFailDetails.verification_method: Domain name verification method. Might be missing due to historical data gap. """ __slots__ = [ "_domain_name_value", "_verification_method_value", ] _has_required_fields = True def __init__(self, domain_name=None, verification_method=None): self._domain_name_value = bb.NOT_SET self._verification_method_value = bb.NOT_SET if domain_name is not None: self.domain_name = domain_name if verification_method is not None: self.verification_method = verification_method # Instance attribute type: str (validator is set below) domain_name = bb.Attribute("domain_name") # Instance attribute type: str (validator is set below) verification_method = bb.Attribute("verification_method", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainVerificationAddDomainFailDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DomainVerificationAddDomainFailDetails_validator = bv.Struct(DomainVerificationAddDomainFailDetails) class DomainVerificationAddDomainFailType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainVerificationAddDomainFailType, self)._process_custom_annotations( annotation_type, field_path, processor ) DomainVerificationAddDomainFailType_validator = bv.Struct(DomainVerificationAddDomainFailType) class DomainVerificationAddDomainSuccessDetails(bb.Struct): """ Verified team domain. :ivar DomainVerificationAddDomainSuccessDetails.domain_names: Domain names. :ivar DomainVerificationAddDomainSuccessDetails.verification_method: Domain name verification method. Might be missing due to historical data gap. """ __slots__ = [ "_domain_names_value", "_verification_method_value", ] _has_required_fields = True def __init__(self, domain_names=None, verification_method=None): self._domain_names_value = bb.NOT_SET self._verification_method_value = bb.NOT_SET if domain_names is not None: self.domain_names = domain_names if verification_method is not None: self.verification_method = verification_method # Instance attribute type: list of [str] (validator is set below) domain_names = bb.Attribute("domain_names") # Instance attribute type: str (validator is set below) verification_method = bb.Attribute("verification_method", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainVerificationAddDomainSuccessDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DomainVerificationAddDomainSuccessDetails_validator = bv.Struct( DomainVerificationAddDomainSuccessDetails ) class DomainVerificationAddDomainSuccessType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainVerificationAddDomainSuccessType, self)._process_custom_annotations( annotation_type, field_path, processor ) DomainVerificationAddDomainSuccessType_validator = bv.Struct(DomainVerificationAddDomainSuccessType) class DomainVerificationRemoveDomainDetails(bb.Struct): """ Removed domain from list of verified team domains. :ivar DomainVerificationRemoveDomainDetails.domain_names: Domain names. """ __slots__ = [ "_domain_names_value", ] _has_required_fields = True def __init__(self, domain_names=None): self._domain_names_value = bb.NOT_SET if domain_names is not None: self.domain_names = domain_names # Instance attribute type: list of [str] (validator is set below) domain_names = bb.Attribute("domain_names") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainVerificationRemoveDomainDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DomainVerificationRemoveDomainDetails_validator = bv.Struct(DomainVerificationRemoveDomainDetails) class DomainVerificationRemoveDomainType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DomainVerificationRemoveDomainType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) DownloadPolicyType_validator = bv.Union(DownloadPolicyType) class DropboxPasswordsExportedDetails(bb.Struct): """ Exported passwords. :ivar DropboxPasswordsExportedDetails.platform: The platform the device runs export. """ __slots__ = [ "_platform_value", ] _has_required_fields = True def __init__(self, platform=None): self._platform_value = bb.NOT_SET if platform is not None: self.platform = platform # Instance attribute type: str (validator is set below) platform = bb.Attribute("platform") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DropboxPasswordsExportedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DropboxPasswordsExportedDetails_validator = bv.Struct(DropboxPasswordsExportedDetails) class DropboxPasswordsExportedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DropboxPasswordsExportedType, self)._process_custom_annotations( annotation_type, field_path, processor ) DropboxPasswordsExportedType_validator = bv.Struct(DropboxPasswordsExportedType) class DropboxPasswordsNewDeviceEnrolledDetails(bb.Struct): """ Enrolled new Dropbox Passwords device. :ivar DropboxPasswordsNewDeviceEnrolledDetails.is_first_device: Whether it's a first device enrolled. :ivar DropboxPasswordsNewDeviceEnrolledDetails.platform: The platform the device is enrolled. """ __slots__ = [ "_is_first_device_value", "_platform_value", ] _has_required_fields = True def __init__(self, is_first_device=None, platform=None): self._is_first_device_value = bb.NOT_SET self._platform_value = bb.NOT_SET if is_first_device is not None: self.is_first_device = is_first_device if platform is not None: self.platform = platform # Instance attribute type: bool (validator is set below) is_first_device = bb.Attribute("is_first_device") # Instance attribute type: str (validator is set below) platform = bb.Attribute("platform") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DropboxPasswordsNewDeviceEnrolledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DropboxPasswordsNewDeviceEnrolledDetails_validator = bv.Struct( DropboxPasswordsNewDeviceEnrolledDetails ) class DropboxPasswordsNewDeviceEnrolledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DropboxPasswordsNewDeviceEnrolledType, self)._process_custom_annotations( annotation_type, field_path, processor ) DropboxPasswordsNewDeviceEnrolledType_validator = bv.Struct(DropboxPasswordsNewDeviceEnrolledType) class DropboxPasswordsPolicy(bb.Union): """ Policy for deciding whether team users can use Dropbox Passwords This class acts as a tagged union. Only 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 disabled = None # Attribute is overwritten below the class definition enabled = 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_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(DropboxPasswordsPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) DropboxPasswordsPolicy_validator = bv.Union(DropboxPasswordsPolicy) class DropboxPasswordsPolicyChangedDetails(bb.Struct): """ Changed Dropbox Passwords policy for team. :ivar DropboxPasswordsPolicyChangedDetails.new_value: To. :ivar DropboxPasswordsPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: DropboxPasswordsPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: DropboxPasswordsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(DropboxPasswordsPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) DropboxPasswordsPolicyChangedDetails_validator = bv.Struct(DropboxPasswordsPolicyChangedDetails) class DropboxPasswordsPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DropboxPasswordsPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) DropboxPasswordsPolicyChangedType_validator = bv.Struct(DropboxPasswordsPolicyChangedType) class DurationLogInfo(bb.Struct): """ Represents a time duration: unit and amount :ivar DurationLogInfo.unit: Time unit. :ivar DurationLogInfo.amount: Amount of time. """ __slots__ = [ "_unit_value", "_amount_value", ] _has_required_fields = True def __init__(self, unit=None, amount=None): self._unit_value = bb.NOT_SET self._amount_value = bb.NOT_SET if unit is not None: self.unit = unit if amount is not None: self.amount = amount # Instance attribute type: TimeUnit (validator is set below) unit = bb.Attribute("unit", user_defined=True) # Instance attribute type: int (validator is set below) amount = bb.Attribute("amount") def _process_custom_annotations(self, annotation_type, field_path, processor): super(DurationLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) DurationLogInfo_validator = bv.Struct(DurationLogInfo) class EmailIngestPolicy(bb.Union): """ Policy for deciding whether a team can use Email to Dropbox feature This class acts as a tagged union. Only 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(EmailIngestPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) EmailIngestPolicy_validator = bv.Union(EmailIngestPolicy) class EmailIngestPolicyChangedDetails(bb.Struct): """ Changed email to Dropbox policy for team. :ivar EmailIngestPolicyChangedDetails.new_value: To. :ivar EmailIngestPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: EmailIngestPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: EmailIngestPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmailIngestPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EmailIngestPolicyChangedDetails_validator = bv.Struct(EmailIngestPolicyChangedDetails) class EmailIngestPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmailIngestPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) EmailIngestPolicyChangedType_validator = bv.Struct(EmailIngestPolicyChangedType) class EmailIngestReceiveFileDetails(bb.Struct): """ Received files via Email to Dropbox. :ivar EmailIngestReceiveFileDetails.inbox_name: Inbox name. :ivar EmailIngestReceiveFileDetails.attachment_names: Submitted file names. :ivar EmailIngestReceiveFileDetails.subject: Subject of the email. :ivar EmailIngestReceiveFileDetails.from_name: The name as provided by the submitter. :ivar EmailIngestReceiveFileDetails.from_email: The email as provided by the submitter. """ __slots__ = [ "_inbox_name_value", "_attachment_names_value", "_subject_value", "_from_name_value", "_from_email_value", ] _has_required_fields = True def __init__( self, inbox_name=None, attachment_names=None, subject=None, from_name=None, from_email=None, ): self._inbox_name_value = bb.NOT_SET self._attachment_names_value = bb.NOT_SET self._subject_value = bb.NOT_SET self._from_name_value = bb.NOT_SET self._from_email_value = bb.NOT_SET if inbox_name is not None: self.inbox_name = inbox_name if attachment_names is not None: self.attachment_names = attachment_names if subject is not None: self.subject = subject if from_name is not None: self.from_name = from_name if from_email is not None: self.from_email = from_email # Instance attribute type: str (validator is set below) inbox_name = bb.Attribute("inbox_name") # Instance attribute type: list of [str] (validator is set below) attachment_names = bb.Attribute("attachment_names") # Instance attribute type: str (validator is set below) subject = bb.Attribute("subject", nullable=True) # Instance attribute type: str (validator is set below) from_name = bb.Attribute("from_name", nullable=True) # Instance attribute type: str (validator is set below) from_email = bb.Attribute("from_email", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmailIngestReceiveFileDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EmailIngestReceiveFileDetails_validator = bv.Struct(EmailIngestReceiveFileDetails) class EmailIngestReceiveFileType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmailIngestReceiveFileType, self)._process_custom_annotations( annotation_type, field_path, processor ) EmailIngestReceiveFileType_validator = bv.Struct(EmailIngestReceiveFileType) 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 ) EmmAddExceptionDetails_validator = bv.Struct(EmmAddExceptionDetails) class EmmAddExceptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmmAddExceptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) EmmAddExceptionType_validator = bv.Struct(EmmAddExceptionType) class EmmChangePolicyDetails(bb.Struct): """ Enabled/disabled enterprise mobility management for members. :ivar EmmChangePolicyDetails.new_value: New enterprise mobility management policy. :ivar EmmChangePolicyDetails.previous_value: Previous enterprise mobility management policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.EmmState (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team_policies.EmmState (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmmChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EmmChangePolicyDetails_validator = bv.Struct(EmmChangePolicyDetails) class EmmChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmmChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) EmmCreateExceptionsReportDetails_validator = bv.Struct(EmmCreateExceptionsReportDetails) class EmmCreateExceptionsReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmmCreateExceptionsReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) EmmCreateUsageReportDetails_validator = bv.Struct(EmmCreateUsageReportDetails) class EmmCreateUsageReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmmCreateUsageReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) EmmCreateUsageReportType_validator = bv.Struct(EmmCreateUsageReportType) class EmmErrorDetails(bb.Struct): """ Failed to sign in via EMM. :ivar EmmErrorDetails.error_details: Error details. """ __slots__ = [ "_error_details_value", ] _has_required_fields = True def __init__(self, error_details=None): self._error_details_value = bb.NOT_SET if error_details is not None: self.error_details = error_details # Instance attribute type: FailureDetailsLogInfo (validator is set below) error_details = bb.Attribute("error_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmmErrorDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EmmErrorDetails_validator = bv.Struct(EmmErrorDetails) class EmmErrorType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmmErrorType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) EmmRefreshAuthTokenDetails_validator = bv.Struct(EmmRefreshAuthTokenDetails) class EmmRefreshAuthTokenType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmmRefreshAuthTokenType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) EmmRemoveExceptionDetails_validator = bv.Struct(EmmRemoveExceptionDetails) class EmmRemoveExceptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EmmRemoveExceptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) EnabledDomainInvitesDetails_validator = bv.Struct(EnabledDomainInvitesDetails) class EnabledDomainInvitesType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EnabledDomainInvitesType, self)._process_custom_annotations( annotation_type, field_path, processor ) EnabledDomainInvitesType_validator = bv.Struct(EnabledDomainInvitesType) class EncryptedFolderCancelTeamKeyRotationDetails(bb.Struct): """ Canceled team key rotation. :ivar EncryptedFolderCancelTeamKeyRotationDetails.team_key_id: Identifier of the team key. """ __slots__ = [ "_team_key_id_value", ] _has_required_fields = True def __init__(self, team_key_id=None): self._team_key_id_value = bb.NOT_SET if team_key_id is not None: self.team_key_id = team_key_id # Instance attribute type: str (validator is set below) team_key_id = bb.Attribute("team_key_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderCancelTeamKeyRotationDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderCancelTeamKeyRotationDetails_validator = bv.Struct( EncryptedFolderCancelTeamKeyRotationDetails ) class EncryptedFolderCancelTeamKeyRotationType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderCancelTeamKeyRotationType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderCancelTeamKeyRotationType_validator = bv.Struct( EncryptedFolderCancelTeamKeyRotationType ) class EncryptedFolderEnrollBackupKeyDetails(bb.Struct): """ Added recovery key. :ivar EncryptedFolderEnrollBackupKeyDetails.backup_key_id: Identifier of the recovery key. """ __slots__ = [ "_backup_key_id_value", ] _has_required_fields = True def __init__(self, backup_key_id=None): self._backup_key_id_value = bb.NOT_SET if backup_key_id is not None: self.backup_key_id = backup_key_id # Instance attribute type: str (validator is set below) backup_key_id = bb.Attribute("backup_key_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderEnrollBackupKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderEnrollBackupKeyDetails_validator = bv.Struct(EncryptedFolderEnrollBackupKeyDetails) class EncryptedFolderEnrollBackupKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderEnrollBackupKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderEnrollBackupKeyType_validator = bv.Struct(EncryptedFolderEnrollBackupKeyType) class EncryptedFolderEnrollClientDetails(bb.Struct): """ Enrolled device. :ivar EncryptedFolderEnrollClientDetails.client_key_id: Identifier of the client key. """ __slots__ = [ "_client_key_id_value", ] _has_required_fields = True def __init__(self, client_key_id=None): self._client_key_id_value = bb.NOT_SET if client_key_id is not None: self.client_key_id = client_key_id # Instance attribute type: str (validator is set below) client_key_id = bb.Attribute("client_key_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderEnrollClientDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderEnrollClientDetails_validator = bv.Struct(EncryptedFolderEnrollClientDetails) class EncryptedFolderEnrollClientType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderEnrollClientType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderEnrollClientType_validator = bv.Struct(EncryptedFolderEnrollClientType) class EncryptedFolderEnrollTeamDetails(bb.Struct): """ Activated team folder encryption. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderEnrollTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderEnrollTeamDetails_validator = bv.Struct(EncryptedFolderEnrollTeamDetails) class EncryptedFolderEnrollTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderEnrollTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderEnrollTeamType_validator = bv.Struct(EncryptedFolderEnrollTeamType) class EncryptedFolderFinishTeamUnenrollmentDetails(bb.Struct): """ Deactivated team folder encryption. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderFinishTeamUnenrollmentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderFinishTeamUnenrollmentDetails_validator = bv.Struct( EncryptedFolderFinishTeamUnenrollmentDetails ) class EncryptedFolderFinishTeamUnenrollmentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderFinishTeamUnenrollmentType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderFinishTeamUnenrollmentType_validator = bv.Struct( EncryptedFolderFinishTeamUnenrollmentType ) class EncryptedFolderInitTeamKeyRotationDetails(bb.Struct): """ Initiated team key rotation. :ivar EncryptedFolderInitTeamKeyRotationDetails.team_key_id: Identifier of the team key. """ __slots__ = [ "_team_key_id_value", ] _has_required_fields = True def __init__(self, team_key_id=None): self._team_key_id_value = bb.NOT_SET if team_key_id is not None: self.team_key_id = team_key_id # Instance attribute type: str (validator is set below) team_key_id = bb.Attribute("team_key_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderInitTeamKeyRotationDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderInitTeamKeyRotationDetails_validator = bv.Struct( EncryptedFolderInitTeamKeyRotationDetails ) class EncryptedFolderInitTeamKeyRotationType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderInitTeamKeyRotationType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderInitTeamKeyRotationType_validator = bv.Struct(EncryptedFolderInitTeamKeyRotationType) class EncryptedFolderInitTeamUnenrollmentDetails(bb.Struct): """ Initiated deactivation of team folder encryption. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderInitTeamUnenrollmentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderInitTeamUnenrollmentDetails_validator = bv.Struct( EncryptedFolderInitTeamUnenrollmentDetails ) class EncryptedFolderInitTeamUnenrollmentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderInitTeamUnenrollmentType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderInitTeamUnenrollmentType_validator = bv.Struct( EncryptedFolderInitTeamUnenrollmentType ) class EncryptedFolderRemoveBackupKeyDetails(bb.Struct): """ Removed recovery key. :ivar EncryptedFolderRemoveBackupKeyDetails.backup_key_id: Identifier of the recovery key. """ __slots__ = [ "_backup_key_id_value", ] _has_required_fields = True def __init__(self, backup_key_id=None): self._backup_key_id_value = bb.NOT_SET if backup_key_id is not None: self.backup_key_id = backup_key_id # Instance attribute type: str (validator is set below) backup_key_id = bb.Attribute("backup_key_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderRemoveBackupKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderRemoveBackupKeyDetails_validator = bv.Struct(EncryptedFolderRemoveBackupKeyDetails) class EncryptedFolderRemoveBackupKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderRemoveBackupKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderRemoveBackupKeyType_validator = bv.Struct(EncryptedFolderRemoveBackupKeyType) class EncryptedFolderRotateTeamKeyDetails(bb.Struct): """ Rotated team key. :ivar EncryptedFolderRotateTeamKeyDetails.team_key_id: Identifier of the team key. """ __slots__ = [ "_team_key_id_value", ] _has_required_fields = True def __init__(self, team_key_id=None): self._team_key_id_value = bb.NOT_SET if team_key_id is not None: self.team_key_id = team_key_id # Instance attribute type: str (validator is set below) team_key_id = bb.Attribute("team_key_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderRotateTeamKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderRotateTeamKeyDetails_validator = bv.Struct(EncryptedFolderRotateTeamKeyDetails) class EncryptedFolderRotateTeamKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderRotateTeamKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderRotateTeamKeyType_validator = bv.Struct(EncryptedFolderRotateTeamKeyType) class EncryptedFolderUnenrollClientDetails(bb.Struct): """ Unenrolled device. :ivar EncryptedFolderUnenrollClientDetails.client_key_id: Identifier of the client key. """ __slots__ = [ "_client_key_id_value", ] _has_required_fields = True def __init__(self, client_key_id=None): self._client_key_id_value = bb.NOT_SET if client_key_id is not None: self.client_key_id = client_key_id # Instance attribute type: str (validator is set below) client_key_id = bb.Attribute("client_key_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderUnenrollClientDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderUnenrollClientDetails_validator = bv.Struct(EncryptedFolderUnenrollClientDetails) class EncryptedFolderUnenrollClientType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EncryptedFolderUnenrollClientType, self)._process_custom_annotations( annotation_type, field_path, processor ) EncryptedFolderUnenrollClientType_validator = bv.Struct(EncryptedFolderUnenrollClientType) class EndedEnterpriseAdminSessionDeprecatedDetails(bb.Struct): """ Ended enterprise admin session. :ivar EndedEnterpriseAdminSessionDeprecatedDetails.federation_extra_details: More information about the organization or team. """ __slots__ = [ "_federation_extra_details_value", ] _has_required_fields = True def __init__(self, federation_extra_details=None): self._federation_extra_details_value = bb.NOT_SET if federation_extra_details is not None: self.federation_extra_details = federation_extra_details # Instance attribute type: FedExtraDetails (validator is set below) federation_extra_details = bb.Attribute("federation_extra_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(EndedEnterpriseAdminSessionDeprecatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EndedEnterpriseAdminSessionDeprecatedDetails_validator = bv.Struct( EndedEnterpriseAdminSessionDeprecatedDetails ) class EndedEnterpriseAdminSessionDeprecatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EndedEnterpriseAdminSessionDeprecatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) EndedEnterpriseAdminSessionDeprecatedType_validator = bv.Struct( EndedEnterpriseAdminSessionDeprecatedType ) class EndedEnterpriseAdminSessionDetails(bb.Struct): """ Ended enterprise admin session. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(EndedEnterpriseAdminSessionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EndedEnterpriseAdminSessionDetails_validator = bv.Struct(EndedEnterpriseAdminSessionDetails) class EndedEnterpriseAdminSessionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EndedEnterpriseAdminSessionType, self)._process_custom_annotations( annotation_type, field_path, processor ) EndedEnterpriseAdminSessionType_validator = bv.Struct(EndedEnterpriseAdminSessionType) class EnforceLinkPasswordPolicy(bb.Union): """ Policy for deciding whether password must be enforced when an externally shared link is updated This class acts as a tagged union. Only 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 optional = None # Attribute is overwritten below the class definition required = None # Attribute is overwritten below the class definition other = None 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(EnforceLinkPasswordPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) EnforceLinkPasswordPolicy_validator = bv.Union(EnforceLinkPasswordPolicy) class EnterpriseSettingsLockingDetails(bb.Struct): """ Changed who can update a setting. :ivar EnterpriseSettingsLockingDetails.team_name: The secondary team name. :ivar EnterpriseSettingsLockingDetails.settings_page_name: Settings page name. :ivar EnterpriseSettingsLockingDetails.previous_settings_page_locking_state: Previous locked settings page state. :ivar EnterpriseSettingsLockingDetails.new_settings_page_locking_state: New locked settings page state. """ __slots__ = [ "_team_name_value", "_settings_page_name_value", "_previous_settings_page_locking_state_value", "_new_settings_page_locking_state_value", ] _has_required_fields = True def __init__( self, team_name=None, settings_page_name=None, previous_settings_page_locking_state=None, new_settings_page_locking_state=None, ): self._team_name_value = bb.NOT_SET self._settings_page_name_value = bb.NOT_SET self._previous_settings_page_locking_state_value = bb.NOT_SET self._new_settings_page_locking_state_value = bb.NOT_SET if team_name is not None: self.team_name = team_name if settings_page_name is not None: self.settings_page_name = settings_page_name if previous_settings_page_locking_state is not None: self.previous_settings_page_locking_state = previous_settings_page_locking_state if new_settings_page_locking_state is not None: self.new_settings_page_locking_state = new_settings_page_locking_state # Instance attribute type: str (validator is set below) team_name = bb.Attribute("team_name") # Instance attribute type: str (validator is set below) settings_page_name = bb.Attribute("settings_page_name") # Instance attribute type: str (validator is set below) previous_settings_page_locking_state = bb.Attribute("previous_settings_page_locking_state") # Instance attribute type: str (validator is set below) new_settings_page_locking_state = bb.Attribute("new_settings_page_locking_state") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EnterpriseSettingsLockingDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) EnterpriseSettingsLockingDetails_validator = bv.Struct(EnterpriseSettingsLockingDetails) class EnterpriseSettingsLockingType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(EnterpriseSettingsLockingType, self)._process_custom_annotations( annotation_type, field_path, processor ) EnterpriseSettingsLockingType_validator = bv.Struct(EnterpriseSettingsLockingType) 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 EventCategory.admin_alerting: Events that involve team related alerts. :ivar EventCategory.apps: Events that apply to management of linked apps. :ivar EventCategory.comments: Events that have to do with comments on files and Paper documents. :ivar EventCategory.dash: Events that apply to Dropbox Dash :ivar EventCategory.data_governance: Events that involve data governance actions :ivar EventCategory.devices: Events that apply to linked devices on mobile, desktop and Web platforms. :ivar EventCategory.domains: Events that involve domain management feature: domain verification, invite enforcement and account capture. :ivar EventCategory.encryption: Events that involve encryption. :ivar EventCategory.file_operations: Events that have to do with filesystem operations on files and folders: copy, move, delete, etc. :ivar EventCategory.file_requests: Events that apply to the file requests feature. :ivar EventCategory.groups: Events that involve group management. :ivar EventCategory.logins: Events that involve users signing in to or out of Dropbox. :ivar EventCategory.members: Events that involve team member management. :ivar EventCategory.paper: Events that apply to Dropbox Paper. :ivar EventCategory.passwords: Events that involve using, changing or resetting passwords. :ivar EventCategory.protect: Events that apply to Dropbox Protect :ivar EventCategory.reports: Events that concern generation of admin reports, including team activity and device usage. :ivar EventCategory.sharing: Events that apply to all types of sharing and collaboration. :ivar EventCategory.showcase: Events that apply to Dropbox Showcase. :ivar EventCategory.signatures: Events that apply to Dropbox Sign :ivar EventCategory.sso: Events that involve using or configuring single sign-on as well as administrative policies concerning single sign-on. :ivar EventCategory.team_folders: Events that involve team folder management. :ivar EventCategory.team_policies: Events that involve a change in team-wide policies. :ivar EventCategory.team_profile: Events that involve a change in the team profile. :ivar EventCategory.tfa: Events that involve using or configuring two factor authentication as well as administrative policies concerning two factor authentication. :ivar EventCategory.trusted_teams: Events that apply to cross-team trust establishment. """ _catch_all = "other" # Attribute is overwritten below the class definition admin_alerting = None # 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 dash = None # Attribute is overwritten below the class definition data_governance = 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 encryption = 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 protect = 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 signatures = 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_admin_alerting(self): """ Check if the union tag is ``admin_alerting``. :rtype: bool """ return self._tag == "admin_alerting" 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_dash(self): """ Check if the union tag is ``dash``. :rtype: bool """ return self._tag == "dash" def is_data_governance(self): """ Check if the union tag is ``data_governance``. :rtype: bool """ return self._tag == "data_governance" 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_encryption(self): """ Check if the union tag is ``encryption``. :rtype: bool """ return self._tag == "encryption" 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_protect(self): """ Check if the union tag is ``protect``. :rtype: bool """ return self._tag == "protect" 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_signatures(self): """ Check if the union tag is ``signatures``. :rtype: bool """ return self._tag == "signatures" 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 ) 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 EventDetails.missing_details: Hints that this event was returned with missing details due to an internal error. :vartype EventDetails.missing_details: MissingDetails """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @classmethod def admin_alerting_alert_state_changed_details(cls, val): """ Create an instance of this class set to the ``admin_alerting_alert_state_changed_details`` tag with value ``val``. :param AdminAlertingAlertStateChangedDetails val: :rtype: EventDetails """ return cls("admin_alerting_alert_state_changed_details", val) @classmethod def admin_alerting_changed_alert_config_details(cls, val): """ Create an instance of this class set to the ``admin_alerting_changed_alert_config_details`` tag with value ``val``. :param AdminAlertingChangedAlertConfigDetails val: :rtype: EventDetails """ return cls("admin_alerting_changed_alert_config_details", val) @classmethod def admin_alerting_triggered_alert_details(cls, val): """ Create an instance of this class set to the ``admin_alerting_triggered_alert_details`` tag with value ``val``. :param AdminAlertingTriggeredAlertDetails val: :rtype: EventDetails """ return cls("admin_alerting_triggered_alert_details", val) @classmethod def ransomware_restore_process_completed_details(cls, val): """ Create an instance of this class set to the ``ransomware_restore_process_completed_details`` tag with value ``val``. :param RansomwareRestoreProcessCompletedDetails val: :rtype: EventDetails """ return cls("ransomware_restore_process_completed_details", val) @classmethod def ransomware_restore_process_started_details(cls, val): """ Create an instance of this class set to the ``ransomware_restore_process_started_details`` tag with value ``val``. :param RansomwareRestoreProcessStartedDetails val: :rtype: EventDetails """ return cls("ransomware_restore_process_started_details", val) @classmethod def app_blocked_by_permissions_details(cls, val): """ Create an instance of this class set to the ``app_blocked_by_permissions_details`` tag with value ``val``. :param AppBlockedByPermissionsDetails val: :rtype: EventDetails """ return cls("app_blocked_by_permissions_details", val) @classmethod def app_link_team_details(cls, val): """ Create an instance of this class set to the ``app_link_team_details`` tag with value ``val``. :param AppLinkTeamDetails val: :rtype: EventDetails """ return cls("app_link_team_details", val) @classmethod def app_link_user_details(cls, val): """ Create an instance of this class set to the ``app_link_user_details`` tag with value ``val``. :param AppLinkUserDetails val: :rtype: EventDetails """ return cls("app_link_user_details", val) @classmethod def app_unlink_team_details(cls, val): """ Create an instance of this class set to the ``app_unlink_team_details`` tag with value ``val``. :param AppUnlinkTeamDetails val: :rtype: EventDetails """ return cls("app_unlink_team_details", val) @classmethod def app_unlink_user_details(cls, val): """ Create an instance of this class set to the ``app_unlink_user_details`` tag with value ``val``. :param AppUnlinkUserDetails val: :rtype: EventDetails """ return cls("app_unlink_user_details", val) @classmethod def 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 dash_added_comment_to_stack_details(cls, val): """ Create an instance of this class set to the ``dash_added_comment_to_stack_details`` tag with value ``val``. :param DashAddedCommentToStackDetails val: :rtype: EventDetails """ return cls("dash_added_comment_to_stack_details", val) @classmethod def dash_added_connector_details(cls, val): """ Create an instance of this class set to the ``dash_added_connector_details`` tag with value ``val``. :param DashAddedConnectorDetails val: :rtype: EventDetails """ return cls("dash_added_connector_details", val) @classmethod def dash_added_link_to_stack_details(cls, val): """ Create an instance of this class set to the ``dash_added_link_to_stack_details`` tag with value ``val``. :param DashAddedLinkToStackDetails val: :rtype: EventDetails """ return cls("dash_added_link_to_stack_details", val) @classmethod def dash_added_team_email_domain_allowlist_details(cls, val): """ Create an instance of this class set to the ``dash_added_team_email_domain_allowlist_details`` tag with value ``val``. :param DashAddedTeamEmailDomainAllowlistDetails val: :rtype: EventDetails """ return cls("dash_added_team_email_domain_allowlist_details", val) @classmethod def dash_admin_added_org_wide_connector_details(cls, val): """ Create an instance of this class set to the ``dash_admin_added_org_wide_connector_details`` tag with value ``val``. :param DashAdminAddedOrgWideConnectorDetails val: :rtype: EventDetails """ return cls("dash_admin_added_org_wide_connector_details", val) @classmethod def dash_admin_disabled_connector_details(cls, val): """ Create an instance of this class set to the ``dash_admin_disabled_connector_details`` tag with value ``val``. :param DashAdminDisabledConnectorDetails val: :rtype: EventDetails """ return cls("dash_admin_disabled_connector_details", val) @classmethod def dash_admin_enabled_connector_details(cls, val): """ Create an instance of this class set to the ``dash_admin_enabled_connector_details`` tag with value ``val``. :param DashAdminEnabledConnectorDetails val: :rtype: EventDetails """ return cls("dash_admin_enabled_connector_details", val) @classmethod def dash_admin_removed_org_wide_connector_details(cls, val): """ Create an instance of this class set to the ``dash_admin_removed_org_wide_connector_details`` tag with value ``val``. :param DashAdminRemovedOrgWideConnectorDetails val: :rtype: EventDetails """ return cls("dash_admin_removed_org_wide_connector_details", val) @classmethod def dash_archived_stack_details(cls, val): """ Create an instance of this class set to the ``dash_archived_stack_details`` tag with value ``val``. :param DashArchivedStackDetails val: :rtype: EventDetails """ return cls("dash_archived_stack_details", val) @classmethod def dash_changed_audience_of_shared_link_to_stack_details(cls, val): """ Create an instance of this class set to the ``dash_changed_audience_of_shared_link_to_stack_details`` tag with value ``val``. :param DashChangedAudienceOfSharedLinkToStackDetails val: :rtype: EventDetails """ return cls("dash_changed_audience_of_shared_link_to_stack_details", val) @classmethod def dash_cloned_stack_details(cls, val): """ Create an instance of this class set to the ``dash_cloned_stack_details`` tag with value ``val``. :param DashClonedStackDetails val: :rtype: EventDetails """ return cls("dash_cloned_stack_details", val) @classmethod def dash_connector_tools_call_details(cls, val): """ Create an instance of this class set to the ``dash_connector_tools_call_details`` tag with value ``val``. :param DashConnectorToolsCallDetails val: :rtype: EventDetails """ return cls("dash_connector_tools_call_details", val) @classmethod def dash_created_stack_details(cls, val): """ Create an instance of this class set to the ``dash_created_stack_details`` tag with value ``val``. :param DashCreatedStackDetails val: :rtype: EventDetails """ return cls("dash_created_stack_details", val) @classmethod def dash_deleted_comment_from_stack_details(cls, val): """ Create an instance of this class set to the ``dash_deleted_comment_from_stack_details`` tag with value ``val``. :param DashDeletedCommentFromStackDetails val: :rtype: EventDetails """ return cls("dash_deleted_comment_from_stack_details", val) @classmethod def dash_deleted_stack_details(cls, val): """ Create an instance of this class set to the ``dash_deleted_stack_details`` tag with value ``val``. :param DashDeletedStackDetails val: :rtype: EventDetails """ return cls("dash_deleted_stack_details", val) @classmethod def dash_edited_comment_in_stack_details(cls, val): """ Create an instance of this class set to the ``dash_edited_comment_in_stack_details`` tag with value ``val``. :param DashEditedCommentInStackDetails val: :rtype: EventDetails """ return cls("dash_edited_comment_in_stack_details", val) @classmethod def dash_external_user_opened_stack_details(cls, val): """ Create an instance of this class set to the ``dash_external_user_opened_stack_details`` tag with value ``val``. :param DashExternalUserOpenedStackDetails val: :rtype: EventDetails """ return cls("dash_external_user_opened_stack_details", val) @classmethod def dash_first_launched_desktop_details(cls, val): """ Create an instance of this class set to the ``dash_first_launched_desktop_details`` tag with value ``val``. :param DashFirstLaunchedDesktopDetails val: :rtype: EventDetails """ return cls("dash_first_launched_desktop_details", val) @classmethod def dash_first_launched_extension_details(cls, val): """ Create an instance of this class set to the ``dash_first_launched_extension_details`` tag with value ``val``. :param DashFirstLaunchedExtensionDetails val: :rtype: EventDetails """ return cls("dash_first_launched_extension_details", val) @classmethod def dash_first_launched_web_start_page_details(cls, val): """ Create an instance of this class set to the ``dash_first_launched_web_start_page_details`` tag with value ``val``. :param DashFirstLaunchedWebStartPageDetails val: :rtype: EventDetails """ return cls("dash_first_launched_web_start_page_details", val) @classmethod def dash_opened_shared_link_to_stack_details(cls, val): """ Create an instance of this class set to the ``dash_opened_shared_link_to_stack_details`` tag with value ``val``. :param DashOpenedSharedLinkToStackDetails val: :rtype: EventDetails """ return cls("dash_opened_shared_link_to_stack_details", val) @classmethod def dash_opened_stack_details(cls, val): """ Create an instance of this class set to the ``dash_opened_stack_details`` tag with value ``val``. :param DashOpenedStackDetails val: :rtype: EventDetails """ return cls("dash_opened_stack_details", val) @classmethod def dash_preview_opt_out_status_changed_details(cls, val): """ Create an instance of this class set to the ``dash_preview_opt_out_status_changed_details`` tag with value ``val``. :param DashPreviewOptOutStatusChangedDetails val: :rtype: EventDetails """ return cls("dash_preview_opt_out_status_changed_details", val) @classmethod def dash_removed_connector_details(cls, val): """ Create an instance of this class set to the ``dash_removed_connector_details`` tag with value ``val``. :param DashRemovedConnectorDetails val: :rtype: EventDetails """ return cls("dash_removed_connector_details", val) @classmethod def dash_removed_link_from_stack_details(cls, val): """ Create an instance of this class set to the ``dash_removed_link_from_stack_details`` tag with value ``val``. :param DashRemovedLinkFromStackDetails val: :rtype: EventDetails """ return cls("dash_removed_link_from_stack_details", val) @classmethod def dash_removed_shared_link_to_stack_details(cls, val): """ Create an instance of this class set to the ``dash_removed_shared_link_to_stack_details`` tag with value ``val``. :param DashRemovedSharedLinkToStackDetails val: :rtype: EventDetails """ return cls("dash_removed_shared_link_to_stack_details", val) @classmethod def dash_removed_team_email_domain_allowlist_details(cls, val): """ Create an instance of this class set to the ``dash_removed_team_email_domain_allowlist_details`` tag with value ``val``. :param DashRemovedTeamEmailDomainAllowlistDetails val: :rtype: EventDetails """ return cls("dash_removed_team_email_domain_allowlist_details", val) @classmethod def dash_renamed_stack_details(cls, val): """ Create an instance of this class set to the ``dash_renamed_stack_details`` tag with value ``val``. :param DashRenamedStackDetails val: :rtype: EventDetails """ return cls("dash_renamed_stack_details", val) @classmethod def dash_shared_link_to_stack_details(cls, val): """ Create an instance of this class set to the ``dash_shared_link_to_stack_details`` tag with value ``val``. :param DashSharedLinkToStackDetails val: :rtype: EventDetails """ return cls("dash_shared_link_to_stack_details", val) @classmethod def dash_unarchived_stack_details(cls, val): """ Create an instance of this class set to the ``dash_unarchived_stack_details`` tag with value ``val``. :param DashUnarchivedStackDetails val: :rtype: EventDetails """ return cls("dash_unarchived_stack_details", val) @classmethod def dash_viewed_company_stack_details(cls, val): """ Create an instance of this class set to the ``dash_viewed_company_stack_details`` tag with value ``val``. :param DashViewedCompanyStackDetails val: :rtype: EventDetails """ return cls("dash_viewed_company_stack_details", val) @classmethod def dash_viewed_external_ai_activity_report_details(cls, val): """ Create an instance of this class set to the ``dash_viewed_external_ai_activity_report_details`` tag with value ``val``. :param DashViewedExternalAiActivityReportDetails val: :rtype: EventDetails """ return cls("dash_viewed_external_ai_activity_report_details", val) @classmethod def governance_policy_add_folders_details(cls, val): """ Create an instance of this class set to the ``governance_policy_add_folders_details`` tag with value ``val``. :param GovernancePolicyAddFoldersDetails val: :rtype: EventDetails """ return cls("governance_policy_add_folders_details", val) @classmethod def governance_policy_add_folder_failed_details(cls, val): """ Create an instance of this class set to the ``governance_policy_add_folder_failed_details`` tag with value ``val``. :param GovernancePolicyAddFolderFailedDetails val: :rtype: EventDetails """ return cls("governance_policy_add_folder_failed_details", val) @classmethod def governance_policy_content_disposed_details(cls, val): """ Create an instance of this class set to the ``governance_policy_content_disposed_details`` tag with value ``val``. :param GovernancePolicyContentDisposedDetails val: :rtype: EventDetails """ return cls("governance_policy_content_disposed_details", val) @classmethod def governance_policy_create_details(cls, val): """ Create an instance of this class set to the ``governance_policy_create_details`` tag with value ``val``. :param GovernancePolicyCreateDetails val: :rtype: EventDetails """ return cls("governance_policy_create_details", val) @classmethod def governance_policy_delete_details(cls, val): """ Create an instance of this class set to the ``governance_policy_delete_details`` tag with value ``val``. :param GovernancePolicyDeleteDetails val: :rtype: EventDetails """ return cls("governance_policy_delete_details", val) @classmethod def governance_policy_edit_details_details(cls, val): """ Create an instance of this class set to the ``governance_policy_edit_details_details`` tag with value ``val``. :param GovernancePolicyEditDetailsDetails val: :rtype: EventDetails """ return cls("governance_policy_edit_details_details", val) @classmethod def governance_policy_edit_duration_details(cls, val): """ Create an instance of this class set to the ``governance_policy_edit_duration_details`` tag with value ``val``. :param GovernancePolicyEditDurationDetails val: :rtype: EventDetails """ return cls("governance_policy_edit_duration_details", val) @classmethod def governance_policy_export_created_details(cls, val): """ Create an instance of this class set to the ``governance_policy_export_created_details`` tag with value ``val``. :param GovernancePolicyExportCreatedDetails val: :rtype: EventDetails """ return cls("governance_policy_export_created_details", val) @classmethod def governance_policy_export_removed_details(cls, val): """ Create an instance of this class set to the ``governance_policy_export_removed_details`` tag with value ``val``. :param GovernancePolicyExportRemovedDetails val: :rtype: EventDetails """ return cls("governance_policy_export_removed_details", val) @classmethod def governance_policy_remove_folders_details(cls, val): """ Create an instance of this class set to the ``governance_policy_remove_folders_details`` tag with value ``val``. :param GovernancePolicyRemoveFoldersDetails val: :rtype: EventDetails """ return cls("governance_policy_remove_folders_details", val) @classmethod def governance_policy_report_created_details(cls, val): """ Create an instance of this class set to the ``governance_policy_report_created_details`` tag with value ``val``. :param GovernancePolicyReportCreatedDetails val: :rtype: EventDetails """ return cls("governance_policy_report_created_details", val) @classmethod def governance_policy_zip_part_downloaded_details(cls, val): """ Create an instance of this class set to the ``governance_policy_zip_part_downloaded_details`` tag with value ``val``. :param GovernancePolicyZipPartDownloadedDetails val: :rtype: EventDetails """ return cls("governance_policy_zip_part_downloaded_details", val) @classmethod def legal_holds_activate_a_hold_details(cls, val): """ Create an instance of this class set to the ``legal_holds_activate_a_hold_details`` tag with value ``val``. :param LegalHoldsActivateAHoldDetails val: :rtype: EventDetails """ return cls("legal_holds_activate_a_hold_details", val) @classmethod def legal_holds_add_members_details(cls, val): """ Create an instance of this class set to the ``legal_holds_add_members_details`` tag with value ``val``. :param LegalHoldsAddMembersDetails val: :rtype: EventDetails """ return cls("legal_holds_add_members_details", val) @classmethod def legal_holds_change_hold_details_details(cls, val): """ Create an instance of this class set to the ``legal_holds_change_hold_details_details`` tag with value ``val``. :param LegalHoldsChangeHoldDetailsDetails val: :rtype: EventDetails """ return cls("legal_holds_change_hold_details_details", val) @classmethod def legal_holds_change_hold_name_details(cls, val): """ Create an instance of this class set to the ``legal_holds_change_hold_name_details`` tag with value ``val``. :param LegalHoldsChangeHoldNameDetails val: :rtype: EventDetails """ return cls("legal_holds_change_hold_name_details", val) @classmethod def legal_holds_export_a_hold_details(cls, val): """ Create an instance of this class set to the ``legal_holds_export_a_hold_details`` tag with value ``val``. :param LegalHoldsExportAHoldDetails val: :rtype: EventDetails """ return cls("legal_holds_export_a_hold_details", val) @classmethod def legal_holds_export_cancelled_details(cls, val): """ Create an instance of this class set to the ``legal_holds_export_cancelled_details`` tag with value ``val``. :param LegalHoldsExportCancelledDetails val: :rtype: EventDetails """ return cls("legal_holds_export_cancelled_details", val) @classmethod def legal_holds_export_downloaded_details(cls, val): """ Create an instance of this class set to the ``legal_holds_export_downloaded_details`` tag with value ``val``. :param LegalHoldsExportDownloadedDetails val: :rtype: EventDetails """ return cls("legal_holds_export_downloaded_details", val) @classmethod def legal_holds_export_removed_details(cls, val): """ Create an instance of this class set to the ``legal_holds_export_removed_details`` tag with value ``val``. :param LegalHoldsExportRemovedDetails val: :rtype: EventDetails """ return cls("legal_holds_export_removed_details", val) @classmethod def legal_holds_release_a_hold_details(cls, val): """ Create an instance of this class set to the ``legal_holds_release_a_hold_details`` tag with value ``val``. :param LegalHoldsReleaseAHoldDetails val: :rtype: EventDetails """ return cls("legal_holds_release_a_hold_details", val) @classmethod def legal_holds_remove_members_details(cls, val): """ Create an instance of this class set to the ``legal_holds_remove_members_details`` tag with value ``val``. :param LegalHoldsRemoveMembersDetails val: :rtype: EventDetails """ return cls("legal_holds_remove_members_details", val) @classmethod def legal_holds_report_a_hold_details(cls, val): """ Create an instance of this class set to the ``legal_holds_report_a_hold_details`` tag with value ``val``. :param LegalHoldsReportAHoldDetails val: :rtype: EventDetails """ return cls("legal_holds_report_a_hold_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_sync_backup_status_changed_details(cls, val): """ Create an instance of this class set to the ``device_sync_backup_status_changed_details`` tag with value ``val``. :param DeviceSyncBackupStatusChangedDetails val: :rtype: EventDetails """ return cls("device_sync_backup_status_changed_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 dropbox_passwords_exported_details(cls, val): """ Create an instance of this class set to the ``dropbox_passwords_exported_details`` tag with value ``val``. :param DropboxPasswordsExportedDetails val: :rtype: EventDetails """ return cls("dropbox_passwords_exported_details", val) @classmethod def dropbox_passwords_new_device_enrolled_details(cls, val): """ Create an instance of this class set to the ``dropbox_passwords_new_device_enrolled_details`` tag with value ``val``. :param DropboxPasswordsNewDeviceEnrolledDetails val: :rtype: EventDetails """ return cls("dropbox_passwords_new_device_enrolled_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 external_drive_backup_eligibility_status_checked_details(cls, val): """ Create an instance of this class set to the ``external_drive_backup_eligibility_status_checked_details`` tag with value ``val``. :param ExternalDriveBackupEligibilityStatusCheckedDetails val: :rtype: EventDetails """ return cls("external_drive_backup_eligibility_status_checked_details", val) @classmethod def external_drive_backup_status_changed_details(cls, val): """ Create an instance of this class set to the ``external_drive_backup_status_changed_details`` tag with value ``val``. :param ExternalDriveBackupStatusChangedDetails val: :rtype: EventDetails """ return cls("external_drive_backup_status_changed_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 encrypted_folder_cancel_team_key_rotation_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_cancel_team_key_rotation_details`` tag with value ``val``. :param EncryptedFolderCancelTeamKeyRotationDetails val: :rtype: EventDetails """ return cls("encrypted_folder_cancel_team_key_rotation_details", val) @classmethod def encrypted_folder_enroll_backup_key_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_enroll_backup_key_details`` tag with value ``val``. :param EncryptedFolderEnrollBackupKeyDetails val: :rtype: EventDetails """ return cls("encrypted_folder_enroll_backup_key_details", val) @classmethod def encrypted_folder_enroll_client_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_enroll_client_details`` tag with value ``val``. :param EncryptedFolderEnrollClientDetails val: :rtype: EventDetails """ return cls("encrypted_folder_enroll_client_details", val) @classmethod def encrypted_folder_enroll_team_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_enroll_team_details`` tag with value ``val``. :param EncryptedFolderEnrollTeamDetails val: :rtype: EventDetails """ return cls("encrypted_folder_enroll_team_details", val) @classmethod def encrypted_folder_finish_team_unenrollment_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_finish_team_unenrollment_details`` tag with value ``val``. :param EncryptedFolderFinishTeamUnenrollmentDetails val: :rtype: EventDetails """ return cls("encrypted_folder_finish_team_unenrollment_details", val) @classmethod def encrypted_folder_init_team_key_rotation_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_init_team_key_rotation_details`` tag with value ``val``. :param EncryptedFolderInitTeamKeyRotationDetails val: :rtype: EventDetails """ return cls("encrypted_folder_init_team_key_rotation_details", val) @classmethod def encrypted_folder_init_team_unenrollment_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_init_team_unenrollment_details`` tag with value ``val``. :param EncryptedFolderInitTeamUnenrollmentDetails val: :rtype: EventDetails """ return cls("encrypted_folder_init_team_unenrollment_details", val) @classmethod def encrypted_folder_remove_backup_key_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_remove_backup_key_details`` tag with value ``val``. :param EncryptedFolderRemoveBackupKeyDetails val: :rtype: EventDetails """ return cls("encrypted_folder_remove_backup_key_details", val) @classmethod def encrypted_folder_rotate_team_key_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_rotate_team_key_details`` tag with value ``val``. :param EncryptedFolderRotateTeamKeyDetails val: :rtype: EventDetails """ return cls("encrypted_folder_rotate_team_key_details", val) @classmethod def encrypted_folder_unenroll_client_details(cls, val): """ Create an instance of this class set to the ``encrypted_folder_unenroll_client_details`` tag with value ``val``. :param EncryptedFolderUnenrollClientDetails val: :rtype: EventDetails """ return cls("encrypted_folder_unenroll_client_details", val) @classmethod def team_encryption_key_activate_key_details(cls, val): """ Create an instance of this class set to the ``team_encryption_key_activate_key_details`` tag with value ``val``. :param TeamEncryptionKeyActivateKeyDetails val: :rtype: EventDetails """ return cls("team_encryption_key_activate_key_details", val) @classmethod def team_encryption_key_cancel_key_deletion_details(cls, val): """ Create an instance of this class set to the ``team_encryption_key_cancel_key_deletion_details`` tag with value ``val``. :param TeamEncryptionKeyCancelKeyDeletionDetails val: :rtype: EventDetails """ return cls("team_encryption_key_cancel_key_deletion_details", val) @classmethod def team_encryption_key_create_key_details(cls, val): """ Create an instance of this class set to the ``team_encryption_key_create_key_details`` tag with value ``val``. :param TeamEncryptionKeyCreateKeyDetails val: :rtype: EventDetails """ return cls("team_encryption_key_create_key_details", val) @classmethod def team_encryption_key_deactivate_key_details(cls, val): """ Create an instance of this class set to the ``team_encryption_key_deactivate_key_details`` tag with value ``val``. :param TeamEncryptionKeyDeactivateKeyDetails val: :rtype: EventDetails """ return cls("team_encryption_key_deactivate_key_details", val) @classmethod def team_encryption_key_delete_key_details(cls, val): """ Create an instance of this class set to the ``team_encryption_key_delete_key_details`` tag with value ``val``. :param TeamEncryptionKeyDeleteKeyDetails val: :rtype: EventDetails """ return cls("team_encryption_key_delete_key_details", val) @classmethod def team_encryption_key_disable_key_details(cls, val): """ Create an instance of this class set to the ``team_encryption_key_disable_key_details`` tag with value ``val``. :param TeamEncryptionKeyDisableKeyDetails val: :rtype: EventDetails """ return cls("team_encryption_key_disable_key_details", val) @classmethod def team_encryption_key_enable_key_details(cls, val): """ Create an instance of this class set to the ``team_encryption_key_enable_key_details`` tag with value ``val``. :param TeamEncryptionKeyEnableKeyDetails val: :rtype: EventDetails """ return cls("team_encryption_key_enable_key_details", val) @classmethod def team_encryption_key_rotate_key_details(cls, val): """ Create an instance of this class set to the ``team_encryption_key_rotate_key_details`` tag with value ``val``. :param TeamEncryptionKeyRotateKeyDetails val: :rtype: EventDetails """ return cls("team_encryption_key_rotate_key_details", val) @classmethod def team_encryption_key_schedule_key_deletion_details(cls, val): """ Create an instance of this class set to the ``team_encryption_key_schedule_key_deletion_details`` tag with value ``val``. :param TeamEncryptionKeyScheduleKeyDeletionDetails val: :rtype: EventDetails """ return cls("team_encryption_key_schedule_key_deletion_details", val) @classmethod def apply_naming_convention_details(cls, val): """ Create an instance of this class set to the ``apply_naming_convention_details`` tag with value ``val``. :param ApplyNamingConventionDetails val: :rtype: EventDetails """ return cls("apply_naming_convention_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_add_from_automation_details(cls, val): """ Create an instance of this class set to the ``file_add_from_automation_details`` tag with value ``val``. :param FileAddFromAutomationDetails val: :rtype: EventDetails """ return cls("file_add_from_automation_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_locking_lock_status_changed_details(cls, val): """ Create an instance of this class set to the ``file_locking_lock_status_changed_details`` tag with value ``val``. :param FileLockingLockStatusChangedDetails val: :rtype: EventDetails """ return cls("file_locking_lock_status_changed_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 folder_overview_description_changed_details(cls, val): """ Create an instance of this class set to the ``folder_overview_description_changed_details`` tag with value ``val``. :param FolderOverviewDescriptionChangedDetails val: :rtype: EventDetails """ return cls("folder_overview_description_changed_details", val) @classmethod def folder_overview_item_pinned_details(cls, val): """ Create an instance of this class set to the ``folder_overview_item_pinned_details`` tag with value ``val``. :param FolderOverviewItemPinnedDetails val: :rtype: EventDetails """ return cls("folder_overview_item_pinned_details", val) @classmethod def folder_overview_item_unpinned_details(cls, val): """ Create an instance of this class set to the ``folder_overview_item_unpinned_details`` tag with value ``val``. :param FolderOverviewItemUnpinnedDetails val: :rtype: EventDetails """ return cls("folder_overview_item_unpinned_details", val) @classmethod def media_hub_file_downloaded_details(cls, val): """ Create an instance of this class set to the ``media_hub_file_downloaded_details`` tag with value ``val``. :param MediaHubFileDownloadedDetails val: :rtype: EventDetails """ return cls("media_hub_file_downloaded_details", val) @classmethod def object_label_added_details(cls, val): """ Create an instance of this class set to the ``object_label_added_details`` tag with value ``val``. :param ObjectLabelAddedDetails val: :rtype: EventDetails """ return cls("object_label_added_details", val) @classmethod def object_label_removed_details(cls, val): """ Create an instance of this class set to the ``object_label_removed_details`` tag with value ``val``. :param ObjectLabelRemovedDetails val: :rtype: EventDetails """ return cls("object_label_removed_details", val) @classmethod def object_label_updated_value_details(cls, val): """ Create an instance of this class set to the ``object_label_updated_value_details`` tag with value ``val``. :param ObjectLabelUpdatedValueDetails val: :rtype: EventDetails """ return cls("object_label_updated_value_details", val) @classmethod def organize_folder_with_tidy_details(cls, val): """ Create an instance of this class set to the ``organize_folder_with_tidy_details`` tag with value ``val``. :param OrganizeFolderWithTidyDetails val: :rtype: EventDetails """ return cls("organize_folder_with_tidy_details", val) @classmethod def replay_file_delete_details(cls, val): """ Create an instance of this class set to the ``replay_file_delete_details`` tag with value ``val``. :param ReplayFileDeleteDetails val: :rtype: EventDetails """ return cls("replay_file_delete_details", val) @classmethod def replay_file_downloaded_details(cls, val): """ Create an instance of this class set to the ``replay_file_downloaded_details`` tag with value ``val``. :param ReplayFileDownloadedDetails val: :rtype: EventDetails """ return cls("replay_file_downloaded_details", val) @classmethod def replay_team_project_created_details(cls, val): """ Create an instance of this class set to the ``replay_team_project_created_details`` tag with value ``val``. :param ReplayTeamProjectCreatedDetails val: :rtype: EventDetails """ return cls("replay_team_project_created_details", val) @classmethod def rewind_folder_details(cls, val): """ Create an instance of this class set to the ``rewind_folder_details`` tag with value ``val``. :param RewindFolderDetails val: :rtype: EventDetails """ return cls("rewind_folder_details", val) @classmethod def undo_naming_convention_details(cls, val): """ Create an instance of this class set to the ``undo_naming_convention_details`` tag with value ``val``. :param UndoNamingConventionDetails val: :rtype: EventDetails """ return cls("undo_naming_convention_details", val) @classmethod def undo_organize_folder_with_tidy_details(cls, val): """ Create an instance of this class set to the ``undo_organize_folder_with_tidy_details`` tag with value ``val``. :param UndoOrganizeFolderWithTidyDetails val: :rtype: EventDetails """ return cls("undo_organize_folder_with_tidy_details", val) @classmethod def user_tags_added_details(cls, val): """ Create an instance of this class set to the ``user_tags_added_details`` tag with value ``val``. :param UserTagsAddedDetails val: :rtype: EventDetails """ return cls("user_tags_added_details", val) @classmethod def user_tags_removed_details(cls, val): """ Create an instance of this class set to the ``user_tags_removed_details`` tag with value ``val``. :param UserTagsRemovedDetails val: :rtype: EventDetails """ return cls("user_tags_removed_details", val) @classmethod def email_ingest_receive_file_details(cls, val): """ Create an instance of this class set to the ``email_ingest_receive_file_details`` tag with value ``val``. :param EmailIngestReceiveFileDetails val: :rtype: EventDetails """ return cls("email_ingest_receive_file_details", val) @classmethod def file_request_auto_close_details(cls, val): """ Create an instance of this class set to the ``file_request_auto_close_details`` tag with value ``val``. :param FileRequestAutoCloseDetails val: :rtype: EventDetails """ return cls("file_request_auto_close_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_external_sharing_setting_override_changed_details(cls, val): """ Create an instance of this class set to the ``group_external_sharing_setting_override_changed_details`` tag with value ``val``. :param GroupExternalSharingSettingOverrideChangedDetails val: :rtype: EventDetails """ return cls("group_external_sharing_setting_override_changed_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 account_lock_or_unlocked_details(cls, val): """ Create an instance of this class set to the ``account_lock_or_unlocked_details`` tag with value ``val``. :param AccountLockOrUnlockedDetails val: :rtype: EventDetails """ return cls("account_lock_or_unlocked_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 addon_assigned_details(cls, val): """ Create an instance of this class set to the ``addon_assigned_details`` tag with value ``val``. :param AddonAssignedDetails val: :rtype: EventDetails """ return cls("addon_assigned_details", val) @classmethod def addon_removed_details(cls, val): """ Create an instance of this class set to the ``addon_removed_details`` tag with value ``val``. :param AddonRemovedDetails val: :rtype: EventDetails """ return cls("addon_removed_details", val) @classmethod def backup_admin_invitation_sent_details(cls, val): """ Create an instance of this class set to the ``backup_admin_invitation_sent_details`` tag with value ``val``. :param BackupAdminInvitationSentDetails val: :rtype: EventDetails """ return cls("backup_admin_invitation_sent_details", val) @classmethod def backup_invitation_opened_details(cls, val): """ Create an instance of this class set to the ``backup_invitation_opened_details`` tag with value ``val``. :param BackupInvitationOpenedDetails val: :rtype: EventDetails """ return cls("backup_invitation_opened_details", val) @classmethod def create_team_invite_link_details(cls, val): """ Create an instance of this class set to the ``create_team_invite_link_details`` tag with value ``val``. :param CreateTeamInviteLinkDetails val: :rtype: EventDetails """ return cls("create_team_invite_link_details", val) @classmethod def delete_team_invite_link_details(cls, val): """ Create an instance of this class set to the ``delete_team_invite_link_details`` tag with value ``val``. :param DeleteTeamInviteLinkDetails val: :rtype: EventDetails """ return cls("delete_team_invite_link_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_reseller_role_details(cls, val): """ Create an instance of this class set to the ``member_change_reseller_role_details`` tag with value ``val``. :param MemberChangeResellerRoleDetails val: :rtype: EventDetails """ return cls("member_change_reseller_role_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_delete_profile_photo_details(cls, val): """ Create an instance of this class set to the ``member_delete_profile_photo_details`` tag with value ``val``. :param MemberDeleteProfilePhotoDetails val: :rtype: EventDetails """ return cls("member_delete_profile_photo_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_set_profile_photo_details(cls, val): """ Create an instance of this class set to the ``member_set_profile_photo_details`` tag with value ``val``. :param MemberSetProfilePhotoDetails val: :rtype: EventDetails """ return cls("member_set_profile_photo_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 pending_secondary_email_added_details(cls, val): """ Create an instance of this class set to the ``pending_secondary_email_added_details`` tag with value ``val``. :param PendingSecondaryEmailAddedDetails val: :rtype: EventDetails """ return cls("pending_secondary_email_added_details", val) @classmethod def product_assigned_to_member_details(cls, val): """ Create an instance of this class set to the ``product_assigned_to_member_details`` tag with value ``val``. :param ProductAssignedToMemberDetails val: :rtype: EventDetails """ return cls("product_assigned_to_member_details", val) @classmethod def product_removed_from_member_details(cls, val): """ Create an instance of this class set to the ``product_removed_from_member_details`` tag with value ``val``. :param ProductRemovedFromMemberDetails val: :rtype: EventDetails """ return cls("product_removed_from_member_details", val) @classmethod def secondary_email_deleted_details(cls, val): """ Create an instance of this class set to the ``secondary_email_deleted_details`` tag with value ``val``. :param SecondaryEmailDeletedDetails val: :rtype: EventDetails """ return cls("secondary_email_deleted_details", val) @classmethod def secondary_email_verified_details(cls, val): """ Create an instance of this class set to the ``secondary_email_verified_details`` tag with value ``val``. :param SecondaryEmailVerifiedDetails val: :rtype: EventDetails """ return cls("secondary_email_verified_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 binder_add_page_details(cls, val): """ Create an instance of this class set to the ``binder_add_page_details`` tag with value ``val``. :param BinderAddPageDetails val: :rtype: EventDetails """ return cls("binder_add_page_details", val) @classmethod def binder_add_section_details(cls, val): """ Create an instance of this class set to the ``binder_add_section_details`` tag with value ``val``. :param BinderAddSectionDetails val: :rtype: EventDetails """ return cls("binder_add_section_details", val) @classmethod def binder_remove_page_details(cls, val): """ Create an instance of this class set to the ``binder_remove_page_details`` tag with value ``val``. :param BinderRemovePageDetails val: :rtype: EventDetails """ return cls("binder_remove_page_details", val) @classmethod def binder_remove_section_details(cls, val): """ Create an instance of this class set to the ``binder_remove_section_details`` tag with value ``val``. :param BinderRemoveSectionDetails val: :rtype: EventDetails """ return cls("binder_remove_section_details", val) @classmethod def binder_rename_page_details(cls, val): """ Create an instance of this class set to the ``binder_rename_page_details`` tag with value ``val``. :param BinderRenamePageDetails val: :rtype: EventDetails """ return cls("binder_rename_page_details", val) @classmethod def binder_rename_section_details(cls, val): """ Create an instance of this class set to the ``binder_rename_section_details`` tag with value ``val``. :param BinderRenameSectionDetails val: :rtype: EventDetails """ return cls("binder_rename_section_details", val) @classmethod def binder_reorder_page_details(cls, val): """ Create an instance of this class set to the ``binder_reorder_page_details`` tag with value ``val``. :param BinderReorderPageDetails val: :rtype: EventDetails """ return cls("binder_reorder_page_details", val) @classmethod def binder_reorder_section_details(cls, val): """ Create an instance of this class set to the ``binder_reorder_section_details`` tag with value ``val``. :param BinderReorderSectionDetails val: :rtype: EventDetails """ return cls("binder_reorder_section_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_change_permission_details(cls, val): """ Create an instance of this class set to the ``paper_published_link_change_permission_details`` tag with value ``val``. :param PaperPublishedLinkChangePermissionDetails val: :rtype: EventDetails """ return cls("paper_published_link_change_permission_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 protect_internal_domains_changed_details(cls, val): """ Create an instance of this class set to the ``protect_internal_domains_changed_details`` tag with value ``val``. :param ProtectInternalDomainsChangedDetails val: :rtype: EventDetails """ return cls("protect_internal_domains_changed_details", val) @classmethod def classification_create_report_details(cls, val): """ Create an instance of this class set to the ``classification_create_report_details`` tag with value ``val``. :param ClassificationCreateReportDetails val: :rtype: EventDetails """ return cls("classification_create_report_details", val) @classmethod def classification_create_report_fail_details(cls, val): """ Create an instance of this class set to the ``classification_create_report_fail_details`` tag with value ``val``. :param ClassificationCreateReportFailDetails val: :rtype: EventDetails """ return cls("classification_create_report_fail_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 export_members_report_fail_details(cls, val): """ Create an instance of this class set to the ``export_members_report_fail_details`` tag with value ``val``. :param ExportMembersReportFailDetails val: :rtype: EventDetails """ return cls("export_members_report_fail_details", val) @classmethod def external_sharing_create_report_details(cls, val): """ Create an instance of this class set to the ``external_sharing_create_report_details`` tag with value ``val``. :param ExternalSharingCreateReportDetails val: :rtype: EventDetails """ return cls("external_sharing_create_report_details", val) @classmethod def external_sharing_report_failed_details(cls, val): """ Create an instance of this class set to the ``external_sharing_report_failed_details`` tag with value ``val``. :param ExternalSharingReportFailedDetails val: :rtype: EventDetails """ return cls("external_sharing_report_failed_details", val) @classmethod def member_access_details_create_report_details(cls, val): """ Create an instance of this class set to the ``member_access_details_create_report_details`` tag with value ``val``. :param MemberAccessDetailsCreateReportDetails val: :rtype: EventDetails """ return cls("member_access_details_create_report_details", val) @classmethod def member_access_details_create_report_failed_details(cls, val): """ Create an instance of this class set to the ``member_access_details_create_report_failed_details`` tag with value ``val``. :param MemberAccessDetailsCreateReportFailedDetails val: :rtype: EventDetails """ return cls("member_access_details_create_report_failed_details", val) @classmethod def no_expiration_link_gen_create_report_details(cls, val): """ Create an instance of this class set to the ``no_expiration_link_gen_create_report_details`` tag with value ``val``. :param NoExpirationLinkGenCreateReportDetails val: :rtype: EventDetails """ return cls("no_expiration_link_gen_create_report_details", val) @classmethod def no_expiration_link_gen_report_failed_details(cls, val): """ Create an instance of this class set to the ``no_expiration_link_gen_report_failed_details`` tag with value ``val``. :param NoExpirationLinkGenReportFailedDetails val: :rtype: EventDetails """ return cls("no_expiration_link_gen_report_failed_details", val) @classmethod def no_password_link_gen_create_report_details(cls, val): """ Create an instance of this class set to the ``no_password_link_gen_create_report_details`` tag with value ``val``. :param NoPasswordLinkGenCreateReportDetails val: :rtype: EventDetails """ return cls("no_password_link_gen_create_report_details", val) @classmethod def no_password_link_gen_report_failed_details(cls, val): """ Create an instance of this class set to the ``no_password_link_gen_report_failed_details`` tag with value ``val``. :param NoPasswordLinkGenReportFailedDetails val: :rtype: EventDetails """ return cls("no_password_link_gen_report_failed_details", val) @classmethod def no_password_link_view_create_report_details(cls, val): """ Create an instance of this class set to the ``no_password_link_view_create_report_details`` tag with value ``val``. :param NoPasswordLinkViewCreateReportDetails val: :rtype: EventDetails """ return cls("no_password_link_view_create_report_details", val) @classmethod def no_password_link_view_report_failed_details(cls, val): """ Create an instance of this class set to the ``no_password_link_view_report_failed_details`` tag with value ``val``. :param NoPasswordLinkViewReportFailedDetails val: :rtype: EventDetails """ return cls("no_password_link_view_report_failed_details", val) @classmethod def outdated_link_view_create_report_details(cls, val): """ Create an instance of this class set to the ``outdated_link_view_create_report_details`` tag with value ``val``. :param OutdatedLinkViewCreateReportDetails val: :rtype: EventDetails """ return cls("outdated_link_view_create_report_details", val) @classmethod def outdated_link_view_report_failed_details(cls, val): """ Create an instance of this class set to the ``outdated_link_view_report_failed_details`` tag with value ``val``. :param OutdatedLinkViewReportFailedDetails val: :rtype: EventDetails """ return cls("outdated_link_view_report_failed_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 ransomware_alert_create_report_details(cls, val): """ Create an instance of this class set to the ``ransomware_alert_create_report_details`` tag with value ``val``. :param RansomwareAlertCreateReportDetails val: :rtype: EventDetails """ return cls("ransomware_alert_create_report_details", val) @classmethod def ransomware_alert_create_report_failed_details(cls, val): """ Create an instance of this class set to the ``ransomware_alert_create_report_failed_details`` tag with value ``val``. :param RansomwareAlertCreateReportFailedDetails val: :rtype: EventDetails """ return cls("ransomware_alert_create_report_failed_details", val) @classmethod def shared_folders_create_report_details(cls, val): """ Create an instance of this class set to the ``shared_folders_create_report_details`` tag with value ``val``. :param SharedFoldersCreateReportDetails val: :rtype: EventDetails """ return cls("shared_folders_create_report_details", val) @classmethod def shared_folders_create_report_failed_details(cls, val): """ Create an instance of this class set to the ``shared_folders_create_report_failed_details`` tag with value ``val``. :param SharedFoldersCreateReportFailedDetails val: :rtype: EventDetails """ return cls("shared_folders_create_report_failed_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 team_folders_create_report_details(cls, val): """ Create an instance of this class set to the ``team_folders_create_report_details`` tag with value ``val``. :param TeamFoldersCreateReportDetails val: :rtype: EventDetails """ return cls("team_folders_create_report_details", val) @classmethod def team_folders_create_report_failed_details(cls, val): """ Create an instance of this class set to the ``team_folders_create_report_failed_details`` tag with value ``val``. :param TeamFoldersCreateReportFailedDetails val: :rtype: EventDetails """ return cls("team_folders_create_report_failed_details", val) @classmethod def team_storage_create_report_details(cls, val): """ Create an instance of this class set to the ``team_storage_create_report_details`` tag with value ``val``. :param TeamStorageCreateReportDetails val: :rtype: EventDetails """ return cls("team_storage_create_report_details", val) @classmethod def team_storage_create_report_failed_details(cls, val): """ Create an instance of this class set to the ``team_storage_create_report_failed_details`` tag with value ``val``. :param TeamStorageCreateReportFailedDetails val: :rtype: EventDetails """ return cls("team_storage_create_report_failed_details", val) @classmethod def collection_share_details(cls, val): """ Create an instance of this class set to the ``collection_share_details`` tag with value ``val``. :param CollectionShareDetails val: :rtype: EventDetails """ return cls("collection_share_details", val) @classmethod def file_transfers_file_add_details(cls, val): """ Create an instance of this class set to the ``file_transfers_file_add_details`` tag with value ``val``. :param FileTransfersFileAddDetails val: :rtype: EventDetails """ return cls("file_transfers_file_add_details", val) @classmethod def file_transfers_transfer_delete_details(cls, val): """ Create an instance of this class set to the ``file_transfers_transfer_delete_details`` tag with value ``val``. :param FileTransfersTransferDeleteDetails val: :rtype: EventDetails """ return cls("file_transfers_transfer_delete_details", val) @classmethod def file_transfers_transfer_download_details(cls, val): """ Create an instance of this class set to the ``file_transfers_transfer_download_details`` tag with value ``val``. :param FileTransfersTransferDownloadDetails val: :rtype: EventDetails """ return cls("file_transfers_transfer_download_details", val) @classmethod def file_transfers_transfer_send_details(cls, val): """ Create an instance of this class set to the ``file_transfers_transfer_send_details`` tag with value ``val``. :param FileTransfersTransferSendDetails val: :rtype: EventDetails """ return cls("file_transfers_transfer_send_details", val) @classmethod def file_transfers_transfer_view_details(cls, val): """ Create an instance of this class set to the ``file_transfers_transfer_view_details`` tag with value ``val``. :param FileTransfersTransferViewDetails val: :rtype: EventDetails """ return cls("file_transfers_transfer_view_details", val) @classmethod def media_hub_project_team_add_details(cls, val): """ Create an instance of this class set to the ``media_hub_project_team_add_details`` tag with value ``val``. :param MediaHubProjectTeamAddDetails val: :rtype: EventDetails """ return cls("media_hub_project_team_add_details", val) @classmethod def media_hub_project_team_delete_details(cls, val): """ Create an instance of this class set to the ``media_hub_project_team_delete_details`` tag with value ``val``. :param MediaHubProjectTeamDeleteDetails val: :rtype: EventDetails """ return cls("media_hub_project_team_delete_details", val) @classmethod def media_hub_project_team_role_changed_details(cls, val): """ Create an instance of this class set to the ``media_hub_project_team_role_changed_details`` tag with value ``val``. :param MediaHubProjectTeamRoleChangedDetails val: :rtype: EventDetails """ return cls("media_hub_project_team_role_changed_details", val) @classmethod def media_hub_shared_link_audience_changed_details(cls, val): """ Create an instance of this class set to the ``media_hub_shared_link_audience_changed_details`` tag with value ``val``. :param MediaHubSharedLinkAudienceChangedDetails val: :rtype: EventDetails """ return cls("media_hub_shared_link_audience_changed_details", val) @classmethod def media_hub_shared_link_created_details(cls, val): """ Create an instance of this class set to the ``media_hub_shared_link_created_details`` tag with value ``val``. :param MediaHubSharedLinkCreatedDetails val: :rtype: EventDetails """ return cls("media_hub_shared_link_created_details", val) @classmethod def media_hub_shared_link_download_setting_changed_details(cls, val): """ Create an instance of this class set to the ``media_hub_shared_link_download_setting_changed_details`` tag with value ``val``. :param MediaHubSharedLinkDownloadSettingChangedDetails val: :rtype: EventDetails """ return cls("media_hub_shared_link_download_setting_changed_details", val) @classmethod def media_hub_shared_link_revoked_details(cls, val): """ Create an instance of this class set to the ``media_hub_shared_link_revoked_details`` tag with value ``val``. :param MediaHubSharedLinkRevokedDetails val: :rtype: EventDetails """ return cls("media_hub_shared_link_revoked_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 replay_file_shared_link_created_details(cls, val): """ Create an instance of this class set to the ``replay_file_shared_link_created_details`` tag with value ``val``. :param ReplayFileSharedLinkCreatedDetails val: :rtype: EventDetails """ return cls("replay_file_shared_link_created_details", val) @classmethod def replay_file_shared_link_modified_details(cls, val): """ Create an instance of this class set to the ``replay_file_shared_link_modified_details`` tag with value ``val``. :param ReplayFileSharedLinkModifiedDetails val: :rtype: EventDetails """ return cls("replay_file_shared_link_modified_details", val) @classmethod def replay_project_team_add_details(cls, val): """ Create an instance of this class set to the ``replay_project_team_add_details`` tag with value ``val``. :param ReplayProjectTeamAddDetails val: :rtype: EventDetails """ return cls("replay_project_team_add_details", val) @classmethod def replay_project_team_delete_details(cls, val): """ Create an instance of this class set to the ``replay_project_team_delete_details`` tag with value ``val``. :param ReplayProjectTeamDeleteDetails val: :rtype: EventDetails """ return cls("replay_project_team_delete_details", val) @classmethod def send_and_track_file_added_details(cls, val): """ Create an instance of this class set to the ``send_and_track_file_added_details`` tag with value ``val``. :param SendAndTrackFileAddedDetails val: :rtype: EventDetails """ return cls("send_and_track_file_added_details", val) @classmethod def send_and_track_file_renamed_details(cls, val): """ Create an instance of this class set to the ``send_and_track_file_renamed_details`` tag with value ``val``. :param SendAndTrackFileRenamedDetails val: :rtype: EventDetails """ return cls("send_and_track_file_renamed_details", val) @classmethod def send_and_track_file_updated_details(cls, val): """ Create an instance of this class set to the ``send_and_track_file_updated_details`` tag with value ``val``. :param SendAndTrackFileUpdatedDetails val: :rtype: EventDetails """ return cls("send_and_track_file_updated_details", val) @classmethod def send_and_track_link_created_details(cls, val): """ Create an instance of this class set to the ``send_and_track_link_created_details`` tag with value ``val``. :param SendAndTrackLinkCreatedDetails val: :rtype: EventDetails """ return cls("send_and_track_link_created_details", val) @classmethod def send_and_track_link_deleted_details(cls, val): """ Create an instance of this class set to the ``send_and_track_link_deleted_details`` tag with value ``val``. :param SendAndTrackLinkDeletedDetails val: :rtype: EventDetails """ return cls("send_and_track_link_deleted_details", val) @classmethod def send_and_track_link_updated_details(cls, val): """ Create an instance of this class set to the ``send_and_track_link_updated_details`` tag with value ``val``. :param SendAndTrackLinkUpdatedDetails val: :rtype: EventDetails """ return cls("send_and_track_link_updated_details", val) @classmethod def send_and_track_link_viewed_details(cls, val): """ Create an instance of this class set to the ``send_and_track_link_viewed_details`` tag with value ``val``. :param SendAndTrackLinkViewedDetails val: :rtype: EventDetails """ return cls("send_and_track_link_viewed_details", val) @classmethod def send_and_track_removed_file_and_associated_links_details(cls, val): """ Create an instance of this class set to the ``send_and_track_removed_file_and_associated_links_details`` tag with value ``val``. :param SendAndTrackRemovedFileAndAssociatedLinksDetails val: :rtype: EventDetails """ return cls("send_and_track_removed_file_and_associated_links_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_restore_invitees_details(cls, val): """ Create an instance of this class set to the ``shared_content_restore_invitees_details`` tag with value ``val``. :param SharedContentRestoreInviteesDetails val: :rtype: EventDetails """ return cls("shared_content_restore_invitees_details", val) @classmethod def shared_content_restore_member_details(cls, val): """ Create an instance of this class set to the ``shared_content_restore_member_details`` tag with value ``val``. :param SharedContentRestoreMemberDetails val: :rtype: EventDetails """ return cls("shared_content_restore_member_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_remove_visitor_details(cls, val): """ Create an instance of this class set to the ``shared_link_remove_visitor_details`` tag with value ``val``. :param SharedLinkRemoveVisitorDetails val: :rtype: EventDetails """ return cls("shared_link_remove_visitor_details", val) @classmethod def shared_link_settings_add_expiration_details(cls, val): """ Create an instance of this class set to the ``shared_link_settings_add_expiration_details`` tag with value ``val``. :param SharedLinkSettingsAddExpirationDetails val: :rtype: EventDetails """ return cls("shared_link_settings_add_expiration_details", val) @classmethod def shared_link_settings_add_password_details(cls, val): """ Create an instance of this class set to the ``shared_link_settings_add_password_details`` tag with value ``val``. :param SharedLinkSettingsAddPasswordDetails val: :rtype: EventDetails """ return cls("shared_link_settings_add_password_details", val) @classmethod def shared_link_settings_allow_download_disabled_details(cls, val): """ Create an instance of this class set to the ``shared_link_settings_allow_download_disabled_details`` tag with value ``val``. :param SharedLinkSettingsAllowDownloadDisabledDetails val: :rtype: EventDetails """ return cls("shared_link_settings_allow_download_disabled_details", val) @classmethod def shared_link_settings_allow_download_enabled_details(cls, val): """ Create an instance of this class set to the ``shared_link_settings_allow_download_enabled_details`` tag with value ``val``. :param SharedLinkSettingsAllowDownloadEnabledDetails val: :rtype: EventDetails """ return cls("shared_link_settings_allow_download_enabled_details", val) @classmethod def shared_link_settings_change_audience_details(cls, val): """ Create an instance of this class set to the ``shared_link_settings_change_audience_details`` tag with value ``val``. :param SharedLinkSettingsChangeAudienceDetails val: :rtype: EventDetails """ return cls("shared_link_settings_change_audience_details", val) @classmethod def shared_link_settings_change_expiration_details(cls, val): """ Create an instance of this class set to the ``shared_link_settings_change_expiration_details`` tag with value ``val``. :param SharedLinkSettingsChangeExpirationDetails val: :rtype: EventDetails """ return cls("shared_link_settings_change_expiration_details", val) @classmethod def shared_link_settings_change_password_details(cls, val): """ Create an instance of this class set to the ``shared_link_settings_change_password_details`` tag with value ``val``. :param SharedLinkSettingsChangePasswordDetails val: :rtype: EventDetails """ return cls("shared_link_settings_change_password_details", val) @classmethod def shared_link_settings_remove_expiration_details(cls, val): """ Create an instance of this class set to the ``shared_link_settings_remove_expiration_details`` tag with value ``val``. :param SharedLinkSettingsRemoveExpirationDetails val: :rtype: EventDetails """ return cls("shared_link_settings_remove_expiration_details", val) @classmethod def shared_link_settings_remove_password_details(cls, val): """ Create an instance of this class set to the ``shared_link_settings_remove_password_details`` tag with value ``val``. :param SharedLinkSettingsRemovePasswordDetails val: :rtype: EventDetails """ return cls("shared_link_settings_remove_password_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_disable_downloads_details(cls, val): """ Create an instance of this class set to the ``shmodel_disable_downloads_details`` tag with value ``val``. :param ShmodelDisableDownloadsDetails val: :rtype: EventDetails """ return cls("shmodel_disable_downloads_details", val) @classmethod def shmodel_enable_downloads_details(cls, val): """ Create an instance of this class set to the ``shmodel_enable_downloads_details`` tag with value ``val``. :param ShmodelEnableDownloadsDetails val: :rtype: EventDetails """ return cls("shmodel_enable_downloads_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 sign_signature_request_canceled_details(cls, val): """ Create an instance of this class set to the ``sign_signature_request_canceled_details`` tag with value ``val``. :param SignSignatureRequestCanceledDetails val: :rtype: EventDetails """ return cls("sign_signature_request_canceled_details", val) @classmethod def sign_signature_request_completed_details(cls, val): """ Create an instance of this class set to the ``sign_signature_request_completed_details`` tag with value ``val``. :param SignSignatureRequestCompletedDetails val: :rtype: EventDetails """ return cls("sign_signature_request_completed_details", val) @classmethod def sign_signature_request_declined_details(cls, val): """ Create an instance of this class set to the ``sign_signature_request_declined_details`` tag with value ``val``. :param SignSignatureRequestDeclinedDetails val: :rtype: EventDetails """ return cls("sign_signature_request_declined_details", val) @classmethod def sign_signature_request_opened_details(cls, val): """ Create an instance of this class set to the ``sign_signature_request_opened_details`` tag with value ``val``. :param SignSignatureRequestOpenedDetails val: :rtype: EventDetails """ return cls("sign_signature_request_opened_details", val) @classmethod def sign_signature_request_reminder_sent_details(cls, val): """ Create an instance of this class set to the ``sign_signature_request_reminder_sent_details`` tag with value ``val``. :param SignSignatureRequestReminderSentDetails val: :rtype: EventDetails """ return cls("sign_signature_request_reminder_sent_details", val) @classmethod def sign_signature_request_sent_details(cls, val): """ Create an instance of this class set to the ``sign_signature_request_sent_details`` tag with value ``val``. :param SignSignatureRequestSentDetails val: :rtype: EventDetails """ return cls("sign_signature_request_sent_details", val) @classmethod def sign_template_created_details(cls, val): """ Create an instance of this class set to the ``sign_template_created_details`` tag with value ``val``. :param SignTemplateCreatedDetails val: :rtype: EventDetails """ return cls("sign_template_created_details", val) @classmethod def sign_template_shared_details(cls, val): """ Create an instance of this class set to the ``sign_template_shared_details`` tag with value ``val``. :param SignTemplateSharedDetails val: :rtype: EventDetails """ return cls("sign_template_shared_details", val) @classmethod def risc_security_event_details(cls, val): """ Create an instance of this class set to the ``risc_security_event_details`` tag with value ``val``. :param RiscSecurityEventDetails val: :rtype: EventDetails """ return cls("risc_security_event_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_folder_space_limits_change_caps_type_details(cls, val): """ Create an instance of this class set to the ``team_folder_space_limits_change_caps_type_details`` tag with value ``val``. :param TeamFolderSpaceLimitsChangeCapsTypeDetails val: :rtype: EventDetails """ return cls("team_folder_space_limits_change_caps_type_details", val) @classmethod def team_folder_space_limits_change_limit_details(cls, val): """ Create an instance of this class set to the ``team_folder_space_limits_change_limit_details`` tag with value ``val``. :param TeamFolderSpaceLimitsChangeLimitDetails val: :rtype: EventDetails """ return cls("team_folder_space_limits_change_limit_details", val) @classmethod def team_folder_space_limits_change_notification_target_details(cls, val): """ Create an instance of this class set to the ``team_folder_space_limits_change_notification_target_details`` tag with value ``val``. :param TeamFolderSpaceLimitsChangeNotificationTargetDetails val: :rtype: EventDetails """ return cls("team_folder_space_limits_change_notification_target_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 admin_email_reminders_changed_details(cls, val): """ Create an instance of this class set to the ``admin_email_reminders_changed_details`` tag with value ``val``. :param AdminEmailRemindersChangedDetails val: :rtype: EventDetails """ return cls("admin_email_reminders_changed_details", val) @classmethod def ai_third_party_sharing_dropbox_base_policy_changed_details(cls, val): """ Create an instance of this class set to the ``ai_third_party_sharing_dropbox_base_policy_changed_details`` tag with value ``val``. :param AiThirdPartySharingDropboxBasePolicyChangedDetails val: :rtype: EventDetails """ return cls("ai_third_party_sharing_dropbox_base_policy_changed_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 apple_login_change_policy_details(cls, val): """ Create an instance of this class set to the ``apple_login_change_policy_details`` tag with value ``val``. :param AppleLoginChangePolicyDetails val: :rtype: EventDetails """ return cls("apple_login_change_policy_details", val) @classmethod def app_permissions_changed_details(cls, val): """ Create an instance of this class set to the ``app_permissions_changed_details`` tag with value ``val``. :param AppPermissionsChangedDetails val: :rtype: EventDetails """ return cls("app_permissions_changed_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 capture_team_space_policy_changed_details(cls, val): """ Create an instance of this class set to the ``capture_team_space_policy_changed_details`` tag with value ``val``. :param CaptureTeamSpacePolicyChangedDetails val: :rtype: EventDetails """ return cls("capture_team_space_policy_changed_details", val) @classmethod def capture_transcript_policy_changed_details(cls, val): """ Create an instance of this class set to the ``capture_transcript_policy_changed_details`` tag with value ``val``. :param CaptureTranscriptPolicyChangedDetails val: :rtype: EventDetails """ return cls("capture_transcript_policy_changed_details", val) @classmethod def classification_change_policy_details(cls, val): """ Create an instance of this class set to the ``classification_change_policy_details`` tag with value ``val``. :param ClassificationChangePolicyDetails val: :rtype: EventDetails """ return cls("classification_change_policy_details", val) @classmethod def computer_backup_policy_changed_details(cls, val): """ Create an instance of this class set to the ``computer_backup_policy_changed_details`` tag with value ``val``. :param ComputerBackupPolicyChangedDetails val: :rtype: EventDetails """ return cls("computer_backup_policy_changed_details", val) @classmethod def content_administration_policy_changed_details(cls, val): """ Create an instance of this class set to the ``content_administration_policy_changed_details`` tag with value ``val``. :param ContentAdministrationPolicyChangedDetails val: :rtype: EventDetails """ return cls("content_administration_policy_changed_details", val) @classmethod def content_deletion_protection_change_policy_details(cls, val): """ Create an instance of this class set to the ``content_deletion_protection_change_policy_details`` tag with value ``val``. :param ContentDeletionProtectionChangePolicyDetails val: :rtype: EventDetails """ return cls("content_deletion_protection_change_policy_details", val) @classmethod def dash_external_sharing_policy_changed_details(cls, val): """ Create an instance of this class set to the ``dash_external_sharing_policy_changed_details`` tag with value ``val``. :param DashExternalSharingPolicyChangedDetails val: :rtype: EventDetails """ return cls("dash_external_sharing_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_add_exception_details(cls, val): """ Create an instance of this class set to the ``device_approvals_add_exception_details`` tag with value ``val``. :param DeviceApprovalsAddExceptionDetails val: :rtype: EventDetails """ return cls("device_approvals_add_exception_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 device_approvals_remove_exception_details(cls, val): """ Create an instance of this class set to the ``device_approvals_remove_exception_details`` tag with value ``val``. :param DeviceApprovalsRemoveExceptionDetails val: :rtype: EventDetails """ return cls("device_approvals_remove_exception_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 dropbox_passwords_policy_changed_details(cls, val): """ Create an instance of this class set to the ``dropbox_passwords_policy_changed_details`` tag with value ``val``. :param DropboxPasswordsPolicyChangedDetails val: :rtype: EventDetails """ return cls("dropbox_passwords_policy_changed_details", val) @classmethod def email_ingest_policy_changed_details(cls, val): """ Create an instance of this class set to the ``email_ingest_policy_changed_details`` tag with value ``val``. :param EmailIngestPolicyChangedDetails val: :rtype: EventDetails """ return cls("email_ingest_policy_changed_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 external_drive_backup_policy_changed_details(cls, val): """ Create an instance of this class set to the ``external_drive_backup_policy_changed_details`` tag with value ``val``. :param ExternalDriveBackupPolicyChangedDetails val: :rtype: EventDetails """ return cls("external_drive_backup_policy_changed_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_locking_policy_changed_details(cls, val): """ Create an instance of this class set to the ``file_locking_policy_changed_details`` tag with value ``val``. :param FileLockingPolicyChangedDetails val: :rtype: EventDetails """ return cls("file_locking_policy_changed_details", val) @classmethod def file_provider_migration_policy_changed_details(cls, val): """ Create an instance of this class set to the ``file_provider_migration_policy_changed_details`` tag with value ``val``. :param FileProviderMigrationPolicyChangedDetails val: :rtype: EventDetails """ return cls("file_provider_migration_policy_changed_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 file_transfers_policy_changed_details(cls, val): """ Create an instance of this class set to the ``file_transfers_policy_changed_details`` tag with value ``val``. :param FileTransfersPolicyChangedDetails val: :rtype: EventDetails """ return cls("file_transfers_policy_changed_details", val) @classmethod def flexible_file_names_policy_changed_details(cls, val): """ Create an instance of this class set to the ``flexible_file_names_policy_changed_details`` tag with value ``val``. :param FlexibleFileNamesPolicyChangedDetails val: :rtype: EventDetails """ return cls("flexible_file_names_policy_changed_details", val) @classmethod def folder_link_restriction_policy_changed_details(cls, val): """ Create an instance of this class set to the ``folder_link_restriction_policy_changed_details`` tag with value ``val``. :param FolderLinkRestrictionPolicyChangedDetails val: :rtype: EventDetails """ return cls("folder_link_restriction_policy_changed_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 invite_acceptance_email_policy_changed_details(cls, val): """ Create an instance of this class set to the ``invite_acceptance_email_policy_changed_details`` tag with value ``val``. :param InviteAcceptanceEmailPolicyChangedDetails val: :rtype: EventDetails """ return cls("invite_acceptance_email_policy_changed_details", val) @classmethod def media_hub_adding_people_policy_changed_details(cls, val): """ Create an instance of this class set to the ``media_hub_adding_people_policy_changed_details`` tag with value ``val``. :param MediaHubAddingPeoplePolicyChangedDetails val: :rtype: EventDetails """ return cls("media_hub_adding_people_policy_changed_details", val) @classmethod def media_hub_download_policy_changed_details(cls, val): """ Create an instance of this class set to the ``media_hub_download_policy_changed_details`` tag with value ``val``. :param MediaHubDownloadPolicyChangedDetails val: :rtype: EventDetails """ return cls("media_hub_download_policy_changed_details", val) @classmethod def media_hub_link_sharing_policy_changed_details(cls, val): """ Create an instance of this class set to the ``media_hub_link_sharing_policy_changed_details`` tag with value ``val``. :param MediaHubLinkSharingPolicyChangedDetails val: :rtype: EventDetails """ return cls("media_hub_link_sharing_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_send_invite_policy_changed_details(cls, val): """ Create an instance of this class set to the ``member_send_invite_policy_changed_details`` tag with value ``val``. :param MemberSendInvitePolicyChangedDetails val: :rtype: EventDetails """ return cls("member_send_invite_policy_changed_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_login_change_policy_details(cls, val): """ Create an instance of this class set to the ``microsoft_login_change_policy_details`` tag with value ``val``. :param MicrosoftLoginChangePolicyDetails val: :rtype: EventDetails """ return cls("microsoft_login_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 multi_team_identity_policy_changed_details(cls, val): """ Create an instance of this class set to the ``multi_team_identity_policy_changed_details`` tag with value ``val``. :param MultiTeamIdentityPolicyChangedDetails val: :rtype: EventDetails """ return cls("multi_team_identity_policy_changed_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 passkey_login_policy_changed_details(cls, val): """ Create an instance of this class set to the ``passkey_login_policy_changed_details`` tag with value ``val``. :param PasskeyLoginPolicyChangedDetails val: :rtype: EventDetails """ return cls("passkey_login_policy_changed_details", val) @classmethod def password_strength_requirements_change_policy_details(cls, val): """ Create an instance of this class set to the ``password_strength_requirements_change_policy_details`` tag with value ``val``. :param PasswordStrengthRequirementsChangePolicyDetails val: :rtype: EventDetails """ return cls("password_strength_requirements_change_policy_details", val) @classmethod def permanent_delete_change_policy_details(cls, val): """ Create an instance of this class set to the ``permanent_delete_change_policy_details`` tag with value ``val``. :param PermanentDeleteChangePolicyDetails val: :rtype: EventDetails """ return cls("permanent_delete_change_policy_details", val) @classmethod def previews_ai_policy_changed_details(cls, val): """ Create an instance of this class set to the ``previews_ai_policy_changed_details`` tag with value ``val``. :param PreviewsAiPolicyChangedDetails val: :rtype: EventDetails """ return cls("previews_ai_policy_changed_details", val) @classmethod def replay_adding_people_policy_changed_details(cls, val): """ Create an instance of this class set to the ``replay_adding_people_policy_changed_details`` tag with value ``val``. :param ReplayAddingPeoplePolicyChangedDetails val: :rtype: EventDetails """ return cls("replay_adding_people_policy_changed_details", val) @classmethod def replay_sharing_policy_changed_details(cls, val): """ Create an instance of this class set to the ``replay_sharing_policy_changed_details`` tag with value ``val``. :param ReplaySharingPolicyChangedDetails val: :rtype: EventDetails """ return cls("replay_sharing_policy_changed_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 rewind_policy_changed_details(cls, val): """ Create an instance of this class set to the ``rewind_policy_changed_details`` tag with value ``val``. :param RewindPolicyChangedDetails val: :rtype: EventDetails """ return cls("rewind_policy_changed_details", val) @classmethod def send_and_track_policy_changed_details(cls, val): """ Create an instance of this class set to the ``send_and_track_policy_changed_details`` tag with value ``val``. :param SendAndTrackPolicyChangedDetails val: :rtype: EventDetails """ return cls("send_and_track_policy_changed_details", val) @classmethod def send_external_sharing_policy_changed_details(cls, val): """ Create an instance of this class set to the ``send_external_sharing_policy_changed_details`` tag with value ``val``. :param SendExternalSharingPolicyChangedDetails val: :rtype: EventDetails """ return cls("send_external_sharing_policy_changed_details", val) @classmethod def send_for_signature_policy_changed_details(cls, val): """ Create an instance of this class set to the ``send_for_signature_policy_changed_details`` tag with value ``val``. :param SendForSignaturePolicyChangedDetails val: :rtype: EventDetails """ return cls("send_for_signature_policy_changed_details", val) @classmethod def shared_link_default_permissions_policy_changed_details(cls, val): """ Create an instance of this class set to the ``shared_link_default_permissions_policy_changed_details`` tag with value ``val``. :param SharedLinkDefaultPermissionsPolicyChangedDetails val: :rtype: EventDetails """ return cls("shared_link_default_permissions_policy_changed_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_allow_change_expiration_policy_details(cls, val): """ Create an instance of this class set to the ``sharing_change_link_allow_change_expiration_policy_details`` tag with value ``val``. :param SharingChangeLinkAllowChangeExpirationPolicyDetails val: :rtype: EventDetails """ return cls("sharing_change_link_allow_change_expiration_policy_details", val) @classmethod def sharing_change_link_default_expiration_policy_details(cls, val): """ Create an instance of this class set to the ``sharing_change_link_default_expiration_policy_details`` tag with value ``val``. :param SharingChangeLinkDefaultExpirationPolicyDetails val: :rtype: EventDetails """ return cls("sharing_change_link_default_expiration_policy_details", val) @classmethod def sharing_change_link_enforce_password_policy_details(cls, val): """ Create an instance of this class set to the ``sharing_change_link_enforce_password_policy_details`` tag with value ``val``. :param SharingChangeLinkEnforcePasswordPolicyDetails val: :rtype: EventDetails """ return cls("sharing_change_link_enforce_password_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 sign_external_sharing_policy_changed_details(cls, val): """ Create an instance of this class set to the ``sign_external_sharing_policy_changed_details`` tag with value ``val``. :param SignExternalSharingPolicyChangedDetails val: :rtype: EventDetails """ return cls("sign_external_sharing_policy_changed_details", val) @classmethod def sign_template_creation_permission_changed_details(cls, val): """ Create an instance of this class set to the ``sign_template_creation_permission_changed_details`` tag with value ``val``. :param SignTemplateCreationPermissionChangedDetails val: :rtype: EventDetails """ return cls("sign_template_creation_permission_changed_details", val) @classmethod def smarter_smart_sync_policy_changed_details(cls, val): """ Create an instance of this class set to the ``smarter_smart_sync_policy_changed_details`` tag with value ``val``. :param SmarterSmartSyncPolicyChangedDetails val: :rtype: EventDetails """ return cls("smarter_smart_sync_policy_changed_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 stack_cross_team_access_policy_changed_details(cls, val): """ Create an instance of this class set to the ``stack_cross_team_access_policy_changed_details`` tag with value ``val``. :param StackCrossTeamAccessPolicyChangedDetails val: :rtype: EventDetails """ return cls("stack_cross_team_access_policy_changed_details", val) @classmethod def team_branding_policy_changed_details(cls, val): """ Create an instance of this class set to the ``team_branding_policy_changed_details`` tag with value ``val``. :param TeamBrandingPolicyChangedDetails val: :rtype: EventDetails """ return cls("team_branding_policy_changed_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_member_storage_request_policy_changed_details(cls, val): """ Create an instance of this class set to the ``team_member_storage_request_policy_changed_details`` tag with value ``val``. :param TeamMemberStorageRequestPolicyChangedDetails val: :rtype: EventDetails """ return cls("team_member_storage_request_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 team_sharing_whitelist_subjects_changed_details(cls, val): """ Create an instance of this class set to the ``team_sharing_whitelist_subjects_changed_details`` tag with value ``val``. :param TeamSharingWhitelistSubjectsChangedDetails val: :rtype: EventDetails """ return cls("team_sharing_whitelist_subjects_changed_details", val) @classmethod def tfa_add_exception_details(cls, val): """ Create an instance of this class set to the ``tfa_add_exception_details`` tag with value ``val``. :param TfaAddExceptionDetails val: :rtype: EventDetails """ return cls("tfa_add_exception_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 tfa_remove_exception_details(cls, val): """ Create an instance of this class set to the ``tfa_remove_exception_details`` tag with value ``val``. :param TfaRemoveExceptionDetails val: :rtype: EventDetails """ return cls("tfa_remove_exception_details", val) @classmethod def top_level_content_policy_changed_details(cls, val): """ Create an instance of this class set to the ``top_level_content_policy_changed_details`` tag with value ``val``. :param TopLevelContentPolicyChangedDetails val: :rtype: EventDetails """ return cls("top_level_content_policy_changed_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 watermarking_policy_changed_details(cls, val): """ Create an instance of this class set to the ``watermarking_policy_changed_details`` tag with value ``val``. :param WatermarkingPolicyChangedDetails val: :rtype: EventDetails """ return cls("watermarking_policy_changed_details", val) @classmethod def web_sessions_change_active_session_limit_details(cls, val): """ Create an instance of this class set to the ``web_sessions_change_active_session_limit_details`` tag with value ``val``. :param WebSessionsChangeActiveSessionLimitDetails val: :rtype: EventDetails """ return cls("web_sessions_change_active_session_limit_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 data_residency_migration_request_successful_details(cls, val): """ Create an instance of this class set to the ``data_residency_migration_request_successful_details`` tag with value ``val``. :param DataResidencyMigrationRequestSuccessfulDetails val: :rtype: EventDetails """ return cls("data_residency_migration_request_successful_details", val) @classmethod def data_residency_migration_request_unsuccessful_details(cls, val): """ Create an instance of this class set to the ``data_residency_migration_request_unsuccessful_details`` tag with value ``val``. :param DataResidencyMigrationRequestUnsuccessfulDetails val: :rtype: EventDetails """ return cls("data_residency_migration_request_unsuccessful_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_background_details(cls, val): """ Create an instance of this class set to the ``team_profile_add_background_details`` tag with value ``val``. :param TeamProfileAddBackgroundDetails val: :rtype: EventDetails """ return cls("team_profile_add_background_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_background_details(cls, val): """ Create an instance of this class set to the ``team_profile_change_background_details`` tag with value ``val``. :param TeamProfileChangeBackgroundDetails val: :rtype: EventDetails """ return cls("team_profile_change_background_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_background_details(cls, val): """ Create an instance of this class set to the ``team_profile_remove_background_details`` tag with value ``val``. :param TeamProfileRemoveBackgroundDetails val: :rtype: EventDetails """ return cls("team_profile_remove_background_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 passkey_add_details(cls, val): """ Create an instance of this class set to the ``passkey_add_details`` tag with value ``val``. :param PasskeyAddDetails val: :rtype: EventDetails """ return cls("passkey_add_details", val) @classmethod def passkey_remove_details(cls, val): """ Create an instance of this class set to the ``passkey_remove_details`` tag with value ``val``. :param PasskeyRemoveDetails val: :rtype: EventDetails """ return cls("passkey_remove_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 changed_enterprise_admin_role_details(cls, val): """ Create an instance of this class set to the ``changed_enterprise_admin_role_details`` tag with value ``val``. :param ChangedEnterpriseAdminRoleDetails val: :rtype: EventDetails """ return cls("changed_enterprise_admin_role_details", val) @classmethod def changed_enterprise_connected_team_status_details(cls, val): """ Create an instance of this class set to the ``changed_enterprise_connected_team_status_details`` tag with value ``val``. :param ChangedEnterpriseConnectedTeamStatusDetails val: :rtype: EventDetails """ return cls("changed_enterprise_connected_team_status_details", val) @classmethod def ended_enterprise_admin_session_details(cls, val): """ Create an instance of this class set to the ``ended_enterprise_admin_session_details`` tag with value ``val``. :param EndedEnterpriseAdminSessionDetails val: :rtype: EventDetails """ return cls("ended_enterprise_admin_session_details", val) @classmethod def ended_enterprise_admin_session_deprecated_details(cls, val): """ Create an instance of this class set to the ``ended_enterprise_admin_session_deprecated_details`` tag with value ``val``. :param EndedEnterpriseAdminSessionDeprecatedDetails val: :rtype: EventDetails """ return cls("ended_enterprise_admin_session_deprecated_details", val) @classmethod def enterprise_settings_locking_details(cls, val): """ Create an instance of this class set to the ``enterprise_settings_locking_details`` tag with value ``val``. :param EnterpriseSettingsLockingDetails val: :rtype: EventDetails """ return cls("enterprise_settings_locking_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 started_enterprise_admin_session_details(cls, val): """ Create an instance of this class set to the ``started_enterprise_admin_session_details`` tag with value ``val``. :param StartedEnterpriseAdminSessionDetails val: :rtype: EventDetails """ return cls("started_enterprise_admin_session_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_admin_alerting_alert_state_changed_details(self): """ Check if the union tag is ``admin_alerting_alert_state_changed_details``. :rtype: bool """ return self._tag == "admin_alerting_alert_state_changed_details" def is_admin_alerting_changed_alert_config_details(self): """ Check if the union tag is ``admin_alerting_changed_alert_config_details``. :rtype: bool """ return self._tag == "admin_alerting_changed_alert_config_details" def is_admin_alerting_triggered_alert_details(self): """ Check if the union tag is ``admin_alerting_triggered_alert_details``. :rtype: bool """ return self._tag == "admin_alerting_triggered_alert_details" def is_ransomware_restore_process_completed_details(self): """ Check if the union tag is ``ransomware_restore_process_completed_details``. :rtype: bool """ return self._tag == "ransomware_restore_process_completed_details" def is_ransomware_restore_process_started_details(self): """ Check if the union tag is ``ransomware_restore_process_started_details``. :rtype: bool """ return self._tag == "ransomware_restore_process_started_details" def is_app_blocked_by_permissions_details(self): """ Check if the union tag is ``app_blocked_by_permissions_details``. :rtype: bool """ return self._tag == "app_blocked_by_permissions_details" def is_app_link_team_details(self): """ Check if the union tag is ``app_link_team_details``. :rtype: bool """ return self._tag == "app_link_team_details" def is_app_link_user_details(self): """ Check if the union tag is ``app_link_user_details``. :rtype: bool """ return self._tag == "app_link_user_details" def is_app_unlink_team_details(self): """ Check if the union tag is ``app_unlink_team_details``. :rtype: bool """ return self._tag == "app_unlink_team_details" def is_app_unlink_user_details(self): """ Check if the union tag is ``app_unlink_user_details``. :rtype: bool """ return self._tag == "app_unlink_user_details" def is_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_dash_added_comment_to_stack_details(self): """ Check if the union tag is ``dash_added_comment_to_stack_details``. :rtype: bool """ return self._tag == "dash_added_comment_to_stack_details" def is_dash_added_connector_details(self): """ Check if the union tag is ``dash_added_connector_details``. :rtype: bool """ return self._tag == "dash_added_connector_details" def is_dash_added_link_to_stack_details(self): """ Check if the union tag is ``dash_added_link_to_stack_details``. :rtype: bool """ return self._tag == "dash_added_link_to_stack_details" def is_dash_added_team_email_domain_allowlist_details(self): """ Check if the union tag is ``dash_added_team_email_domain_allowlist_details``. :rtype: bool """ return self._tag == "dash_added_team_email_domain_allowlist_details" def is_dash_admin_added_org_wide_connector_details(self): """ Check if the union tag is ``dash_admin_added_org_wide_connector_details``. :rtype: bool """ return self._tag == "dash_admin_added_org_wide_connector_details" def is_dash_admin_disabled_connector_details(self): """ Check if the union tag is ``dash_admin_disabled_connector_details``. :rtype: bool """ return self._tag == "dash_admin_disabled_connector_details" def is_dash_admin_enabled_connector_details(self): """ Check if the union tag is ``dash_admin_enabled_connector_details``. :rtype: bool """ return self._tag == "dash_admin_enabled_connector_details" def is_dash_admin_removed_org_wide_connector_details(self): """ Check if the union tag is ``dash_admin_removed_org_wide_connector_details``. :rtype: bool """ return self._tag == "dash_admin_removed_org_wide_connector_details" def is_dash_archived_stack_details(self): """ Check if the union tag is ``dash_archived_stack_details``. :rtype: bool """ return self._tag == "dash_archived_stack_details" def is_dash_changed_audience_of_shared_link_to_stack_details(self): """ Check if the union tag is ``dash_changed_audience_of_shared_link_to_stack_details``. :rtype: bool """ return self._tag == "dash_changed_audience_of_shared_link_to_stack_details" def is_dash_cloned_stack_details(self): """ Check if the union tag is ``dash_cloned_stack_details``. :rtype: bool """ return self._tag == "dash_cloned_stack_details" def is_dash_connector_tools_call_details(self): """ Check if the union tag is ``dash_connector_tools_call_details``. :rtype: bool """ return self._tag == "dash_connector_tools_call_details" def is_dash_created_stack_details(self): """ Check if the union tag is ``dash_created_stack_details``. :rtype: bool """ return self._tag == "dash_created_stack_details" def is_dash_deleted_comment_from_stack_details(self): """ Check if the union tag is ``dash_deleted_comment_from_stack_details``. :rtype: bool """ return self._tag == "dash_deleted_comment_from_stack_details" def is_dash_deleted_stack_details(self): """ Check if the union tag is ``dash_deleted_stack_details``. :rtype: bool """ return self._tag == "dash_deleted_stack_details" def is_dash_edited_comment_in_stack_details(self): """ Check if the union tag is ``dash_edited_comment_in_stack_details``. :rtype: bool """ return self._tag == "dash_edited_comment_in_stack_details" def is_dash_external_user_opened_stack_details(self): """ Check if the union tag is ``dash_external_user_opened_stack_details``. :rtype: bool """ return self._tag == "dash_external_user_opened_stack_details" def is_dash_first_launched_desktop_details(self): """ Check if the union tag is ``dash_first_launched_desktop_details``. :rtype: bool """ return self._tag == "dash_first_launched_desktop_details" def is_dash_first_launched_extension_details(self): """ Check if the union tag is ``dash_first_launched_extension_details``. :rtype: bool """ return self._tag == "dash_first_launched_extension_details" def is_dash_first_launched_web_start_page_details(self): """ Check if the union tag is ``dash_first_launched_web_start_page_details``. :rtype: bool """ return self._tag == "dash_first_launched_web_start_page_details" def is_dash_opened_shared_link_to_stack_details(self): """ Check if the union tag is ``dash_opened_shared_link_to_stack_details``. :rtype: bool """ return self._tag == "dash_opened_shared_link_to_stack_details" def is_dash_opened_stack_details(self): """ Check if the union tag is ``dash_opened_stack_details``. :rtype: bool """ return self._tag == "dash_opened_stack_details" def is_dash_preview_opt_out_status_changed_details(self): """ Check if the union tag is ``dash_preview_opt_out_status_changed_details``. :rtype: bool """ return self._tag == "dash_preview_opt_out_status_changed_details" def is_dash_removed_connector_details(self): """ Check if the union tag is ``dash_removed_connector_details``. :rtype: bool """ return self._tag == "dash_removed_connector_details" def is_dash_removed_link_from_stack_details(self): """ Check if the union tag is ``dash_removed_link_from_stack_details``. :rtype: bool """ return self._tag == "dash_removed_link_from_stack_details" def is_dash_removed_shared_link_to_stack_details(self): """ Check if the union tag is ``dash_removed_shared_link_to_stack_details``. :rtype: bool """ return self._tag == "dash_removed_shared_link_to_stack_details" def is_dash_removed_team_email_domain_allowlist_details(self): """ Check if the union tag is ``dash_removed_team_email_domain_allowlist_details``. :rtype: bool """ return self._tag == "dash_removed_team_email_domain_allowlist_details" def is_dash_renamed_stack_details(self): """ Check if the union tag is ``dash_renamed_stack_details``. :rtype: bool """ return self._tag == "dash_renamed_stack_details" def is_dash_shared_link_to_stack_details(self): """ Check if the union tag is ``dash_shared_link_to_stack_details``. :rtype: bool """ return self._tag == "dash_shared_link_to_stack_details" def is_dash_unarchived_stack_details(self): """ Check if the union tag is ``dash_unarchived_stack_details``. :rtype: bool """ return self._tag == "dash_unarchived_stack_details" def is_dash_viewed_company_stack_details(self): """ Check if the union tag is ``dash_viewed_company_stack_details``. :rtype: bool """ return self._tag == "dash_viewed_company_stack_details" def is_dash_viewed_external_ai_activity_report_details(self): """ Check if the union tag is ``dash_viewed_external_ai_activity_report_details``. :rtype: bool """ return self._tag == "dash_viewed_external_ai_activity_report_details" def is_governance_policy_add_folders_details(self): """ Check if the union tag is ``governance_policy_add_folders_details``. :rtype: bool """ return self._tag == "governance_policy_add_folders_details" def is_governance_policy_add_folder_failed_details(self): """ Check if the union tag is ``governance_policy_add_folder_failed_details``. :rtype: bool """ return self._tag == "governance_policy_add_folder_failed_details" def is_governance_policy_content_disposed_details(self): """ Check if the union tag is ``governance_policy_content_disposed_details``. :rtype: bool """ return self._tag == "governance_policy_content_disposed_details" def is_governance_policy_create_details(self): """ Check if the union tag is ``governance_policy_create_details``. :rtype: bool """ return self._tag == "governance_policy_create_details" def is_governance_policy_delete_details(self): """ Check if the union tag is ``governance_policy_delete_details``. :rtype: bool """ return self._tag == "governance_policy_delete_details" def is_governance_policy_edit_details_details(self): """ Check if the union tag is ``governance_policy_edit_details_details``. :rtype: bool """ return self._tag == "governance_policy_edit_details_details" def is_governance_policy_edit_duration_details(self): """ Check if the union tag is ``governance_policy_edit_duration_details``. :rtype: bool """ return self._tag == "governance_policy_edit_duration_details" def is_governance_policy_export_created_details(self): """ Check if the union tag is ``governance_policy_export_created_details``. :rtype: bool """ return self._tag == "governance_policy_export_created_details" def is_governance_policy_export_removed_details(self): """ Check if the union tag is ``governance_policy_export_removed_details``. :rtype: bool """ return self._tag == "governance_policy_export_removed_details" def is_governance_policy_remove_folders_details(self): """ Check if the union tag is ``governance_policy_remove_folders_details``. :rtype: bool """ return self._tag == "governance_policy_remove_folders_details" def is_governance_policy_report_created_details(self): """ Check if the union tag is ``governance_policy_report_created_details``. :rtype: bool """ return self._tag == "governance_policy_report_created_details" def is_governance_policy_zip_part_downloaded_details(self): """ Check if the union tag is ``governance_policy_zip_part_downloaded_details``. :rtype: bool """ return self._tag == "governance_policy_zip_part_downloaded_details" def is_legal_holds_activate_a_hold_details(self): """ Check if the union tag is ``legal_holds_activate_a_hold_details``. :rtype: bool """ return self._tag == "legal_holds_activate_a_hold_details" def is_legal_holds_add_members_details(self): """ Check if the union tag is ``legal_holds_add_members_details``. :rtype: bool """ return self._tag == "legal_holds_add_members_details" def is_legal_holds_change_hold_details_details(self): """ Check if the union tag is ``legal_holds_change_hold_details_details``. :rtype: bool """ return self._tag == "legal_holds_change_hold_details_details" def is_legal_holds_change_hold_name_details(self): """ Check if the union tag is ``legal_holds_change_hold_name_details``. :rtype: bool """ return self._tag == "legal_holds_change_hold_name_details" def is_legal_holds_export_a_hold_details(self): """ Check if the union tag is ``legal_holds_export_a_hold_details``. :rtype: bool """ return self._tag == "legal_holds_export_a_hold_details" def is_legal_holds_export_cancelled_details(self): """ Check if the union tag is ``legal_holds_export_cancelled_details``. :rtype: bool """ return self._tag == "legal_holds_export_cancelled_details" def is_legal_holds_export_downloaded_details(self): """ Check if the union tag is ``legal_holds_export_downloaded_details``. :rtype: bool """ return self._tag == "legal_holds_export_downloaded_details" def is_legal_holds_export_removed_details(self): """ Check if the union tag is ``legal_holds_export_removed_details``. :rtype: bool """ return self._tag == "legal_holds_export_removed_details" def is_legal_holds_release_a_hold_details(self): """ Check if the union tag is ``legal_holds_release_a_hold_details``. :rtype: bool """ return self._tag == "legal_holds_release_a_hold_details" def is_legal_holds_remove_members_details(self): """ Check if the union tag is ``legal_holds_remove_members_details``. :rtype: bool """ return self._tag == "legal_holds_remove_members_details" def is_legal_holds_report_a_hold_details(self): """ Check if the union tag is ``legal_holds_report_a_hold_details``. :rtype: bool """ return self._tag == "legal_holds_report_a_hold_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_sync_backup_status_changed_details(self): """ Check if the union tag is ``device_sync_backup_status_changed_details``. :rtype: bool """ return self._tag == "device_sync_backup_status_changed_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_dropbox_passwords_exported_details(self): """ Check if the union tag is ``dropbox_passwords_exported_details``. :rtype: bool """ return self._tag == "dropbox_passwords_exported_details" def is_dropbox_passwords_new_device_enrolled_details(self): """ Check if the union tag is ``dropbox_passwords_new_device_enrolled_details``. :rtype: bool """ return self._tag == "dropbox_passwords_new_device_enrolled_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_external_drive_backup_eligibility_status_checked_details(self): """ Check if the union tag is ``external_drive_backup_eligibility_status_checked_details``. :rtype: bool """ return self._tag == "external_drive_backup_eligibility_status_checked_details" def is_external_drive_backup_status_changed_details(self): """ Check if the union tag is ``external_drive_backup_status_changed_details``. :rtype: bool """ return self._tag == "external_drive_backup_status_changed_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_encrypted_folder_cancel_team_key_rotation_details(self): """ Check if the union tag is ``encrypted_folder_cancel_team_key_rotation_details``. :rtype: bool """ return self._tag == "encrypted_folder_cancel_team_key_rotation_details" def is_encrypted_folder_enroll_backup_key_details(self): """ Check if the union tag is ``encrypted_folder_enroll_backup_key_details``. :rtype: bool """ return self._tag == "encrypted_folder_enroll_backup_key_details" def is_encrypted_folder_enroll_client_details(self): """ Check if the union tag is ``encrypted_folder_enroll_client_details``. :rtype: bool """ return self._tag == "encrypted_folder_enroll_client_details" def is_encrypted_folder_enroll_team_details(self): """ Check if the union tag is ``encrypted_folder_enroll_team_details``. :rtype: bool """ return self._tag == "encrypted_folder_enroll_team_details" def is_encrypted_folder_finish_team_unenrollment_details(self): """ Check if the union tag is ``encrypted_folder_finish_team_unenrollment_details``. :rtype: bool """ return self._tag == "encrypted_folder_finish_team_unenrollment_details" def is_encrypted_folder_init_team_key_rotation_details(self): """ Check if the union tag is ``encrypted_folder_init_team_key_rotation_details``. :rtype: bool """ return self._tag == "encrypted_folder_init_team_key_rotation_details" def is_encrypted_folder_init_team_unenrollment_details(self): """ Check if the union tag is ``encrypted_folder_init_team_unenrollment_details``. :rtype: bool """ return self._tag == "encrypted_folder_init_team_unenrollment_details" def is_encrypted_folder_remove_backup_key_details(self): """ Check if the union tag is ``encrypted_folder_remove_backup_key_details``. :rtype: bool """ return self._tag == "encrypted_folder_remove_backup_key_details" def is_encrypted_folder_rotate_team_key_details(self): """ Check if the union tag is ``encrypted_folder_rotate_team_key_details``. :rtype: bool """ return self._tag == "encrypted_folder_rotate_team_key_details" def is_encrypted_folder_unenroll_client_details(self): """ Check if the union tag is ``encrypted_folder_unenroll_client_details``. :rtype: bool """ return self._tag == "encrypted_folder_unenroll_client_details" def is_team_encryption_key_activate_key_details(self): """ Check if the union tag is ``team_encryption_key_activate_key_details``. :rtype: bool """ return self._tag == "team_encryption_key_activate_key_details" def is_team_encryption_key_cancel_key_deletion_details(self): """ Check if the union tag is ``team_encryption_key_cancel_key_deletion_details``. :rtype: bool """ return self._tag == "team_encryption_key_cancel_key_deletion_details" def is_team_encryption_key_create_key_details(self): """ Check if the union tag is ``team_encryption_key_create_key_details``. :rtype: bool """ return self._tag == "team_encryption_key_create_key_details" def is_team_encryption_key_deactivate_key_details(self): """ Check if the union tag is ``team_encryption_key_deactivate_key_details``. :rtype: bool """ return self._tag == "team_encryption_key_deactivate_key_details" def is_team_encryption_key_delete_key_details(self): """ Check if the union tag is ``team_encryption_key_delete_key_details``. :rtype: bool """ return self._tag == "team_encryption_key_delete_key_details" def is_team_encryption_key_disable_key_details(self): """ Check if the union tag is ``team_encryption_key_disable_key_details``. :rtype: bool """ return self._tag == "team_encryption_key_disable_key_details" def is_team_encryption_key_enable_key_details(self): """ Check if the union tag is ``team_encryption_key_enable_key_details``. :rtype: bool """ return self._tag == "team_encryption_key_enable_key_details" def is_team_encryption_key_rotate_key_details(self): """ Check if the union tag is ``team_encryption_key_rotate_key_details``. :rtype: bool """ return self._tag == "team_encryption_key_rotate_key_details" def is_team_encryption_key_schedule_key_deletion_details(self): """ Check if the union tag is ``team_encryption_key_schedule_key_deletion_details``. :rtype: bool """ return self._tag == "team_encryption_key_schedule_key_deletion_details" def is_apply_naming_convention_details(self): """ Check if the union tag is ``apply_naming_convention_details``. :rtype: bool """ return self._tag == "apply_naming_convention_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_add_from_automation_details(self): """ Check if the union tag is ``file_add_from_automation_details``. :rtype: bool """ return self._tag == "file_add_from_automation_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_locking_lock_status_changed_details(self): """ Check if the union tag is ``file_locking_lock_status_changed_details``. :rtype: bool """ return self._tag == "file_locking_lock_status_changed_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_folder_overview_description_changed_details(self): """ Check if the union tag is ``folder_overview_description_changed_details``. :rtype: bool """ return self._tag == "folder_overview_description_changed_details" def is_folder_overview_item_pinned_details(self): """ Check if the union tag is ``folder_overview_item_pinned_details``. :rtype: bool """ return self._tag == "folder_overview_item_pinned_details" def is_folder_overview_item_unpinned_details(self): """ Check if the union tag is ``folder_overview_item_unpinned_details``. :rtype: bool """ return self._tag == "folder_overview_item_unpinned_details" def is_media_hub_file_downloaded_details(self): """ Check if the union tag is ``media_hub_file_downloaded_details``. :rtype: bool """ return self._tag == "media_hub_file_downloaded_details" def is_object_label_added_details(self): """ Check if the union tag is ``object_label_added_details``. :rtype: bool """ return self._tag == "object_label_added_details" def is_object_label_removed_details(self): """ Check if the union tag is ``object_label_removed_details``. :rtype: bool """ return self._tag == "object_label_removed_details" def is_object_label_updated_value_details(self): """ Check if the union tag is ``object_label_updated_value_details``. :rtype: bool """ return self._tag == "object_label_updated_value_details" def is_organize_folder_with_tidy_details(self): """ Check if the union tag is ``organize_folder_with_tidy_details``. :rtype: bool """ return self._tag == "organize_folder_with_tidy_details" def is_replay_file_delete_details(self): """ Check if the union tag is ``replay_file_delete_details``. :rtype: bool """ return self._tag == "replay_file_delete_details" def is_replay_file_downloaded_details(self): """ Check if the union tag is ``replay_file_downloaded_details``. :rtype: bool """ return self._tag == "replay_file_downloaded_details" def is_replay_team_project_created_details(self): """ Check if the union tag is ``replay_team_project_created_details``. :rtype: bool """ return self._tag == "replay_team_project_created_details" def is_rewind_folder_details(self): """ Check if the union tag is ``rewind_folder_details``. :rtype: bool """ return self._tag == "rewind_folder_details" def is_undo_naming_convention_details(self): """ Check if the union tag is ``undo_naming_convention_details``. :rtype: bool """ return self._tag == "undo_naming_convention_details" def is_undo_organize_folder_with_tidy_details(self): """ Check if the union tag is ``undo_organize_folder_with_tidy_details``. :rtype: bool """ return self._tag == "undo_organize_folder_with_tidy_details" def is_user_tags_added_details(self): """ Check if the union tag is ``user_tags_added_details``. :rtype: bool """ return self._tag == "user_tags_added_details" def is_user_tags_removed_details(self): """ Check if the union tag is ``user_tags_removed_details``. :rtype: bool """ return self._tag == "user_tags_removed_details" def is_email_ingest_receive_file_details(self): """ Check if the union tag is ``email_ingest_receive_file_details``. :rtype: bool """ return self._tag == "email_ingest_receive_file_details" def is_file_request_auto_close_details(self): """ Check if the union tag is ``file_request_auto_close_details``. :rtype: bool """ return self._tag == "file_request_auto_close_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_external_sharing_setting_override_changed_details(self): """ Check if the union tag is ``group_external_sharing_setting_override_changed_details``. :rtype: bool """ return self._tag == "group_external_sharing_setting_override_changed_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_account_lock_or_unlocked_details(self): """ Check if the union tag is ``account_lock_or_unlocked_details``. :rtype: bool """ return self._tag == "account_lock_or_unlocked_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_addon_assigned_details(self): """ Check if the union tag is ``addon_assigned_details``. :rtype: bool """ return self._tag == "addon_assigned_details" def is_addon_removed_details(self): """ Check if the union tag is ``addon_removed_details``. :rtype: bool """ return self._tag == "addon_removed_details" def is_backup_admin_invitation_sent_details(self): """ Check if the union tag is ``backup_admin_invitation_sent_details``. :rtype: bool """ return self._tag == "backup_admin_invitation_sent_details" def is_backup_invitation_opened_details(self): """ Check if the union tag is ``backup_invitation_opened_details``. :rtype: bool """ return self._tag == "backup_invitation_opened_details" def is_create_team_invite_link_details(self): """ Check if the union tag is ``create_team_invite_link_details``. :rtype: bool """ return self._tag == "create_team_invite_link_details" def is_delete_team_invite_link_details(self): """ Check if the union tag is ``delete_team_invite_link_details``. :rtype: bool """ return self._tag == "delete_team_invite_link_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_reseller_role_details(self): """ Check if the union tag is ``member_change_reseller_role_details``. :rtype: bool """ return self._tag == "member_change_reseller_role_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_delete_profile_photo_details(self): """ Check if the union tag is ``member_delete_profile_photo_details``. :rtype: bool """ return self._tag == "member_delete_profile_photo_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_set_profile_photo_details(self): """ Check if the union tag is ``member_set_profile_photo_details``. :rtype: bool """ return self._tag == "member_set_profile_photo_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_pending_secondary_email_added_details(self): """ Check if the union tag is ``pending_secondary_email_added_details``. :rtype: bool """ return self._tag == "pending_secondary_email_added_details" def is_product_assigned_to_member_details(self): """ Check if the union tag is ``product_assigned_to_member_details``. :rtype: bool """ return self._tag == "product_assigned_to_member_details" def is_product_removed_from_member_details(self): """ Check if the union tag is ``product_removed_from_member_details``. :rtype: bool """ return self._tag == "product_removed_from_member_details" def is_secondary_email_deleted_details(self): """ Check if the union tag is ``secondary_email_deleted_details``. :rtype: bool """ return self._tag == "secondary_email_deleted_details" def is_secondary_email_verified_details(self): """ Check if the union tag is ``secondary_email_verified_details``. :rtype: bool """ return self._tag == "secondary_email_verified_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_binder_add_page_details(self): """ Check if the union tag is ``binder_add_page_details``. :rtype: bool """ return self._tag == "binder_add_page_details" def is_binder_add_section_details(self): """ Check if the union tag is ``binder_add_section_details``. :rtype: bool """ return self._tag == "binder_add_section_details" def is_binder_remove_page_details(self): """ Check if the union tag is ``binder_remove_page_details``. :rtype: bool """ return self._tag == "binder_remove_page_details" def is_binder_remove_section_details(self): """ Check if the union tag is ``binder_remove_section_details``. :rtype: bool """ return self._tag == "binder_remove_section_details" def is_binder_rename_page_details(self): """ Check if the union tag is ``binder_rename_page_details``. :rtype: bool """ return self._tag == "binder_rename_page_details" def is_binder_rename_section_details(self): """ Check if the union tag is ``binder_rename_section_details``. :rtype: bool """ return self._tag == "binder_rename_section_details" def is_binder_reorder_page_details(self): """ Check if the union tag is ``binder_reorder_page_details``. :rtype: bool """ return self._tag == "binder_reorder_page_details" def is_binder_reorder_section_details(self): """ Check if the union tag is ``binder_reorder_section_details``. :rtype: bool """ return self._tag == "binder_reorder_section_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_change_permission_details(self): """ Check if the union tag is ``paper_published_link_change_permission_details``. :rtype: bool """ return self._tag == "paper_published_link_change_permission_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_protect_internal_domains_changed_details(self): """ Check if the union tag is ``protect_internal_domains_changed_details``. :rtype: bool """ return self._tag == "protect_internal_domains_changed_details" def is_classification_create_report_details(self): """ Check if the union tag is ``classification_create_report_details``. :rtype: bool """ return self._tag == "classification_create_report_details" def is_classification_create_report_fail_details(self): """ Check if the union tag is ``classification_create_report_fail_details``. :rtype: bool """ return self._tag == "classification_create_report_fail_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_export_members_report_fail_details(self): """ Check if the union tag is ``export_members_report_fail_details``. :rtype: bool """ return self._tag == "export_members_report_fail_details" def is_external_sharing_create_report_details(self): """ Check if the union tag is ``external_sharing_create_report_details``. :rtype: bool """ return self._tag == "external_sharing_create_report_details" def is_external_sharing_report_failed_details(self): """ Check if the union tag is ``external_sharing_report_failed_details``. :rtype: bool """ return self._tag == "external_sharing_report_failed_details" def is_member_access_details_create_report_details(self): """ Check if the union tag is ``member_access_details_create_report_details``. :rtype: bool """ return self._tag == "member_access_details_create_report_details" def is_member_access_details_create_report_failed_details(self): """ Check if the union tag is ``member_access_details_create_report_failed_details``. :rtype: bool """ return self._tag == "member_access_details_create_report_failed_details" def is_no_expiration_link_gen_create_report_details(self): """ Check if the union tag is ``no_expiration_link_gen_create_report_details``. :rtype: bool """ return self._tag == "no_expiration_link_gen_create_report_details" def is_no_expiration_link_gen_report_failed_details(self): """ Check if the union tag is ``no_expiration_link_gen_report_failed_details``. :rtype: bool """ return self._tag == "no_expiration_link_gen_report_failed_details" def is_no_password_link_gen_create_report_details(self): """ Check if the union tag is ``no_password_link_gen_create_report_details``. :rtype: bool """ return self._tag == "no_password_link_gen_create_report_details" def is_no_password_link_gen_report_failed_details(self): """ Check if the union tag is ``no_password_link_gen_report_failed_details``. :rtype: bool """ return self._tag == "no_password_link_gen_report_failed_details" def is_no_password_link_view_create_report_details(self): """ Check if the union tag is ``no_password_link_view_create_report_details``. :rtype: bool """ return self._tag == "no_password_link_view_create_report_details" def is_no_password_link_view_report_failed_details(self): """ Check if the union tag is ``no_password_link_view_report_failed_details``. :rtype: bool """ return self._tag == "no_password_link_view_report_failed_details" def is_outdated_link_view_create_report_details(self): """ Check if the union tag is ``outdated_link_view_create_report_details``. :rtype: bool """ return self._tag == "outdated_link_view_create_report_details" def is_outdated_link_view_report_failed_details(self): """ Check if the union tag is ``outdated_link_view_report_failed_details``. :rtype: bool """ return self._tag == "outdated_link_view_report_failed_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_ransomware_alert_create_report_details(self): """ Check if the union tag is ``ransomware_alert_create_report_details``. :rtype: bool """ return self._tag == "ransomware_alert_create_report_details" def is_ransomware_alert_create_report_failed_details(self): """ Check if the union tag is ``ransomware_alert_create_report_failed_details``. :rtype: bool """ return self._tag == "ransomware_alert_create_report_failed_details" def is_shared_folders_create_report_details(self): """ Check if the union tag is ``shared_folders_create_report_details``. :rtype: bool """ return self._tag == "shared_folders_create_report_details" def is_shared_folders_create_report_failed_details(self): """ Check if the union tag is ``shared_folders_create_report_failed_details``. :rtype: bool """ return self._tag == "shared_folders_create_report_failed_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_team_folders_create_report_details(self): """ Check if the union tag is ``team_folders_create_report_details``. :rtype: bool """ return self._tag == "team_folders_create_report_details" def is_team_folders_create_report_failed_details(self): """ Check if the union tag is ``team_folders_create_report_failed_details``. :rtype: bool """ return self._tag == "team_folders_create_report_failed_details" def is_team_storage_create_report_details(self): """ Check if the union tag is ``team_storage_create_report_details``. :rtype: bool """ return self._tag == "team_storage_create_report_details" def is_team_storage_create_report_failed_details(self): """ Check if the union tag is ``team_storage_create_report_failed_details``. :rtype: bool """ return self._tag == "team_storage_create_report_failed_details" def is_collection_share_details(self): """ Check if the union tag is ``collection_share_details``. :rtype: bool """ return self._tag == "collection_share_details" def is_file_transfers_file_add_details(self): """ Check if the union tag is ``file_transfers_file_add_details``. :rtype: bool """ return self._tag == "file_transfers_file_add_details" def is_file_transfers_transfer_delete_details(self): """ Check if the union tag is ``file_transfers_transfer_delete_details``. :rtype: bool """ return self._tag == "file_transfers_transfer_delete_details" def is_file_transfers_transfer_download_details(self): """ Check if the union tag is ``file_transfers_transfer_download_details``. :rtype: bool """ return self._tag == "file_transfers_transfer_download_details" def is_file_transfers_transfer_send_details(self): """ Check if the union tag is ``file_transfers_transfer_send_details``. :rtype: bool """ return self._tag == "file_transfers_transfer_send_details" def is_file_transfers_transfer_view_details(self): """ Check if the union tag is ``file_transfers_transfer_view_details``. :rtype: bool """ return self._tag == "file_transfers_transfer_view_details" def is_media_hub_project_team_add_details(self): """ Check if the union tag is ``media_hub_project_team_add_details``. :rtype: bool """ return self._tag == "media_hub_project_team_add_details" def is_media_hub_project_team_delete_details(self): """ Check if the union tag is ``media_hub_project_team_delete_details``. :rtype: bool """ return self._tag == "media_hub_project_team_delete_details" def is_media_hub_project_team_role_changed_details(self): """ Check if the union tag is ``media_hub_project_team_role_changed_details``. :rtype: bool """ return self._tag == "media_hub_project_team_role_changed_details" def is_media_hub_shared_link_audience_changed_details(self): """ Check if the union tag is ``media_hub_shared_link_audience_changed_details``. :rtype: bool """ return self._tag == "media_hub_shared_link_audience_changed_details" def is_media_hub_shared_link_created_details(self): """ Check if the union tag is ``media_hub_shared_link_created_details``. :rtype: bool """ return self._tag == "media_hub_shared_link_created_details" def is_media_hub_shared_link_download_setting_changed_details(self): """ Check if the union tag is ``media_hub_shared_link_download_setting_changed_details``. :rtype: bool """ return self._tag == "media_hub_shared_link_download_setting_changed_details" def is_media_hub_shared_link_revoked_details(self): """ Check if the union tag is ``media_hub_shared_link_revoked_details``. :rtype: bool """ return self._tag == "media_hub_shared_link_revoked_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_replay_file_shared_link_created_details(self): """ Check if the union tag is ``replay_file_shared_link_created_details``. :rtype: bool """ return self._tag == "replay_file_shared_link_created_details" def is_replay_file_shared_link_modified_details(self): """ Check if the union tag is ``replay_file_shared_link_modified_details``. :rtype: bool """ return self._tag == "replay_file_shared_link_modified_details" def is_replay_project_team_add_details(self): """ Check if the union tag is ``replay_project_team_add_details``. :rtype: bool """ return self._tag == "replay_project_team_add_details" def is_replay_project_team_delete_details(self): """ Check if the union tag is ``replay_project_team_delete_details``. :rtype: bool """ return self._tag == "replay_project_team_delete_details" def is_send_and_track_file_added_details(self): """ Check if the union tag is ``send_and_track_file_added_details``. :rtype: bool """ return self._tag == "send_and_track_file_added_details" def is_send_and_track_file_renamed_details(self): """ Check if the union tag is ``send_and_track_file_renamed_details``. :rtype: bool """ return self._tag == "send_and_track_file_renamed_details" def is_send_and_track_file_updated_details(self): """ Check if the union tag is ``send_and_track_file_updated_details``. :rtype: bool """ return self._tag == "send_and_track_file_updated_details" def is_send_and_track_link_created_details(self): """ Check if the union tag is ``send_and_track_link_created_details``. :rtype: bool """ return self._tag == "send_and_track_link_created_details" def is_send_and_track_link_deleted_details(self): """ Check if the union tag is ``send_and_track_link_deleted_details``. :rtype: bool """ return self._tag == "send_and_track_link_deleted_details" def is_send_and_track_link_updated_details(self): """ Check if the union tag is ``send_and_track_link_updated_details``. :rtype: bool """ return self._tag == "send_and_track_link_updated_details" def is_send_and_track_link_viewed_details(self): """ Check if the union tag is ``send_and_track_link_viewed_details``. :rtype: bool """ return self._tag == "send_and_track_link_viewed_details" def is_send_and_track_removed_file_and_associated_links_details(self): """ Check if the union tag is ``send_and_track_removed_file_and_associated_links_details``. :rtype: bool """ return self._tag == "send_and_track_removed_file_and_associated_links_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_restore_invitees_details(self): """ Check if the union tag is ``shared_content_restore_invitees_details``. :rtype: bool """ return self._tag == "shared_content_restore_invitees_details" def is_shared_content_restore_member_details(self): """ Check if the union tag is ``shared_content_restore_member_details``. :rtype: bool """ return self._tag == "shared_content_restore_member_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_remove_visitor_details(self): """ Check if the union tag is ``shared_link_remove_visitor_details``. :rtype: bool """ return self._tag == "shared_link_remove_visitor_details" def is_shared_link_settings_add_expiration_details(self): """ Check if the union tag is ``shared_link_settings_add_expiration_details``. :rtype: bool """ return self._tag == "shared_link_settings_add_expiration_details" def is_shared_link_settings_add_password_details(self): """ Check if the union tag is ``shared_link_settings_add_password_details``. :rtype: bool """ return self._tag == "shared_link_settings_add_password_details" def is_shared_link_settings_allow_download_disabled_details(self): """ Check if the union tag is ``shared_link_settings_allow_download_disabled_details``. :rtype: bool """ return self._tag == "shared_link_settings_allow_download_disabled_details" def is_shared_link_settings_allow_download_enabled_details(self): """ Check if the union tag is ``shared_link_settings_allow_download_enabled_details``. :rtype: bool """ return self._tag == "shared_link_settings_allow_download_enabled_details" def is_shared_link_settings_change_audience_details(self): """ Check if the union tag is ``shared_link_settings_change_audience_details``. :rtype: bool """ return self._tag == "shared_link_settings_change_audience_details" def is_shared_link_settings_change_expiration_details(self): """ Check if the union tag is ``shared_link_settings_change_expiration_details``. :rtype: bool """ return self._tag == "shared_link_settings_change_expiration_details" def is_shared_link_settings_change_password_details(self): """ Check if the union tag is ``shared_link_settings_change_password_details``. :rtype: bool """ return self._tag == "shared_link_settings_change_password_details" def is_shared_link_settings_remove_expiration_details(self): """ Check if the union tag is ``shared_link_settings_remove_expiration_details``. :rtype: bool """ return self._tag == "shared_link_settings_remove_expiration_details" def is_shared_link_settings_remove_password_details(self): """ Check if the union tag is ``shared_link_settings_remove_password_details``. :rtype: bool """ return self._tag == "shared_link_settings_remove_password_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_disable_downloads_details(self): """ Check if the union tag is ``shmodel_disable_downloads_details``. :rtype: bool """ return self._tag == "shmodel_disable_downloads_details" def is_shmodel_enable_downloads_details(self): """ Check if the union tag is ``shmodel_enable_downloads_details``. :rtype: bool """ return self._tag == "shmodel_enable_downloads_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_sign_signature_request_canceled_details(self): """ Check if the union tag is ``sign_signature_request_canceled_details``. :rtype: bool """ return self._tag == "sign_signature_request_canceled_details" def is_sign_signature_request_completed_details(self): """ Check if the union tag is ``sign_signature_request_completed_details``. :rtype: bool """ return self._tag == "sign_signature_request_completed_details" def is_sign_signature_request_declined_details(self): """ Check if the union tag is ``sign_signature_request_declined_details``. :rtype: bool """ return self._tag == "sign_signature_request_declined_details" def is_sign_signature_request_opened_details(self): """ Check if the union tag is ``sign_signature_request_opened_details``. :rtype: bool """ return self._tag == "sign_signature_request_opened_details" def is_sign_signature_request_reminder_sent_details(self): """ Check if the union tag is ``sign_signature_request_reminder_sent_details``. :rtype: bool """ return self._tag == "sign_signature_request_reminder_sent_details" def is_sign_signature_request_sent_details(self): """ Check if the union tag is ``sign_signature_request_sent_details``. :rtype: bool """ return self._tag == "sign_signature_request_sent_details" def is_sign_template_created_details(self): """ Check if the union tag is ``sign_template_created_details``. :rtype: bool """ return self._tag == "sign_template_created_details" def is_sign_template_shared_details(self): """ Check if the union tag is ``sign_template_shared_details``. :rtype: bool """ return self._tag == "sign_template_shared_details" def is_risc_security_event_details(self): """ Check if the union tag is ``risc_security_event_details``. :rtype: bool """ return self._tag == "risc_security_event_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_folder_space_limits_change_caps_type_details(self): """ Check if the union tag is ``team_folder_space_limits_change_caps_type_details``. :rtype: bool """ return self._tag == "team_folder_space_limits_change_caps_type_details" def is_team_folder_space_limits_change_limit_details(self): """ Check if the union tag is ``team_folder_space_limits_change_limit_details``. :rtype: bool """ return self._tag == "team_folder_space_limits_change_limit_details" def is_team_folder_space_limits_change_notification_target_details(self): """ Check if the union tag is ``team_folder_space_limits_change_notification_target_details``. :rtype: bool """ return self._tag == "team_folder_space_limits_change_notification_target_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_admin_email_reminders_changed_details(self): """ Check if the union tag is ``admin_email_reminders_changed_details``. :rtype: bool """ return self._tag == "admin_email_reminders_changed_details" def is_ai_third_party_sharing_dropbox_base_policy_changed_details(self): """ Check if the union tag is ``ai_third_party_sharing_dropbox_base_policy_changed_details``. :rtype: bool """ return self._tag == "ai_third_party_sharing_dropbox_base_policy_changed_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_apple_login_change_policy_details(self): """ Check if the union tag is ``apple_login_change_policy_details``. :rtype: bool """ return self._tag == "apple_login_change_policy_details" def is_app_permissions_changed_details(self): """ Check if the union tag is ``app_permissions_changed_details``. :rtype: bool """ return self._tag == "app_permissions_changed_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_capture_team_space_policy_changed_details(self): """ Check if the union tag is ``capture_team_space_policy_changed_details``. :rtype: bool """ return self._tag == "capture_team_space_policy_changed_details" def is_capture_transcript_policy_changed_details(self): """ Check if the union tag is ``capture_transcript_policy_changed_details``. :rtype: bool """ return self._tag == "capture_transcript_policy_changed_details" def is_classification_change_policy_details(self): """ Check if the union tag is ``classification_change_policy_details``. :rtype: bool """ return self._tag == "classification_change_policy_details" def is_computer_backup_policy_changed_details(self): """ Check if the union tag is ``computer_backup_policy_changed_details``. :rtype: bool """ return self._tag == "computer_backup_policy_changed_details" def is_content_administration_policy_changed_details(self): """ Check if the union tag is ``content_administration_policy_changed_details``. :rtype: bool """ return self._tag == "content_administration_policy_changed_details" def is_content_deletion_protection_change_policy_details(self): """ Check if the union tag is ``content_deletion_protection_change_policy_details``. :rtype: bool """ return self._tag == "content_deletion_protection_change_policy_details" def is_dash_external_sharing_policy_changed_details(self): """ Check if the union tag is ``dash_external_sharing_policy_changed_details``. :rtype: bool """ return self._tag == "dash_external_sharing_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_add_exception_details(self): """ Check if the union tag is ``device_approvals_add_exception_details``. :rtype: bool """ return self._tag == "device_approvals_add_exception_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_device_approvals_remove_exception_details(self): """ Check if the union tag is ``device_approvals_remove_exception_details``. :rtype: bool """ return self._tag == "device_approvals_remove_exception_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_dropbox_passwords_policy_changed_details(self): """ Check if the union tag is ``dropbox_passwords_policy_changed_details``. :rtype: bool """ return self._tag == "dropbox_passwords_policy_changed_details" def is_email_ingest_policy_changed_details(self): """ Check if the union tag is ``email_ingest_policy_changed_details``. :rtype: bool """ return self._tag == "email_ingest_policy_changed_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_external_drive_backup_policy_changed_details(self): """ Check if the union tag is ``external_drive_backup_policy_changed_details``. :rtype: bool """ return self._tag == "external_drive_backup_policy_changed_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_locking_policy_changed_details(self): """ Check if the union tag is ``file_locking_policy_changed_details``. :rtype: bool """ return self._tag == "file_locking_policy_changed_details" def is_file_provider_migration_policy_changed_details(self): """ Check if the union tag is ``file_provider_migration_policy_changed_details``. :rtype: bool """ return self._tag == "file_provider_migration_policy_changed_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_file_transfers_policy_changed_details(self): """ Check if the union tag is ``file_transfers_policy_changed_details``. :rtype: bool """ return self._tag == "file_transfers_policy_changed_details" def is_flexible_file_names_policy_changed_details(self): """ Check if the union tag is ``flexible_file_names_policy_changed_details``. :rtype: bool """ return self._tag == "flexible_file_names_policy_changed_details" def is_folder_link_restriction_policy_changed_details(self): """ Check if the union tag is ``folder_link_restriction_policy_changed_details``. :rtype: bool """ return self._tag == "folder_link_restriction_policy_changed_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_invite_acceptance_email_policy_changed_details(self): """ Check if the union tag is ``invite_acceptance_email_policy_changed_details``. :rtype: bool """ return self._tag == "invite_acceptance_email_policy_changed_details" def is_media_hub_adding_people_policy_changed_details(self): """ Check if the union tag is ``media_hub_adding_people_policy_changed_details``. :rtype: bool """ return self._tag == "media_hub_adding_people_policy_changed_details" def is_media_hub_download_policy_changed_details(self): """ Check if the union tag is ``media_hub_download_policy_changed_details``. :rtype: bool """ return self._tag == "media_hub_download_policy_changed_details" def is_media_hub_link_sharing_policy_changed_details(self): """ Check if the union tag is ``media_hub_link_sharing_policy_changed_details``. :rtype: bool """ return self._tag == "media_hub_link_sharing_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_send_invite_policy_changed_details(self): """ Check if the union tag is ``member_send_invite_policy_changed_details``. :rtype: bool """ return self._tag == "member_send_invite_policy_changed_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_login_change_policy_details(self): """ Check if the union tag is ``microsoft_login_change_policy_details``. :rtype: bool """ return self._tag == "microsoft_login_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_multi_team_identity_policy_changed_details(self): """ Check if the union tag is ``multi_team_identity_policy_changed_details``. :rtype: bool """ return self._tag == "multi_team_identity_policy_changed_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_passkey_login_policy_changed_details(self): """ Check if the union tag is ``passkey_login_policy_changed_details``. :rtype: bool """ return self._tag == "passkey_login_policy_changed_details" def is_password_strength_requirements_change_policy_details(self): """ Check if the union tag is ``password_strength_requirements_change_policy_details``. :rtype: bool """ return self._tag == "password_strength_requirements_change_policy_details" def is_permanent_delete_change_policy_details(self): """ Check if the union tag is ``permanent_delete_change_policy_details``. :rtype: bool """ return self._tag == "permanent_delete_change_policy_details" def is_previews_ai_policy_changed_details(self): """ Check if the union tag is ``previews_ai_policy_changed_details``. :rtype: bool """ return self._tag == "previews_ai_policy_changed_details" def is_replay_adding_people_policy_changed_details(self): """ Check if the union tag is ``replay_adding_people_policy_changed_details``. :rtype: bool """ return self._tag == "replay_adding_people_policy_changed_details" def is_replay_sharing_policy_changed_details(self): """ Check if the union tag is ``replay_sharing_policy_changed_details``. :rtype: bool """ return self._tag == "replay_sharing_policy_changed_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_rewind_policy_changed_details(self): """ Check if the union tag is ``rewind_policy_changed_details``. :rtype: bool """ return self._tag == "rewind_policy_changed_details" def is_send_and_track_policy_changed_details(self): """ Check if the union tag is ``send_and_track_policy_changed_details``. :rtype: bool """ return self._tag == "send_and_track_policy_changed_details" def is_send_external_sharing_policy_changed_details(self): """ Check if the union tag is ``send_external_sharing_policy_changed_details``. :rtype: bool """ return self._tag == "send_external_sharing_policy_changed_details" def is_send_for_signature_policy_changed_details(self): """ Check if the union tag is ``send_for_signature_policy_changed_details``. :rtype: bool """ return self._tag == "send_for_signature_policy_changed_details" def is_shared_link_default_permissions_policy_changed_details(self): """ Check if the union tag is ``shared_link_default_permissions_policy_changed_details``. :rtype: bool """ return self._tag == "shared_link_default_permissions_policy_changed_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_allow_change_expiration_policy_details(self): """ Check if the union tag is ``sharing_change_link_allow_change_expiration_policy_details``. :rtype: bool """ return self._tag == "sharing_change_link_allow_change_expiration_policy_details" def is_sharing_change_link_default_expiration_policy_details(self): """ Check if the union tag is ``sharing_change_link_default_expiration_policy_details``. :rtype: bool """ return self._tag == "sharing_change_link_default_expiration_policy_details" def is_sharing_change_link_enforce_password_policy_details(self): """ Check if the union tag is ``sharing_change_link_enforce_password_policy_details``. :rtype: bool """ return self._tag == "sharing_change_link_enforce_password_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_sign_external_sharing_policy_changed_details(self): """ Check if the union tag is ``sign_external_sharing_policy_changed_details``. :rtype: bool """ return self._tag == "sign_external_sharing_policy_changed_details" def is_sign_template_creation_permission_changed_details(self): """ Check if the union tag is ``sign_template_creation_permission_changed_details``. :rtype: bool """ return self._tag == "sign_template_creation_permission_changed_details" def is_smarter_smart_sync_policy_changed_details(self): """ Check if the union tag is ``smarter_smart_sync_policy_changed_details``. :rtype: bool """ return self._tag == "smarter_smart_sync_policy_changed_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_stack_cross_team_access_policy_changed_details(self): """ Check if the union tag is ``stack_cross_team_access_policy_changed_details``. :rtype: bool """ return self._tag == "stack_cross_team_access_policy_changed_details" def is_team_branding_policy_changed_details(self): """ Check if the union tag is ``team_branding_policy_changed_details``. :rtype: bool """ return self._tag == "team_branding_policy_changed_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_member_storage_request_policy_changed_details(self): """ Check if the union tag is ``team_member_storage_request_policy_changed_details``. :rtype: bool """ return self._tag == "team_member_storage_request_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_team_sharing_whitelist_subjects_changed_details(self): """ Check if the union tag is ``team_sharing_whitelist_subjects_changed_details``. :rtype: bool """ return self._tag == "team_sharing_whitelist_subjects_changed_details" def is_tfa_add_exception_details(self): """ Check if the union tag is ``tfa_add_exception_details``. :rtype: bool """ return self._tag == "tfa_add_exception_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_tfa_remove_exception_details(self): """ Check if the union tag is ``tfa_remove_exception_details``. :rtype: bool """ return self._tag == "tfa_remove_exception_details" def is_top_level_content_policy_changed_details(self): """ Check if the union tag is ``top_level_content_policy_changed_details``. :rtype: bool """ return self._tag == "top_level_content_policy_changed_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_watermarking_policy_changed_details(self): """ Check if the union tag is ``watermarking_policy_changed_details``. :rtype: bool """ return self._tag == "watermarking_policy_changed_details" def is_web_sessions_change_active_session_limit_details(self): """ Check if the union tag is ``web_sessions_change_active_session_limit_details``. :rtype: bool """ return self._tag == "web_sessions_change_active_session_limit_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_data_residency_migration_request_successful_details(self): """ Check if the union tag is ``data_residency_migration_request_successful_details``. :rtype: bool """ return self._tag == "data_residency_migration_request_successful_details" def is_data_residency_migration_request_unsuccessful_details(self): """ Check if the union tag is ``data_residency_migration_request_unsuccessful_details``. :rtype: bool """ return self._tag == "data_residency_migration_request_unsuccessful_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_background_details(self): """ Check if the union tag is ``team_profile_add_background_details``. :rtype: bool """ return self._tag == "team_profile_add_background_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_background_details(self): """ Check if the union tag is ``team_profile_change_background_details``. :rtype: bool """ return self._tag == "team_profile_change_background_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_background_details(self): """ Check if the union tag is ``team_profile_remove_background_details``. :rtype: bool """ return self._tag == "team_profile_remove_background_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_passkey_add_details(self): """ Check if the union tag is ``passkey_add_details``. :rtype: bool """ return self._tag == "passkey_add_details" def is_passkey_remove_details(self): """ Check if the union tag is ``passkey_remove_details``. :rtype: bool """ return self._tag == "passkey_remove_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_changed_enterprise_admin_role_details(self): """ Check if the union tag is ``changed_enterprise_admin_role_details``. :rtype: bool """ return self._tag == "changed_enterprise_admin_role_details" def is_changed_enterprise_connected_team_status_details(self): """ Check if the union tag is ``changed_enterprise_connected_team_status_details``. :rtype: bool """ return self._tag == "changed_enterprise_connected_team_status_details" def is_ended_enterprise_admin_session_details(self): """ Check if the union tag is ``ended_enterprise_admin_session_details``. :rtype: bool """ return self._tag == "ended_enterprise_admin_session_details" def is_ended_enterprise_admin_session_deprecated_details(self): """ Check if the union tag is ``ended_enterprise_admin_session_deprecated_details``. :rtype: bool """ return self._tag == "ended_enterprise_admin_session_deprecated_details" def is_enterprise_settings_locking_details(self): """ Check if the union tag is ``enterprise_settings_locking_details``. :rtype: bool """ return self._tag == "enterprise_settings_locking_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_started_enterprise_admin_session_details(self): """ Check if the union tag is ``started_enterprise_admin_session_details``. :rtype: bool """ return self._tag == "started_enterprise_admin_session_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_admin_alerting_alert_state_changed_details(self): """ Only call this if :meth:`is_admin_alerting_alert_state_changed_details` is true. :rtype: AdminAlertingAlertStateChangedDetails """ if not self.is_admin_alerting_alert_state_changed_details(): raise AttributeError("tag 'admin_alerting_alert_state_changed_details' not set") return self._value def get_admin_alerting_changed_alert_config_details(self): """ Only call this if :meth:`is_admin_alerting_changed_alert_config_details` is true. :rtype: AdminAlertingChangedAlertConfigDetails """ if not self.is_admin_alerting_changed_alert_config_details(): raise AttributeError("tag 'admin_alerting_changed_alert_config_details' not set") return self._value def get_admin_alerting_triggered_alert_details(self): """ Only call this if :meth:`is_admin_alerting_triggered_alert_details` is true. :rtype: AdminAlertingTriggeredAlertDetails """ if not self.is_admin_alerting_triggered_alert_details(): raise AttributeError("tag 'admin_alerting_triggered_alert_details' not set") return self._value def get_ransomware_restore_process_completed_details(self): """ Only call this if :meth:`is_ransomware_restore_process_completed_details` is true. :rtype: RansomwareRestoreProcessCompletedDetails """ if not self.is_ransomware_restore_process_completed_details(): raise AttributeError("tag 'ransomware_restore_process_completed_details' not set") return self._value def get_ransomware_restore_process_started_details(self): """ Only call this if :meth:`is_ransomware_restore_process_started_details` is true. :rtype: RansomwareRestoreProcessStartedDetails """ if not self.is_ransomware_restore_process_started_details(): raise AttributeError("tag 'ransomware_restore_process_started_details' not set") return self._value def get_app_blocked_by_permissions_details(self): """ Only call this if :meth:`is_app_blocked_by_permissions_details` is true. :rtype: AppBlockedByPermissionsDetails """ if not self.is_app_blocked_by_permissions_details(): raise AttributeError("tag 'app_blocked_by_permissions_details' not set") return self._value 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_dash_added_comment_to_stack_details(self): """ Only call this if :meth:`is_dash_added_comment_to_stack_details` is true. :rtype: DashAddedCommentToStackDetails """ if not self.is_dash_added_comment_to_stack_details(): raise AttributeError("tag 'dash_added_comment_to_stack_details' not set") return self._value def get_dash_added_connector_details(self): """ Only call this if :meth:`is_dash_added_connector_details` is true. :rtype: DashAddedConnectorDetails """ if not self.is_dash_added_connector_details(): raise AttributeError("tag 'dash_added_connector_details' not set") return self._value def get_dash_added_link_to_stack_details(self): """ Only call this if :meth:`is_dash_added_link_to_stack_details` is true. :rtype: DashAddedLinkToStackDetails """ if not self.is_dash_added_link_to_stack_details(): raise AttributeError("tag 'dash_added_link_to_stack_details' not set") return self._value def get_dash_added_team_email_domain_allowlist_details(self): """ Only call this if :meth:`is_dash_added_team_email_domain_allowlist_details` is true. :rtype: DashAddedTeamEmailDomainAllowlistDetails """ if not self.is_dash_added_team_email_domain_allowlist_details(): raise AttributeError("tag 'dash_added_team_email_domain_allowlist_details' not set") return self._value def get_dash_admin_added_org_wide_connector_details(self): """ Only call this if :meth:`is_dash_admin_added_org_wide_connector_details` is true. :rtype: DashAdminAddedOrgWideConnectorDetails """ if not self.is_dash_admin_added_org_wide_connector_details(): raise AttributeError("tag 'dash_admin_added_org_wide_connector_details' not set") return self._value def get_dash_admin_disabled_connector_details(self): """ Only call this if :meth:`is_dash_admin_disabled_connector_details` is true. :rtype: DashAdminDisabledConnectorDetails """ if not self.is_dash_admin_disabled_connector_details(): raise AttributeError("tag 'dash_admin_disabled_connector_details' not set") return self._value def get_dash_admin_enabled_connector_details(self): """ Only call this if :meth:`is_dash_admin_enabled_connector_details` is true. :rtype: DashAdminEnabledConnectorDetails """ if not self.is_dash_admin_enabled_connector_details(): raise AttributeError("tag 'dash_admin_enabled_connector_details' not set") return self._value def get_dash_admin_removed_org_wide_connector_details(self): """ Only call this if :meth:`is_dash_admin_removed_org_wide_connector_details` is true. :rtype: DashAdminRemovedOrgWideConnectorDetails """ if not self.is_dash_admin_removed_org_wide_connector_details(): raise AttributeError("tag 'dash_admin_removed_org_wide_connector_details' not set") return self._value def get_dash_archived_stack_details(self): """ Only call this if :meth:`is_dash_archived_stack_details` is true. :rtype: DashArchivedStackDetails """ if not self.is_dash_archived_stack_details(): raise AttributeError("tag 'dash_archived_stack_details' not set") return self._value def get_dash_changed_audience_of_shared_link_to_stack_details(self): """ Only call this if :meth:`is_dash_changed_audience_of_shared_link_to_stack_details` is true. :rtype: DashChangedAudienceOfSharedLinkToStackDetails """ if not self.is_dash_changed_audience_of_shared_link_to_stack_details(): raise AttributeError( "tag 'dash_changed_audience_of_shared_link_to_stack_details' not set" ) return self._value def get_dash_cloned_stack_details(self): """ Only call this if :meth:`is_dash_cloned_stack_details` is true. :rtype: DashClonedStackDetails """ if not self.is_dash_cloned_stack_details(): raise AttributeError("tag 'dash_cloned_stack_details' not set") return self._value def get_dash_connector_tools_call_details(self): """ Only call this if :meth:`is_dash_connector_tools_call_details` is true. :rtype: DashConnectorToolsCallDetails """ if not self.is_dash_connector_tools_call_details(): raise AttributeError("tag 'dash_connector_tools_call_details' not set") return self._value def get_dash_created_stack_details(self): """ Only call this if :meth:`is_dash_created_stack_details` is true. :rtype: DashCreatedStackDetails """ if not self.is_dash_created_stack_details(): raise AttributeError("tag 'dash_created_stack_details' not set") return self._value def get_dash_deleted_comment_from_stack_details(self): """ Only call this if :meth:`is_dash_deleted_comment_from_stack_details` is true. :rtype: DashDeletedCommentFromStackDetails """ if not self.is_dash_deleted_comment_from_stack_details(): raise AttributeError("tag 'dash_deleted_comment_from_stack_details' not set") return self._value def get_dash_deleted_stack_details(self): """ Only call this if :meth:`is_dash_deleted_stack_details` is true. :rtype: DashDeletedStackDetails """ if not self.is_dash_deleted_stack_details(): raise AttributeError("tag 'dash_deleted_stack_details' not set") return self._value def get_dash_edited_comment_in_stack_details(self): """ Only call this if :meth:`is_dash_edited_comment_in_stack_details` is true. :rtype: DashEditedCommentInStackDetails """ if not self.is_dash_edited_comment_in_stack_details(): raise AttributeError("tag 'dash_edited_comment_in_stack_details' not set") return self._value def get_dash_external_user_opened_stack_details(self): """ Only call this if :meth:`is_dash_external_user_opened_stack_details` is true. :rtype: DashExternalUserOpenedStackDetails """ if not self.is_dash_external_user_opened_stack_details(): raise AttributeError("tag 'dash_external_user_opened_stack_details' not set") return self._value def get_dash_first_launched_desktop_details(self): """ Only call this if :meth:`is_dash_first_launched_desktop_details` is true. :rtype: DashFirstLaunchedDesktopDetails """ if not self.is_dash_first_launched_desktop_details(): raise AttributeError("tag 'dash_first_launched_desktop_details' not set") return self._value def get_dash_first_launched_extension_details(self): """ Only call this if :meth:`is_dash_first_launched_extension_details` is true. :rtype: DashFirstLaunchedExtensionDetails """ if not self.is_dash_first_launched_extension_details(): raise AttributeError("tag 'dash_first_launched_extension_details' not set") return self._value def get_dash_first_launched_web_start_page_details(self): """ Only call this if :meth:`is_dash_first_launched_web_start_page_details` is true. :rtype: DashFirstLaunchedWebStartPageDetails """ if not self.is_dash_first_launched_web_start_page_details(): raise AttributeError("tag 'dash_first_launched_web_start_page_details' not set") return self._value def get_dash_opened_shared_link_to_stack_details(self): """ Only call this if :meth:`is_dash_opened_shared_link_to_stack_details` is true. :rtype: DashOpenedSharedLinkToStackDetails """ if not self.is_dash_opened_shared_link_to_stack_details(): raise AttributeError("tag 'dash_opened_shared_link_to_stack_details' not set") return self._value def get_dash_opened_stack_details(self): """ Only call this if :meth:`is_dash_opened_stack_details` is true. :rtype: DashOpenedStackDetails """ if not self.is_dash_opened_stack_details(): raise AttributeError("tag 'dash_opened_stack_details' not set") return self._value def get_dash_preview_opt_out_status_changed_details(self): """ Only call this if :meth:`is_dash_preview_opt_out_status_changed_details` is true. :rtype: DashPreviewOptOutStatusChangedDetails """ if not self.is_dash_preview_opt_out_status_changed_details(): raise AttributeError("tag 'dash_preview_opt_out_status_changed_details' not set") return self._value def get_dash_removed_connector_details(self): """ Only call this if :meth:`is_dash_removed_connector_details` is true. :rtype: DashRemovedConnectorDetails """ if not self.is_dash_removed_connector_details(): raise AttributeError("tag 'dash_removed_connector_details' not set") return self._value def get_dash_removed_link_from_stack_details(self): """ Only call this if :meth:`is_dash_removed_link_from_stack_details` is true. :rtype: DashRemovedLinkFromStackDetails """ if not self.is_dash_removed_link_from_stack_details(): raise AttributeError("tag 'dash_removed_link_from_stack_details' not set") return self._value def get_dash_removed_shared_link_to_stack_details(self): """ Only call this if :meth:`is_dash_removed_shared_link_to_stack_details` is true. :rtype: DashRemovedSharedLinkToStackDetails """ if not self.is_dash_removed_shared_link_to_stack_details(): raise AttributeError("tag 'dash_removed_shared_link_to_stack_details' not set") return self._value def get_dash_removed_team_email_domain_allowlist_details(self): """ Only call this if :meth:`is_dash_removed_team_email_domain_allowlist_details` is true. :rtype: DashRemovedTeamEmailDomainAllowlistDetails """ if not self.is_dash_removed_team_email_domain_allowlist_details(): raise AttributeError("tag 'dash_removed_team_email_domain_allowlist_details' not set") return self._value def get_dash_renamed_stack_details(self): """ Only call this if :meth:`is_dash_renamed_stack_details` is true. :rtype: DashRenamedStackDetails """ if not self.is_dash_renamed_stack_details(): raise AttributeError("tag 'dash_renamed_stack_details' not set") return self._value def get_dash_shared_link_to_stack_details(self): """ Only call this if :meth:`is_dash_shared_link_to_stack_details` is true. :rtype: DashSharedLinkToStackDetails """ if not self.is_dash_shared_link_to_stack_details(): raise AttributeError("tag 'dash_shared_link_to_stack_details' not set") return self._value def get_dash_unarchived_stack_details(self): """ Only call this if :meth:`is_dash_unarchived_stack_details` is true. :rtype: DashUnarchivedStackDetails """ if not self.is_dash_unarchived_stack_details(): raise AttributeError("tag 'dash_unarchived_stack_details' not set") return self._value def get_dash_viewed_company_stack_details(self): """ Only call this if :meth:`is_dash_viewed_company_stack_details` is true. :rtype: DashViewedCompanyStackDetails """ if not self.is_dash_viewed_company_stack_details(): raise AttributeError("tag 'dash_viewed_company_stack_details' not set") return self._value def get_dash_viewed_external_ai_activity_report_details(self): """ Only call this if :meth:`is_dash_viewed_external_ai_activity_report_details` is true. :rtype: DashViewedExternalAiActivityReportDetails """ if not self.is_dash_viewed_external_ai_activity_report_details(): raise AttributeError("tag 'dash_viewed_external_ai_activity_report_details' not set") return self._value def get_governance_policy_add_folders_details(self): """ Only call this if :meth:`is_governance_policy_add_folders_details` is true. :rtype: GovernancePolicyAddFoldersDetails """ if not self.is_governance_policy_add_folders_details(): raise AttributeError("tag 'governance_policy_add_folders_details' not set") return self._value def get_governance_policy_add_folder_failed_details(self): """ Only call this if :meth:`is_governance_policy_add_folder_failed_details` is true. :rtype: GovernancePolicyAddFolderFailedDetails """ if not self.is_governance_policy_add_folder_failed_details(): raise AttributeError("tag 'governance_policy_add_folder_failed_details' not set") return self._value def get_governance_policy_content_disposed_details(self): """ Only call this if :meth:`is_governance_policy_content_disposed_details` is true. :rtype: GovernancePolicyContentDisposedDetails """ if not self.is_governance_policy_content_disposed_details(): raise AttributeError("tag 'governance_policy_content_disposed_details' not set") return self._value def get_governance_policy_create_details(self): """ Only call this if :meth:`is_governance_policy_create_details` is true. :rtype: GovernancePolicyCreateDetails """ if not self.is_governance_policy_create_details(): raise AttributeError("tag 'governance_policy_create_details' not set") return self._value def get_governance_policy_delete_details(self): """ Only call this if :meth:`is_governance_policy_delete_details` is true. :rtype: GovernancePolicyDeleteDetails """ if not self.is_governance_policy_delete_details(): raise AttributeError("tag 'governance_policy_delete_details' not set") return self._value def get_governance_policy_edit_details_details(self): """ Only call this if :meth:`is_governance_policy_edit_details_details` is true. :rtype: GovernancePolicyEditDetailsDetails """ if not self.is_governance_policy_edit_details_details(): raise AttributeError("tag 'governance_policy_edit_details_details' not set") return self._value def get_governance_policy_edit_duration_details(self): """ Only call this if :meth:`is_governance_policy_edit_duration_details` is true. :rtype: GovernancePolicyEditDurationDetails """ if not self.is_governance_policy_edit_duration_details(): raise AttributeError("tag 'governance_policy_edit_duration_details' not set") return self._value def get_governance_policy_export_created_details(self): """ Only call this if :meth:`is_governance_policy_export_created_details` is true. :rtype: GovernancePolicyExportCreatedDetails """ if not self.is_governance_policy_export_created_details(): raise AttributeError("tag 'governance_policy_export_created_details' not set") return self._value def get_governance_policy_export_removed_details(self): """ Only call this if :meth:`is_governance_policy_export_removed_details` is true. :rtype: GovernancePolicyExportRemovedDetails """ if not self.is_governance_policy_export_removed_details(): raise AttributeError("tag 'governance_policy_export_removed_details' not set") return self._value def get_governance_policy_remove_folders_details(self): """ Only call this if :meth:`is_governance_policy_remove_folders_details` is true. :rtype: GovernancePolicyRemoveFoldersDetails """ if not self.is_governance_policy_remove_folders_details(): raise AttributeError("tag 'governance_policy_remove_folders_details' not set") return self._value def get_governance_policy_report_created_details(self): """ Only call this if :meth:`is_governance_policy_report_created_details` is true. :rtype: GovernancePolicyReportCreatedDetails """ if not self.is_governance_policy_report_created_details(): raise AttributeError("tag 'governance_policy_report_created_details' not set") return self._value def get_governance_policy_zip_part_downloaded_details(self): """ Only call this if :meth:`is_governance_policy_zip_part_downloaded_details` is true. :rtype: GovernancePolicyZipPartDownloadedDetails """ if not self.is_governance_policy_zip_part_downloaded_details(): raise AttributeError("tag 'governance_policy_zip_part_downloaded_details' not set") return self._value def get_legal_holds_activate_a_hold_details(self): """ Only call this if :meth:`is_legal_holds_activate_a_hold_details` is true. :rtype: LegalHoldsActivateAHoldDetails """ if not self.is_legal_holds_activate_a_hold_details(): raise AttributeError("tag 'legal_holds_activate_a_hold_details' not set") return self._value def get_legal_holds_add_members_details(self): """ Only call this if :meth:`is_legal_holds_add_members_details` is true. :rtype: LegalHoldsAddMembersDetails """ if not self.is_legal_holds_add_members_details(): raise AttributeError("tag 'legal_holds_add_members_details' not set") return self._value def get_legal_holds_change_hold_details_details(self): """ Only call this if :meth:`is_legal_holds_change_hold_details_details` is true. :rtype: LegalHoldsChangeHoldDetailsDetails """ if not self.is_legal_holds_change_hold_details_details(): raise AttributeError("tag 'legal_holds_change_hold_details_details' not set") return self._value def get_legal_holds_change_hold_name_details(self): """ Only call this if :meth:`is_legal_holds_change_hold_name_details` is true. :rtype: LegalHoldsChangeHoldNameDetails """ if not self.is_legal_holds_change_hold_name_details(): raise AttributeError("tag 'legal_holds_change_hold_name_details' not set") return self._value def get_legal_holds_export_a_hold_details(self): """ Only call this if :meth:`is_legal_holds_export_a_hold_details` is true. :rtype: LegalHoldsExportAHoldDetails """ if not self.is_legal_holds_export_a_hold_details(): raise AttributeError("tag 'legal_holds_export_a_hold_details' not set") return self._value def get_legal_holds_export_cancelled_details(self): """ Only call this if :meth:`is_legal_holds_export_cancelled_details` is true. :rtype: LegalHoldsExportCancelledDetails """ if not self.is_legal_holds_export_cancelled_details(): raise AttributeError("tag 'legal_holds_export_cancelled_details' not set") return self._value def get_legal_holds_export_downloaded_details(self): """ Only call this if :meth:`is_legal_holds_export_downloaded_details` is true. :rtype: LegalHoldsExportDownloadedDetails """ if not self.is_legal_holds_export_downloaded_details(): raise AttributeError("tag 'legal_holds_export_downloaded_details' not set") return self._value def get_legal_holds_export_removed_details(self): """ Only call this if :meth:`is_legal_holds_export_removed_details` is true. :rtype: LegalHoldsExportRemovedDetails """ if not self.is_legal_holds_export_removed_details(): raise AttributeError("tag 'legal_holds_export_removed_details' not set") return self._value def get_legal_holds_release_a_hold_details(self): """ Only call this if :meth:`is_legal_holds_release_a_hold_details` is true. :rtype: LegalHoldsReleaseAHoldDetails """ if not self.is_legal_holds_release_a_hold_details(): raise AttributeError("tag 'legal_holds_release_a_hold_details' not set") return self._value def get_legal_holds_remove_members_details(self): """ Only call this if :meth:`is_legal_holds_remove_members_details` is true. :rtype: LegalHoldsRemoveMembersDetails """ if not self.is_legal_holds_remove_members_details(): raise AttributeError("tag 'legal_holds_remove_members_details' not set") return self._value def get_legal_holds_report_a_hold_details(self): """ Only call this if :meth:`is_legal_holds_report_a_hold_details` is true. :rtype: LegalHoldsReportAHoldDetails """ if not self.is_legal_holds_report_a_hold_details(): raise AttributeError("tag 'legal_holds_report_a_hold_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_sync_backup_status_changed_details(self): """ Only call this if :meth:`is_device_sync_backup_status_changed_details` is true. :rtype: DeviceSyncBackupStatusChangedDetails """ if not self.is_device_sync_backup_status_changed_details(): raise AttributeError("tag 'device_sync_backup_status_changed_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_dropbox_passwords_exported_details(self): """ Only call this if :meth:`is_dropbox_passwords_exported_details` is true. :rtype: DropboxPasswordsExportedDetails """ if not self.is_dropbox_passwords_exported_details(): raise AttributeError("tag 'dropbox_passwords_exported_details' not set") return self._value def get_dropbox_passwords_new_device_enrolled_details(self): """ Only call this if :meth:`is_dropbox_passwords_new_device_enrolled_details` is true. :rtype: DropboxPasswordsNewDeviceEnrolledDetails """ if not self.is_dropbox_passwords_new_device_enrolled_details(): raise AttributeError("tag 'dropbox_passwords_new_device_enrolled_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_external_drive_backup_eligibility_status_checked_details(self): """ Only call this if :meth:`is_external_drive_backup_eligibility_status_checked_details` is true. :rtype: ExternalDriveBackupEligibilityStatusCheckedDetails """ if not self.is_external_drive_backup_eligibility_status_checked_details(): raise AttributeError( "tag 'external_drive_backup_eligibility_status_checked_details' not set" ) return self._value def get_external_drive_backup_status_changed_details(self): """ Only call this if :meth:`is_external_drive_backup_status_changed_details` is true. :rtype: ExternalDriveBackupStatusChangedDetails """ if not self.is_external_drive_backup_status_changed_details(): raise AttributeError("tag 'external_drive_backup_status_changed_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_encrypted_folder_cancel_team_key_rotation_details(self): """ Only call this if :meth:`is_encrypted_folder_cancel_team_key_rotation_details` is true. :rtype: EncryptedFolderCancelTeamKeyRotationDetails """ if not self.is_encrypted_folder_cancel_team_key_rotation_details(): raise AttributeError("tag 'encrypted_folder_cancel_team_key_rotation_details' not set") return self._value def get_encrypted_folder_enroll_backup_key_details(self): """ Only call this if :meth:`is_encrypted_folder_enroll_backup_key_details` is true. :rtype: EncryptedFolderEnrollBackupKeyDetails """ if not self.is_encrypted_folder_enroll_backup_key_details(): raise AttributeError("tag 'encrypted_folder_enroll_backup_key_details' not set") return self._value def get_encrypted_folder_enroll_client_details(self): """ Only call this if :meth:`is_encrypted_folder_enroll_client_details` is true. :rtype: EncryptedFolderEnrollClientDetails """ if not self.is_encrypted_folder_enroll_client_details(): raise AttributeError("tag 'encrypted_folder_enroll_client_details' not set") return self._value def get_encrypted_folder_enroll_team_details(self): """ Only call this if :meth:`is_encrypted_folder_enroll_team_details` is true. :rtype: EncryptedFolderEnrollTeamDetails """ if not self.is_encrypted_folder_enroll_team_details(): raise AttributeError("tag 'encrypted_folder_enroll_team_details' not set") return self._value def get_encrypted_folder_finish_team_unenrollment_details(self): """ Only call this if :meth:`is_encrypted_folder_finish_team_unenrollment_details` is true. :rtype: EncryptedFolderFinishTeamUnenrollmentDetails """ if not self.is_encrypted_folder_finish_team_unenrollment_details(): raise AttributeError("tag 'encrypted_folder_finish_team_unenrollment_details' not set") return self._value def get_encrypted_folder_init_team_key_rotation_details(self): """ Only call this if :meth:`is_encrypted_folder_init_team_key_rotation_details` is true. :rtype: EncryptedFolderInitTeamKeyRotationDetails """ if not self.is_encrypted_folder_init_team_key_rotation_details(): raise AttributeError("tag 'encrypted_folder_init_team_key_rotation_details' not set") return self._value def get_encrypted_folder_init_team_unenrollment_details(self): """ Only call this if :meth:`is_encrypted_folder_init_team_unenrollment_details` is true. :rtype: EncryptedFolderInitTeamUnenrollmentDetails """ if not self.is_encrypted_folder_init_team_unenrollment_details(): raise AttributeError("tag 'encrypted_folder_init_team_unenrollment_details' not set") return self._value def get_encrypted_folder_remove_backup_key_details(self): """ Only call this if :meth:`is_encrypted_folder_remove_backup_key_details` is true. :rtype: EncryptedFolderRemoveBackupKeyDetails """ if not self.is_encrypted_folder_remove_backup_key_details(): raise AttributeError("tag 'encrypted_folder_remove_backup_key_details' not set") return self._value def get_encrypted_folder_rotate_team_key_details(self): """ Only call this if :meth:`is_encrypted_folder_rotate_team_key_details` is true. :rtype: EncryptedFolderRotateTeamKeyDetails """ if not self.is_encrypted_folder_rotate_team_key_details(): raise AttributeError("tag 'encrypted_folder_rotate_team_key_details' not set") return self._value def get_encrypted_folder_unenroll_client_details(self): """ Only call this if :meth:`is_encrypted_folder_unenroll_client_details` is true. :rtype: EncryptedFolderUnenrollClientDetails """ if not self.is_encrypted_folder_unenroll_client_details(): raise AttributeError("tag 'encrypted_folder_unenroll_client_details' not set") return self._value def get_team_encryption_key_activate_key_details(self): """ Only call this if :meth:`is_team_encryption_key_activate_key_details` is true. :rtype: TeamEncryptionKeyActivateKeyDetails """ if not self.is_team_encryption_key_activate_key_details(): raise AttributeError("tag 'team_encryption_key_activate_key_details' not set") return self._value def get_team_encryption_key_cancel_key_deletion_details(self): """ Only call this if :meth:`is_team_encryption_key_cancel_key_deletion_details` is true. :rtype: TeamEncryptionKeyCancelKeyDeletionDetails """ if not self.is_team_encryption_key_cancel_key_deletion_details(): raise AttributeError("tag 'team_encryption_key_cancel_key_deletion_details' not set") return self._value def get_team_encryption_key_create_key_details(self): """ Only call this if :meth:`is_team_encryption_key_create_key_details` is true. :rtype: TeamEncryptionKeyCreateKeyDetails """ if not self.is_team_encryption_key_create_key_details(): raise AttributeError("tag 'team_encryption_key_create_key_details' not set") return self._value def get_team_encryption_key_deactivate_key_details(self): """ Only call this if :meth:`is_team_encryption_key_deactivate_key_details` is true. :rtype: TeamEncryptionKeyDeactivateKeyDetails """ if not self.is_team_encryption_key_deactivate_key_details(): raise AttributeError("tag 'team_encryption_key_deactivate_key_details' not set") return self._value def get_team_encryption_key_delete_key_details(self): """ Only call this if :meth:`is_team_encryption_key_delete_key_details` is true. :rtype: TeamEncryptionKeyDeleteKeyDetails """ if not self.is_team_encryption_key_delete_key_details(): raise AttributeError("tag 'team_encryption_key_delete_key_details' not set") return self._value def get_team_encryption_key_disable_key_details(self): """ Only call this if :meth:`is_team_encryption_key_disable_key_details` is true. :rtype: TeamEncryptionKeyDisableKeyDetails """ if not self.is_team_encryption_key_disable_key_details(): raise AttributeError("tag 'team_encryption_key_disable_key_details' not set") return self._value def get_team_encryption_key_enable_key_details(self): """ Only call this if :meth:`is_team_encryption_key_enable_key_details` is true. :rtype: TeamEncryptionKeyEnableKeyDetails """ if not self.is_team_encryption_key_enable_key_details(): raise AttributeError("tag 'team_encryption_key_enable_key_details' not set") return self._value def get_team_encryption_key_rotate_key_details(self): """ Only call this if :meth:`is_team_encryption_key_rotate_key_details` is true. :rtype: TeamEncryptionKeyRotateKeyDetails """ if not self.is_team_encryption_key_rotate_key_details(): raise AttributeError("tag 'team_encryption_key_rotate_key_details' not set") return self._value def get_team_encryption_key_schedule_key_deletion_details(self): """ Only call this if :meth:`is_team_encryption_key_schedule_key_deletion_details` is true. :rtype: TeamEncryptionKeyScheduleKeyDeletionDetails """ if not self.is_team_encryption_key_schedule_key_deletion_details(): raise AttributeError("tag 'team_encryption_key_schedule_key_deletion_details' not set") return self._value def get_apply_naming_convention_details(self): """ Only call this if :meth:`is_apply_naming_convention_details` is true. :rtype: ApplyNamingConventionDetails """ if not self.is_apply_naming_convention_details(): raise AttributeError("tag 'apply_naming_convention_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_add_from_automation_details(self): """ Only call this if :meth:`is_file_add_from_automation_details` is true. :rtype: FileAddFromAutomationDetails """ if not self.is_file_add_from_automation_details(): raise AttributeError("tag 'file_add_from_automation_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_locking_lock_status_changed_details(self): """ Only call this if :meth:`is_file_locking_lock_status_changed_details` is true. :rtype: FileLockingLockStatusChangedDetails """ if not self.is_file_locking_lock_status_changed_details(): raise AttributeError("tag 'file_locking_lock_status_changed_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_folder_overview_description_changed_details(self): """ Only call this if :meth:`is_folder_overview_description_changed_details` is true. :rtype: FolderOverviewDescriptionChangedDetails """ if not self.is_folder_overview_description_changed_details(): raise AttributeError("tag 'folder_overview_description_changed_details' not set") return self._value def get_folder_overview_item_pinned_details(self): """ Only call this if :meth:`is_folder_overview_item_pinned_details` is true. :rtype: FolderOverviewItemPinnedDetails """ if not self.is_folder_overview_item_pinned_details(): raise AttributeError("tag 'folder_overview_item_pinned_details' not set") return self._value def get_folder_overview_item_unpinned_details(self): """ Only call this if :meth:`is_folder_overview_item_unpinned_details` is true. :rtype: FolderOverviewItemUnpinnedDetails """ if not self.is_folder_overview_item_unpinned_details(): raise AttributeError("tag 'folder_overview_item_unpinned_details' not set") return self._value def get_media_hub_file_downloaded_details(self): """ Only call this if :meth:`is_media_hub_file_downloaded_details` is true. :rtype: MediaHubFileDownloadedDetails """ if not self.is_media_hub_file_downloaded_details(): raise AttributeError("tag 'media_hub_file_downloaded_details' not set") return self._value def get_object_label_added_details(self): """ Only call this if :meth:`is_object_label_added_details` is true. :rtype: ObjectLabelAddedDetails """ if not self.is_object_label_added_details(): raise AttributeError("tag 'object_label_added_details' not set") return self._value def get_object_label_removed_details(self): """ Only call this if :meth:`is_object_label_removed_details` is true. :rtype: ObjectLabelRemovedDetails """ if not self.is_object_label_removed_details(): raise AttributeError("tag 'object_label_removed_details' not set") return self._value def get_object_label_updated_value_details(self): """ Only call this if :meth:`is_object_label_updated_value_details` is true. :rtype: ObjectLabelUpdatedValueDetails """ if not self.is_object_label_updated_value_details(): raise AttributeError("tag 'object_label_updated_value_details' not set") return self._value def get_organize_folder_with_tidy_details(self): """ Only call this if :meth:`is_organize_folder_with_tidy_details` is true. :rtype: OrganizeFolderWithTidyDetails """ if not self.is_organize_folder_with_tidy_details(): raise AttributeError("tag 'organize_folder_with_tidy_details' not set") return self._value def get_replay_file_delete_details(self): """ Only call this if :meth:`is_replay_file_delete_details` is true. :rtype: ReplayFileDeleteDetails """ if not self.is_replay_file_delete_details(): raise AttributeError("tag 'replay_file_delete_details' not set") return self._value def get_replay_file_downloaded_details(self): """ Only call this if :meth:`is_replay_file_downloaded_details` is true. :rtype: ReplayFileDownloadedDetails """ if not self.is_replay_file_downloaded_details(): raise AttributeError("tag 'replay_file_downloaded_details' not set") return self._value def get_replay_team_project_created_details(self): """ Only call this if :meth:`is_replay_team_project_created_details` is true. :rtype: ReplayTeamProjectCreatedDetails """ if not self.is_replay_team_project_created_details(): raise AttributeError("tag 'replay_team_project_created_details' not set") return self._value def get_rewind_folder_details(self): """ Only call this if :meth:`is_rewind_folder_details` is true. :rtype: RewindFolderDetails """ if not self.is_rewind_folder_details(): raise AttributeError("tag 'rewind_folder_details' not set") return self._value def get_undo_naming_convention_details(self): """ Only call this if :meth:`is_undo_naming_convention_details` is true. :rtype: UndoNamingConventionDetails """ if not self.is_undo_naming_convention_details(): raise AttributeError("tag 'undo_naming_convention_details' not set") return self._value def get_undo_organize_folder_with_tidy_details(self): """ Only call this if :meth:`is_undo_organize_folder_with_tidy_details` is true. :rtype: UndoOrganizeFolderWithTidyDetails """ if not self.is_undo_organize_folder_with_tidy_details(): raise AttributeError("tag 'undo_organize_folder_with_tidy_details' not set") return self._value def get_user_tags_added_details(self): """ Only call this if :meth:`is_user_tags_added_details` is true. :rtype: UserTagsAddedDetails """ if not self.is_user_tags_added_details(): raise AttributeError("tag 'user_tags_added_details' not set") return self._value def get_user_tags_removed_details(self): """ Only call this if :meth:`is_user_tags_removed_details` is true. :rtype: UserTagsRemovedDetails """ if not self.is_user_tags_removed_details(): raise AttributeError("tag 'user_tags_removed_details' not set") return self._value def get_email_ingest_receive_file_details(self): """ Only call this if :meth:`is_email_ingest_receive_file_details` is true. :rtype: EmailIngestReceiveFileDetails """ if not self.is_email_ingest_receive_file_details(): raise AttributeError("tag 'email_ingest_receive_file_details' not set") return self._value def get_file_request_auto_close_details(self): """ Only call this if :meth:`is_file_request_auto_close_details` is true. :rtype: FileRequestAutoCloseDetails """ if not self.is_file_request_auto_close_details(): raise AttributeError("tag 'file_request_auto_close_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_external_sharing_setting_override_changed_details(self): """ Only call this if :meth:`is_group_external_sharing_setting_override_changed_details` is true. :rtype: GroupExternalSharingSettingOverrideChangedDetails """ if not self.is_group_external_sharing_setting_override_changed_details(): raise AttributeError( "tag 'group_external_sharing_setting_override_changed_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_account_lock_or_unlocked_details(self): """ Only call this if :meth:`is_account_lock_or_unlocked_details` is true. :rtype: AccountLockOrUnlockedDetails """ if not self.is_account_lock_or_unlocked_details(): raise AttributeError("tag 'account_lock_or_unlocked_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_addon_assigned_details(self): """ Only call this if :meth:`is_addon_assigned_details` is true. :rtype: AddonAssignedDetails """ if not self.is_addon_assigned_details(): raise AttributeError("tag 'addon_assigned_details' not set") return self._value def get_addon_removed_details(self): """ Only call this if :meth:`is_addon_removed_details` is true. :rtype: AddonRemovedDetails """ if not self.is_addon_removed_details(): raise AttributeError("tag 'addon_removed_details' not set") return self._value def get_backup_admin_invitation_sent_details(self): """ Only call this if :meth:`is_backup_admin_invitation_sent_details` is true. :rtype: BackupAdminInvitationSentDetails """ if not self.is_backup_admin_invitation_sent_details(): raise AttributeError("tag 'backup_admin_invitation_sent_details' not set") return self._value def get_backup_invitation_opened_details(self): """ Only call this if :meth:`is_backup_invitation_opened_details` is true. :rtype: BackupInvitationOpenedDetails """ if not self.is_backup_invitation_opened_details(): raise AttributeError("tag 'backup_invitation_opened_details' not set") return self._value def get_create_team_invite_link_details(self): """ Only call this if :meth:`is_create_team_invite_link_details` is true. :rtype: CreateTeamInviteLinkDetails """ if not self.is_create_team_invite_link_details(): raise AttributeError("tag 'create_team_invite_link_details' not set") return self._value def get_delete_team_invite_link_details(self): """ Only call this if :meth:`is_delete_team_invite_link_details` is true. :rtype: DeleteTeamInviteLinkDetails """ if not self.is_delete_team_invite_link_details(): raise AttributeError("tag 'delete_team_invite_link_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_reseller_role_details(self): """ Only call this if :meth:`is_member_change_reseller_role_details` is true. :rtype: MemberChangeResellerRoleDetails """ if not self.is_member_change_reseller_role_details(): raise AttributeError("tag 'member_change_reseller_role_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_delete_profile_photo_details(self): """ Only call this if :meth:`is_member_delete_profile_photo_details` is true. :rtype: MemberDeleteProfilePhotoDetails """ if not self.is_member_delete_profile_photo_details(): raise AttributeError("tag 'member_delete_profile_photo_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_set_profile_photo_details(self): """ Only call this if :meth:`is_member_set_profile_photo_details` is true. :rtype: MemberSetProfilePhotoDetails """ if not self.is_member_set_profile_photo_details(): raise AttributeError("tag 'member_set_profile_photo_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_pending_secondary_email_added_details(self): """ Only call this if :meth:`is_pending_secondary_email_added_details` is true. :rtype: PendingSecondaryEmailAddedDetails """ if not self.is_pending_secondary_email_added_details(): raise AttributeError("tag 'pending_secondary_email_added_details' not set") return self._value def get_product_assigned_to_member_details(self): """ Only call this if :meth:`is_product_assigned_to_member_details` is true. :rtype: ProductAssignedToMemberDetails """ if not self.is_product_assigned_to_member_details(): raise AttributeError("tag 'product_assigned_to_member_details' not set") return self._value def get_product_removed_from_member_details(self): """ Only call this if :meth:`is_product_removed_from_member_details` is true. :rtype: ProductRemovedFromMemberDetails """ if not self.is_product_removed_from_member_details(): raise AttributeError("tag 'product_removed_from_member_details' not set") return self._value def get_secondary_email_deleted_details(self): """ Only call this if :meth:`is_secondary_email_deleted_details` is true. :rtype: SecondaryEmailDeletedDetails """ if not self.is_secondary_email_deleted_details(): raise AttributeError("tag 'secondary_email_deleted_details' not set") return self._value def get_secondary_email_verified_details(self): """ Only call this if :meth:`is_secondary_email_verified_details` is true. :rtype: SecondaryEmailVerifiedDetails """ if not self.is_secondary_email_verified_details(): raise AttributeError("tag 'secondary_email_verified_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_binder_add_page_details(self): """ Only call this if :meth:`is_binder_add_page_details` is true. :rtype: BinderAddPageDetails """ if not self.is_binder_add_page_details(): raise AttributeError("tag 'binder_add_page_details' not set") return self._value def get_binder_add_section_details(self): """ Only call this if :meth:`is_binder_add_section_details` is true. :rtype: BinderAddSectionDetails """ if not self.is_binder_add_section_details(): raise AttributeError("tag 'binder_add_section_details' not set") return self._value def get_binder_remove_page_details(self): """ Only call this if :meth:`is_binder_remove_page_details` is true. :rtype: BinderRemovePageDetails """ if not self.is_binder_remove_page_details(): raise AttributeError("tag 'binder_remove_page_details' not set") return self._value def get_binder_remove_section_details(self): """ Only call this if :meth:`is_binder_remove_section_details` is true. :rtype: BinderRemoveSectionDetails """ if not self.is_binder_remove_section_details(): raise AttributeError("tag 'binder_remove_section_details' not set") return self._value def get_binder_rename_page_details(self): """ Only call this if :meth:`is_binder_rename_page_details` is true. :rtype: BinderRenamePageDetails """ if not self.is_binder_rename_page_details(): raise AttributeError("tag 'binder_rename_page_details' not set") return self._value def get_binder_rename_section_details(self): """ Only call this if :meth:`is_binder_rename_section_details` is true. :rtype: BinderRenameSectionDetails """ if not self.is_binder_rename_section_details(): raise AttributeError("tag 'binder_rename_section_details' not set") return self._value def get_binder_reorder_page_details(self): """ Only call this if :meth:`is_binder_reorder_page_details` is true. :rtype: BinderReorderPageDetails """ if not self.is_binder_reorder_page_details(): raise AttributeError("tag 'binder_reorder_page_details' not set") return self._value def get_binder_reorder_section_details(self): """ Only call this if :meth:`is_binder_reorder_section_details` is true. :rtype: BinderReorderSectionDetails """ if not self.is_binder_reorder_section_details(): raise AttributeError("tag 'binder_reorder_section_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_change_permission_details(self): """ Only call this if :meth:`is_paper_published_link_change_permission_details` is true. :rtype: PaperPublishedLinkChangePermissionDetails """ if not self.is_paper_published_link_change_permission_details(): raise AttributeError("tag 'paper_published_link_change_permission_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_protect_internal_domains_changed_details(self): """ Only call this if :meth:`is_protect_internal_domains_changed_details` is true. :rtype: ProtectInternalDomainsChangedDetails """ if not self.is_protect_internal_domains_changed_details(): raise AttributeError("tag 'protect_internal_domains_changed_details' not set") return self._value def get_classification_create_report_details(self): """ Only call this if :meth:`is_classification_create_report_details` is true. :rtype: ClassificationCreateReportDetails """ if not self.is_classification_create_report_details(): raise AttributeError("tag 'classification_create_report_details' not set") return self._value def get_classification_create_report_fail_details(self): """ Only call this if :meth:`is_classification_create_report_fail_details` is true. :rtype: ClassificationCreateReportFailDetails """ if not self.is_classification_create_report_fail_details(): raise AttributeError("tag 'classification_create_report_fail_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_export_members_report_fail_details(self): """ Only call this if :meth:`is_export_members_report_fail_details` is true. :rtype: ExportMembersReportFailDetails """ if not self.is_export_members_report_fail_details(): raise AttributeError("tag 'export_members_report_fail_details' not set") return self._value def get_external_sharing_create_report_details(self): """ Only call this if :meth:`is_external_sharing_create_report_details` is true. :rtype: ExternalSharingCreateReportDetails """ if not self.is_external_sharing_create_report_details(): raise AttributeError("tag 'external_sharing_create_report_details' not set") return self._value def get_external_sharing_report_failed_details(self): """ Only call this if :meth:`is_external_sharing_report_failed_details` is true. :rtype: ExternalSharingReportFailedDetails """ if not self.is_external_sharing_report_failed_details(): raise AttributeError("tag 'external_sharing_report_failed_details' not set") return self._value def get_member_access_details_create_report_details(self): """ Only call this if :meth:`is_member_access_details_create_report_details` is true. :rtype: MemberAccessDetailsCreateReportDetails """ if not self.is_member_access_details_create_report_details(): raise AttributeError("tag 'member_access_details_create_report_details' not set") return self._value def get_member_access_details_create_report_failed_details(self): """ Only call this if :meth:`is_member_access_details_create_report_failed_details` is true. :rtype: MemberAccessDetailsCreateReportFailedDetails """ if not self.is_member_access_details_create_report_failed_details(): raise AttributeError("tag 'member_access_details_create_report_failed_details' not set") return self._value def get_no_expiration_link_gen_create_report_details(self): """ Only call this if :meth:`is_no_expiration_link_gen_create_report_details` is true. :rtype: NoExpirationLinkGenCreateReportDetails """ if not self.is_no_expiration_link_gen_create_report_details(): raise AttributeError("tag 'no_expiration_link_gen_create_report_details' not set") return self._value def get_no_expiration_link_gen_report_failed_details(self): """ Only call this if :meth:`is_no_expiration_link_gen_report_failed_details` is true. :rtype: NoExpirationLinkGenReportFailedDetails """ if not self.is_no_expiration_link_gen_report_failed_details(): raise AttributeError("tag 'no_expiration_link_gen_report_failed_details' not set") return self._value def get_no_password_link_gen_create_report_details(self): """ Only call this if :meth:`is_no_password_link_gen_create_report_details` is true. :rtype: NoPasswordLinkGenCreateReportDetails """ if not self.is_no_password_link_gen_create_report_details(): raise AttributeError("tag 'no_password_link_gen_create_report_details' not set") return self._value def get_no_password_link_gen_report_failed_details(self): """ Only call this if :meth:`is_no_password_link_gen_report_failed_details` is true. :rtype: NoPasswordLinkGenReportFailedDetails """ if not self.is_no_password_link_gen_report_failed_details(): raise AttributeError("tag 'no_password_link_gen_report_failed_details' not set") return self._value def get_no_password_link_view_create_report_details(self): """ Only call this if :meth:`is_no_password_link_view_create_report_details` is true. :rtype: NoPasswordLinkViewCreateReportDetails """ if not self.is_no_password_link_view_create_report_details(): raise AttributeError("tag 'no_password_link_view_create_report_details' not set") return self._value def get_no_password_link_view_report_failed_details(self): """ Only call this if :meth:`is_no_password_link_view_report_failed_details` is true. :rtype: NoPasswordLinkViewReportFailedDetails """ if not self.is_no_password_link_view_report_failed_details(): raise AttributeError("tag 'no_password_link_view_report_failed_details' not set") return self._value def get_outdated_link_view_create_report_details(self): """ Only call this if :meth:`is_outdated_link_view_create_report_details` is true. :rtype: OutdatedLinkViewCreateReportDetails """ if not self.is_outdated_link_view_create_report_details(): raise AttributeError("tag 'outdated_link_view_create_report_details' not set") return self._value def get_outdated_link_view_report_failed_details(self): """ Only call this if :meth:`is_outdated_link_view_report_failed_details` is true. :rtype: OutdatedLinkViewReportFailedDetails """ if not self.is_outdated_link_view_report_failed_details(): raise AttributeError("tag 'outdated_link_view_report_failed_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_ransomware_alert_create_report_details(self): """ Only call this if :meth:`is_ransomware_alert_create_report_details` is true. :rtype: RansomwareAlertCreateReportDetails """ if not self.is_ransomware_alert_create_report_details(): raise AttributeError("tag 'ransomware_alert_create_report_details' not set") return self._value def get_ransomware_alert_create_report_failed_details(self): """ Only call this if :meth:`is_ransomware_alert_create_report_failed_details` is true. :rtype: RansomwareAlertCreateReportFailedDetails """ if not self.is_ransomware_alert_create_report_failed_details(): raise AttributeError("tag 'ransomware_alert_create_report_failed_details' not set") return self._value def get_shared_folders_create_report_details(self): """ Only call this if :meth:`is_shared_folders_create_report_details` is true. :rtype: SharedFoldersCreateReportDetails """ if not self.is_shared_folders_create_report_details(): raise AttributeError("tag 'shared_folders_create_report_details' not set") return self._value def get_shared_folders_create_report_failed_details(self): """ Only call this if :meth:`is_shared_folders_create_report_failed_details` is true. :rtype: SharedFoldersCreateReportFailedDetails """ if not self.is_shared_folders_create_report_failed_details(): raise AttributeError("tag 'shared_folders_create_report_failed_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_team_folders_create_report_details(self): """ Only call this if :meth:`is_team_folders_create_report_details` is true. :rtype: TeamFoldersCreateReportDetails """ if not self.is_team_folders_create_report_details(): raise AttributeError("tag 'team_folders_create_report_details' not set") return self._value def get_team_folders_create_report_failed_details(self): """ Only call this if :meth:`is_team_folders_create_report_failed_details` is true. :rtype: TeamFoldersCreateReportFailedDetails """ if not self.is_team_folders_create_report_failed_details(): raise AttributeError("tag 'team_folders_create_report_failed_details' not set") return self._value def get_team_storage_create_report_details(self): """ Only call this if :meth:`is_team_storage_create_report_details` is true. :rtype: TeamStorageCreateReportDetails """ if not self.is_team_storage_create_report_details(): raise AttributeError("tag 'team_storage_create_report_details' not set") return self._value def get_team_storage_create_report_failed_details(self): """ Only call this if :meth:`is_team_storage_create_report_failed_details` is true. :rtype: TeamStorageCreateReportFailedDetails """ if not self.is_team_storage_create_report_failed_details(): raise AttributeError("tag 'team_storage_create_report_failed_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_file_transfers_file_add_details(self): """ Only call this if :meth:`is_file_transfers_file_add_details` is true. :rtype: FileTransfersFileAddDetails """ if not self.is_file_transfers_file_add_details(): raise AttributeError("tag 'file_transfers_file_add_details' not set") return self._value def get_file_transfers_transfer_delete_details(self): """ Only call this if :meth:`is_file_transfers_transfer_delete_details` is true. :rtype: FileTransfersTransferDeleteDetails """ if not self.is_file_transfers_transfer_delete_details(): raise AttributeError("tag 'file_transfers_transfer_delete_details' not set") return self._value def get_file_transfers_transfer_download_details(self): """ Only call this if :meth:`is_file_transfers_transfer_download_details` is true. :rtype: FileTransfersTransferDownloadDetails """ if not self.is_file_transfers_transfer_download_details(): raise AttributeError("tag 'file_transfers_transfer_download_details' not set") return self._value def get_file_transfers_transfer_send_details(self): """ Only call this if :meth:`is_file_transfers_transfer_send_details` is true. :rtype: FileTransfersTransferSendDetails """ if not self.is_file_transfers_transfer_send_details(): raise AttributeError("tag 'file_transfers_transfer_send_details' not set") return self._value def get_file_transfers_transfer_view_details(self): """ Only call this if :meth:`is_file_transfers_transfer_view_details` is true. :rtype: FileTransfersTransferViewDetails """ if not self.is_file_transfers_transfer_view_details(): raise AttributeError("tag 'file_transfers_transfer_view_details' not set") return self._value def get_media_hub_project_team_add_details(self): """ Only call this if :meth:`is_media_hub_project_team_add_details` is true. :rtype: MediaHubProjectTeamAddDetails """ if not self.is_media_hub_project_team_add_details(): raise AttributeError("tag 'media_hub_project_team_add_details' not set") return self._value def get_media_hub_project_team_delete_details(self): """ Only call this if :meth:`is_media_hub_project_team_delete_details` is true. :rtype: MediaHubProjectTeamDeleteDetails """ if not self.is_media_hub_project_team_delete_details(): raise AttributeError("tag 'media_hub_project_team_delete_details' not set") return self._value def get_media_hub_project_team_role_changed_details(self): """ Only call this if :meth:`is_media_hub_project_team_role_changed_details` is true. :rtype: MediaHubProjectTeamRoleChangedDetails """ if not self.is_media_hub_project_team_role_changed_details(): raise AttributeError("tag 'media_hub_project_team_role_changed_details' not set") return self._value def get_media_hub_shared_link_audience_changed_details(self): """ Only call this if :meth:`is_media_hub_shared_link_audience_changed_details` is true. :rtype: MediaHubSharedLinkAudienceChangedDetails """ if not self.is_media_hub_shared_link_audience_changed_details(): raise AttributeError("tag 'media_hub_shared_link_audience_changed_details' not set") return self._value def get_media_hub_shared_link_created_details(self): """ Only call this if :meth:`is_media_hub_shared_link_created_details` is true. :rtype: MediaHubSharedLinkCreatedDetails """ if not self.is_media_hub_shared_link_created_details(): raise AttributeError("tag 'media_hub_shared_link_created_details' not set") return self._value def get_media_hub_shared_link_download_setting_changed_details(self): """ Only call this if :meth:`is_media_hub_shared_link_download_setting_changed_details` is true. :rtype: MediaHubSharedLinkDownloadSettingChangedDetails """ if not self.is_media_hub_shared_link_download_setting_changed_details(): raise AttributeError( "tag 'media_hub_shared_link_download_setting_changed_details' not set" ) return self._value def get_media_hub_shared_link_revoked_details(self): """ Only call this if :meth:`is_media_hub_shared_link_revoked_details` is true. :rtype: MediaHubSharedLinkRevokedDetails """ if not self.is_media_hub_shared_link_revoked_details(): raise AttributeError("tag 'media_hub_shared_link_revoked_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_replay_file_shared_link_created_details(self): """ Only call this if :meth:`is_replay_file_shared_link_created_details` is true. :rtype: ReplayFileSharedLinkCreatedDetails """ if not self.is_replay_file_shared_link_created_details(): raise AttributeError("tag 'replay_file_shared_link_created_details' not set") return self._value def get_replay_file_shared_link_modified_details(self): """ Only call this if :meth:`is_replay_file_shared_link_modified_details` is true. :rtype: ReplayFileSharedLinkModifiedDetails """ if not self.is_replay_file_shared_link_modified_details(): raise AttributeError("tag 'replay_file_shared_link_modified_details' not set") return self._value def get_replay_project_team_add_details(self): """ Only call this if :meth:`is_replay_project_team_add_details` is true. :rtype: ReplayProjectTeamAddDetails """ if not self.is_replay_project_team_add_details(): raise AttributeError("tag 'replay_project_team_add_details' not set") return self._value def get_replay_project_team_delete_details(self): """ Only call this if :meth:`is_replay_project_team_delete_details` is true. :rtype: ReplayProjectTeamDeleteDetails """ if not self.is_replay_project_team_delete_details(): raise AttributeError("tag 'replay_project_team_delete_details' not set") return self._value def get_send_and_track_file_added_details(self): """ Only call this if :meth:`is_send_and_track_file_added_details` is true. :rtype: SendAndTrackFileAddedDetails """ if not self.is_send_and_track_file_added_details(): raise AttributeError("tag 'send_and_track_file_added_details' not set") return self._value def get_send_and_track_file_renamed_details(self): """ Only call this if :meth:`is_send_and_track_file_renamed_details` is true. :rtype: SendAndTrackFileRenamedDetails """ if not self.is_send_and_track_file_renamed_details(): raise AttributeError("tag 'send_and_track_file_renamed_details' not set") return self._value def get_send_and_track_file_updated_details(self): """ Only call this if :meth:`is_send_and_track_file_updated_details` is true. :rtype: SendAndTrackFileUpdatedDetails """ if not self.is_send_and_track_file_updated_details(): raise AttributeError("tag 'send_and_track_file_updated_details' not set") return self._value def get_send_and_track_link_created_details(self): """ Only call this if :meth:`is_send_and_track_link_created_details` is true. :rtype: SendAndTrackLinkCreatedDetails """ if not self.is_send_and_track_link_created_details(): raise AttributeError("tag 'send_and_track_link_created_details' not set") return self._value def get_send_and_track_link_deleted_details(self): """ Only call this if :meth:`is_send_and_track_link_deleted_details` is true. :rtype: SendAndTrackLinkDeletedDetails """ if not self.is_send_and_track_link_deleted_details(): raise AttributeError("tag 'send_and_track_link_deleted_details' not set") return self._value def get_send_and_track_link_updated_details(self): """ Only call this if :meth:`is_send_and_track_link_updated_details` is true. :rtype: SendAndTrackLinkUpdatedDetails """ if not self.is_send_and_track_link_updated_details(): raise AttributeError("tag 'send_and_track_link_updated_details' not set") return self._value def get_send_and_track_link_viewed_details(self): """ Only call this if :meth:`is_send_and_track_link_viewed_details` is true. :rtype: SendAndTrackLinkViewedDetails """ if not self.is_send_and_track_link_viewed_details(): raise AttributeError("tag 'send_and_track_link_viewed_details' not set") return self._value def get_send_and_track_removed_file_and_associated_links_details(self): """ Only call this if :meth:`is_send_and_track_removed_file_and_associated_links_details` is true. :rtype: SendAndTrackRemovedFileAndAssociatedLinksDetails """ if not self.is_send_and_track_removed_file_and_associated_links_details(): raise AttributeError( "tag 'send_and_track_removed_file_and_associated_links_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_restore_invitees_details(self): """ Only call this if :meth:`is_shared_content_restore_invitees_details` is true. :rtype: SharedContentRestoreInviteesDetails """ if not self.is_shared_content_restore_invitees_details(): raise AttributeError("tag 'shared_content_restore_invitees_details' not set") return self._value def get_shared_content_restore_member_details(self): """ Only call this if :meth:`is_shared_content_restore_member_details` is true. :rtype: SharedContentRestoreMemberDetails """ if not self.is_shared_content_restore_member_details(): raise AttributeError("tag 'shared_content_restore_member_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_remove_visitor_details(self): """ Only call this if :meth:`is_shared_link_remove_visitor_details` is true. :rtype: SharedLinkRemoveVisitorDetails """ if not self.is_shared_link_remove_visitor_details(): raise AttributeError("tag 'shared_link_remove_visitor_details' not set") return self._value def get_shared_link_settings_add_expiration_details(self): """ Only call this if :meth:`is_shared_link_settings_add_expiration_details` is true. :rtype: SharedLinkSettingsAddExpirationDetails """ if not self.is_shared_link_settings_add_expiration_details(): raise AttributeError("tag 'shared_link_settings_add_expiration_details' not set") return self._value def get_shared_link_settings_add_password_details(self): """ Only call this if :meth:`is_shared_link_settings_add_password_details` is true. :rtype: SharedLinkSettingsAddPasswordDetails """ if not self.is_shared_link_settings_add_password_details(): raise AttributeError("tag 'shared_link_settings_add_password_details' not set") return self._value def get_shared_link_settings_allow_download_disabled_details(self): """ Only call this if :meth:`is_shared_link_settings_allow_download_disabled_details` is true. :rtype: SharedLinkSettingsAllowDownloadDisabledDetails """ if not self.is_shared_link_settings_allow_download_disabled_details(): raise AttributeError( "tag 'shared_link_settings_allow_download_disabled_details' not set" ) return self._value def get_shared_link_settings_allow_download_enabled_details(self): """ Only call this if :meth:`is_shared_link_settings_allow_download_enabled_details` is true. :rtype: SharedLinkSettingsAllowDownloadEnabledDetails """ if not self.is_shared_link_settings_allow_download_enabled_details(): raise AttributeError( "tag 'shared_link_settings_allow_download_enabled_details' not set" ) return self._value def get_shared_link_settings_change_audience_details(self): """ Only call this if :meth:`is_shared_link_settings_change_audience_details` is true. :rtype: SharedLinkSettingsChangeAudienceDetails """ if not self.is_shared_link_settings_change_audience_details(): raise AttributeError("tag 'shared_link_settings_change_audience_details' not set") return self._value def get_shared_link_settings_change_expiration_details(self): """ Only call this if :meth:`is_shared_link_settings_change_expiration_details` is true. :rtype: SharedLinkSettingsChangeExpirationDetails """ if not self.is_shared_link_settings_change_expiration_details(): raise AttributeError("tag 'shared_link_settings_change_expiration_details' not set") return self._value def get_shared_link_settings_change_password_details(self): """ Only call this if :meth:`is_shared_link_settings_change_password_details` is true. :rtype: SharedLinkSettingsChangePasswordDetails """ if not self.is_shared_link_settings_change_password_details(): raise AttributeError("tag 'shared_link_settings_change_password_details' not set") return self._value def get_shared_link_settings_remove_expiration_details(self): """ Only call this if :meth:`is_shared_link_settings_remove_expiration_details` is true. :rtype: SharedLinkSettingsRemoveExpirationDetails """ if not self.is_shared_link_settings_remove_expiration_details(): raise AttributeError("tag 'shared_link_settings_remove_expiration_details' not set") return self._value def get_shared_link_settings_remove_password_details(self): """ Only call this if :meth:`is_shared_link_settings_remove_password_details` is true. :rtype: SharedLinkSettingsRemovePasswordDetails """ if not self.is_shared_link_settings_remove_password_details(): raise AttributeError("tag 'shared_link_settings_remove_password_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_disable_downloads_details(self): """ Only call this if :meth:`is_shmodel_disable_downloads_details` is true. :rtype: ShmodelDisableDownloadsDetails """ if not self.is_shmodel_disable_downloads_details(): raise AttributeError("tag 'shmodel_disable_downloads_details' not set") return self._value def get_shmodel_enable_downloads_details(self): """ Only call this if :meth:`is_shmodel_enable_downloads_details` is true. :rtype: ShmodelEnableDownloadsDetails """ if not self.is_shmodel_enable_downloads_details(): raise AttributeError("tag 'shmodel_enable_downloads_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_sign_signature_request_canceled_details(self): """ Only call this if :meth:`is_sign_signature_request_canceled_details` is true. :rtype: SignSignatureRequestCanceledDetails """ if not self.is_sign_signature_request_canceled_details(): raise AttributeError("tag 'sign_signature_request_canceled_details' not set") return self._value def get_sign_signature_request_completed_details(self): """ Only call this if :meth:`is_sign_signature_request_completed_details` is true. :rtype: SignSignatureRequestCompletedDetails """ if not self.is_sign_signature_request_completed_details(): raise AttributeError("tag 'sign_signature_request_completed_details' not set") return self._value def get_sign_signature_request_declined_details(self): """ Only call this if :meth:`is_sign_signature_request_declined_details` is true. :rtype: SignSignatureRequestDeclinedDetails """ if not self.is_sign_signature_request_declined_details(): raise AttributeError("tag 'sign_signature_request_declined_details' not set") return self._value def get_sign_signature_request_opened_details(self): """ Only call this if :meth:`is_sign_signature_request_opened_details` is true. :rtype: SignSignatureRequestOpenedDetails """ if not self.is_sign_signature_request_opened_details(): raise AttributeError("tag 'sign_signature_request_opened_details' not set") return self._value def get_sign_signature_request_reminder_sent_details(self): """ Only call this if :meth:`is_sign_signature_request_reminder_sent_details` is true. :rtype: SignSignatureRequestReminderSentDetails """ if not self.is_sign_signature_request_reminder_sent_details(): raise AttributeError("tag 'sign_signature_request_reminder_sent_details' not set") return self._value def get_sign_signature_request_sent_details(self): """ Only call this if :meth:`is_sign_signature_request_sent_details` is true. :rtype: SignSignatureRequestSentDetails """ if not self.is_sign_signature_request_sent_details(): raise AttributeError("tag 'sign_signature_request_sent_details' not set") return self._value def get_sign_template_created_details(self): """ Only call this if :meth:`is_sign_template_created_details` is true. :rtype: SignTemplateCreatedDetails """ if not self.is_sign_template_created_details(): raise AttributeError("tag 'sign_template_created_details' not set") return self._value def get_sign_template_shared_details(self): """ Only call this if :meth:`is_sign_template_shared_details` is true. :rtype: SignTemplateSharedDetails """ if not self.is_sign_template_shared_details(): raise AttributeError("tag 'sign_template_shared_details' not set") return self._value def get_risc_security_event_details(self): """ Only call this if :meth:`is_risc_security_event_details` is true. :rtype: RiscSecurityEventDetails """ if not self.is_risc_security_event_details(): raise AttributeError("tag 'risc_security_event_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_folder_space_limits_change_caps_type_details(self): """ Only call this if :meth:`is_team_folder_space_limits_change_caps_type_details` is true. :rtype: TeamFolderSpaceLimitsChangeCapsTypeDetails """ if not self.is_team_folder_space_limits_change_caps_type_details(): raise AttributeError("tag 'team_folder_space_limits_change_caps_type_details' not set") return self._value def get_team_folder_space_limits_change_limit_details(self): """ Only call this if :meth:`is_team_folder_space_limits_change_limit_details` is true. :rtype: TeamFolderSpaceLimitsChangeLimitDetails """ if not self.is_team_folder_space_limits_change_limit_details(): raise AttributeError("tag 'team_folder_space_limits_change_limit_details' not set") return self._value def get_team_folder_space_limits_change_notification_target_details(self): """ Only call this if :meth:`is_team_folder_space_limits_change_notification_target_details` is true. :rtype: TeamFolderSpaceLimitsChangeNotificationTargetDetails """ if not self.is_team_folder_space_limits_change_notification_target_details(): raise AttributeError( "tag 'team_folder_space_limits_change_notification_target_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_admin_email_reminders_changed_details(self): """ Only call this if :meth:`is_admin_email_reminders_changed_details` is true. :rtype: AdminEmailRemindersChangedDetails """ if not self.is_admin_email_reminders_changed_details(): raise AttributeError("tag 'admin_email_reminders_changed_details' not set") return self._value def get_ai_third_party_sharing_dropbox_base_policy_changed_details(self): """ Only call this if :meth:`is_ai_third_party_sharing_dropbox_base_policy_changed_details` is true. :rtype: AiThirdPartySharingDropboxBasePolicyChangedDetails """ if not self.is_ai_third_party_sharing_dropbox_base_policy_changed_details(): raise AttributeError( "tag 'ai_third_party_sharing_dropbox_base_policy_changed_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_apple_login_change_policy_details(self): """ Only call this if :meth:`is_apple_login_change_policy_details` is true. :rtype: AppleLoginChangePolicyDetails """ if not self.is_apple_login_change_policy_details(): raise AttributeError("tag 'apple_login_change_policy_details' not set") return self._value def get_app_permissions_changed_details(self): """ Only call this if :meth:`is_app_permissions_changed_details` is true. :rtype: AppPermissionsChangedDetails """ if not self.is_app_permissions_changed_details(): raise AttributeError("tag 'app_permissions_changed_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_capture_team_space_policy_changed_details(self): """ Only call this if :meth:`is_capture_team_space_policy_changed_details` is true. :rtype: CaptureTeamSpacePolicyChangedDetails """ if not self.is_capture_team_space_policy_changed_details(): raise AttributeError("tag 'capture_team_space_policy_changed_details' not set") return self._value def get_capture_transcript_policy_changed_details(self): """ Only call this if :meth:`is_capture_transcript_policy_changed_details` is true. :rtype: CaptureTranscriptPolicyChangedDetails """ if not self.is_capture_transcript_policy_changed_details(): raise AttributeError("tag 'capture_transcript_policy_changed_details' not set") return self._value def get_classification_change_policy_details(self): """ Only call this if :meth:`is_classification_change_policy_details` is true. :rtype: ClassificationChangePolicyDetails """ if not self.is_classification_change_policy_details(): raise AttributeError("tag 'classification_change_policy_details' not set") return self._value def get_computer_backup_policy_changed_details(self): """ Only call this if :meth:`is_computer_backup_policy_changed_details` is true. :rtype: ComputerBackupPolicyChangedDetails """ if not self.is_computer_backup_policy_changed_details(): raise AttributeError("tag 'computer_backup_policy_changed_details' not set") return self._value def get_content_administration_policy_changed_details(self): """ Only call this if :meth:`is_content_administration_policy_changed_details` is true. :rtype: ContentAdministrationPolicyChangedDetails """ if not self.is_content_administration_policy_changed_details(): raise AttributeError("tag 'content_administration_policy_changed_details' not set") return self._value def get_content_deletion_protection_change_policy_details(self): """ Only call this if :meth:`is_content_deletion_protection_change_policy_details` is true. :rtype: ContentDeletionProtectionChangePolicyDetails """ if not self.is_content_deletion_protection_change_policy_details(): raise AttributeError("tag 'content_deletion_protection_change_policy_details' not set") return self._value def get_dash_external_sharing_policy_changed_details(self): """ Only call this if :meth:`is_dash_external_sharing_policy_changed_details` is true. :rtype: DashExternalSharingPolicyChangedDetails """ if not self.is_dash_external_sharing_policy_changed_details(): raise AttributeError("tag 'dash_external_sharing_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_add_exception_details(self): """ Only call this if :meth:`is_device_approvals_add_exception_details` is true. :rtype: DeviceApprovalsAddExceptionDetails """ if not self.is_device_approvals_add_exception_details(): raise AttributeError("tag 'device_approvals_add_exception_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_device_approvals_remove_exception_details(self): """ Only call this if :meth:`is_device_approvals_remove_exception_details` is true. :rtype: DeviceApprovalsRemoveExceptionDetails """ if not self.is_device_approvals_remove_exception_details(): raise AttributeError("tag 'device_approvals_remove_exception_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_dropbox_passwords_policy_changed_details(self): """ Only call this if :meth:`is_dropbox_passwords_policy_changed_details` is true. :rtype: DropboxPasswordsPolicyChangedDetails """ if not self.is_dropbox_passwords_policy_changed_details(): raise AttributeError("tag 'dropbox_passwords_policy_changed_details' not set") return self._value def get_email_ingest_policy_changed_details(self): """ Only call this if :meth:`is_email_ingest_policy_changed_details` is true. :rtype: EmailIngestPolicyChangedDetails """ if not self.is_email_ingest_policy_changed_details(): raise AttributeError("tag 'email_ingest_policy_changed_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_external_drive_backup_policy_changed_details(self): """ Only call this if :meth:`is_external_drive_backup_policy_changed_details` is true. :rtype: ExternalDriveBackupPolicyChangedDetails """ if not self.is_external_drive_backup_policy_changed_details(): raise AttributeError("tag 'external_drive_backup_policy_changed_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_locking_policy_changed_details(self): """ Only call this if :meth:`is_file_locking_policy_changed_details` is true. :rtype: FileLockingPolicyChangedDetails """ if not self.is_file_locking_policy_changed_details(): raise AttributeError("tag 'file_locking_policy_changed_details' not set") return self._value def get_file_provider_migration_policy_changed_details(self): """ Only call this if :meth:`is_file_provider_migration_policy_changed_details` is true. :rtype: FileProviderMigrationPolicyChangedDetails """ if not self.is_file_provider_migration_policy_changed_details(): raise AttributeError("tag 'file_provider_migration_policy_changed_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_file_transfers_policy_changed_details(self): """ Only call this if :meth:`is_file_transfers_policy_changed_details` is true. :rtype: FileTransfersPolicyChangedDetails """ if not self.is_file_transfers_policy_changed_details(): raise AttributeError("tag 'file_transfers_policy_changed_details' not set") return self._value def get_flexible_file_names_policy_changed_details(self): """ Only call this if :meth:`is_flexible_file_names_policy_changed_details` is true. :rtype: FlexibleFileNamesPolicyChangedDetails """ if not self.is_flexible_file_names_policy_changed_details(): raise AttributeError("tag 'flexible_file_names_policy_changed_details' not set") return self._value def get_folder_link_restriction_policy_changed_details(self): """ Only call this if :meth:`is_folder_link_restriction_policy_changed_details` is true. :rtype: FolderLinkRestrictionPolicyChangedDetails """ if not self.is_folder_link_restriction_policy_changed_details(): raise AttributeError("tag 'folder_link_restriction_policy_changed_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_invite_acceptance_email_policy_changed_details(self): """ Only call this if :meth:`is_invite_acceptance_email_policy_changed_details` is true. :rtype: InviteAcceptanceEmailPolicyChangedDetails """ if not self.is_invite_acceptance_email_policy_changed_details(): raise AttributeError("tag 'invite_acceptance_email_policy_changed_details' not set") return self._value def get_media_hub_adding_people_policy_changed_details(self): """ Only call this if :meth:`is_media_hub_adding_people_policy_changed_details` is true. :rtype: MediaHubAddingPeoplePolicyChangedDetails """ if not self.is_media_hub_adding_people_policy_changed_details(): raise AttributeError("tag 'media_hub_adding_people_policy_changed_details' not set") return self._value def get_media_hub_download_policy_changed_details(self): """ Only call this if :meth:`is_media_hub_download_policy_changed_details` is true. :rtype: MediaHubDownloadPolicyChangedDetails """ if not self.is_media_hub_download_policy_changed_details(): raise AttributeError("tag 'media_hub_download_policy_changed_details' not set") return self._value def get_media_hub_link_sharing_policy_changed_details(self): """ Only call this if :meth:`is_media_hub_link_sharing_policy_changed_details` is true. :rtype: MediaHubLinkSharingPolicyChangedDetails """ if not self.is_media_hub_link_sharing_policy_changed_details(): raise AttributeError("tag 'media_hub_link_sharing_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_send_invite_policy_changed_details(self): """ Only call this if :meth:`is_member_send_invite_policy_changed_details` is true. :rtype: MemberSendInvitePolicyChangedDetails """ if not self.is_member_send_invite_policy_changed_details(): raise AttributeError("tag 'member_send_invite_policy_changed_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_login_change_policy_details(self): """ Only call this if :meth:`is_microsoft_login_change_policy_details` is true. :rtype: MicrosoftLoginChangePolicyDetails """ if not self.is_microsoft_login_change_policy_details(): raise AttributeError("tag 'microsoft_login_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_multi_team_identity_policy_changed_details(self): """ Only call this if :meth:`is_multi_team_identity_policy_changed_details` is true. :rtype: MultiTeamIdentityPolicyChangedDetails """ if not self.is_multi_team_identity_policy_changed_details(): raise AttributeError("tag 'multi_team_identity_policy_changed_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_passkey_login_policy_changed_details(self): """ Only call this if :meth:`is_passkey_login_policy_changed_details` is true. :rtype: PasskeyLoginPolicyChangedDetails """ if not self.is_passkey_login_policy_changed_details(): raise AttributeError("tag 'passkey_login_policy_changed_details' not set") return self._value def get_password_strength_requirements_change_policy_details(self): """ Only call this if :meth:`is_password_strength_requirements_change_policy_details` is true. :rtype: PasswordStrengthRequirementsChangePolicyDetails """ if not self.is_password_strength_requirements_change_policy_details(): raise AttributeError( "tag 'password_strength_requirements_change_policy_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_previews_ai_policy_changed_details(self): """ Only call this if :meth:`is_previews_ai_policy_changed_details` is true. :rtype: PreviewsAiPolicyChangedDetails """ if not self.is_previews_ai_policy_changed_details(): raise AttributeError("tag 'previews_ai_policy_changed_details' not set") return self._value def get_replay_adding_people_policy_changed_details(self): """ Only call this if :meth:`is_replay_adding_people_policy_changed_details` is true. :rtype: ReplayAddingPeoplePolicyChangedDetails """ if not self.is_replay_adding_people_policy_changed_details(): raise AttributeError("tag 'replay_adding_people_policy_changed_details' not set") return self._value def get_replay_sharing_policy_changed_details(self): """ Only call this if :meth:`is_replay_sharing_policy_changed_details` is true. :rtype: ReplaySharingPolicyChangedDetails """ if not self.is_replay_sharing_policy_changed_details(): raise AttributeError("tag 'replay_sharing_policy_changed_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_rewind_policy_changed_details(self): """ Only call this if :meth:`is_rewind_policy_changed_details` is true. :rtype: RewindPolicyChangedDetails """ if not self.is_rewind_policy_changed_details(): raise AttributeError("tag 'rewind_policy_changed_details' not set") return self._value def get_send_and_track_policy_changed_details(self): """ Only call this if :meth:`is_send_and_track_policy_changed_details` is true. :rtype: SendAndTrackPolicyChangedDetails """ if not self.is_send_and_track_policy_changed_details(): raise AttributeError("tag 'send_and_track_policy_changed_details' not set") return self._value def get_send_external_sharing_policy_changed_details(self): """ Only call this if :meth:`is_send_external_sharing_policy_changed_details` is true. :rtype: SendExternalSharingPolicyChangedDetails """ if not self.is_send_external_sharing_policy_changed_details(): raise AttributeError("tag 'send_external_sharing_policy_changed_details' not set") return self._value def get_send_for_signature_policy_changed_details(self): """ Only call this if :meth:`is_send_for_signature_policy_changed_details` is true. :rtype: SendForSignaturePolicyChangedDetails """ if not self.is_send_for_signature_policy_changed_details(): raise AttributeError("tag 'send_for_signature_policy_changed_details' not set") return self._value def get_shared_link_default_permissions_policy_changed_details(self): """ Only call this if :meth:`is_shared_link_default_permissions_policy_changed_details` is true. :rtype: SharedLinkDefaultPermissionsPolicyChangedDetails """ if not self.is_shared_link_default_permissions_policy_changed_details(): raise AttributeError( "tag 'shared_link_default_permissions_policy_changed_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_allow_change_expiration_policy_details(self): """ Only call this if :meth:`is_sharing_change_link_allow_change_expiration_policy_details` is true. :rtype: SharingChangeLinkAllowChangeExpirationPolicyDetails """ if not self.is_sharing_change_link_allow_change_expiration_policy_details(): raise AttributeError( "tag 'sharing_change_link_allow_change_expiration_policy_details' not set" ) return self._value def get_sharing_change_link_default_expiration_policy_details(self): """ Only call this if :meth:`is_sharing_change_link_default_expiration_policy_details` is true. :rtype: SharingChangeLinkDefaultExpirationPolicyDetails """ if not self.is_sharing_change_link_default_expiration_policy_details(): raise AttributeError( "tag 'sharing_change_link_default_expiration_policy_details' not set" ) return self._value def get_sharing_change_link_enforce_password_policy_details(self): """ Only call this if :meth:`is_sharing_change_link_enforce_password_policy_details` is true. :rtype: SharingChangeLinkEnforcePasswordPolicyDetails """ if not self.is_sharing_change_link_enforce_password_policy_details(): raise AttributeError( "tag 'sharing_change_link_enforce_password_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_sign_external_sharing_policy_changed_details(self): """ Only call this if :meth:`is_sign_external_sharing_policy_changed_details` is true. :rtype: SignExternalSharingPolicyChangedDetails """ if not self.is_sign_external_sharing_policy_changed_details(): raise AttributeError("tag 'sign_external_sharing_policy_changed_details' not set") return self._value def get_sign_template_creation_permission_changed_details(self): """ Only call this if :meth:`is_sign_template_creation_permission_changed_details` is true. :rtype: SignTemplateCreationPermissionChangedDetails """ if not self.is_sign_template_creation_permission_changed_details(): raise AttributeError("tag 'sign_template_creation_permission_changed_details' not set") return self._value def get_smarter_smart_sync_policy_changed_details(self): """ Only call this if :meth:`is_smarter_smart_sync_policy_changed_details` is true. :rtype: SmarterSmartSyncPolicyChangedDetails """ if not self.is_smarter_smart_sync_policy_changed_details(): raise AttributeError("tag 'smarter_smart_sync_policy_changed_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_stack_cross_team_access_policy_changed_details(self): """ Only call this if :meth:`is_stack_cross_team_access_policy_changed_details` is true. :rtype: StackCrossTeamAccessPolicyChangedDetails """ if not self.is_stack_cross_team_access_policy_changed_details(): raise AttributeError("tag 'stack_cross_team_access_policy_changed_details' not set") return self._value def get_team_branding_policy_changed_details(self): """ Only call this if :meth:`is_team_branding_policy_changed_details` is true. :rtype: TeamBrandingPolicyChangedDetails """ if not self.is_team_branding_policy_changed_details(): raise AttributeError("tag 'team_branding_policy_changed_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_member_storage_request_policy_changed_details(self): """ Only call this if :meth:`is_team_member_storage_request_policy_changed_details` is true. :rtype: TeamMemberStorageRequestPolicyChangedDetails """ if not self.is_team_member_storage_request_policy_changed_details(): raise AttributeError("tag 'team_member_storage_request_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_team_sharing_whitelist_subjects_changed_details(self): """ Only call this if :meth:`is_team_sharing_whitelist_subjects_changed_details` is true. :rtype: TeamSharingWhitelistSubjectsChangedDetails """ if not self.is_team_sharing_whitelist_subjects_changed_details(): raise AttributeError("tag 'team_sharing_whitelist_subjects_changed_details' not set") return self._value def get_tfa_add_exception_details(self): """ Only call this if :meth:`is_tfa_add_exception_details` is true. :rtype: TfaAddExceptionDetails """ if not self.is_tfa_add_exception_details(): raise AttributeError("tag 'tfa_add_exception_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_tfa_remove_exception_details(self): """ Only call this if :meth:`is_tfa_remove_exception_details` is true. :rtype: TfaRemoveExceptionDetails """ if not self.is_tfa_remove_exception_details(): raise AttributeError("tag 'tfa_remove_exception_details' not set") return self._value def get_top_level_content_policy_changed_details(self): """ Only call this if :meth:`is_top_level_content_policy_changed_details` is true. :rtype: TopLevelContentPolicyChangedDetails """ if not self.is_top_level_content_policy_changed_details(): raise AttributeError("tag 'top_level_content_policy_changed_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_watermarking_policy_changed_details(self): """ Only call this if :meth:`is_watermarking_policy_changed_details` is true. :rtype: WatermarkingPolicyChangedDetails """ if not self.is_watermarking_policy_changed_details(): raise AttributeError("tag 'watermarking_policy_changed_details' not set") return self._value def get_web_sessions_change_active_session_limit_details(self): """ Only call this if :meth:`is_web_sessions_change_active_session_limit_details` is true. :rtype: WebSessionsChangeActiveSessionLimitDetails """ if not self.is_web_sessions_change_active_session_limit_details(): raise AttributeError("tag 'web_sessions_change_active_session_limit_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_data_residency_migration_request_successful_details(self): """ Only call this if :meth:`is_data_residency_migration_request_successful_details` is true. :rtype: DataResidencyMigrationRequestSuccessfulDetails """ if not self.is_data_residency_migration_request_successful_details(): raise AttributeError( "tag 'data_residency_migration_request_successful_details' not set" ) return self._value def get_data_residency_migration_request_unsuccessful_details(self): """ Only call this if :meth:`is_data_residency_migration_request_unsuccessful_details` is true. :rtype: DataResidencyMigrationRequestUnsuccessfulDetails """ if not self.is_data_residency_migration_request_unsuccessful_details(): raise AttributeError( "tag 'data_residency_migration_request_unsuccessful_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_background_details(self): """ Only call this if :meth:`is_team_profile_add_background_details` is true. :rtype: TeamProfileAddBackgroundDetails """ if not self.is_team_profile_add_background_details(): raise AttributeError("tag 'team_profile_add_background_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_background_details(self): """ Only call this if :meth:`is_team_profile_change_background_details` is true. :rtype: TeamProfileChangeBackgroundDetails """ if not self.is_team_profile_change_background_details(): raise AttributeError("tag 'team_profile_change_background_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_background_details(self): """ Only call this if :meth:`is_team_profile_remove_background_details` is true. :rtype: TeamProfileRemoveBackgroundDetails """ if not self.is_team_profile_remove_background_details(): raise AttributeError("tag 'team_profile_remove_background_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_passkey_add_details(self): """ Only call this if :meth:`is_passkey_add_details` is true. :rtype: PasskeyAddDetails """ if not self.is_passkey_add_details(): raise AttributeError("tag 'passkey_add_details' not set") return self._value def get_passkey_remove_details(self): """ Only call this if :meth:`is_passkey_remove_details` is true. :rtype: PasskeyRemoveDetails """ if not self.is_passkey_remove_details(): raise AttributeError("tag 'passkey_remove_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_changed_enterprise_admin_role_details(self): """ Only call this if :meth:`is_changed_enterprise_admin_role_details` is true. :rtype: ChangedEnterpriseAdminRoleDetails """ if not self.is_changed_enterprise_admin_role_details(): raise AttributeError("tag 'changed_enterprise_admin_role_details' not set") return self._value def get_changed_enterprise_connected_team_status_details(self): """ Only call this if :meth:`is_changed_enterprise_connected_team_status_details` is true. :rtype: ChangedEnterpriseConnectedTeamStatusDetails """ if not self.is_changed_enterprise_connected_team_status_details(): raise AttributeError("tag 'changed_enterprise_connected_team_status_details' not set") return self._value def get_ended_enterprise_admin_session_details(self): """ Only call this if :meth:`is_ended_enterprise_admin_session_details` is true. :rtype: EndedEnterpriseAdminSessionDetails """ if not self.is_ended_enterprise_admin_session_details(): raise AttributeError("tag 'ended_enterprise_admin_session_details' not set") return self._value def get_ended_enterprise_admin_session_deprecated_details(self): """ Only call this if :meth:`is_ended_enterprise_admin_session_deprecated_details` is true. :rtype: EndedEnterpriseAdminSessionDeprecatedDetails """ if not self.is_ended_enterprise_admin_session_deprecated_details(): raise AttributeError("tag 'ended_enterprise_admin_session_deprecated_details' not set") return self._value def get_enterprise_settings_locking_details(self): """ Only call this if :meth:`is_enterprise_settings_locking_details` is true. :rtype: EnterpriseSettingsLockingDetails """ if not self.is_enterprise_settings_locking_details(): raise AttributeError("tag 'enterprise_settings_locking_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_started_enterprise_admin_session_details(self): """ Only call this if :meth:`is_started_enterprise_admin_session_details` is true. :rtype: StartedEnterpriseAdminSessionDetails """ if not self.is_started_enterprise_admin_session_details(): raise AttributeError("tag 'started_enterprise_admin_session_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 ) EventDetails_validator = bv.Union(EventDetails) class EventType(bb.Union): """ The type of the event with description. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar EventType.admin_alerting_alert_state_changed: (admin_alerting) Changed an alert state :vartype EventType.admin_alerting_alert_state_changed: AdminAlertingAlertStateChangedType :ivar EventType.admin_alerting_changed_alert_config: (admin_alerting) Changed an alert setting :vartype EventType.admin_alerting_changed_alert_config: AdminAlertingChangedAlertConfigType :ivar EventType.admin_alerting_triggered_alert: (admin_alerting) Triggered security alert :vartype EventType.admin_alerting_triggered_alert: AdminAlertingTriggeredAlertType :ivar EventType.ransomware_restore_process_completed: (admin_alerting) Completed ransomware restore process :vartype EventType.ransomware_restore_process_completed: RansomwareRestoreProcessCompletedType :ivar EventType.ransomware_restore_process_started: (admin_alerting) Started ransomware restore process :vartype EventType.ransomware_restore_process_started: RansomwareRestoreProcessStartedType :ivar EventType.app_blocked_by_permissions: (apps) Failed to connect app for member :vartype EventType.app_blocked_by_permissions: AppBlockedByPermissionsType :ivar EventType.app_link_team: (apps) Linked app for team :vartype EventType.app_link_team: AppLinkTeamType :ivar EventType.app_link_user: (apps) Linked app for member :vartype EventType.app_link_user: AppLinkUserType :ivar EventType.app_unlink_team: (apps) Unlinked app for team :vartype EventType.app_unlink_team: AppUnlinkTeamType :ivar EventType.app_unlink_user: (apps) Unlinked app for member :vartype EventType.app_unlink_user: AppUnlinkUserType :ivar EventType.integration_connected: (apps) Connected integration for member :vartype EventType.integration_connected: IntegrationConnectedType :ivar EventType.integration_disconnected: (apps) Disconnected integration for member :vartype EventType.integration_disconnected: IntegrationDisconnectedType :ivar EventType.file_add_comment: (comments) Added file comment :vartype EventType.file_add_comment: FileAddCommentType :ivar EventType.file_change_comment_subscription: (comments) Subscribed to or unsubscribed from comment notifications for file :vartype EventType.file_change_comment_subscription: FileChangeCommentSubscriptionType :ivar EventType.file_delete_comment: (comments) Deleted file comment :vartype EventType.file_delete_comment: FileDeleteCommentType :ivar EventType.file_edit_comment: (comments) Edited file comment :vartype EventType.file_edit_comment: FileEditCommentType :ivar EventType.file_like_comment: (comments) Liked file comment (deprecated, no longer logged) :vartype EventType.file_like_comment: FileLikeCommentType :ivar EventType.file_resolve_comment: (comments) Resolved file comment :vartype EventType.file_resolve_comment: FileResolveCommentType :ivar EventType.file_unlike_comment: (comments) Unliked file comment (deprecated, no longer logged) :vartype EventType.file_unlike_comment: FileUnlikeCommentType :ivar EventType.file_unresolve_comment: (comments) Unresolved file comment :vartype EventType.file_unresolve_comment: FileUnresolveCommentType :ivar EventType.dash_added_comment_to_stack: (dash) Added a comment to a stack :vartype EventType.dash_added_comment_to_stack: DashAddedCommentToStackType :ivar EventType.dash_added_connector: (dash) Connected to a user connector :vartype EventType.dash_added_connector: DashAddedConnectorType :ivar EventType.dash_added_link_to_stack: (dash) Added a link to a stack :vartype EventType.dash_added_link_to_stack: DashAddedLinkToStackType :ivar EventType.dash_added_team_email_domain_allowlist: (dash) Admin added an email domain to the team allowlist :vartype EventType.dash_added_team_email_domain_allowlist: DashAddedTeamEmailDomainAllowlistType :ivar EventType.dash_admin_added_org_wide_connector: (dash) Admin added an admin connector :vartype EventType.dash_admin_added_org_wide_connector: DashAdminAddedOrgWideConnectorType :ivar EventType.dash_admin_disabled_connector: (dash) Admin disabled a user connector :vartype EventType.dash_admin_disabled_connector: DashAdminDisabledConnectorType :ivar EventType.dash_admin_enabled_connector: (dash) Admin enabled a user connector :vartype EventType.dash_admin_enabled_connector: DashAdminEnabledConnectorType :ivar EventType.dash_admin_removed_org_wide_connector: (dash) Admin removed an admin connector :vartype EventType.dash_admin_removed_org_wide_connector: DashAdminRemovedOrgWideConnectorType :ivar EventType.dash_archived_stack: (dash) Archived a stack :vartype EventType.dash_archived_stack: DashArchivedStackType :ivar EventType.dash_changed_audience_of_shared_link_to_stack: (dash) Changed the audience of a shared link to a stack :vartype EventType.dash_changed_audience_of_shared_link_to_stack: DashChangedAudienceOfSharedLinkToStackType :ivar EventType.dash_cloned_stack: (dash) Cloned stack :vartype EventType.dash_cloned_stack: DashClonedStackType :ivar EventType.dash_connector_tools_call: (dash) Called a tool on a connector :vartype EventType.dash_connector_tools_call: DashConnectorToolsCallType :ivar EventType.dash_created_stack: (dash) Created a stack :vartype EventType.dash_created_stack: DashCreatedStackType :ivar EventType.dash_deleted_comment_from_stack: (dash) Deleted a comment from a stack :vartype EventType.dash_deleted_comment_from_stack: DashDeletedCommentFromStackType :ivar EventType.dash_deleted_stack: (dash) Deleted a stack :vartype EventType.dash_deleted_stack: DashDeletedStackType :ivar EventType.dash_edited_comment_in_stack: (dash) Edited a comment in a stack :vartype EventType.dash_edited_comment_in_stack: DashEditedCommentInStackType :ivar EventType.dash_external_user_opened_stack: (dash) External user opened a stack :vartype EventType.dash_external_user_opened_stack: DashExternalUserOpenedStackType :ivar EventType.dash_first_launched_desktop: (dash) Opened the desktop app for the first time :vartype EventType.dash_first_launched_desktop: DashFirstLaunchedDesktopType :ivar EventType.dash_first_launched_extension: (dash) Opened the extension for the first time :vartype EventType.dash_first_launched_extension: DashFirstLaunchedExtensionType :ivar EventType.dash_first_launched_web_start_page: (dash) Opened the web Start Page for the first time :vartype EventType.dash_first_launched_web_start_page: DashFirstLaunchedWebStartPageType :ivar EventType.dash_opened_shared_link_to_stack: (dash) Checked access permissions to a stack :vartype EventType.dash_opened_shared_link_to_stack: DashOpenedSharedLinkToStackType :ivar EventType.dash_opened_stack: (dash) Opened a stack :vartype EventType.dash_opened_stack: DashOpenedStackType :ivar EventType.dash_preview_opt_out_status_changed: (dash) Changed the preview opt-out status :vartype EventType.dash_preview_opt_out_status_changed: DashPreviewOptOutStatusChangedType :ivar EventType.dash_removed_connector: (dash) Disconnected a user connector :vartype EventType.dash_removed_connector: DashRemovedConnectorType :ivar EventType.dash_removed_link_from_stack: (dash) Removed a link from a stack :vartype EventType.dash_removed_link_from_stack: DashRemovedLinkFromStackType :ivar EventType.dash_removed_shared_link_to_stack: (dash) Removed a shared link to a stack :vartype EventType.dash_removed_shared_link_to_stack: DashRemovedSharedLinkToStackType :ivar EventType.dash_removed_team_email_domain_allowlist: (dash) Admin removed an email domain from the team allowlist :vartype EventType.dash_removed_team_email_domain_allowlist: DashRemovedTeamEmailDomainAllowlistType :ivar EventType.dash_renamed_stack: (dash) Renamed a stack :vartype EventType.dash_renamed_stack: DashRenamedStackType :ivar EventType.dash_shared_link_to_stack: (dash) Shared a link to a stack :vartype EventType.dash_shared_link_to_stack: DashSharedLinkToStackType :ivar EventType.dash_unarchived_stack: (dash) Unarchived a stack :vartype EventType.dash_unarchived_stack: DashUnarchivedStackType :ivar EventType.dash_viewed_company_stack: (dash) Member viewed a company stack :vartype EventType.dash_viewed_company_stack: DashViewedCompanyStackType :ivar EventType.dash_viewed_external_ai_activity_report: (dash) Admin viewed the external AI activity report :vartype EventType.dash_viewed_external_ai_activity_report: DashViewedExternalAiActivityReportType :ivar EventType.governance_policy_add_folders: (data_governance) Added folders to policy :vartype EventType.governance_policy_add_folders: GovernancePolicyAddFoldersType :ivar EventType.governance_policy_add_folder_failed: (data_governance) Couldn't add a folder to a policy :vartype EventType.governance_policy_add_folder_failed: GovernancePolicyAddFolderFailedType :ivar EventType.governance_policy_content_disposed: (data_governance) Content disposed :vartype EventType.governance_policy_content_disposed: GovernancePolicyContentDisposedType :ivar EventType.governance_policy_create: (data_governance) Activated a new policy :vartype EventType.governance_policy_create: GovernancePolicyCreateType :ivar EventType.governance_policy_delete: (data_governance) Deleted a policy :vartype EventType.governance_policy_delete: GovernancePolicyDeleteType :ivar EventType.governance_policy_edit_details: (data_governance) Edited policy :vartype EventType.governance_policy_edit_details: GovernancePolicyEditDetailsType :ivar EventType.governance_policy_edit_duration: (data_governance) Changed policy duration :vartype EventType.governance_policy_edit_duration: GovernancePolicyEditDurationType :ivar EventType.governance_policy_export_created: (data_governance) Created a policy download :vartype EventType.governance_policy_export_created: GovernancePolicyExportCreatedType :ivar EventType.governance_policy_export_removed: (data_governance) Removed a policy download :vartype EventType.governance_policy_export_removed: GovernancePolicyExportRemovedType :ivar EventType.governance_policy_remove_folders: (data_governance) Removed folders from policy :vartype EventType.governance_policy_remove_folders: GovernancePolicyRemoveFoldersType :ivar EventType.governance_policy_report_created: (data_governance) Created a summary report for a policy :vartype EventType.governance_policy_report_created: GovernancePolicyReportCreatedType :ivar EventType.governance_policy_zip_part_downloaded: (data_governance) Downloaded content from a policy :vartype EventType.governance_policy_zip_part_downloaded: GovernancePolicyZipPartDownloadedType :ivar EventType.legal_holds_activate_a_hold: (data_governance) Activated a hold :vartype EventType.legal_holds_activate_a_hold: LegalHoldsActivateAHoldType :ivar EventType.legal_holds_add_members: (data_governance) Added members to a hold :vartype EventType.legal_holds_add_members: LegalHoldsAddMembersType :ivar EventType.legal_holds_change_hold_details: (data_governance) Edited details for a hold :vartype EventType.legal_holds_change_hold_details: LegalHoldsChangeHoldDetailsType :ivar EventType.legal_holds_change_hold_name: (data_governance) Renamed a hold :vartype EventType.legal_holds_change_hold_name: LegalHoldsChangeHoldNameType :ivar EventType.legal_holds_export_a_hold: (data_governance) Exported hold :vartype EventType.legal_holds_export_a_hold: LegalHoldsExportAHoldType :ivar EventType.legal_holds_export_cancelled: (data_governance) Canceled export for a hold :vartype EventType.legal_holds_export_cancelled: LegalHoldsExportCancelledType :ivar EventType.legal_holds_export_downloaded: (data_governance) Downloaded export for a hold :vartype EventType.legal_holds_export_downloaded: LegalHoldsExportDownloadedType :ivar EventType.legal_holds_export_removed: (data_governance) Removed export for a hold :vartype EventType.legal_holds_export_removed: LegalHoldsExportRemovedType :ivar EventType.legal_holds_release_a_hold: (data_governance) Released a hold :vartype EventType.legal_holds_release_a_hold: LegalHoldsReleaseAHoldType :ivar EventType.legal_holds_remove_members: (data_governance) Removed members from a hold :vartype EventType.legal_holds_remove_members: LegalHoldsRemoveMembersType :ivar EventType.legal_holds_report_a_hold: (data_governance) Created a summary report for a hold :vartype EventType.legal_holds_report_a_hold: LegalHoldsReportAHoldType :ivar EventType.device_change_ip_desktop: (devices) Changed IP address associated with active desktop session :vartype EventType.device_change_ip_desktop: DeviceChangeIpDesktopType :ivar EventType.device_change_ip_mobile: (devices) Changed IP address associated with active mobile session :vartype EventType.device_change_ip_mobile: DeviceChangeIpMobileType :ivar EventType.device_change_ip_web: (devices) Changed IP address associated with active web session :vartype EventType.device_change_ip_web: DeviceChangeIpWebType :ivar EventType.device_delete_on_unlink_fail: (devices) Failed to delete all files from unlinked device :vartype EventType.device_delete_on_unlink_fail: DeviceDeleteOnUnlinkFailType :ivar EventType.device_delete_on_unlink_success: (devices) Deleted all files from unlinked device :vartype EventType.device_delete_on_unlink_success: DeviceDeleteOnUnlinkSuccessType :ivar EventType.device_link_fail: (devices) Failed to link device :vartype EventType.device_link_fail: DeviceLinkFailType :ivar EventType.device_link_success: (devices) Linked device :vartype EventType.device_link_success: DeviceLinkSuccessType :ivar EventType.device_management_disabled: (devices) Disabled device management (deprecated, no longer logged) :vartype EventType.device_management_disabled: DeviceManagementDisabledType :ivar EventType.device_management_enabled: (devices) Enabled device management (deprecated, no longer logged) :vartype EventType.device_management_enabled: DeviceManagementEnabledType :ivar EventType.device_sync_backup_status_changed: (devices) Enabled/disabled backup for computer :vartype EventType.device_sync_backup_status_changed: DeviceSyncBackupStatusChangedType :ivar EventType.device_unlink: (devices) Disconnected device :vartype EventType.device_unlink: DeviceUnlinkType :ivar EventType.dropbox_passwords_exported: (devices) Exported passwords :vartype EventType.dropbox_passwords_exported: DropboxPasswordsExportedType :ivar EventType.dropbox_passwords_new_device_enrolled: (devices) Enrolled new Dropbox Passwords device :vartype EventType.dropbox_passwords_new_device_enrolled: DropboxPasswordsNewDeviceEnrolledType :ivar EventType.emm_refresh_auth_token: (devices) Refreshed auth token used for setting up EMM :vartype EventType.emm_refresh_auth_token: EmmRefreshAuthTokenType :ivar EventType.external_drive_backup_eligibility_status_checked: (devices) Checked external drive backup eligibility status :vartype EventType.external_drive_backup_eligibility_status_checked: ExternalDriveBackupEligibilityStatusCheckedType :ivar EventType.external_drive_backup_status_changed: (devices) Modified external drive backup :vartype EventType.external_drive_backup_status_changed: ExternalDriveBackupStatusChangedType :ivar EventType.account_capture_change_availability: (domains) Granted/revoked option to enable account capture on team domains :vartype EventType.account_capture_change_availability: AccountCaptureChangeAvailabilityType :ivar EventType.account_capture_migrate_account: (domains) Account-captured user migrated account to team :vartype EventType.account_capture_migrate_account: AccountCaptureMigrateAccountType :ivar EventType.account_capture_notification_emails_sent: (domains) Sent account capture email to all unmanaged members :vartype EventType.account_capture_notification_emails_sent: AccountCaptureNotificationEmailsSentType :ivar EventType.account_capture_relinquish_account: (domains) Account-captured user changed account email to personal email :vartype EventType.account_capture_relinquish_account: AccountCaptureRelinquishAccountType :ivar EventType.disabled_domain_invites: (domains) Disabled domain invites (deprecated, no longer logged) :vartype EventType.disabled_domain_invites: DisabledDomainInvitesType :ivar EventType.domain_invites_approve_request_to_join_team: (domains) Approved user's request to join team :vartype EventType.domain_invites_approve_request_to_join_team: DomainInvitesApproveRequestToJoinTeamType :ivar EventType.domain_invites_decline_request_to_join_team: (domains) Declined user's request to join team :vartype EventType.domain_invites_decline_request_to_join_team: DomainInvitesDeclineRequestToJoinTeamType :ivar EventType.domain_invites_email_existing_users: (domains) Sent domain invites to existing domain accounts (deprecated, no longer logged) :vartype EventType.domain_invites_email_existing_users: DomainInvitesEmailExistingUsersType :ivar EventType.domain_invites_request_to_join_team: (domains) Requested to join team :vartype EventType.domain_invites_request_to_join_team: DomainInvitesRequestToJoinTeamType :ivar EventType.domain_invites_set_invite_new_user_pref_to_no: (domains) Disabled "Automatically invite new users" (deprecated, no longer logged) :vartype EventType.domain_invites_set_invite_new_user_pref_to_no: DomainInvitesSetInviteNewUserPrefToNoType :ivar EventType.domain_invites_set_invite_new_user_pref_to_yes: (domains) Enabled "Automatically invite new users" (deprecated, no longer logged) :vartype EventType.domain_invites_set_invite_new_user_pref_to_yes: DomainInvitesSetInviteNewUserPrefToYesType :ivar EventType.domain_verification_add_domain_fail: (domains) Failed to verify team domain :vartype EventType.domain_verification_add_domain_fail: DomainVerificationAddDomainFailType :ivar EventType.domain_verification_add_domain_success: (domains) Verified team domain :vartype EventType.domain_verification_add_domain_success: DomainVerificationAddDomainSuccessType :ivar EventType.domain_verification_remove_domain: (domains) Removed domain from list of verified team domains :vartype EventType.domain_verification_remove_domain: DomainVerificationRemoveDomainType :ivar EventType.enabled_domain_invites: (domains) Enabled domain invites (deprecated, no longer logged) :vartype EventType.enabled_domain_invites: EnabledDomainInvitesType :ivar EventType.encrypted_folder_cancel_team_key_rotation: (encryption) Canceled team key rotation :vartype EventType.encrypted_folder_cancel_team_key_rotation: EncryptedFolderCancelTeamKeyRotationType :ivar EventType.encrypted_folder_enroll_backup_key: (encryption) Added recovery key :vartype EventType.encrypted_folder_enroll_backup_key: EncryptedFolderEnrollBackupKeyType :ivar EventType.encrypted_folder_enroll_client: (encryption) Enrolled device :vartype EventType.encrypted_folder_enroll_client: EncryptedFolderEnrollClientType :ivar EventType.encrypted_folder_enroll_team: (encryption) Activated team folder encryption :vartype EventType.encrypted_folder_enroll_team: EncryptedFolderEnrollTeamType :ivar EventType.encrypted_folder_finish_team_unenrollment: (encryption) Deactivated team folder encryption :vartype EventType.encrypted_folder_finish_team_unenrollment: EncryptedFolderFinishTeamUnenrollmentType :ivar EventType.encrypted_folder_init_team_key_rotation: (encryption) Initiated team key rotation :vartype EventType.encrypted_folder_init_team_key_rotation: EncryptedFolderInitTeamKeyRotationType :ivar EventType.encrypted_folder_init_team_unenrollment: (encryption) Initiated deactivation of team folder encryption :vartype EventType.encrypted_folder_init_team_unenrollment: EncryptedFolderInitTeamUnenrollmentType :ivar EventType.encrypted_folder_remove_backup_key: (encryption) Removed recovery key :vartype EventType.encrypted_folder_remove_backup_key: EncryptedFolderRemoveBackupKeyType :ivar EventType.encrypted_folder_rotate_team_key: (encryption) Rotated team key :vartype EventType.encrypted_folder_rotate_team_key: EncryptedFolderRotateTeamKeyType :ivar EventType.encrypted_folder_unenroll_client: (encryption) Unenrolled device :vartype EventType.encrypted_folder_unenroll_client: EncryptedFolderUnenrollClientType :ivar EventType.team_encryption_key_activate_key: (encryption) Activated team encryption key :vartype EventType.team_encryption_key_activate_key: TeamEncryptionKeyActivateKeyType :ivar EventType.team_encryption_key_cancel_key_deletion: (encryption) Canceled team encryption key deletion :vartype EventType.team_encryption_key_cancel_key_deletion: TeamEncryptionKeyCancelKeyDeletionType :ivar EventType.team_encryption_key_create_key: (encryption) Created team encryption key :vartype EventType.team_encryption_key_create_key: TeamEncryptionKeyCreateKeyType :ivar EventType.team_encryption_key_deactivate_key: (encryption) Deactivated team encryption key :vartype EventType.team_encryption_key_deactivate_key: TeamEncryptionKeyDeactivateKeyType :ivar EventType.team_encryption_key_delete_key: (encryption) Deleted team encryption key :vartype EventType.team_encryption_key_delete_key: TeamEncryptionKeyDeleteKeyType :ivar EventType.team_encryption_key_disable_key: (encryption) Disabled team encryption key :vartype EventType.team_encryption_key_disable_key: TeamEncryptionKeyDisableKeyType :ivar EventType.team_encryption_key_enable_key: (encryption) Enabled team encryption key :vartype EventType.team_encryption_key_enable_key: TeamEncryptionKeyEnableKeyType :ivar EventType.team_encryption_key_rotate_key: (encryption) Rotated team encryption key (deprecated, no longer logged) :vartype EventType.team_encryption_key_rotate_key: TeamEncryptionKeyRotateKeyType :ivar EventType.team_encryption_key_schedule_key_deletion: (encryption) Scheduled encryption key deletion :vartype EventType.team_encryption_key_schedule_key_deletion: TeamEncryptionKeyScheduleKeyDeletionType :ivar EventType.apply_naming_convention: (file_operations) Applied naming convention :vartype EventType.apply_naming_convention: ApplyNamingConventionType :ivar EventType.create_folder: (file_operations) Created folders (deprecated, no longer logged) :vartype EventType.create_folder: CreateFolderType :ivar EventType.file_add: (file_operations) Added files and/or folders :vartype EventType.file_add: FileAddType :ivar EventType.file_add_from_automation: (file_operations) Added files and/or folders from automation :vartype EventType.file_add_from_automation: FileAddFromAutomationType :ivar EventType.file_copy: (file_operations) Copied files and/or folders :vartype EventType.file_copy: FileCopyType :ivar EventType.file_delete: (file_operations) Deleted files and/or folders :vartype EventType.file_delete: FileDeleteType :ivar EventType.file_download: (file_operations) Downloaded files and/or folders :vartype EventType.file_download: FileDownloadType :ivar EventType.file_edit: (file_operations) Edited files :vartype EventType.file_edit: FileEditType :ivar EventType.file_get_copy_reference: (file_operations) Created copy reference to file/folder :vartype EventType.file_get_copy_reference: FileGetCopyReferenceType :ivar EventType.file_locking_lock_status_changed: (file_operations) Locked/unlocked editing for a file :vartype EventType.file_locking_lock_status_changed: FileLockingLockStatusChangedType :ivar EventType.file_move: (file_operations) Moved files and/or folders :vartype EventType.file_move: FileMoveType :ivar EventType.file_permanently_delete: (file_operations) Permanently deleted files and/or folders :vartype EventType.file_permanently_delete: FilePermanentlyDeleteType :ivar EventType.file_preview: (file_operations) Previewed files and/or folders :vartype EventType.file_preview: FilePreviewType :ivar EventType.file_rename: (file_operations) Renamed files and/or folders :vartype EventType.file_rename: FileRenameType :ivar EventType.file_restore: (file_operations) Restored deleted files and/or folders :vartype EventType.file_restore: FileRestoreType :ivar EventType.file_revert: (file_operations) Reverted files to previous version :vartype EventType.file_revert: FileRevertType :ivar EventType.file_rollback_changes: (file_operations) Rolled back file actions :vartype EventType.file_rollback_changes: FileRollbackChangesType :ivar EventType.file_save_copy_reference: (file_operations) Saved file/folder using copy reference :vartype EventType.file_save_copy_reference: FileSaveCopyReferenceType :ivar EventType.folder_overview_description_changed: (file_operations) Updated folder overview :vartype EventType.folder_overview_description_changed: FolderOverviewDescriptionChangedType :ivar EventType.folder_overview_item_pinned: (file_operations) Pinned item to folder overview :vartype EventType.folder_overview_item_pinned: FolderOverviewItemPinnedType :ivar EventType.folder_overview_item_unpinned: (file_operations) Unpinned item from folder overview :vartype EventType.folder_overview_item_unpinned: FolderOverviewItemUnpinnedType :ivar EventType.media_hub_file_downloaded: (file_operations) Downloaded files in Media Hub :vartype EventType.media_hub_file_downloaded: MediaHubFileDownloadedType :ivar EventType.object_label_added: (file_operations) Added a label :vartype EventType.object_label_added: ObjectLabelAddedType :ivar EventType.object_label_removed: (file_operations) Removed a label :vartype EventType.object_label_removed: ObjectLabelRemovedType :ivar EventType.object_label_updated_value: (file_operations) Updated a label's value :vartype EventType.object_label_updated_value: ObjectLabelUpdatedValueType :ivar EventType.organize_folder_with_tidy: (file_operations) Organized a folder with multi-file organize :vartype EventType.organize_folder_with_tidy: OrganizeFolderWithTidyType :ivar EventType.replay_file_delete: (file_operations) Deleted files in Replay :vartype EventType.replay_file_delete: ReplayFileDeleteType :ivar EventType.replay_file_downloaded: (file_operations) Downloaded files in Replay :vartype EventType.replay_file_downloaded: ReplayFileDownloadedType :ivar EventType.replay_team_project_created: (file_operations) Created a team project in Replay :vartype EventType.replay_team_project_created: ReplayTeamProjectCreatedType :ivar EventType.rewind_folder: (file_operations) Rewound a folder :vartype EventType.rewind_folder: RewindFolderType :ivar EventType.undo_naming_convention: (file_operations) Reverted naming convention :vartype EventType.undo_naming_convention: UndoNamingConventionType :ivar EventType.undo_organize_folder_with_tidy: (file_operations) Removed multi-file organize :vartype EventType.undo_organize_folder_with_tidy: UndoOrganizeFolderWithTidyType :ivar EventType.user_tags_added: (file_operations) Tagged a file :vartype EventType.user_tags_added: UserTagsAddedType :ivar EventType.user_tags_removed: (file_operations) Removed tags :vartype EventType.user_tags_removed: UserTagsRemovedType :ivar EventType.email_ingest_receive_file: (file_requests) Received files via Email to Dropbox :vartype EventType.email_ingest_receive_file: EmailIngestReceiveFileType :ivar EventType.file_request_auto_close: (file_requests) Auto closed file request :vartype EventType.file_request_auto_close: FileRequestAutoCloseType :ivar EventType.file_request_change: (file_requests) Changed file request :vartype EventType.file_request_change: FileRequestChangeType :ivar EventType.file_request_close: (file_requests) Closed file request :vartype EventType.file_request_close: FileRequestCloseType :ivar EventType.file_request_create: (file_requests) Created file request :vartype EventType.file_request_create: FileRequestCreateType :ivar EventType.file_request_delete: (file_requests) Delete file request :vartype EventType.file_request_delete: FileRequestDeleteType :ivar EventType.file_request_receive_file: (file_requests) Received files for file request :vartype EventType.file_request_receive_file: FileRequestReceiveFileType :ivar EventType.group_add_external_id: (groups) Added external ID for group :vartype EventType.group_add_external_id: GroupAddExternalIdType :ivar EventType.group_add_member: (groups) Added team members to group :vartype EventType.group_add_member: GroupAddMemberType :ivar EventType.group_change_external_id: (groups) Changed external ID for group :vartype EventType.group_change_external_id: GroupChangeExternalIdType :ivar EventType.group_change_management_type: (groups) Changed group management type :vartype EventType.group_change_management_type: GroupChangeManagementTypeType :ivar EventType.group_change_member_role: (groups) Changed manager permissions of group member :vartype EventType.group_change_member_role: GroupChangeMemberRoleType :ivar EventType.group_create: (groups) Created group :vartype EventType.group_create: GroupCreateType :ivar EventType.group_delete: (groups) Deleted group :vartype EventType.group_delete: GroupDeleteType :ivar EventType.group_description_updated: (groups) Updated group (deprecated, no longer logged) :vartype EventType.group_description_updated: GroupDescriptionUpdatedType :ivar EventType.group_external_sharing_setting_override_changed: (groups) Changed group's external sharing setting :vartype EventType.group_external_sharing_setting_override_changed: GroupExternalSharingSettingOverrideChangedType :ivar EventType.group_join_policy_updated: (groups) Updated group join policy (deprecated, no longer logged) :vartype EventType.group_join_policy_updated: GroupJoinPolicyUpdatedType :ivar EventType.group_moved: (groups) Moved group (deprecated, no longer logged) :vartype EventType.group_moved: GroupMovedType :ivar EventType.group_remove_external_id: (groups) Removed external ID for group :vartype EventType.group_remove_external_id: GroupRemoveExternalIdType :ivar EventType.group_remove_member: (groups) Removed team members from group :vartype EventType.group_remove_member: GroupRemoveMemberType :ivar EventType.group_rename: (groups) Renamed group :vartype EventType.group_rename: GroupRenameType :ivar EventType.account_lock_or_unlocked: (logins) Unlocked/locked account after failed sign in attempts :vartype EventType.account_lock_or_unlocked: AccountLockOrUnlockedType :ivar EventType.emm_error: (logins) Failed to sign in via EMM (deprecated, replaced by 'Failed to sign in') :vartype EventType.emm_error: EmmErrorType :ivar EventType.guest_admin_signed_in_via_trusted_teams: (logins) Started trusted team admin session :vartype EventType.guest_admin_signed_in_via_trusted_teams: GuestAdminSignedInViaTrustedTeamsType :ivar EventType.guest_admin_signed_out_via_trusted_teams: (logins) Ended trusted team admin session :vartype EventType.guest_admin_signed_out_via_trusted_teams: GuestAdminSignedOutViaTrustedTeamsType :ivar EventType.login_fail: (logins) Failed to sign in :vartype EventType.login_fail: LoginFailType :ivar EventType.login_success: (logins) Signed in :vartype EventType.login_success: LoginSuccessType :ivar EventType.logout: (logins) Signed out :vartype EventType.logout: LogoutType :ivar EventType.reseller_support_session_end: (logins) Ended reseller support session :vartype EventType.reseller_support_session_end: ResellerSupportSessionEndType :ivar EventType.reseller_support_session_start: (logins) Started reseller support session :vartype EventType.reseller_support_session_start: ResellerSupportSessionStartType :ivar EventType.sign_in_as_session_end: (logins) Ended admin sign-in-as session :vartype EventType.sign_in_as_session_end: SignInAsSessionEndType :ivar EventType.sign_in_as_session_start: (logins) Started admin sign-in-as session :vartype EventType.sign_in_as_session_start: SignInAsSessionStartType :ivar EventType.sso_error: (logins) Failed to sign in via SSO (deprecated, replaced by 'Failed to sign in') :vartype EventType.sso_error: SsoErrorType :ivar EventType.addon_assigned: (members) Add-on Assigned :vartype EventType.addon_assigned: AddonAssignedType :ivar EventType.addon_removed: (members) Add-on Removed :vartype EventType.addon_removed: AddonRemovedType :ivar EventType.backup_admin_invitation_sent: (members) Invited members to activate Backup :vartype EventType.backup_admin_invitation_sent: BackupAdminInvitationSentType :ivar EventType.backup_invitation_opened: (members) Opened Backup invite :vartype EventType.backup_invitation_opened: BackupInvitationOpenedType :ivar EventType.create_team_invite_link: (members) Created team invite link :vartype EventType.create_team_invite_link: CreateTeamInviteLinkType :ivar EventType.delete_team_invite_link: (members) Deleted team invite link :vartype EventType.delete_team_invite_link: DeleteTeamInviteLinkType :ivar EventType.member_add_external_id: (members) Added an external ID for team member :vartype EventType.member_add_external_id: MemberAddExternalIdType :ivar EventType.member_add_name: (members) Added team member name :vartype EventType.member_add_name: MemberAddNameType :ivar EventType.member_change_admin_role: (members) Changed team member admin role :vartype EventType.member_change_admin_role: MemberChangeAdminRoleType :ivar EventType.member_change_email: (members) Changed team member email :vartype EventType.member_change_email: MemberChangeEmailType :ivar EventType.member_change_external_id: (members) Changed the external ID for team member :vartype EventType.member_change_external_id: MemberChangeExternalIdType :ivar EventType.member_change_membership_type: (members) Changed membership type (limited/full) of member (deprecated, no longer logged) :vartype EventType.member_change_membership_type: MemberChangeMembershipTypeType :ivar EventType.member_change_name: (members) Changed team member name :vartype EventType.member_change_name: MemberChangeNameType :ivar EventType.member_change_reseller_role: (members) Changed team member reseller role :vartype EventType.member_change_reseller_role: MemberChangeResellerRoleType :ivar EventType.member_change_status: (members) Changed member status (invited, joined, suspended, etc.) :vartype EventType.member_change_status: MemberChangeStatusType :ivar EventType.member_delete_manual_contacts: (members) Cleared manually added contacts :vartype EventType.member_delete_manual_contacts: MemberDeleteManualContactsType :ivar EventType.member_delete_profile_photo: (members) Deleted team member profile photo :vartype EventType.member_delete_profile_photo: MemberDeleteProfilePhotoType :ivar EventType.member_permanently_delete_account_contents: (members) Permanently deleted contents of deleted team member account :vartype EventType.member_permanently_delete_account_contents: MemberPermanentlyDeleteAccountContentsType :ivar EventType.member_remove_external_id: (members) Removed the external ID for team member :vartype EventType.member_remove_external_id: MemberRemoveExternalIdType :ivar EventType.member_set_profile_photo: (members) Set team member profile photo :vartype EventType.member_set_profile_photo: MemberSetProfilePhotoType :ivar EventType.member_space_limits_add_custom_quota: (members) Set custom member space limit :vartype EventType.member_space_limits_add_custom_quota: MemberSpaceLimitsAddCustomQuotaType :ivar EventType.member_space_limits_change_custom_quota: (members) Changed custom member space limit :vartype EventType.member_space_limits_change_custom_quota: MemberSpaceLimitsChangeCustomQuotaType :ivar EventType.member_space_limits_change_status: (members) Changed space limit status :vartype EventType.member_space_limits_change_status: MemberSpaceLimitsChangeStatusType :ivar EventType.member_space_limits_remove_custom_quota: (members) Removed custom member space limit :vartype EventType.member_space_limits_remove_custom_quota: MemberSpaceLimitsRemoveCustomQuotaType :ivar EventType.member_suggest: (members) Suggested person to add to team :vartype EventType.member_suggest: MemberSuggestType :ivar EventType.member_transfer_account_contents: (members) Transferred contents of deleted member account to another member :vartype EventType.member_transfer_account_contents: MemberTransferAccountContentsType :ivar EventType.pending_secondary_email_added: (members) Added pending secondary email :vartype EventType.pending_secondary_email_added: PendingSecondaryEmailAddedType :ivar EventType.product_assigned_to_member: (members) Product assigned to team member :vartype EventType.product_assigned_to_member: ProductAssignedToMemberType :ivar EventType.product_removed_from_member: (members) Product removed from team member :vartype EventType.product_removed_from_member: ProductRemovedFromMemberType :ivar EventType.secondary_email_deleted: (members) Deleted secondary email :vartype EventType.secondary_email_deleted: SecondaryEmailDeletedType :ivar EventType.secondary_email_verified: (members) Verified secondary email :vartype EventType.secondary_email_verified: SecondaryEmailVerifiedType :ivar EventType.secondary_mails_policy_changed: (members) Secondary mails policy changed :vartype EventType.secondary_mails_policy_changed: SecondaryMailsPolicyChangedType :ivar EventType.binder_add_page: (paper) Added Binder page (deprecated, replaced by 'Edited files') :vartype EventType.binder_add_page: BinderAddPageType :ivar EventType.binder_add_section: (paper) Added Binder section (deprecated, replaced by 'Edited files') :vartype EventType.binder_add_section: BinderAddSectionType :ivar EventType.binder_remove_page: (paper) Removed Binder page (deprecated, replaced by 'Edited files') :vartype EventType.binder_remove_page: BinderRemovePageType :ivar EventType.binder_remove_section: (paper) Removed Binder section (deprecated, replaced by 'Edited files') :vartype EventType.binder_remove_section: BinderRemoveSectionType :ivar EventType.binder_rename_page: (paper) Renamed Binder page (deprecated, replaced by 'Edited files') :vartype EventType.binder_rename_page: BinderRenamePageType :ivar EventType.binder_rename_section: (paper) Renamed Binder section (deprecated, replaced by 'Edited files') :vartype EventType.binder_rename_section: BinderRenameSectionType :ivar EventType.binder_reorder_page: (paper) Reordered Binder page (deprecated, replaced by 'Edited files') :vartype EventType.binder_reorder_page: BinderReorderPageType :ivar EventType.binder_reorder_section: (paper) Reordered Binder section (deprecated, replaced by 'Edited files') :vartype EventType.binder_reorder_section: BinderReorderSectionType :ivar EventType.paper_content_add_member: (paper) Added users and/or groups to Paper doc/folder :vartype EventType.paper_content_add_member: PaperContentAddMemberType :ivar EventType.paper_content_add_to_folder: (paper) Added Paper doc/folder to folder :vartype EventType.paper_content_add_to_folder: PaperContentAddToFolderType :ivar EventType.paper_content_archive: (paper) Archived Paper doc/folder :vartype EventType.paper_content_archive: PaperContentArchiveType :ivar EventType.paper_content_create: (paper) Created Paper doc/folder :vartype EventType.paper_content_create: PaperContentCreateType :ivar EventType.paper_content_permanently_delete: (paper) Permanently deleted Paper doc/folder :vartype EventType.paper_content_permanently_delete: PaperContentPermanentlyDeleteType :ivar EventType.paper_content_remove_from_folder: (paper) Removed Paper doc/folder from folder :vartype EventType.paper_content_remove_from_folder: PaperContentRemoveFromFolderType :ivar EventType.paper_content_remove_member: (paper) Removed users and/or groups from Paper doc/folder :vartype EventType.paper_content_remove_member: PaperContentRemoveMemberType :ivar EventType.paper_content_rename: (paper) Renamed Paper doc/folder :vartype EventType.paper_content_rename: PaperContentRenameType :ivar EventType.paper_content_restore: (paper) Restored archived Paper doc/folder :vartype EventType.paper_content_restore: PaperContentRestoreType :ivar EventType.paper_doc_add_comment: (paper) Added Paper doc comment :vartype EventType.paper_doc_add_comment: PaperDocAddCommentType :ivar EventType.paper_doc_change_member_role: (paper) Changed member permissions for Paper doc :vartype EventType.paper_doc_change_member_role: PaperDocChangeMemberRoleType :ivar EventType.paper_doc_change_sharing_policy: (paper) Changed sharing setting for Paper doc :vartype EventType.paper_doc_change_sharing_policy: PaperDocChangeSharingPolicyType :ivar EventType.paper_doc_change_subscription: (paper) Followed/unfollowed Paper doc :vartype EventType.paper_doc_change_subscription: PaperDocChangeSubscriptionType :ivar EventType.paper_doc_deleted: (paper) Archived Paper doc (deprecated, no longer logged) :vartype EventType.paper_doc_deleted: PaperDocDeletedType :ivar EventType.paper_doc_delete_comment: (paper) Deleted Paper doc comment :vartype EventType.paper_doc_delete_comment: PaperDocDeleteCommentType :ivar EventType.paper_doc_download: (paper) Downloaded Paper doc in specific format :vartype EventType.paper_doc_download: PaperDocDownloadType :ivar EventType.paper_doc_edit: (paper) Edited Paper doc :vartype EventType.paper_doc_edit: PaperDocEditType :ivar EventType.paper_doc_edit_comment: (paper) Edited Paper doc comment :vartype EventType.paper_doc_edit_comment: PaperDocEditCommentType :ivar EventType.paper_doc_followed: (paper) Followed Paper doc (deprecated, replaced by 'Followed/unfollowed Paper doc') :vartype EventType.paper_doc_followed: PaperDocFollowedType :ivar EventType.paper_doc_mention: (paper) Mentioned user in Paper doc :vartype EventType.paper_doc_mention: PaperDocMentionType :ivar EventType.paper_doc_ownership_changed: (paper) Transferred ownership of Paper doc :vartype EventType.paper_doc_ownership_changed: PaperDocOwnershipChangedType :ivar EventType.paper_doc_request_access: (paper) Requested access to Paper doc :vartype EventType.paper_doc_request_access: PaperDocRequestAccessType :ivar EventType.paper_doc_resolve_comment: (paper) Resolved Paper doc comment :vartype EventType.paper_doc_resolve_comment: PaperDocResolveCommentType :ivar EventType.paper_doc_revert: (paper) Restored Paper doc to previous version :vartype EventType.paper_doc_revert: PaperDocRevertType :ivar EventType.paper_doc_slack_share: (paper) Shared Paper doc via Slack :vartype EventType.paper_doc_slack_share: PaperDocSlackShareType :ivar EventType.paper_doc_team_invite: (paper) Shared Paper doc with users and/or groups (deprecated, no longer logged) :vartype EventType.paper_doc_team_invite: PaperDocTeamInviteType :ivar EventType.paper_doc_trashed: (paper) Deleted Paper doc :vartype EventType.paper_doc_trashed: PaperDocTrashedType :ivar EventType.paper_doc_unresolve_comment: (paper) Unresolved Paper doc comment :vartype EventType.paper_doc_unresolve_comment: PaperDocUnresolveCommentType :ivar EventType.paper_doc_untrashed: (paper) Restored Paper doc :vartype EventType.paper_doc_untrashed: PaperDocUntrashedType :ivar EventType.paper_doc_view: (paper) Viewed Paper doc :vartype EventType.paper_doc_view: PaperDocViewType :ivar EventType.paper_external_view_allow: (paper) Changed Paper external sharing setting to anyone (deprecated, no longer logged) :vartype EventType.paper_external_view_allow: PaperExternalViewAllowType :ivar EventType.paper_external_view_default_team: (paper) Changed Paper external sharing setting to default team (deprecated, no longer logged) :vartype EventType.paper_external_view_default_team: PaperExternalViewDefaultTeamType :ivar EventType.paper_external_view_forbid: (paper) Changed Paper external sharing setting to team-only (deprecated, no longer logged) :vartype EventType.paper_external_view_forbid: PaperExternalViewForbidType :ivar EventType.paper_folder_change_subscription: (paper) Followed/unfollowed Paper folder :vartype EventType.paper_folder_change_subscription: PaperFolderChangeSubscriptionType :ivar EventType.paper_folder_deleted: (paper) Archived Paper folder (deprecated, no longer logged) :vartype EventType.paper_folder_deleted: PaperFolderDeletedType :ivar EventType.paper_folder_followed: (paper) Followed Paper folder (deprecated, replaced by 'Followed/unfollowed Paper folder') :vartype EventType.paper_folder_followed: PaperFolderFollowedType :ivar EventType.paper_folder_team_invite: (paper) Shared Paper folder with users and/or groups (deprecated, no longer logged) :vartype EventType.paper_folder_team_invite: PaperFolderTeamInviteType :ivar EventType.paper_published_link_change_permission: (paper) Changed permissions for published doc :vartype EventType.paper_published_link_change_permission: PaperPublishedLinkChangePermissionType :ivar EventType.paper_published_link_create: (paper) Published doc :vartype EventType.paper_published_link_create: PaperPublishedLinkCreateType :ivar EventType.paper_published_link_disabled: (paper) Unpublished doc :vartype EventType.paper_published_link_disabled: PaperPublishedLinkDisabledType :ivar EventType.paper_published_link_view: (paper) Viewed published doc :vartype EventType.paper_published_link_view: PaperPublishedLinkViewType :ivar EventType.password_change: (passwords) Changed password :vartype EventType.password_change: PasswordChangeType :ivar EventType.password_reset: (passwords) Reset password :vartype EventType.password_reset: PasswordResetType :ivar EventType.password_reset_all: (passwords) Reset all team member passwords :vartype EventType.password_reset_all: PasswordResetAllType :ivar EventType.protect_internal_domains_changed: (protect) Modified Protect internal domains list :vartype EventType.protect_internal_domains_changed: ProtectInternalDomainsChangedType :ivar EventType.classification_create_report: (reports) Created Classification report :vartype EventType.classification_create_report: ClassificationCreateReportType :ivar EventType.classification_create_report_fail: (reports) Couldn't create Classification report :vartype EventType.classification_create_report_fail: ClassificationCreateReportFailType :ivar EventType.emm_create_exceptions_report: (reports) Created EMM-excluded users report :vartype EventType.emm_create_exceptions_report: EmmCreateExceptionsReportType :ivar EventType.emm_create_usage_report: (reports) Created EMM mobile app usage report :vartype EventType.emm_create_usage_report: EmmCreateUsageReportType :ivar EventType.export_members_report: (reports) Created member data report :vartype EventType.export_members_report: ExportMembersReportType :ivar EventType.export_members_report_fail: (reports) Failed to create members data report :vartype EventType.export_members_report_fail: ExportMembersReportFailType :ivar EventType.external_sharing_create_report: (reports) Created External sharing report :vartype EventType.external_sharing_create_report: ExternalSharingCreateReportType :ivar EventType.external_sharing_report_failed: (reports) Couldn't create External sharing report :vartype EventType.external_sharing_report_failed: ExternalSharingReportFailedType :ivar EventType.member_access_details_create_report: (reports) Created member access report :vartype EventType.member_access_details_create_report: MemberAccessDetailsCreateReportType :ivar EventType.member_access_details_create_report_failed: (reports) Couldn't generate member access report :vartype EventType.member_access_details_create_report_failed: MemberAccessDetailsCreateReportFailedType :ivar EventType.no_expiration_link_gen_create_report: (reports) Report created: Links created with no expiration :vartype EventType.no_expiration_link_gen_create_report: NoExpirationLinkGenCreateReportType :ivar EventType.no_expiration_link_gen_report_failed: (reports) Couldn't create report: Links created with no expiration :vartype EventType.no_expiration_link_gen_report_failed: NoExpirationLinkGenReportFailedType :ivar EventType.no_password_link_gen_create_report: (reports) Report created: Links created without passwords :vartype EventType.no_password_link_gen_create_report: NoPasswordLinkGenCreateReportType :ivar EventType.no_password_link_gen_report_failed: (reports) Couldn't create report: Links created without passwords :vartype EventType.no_password_link_gen_report_failed: NoPasswordLinkGenReportFailedType :ivar EventType.no_password_link_view_create_report: (reports) Report created: Views of links without passwords :vartype EventType.no_password_link_view_create_report: NoPasswordLinkViewCreateReportType :ivar EventType.no_password_link_view_report_failed: (reports) Couldn't create report: Views of links without passwords :vartype EventType.no_password_link_view_report_failed: NoPasswordLinkViewReportFailedType :ivar EventType.outdated_link_view_create_report: (reports) Report created: Views of old links :vartype EventType.outdated_link_view_create_report: OutdatedLinkViewCreateReportType :ivar EventType.outdated_link_view_report_failed: (reports) Couldn't create report: Views of old links :vartype EventType.outdated_link_view_report_failed: OutdatedLinkViewReportFailedType :ivar EventType.paper_admin_export_start: (reports) Exported all team Paper docs :vartype EventType.paper_admin_export_start: PaperAdminExportStartType :ivar EventType.ransomware_alert_create_report: (reports) Created ransomware report :vartype EventType.ransomware_alert_create_report: RansomwareAlertCreateReportType :ivar EventType.ransomware_alert_create_report_failed: (reports) Couldn't generate ransomware report :vartype EventType.ransomware_alert_create_report_failed: RansomwareAlertCreateReportFailedType :ivar EventType.shared_folders_create_report: (reports) Created shared folders report :vartype EventType.shared_folders_create_report: SharedFoldersCreateReportType :ivar EventType.shared_folders_create_report_failed: (reports) Couldn't generate shared folders report :vartype EventType.shared_folders_create_report_failed: SharedFoldersCreateReportFailedType :ivar EventType.smart_sync_create_admin_privilege_report: (reports) Created Smart Sync non-admin devices report :vartype EventType.smart_sync_create_admin_privilege_report: SmartSyncCreateAdminPrivilegeReportType :ivar EventType.team_activity_create_report: (reports) Created team activity report :vartype EventType.team_activity_create_report: TeamActivityCreateReportType :ivar EventType.team_activity_create_report_fail: (reports) Couldn't generate team activity report :vartype EventType.team_activity_create_report_fail: TeamActivityCreateReportFailType :ivar EventType.team_folders_create_report: (reports) Created team folders report :vartype EventType.team_folders_create_report: TeamFoldersCreateReportType :ivar EventType.team_folders_create_report_failed: (reports) Couldn't generate team folders report :vartype EventType.team_folders_create_report_failed: TeamFoldersCreateReportFailedType :ivar EventType.team_storage_create_report: (reports) Created team storage report :vartype EventType.team_storage_create_report: TeamStorageCreateReportType :ivar EventType.team_storage_create_report_failed: (reports) Couldn't generate team storage report :vartype EventType.team_storage_create_report_failed: TeamStorageCreateReportFailedType :ivar EventType.collection_share: (sharing) Shared album :vartype EventType.collection_share: CollectionShareType :ivar EventType.file_transfers_file_add: (sharing) Transfer files added :vartype EventType.file_transfers_file_add: FileTransfersFileAddType :ivar EventType.file_transfers_transfer_delete: (sharing) Deleted transfer :vartype EventType.file_transfers_transfer_delete: FileTransfersTransferDeleteType :ivar EventType.file_transfers_transfer_download: (sharing) Transfer downloaded :vartype EventType.file_transfers_transfer_download: FileTransfersTransferDownloadType :ivar EventType.file_transfers_transfer_send: (sharing) Sent transfer :vartype EventType.file_transfers_transfer_send: FileTransfersTransferSendType :ivar EventType.file_transfers_transfer_view: (sharing) Viewed transfer :vartype EventType.file_transfers_transfer_view: FileTransfersTransferViewType :ivar EventType.media_hub_project_team_add: (sharing) Added member to Media Hub project :vartype EventType.media_hub_project_team_add: MediaHubProjectTeamAddType :ivar EventType.media_hub_project_team_delete: (sharing) Removed member from Media Hub project :vartype EventType.media_hub_project_team_delete: MediaHubProjectTeamDeleteType :ivar EventType.media_hub_project_team_role_changed: (sharing) Changed member role in Media Hub project :vartype EventType.media_hub_project_team_role_changed: MediaHubProjectTeamRoleChangedType :ivar EventType.media_hub_shared_link_audience_changed: (sharing) Changed Media Hub shared link audience :vartype EventType.media_hub_shared_link_audience_changed: MediaHubSharedLinkAudienceChangedType :ivar EventType.media_hub_shared_link_created: (sharing) Created Media Hub shared link :vartype EventType.media_hub_shared_link_created: MediaHubSharedLinkCreatedType :ivar EventType.media_hub_shared_link_download_setting_changed: (sharing) Changed Media Hub shared link download setting :vartype EventType.media_hub_shared_link_download_setting_changed: MediaHubSharedLinkDownloadSettingChangedType :ivar EventType.media_hub_shared_link_revoked: (sharing) Revoked Media Hub shared link :vartype EventType.media_hub_shared_link_revoked: MediaHubSharedLinkRevokedType :ivar EventType.note_acl_invite_only: (sharing) Changed Paper doc to invite-only (deprecated, no longer logged) :vartype EventType.note_acl_invite_only: NoteAclInviteOnlyType :ivar EventType.note_acl_link: (sharing) Changed Paper doc to link-accessible (deprecated, no longer logged) :vartype EventType.note_acl_link: NoteAclLinkType :ivar EventType.note_acl_team_link: (sharing) Changed Paper doc to link-accessible for team (deprecated, no longer logged) :vartype EventType.note_acl_team_link: NoteAclTeamLinkType :ivar EventType.note_shared: (sharing) Shared Paper doc (deprecated, no longer logged) :vartype EventType.note_shared: NoteSharedType :ivar EventType.note_share_receive: (sharing) Shared received Paper doc (deprecated, no longer logged) :vartype EventType.note_share_receive: NoteShareReceiveType :ivar EventType.open_note_shared: (sharing) Opened shared Paper doc (deprecated, no longer logged) :vartype EventType.open_note_shared: OpenNoteSharedType :ivar EventType.replay_file_shared_link_created: (sharing) Created shared link in Replay :vartype EventType.replay_file_shared_link_created: ReplayFileSharedLinkCreatedType :ivar EventType.replay_file_shared_link_modified: (sharing) Changed shared link in Replay :vartype EventType.replay_file_shared_link_modified: ReplayFileSharedLinkModifiedType :ivar EventType.replay_project_team_add: (sharing) Added member to Replay Project :vartype EventType.replay_project_team_add: ReplayProjectTeamAddType :ivar EventType.replay_project_team_delete: (sharing) Removed member from Replay Project :vartype EventType.replay_project_team_delete: ReplayProjectTeamDeleteType :ivar EventType.send_and_track_file_added: (sharing) File added to Send and Track :vartype EventType.send_and_track_file_added: SendAndTrackFileAddedType :ivar EventType.send_and_track_file_renamed: (sharing) File renamed in Send and Track :vartype EventType.send_and_track_file_renamed: SendAndTrackFileRenamedType :ivar EventType.send_and_track_file_updated: (sharing) File updated in Send and Track :vartype EventType.send_and_track_file_updated: SendAndTrackFileUpdatedType :ivar EventType.send_and_track_link_created: (sharing) Link created in Send and Track :vartype EventType.send_and_track_link_created: SendAndTrackLinkCreatedType :ivar EventType.send_and_track_link_deleted: (sharing) Link deleted in Send and Track :vartype EventType.send_and_track_link_deleted: SendAndTrackLinkDeletedType :ivar EventType.send_and_track_link_updated: (sharing) Send and Track Link Updated :vartype EventType.send_and_track_link_updated: SendAndTrackLinkUpdatedType :ivar EventType.send_and_track_link_viewed: (sharing) Send and Track Link Visited :vartype EventType.send_and_track_link_viewed: SendAndTrackLinkViewedType :ivar EventType.send_and_track_removed_file_and_associated_links: (sharing) Send and Track file and associated links deleted :vartype EventType.send_and_track_removed_file_and_associated_links: SendAndTrackRemovedFileAndAssociatedLinksType :ivar EventType.sf_add_group: (sharing) Added team to shared folder (deprecated, no longer logged) :vartype EventType.sf_add_group: SfAddGroupType :ivar 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) :vartype EventType.sf_allow_non_members_to_view_shared_links: SfAllowNonMembersToViewSharedLinksType :ivar EventType.sf_external_invite_warn: (sharing) Set team members to see warning before sharing folders outside team (deprecated, no longer logged) :vartype EventType.sf_external_invite_warn: SfExternalInviteWarnType :ivar EventType.sf_fb_invite: (sharing) Invited Facebook users to shared folder (deprecated, no longer logged) :vartype EventType.sf_fb_invite: SfFbInviteType :ivar EventType.sf_fb_invite_change_role: (sharing) Changed Facebook user's role in shared folder (deprecated, no longer logged) :vartype EventType.sf_fb_invite_change_role: SfFbInviteChangeRoleType :ivar EventType.sf_fb_uninvite: (sharing) Uninvited Facebook user from shared folder (deprecated, no longer logged) :vartype EventType.sf_fb_uninvite: SfFbUninviteType :ivar EventType.sf_invite_group: (sharing) Invited group to shared folder (deprecated, no longer logged) :vartype EventType.sf_invite_group: SfInviteGroupType :ivar EventType.sf_team_grant_access: (sharing) Granted access to shared folder (deprecated, no longer logged) :vartype EventType.sf_team_grant_access: SfTeamGrantAccessType :ivar 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') :vartype EventType.sf_team_invite: SfTeamInviteType :ivar EventType.sf_team_invite_change_role: (sharing) Changed team member's role in shared folder (deprecated, no longer logged) :vartype EventType.sf_team_invite_change_role: SfTeamInviteChangeRoleType :ivar EventType.sf_team_join: (sharing) Joined team member's shared folder (deprecated, no longer logged) :vartype EventType.sf_team_join: SfTeamJoinType :ivar EventType.sf_team_join_from_oob_link: (sharing) Joined team member's shared folder from link (deprecated, no longer logged) :vartype EventType.sf_team_join_from_oob_link: SfTeamJoinFromOobLinkType :ivar EventType.sf_team_uninvite: (sharing) Unshared folder with team member (deprecated, replaced by 'Removed invitee from shared file/folder before invite was accepted') :vartype EventType.sf_team_uninvite: SfTeamUninviteType :ivar EventType.shared_content_add_invitees: (sharing) Invited user to Dropbox and added them to shared file/folder :vartype EventType.shared_content_add_invitees: SharedContentAddInviteesType :ivar EventType.shared_content_add_link_expiry: (sharing) Added expiration date to link for shared file/folder (deprecated, no longer logged) :vartype EventType.shared_content_add_link_expiry: SharedContentAddLinkExpiryType :ivar EventType.shared_content_add_link_password: (sharing) Added password to link for shared file/folder (deprecated, no longer logged) :vartype EventType.shared_content_add_link_password: SharedContentAddLinkPasswordType :ivar EventType.shared_content_add_member: (sharing) Added users and/or groups to shared file/folder :vartype EventType.shared_content_add_member: SharedContentAddMemberType :ivar EventType.shared_content_change_downloads_policy: (sharing) Changed whether members can download shared file/folder (deprecated, no longer logged) :vartype EventType.shared_content_change_downloads_policy: SharedContentChangeDownloadsPolicyType :ivar EventType.shared_content_change_invitee_role: (sharing) Changed access type of invitee to shared file/folder before invite was accepted :vartype EventType.shared_content_change_invitee_role: SharedContentChangeInviteeRoleType :ivar EventType.shared_content_change_link_audience: (sharing) Changed link audience of shared file/folder (deprecated, no longer logged) :vartype EventType.shared_content_change_link_audience: SharedContentChangeLinkAudienceType :ivar EventType.shared_content_change_link_expiry: (sharing) Changed link expiration of shared file/folder (deprecated, no longer logged) :vartype EventType.shared_content_change_link_expiry: SharedContentChangeLinkExpiryType :ivar EventType.shared_content_change_link_password: (sharing) Changed link password of shared file/folder (deprecated, no longer logged) :vartype EventType.shared_content_change_link_password: SharedContentChangeLinkPasswordType :ivar EventType.shared_content_change_member_role: (sharing) Changed access type of shared file/folder member :vartype EventType.shared_content_change_member_role: SharedContentChangeMemberRoleType :ivar EventType.shared_content_change_viewer_info_policy: (sharing) Changed whether members can see who viewed shared file/folder :vartype EventType.shared_content_change_viewer_info_policy: SharedContentChangeViewerInfoPolicyType :ivar EventType.shared_content_claim_invitation: (sharing) Acquired membership of shared file/folder by accepting invite :vartype EventType.shared_content_claim_invitation: SharedContentClaimInvitationType :ivar EventType.shared_content_copy: (sharing) Copied shared file/folder to own Dropbox :vartype EventType.shared_content_copy: SharedContentCopyType :ivar EventType.shared_content_download: (sharing) Downloaded shared file/folder :vartype EventType.shared_content_download: SharedContentDownloadType :ivar EventType.shared_content_relinquish_membership: (sharing) Left shared file/folder :vartype EventType.shared_content_relinquish_membership: SharedContentRelinquishMembershipType :ivar EventType.shared_content_remove_invitees: (sharing) Removed invitee from shared file/folder before invite was accepted :vartype EventType.shared_content_remove_invitees: SharedContentRemoveInviteesType :ivar EventType.shared_content_remove_link_expiry: (sharing) Removed link expiration date of shared file/folder (deprecated, no longer logged) :vartype EventType.shared_content_remove_link_expiry: SharedContentRemoveLinkExpiryType :ivar EventType.shared_content_remove_link_password: (sharing) Removed link password of shared file/folder (deprecated, no longer logged) :vartype EventType.shared_content_remove_link_password: SharedContentRemoveLinkPasswordType :ivar EventType.shared_content_remove_member: (sharing) Removed user/group from shared file/folder :vartype EventType.shared_content_remove_member: SharedContentRemoveMemberType :ivar EventType.shared_content_request_access: (sharing) Requested access to shared file/folder :vartype EventType.shared_content_request_access: SharedContentRequestAccessType :ivar EventType.shared_content_restore_invitees: (sharing) Restored shared file/folder invitees :vartype EventType.shared_content_restore_invitees: SharedContentRestoreInviteesType :ivar EventType.shared_content_restore_member: (sharing) Restored users and/or groups to membership of shared file/folder :vartype EventType.shared_content_restore_member: SharedContentRestoreMemberType :ivar EventType.shared_content_unshare: (sharing) Unshared file/folder by clearing membership :vartype EventType.shared_content_unshare: SharedContentUnshareType :ivar EventType.shared_content_view: (sharing) Previewed shared file/folder :vartype EventType.shared_content_view: SharedContentViewType :ivar EventType.shared_folder_change_link_policy: (sharing) Changed who can access shared folder via link :vartype EventType.shared_folder_change_link_policy: SharedFolderChangeLinkPolicyType :ivar EventType.shared_folder_change_members_inheritance_policy: (sharing) Changed whether shared folder inherits members from parent folder :vartype EventType.shared_folder_change_members_inheritance_policy: SharedFolderChangeMembersInheritancePolicyType :ivar EventType.shared_folder_change_members_management_policy: (sharing) Changed who can add/remove members of shared folder :vartype EventType.shared_folder_change_members_management_policy: SharedFolderChangeMembersManagementPolicyType :ivar EventType.shared_folder_change_members_policy: (sharing) Changed who can become member of shared folder :vartype EventType.shared_folder_change_members_policy: SharedFolderChangeMembersPolicyType :ivar EventType.shared_folder_create: (sharing) Created shared folder :vartype EventType.shared_folder_create: SharedFolderCreateType :ivar EventType.shared_folder_decline_invitation: (sharing) Declined team member's invite to shared folder :vartype EventType.shared_folder_decline_invitation: SharedFolderDeclineInvitationType :ivar EventType.shared_folder_mount: (sharing) Added shared folder to own Dropbox :vartype EventType.shared_folder_mount: SharedFolderMountType :ivar EventType.shared_folder_nest: (sharing) Changed parent of shared folder :vartype EventType.shared_folder_nest: SharedFolderNestType :ivar EventType.shared_folder_transfer_ownership: (sharing) Transferred ownership of shared folder to another member :vartype EventType.shared_folder_transfer_ownership: SharedFolderTransferOwnershipType :ivar EventType.shared_folder_unmount: (sharing) Deleted shared folder from Dropbox :vartype EventType.shared_folder_unmount: SharedFolderUnmountType :ivar EventType.shared_link_add_expiry: (sharing) Added shared link expiration date :vartype EventType.shared_link_add_expiry: SharedLinkAddExpiryType :ivar EventType.shared_link_change_expiry: (sharing) Changed shared link expiration date :vartype EventType.shared_link_change_expiry: SharedLinkChangeExpiryType :ivar EventType.shared_link_change_visibility: (sharing) Changed visibility of shared link :vartype EventType.shared_link_change_visibility: SharedLinkChangeVisibilityType :ivar EventType.shared_link_copy: (sharing) Added file/folder to Dropbox from shared link :vartype EventType.shared_link_copy: SharedLinkCopyType :ivar EventType.shared_link_create: (sharing) Created shared link :vartype EventType.shared_link_create: SharedLinkCreateType :ivar EventType.shared_link_disable: (sharing) Removed shared link :vartype EventType.shared_link_disable: SharedLinkDisableType :ivar EventType.shared_link_download: (sharing) Downloaded file/folder from shared link :vartype EventType.shared_link_download: SharedLinkDownloadType :ivar EventType.shared_link_remove_expiry: (sharing) Removed shared link expiration date :vartype EventType.shared_link_remove_expiry: SharedLinkRemoveExpiryType :ivar EventType.shared_link_remove_visitor: (sharing) Removed link visitor :vartype EventType.shared_link_remove_visitor: SharedLinkRemoveVisitorType :ivar EventType.shared_link_settings_add_expiration: (sharing) Added an expiration date to the shared link :vartype EventType.shared_link_settings_add_expiration: SharedLinkSettingsAddExpirationType :ivar EventType.shared_link_settings_add_password: (sharing) Added a password to the shared link :vartype EventType.shared_link_settings_add_password: SharedLinkSettingsAddPasswordType :ivar EventType.shared_link_settings_allow_download_disabled: (sharing) Disabled downloads :vartype EventType.shared_link_settings_allow_download_disabled: SharedLinkSettingsAllowDownloadDisabledType :ivar EventType.shared_link_settings_allow_download_enabled: (sharing) Enabled downloads :vartype EventType.shared_link_settings_allow_download_enabled: SharedLinkSettingsAllowDownloadEnabledType :ivar EventType.shared_link_settings_change_audience: (sharing) Changed the audience of the shared link :vartype EventType.shared_link_settings_change_audience: SharedLinkSettingsChangeAudienceType :ivar EventType.shared_link_settings_change_expiration: (sharing) Changed the expiration date of the shared link :vartype EventType.shared_link_settings_change_expiration: SharedLinkSettingsChangeExpirationType :ivar EventType.shared_link_settings_change_password: (sharing) Changed the password of the shared link :vartype EventType.shared_link_settings_change_password: SharedLinkSettingsChangePasswordType :ivar EventType.shared_link_settings_remove_expiration: (sharing) Removed the expiration date from the shared link :vartype EventType.shared_link_settings_remove_expiration: SharedLinkSettingsRemoveExpirationType :ivar EventType.shared_link_settings_remove_password: (sharing) Removed the password from the shared link :vartype EventType.shared_link_settings_remove_password: SharedLinkSettingsRemovePasswordType :ivar EventType.shared_link_share: (sharing) Added members as audience of shared link :vartype EventType.shared_link_share: SharedLinkShareType :ivar EventType.shared_link_view: (sharing) Opened shared link :vartype EventType.shared_link_view: SharedLinkViewType :ivar EventType.shared_note_opened: (sharing) Opened shared Paper doc (deprecated, no longer logged) :vartype EventType.shared_note_opened: SharedNoteOpenedType :ivar EventType.shmodel_disable_downloads: (sharing) Disabled downloads for link (deprecated, no longer logged) :vartype EventType.shmodel_disable_downloads: ShmodelDisableDownloadsType :ivar EventType.shmodel_enable_downloads: (sharing) Enabled downloads for link (deprecated, no longer logged) :vartype EventType.shmodel_enable_downloads: ShmodelEnableDownloadsType :ivar EventType.shmodel_group_share: (sharing) Shared link with group (deprecated, no longer logged) :vartype EventType.shmodel_group_share: ShmodelGroupShareType :ivar EventType.showcase_access_granted: (showcase) Granted access to showcase :vartype EventType.showcase_access_granted: ShowcaseAccessGrantedType :ivar EventType.showcase_add_member: (showcase) Added member to showcase :vartype EventType.showcase_add_member: ShowcaseAddMemberType :ivar EventType.showcase_archived: (showcase) Archived showcase :vartype EventType.showcase_archived: ShowcaseArchivedType :ivar EventType.showcase_created: (showcase) Created showcase :vartype EventType.showcase_created: ShowcaseCreatedType :ivar EventType.showcase_delete_comment: (showcase) Deleted showcase comment :vartype EventType.showcase_delete_comment: ShowcaseDeleteCommentType :ivar EventType.showcase_edited: (showcase) Edited showcase :vartype EventType.showcase_edited: ShowcaseEditedType :ivar EventType.showcase_edit_comment: (showcase) Edited showcase comment :vartype EventType.showcase_edit_comment: ShowcaseEditCommentType :ivar EventType.showcase_file_added: (showcase) Added file to showcase :vartype EventType.showcase_file_added: ShowcaseFileAddedType :ivar EventType.showcase_file_download: (showcase) Downloaded file from showcase :vartype EventType.showcase_file_download: ShowcaseFileDownloadType :ivar EventType.showcase_file_removed: (showcase) Removed file from showcase :vartype EventType.showcase_file_removed: ShowcaseFileRemovedType :ivar EventType.showcase_file_view: (showcase) Viewed file in showcase :vartype EventType.showcase_file_view: ShowcaseFileViewType :ivar EventType.showcase_permanently_deleted: (showcase) Permanently deleted showcase :vartype EventType.showcase_permanently_deleted: ShowcasePermanentlyDeletedType :ivar EventType.showcase_post_comment: (showcase) Added showcase comment :vartype EventType.showcase_post_comment: ShowcasePostCommentType :ivar EventType.showcase_remove_member: (showcase) Removed member from showcase :vartype EventType.showcase_remove_member: ShowcaseRemoveMemberType :ivar EventType.showcase_renamed: (showcase) Renamed showcase :vartype EventType.showcase_renamed: ShowcaseRenamedType :ivar EventType.showcase_request_access: (showcase) Requested access to showcase :vartype EventType.showcase_request_access: ShowcaseRequestAccessType :ivar EventType.showcase_resolve_comment: (showcase) Resolved showcase comment :vartype EventType.showcase_resolve_comment: ShowcaseResolveCommentType :ivar EventType.showcase_restored: (showcase) Unarchived showcase :vartype EventType.showcase_restored: ShowcaseRestoredType :ivar EventType.showcase_trashed: (showcase) Deleted showcase :vartype EventType.showcase_trashed: ShowcaseTrashedType :ivar EventType.showcase_trashed_deprecated: (showcase) Deleted showcase (old version) (deprecated, replaced by 'Deleted showcase') :vartype EventType.showcase_trashed_deprecated: ShowcaseTrashedDeprecatedType :ivar EventType.showcase_unresolve_comment: (showcase) Unresolved showcase comment :vartype EventType.showcase_unresolve_comment: ShowcaseUnresolveCommentType :ivar EventType.showcase_untrashed: (showcase) Restored showcase :vartype EventType.showcase_untrashed: ShowcaseUntrashedType :ivar EventType.showcase_untrashed_deprecated: (showcase) Restored showcase (old version) (deprecated, replaced by 'Restored showcase') :vartype EventType.showcase_untrashed_deprecated: ShowcaseUntrashedDeprecatedType :ivar EventType.showcase_view: (showcase) Viewed showcase :vartype EventType.showcase_view: ShowcaseViewType :ivar EventType.sign_signature_request_canceled: (signatures) Canceled signature request :vartype EventType.sign_signature_request_canceled: SignSignatureRequestCanceledType :ivar EventType.sign_signature_request_completed: (signatures) Completed signature request :vartype EventType.sign_signature_request_completed: SignSignatureRequestCompletedType :ivar EventType.sign_signature_request_declined: (signatures) Declined signature request :vartype EventType.sign_signature_request_declined: SignSignatureRequestDeclinedType :ivar EventType.sign_signature_request_opened: (signatures) Opened signature request :vartype EventType.sign_signature_request_opened: SignSignatureRequestOpenedType :ivar EventType.sign_signature_request_reminder_sent: (signatures) Sent signature request reminder :vartype EventType.sign_signature_request_reminder_sent: SignSignatureRequestReminderSentType :ivar EventType.sign_signature_request_sent: (signatures) Sent signature request :vartype EventType.sign_signature_request_sent: SignSignatureRequestSentType :ivar EventType.sign_template_created: (signatures) Created template :vartype EventType.sign_template_created: SignTemplateCreatedType :ivar EventType.sign_template_shared: (signatures) Shared template :vartype EventType.sign_template_shared: SignTemplateSharedType :ivar EventType.risc_security_event: (sso) RISC security event received from external provider :vartype EventType.risc_security_event: RiscSecurityEventType :ivar EventType.sso_add_cert: (sso) Added X.509 certificate for SSO :vartype EventType.sso_add_cert: SsoAddCertType :ivar EventType.sso_add_login_url: (sso) Added sign-in URL for SSO :vartype EventType.sso_add_login_url: SsoAddLoginUrlType :ivar EventType.sso_add_logout_url: (sso) Added sign-out URL for SSO :vartype EventType.sso_add_logout_url: SsoAddLogoutUrlType :ivar EventType.sso_change_cert: (sso) Changed X.509 certificate for SSO :vartype EventType.sso_change_cert: SsoChangeCertType :ivar EventType.sso_change_login_url: (sso) Changed sign-in URL for SSO :vartype EventType.sso_change_login_url: SsoChangeLoginUrlType :ivar EventType.sso_change_logout_url: (sso) Changed sign-out URL for SSO :vartype EventType.sso_change_logout_url: SsoChangeLogoutUrlType :ivar EventType.sso_change_saml_identity_mode: (sso) Changed SAML identity mode for SSO :vartype EventType.sso_change_saml_identity_mode: SsoChangeSamlIdentityModeType :ivar EventType.sso_remove_cert: (sso) Removed X.509 certificate for SSO :vartype EventType.sso_remove_cert: SsoRemoveCertType :ivar EventType.sso_remove_login_url: (sso) Removed sign-in URL for SSO :vartype EventType.sso_remove_login_url: SsoRemoveLoginUrlType :ivar EventType.sso_remove_logout_url: (sso) Removed sign-out URL for SSO :vartype EventType.sso_remove_logout_url: SsoRemoveLogoutUrlType :ivar EventType.team_folder_change_status: (team_folders) Changed archival status of team folder :vartype EventType.team_folder_change_status: TeamFolderChangeStatusType :ivar EventType.team_folder_create: (team_folders) Created team folder in active status :vartype EventType.team_folder_create: TeamFolderCreateType :ivar EventType.team_folder_downgrade: (team_folders) Downgraded team folder to regular shared folder :vartype EventType.team_folder_downgrade: TeamFolderDowngradeType :ivar EventType.team_folder_permanently_delete: (team_folders) Permanently deleted archived team folder :vartype EventType.team_folder_permanently_delete: TeamFolderPermanentlyDeleteType :ivar EventType.team_folder_rename: (team_folders) Renamed active/archived team folder :vartype EventType.team_folder_rename: TeamFolderRenameType :ivar EventType.team_folder_space_limits_change_caps_type: (team_folders) Changed team folder space limit enforcement type :vartype EventType.team_folder_space_limits_change_caps_type: TeamFolderSpaceLimitsChangeCapsTypeType :ivar EventType.team_folder_space_limits_change_limit: (team_folders) Changed team folder space limit :vartype EventType.team_folder_space_limits_change_limit: TeamFolderSpaceLimitsChangeLimitType :ivar EventType.team_folder_space_limits_change_notification_target: (team_folders) Changed team folder space limit notification target :vartype EventType.team_folder_space_limits_change_notification_target: TeamFolderSpaceLimitsChangeNotificationTargetType :ivar EventType.team_selective_sync_settings_changed: (team_folders) Changed sync default :vartype EventType.team_selective_sync_settings_changed: TeamSelectiveSyncSettingsChangedType :ivar EventType.account_capture_change_policy: (team_policies) Changed account capture setting on team domain :vartype EventType.account_capture_change_policy: AccountCaptureChangePolicyType :ivar EventType.admin_email_reminders_changed: (team_policies) Changed admin reminder settings for requests to join the team :vartype EventType.admin_email_reminders_changed: AdminEmailRemindersChangedType :ivar EventType.ai_third_party_sharing_dropbox_base_policy_changed: (team_policies) Changed AI third party sharing policy for team :vartype EventType.ai_third_party_sharing_dropbox_base_policy_changed: AiThirdPartySharingDropboxBasePolicyChangedType :ivar EventType.allow_download_disabled: (team_policies) Disabled downloads (deprecated, no longer logged) :vartype EventType.allow_download_disabled: AllowDownloadDisabledType :ivar EventType.allow_download_enabled: (team_policies) Enabled downloads (deprecated, no longer logged) :vartype EventType.allow_download_enabled: AllowDownloadEnabledType :ivar EventType.apple_login_change_policy: (team_policies) Enabled/disabled Apple login for team :vartype EventType.apple_login_change_policy: AppleLoginChangePolicyType :ivar EventType.app_permissions_changed: (team_policies) Changed app permissions :vartype EventType.app_permissions_changed: AppPermissionsChangedType :ivar EventType.camera_uploads_policy_changed: (team_policies) Changed camera uploads setting for team :vartype EventType.camera_uploads_policy_changed: CameraUploadsPolicyChangedType :ivar EventType.capture_team_space_policy_changed: (team_policies) Changed Capture team space policy for team :vartype EventType.capture_team_space_policy_changed: CaptureTeamSpacePolicyChangedType :ivar EventType.capture_transcript_policy_changed: (team_policies) Changed Capture transcription policy for team :vartype EventType.capture_transcript_policy_changed: CaptureTranscriptPolicyChangedType :ivar EventType.classification_change_policy: (team_policies) Changed classification policy for team :vartype EventType.classification_change_policy: ClassificationChangePolicyType :ivar EventType.computer_backup_policy_changed: (team_policies) Changed computer backup policy for team :vartype EventType.computer_backup_policy_changed: ComputerBackupPolicyChangedType :ivar EventType.content_administration_policy_changed: (team_policies) Changed content management setting :vartype EventType.content_administration_policy_changed: ContentAdministrationPolicyChangedType :ivar EventType.content_deletion_protection_change_policy: (team_policies) Changed content deletion protection policy for team :vartype EventType.content_deletion_protection_change_policy: ContentDeletionProtectionChangePolicyType :ivar EventType.dash_external_sharing_policy_changed: (team_policies) Changed Dash external sharing policy for team :vartype EventType.dash_external_sharing_policy_changed: DashExternalSharingPolicyChangedType :ivar EventType.data_placement_restriction_change_policy: (team_policies) Set restrictions on data center locations where team data resides :vartype EventType.data_placement_restriction_change_policy: DataPlacementRestrictionChangePolicyType :ivar EventType.data_placement_restriction_satisfy_policy: (team_policies) Completed restrictions on data center locations where team data resides :vartype EventType.data_placement_restriction_satisfy_policy: DataPlacementRestrictionSatisfyPolicyType :ivar EventType.device_approvals_add_exception: (team_policies) Added members to device approvals exception list :vartype EventType.device_approvals_add_exception: DeviceApprovalsAddExceptionType :ivar EventType.device_approvals_change_desktop_policy: (team_policies) Set/removed limit on number of computers member can link to team Dropbox account :vartype EventType.device_approvals_change_desktop_policy: DeviceApprovalsChangeDesktopPolicyType :ivar EventType.device_approvals_change_mobile_policy: (team_policies) Set/removed limit on number of mobile devices member can link to team Dropbox account :vartype EventType.device_approvals_change_mobile_policy: DeviceApprovalsChangeMobilePolicyType :ivar EventType.device_approvals_change_overage_action: (team_policies) Changed device approvals setting when member is over limit :vartype EventType.device_approvals_change_overage_action: DeviceApprovalsChangeOverageActionType :ivar EventType.device_approvals_change_unlink_action: (team_policies) Changed device approvals setting when member unlinks approved device :vartype EventType.device_approvals_change_unlink_action: DeviceApprovalsChangeUnlinkActionType :ivar EventType.device_approvals_remove_exception: (team_policies) Removed members from device approvals exception list :vartype EventType.device_approvals_remove_exception: DeviceApprovalsRemoveExceptionType :ivar EventType.directory_restrictions_add_members: (team_policies) Added members to directory restrictions list :vartype EventType.directory_restrictions_add_members: DirectoryRestrictionsAddMembersType :ivar EventType.directory_restrictions_remove_members: (team_policies) Removed members from directory restrictions list :vartype EventType.directory_restrictions_remove_members: DirectoryRestrictionsRemoveMembersType :ivar EventType.dropbox_passwords_policy_changed: (team_policies) Changed Dropbox Passwords policy for team :vartype EventType.dropbox_passwords_policy_changed: DropboxPasswordsPolicyChangedType :ivar EventType.email_ingest_policy_changed: (team_policies) Changed email to Dropbox policy for team :vartype EventType.email_ingest_policy_changed: EmailIngestPolicyChangedType :ivar EventType.emm_add_exception: (team_policies) Added members to EMM exception list :vartype EventType.emm_add_exception: EmmAddExceptionType :ivar EventType.emm_change_policy: (team_policies) Enabled/disabled enterprise mobility management for members :vartype EventType.emm_change_policy: EmmChangePolicyType :ivar EventType.emm_remove_exception: (team_policies) Removed members from EMM exception list :vartype EventType.emm_remove_exception: EmmRemoveExceptionType :ivar EventType.extended_version_history_change_policy: (team_policies) Accepted/opted out of extended version history :vartype EventType.extended_version_history_change_policy: ExtendedVersionHistoryChangePolicyType :ivar EventType.external_drive_backup_policy_changed: (team_policies) Changed external drive backup policy for team :vartype EventType.external_drive_backup_policy_changed: ExternalDriveBackupPolicyChangedType :ivar EventType.file_comments_change_policy: (team_policies) Enabled/disabled commenting on team files :vartype EventType.file_comments_change_policy: FileCommentsChangePolicyType :ivar EventType.file_locking_policy_changed: (team_policies) Changed file locking policy for team :vartype EventType.file_locking_policy_changed: FileLockingPolicyChangedType :ivar EventType.file_provider_migration_policy_changed: (team_policies) Changed File Provider Migration policy for team :vartype EventType.file_provider_migration_policy_changed: FileProviderMigrationPolicyChangedType :ivar EventType.file_requests_change_policy: (team_policies) Enabled/disabled file requests :vartype EventType.file_requests_change_policy: FileRequestsChangePolicyType :ivar EventType.file_requests_emails_enabled: (team_policies) Enabled file request emails for everyone (deprecated, no longer logged) :vartype EventType.file_requests_emails_enabled: FileRequestsEmailsEnabledType :ivar EventType.file_requests_emails_restricted_to_team_only: (team_policies) Enabled file request emails for team (deprecated, no longer logged) :vartype EventType.file_requests_emails_restricted_to_team_only: FileRequestsEmailsRestrictedToTeamOnlyType :ivar EventType.file_transfers_policy_changed: (team_policies) Changed file transfers policy for team :vartype EventType.file_transfers_policy_changed: FileTransfersPolicyChangedType :ivar EventType.flexible_file_names_policy_changed: (team_policies) Changed flexible file names policy for team :vartype EventType.flexible_file_names_policy_changed: FlexibleFileNamesPolicyChangedType :ivar EventType.folder_link_restriction_policy_changed: (team_policies) Changed folder link restrictions policy for team :vartype EventType.folder_link_restriction_policy_changed: FolderLinkRestrictionPolicyChangedType :ivar EventType.google_sso_change_policy: (team_policies) Enabled/disabled Google single sign-on for team :vartype EventType.google_sso_change_policy: GoogleSsoChangePolicyType :ivar EventType.group_user_management_change_policy: (team_policies) Changed who can create groups :vartype EventType.group_user_management_change_policy: GroupUserManagementChangePolicyType :ivar EventType.integration_policy_changed: (team_policies) Changed integration policy for team :vartype EventType.integration_policy_changed: IntegrationPolicyChangedType :ivar EventType.invite_acceptance_email_policy_changed: (team_policies) Changed invite accept email policy for team :vartype EventType.invite_acceptance_email_policy_changed: InviteAcceptanceEmailPolicyChangedType :ivar EventType.media_hub_adding_people_policy_changed: (team_policies) Changed the policy for adding people to Media Hub content :vartype EventType.media_hub_adding_people_policy_changed: MediaHubAddingPeoplePolicyChangedType :ivar EventType.media_hub_download_policy_changed: (team_policies) Changed the policy for downloading Media Hub content :vartype EventType.media_hub_download_policy_changed: MediaHubDownloadPolicyChangedType :ivar EventType.media_hub_link_sharing_policy_changed: (team_policies) Changed the policy for sharing Media Hub content :vartype EventType.media_hub_link_sharing_policy_changed: MediaHubLinkSharingPolicyChangedType :ivar EventType.member_requests_change_policy: (team_policies) Changed whether users can find team when not invited :vartype EventType.member_requests_change_policy: MemberRequestsChangePolicyType :ivar EventType.member_send_invite_policy_changed: (team_policies) Changed member send invite policy for team :vartype EventType.member_send_invite_policy_changed: MemberSendInvitePolicyChangedType :ivar EventType.member_space_limits_add_exception: (team_policies) Added members to member space limit exception list :vartype EventType.member_space_limits_add_exception: MemberSpaceLimitsAddExceptionType :ivar EventType.member_space_limits_change_caps_type_policy: (team_policies) Changed member space limit type for team :vartype EventType.member_space_limits_change_caps_type_policy: MemberSpaceLimitsChangeCapsTypePolicyType :ivar EventType.member_space_limits_change_policy: (team_policies) Changed team default member space limit :vartype EventType.member_space_limits_change_policy: MemberSpaceLimitsChangePolicyType :ivar EventType.member_space_limits_remove_exception: (team_policies) Removed members from member space limit exception list :vartype EventType.member_space_limits_remove_exception: MemberSpaceLimitsRemoveExceptionType :ivar EventType.member_suggestions_change_policy: (team_policies) Enabled/disabled option for team members to suggest people to add to team :vartype EventType.member_suggestions_change_policy: MemberSuggestionsChangePolicyType :ivar EventType.microsoft_login_change_policy: (team_policies) Enabled/disabled Microsoft login for team :vartype EventType.microsoft_login_change_policy: MicrosoftLoginChangePolicyType :ivar EventType.microsoft_office_addin_change_policy: (team_policies) Enabled/disabled Microsoft Office add-in :vartype EventType.microsoft_office_addin_change_policy: MicrosoftOfficeAddinChangePolicyType :ivar EventType.multi_team_identity_policy_changed: (team_policies) Changed multi-team identity policy for team :vartype EventType.multi_team_identity_policy_changed: MultiTeamIdentityPolicyChangedType :ivar EventType.network_control_change_policy: (team_policies) Enabled/disabled network control :vartype EventType.network_control_change_policy: NetworkControlChangePolicyType :ivar EventType.paper_change_deployment_policy: (team_policies) Changed whether Dropbox Paper, when enabled, is deployed to all members or to specific members :vartype EventType.paper_change_deployment_policy: PaperChangeDeploymentPolicyType :ivar EventType.paper_change_member_link_policy: (team_policies) Changed whether non-members can view Paper docs with link (deprecated, no longer logged) :vartype EventType.paper_change_member_link_policy: PaperChangeMemberLinkPolicyType :ivar 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 :vartype EventType.paper_change_member_policy: PaperChangeMemberPolicyType :ivar EventType.paper_change_policy: (team_policies) Enabled/disabled Dropbox Paper for team :vartype EventType.paper_change_policy: PaperChangePolicyType :ivar EventType.paper_default_folder_policy_changed: (team_policies) Changed Paper Default Folder Policy setting for team :vartype EventType.paper_default_folder_policy_changed: PaperDefaultFolderPolicyChangedType :ivar EventType.paper_desktop_policy_changed: (team_policies) Enabled/disabled Paper Desktop for team :vartype EventType.paper_desktop_policy_changed: PaperDesktopPolicyChangedType :ivar EventType.paper_enabled_users_group_addition: (team_policies) Added users to Paper-enabled users list :vartype EventType.paper_enabled_users_group_addition: PaperEnabledUsersGroupAdditionType :ivar EventType.paper_enabled_users_group_removal: (team_policies) Removed users from Paper-enabled users list :vartype EventType.paper_enabled_users_group_removal: PaperEnabledUsersGroupRemovalType :ivar EventType.passkey_login_policy_changed: (team_policies) Changed passkey login policy for team :vartype EventType.passkey_login_policy_changed: PasskeyLoginPolicyChangedType :ivar EventType.password_strength_requirements_change_policy: (team_policies) Changed team password strength requirements :vartype EventType.password_strength_requirements_change_policy: PasswordStrengthRequirementsChangePolicyType :ivar EventType.permanent_delete_change_policy: (team_policies) Enabled/disabled ability of team members to permanently delete content :vartype EventType.permanent_delete_change_policy: PermanentDeleteChangePolicyType :ivar EventType.previews_ai_policy_changed: (team_policies) Changed Dropbox AI policy for team :vartype EventType.previews_ai_policy_changed: PreviewsAiPolicyChangedType :ivar EventType.replay_adding_people_policy_changed: (team_policies) Changed the policy for adding people to Replay content :vartype EventType.replay_adding_people_policy_changed: ReplayAddingPeoplePolicyChangedType :ivar EventType.replay_sharing_policy_changed: (team_policies) Changed the policy for sharing Replay content :vartype EventType.replay_sharing_policy_changed: ReplaySharingPolicyChangedType :ivar EventType.reseller_support_change_policy: (team_policies) Enabled/disabled reseller support :vartype EventType.reseller_support_change_policy: ResellerSupportChangePolicyType :ivar EventType.rewind_policy_changed: (team_policies) Changed Rewind policy for team :vartype EventType.rewind_policy_changed: RewindPolicyChangedType :ivar EventType.send_and_track_policy_changed: (team_policies) Changed “Send and track� policy for team :vartype EventType.send_and_track_policy_changed: SendAndTrackPolicyChangedType :ivar EventType.send_external_sharing_policy_changed: (team_policies) Changed “Send and track� external sharing policy for team :vartype EventType.send_external_sharing_policy_changed: SendExternalSharingPolicyChangedType :ivar EventType.send_for_signature_policy_changed: (team_policies) Changed send for signature policy for team :vartype EventType.send_for_signature_policy_changed: SendForSignaturePolicyChangedType :ivar EventType.shared_link_default_permissions_policy_changed: (team_policies) Changed shared link default permissions policy for team :vartype EventType.shared_link_default_permissions_policy_changed: SharedLinkDefaultPermissionsPolicyChangedType :ivar EventType.sharing_change_folder_join_policy: (team_policies) Changed whether team members can join shared folders owned outside team :vartype EventType.sharing_change_folder_join_policy: SharingChangeFolderJoinPolicyType :ivar EventType.sharing_change_link_allow_change_expiration_policy: (team_policies) Changed the allow remove or change expiration policy for the links shared outside of the team :vartype EventType.sharing_change_link_allow_change_expiration_policy: SharingChangeLinkAllowChangeExpirationPolicyType :ivar EventType.sharing_change_link_default_expiration_policy: (team_policies) Changed the default expiration for the links shared outside of the team :vartype EventType.sharing_change_link_default_expiration_policy: SharingChangeLinkDefaultExpirationPolicyType :ivar EventType.sharing_change_link_enforce_password_policy: (team_policies) Changed the password requirement for the links shared outside of the team :vartype EventType.sharing_change_link_enforce_password_policy: SharingChangeLinkEnforcePasswordPolicyType :ivar 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 :vartype EventType.sharing_change_link_policy: SharingChangeLinkPolicyType :ivar EventType.sharing_change_member_policy: (team_policies) Changed whether members can share files/folders outside team :vartype EventType.sharing_change_member_policy: SharingChangeMemberPolicyType :ivar EventType.showcase_change_download_policy: (team_policies) Enabled/disabled downloading files from Dropbox Showcase for team :vartype EventType.showcase_change_download_policy: ShowcaseChangeDownloadPolicyType :ivar EventType.showcase_change_enabled_policy: (team_policies) Enabled/disabled Dropbox Showcase for team :vartype EventType.showcase_change_enabled_policy: ShowcaseChangeEnabledPolicyType :ivar EventType.showcase_change_external_sharing_policy: (team_policies) Enabled/disabled sharing Dropbox Showcase externally for team :vartype EventType.showcase_change_external_sharing_policy: ShowcaseChangeExternalSharingPolicyType :ivar EventType.sign_external_sharing_policy_changed: (team_policies) Changed Signatures external sharing policy for team :vartype EventType.sign_external_sharing_policy_changed: SignExternalSharingPolicyChangedType :ivar EventType.sign_template_creation_permission_changed: (team_policies) Changed template creation permission :vartype EventType.sign_template_creation_permission_changed: SignTemplateCreationPermissionChangedType :ivar EventType.smarter_smart_sync_policy_changed: (team_policies) Changed automatic Smart Sync setting for team :vartype EventType.smarter_smart_sync_policy_changed: SmarterSmartSyncPolicyChangedType :ivar EventType.smart_sync_change_policy: (team_policies) Changed default Smart Sync setting for team members :vartype EventType.smart_sync_change_policy: SmartSyncChangePolicyType :ivar EventType.smart_sync_not_opt_out: (team_policies) Opted team into Smart Sync :vartype EventType.smart_sync_not_opt_out: SmartSyncNotOptOutType :ivar EventType.smart_sync_opt_out: (team_policies) Opted team out of Smart Sync :vartype EventType.smart_sync_opt_out: SmartSyncOptOutType :ivar EventType.sso_change_policy: (team_policies) Changed single sign-on setting for team :vartype EventType.sso_change_policy: SsoChangePolicyType :ivar EventType.stack_cross_team_access_policy_changed: (team_policies) Changed cross-team Stack access policy for team :vartype EventType.stack_cross_team_access_policy_changed: StackCrossTeamAccessPolicyChangedType :ivar EventType.team_branding_policy_changed: (team_policies) Changed team branding policy for team :vartype EventType.team_branding_policy_changed: TeamBrandingPolicyChangedType :ivar EventType.team_extensions_policy_changed: (team_policies) Changed App Integrations setting for team :vartype EventType.team_extensions_policy_changed: TeamExtensionsPolicyChangedType :ivar EventType.team_member_storage_request_policy_changed: (team_policies) Changed team member storage request policy for team :vartype EventType.team_member_storage_request_policy_changed: TeamMemberStorageRequestPolicyChangedType :ivar EventType.team_selective_sync_policy_changed: (team_policies) Enabled/disabled Team Selective Sync for team :vartype EventType.team_selective_sync_policy_changed: TeamSelectiveSyncPolicyChangedType :ivar EventType.team_sharing_whitelist_subjects_changed: (team_policies) Edited the approved list for sharing externally :vartype EventType.team_sharing_whitelist_subjects_changed: TeamSharingWhitelistSubjectsChangedType :ivar EventType.tfa_add_exception: (team_policies) Added members to two factor authentication exception list :vartype EventType.tfa_add_exception: TfaAddExceptionType :ivar EventType.tfa_change_policy: (team_policies) Changed two-factor authentication setting for team :vartype EventType.tfa_change_policy: TfaChangePolicyType :ivar EventType.tfa_remove_exception: (team_policies) Removed members from two factor authentication exception list :vartype EventType.tfa_remove_exception: TfaRemoveExceptionType :ivar EventType.top_level_content_policy_changed: (team_policies) Changed top level content setting for team :vartype EventType.top_level_content_policy_changed: TopLevelContentPolicyChangedType :ivar EventType.two_account_change_policy: (team_policies) Enabled/disabled option for members to link personal Dropbox account and team account to same computer :vartype EventType.two_account_change_policy: TwoAccountChangePolicyType :ivar EventType.viewer_info_policy_changed: (team_policies) Changed team policy for viewer info :vartype EventType.viewer_info_policy_changed: ViewerInfoPolicyChangedType :ivar EventType.watermarking_policy_changed: (team_policies) Changed watermarking policy for team :vartype EventType.watermarking_policy_changed: WatermarkingPolicyChangedType :ivar EventType.web_sessions_change_active_session_limit: (team_policies) Changed limit on active sessions per member :vartype EventType.web_sessions_change_active_session_limit: WebSessionsChangeActiveSessionLimitType :ivar EventType.web_sessions_change_fixed_length_policy: (team_policies) Changed how long members can stay signed in to Dropbox.com :vartype EventType.web_sessions_change_fixed_length_policy: WebSessionsChangeFixedLengthPolicyType :ivar EventType.web_sessions_change_idle_length_policy: (team_policies) Changed how long team members can be idle while signed in to Dropbox.com :vartype EventType.web_sessions_change_idle_length_policy: WebSessionsChangeIdleLengthPolicyType :ivar EventType.data_residency_migration_request_successful: (team_profile) Requested data residency migration for team data :vartype EventType.data_residency_migration_request_successful: DataResidencyMigrationRequestSuccessfulType :ivar EventType.data_residency_migration_request_unsuccessful: (team_profile) Request for data residency migration for team data has failed :vartype EventType.data_residency_migration_request_unsuccessful: DataResidencyMigrationRequestUnsuccessfulType :ivar EventType.team_merge_from: (team_profile) Merged another team into this team :vartype EventType.team_merge_from: TeamMergeFromType :ivar EventType.team_merge_to: (team_profile) Merged this team into another team :vartype EventType.team_merge_to: TeamMergeToType :ivar EventType.team_profile_add_background: (team_profile) Added team background to display on shared link headers :vartype EventType.team_profile_add_background: TeamProfileAddBackgroundType :ivar EventType.team_profile_add_logo: (team_profile) Added team logo to display on shared link headers :vartype EventType.team_profile_add_logo: TeamProfileAddLogoType :ivar EventType.team_profile_change_background: (team_profile) Changed team background displayed on shared link headers :vartype EventType.team_profile_change_background: TeamProfileChangeBackgroundType :ivar EventType.team_profile_change_default_language: (team_profile) Changed default language for team :vartype EventType.team_profile_change_default_language: TeamProfileChangeDefaultLanguageType :ivar EventType.team_profile_change_logo: (team_profile) Changed team logo displayed on shared link headers :vartype EventType.team_profile_change_logo: TeamProfileChangeLogoType :ivar EventType.team_profile_change_name: (team_profile) Changed team name :vartype EventType.team_profile_change_name: TeamProfileChangeNameType :ivar EventType.team_profile_remove_background: (team_profile) Removed team background displayed on shared link headers :vartype EventType.team_profile_remove_background: TeamProfileRemoveBackgroundType :ivar EventType.team_profile_remove_logo: (team_profile) Removed team logo displayed on shared link headers :vartype EventType.team_profile_remove_logo: TeamProfileRemoveLogoType :ivar EventType.passkey_add: (tfa) Added passkey for login :vartype EventType.passkey_add: PasskeyAddType :ivar EventType.passkey_remove: (tfa) Removed passkey for login :vartype EventType.passkey_remove: PasskeyRemoveType :ivar EventType.tfa_add_backup_phone: (tfa) Added backup phone for two-factor authentication :vartype EventType.tfa_add_backup_phone: TfaAddBackupPhoneType :ivar EventType.tfa_add_security_key: (tfa) Added security key for two-factor authentication :vartype EventType.tfa_add_security_key: TfaAddSecurityKeyType :ivar EventType.tfa_change_backup_phone: (tfa) Changed backup phone for two-factor authentication :vartype EventType.tfa_change_backup_phone: TfaChangeBackupPhoneType :ivar EventType.tfa_change_status: (tfa) Enabled/disabled/changed two-factor authentication setting :vartype EventType.tfa_change_status: TfaChangeStatusType :ivar EventType.tfa_remove_backup_phone: (tfa) Removed backup phone for two-factor authentication :vartype EventType.tfa_remove_backup_phone: TfaRemoveBackupPhoneType :ivar EventType.tfa_remove_security_key: (tfa) Removed security key for two-factor authentication :vartype EventType.tfa_remove_security_key: TfaRemoveSecurityKeyType :ivar EventType.tfa_reset: (tfa) Reset two-factor authentication for team member :vartype EventType.tfa_reset: TfaResetType :ivar EventType.changed_enterprise_admin_role: (trusted_teams) Changed enterprise admin role :vartype EventType.changed_enterprise_admin_role: ChangedEnterpriseAdminRoleType :ivar EventType.changed_enterprise_connected_team_status: (trusted_teams) Changed enterprise-connected team status :vartype EventType.changed_enterprise_connected_team_status: ChangedEnterpriseConnectedTeamStatusType :ivar EventType.ended_enterprise_admin_session: (trusted_teams) Ended enterprise admin session :vartype EventType.ended_enterprise_admin_session: EndedEnterpriseAdminSessionType :ivar EventType.ended_enterprise_admin_session_deprecated: (trusted_teams) Ended enterprise admin session (deprecated, replaced by 'Ended enterprise admin session') :vartype EventType.ended_enterprise_admin_session_deprecated: EndedEnterpriseAdminSessionDeprecatedType :ivar EventType.enterprise_settings_locking: (trusted_teams) Changed who can update a setting :vartype EventType.enterprise_settings_locking: EnterpriseSettingsLockingType :ivar EventType.guest_admin_change_status: (trusted_teams) Changed guest team admin status :vartype EventType.guest_admin_change_status: GuestAdminChangeStatusType :ivar EventType.started_enterprise_admin_session: (trusted_teams) Started enterprise admin session :vartype EventType.started_enterprise_admin_session: StartedEnterpriseAdminSessionType :ivar EventType.team_merge_request_accepted: (trusted_teams) Accepted a team merge request :vartype EventType.team_merge_request_accepted: TeamMergeRequestAcceptedType :ivar EventType.team_merge_request_accepted_shown_to_primary_team: (trusted_teams) Accepted a team merge request (deprecated, replaced by 'Accepted a team merge request') :vartype EventType.team_merge_request_accepted_shown_to_primary_team: TeamMergeRequestAcceptedShownToPrimaryTeamType :ivar EventType.team_merge_request_accepted_shown_to_secondary_team: (trusted_teams) Accepted a team merge request (deprecated, replaced by 'Accepted a team merge request') :vartype EventType.team_merge_request_accepted_shown_to_secondary_team: TeamMergeRequestAcceptedShownToSecondaryTeamType :ivar EventType.team_merge_request_auto_canceled: (trusted_teams) Automatically canceled team merge request :vartype EventType.team_merge_request_auto_canceled: TeamMergeRequestAutoCanceledType :ivar EventType.team_merge_request_canceled: (trusted_teams) Canceled a team merge request :vartype EventType.team_merge_request_canceled: TeamMergeRequestCanceledType :ivar EventType.team_merge_request_canceled_shown_to_primary_team: (trusted_teams) Canceled a team merge request (deprecated, replaced by 'Canceled a team merge request') :vartype EventType.team_merge_request_canceled_shown_to_primary_team: TeamMergeRequestCanceledShownToPrimaryTeamType :ivar EventType.team_merge_request_canceled_shown_to_secondary_team: (trusted_teams) Canceled a team merge request (deprecated, replaced by 'Canceled a team merge request') :vartype EventType.team_merge_request_canceled_shown_to_secondary_team: TeamMergeRequestCanceledShownToSecondaryTeamType :ivar EventType.team_merge_request_expired: (trusted_teams) Team merge request expired :vartype EventType.team_merge_request_expired: TeamMergeRequestExpiredType :ivar EventType.team_merge_request_expired_shown_to_primary_team: (trusted_teams) Team merge request expired (deprecated, replaced by 'Team merge request expired') :vartype EventType.team_merge_request_expired_shown_to_primary_team: TeamMergeRequestExpiredShownToPrimaryTeamType :ivar EventType.team_merge_request_expired_shown_to_secondary_team: (trusted_teams) Team merge request expired (deprecated, replaced by 'Team merge request expired') :vartype EventType.team_merge_request_expired_shown_to_secondary_team: TeamMergeRequestExpiredShownToSecondaryTeamType :ivar EventType.team_merge_request_rejected_shown_to_primary_team: (trusted_teams) Rejected a team merge request (deprecated, no longer logged) :vartype EventType.team_merge_request_rejected_shown_to_primary_team: TeamMergeRequestRejectedShownToPrimaryTeamType :ivar EventType.team_merge_request_rejected_shown_to_secondary_team: (trusted_teams) Rejected a team merge request (deprecated, no longer logged) :vartype EventType.team_merge_request_rejected_shown_to_secondary_team: TeamMergeRequestRejectedShownToSecondaryTeamType :ivar EventType.team_merge_request_reminder: (trusted_teams) Sent a team merge request reminder :vartype EventType.team_merge_request_reminder: TeamMergeRequestReminderType :ivar 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') :vartype EventType.team_merge_request_reminder_shown_to_primary_team: TeamMergeRequestReminderShownToPrimaryTeamType :ivar 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') :vartype EventType.team_merge_request_reminder_shown_to_secondary_team: TeamMergeRequestReminderShownToSecondaryTeamType :ivar EventType.team_merge_request_revoked: (trusted_teams) Canceled the team merge :vartype EventType.team_merge_request_revoked: TeamMergeRequestRevokedType :ivar EventType.team_merge_request_sent_shown_to_primary_team: (trusted_teams) Requested to merge their Dropbox team into yours :vartype EventType.team_merge_request_sent_shown_to_primary_team: TeamMergeRequestSentShownToPrimaryTeamType :ivar EventType.team_merge_request_sent_shown_to_secondary_team: (trusted_teams) Requested to merge your team into another Dropbox team :vartype EventType.team_merge_request_sent_shown_to_secondary_team: TeamMergeRequestSentShownToSecondaryTeamType """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @classmethod def admin_alerting_alert_state_changed(cls, val): """ Create an instance of this class set to the ``admin_alerting_alert_state_changed`` tag with value ``val``. :param AdminAlertingAlertStateChangedType val: :rtype: EventType """ return cls("admin_alerting_alert_state_changed", val) @classmethod def admin_alerting_changed_alert_config(cls, val): """ Create an instance of this class set to the ``admin_alerting_changed_alert_config`` tag with value ``val``. :param AdminAlertingChangedAlertConfigType val: :rtype: EventType """ return cls("admin_alerting_changed_alert_config", val) @classmethod def admin_alerting_triggered_alert(cls, val): """ Create an instance of this class set to the ``admin_alerting_triggered_alert`` tag with value ``val``. :param AdminAlertingTriggeredAlertType val: :rtype: EventType """ return cls("admin_alerting_triggered_alert", val) @classmethod def ransomware_restore_process_completed(cls, val): """ Create an instance of this class set to the ``ransomware_restore_process_completed`` tag with value ``val``. :param RansomwareRestoreProcessCompletedType val: :rtype: EventType """ return cls("ransomware_restore_process_completed", val) @classmethod def ransomware_restore_process_started(cls, val): """ Create an instance of this class set to the ``ransomware_restore_process_started`` tag with value ``val``. :param RansomwareRestoreProcessStartedType val: :rtype: EventType """ return cls("ransomware_restore_process_started", val) @classmethod def app_blocked_by_permissions(cls, val): """ Create an instance of this class set to the ``app_blocked_by_permissions`` tag with value ``val``. :param AppBlockedByPermissionsType val: :rtype: EventType """ return cls("app_blocked_by_permissions", val) @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 dash_added_comment_to_stack(cls, val): """ Create an instance of this class set to the ``dash_added_comment_to_stack`` tag with value ``val``. :param DashAddedCommentToStackType val: :rtype: EventType """ return cls("dash_added_comment_to_stack", val) @classmethod def dash_added_connector(cls, val): """ Create an instance of this class set to the ``dash_added_connector`` tag with value ``val``. :param DashAddedConnectorType val: :rtype: EventType """ return cls("dash_added_connector", val) @classmethod def dash_added_link_to_stack(cls, val): """ Create an instance of this class set to the ``dash_added_link_to_stack`` tag with value ``val``. :param DashAddedLinkToStackType val: :rtype: EventType """ return cls("dash_added_link_to_stack", val) @classmethod def dash_added_team_email_domain_allowlist(cls, val): """ Create an instance of this class set to the ``dash_added_team_email_domain_allowlist`` tag with value ``val``. :param DashAddedTeamEmailDomainAllowlistType val: :rtype: EventType """ return cls("dash_added_team_email_domain_allowlist", val) @classmethod def dash_admin_added_org_wide_connector(cls, val): """ Create an instance of this class set to the ``dash_admin_added_org_wide_connector`` tag with value ``val``. :param DashAdminAddedOrgWideConnectorType val: :rtype: EventType """ return cls("dash_admin_added_org_wide_connector", val) @classmethod def dash_admin_disabled_connector(cls, val): """ Create an instance of this class set to the ``dash_admin_disabled_connector`` tag with value ``val``. :param DashAdminDisabledConnectorType val: :rtype: EventType """ return cls("dash_admin_disabled_connector", val) @classmethod def dash_admin_enabled_connector(cls, val): """ Create an instance of this class set to the ``dash_admin_enabled_connector`` tag with value ``val``. :param DashAdminEnabledConnectorType val: :rtype: EventType """ return cls("dash_admin_enabled_connector", val) @classmethod def dash_admin_removed_org_wide_connector(cls, val): """ Create an instance of this class set to the ``dash_admin_removed_org_wide_connector`` tag with value ``val``. :param DashAdminRemovedOrgWideConnectorType val: :rtype: EventType """ return cls("dash_admin_removed_org_wide_connector", val) @classmethod def dash_archived_stack(cls, val): """ Create an instance of this class set to the ``dash_archived_stack`` tag with value ``val``. :param DashArchivedStackType val: :rtype: EventType """ return cls("dash_archived_stack", val) @classmethod def dash_changed_audience_of_shared_link_to_stack(cls, val): """ Create an instance of this class set to the ``dash_changed_audience_of_shared_link_to_stack`` tag with value ``val``. :param DashChangedAudienceOfSharedLinkToStackType val: :rtype: EventType """ return cls("dash_changed_audience_of_shared_link_to_stack", val) @classmethod def dash_cloned_stack(cls, val): """ Create an instance of this class set to the ``dash_cloned_stack`` tag with value ``val``. :param DashClonedStackType val: :rtype: EventType """ return cls("dash_cloned_stack", val) @classmethod def dash_connector_tools_call(cls, val): """ Create an instance of this class set to the ``dash_connector_tools_call`` tag with value ``val``. :param DashConnectorToolsCallType val: :rtype: EventType """ return cls("dash_connector_tools_call", val) @classmethod def dash_created_stack(cls, val): """ Create an instance of this class set to the ``dash_created_stack`` tag with value ``val``. :param DashCreatedStackType val: :rtype: EventType """ return cls("dash_created_stack", val) @classmethod def dash_deleted_comment_from_stack(cls, val): """ Create an instance of this class set to the ``dash_deleted_comment_from_stack`` tag with value ``val``. :param DashDeletedCommentFromStackType val: :rtype: EventType """ return cls("dash_deleted_comment_from_stack", val) @classmethod def dash_deleted_stack(cls, val): """ Create an instance of this class set to the ``dash_deleted_stack`` tag with value ``val``. :param DashDeletedStackType val: :rtype: EventType """ return cls("dash_deleted_stack", val) @classmethod def dash_edited_comment_in_stack(cls, val): """ Create an instance of this class set to the ``dash_edited_comment_in_stack`` tag with value ``val``. :param DashEditedCommentInStackType val: :rtype: EventType """ return cls("dash_edited_comment_in_stack", val) @classmethod def dash_external_user_opened_stack(cls, val): """ Create an instance of this class set to the ``dash_external_user_opened_stack`` tag with value ``val``. :param DashExternalUserOpenedStackType val: :rtype: EventType """ return cls("dash_external_user_opened_stack", val) @classmethod def dash_first_launched_desktop(cls, val): """ Create an instance of this class set to the ``dash_first_launched_desktop`` tag with value ``val``. :param DashFirstLaunchedDesktopType val: :rtype: EventType """ return cls("dash_first_launched_desktop", val) @classmethod def dash_first_launched_extension(cls, val): """ Create an instance of this class set to the ``dash_first_launched_extension`` tag with value ``val``. :param DashFirstLaunchedExtensionType val: :rtype: EventType """ return cls("dash_first_launched_extension", val) @classmethod def dash_first_launched_web_start_page(cls, val): """ Create an instance of this class set to the ``dash_first_launched_web_start_page`` tag with value ``val``. :param DashFirstLaunchedWebStartPageType val: :rtype: EventType """ return cls("dash_first_launched_web_start_page", val) @classmethod def dash_opened_shared_link_to_stack(cls, val): """ Create an instance of this class set to the ``dash_opened_shared_link_to_stack`` tag with value ``val``. :param DashOpenedSharedLinkToStackType val: :rtype: EventType """ return cls("dash_opened_shared_link_to_stack", val) @classmethod def dash_opened_stack(cls, val): """ Create an instance of this class set to the ``dash_opened_stack`` tag with value ``val``. :param DashOpenedStackType val: :rtype: EventType """ return cls("dash_opened_stack", val) @classmethod def dash_preview_opt_out_status_changed(cls, val): """ Create an instance of this class set to the ``dash_preview_opt_out_status_changed`` tag with value ``val``. :param DashPreviewOptOutStatusChangedType val: :rtype: EventType """ return cls("dash_preview_opt_out_status_changed", val) @classmethod def dash_removed_connector(cls, val): """ Create an instance of this class set to the ``dash_removed_connector`` tag with value ``val``. :param DashRemovedConnectorType val: :rtype: EventType """ return cls("dash_removed_connector", val) @classmethod def dash_removed_link_from_stack(cls, val): """ Create an instance of this class set to the ``dash_removed_link_from_stack`` tag with value ``val``. :param DashRemovedLinkFromStackType val: :rtype: EventType """ return cls("dash_removed_link_from_stack", val) @classmethod def dash_removed_shared_link_to_stack(cls, val): """ Create an instance of this class set to the ``dash_removed_shared_link_to_stack`` tag with value ``val``. :param DashRemovedSharedLinkToStackType val: :rtype: EventType """ return cls("dash_removed_shared_link_to_stack", val) @classmethod def dash_removed_team_email_domain_allowlist(cls, val): """ Create an instance of this class set to the ``dash_removed_team_email_domain_allowlist`` tag with value ``val``. :param DashRemovedTeamEmailDomainAllowlistType val: :rtype: EventType """ return cls("dash_removed_team_email_domain_allowlist", val) @classmethod def dash_renamed_stack(cls, val): """ Create an instance of this class set to the ``dash_renamed_stack`` tag with value ``val``. :param DashRenamedStackType val: :rtype: EventType """ return cls("dash_renamed_stack", val) @classmethod def dash_shared_link_to_stack(cls, val): """ Create an instance of this class set to the ``dash_shared_link_to_stack`` tag with value ``val``. :param DashSharedLinkToStackType val: :rtype: EventType """ return cls("dash_shared_link_to_stack", val) @classmethod def dash_unarchived_stack(cls, val): """ Create an instance of this class set to the ``dash_unarchived_stack`` tag with value ``val``. :param DashUnarchivedStackType val: :rtype: EventType """ return cls("dash_unarchived_stack", val) @classmethod def dash_viewed_company_stack(cls, val): """ Create an instance of this class set to the ``dash_viewed_company_stack`` tag with value ``val``. :param DashViewedCompanyStackType val: :rtype: EventType """ return cls("dash_viewed_company_stack", val) @classmethod def dash_viewed_external_ai_activity_report(cls, val): """ Create an instance of this class set to the ``dash_viewed_external_ai_activity_report`` tag with value ``val``. :param DashViewedExternalAiActivityReportType val: :rtype: EventType """ return cls("dash_viewed_external_ai_activity_report", val) @classmethod def governance_policy_add_folders(cls, val): """ Create an instance of this class set to the ``governance_policy_add_folders`` tag with value ``val``. :param GovernancePolicyAddFoldersType val: :rtype: EventType """ return cls("governance_policy_add_folders", val) @classmethod def governance_policy_add_folder_failed(cls, val): """ Create an instance of this class set to the ``governance_policy_add_folder_failed`` tag with value ``val``. :param GovernancePolicyAddFolderFailedType val: :rtype: EventType """ return cls("governance_policy_add_folder_failed", val) @classmethod def governance_policy_content_disposed(cls, val): """ Create an instance of this class set to the ``governance_policy_content_disposed`` tag with value ``val``. :param GovernancePolicyContentDisposedType val: :rtype: EventType """ return cls("governance_policy_content_disposed", val) @classmethod def governance_policy_create(cls, val): """ Create an instance of this class set to the ``governance_policy_create`` tag with value ``val``. :param GovernancePolicyCreateType val: :rtype: EventType """ return cls("governance_policy_create", val) @classmethod def governance_policy_delete(cls, val): """ Create an instance of this class set to the ``governance_policy_delete`` tag with value ``val``. :param GovernancePolicyDeleteType val: :rtype: EventType """ return cls("governance_policy_delete", val) @classmethod def governance_policy_edit_details(cls, val): """ Create an instance of this class set to the ``governance_policy_edit_details`` tag with value ``val``. :param GovernancePolicyEditDetailsType val: :rtype: EventType """ return cls("governance_policy_edit_details", val) @classmethod def governance_policy_edit_duration(cls, val): """ Create an instance of this class set to the ``governance_policy_edit_duration`` tag with value ``val``. :param GovernancePolicyEditDurationType val: :rtype: EventType """ return cls("governance_policy_edit_duration", val) @classmethod def governance_policy_export_created(cls, val): """ Create an instance of this class set to the ``governance_policy_export_created`` tag with value ``val``. :param GovernancePolicyExportCreatedType val: :rtype: EventType """ return cls("governance_policy_export_created", val) @classmethod def governance_policy_export_removed(cls, val): """ Create an instance of this class set to the ``governance_policy_export_removed`` tag with value ``val``. :param GovernancePolicyExportRemovedType val: :rtype: EventType """ return cls("governance_policy_export_removed", val) @classmethod def governance_policy_remove_folders(cls, val): """ Create an instance of this class set to the ``governance_policy_remove_folders`` tag with value ``val``. :param GovernancePolicyRemoveFoldersType val: :rtype: EventType """ return cls("governance_policy_remove_folders", val) @classmethod def governance_policy_report_created(cls, val): """ Create an instance of this class set to the ``governance_policy_report_created`` tag with value ``val``. :param GovernancePolicyReportCreatedType val: :rtype: EventType """ return cls("governance_policy_report_created", val) @classmethod def governance_policy_zip_part_downloaded(cls, val): """ Create an instance of this class set to the ``governance_policy_zip_part_downloaded`` tag with value ``val``. :param GovernancePolicyZipPartDownloadedType val: :rtype: EventType """ return cls("governance_policy_zip_part_downloaded", val) @classmethod def legal_holds_activate_a_hold(cls, val): """ Create an instance of this class set to the ``legal_holds_activate_a_hold`` tag with value ``val``. :param LegalHoldsActivateAHoldType val: :rtype: EventType """ return cls("legal_holds_activate_a_hold", val) @classmethod def legal_holds_add_members(cls, val): """ Create an instance of this class set to the ``legal_holds_add_members`` tag with value ``val``. :param LegalHoldsAddMembersType val: :rtype: EventType """ return cls("legal_holds_add_members", val) @classmethod def legal_holds_change_hold_details(cls, val): """ Create an instance of this class set to the ``legal_holds_change_hold_details`` tag with value ``val``. :param LegalHoldsChangeHoldDetailsType val: :rtype: EventType """ return cls("legal_holds_change_hold_details", val) @classmethod def legal_holds_change_hold_name(cls, val): """ Create an instance of this class set to the ``legal_holds_change_hold_name`` tag with value ``val``. :param LegalHoldsChangeHoldNameType val: :rtype: EventType """ return cls("legal_holds_change_hold_name", val) @classmethod def legal_holds_export_a_hold(cls, val): """ Create an instance of this class set to the ``legal_holds_export_a_hold`` tag with value ``val``. :param LegalHoldsExportAHoldType val: :rtype: EventType """ return cls("legal_holds_export_a_hold", val) @classmethod def legal_holds_export_cancelled(cls, val): """ Create an instance of this class set to the ``legal_holds_export_cancelled`` tag with value ``val``. :param LegalHoldsExportCancelledType val: :rtype: EventType """ return cls("legal_holds_export_cancelled", val) @classmethod def legal_holds_export_downloaded(cls, val): """ Create an instance of this class set to the ``legal_holds_export_downloaded`` tag with value ``val``. :param LegalHoldsExportDownloadedType val: :rtype: EventType """ return cls("legal_holds_export_downloaded", val) @classmethod def legal_holds_export_removed(cls, val): """ Create an instance of this class set to the ``legal_holds_export_removed`` tag with value ``val``. :param LegalHoldsExportRemovedType val: :rtype: EventType """ return cls("legal_holds_export_removed", val) @classmethod def legal_holds_release_a_hold(cls, val): """ Create an instance of this class set to the ``legal_holds_release_a_hold`` tag with value ``val``. :param LegalHoldsReleaseAHoldType val: :rtype: EventType """ return cls("legal_holds_release_a_hold", val) @classmethod def legal_holds_remove_members(cls, val): """ Create an instance of this class set to the ``legal_holds_remove_members`` tag with value ``val``. :param LegalHoldsRemoveMembersType val: :rtype: EventType """ return cls("legal_holds_remove_members", val) @classmethod def legal_holds_report_a_hold(cls, val): """ Create an instance of this class set to the ``legal_holds_report_a_hold`` tag with value ``val``. :param LegalHoldsReportAHoldType val: :rtype: EventType """ return cls("legal_holds_report_a_hold", 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_sync_backup_status_changed(cls, val): """ Create an instance of this class set to the ``device_sync_backup_status_changed`` tag with value ``val``. :param DeviceSyncBackupStatusChangedType val: :rtype: EventType """ return cls("device_sync_backup_status_changed", 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 dropbox_passwords_exported(cls, val): """ Create an instance of this class set to the ``dropbox_passwords_exported`` tag with value ``val``. :param DropboxPasswordsExportedType val: :rtype: EventType """ return cls("dropbox_passwords_exported", val) @classmethod def dropbox_passwords_new_device_enrolled(cls, val): """ Create an instance of this class set to the ``dropbox_passwords_new_device_enrolled`` tag with value ``val``. :param DropboxPasswordsNewDeviceEnrolledType val: :rtype: EventType """ return cls("dropbox_passwords_new_device_enrolled", 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 external_drive_backup_eligibility_status_checked(cls, val): """ Create an instance of this class set to the ``external_drive_backup_eligibility_status_checked`` tag with value ``val``. :param ExternalDriveBackupEligibilityStatusCheckedType val: :rtype: EventType """ return cls("external_drive_backup_eligibility_status_checked", val) @classmethod def external_drive_backup_status_changed(cls, val): """ Create an instance of this class set to the ``external_drive_backup_status_changed`` tag with value ``val``. :param ExternalDriveBackupStatusChangedType val: :rtype: EventType """ return cls("external_drive_backup_status_changed", 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 encrypted_folder_cancel_team_key_rotation(cls, val): """ Create an instance of this class set to the ``encrypted_folder_cancel_team_key_rotation`` tag with value ``val``. :param EncryptedFolderCancelTeamKeyRotationType val: :rtype: EventType """ return cls("encrypted_folder_cancel_team_key_rotation", val) @classmethod def encrypted_folder_enroll_backup_key(cls, val): """ Create an instance of this class set to the ``encrypted_folder_enroll_backup_key`` tag with value ``val``. :param EncryptedFolderEnrollBackupKeyType val: :rtype: EventType """ return cls("encrypted_folder_enroll_backup_key", val) @classmethod def encrypted_folder_enroll_client(cls, val): """ Create an instance of this class set to the ``encrypted_folder_enroll_client`` tag with value ``val``. :param EncryptedFolderEnrollClientType val: :rtype: EventType """ return cls("encrypted_folder_enroll_client", val) @classmethod def encrypted_folder_enroll_team(cls, val): """ Create an instance of this class set to the ``encrypted_folder_enroll_team`` tag with value ``val``. :param EncryptedFolderEnrollTeamType val: :rtype: EventType """ return cls("encrypted_folder_enroll_team", val) @classmethod def encrypted_folder_finish_team_unenrollment(cls, val): """ Create an instance of this class set to the ``encrypted_folder_finish_team_unenrollment`` tag with value ``val``. :param EncryptedFolderFinishTeamUnenrollmentType val: :rtype: EventType """ return cls("encrypted_folder_finish_team_unenrollment", val) @classmethod def encrypted_folder_init_team_key_rotation(cls, val): """ Create an instance of this class set to the ``encrypted_folder_init_team_key_rotation`` tag with value ``val``. :param EncryptedFolderInitTeamKeyRotationType val: :rtype: EventType """ return cls("encrypted_folder_init_team_key_rotation", val) @classmethod def encrypted_folder_init_team_unenrollment(cls, val): """ Create an instance of this class set to the ``encrypted_folder_init_team_unenrollment`` tag with value ``val``. :param EncryptedFolderInitTeamUnenrollmentType val: :rtype: EventType """ return cls("encrypted_folder_init_team_unenrollment", val) @classmethod def encrypted_folder_remove_backup_key(cls, val): """ Create an instance of this class set to the ``encrypted_folder_remove_backup_key`` tag with value ``val``. :param EncryptedFolderRemoveBackupKeyType val: :rtype: EventType """ return cls("encrypted_folder_remove_backup_key", val) @classmethod def encrypted_folder_rotate_team_key(cls, val): """ Create an instance of this class set to the ``encrypted_folder_rotate_team_key`` tag with value ``val``. :param EncryptedFolderRotateTeamKeyType val: :rtype: EventType """ return cls("encrypted_folder_rotate_team_key", val) @classmethod def encrypted_folder_unenroll_client(cls, val): """ Create an instance of this class set to the ``encrypted_folder_unenroll_client`` tag with value ``val``. :param EncryptedFolderUnenrollClientType val: :rtype: EventType """ return cls("encrypted_folder_unenroll_client", val) @classmethod def team_encryption_key_activate_key(cls, val): """ Create an instance of this class set to the ``team_encryption_key_activate_key`` tag with value ``val``. :param TeamEncryptionKeyActivateKeyType val: :rtype: EventType """ return cls("team_encryption_key_activate_key", val) @classmethod def team_encryption_key_cancel_key_deletion(cls, val): """ Create an instance of this class set to the ``team_encryption_key_cancel_key_deletion`` tag with value ``val``. :param TeamEncryptionKeyCancelKeyDeletionType val: :rtype: EventType """ return cls("team_encryption_key_cancel_key_deletion", val) @classmethod def team_encryption_key_create_key(cls, val): """ Create an instance of this class set to the ``team_encryption_key_create_key`` tag with value ``val``. :param TeamEncryptionKeyCreateKeyType val: :rtype: EventType """ return cls("team_encryption_key_create_key", val) @classmethod def team_encryption_key_deactivate_key(cls, val): """ Create an instance of this class set to the ``team_encryption_key_deactivate_key`` tag with value ``val``. :param TeamEncryptionKeyDeactivateKeyType val: :rtype: EventType """ return cls("team_encryption_key_deactivate_key", val) @classmethod def team_encryption_key_delete_key(cls, val): """ Create an instance of this class set to the ``team_encryption_key_delete_key`` tag with value ``val``. :param TeamEncryptionKeyDeleteKeyType val: :rtype: EventType """ return cls("team_encryption_key_delete_key", val) @classmethod def team_encryption_key_disable_key(cls, val): """ Create an instance of this class set to the ``team_encryption_key_disable_key`` tag with value ``val``. :param TeamEncryptionKeyDisableKeyType val: :rtype: EventType """ return cls("team_encryption_key_disable_key", val) @classmethod def team_encryption_key_enable_key(cls, val): """ Create an instance of this class set to the ``team_encryption_key_enable_key`` tag with value ``val``. :param TeamEncryptionKeyEnableKeyType val: :rtype: EventType """ return cls("team_encryption_key_enable_key", val) @classmethod def team_encryption_key_rotate_key(cls, val): """ Create an instance of this class set to the ``team_encryption_key_rotate_key`` tag with value ``val``. :param TeamEncryptionKeyRotateKeyType val: :rtype: EventType """ return cls("team_encryption_key_rotate_key", val) @classmethod def team_encryption_key_schedule_key_deletion(cls, val): """ Create an instance of this class set to the ``team_encryption_key_schedule_key_deletion`` tag with value ``val``. :param TeamEncryptionKeyScheduleKeyDeletionType val: :rtype: EventType """ return cls("team_encryption_key_schedule_key_deletion", val) @classmethod def apply_naming_convention(cls, val): """ Create an instance of this class set to the ``apply_naming_convention`` tag with value ``val``. :param ApplyNamingConventionType val: :rtype: EventType """ return cls("apply_naming_convention", 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_add_from_automation(cls, val): """ Create an instance of this class set to the ``file_add_from_automation`` tag with value ``val``. :param FileAddFromAutomationType val: :rtype: EventType """ return cls("file_add_from_automation", 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_locking_lock_status_changed(cls, val): """ Create an instance of this class set to the ``file_locking_lock_status_changed`` tag with value ``val``. :param FileLockingLockStatusChangedType val: :rtype: EventType """ return cls("file_locking_lock_status_changed", 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 folder_overview_description_changed(cls, val): """ Create an instance of this class set to the ``folder_overview_description_changed`` tag with value ``val``. :param FolderOverviewDescriptionChangedType val: :rtype: EventType """ return cls("folder_overview_description_changed", val) @classmethod def folder_overview_item_pinned(cls, val): """ Create an instance of this class set to the ``folder_overview_item_pinned`` tag with value ``val``. :param FolderOverviewItemPinnedType val: :rtype: EventType """ return cls("folder_overview_item_pinned", val) @classmethod def folder_overview_item_unpinned(cls, val): """ Create an instance of this class set to the ``folder_overview_item_unpinned`` tag with value ``val``. :param FolderOverviewItemUnpinnedType val: :rtype: EventType """ return cls("folder_overview_item_unpinned", val) @classmethod def media_hub_file_downloaded(cls, val): """ Create an instance of this class set to the ``media_hub_file_downloaded`` tag with value ``val``. :param MediaHubFileDownloadedType val: :rtype: EventType """ return cls("media_hub_file_downloaded", val) @classmethod def object_label_added(cls, val): """ Create an instance of this class set to the ``object_label_added`` tag with value ``val``. :param ObjectLabelAddedType val: :rtype: EventType """ return cls("object_label_added", val) @classmethod def object_label_removed(cls, val): """ Create an instance of this class set to the ``object_label_removed`` tag with value ``val``. :param ObjectLabelRemovedType val: :rtype: EventType """ return cls("object_label_removed", val) @classmethod def object_label_updated_value(cls, val): """ Create an instance of this class set to the ``object_label_updated_value`` tag with value ``val``. :param ObjectLabelUpdatedValueType val: :rtype: EventType """ return cls("object_label_updated_value", val) @classmethod def organize_folder_with_tidy(cls, val): """ Create an instance of this class set to the ``organize_folder_with_tidy`` tag with value ``val``. :param OrganizeFolderWithTidyType val: :rtype: EventType """ return cls("organize_folder_with_tidy", val) @classmethod def replay_file_delete(cls, val): """ Create an instance of this class set to the ``replay_file_delete`` tag with value ``val``. :param ReplayFileDeleteType val: :rtype: EventType """ return cls("replay_file_delete", val) @classmethod def replay_file_downloaded(cls, val): """ Create an instance of this class set to the ``replay_file_downloaded`` tag with value ``val``. :param ReplayFileDownloadedType val: :rtype: EventType """ return cls("replay_file_downloaded", val) @classmethod def replay_team_project_created(cls, val): """ Create an instance of this class set to the ``replay_team_project_created`` tag with value ``val``. :param ReplayTeamProjectCreatedType val: :rtype: EventType """ return cls("replay_team_project_created", val) @classmethod def rewind_folder(cls, val): """ Create an instance of this class set to the ``rewind_folder`` tag with value ``val``. :param RewindFolderType val: :rtype: EventType """ return cls("rewind_folder", val) @classmethod def undo_naming_convention(cls, val): """ Create an instance of this class set to the ``undo_naming_convention`` tag with value ``val``. :param UndoNamingConventionType val: :rtype: EventType """ return cls("undo_naming_convention", val) @classmethod def undo_organize_folder_with_tidy(cls, val): """ Create an instance of this class set to the ``undo_organize_folder_with_tidy`` tag with value ``val``. :param UndoOrganizeFolderWithTidyType val: :rtype: EventType """ return cls("undo_organize_folder_with_tidy", val) @classmethod def user_tags_added(cls, val): """ Create an instance of this class set to the ``user_tags_added`` tag with value ``val``. :param UserTagsAddedType val: :rtype: EventType """ return cls("user_tags_added", val) @classmethod def user_tags_removed(cls, val): """ Create an instance of this class set to the ``user_tags_removed`` tag with value ``val``. :param UserTagsRemovedType val: :rtype: EventType """ return cls("user_tags_removed", val) @classmethod def email_ingest_receive_file(cls, val): """ Create an instance of this class set to the ``email_ingest_receive_file`` tag with value ``val``. :param EmailIngestReceiveFileType val: :rtype: EventType """ return cls("email_ingest_receive_file", val) @classmethod def file_request_auto_close(cls, val): """ Create an instance of this class set to the ``file_request_auto_close`` tag with value ``val``. :param FileRequestAutoCloseType val: :rtype: EventType """ return cls("file_request_auto_close", 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_external_sharing_setting_override_changed(cls, val): """ Create an instance of this class set to the ``group_external_sharing_setting_override_changed`` tag with value ``val``. :param GroupExternalSharingSettingOverrideChangedType val: :rtype: EventType """ return cls("group_external_sharing_setting_override_changed", 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 account_lock_or_unlocked(cls, val): """ Create an instance of this class set to the ``account_lock_or_unlocked`` tag with value ``val``. :param AccountLockOrUnlockedType val: :rtype: EventType """ return cls("account_lock_or_unlocked", 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 addon_assigned(cls, val): """ Create an instance of this class set to the ``addon_assigned`` tag with value ``val``. :param AddonAssignedType val: :rtype: EventType """ return cls("addon_assigned", val) @classmethod def addon_removed(cls, val): """ Create an instance of this class set to the ``addon_removed`` tag with value ``val``. :param AddonRemovedType val: :rtype: EventType """ return cls("addon_removed", val) @classmethod def backup_admin_invitation_sent(cls, val): """ Create an instance of this class set to the ``backup_admin_invitation_sent`` tag with value ``val``. :param BackupAdminInvitationSentType val: :rtype: EventType """ return cls("backup_admin_invitation_sent", val) @classmethod def backup_invitation_opened(cls, val): """ Create an instance of this class set to the ``backup_invitation_opened`` tag with value ``val``. :param BackupInvitationOpenedType val: :rtype: EventType """ return cls("backup_invitation_opened", val) @classmethod def create_team_invite_link(cls, val): """ Create an instance of this class set to the ``create_team_invite_link`` tag with value ``val``. :param CreateTeamInviteLinkType val: :rtype: EventType """ return cls("create_team_invite_link", val) @classmethod def delete_team_invite_link(cls, val): """ Create an instance of this class set to the ``delete_team_invite_link`` tag with value ``val``. :param DeleteTeamInviteLinkType val: :rtype: EventType """ return cls("delete_team_invite_link", 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_reseller_role(cls, val): """ Create an instance of this class set to the ``member_change_reseller_role`` tag with value ``val``. :param MemberChangeResellerRoleType val: :rtype: EventType """ return cls("member_change_reseller_role", 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_delete_profile_photo(cls, val): """ Create an instance of this class set to the ``member_delete_profile_photo`` tag with value ``val``. :param MemberDeleteProfilePhotoType val: :rtype: EventType """ return cls("member_delete_profile_photo", 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_set_profile_photo(cls, val): """ Create an instance of this class set to the ``member_set_profile_photo`` tag with value ``val``. :param MemberSetProfilePhotoType val: :rtype: EventType """ return cls("member_set_profile_photo", 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 pending_secondary_email_added(cls, val): """ Create an instance of this class set to the ``pending_secondary_email_added`` tag with value ``val``. :param PendingSecondaryEmailAddedType val: :rtype: EventType """ return cls("pending_secondary_email_added", val) @classmethod def product_assigned_to_member(cls, val): """ Create an instance of this class set to the ``product_assigned_to_member`` tag with value ``val``. :param ProductAssignedToMemberType val: :rtype: EventType """ return cls("product_assigned_to_member", val) @classmethod def product_removed_from_member(cls, val): """ Create an instance of this class set to the ``product_removed_from_member`` tag with value ``val``. :param ProductRemovedFromMemberType val: :rtype: EventType """ return cls("product_removed_from_member", val) @classmethod def secondary_email_deleted(cls, val): """ Create an instance of this class set to the ``secondary_email_deleted`` tag with value ``val``. :param SecondaryEmailDeletedType val: :rtype: EventType """ return cls("secondary_email_deleted", val) @classmethod def secondary_email_verified(cls, val): """ Create an instance of this class set to the ``secondary_email_verified`` tag with value ``val``. :param SecondaryEmailVerifiedType val: :rtype: EventType """ return cls("secondary_email_verified", 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 binder_add_page(cls, val): """ Create an instance of this class set to the ``binder_add_page`` tag with value ``val``. :param BinderAddPageType val: :rtype: EventType """ return cls("binder_add_page", val) @classmethod def binder_add_section(cls, val): """ Create an instance of this class set to the ``binder_add_section`` tag with value ``val``. :param BinderAddSectionType val: :rtype: EventType """ return cls("binder_add_section", val) @classmethod def binder_remove_page(cls, val): """ Create an instance of this class set to the ``binder_remove_page`` tag with value ``val``. :param BinderRemovePageType val: :rtype: EventType """ return cls("binder_remove_page", val) @classmethod def binder_remove_section(cls, val): """ Create an instance of this class set to the ``binder_remove_section`` tag with value ``val``. :param BinderRemoveSectionType val: :rtype: EventType """ return cls("binder_remove_section", val) @classmethod def binder_rename_page(cls, val): """ Create an instance of this class set to the ``binder_rename_page`` tag with value ``val``. :param BinderRenamePageType val: :rtype: EventType """ return cls("binder_rename_page", val) @classmethod def binder_rename_section(cls, val): """ Create an instance of this class set to the ``binder_rename_section`` tag with value ``val``. :param BinderRenameSectionType val: :rtype: EventType """ return cls("binder_rename_section", val) @classmethod def binder_reorder_page(cls, val): """ Create an instance of this class set to the ``binder_reorder_page`` tag with value ``val``. :param BinderReorderPageType val: :rtype: EventType """ return cls("binder_reorder_page", val) @classmethod def binder_reorder_section(cls, val): """ Create an instance of this class set to the ``binder_reorder_section`` tag with value ``val``. :param BinderReorderSectionType val: :rtype: EventType """ return cls("binder_reorder_section", 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_change_permission(cls, val): """ Create an instance of this class set to the ``paper_published_link_change_permission`` tag with value ``val``. :param PaperPublishedLinkChangePermissionType val: :rtype: EventType """ return cls("paper_published_link_change_permission", 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 protect_internal_domains_changed(cls, val): """ Create an instance of this class set to the ``protect_internal_domains_changed`` tag with value ``val``. :param ProtectInternalDomainsChangedType val: :rtype: EventType """ return cls("protect_internal_domains_changed", val) @classmethod def classification_create_report(cls, val): """ Create an instance of this class set to the ``classification_create_report`` tag with value ``val``. :param ClassificationCreateReportType val: :rtype: EventType """ return cls("classification_create_report", val) @classmethod def classification_create_report_fail(cls, val): """ Create an instance of this class set to the ``classification_create_report_fail`` tag with value ``val``. :param ClassificationCreateReportFailType val: :rtype: EventType """ return cls("classification_create_report_fail", 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 export_members_report_fail(cls, val): """ Create an instance of this class set to the ``export_members_report_fail`` tag with value ``val``. :param ExportMembersReportFailType val: :rtype: EventType """ return cls("export_members_report_fail", val) @classmethod def external_sharing_create_report(cls, val): """ Create an instance of this class set to the ``external_sharing_create_report`` tag with value ``val``. :param ExternalSharingCreateReportType val: :rtype: EventType """ return cls("external_sharing_create_report", val) @classmethod def external_sharing_report_failed(cls, val): """ Create an instance of this class set to the ``external_sharing_report_failed`` tag with value ``val``. :param ExternalSharingReportFailedType val: :rtype: EventType """ return cls("external_sharing_report_failed", val) @classmethod def member_access_details_create_report(cls, val): """ Create an instance of this class set to the ``member_access_details_create_report`` tag with value ``val``. :param MemberAccessDetailsCreateReportType val: :rtype: EventType """ return cls("member_access_details_create_report", val) @classmethod def member_access_details_create_report_failed(cls, val): """ Create an instance of this class set to the ``member_access_details_create_report_failed`` tag with value ``val``. :param MemberAccessDetailsCreateReportFailedType val: :rtype: EventType """ return cls("member_access_details_create_report_failed", val) @classmethod def no_expiration_link_gen_create_report(cls, val): """ Create an instance of this class set to the ``no_expiration_link_gen_create_report`` tag with value ``val``. :param NoExpirationLinkGenCreateReportType val: :rtype: EventType """ return cls("no_expiration_link_gen_create_report", val) @classmethod def no_expiration_link_gen_report_failed(cls, val): """ Create an instance of this class set to the ``no_expiration_link_gen_report_failed`` tag with value ``val``. :param NoExpirationLinkGenReportFailedType val: :rtype: EventType """ return cls("no_expiration_link_gen_report_failed", val) @classmethod def no_password_link_gen_create_report(cls, val): """ Create an instance of this class set to the ``no_password_link_gen_create_report`` tag with value ``val``. :param NoPasswordLinkGenCreateReportType val: :rtype: EventType """ return cls("no_password_link_gen_create_report", val) @classmethod def no_password_link_gen_report_failed(cls, val): """ Create an instance of this class set to the ``no_password_link_gen_report_failed`` tag with value ``val``. :param NoPasswordLinkGenReportFailedType val: :rtype: EventType """ return cls("no_password_link_gen_report_failed", val) @classmethod def no_password_link_view_create_report(cls, val): """ Create an instance of this class set to the ``no_password_link_view_create_report`` tag with value ``val``. :param NoPasswordLinkViewCreateReportType val: :rtype: EventType """ return cls("no_password_link_view_create_report", val) @classmethod def no_password_link_view_report_failed(cls, val): """ Create an instance of this class set to the ``no_password_link_view_report_failed`` tag with value ``val``. :param NoPasswordLinkViewReportFailedType val: :rtype: EventType """ return cls("no_password_link_view_report_failed", val) @classmethod def outdated_link_view_create_report(cls, val): """ Create an instance of this class set to the ``outdated_link_view_create_report`` tag with value ``val``. :param OutdatedLinkViewCreateReportType val: :rtype: EventType """ return cls("outdated_link_view_create_report", val) @classmethod def outdated_link_view_report_failed(cls, val): """ Create an instance of this class set to the ``outdated_link_view_report_failed`` tag with value ``val``. :param OutdatedLinkViewReportFailedType val: :rtype: EventType """ return cls("outdated_link_view_report_failed", 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 ransomware_alert_create_report(cls, val): """ Create an instance of this class set to the ``ransomware_alert_create_report`` tag with value ``val``. :param RansomwareAlertCreateReportType val: :rtype: EventType """ return cls("ransomware_alert_create_report", val) @classmethod def ransomware_alert_create_report_failed(cls, val): """ Create an instance of this class set to the ``ransomware_alert_create_report_failed`` tag with value ``val``. :param RansomwareAlertCreateReportFailedType val: :rtype: EventType """ return cls("ransomware_alert_create_report_failed", val) @classmethod def shared_folders_create_report(cls, val): """ Create an instance of this class set to the ``shared_folders_create_report`` tag with value ``val``. :param SharedFoldersCreateReportType val: :rtype: EventType """ return cls("shared_folders_create_report", val) @classmethod def shared_folders_create_report_failed(cls, val): """ Create an instance of this class set to the ``shared_folders_create_report_failed`` tag with value ``val``. :param SharedFoldersCreateReportFailedType val: :rtype: EventType """ return cls("shared_folders_create_report_failed", 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 team_folders_create_report(cls, val): """ Create an instance of this class set to the ``team_folders_create_report`` tag with value ``val``. :param TeamFoldersCreateReportType val: :rtype: EventType """ return cls("team_folders_create_report", val) @classmethod def team_folders_create_report_failed(cls, val): """ Create an instance of this class set to the ``team_folders_create_report_failed`` tag with value ``val``. :param TeamFoldersCreateReportFailedType val: :rtype: EventType """ return cls("team_folders_create_report_failed", val) @classmethod def team_storage_create_report(cls, val): """ Create an instance of this class set to the ``team_storage_create_report`` tag with value ``val``. :param TeamStorageCreateReportType val: :rtype: EventType """ return cls("team_storage_create_report", val) @classmethod def team_storage_create_report_failed(cls, val): """ Create an instance of this class set to the ``team_storage_create_report_failed`` tag with value ``val``. :param TeamStorageCreateReportFailedType val: :rtype: EventType """ return cls("team_storage_create_report_failed", 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 file_transfers_file_add(cls, val): """ Create an instance of this class set to the ``file_transfers_file_add`` tag with value ``val``. :param FileTransfersFileAddType val: :rtype: EventType """ return cls("file_transfers_file_add", val) @classmethod def file_transfers_transfer_delete(cls, val): """ Create an instance of this class set to the ``file_transfers_transfer_delete`` tag with value ``val``. :param FileTransfersTransferDeleteType val: :rtype: EventType """ return cls("file_transfers_transfer_delete", val) @classmethod def file_transfers_transfer_download(cls, val): """ Create an instance of this class set to the ``file_transfers_transfer_download`` tag with value ``val``. :param FileTransfersTransferDownloadType val: :rtype: EventType """ return cls("file_transfers_transfer_download", val) @classmethod def file_transfers_transfer_send(cls, val): """ Create an instance of this class set to the ``file_transfers_transfer_send`` tag with value ``val``. :param FileTransfersTransferSendType val: :rtype: EventType """ return cls("file_transfers_transfer_send", val) @classmethod def file_transfers_transfer_view(cls, val): """ Create an instance of this class set to the ``file_transfers_transfer_view`` tag with value ``val``. :param FileTransfersTransferViewType val: :rtype: EventType """ return cls("file_transfers_transfer_view", val) @classmethod def media_hub_project_team_add(cls, val): """ Create an instance of this class set to the ``media_hub_project_team_add`` tag with value ``val``. :param MediaHubProjectTeamAddType val: :rtype: EventType """ return cls("media_hub_project_team_add", val) @classmethod def media_hub_project_team_delete(cls, val): """ Create an instance of this class set to the ``media_hub_project_team_delete`` tag with value ``val``. :param MediaHubProjectTeamDeleteType val: :rtype: EventType """ return cls("media_hub_project_team_delete", val) @classmethod def media_hub_project_team_role_changed(cls, val): """ Create an instance of this class set to the ``media_hub_project_team_role_changed`` tag with value ``val``. :param MediaHubProjectTeamRoleChangedType val: :rtype: EventType """ return cls("media_hub_project_team_role_changed", val) @classmethod def media_hub_shared_link_audience_changed(cls, val): """ Create an instance of this class set to the ``media_hub_shared_link_audience_changed`` tag with value ``val``. :param MediaHubSharedLinkAudienceChangedType val: :rtype: EventType """ return cls("media_hub_shared_link_audience_changed", val) @classmethod def media_hub_shared_link_created(cls, val): """ Create an instance of this class set to the ``media_hub_shared_link_created`` tag with value ``val``. :param MediaHubSharedLinkCreatedType val: :rtype: EventType """ return cls("media_hub_shared_link_created", val) @classmethod def media_hub_shared_link_download_setting_changed(cls, val): """ Create an instance of this class set to the ``media_hub_shared_link_download_setting_changed`` tag with value ``val``. :param MediaHubSharedLinkDownloadSettingChangedType val: :rtype: EventType """ return cls("media_hub_shared_link_download_setting_changed", val) @classmethod def media_hub_shared_link_revoked(cls, val): """ Create an instance of this class set to the ``media_hub_shared_link_revoked`` tag with value ``val``. :param MediaHubSharedLinkRevokedType val: :rtype: EventType """ return cls("media_hub_shared_link_revoked", 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 replay_file_shared_link_created(cls, val): """ Create an instance of this class set to the ``replay_file_shared_link_created`` tag with value ``val``. :param ReplayFileSharedLinkCreatedType val: :rtype: EventType """ return cls("replay_file_shared_link_created", val) @classmethod def replay_file_shared_link_modified(cls, val): """ Create an instance of this class set to the ``replay_file_shared_link_modified`` tag with value ``val``. :param ReplayFileSharedLinkModifiedType val: :rtype: EventType """ return cls("replay_file_shared_link_modified", val) @classmethod def replay_project_team_add(cls, val): """ Create an instance of this class set to the ``replay_project_team_add`` tag with value ``val``. :param ReplayProjectTeamAddType val: :rtype: EventType """ return cls("replay_project_team_add", val) @classmethod def replay_project_team_delete(cls, val): """ Create an instance of this class set to the ``replay_project_team_delete`` tag with value ``val``. :param ReplayProjectTeamDeleteType val: :rtype: EventType """ return cls("replay_project_team_delete", val) @classmethod def send_and_track_file_added(cls, val): """ Create an instance of this class set to the ``send_and_track_file_added`` tag with value ``val``. :param SendAndTrackFileAddedType val: :rtype: EventType """ return cls("send_and_track_file_added", val) @classmethod def send_and_track_file_renamed(cls, val): """ Create an instance of this class set to the ``send_and_track_file_renamed`` tag with value ``val``. :param SendAndTrackFileRenamedType val: :rtype: EventType """ return cls("send_and_track_file_renamed", val) @classmethod def send_and_track_file_updated(cls, val): """ Create an instance of this class set to the ``send_and_track_file_updated`` tag with value ``val``. :param SendAndTrackFileUpdatedType val: :rtype: EventType """ return cls("send_and_track_file_updated", val) @classmethod def send_and_track_link_created(cls, val): """ Create an instance of this class set to the ``send_and_track_link_created`` tag with value ``val``. :param SendAndTrackLinkCreatedType val: :rtype: EventType """ return cls("send_and_track_link_created", val) @classmethod def send_and_track_link_deleted(cls, val): """ Create an instance of this class set to the ``send_and_track_link_deleted`` tag with value ``val``. :param SendAndTrackLinkDeletedType val: :rtype: EventType """ return cls("send_and_track_link_deleted", val) @classmethod def send_and_track_link_updated(cls, val): """ Create an instance of this class set to the ``send_and_track_link_updated`` tag with value ``val``. :param SendAndTrackLinkUpdatedType val: :rtype: EventType """ return cls("send_and_track_link_updated", val) @classmethod def send_and_track_link_viewed(cls, val): """ Create an instance of this class set to the ``send_and_track_link_viewed`` tag with value ``val``. :param SendAndTrackLinkViewedType val: :rtype: EventType """ return cls("send_and_track_link_viewed", val) @classmethod def send_and_track_removed_file_and_associated_links(cls, val): """ Create an instance of this class set to the ``send_and_track_removed_file_and_associated_links`` tag with value ``val``. :param SendAndTrackRemovedFileAndAssociatedLinksType val: :rtype: EventType """ return cls("send_and_track_removed_file_and_associated_links", 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_restore_invitees(cls, val): """ Create an instance of this class set to the ``shared_content_restore_invitees`` tag with value ``val``. :param SharedContentRestoreInviteesType val: :rtype: EventType """ return cls("shared_content_restore_invitees", val) @classmethod def shared_content_restore_member(cls, val): """ Create an instance of this class set to the ``shared_content_restore_member`` tag with value ``val``. :param SharedContentRestoreMemberType val: :rtype: EventType """ return cls("shared_content_restore_member", 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_remove_visitor(cls, val): """ Create an instance of this class set to the ``shared_link_remove_visitor`` tag with value ``val``. :param SharedLinkRemoveVisitorType val: :rtype: EventType """ return cls("shared_link_remove_visitor", val) @classmethod def shared_link_settings_add_expiration(cls, val): """ Create an instance of this class set to the ``shared_link_settings_add_expiration`` tag with value ``val``. :param SharedLinkSettingsAddExpirationType val: :rtype: EventType """ return cls("shared_link_settings_add_expiration", val) @classmethod def shared_link_settings_add_password(cls, val): """ Create an instance of this class set to the ``shared_link_settings_add_password`` tag with value ``val``. :param SharedLinkSettingsAddPasswordType val: :rtype: EventType """ return cls("shared_link_settings_add_password", val) @classmethod def shared_link_settings_allow_download_disabled(cls, val): """ Create an instance of this class set to the ``shared_link_settings_allow_download_disabled`` tag with value ``val``. :param SharedLinkSettingsAllowDownloadDisabledType val: :rtype: EventType """ return cls("shared_link_settings_allow_download_disabled", val) @classmethod def shared_link_settings_allow_download_enabled(cls, val): """ Create an instance of this class set to the ``shared_link_settings_allow_download_enabled`` tag with value ``val``. :param SharedLinkSettingsAllowDownloadEnabledType val: :rtype: EventType """ return cls("shared_link_settings_allow_download_enabled", val) @classmethod def shared_link_settings_change_audience(cls, val): """ Create an instance of this class set to the ``shared_link_settings_change_audience`` tag with value ``val``. :param SharedLinkSettingsChangeAudienceType val: :rtype: EventType """ return cls("shared_link_settings_change_audience", val) @classmethod def shared_link_settings_change_expiration(cls, val): """ Create an instance of this class set to the ``shared_link_settings_change_expiration`` tag with value ``val``. :param SharedLinkSettingsChangeExpirationType val: :rtype: EventType """ return cls("shared_link_settings_change_expiration", val) @classmethod def shared_link_settings_change_password(cls, val): """ Create an instance of this class set to the ``shared_link_settings_change_password`` tag with value ``val``. :param SharedLinkSettingsChangePasswordType val: :rtype: EventType """ return cls("shared_link_settings_change_password", val) @classmethod def shared_link_settings_remove_expiration(cls, val): """ Create an instance of this class set to the ``shared_link_settings_remove_expiration`` tag with value ``val``. :param SharedLinkSettingsRemoveExpirationType val: :rtype: EventType """ return cls("shared_link_settings_remove_expiration", val) @classmethod def shared_link_settings_remove_password(cls, val): """ Create an instance of this class set to the ``shared_link_settings_remove_password`` tag with value ``val``. :param SharedLinkSettingsRemovePasswordType val: :rtype: EventType """ return cls("shared_link_settings_remove_password", 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_disable_downloads(cls, val): """ Create an instance of this class set to the ``shmodel_disable_downloads`` tag with value ``val``. :param ShmodelDisableDownloadsType val: :rtype: EventType """ return cls("shmodel_disable_downloads", val) @classmethod def shmodel_enable_downloads(cls, val): """ Create an instance of this class set to the ``shmodel_enable_downloads`` tag with value ``val``. :param ShmodelEnableDownloadsType val: :rtype: EventType """ return cls("shmodel_enable_downloads", 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 sign_signature_request_canceled(cls, val): """ Create an instance of this class set to the ``sign_signature_request_canceled`` tag with value ``val``. :param SignSignatureRequestCanceledType val: :rtype: EventType """ return cls("sign_signature_request_canceled", val) @classmethod def sign_signature_request_completed(cls, val): """ Create an instance of this class set to the ``sign_signature_request_completed`` tag with value ``val``. :param SignSignatureRequestCompletedType val: :rtype: EventType """ return cls("sign_signature_request_completed", val) @classmethod def sign_signature_request_declined(cls, val): """ Create an instance of this class set to the ``sign_signature_request_declined`` tag with value ``val``. :param SignSignatureRequestDeclinedType val: :rtype: EventType """ return cls("sign_signature_request_declined", val) @classmethod def sign_signature_request_opened(cls, val): """ Create an instance of this class set to the ``sign_signature_request_opened`` tag with value ``val``. :param SignSignatureRequestOpenedType val: :rtype: EventType """ return cls("sign_signature_request_opened", val) @classmethod def sign_signature_request_reminder_sent(cls, val): """ Create an instance of this class set to the ``sign_signature_request_reminder_sent`` tag with value ``val``. :param SignSignatureRequestReminderSentType val: :rtype: EventType """ return cls("sign_signature_request_reminder_sent", val) @classmethod def sign_signature_request_sent(cls, val): """ Create an instance of this class set to the ``sign_signature_request_sent`` tag with value ``val``. :param SignSignatureRequestSentType val: :rtype: EventType """ return cls("sign_signature_request_sent", val) @classmethod def sign_template_created(cls, val): """ Create an instance of this class set to the ``sign_template_created`` tag with value ``val``. :param SignTemplateCreatedType val: :rtype: EventType """ return cls("sign_template_created", val) @classmethod def sign_template_shared(cls, val): """ Create an instance of this class set to the ``sign_template_shared`` tag with value ``val``. :param SignTemplateSharedType val: :rtype: EventType """ return cls("sign_template_shared", val) @classmethod def risc_security_event(cls, val): """ Create an instance of this class set to the ``risc_security_event`` tag with value ``val``. :param RiscSecurityEventType val: :rtype: EventType """ return cls("risc_security_event", 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_folder_space_limits_change_caps_type(cls, val): """ Create an instance of this class set to the ``team_folder_space_limits_change_caps_type`` tag with value ``val``. :param TeamFolderSpaceLimitsChangeCapsTypeType val: :rtype: EventType """ return cls("team_folder_space_limits_change_caps_type", val) @classmethod def team_folder_space_limits_change_limit(cls, val): """ Create an instance of this class set to the ``team_folder_space_limits_change_limit`` tag with value ``val``. :param TeamFolderSpaceLimitsChangeLimitType val: :rtype: EventType """ return cls("team_folder_space_limits_change_limit", val) @classmethod def team_folder_space_limits_change_notification_target(cls, val): """ Create an instance of this class set to the ``team_folder_space_limits_change_notification_target`` tag with value ``val``. :param TeamFolderSpaceLimitsChangeNotificationTargetType val: :rtype: EventType """ return cls("team_folder_space_limits_change_notification_target", 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 admin_email_reminders_changed(cls, val): """ Create an instance of this class set to the ``admin_email_reminders_changed`` tag with value ``val``. :param AdminEmailRemindersChangedType val: :rtype: EventType """ return cls("admin_email_reminders_changed", val) @classmethod def ai_third_party_sharing_dropbox_base_policy_changed(cls, val): """ Create an instance of this class set to the ``ai_third_party_sharing_dropbox_base_policy_changed`` tag with value ``val``. :param AiThirdPartySharingDropboxBasePolicyChangedType val: :rtype: EventType """ return cls("ai_third_party_sharing_dropbox_base_policy_changed", 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 apple_login_change_policy(cls, val): """ Create an instance of this class set to the ``apple_login_change_policy`` tag with value ``val``. :param AppleLoginChangePolicyType val: :rtype: EventType """ return cls("apple_login_change_policy", val) @classmethod def app_permissions_changed(cls, val): """ Create an instance of this class set to the ``app_permissions_changed`` tag with value ``val``. :param AppPermissionsChangedType val: :rtype: EventType """ return cls("app_permissions_changed", 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 capture_team_space_policy_changed(cls, val): """ Create an instance of this class set to the ``capture_team_space_policy_changed`` tag with value ``val``. :param CaptureTeamSpacePolicyChangedType val: :rtype: EventType """ return cls("capture_team_space_policy_changed", val) @classmethod def capture_transcript_policy_changed(cls, val): """ Create an instance of this class set to the ``capture_transcript_policy_changed`` tag with value ``val``. :param CaptureTranscriptPolicyChangedType val: :rtype: EventType """ return cls("capture_transcript_policy_changed", val) @classmethod def classification_change_policy(cls, val): """ Create an instance of this class set to the ``classification_change_policy`` tag with value ``val``. :param ClassificationChangePolicyType val: :rtype: EventType """ return cls("classification_change_policy", val) @classmethod def computer_backup_policy_changed(cls, val): """ Create an instance of this class set to the ``computer_backup_policy_changed`` tag with value ``val``. :param ComputerBackupPolicyChangedType val: :rtype: EventType """ return cls("computer_backup_policy_changed", val) @classmethod def content_administration_policy_changed(cls, val): """ Create an instance of this class set to the ``content_administration_policy_changed`` tag with value ``val``. :param ContentAdministrationPolicyChangedType val: :rtype: EventType """ return cls("content_administration_policy_changed", val) @classmethod def content_deletion_protection_change_policy(cls, val): """ Create an instance of this class set to the ``content_deletion_protection_change_policy`` tag with value ``val``. :param ContentDeletionProtectionChangePolicyType val: :rtype: EventType """ return cls("content_deletion_protection_change_policy", val) @classmethod def dash_external_sharing_policy_changed(cls, val): """ Create an instance of this class set to the ``dash_external_sharing_policy_changed`` tag with value ``val``. :param DashExternalSharingPolicyChangedType val: :rtype: EventType """ return cls("dash_external_sharing_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_add_exception(cls, val): """ Create an instance of this class set to the ``device_approvals_add_exception`` tag with value ``val``. :param DeviceApprovalsAddExceptionType val: :rtype: EventType """ return cls("device_approvals_add_exception", 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 device_approvals_remove_exception(cls, val): """ Create an instance of this class set to the ``device_approvals_remove_exception`` tag with value ``val``. :param DeviceApprovalsRemoveExceptionType val: :rtype: EventType """ return cls("device_approvals_remove_exception", 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 dropbox_passwords_policy_changed(cls, val): """ Create an instance of this class set to the ``dropbox_passwords_policy_changed`` tag with value ``val``. :param DropboxPasswordsPolicyChangedType val: :rtype: EventType """ return cls("dropbox_passwords_policy_changed", val) @classmethod def email_ingest_policy_changed(cls, val): """ Create an instance of this class set to the ``email_ingest_policy_changed`` tag with value ``val``. :param EmailIngestPolicyChangedType val: :rtype: EventType """ return cls("email_ingest_policy_changed", 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 external_drive_backup_policy_changed(cls, val): """ Create an instance of this class set to the ``external_drive_backup_policy_changed`` tag with value ``val``. :param ExternalDriveBackupPolicyChangedType val: :rtype: EventType """ return cls("external_drive_backup_policy_changed", 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_locking_policy_changed(cls, val): """ Create an instance of this class set to the ``file_locking_policy_changed`` tag with value ``val``. :param FileLockingPolicyChangedType val: :rtype: EventType """ return cls("file_locking_policy_changed", val) @classmethod def file_provider_migration_policy_changed(cls, val): """ Create an instance of this class set to the ``file_provider_migration_policy_changed`` tag with value ``val``. :param FileProviderMigrationPolicyChangedType val: :rtype: EventType """ return cls("file_provider_migration_policy_changed", 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 file_transfers_policy_changed(cls, val): """ Create an instance of this class set to the ``file_transfers_policy_changed`` tag with value ``val``. :param FileTransfersPolicyChangedType val: :rtype: EventType """ return cls("file_transfers_policy_changed", val) @classmethod def flexible_file_names_policy_changed(cls, val): """ Create an instance of this class set to the ``flexible_file_names_policy_changed`` tag with value ``val``. :param FlexibleFileNamesPolicyChangedType val: :rtype: EventType """ return cls("flexible_file_names_policy_changed", val) @classmethod def folder_link_restriction_policy_changed(cls, val): """ Create an instance of this class set to the ``folder_link_restriction_policy_changed`` tag with value ``val``. :param FolderLinkRestrictionPolicyChangedType val: :rtype: EventType """ return cls("folder_link_restriction_policy_changed", 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 invite_acceptance_email_policy_changed(cls, val): """ Create an instance of this class set to the ``invite_acceptance_email_policy_changed`` tag with value ``val``. :param InviteAcceptanceEmailPolicyChangedType val: :rtype: EventType """ return cls("invite_acceptance_email_policy_changed", val) @classmethod def media_hub_adding_people_policy_changed(cls, val): """ Create an instance of this class set to the ``media_hub_adding_people_policy_changed`` tag with value ``val``. :param MediaHubAddingPeoplePolicyChangedType val: :rtype: EventType """ return cls("media_hub_adding_people_policy_changed", val) @classmethod def media_hub_download_policy_changed(cls, val): """ Create an instance of this class set to the ``media_hub_download_policy_changed`` tag with value ``val``. :param MediaHubDownloadPolicyChangedType val: :rtype: EventType """ return cls("media_hub_download_policy_changed", val) @classmethod def media_hub_link_sharing_policy_changed(cls, val): """ Create an instance of this class set to the ``media_hub_link_sharing_policy_changed`` tag with value ``val``. :param MediaHubLinkSharingPolicyChangedType val: :rtype: EventType """ return cls("media_hub_link_sharing_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_send_invite_policy_changed(cls, val): """ Create an instance of this class set to the ``member_send_invite_policy_changed`` tag with value ``val``. :param MemberSendInvitePolicyChangedType val: :rtype: EventType """ return cls("member_send_invite_policy_changed", 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_login_change_policy(cls, val): """ Create an instance of this class set to the ``microsoft_login_change_policy`` tag with value ``val``. :param MicrosoftLoginChangePolicyType val: :rtype: EventType """ return cls("microsoft_login_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 multi_team_identity_policy_changed(cls, val): """ Create an instance of this class set to the ``multi_team_identity_policy_changed`` tag with value ``val``. :param MultiTeamIdentityPolicyChangedType val: :rtype: EventType """ return cls("multi_team_identity_policy_changed", 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 passkey_login_policy_changed(cls, val): """ Create an instance of this class set to the ``passkey_login_policy_changed`` tag with value ``val``. :param PasskeyLoginPolicyChangedType val: :rtype: EventType """ return cls("passkey_login_policy_changed", val) @classmethod def password_strength_requirements_change_policy(cls, val): """ Create an instance of this class set to the ``password_strength_requirements_change_policy`` tag with value ``val``. :param PasswordStrengthRequirementsChangePolicyType val: :rtype: EventType """ return cls("password_strength_requirements_change_policy", 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 previews_ai_policy_changed(cls, val): """ Create an instance of this class set to the ``previews_ai_policy_changed`` tag with value ``val``. :param PreviewsAiPolicyChangedType val: :rtype: EventType """ return cls("previews_ai_policy_changed", val) @classmethod def replay_adding_people_policy_changed(cls, val): """ Create an instance of this class set to the ``replay_adding_people_policy_changed`` tag with value ``val``. :param ReplayAddingPeoplePolicyChangedType val: :rtype: EventType """ return cls("replay_adding_people_policy_changed", val) @classmethod def replay_sharing_policy_changed(cls, val): """ Create an instance of this class set to the ``replay_sharing_policy_changed`` tag with value ``val``. :param ReplaySharingPolicyChangedType val: :rtype: EventType """ return cls("replay_sharing_policy_changed", 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 rewind_policy_changed(cls, val): """ Create an instance of this class set to the ``rewind_policy_changed`` tag with value ``val``. :param RewindPolicyChangedType val: :rtype: EventType """ return cls("rewind_policy_changed", val) @classmethod def send_and_track_policy_changed(cls, val): """ Create an instance of this class set to the ``send_and_track_policy_changed`` tag with value ``val``. :param SendAndTrackPolicyChangedType val: :rtype: EventType """ return cls("send_and_track_policy_changed", val) @classmethod def send_external_sharing_policy_changed(cls, val): """ Create an instance of this class set to the ``send_external_sharing_policy_changed`` tag with value ``val``. :param SendExternalSharingPolicyChangedType val: :rtype: EventType """ return cls("send_external_sharing_policy_changed", val) @classmethod def send_for_signature_policy_changed(cls, val): """ Create an instance of this class set to the ``send_for_signature_policy_changed`` tag with value ``val``. :param SendForSignaturePolicyChangedType val: :rtype: EventType """ return cls("send_for_signature_policy_changed", val) @classmethod def shared_link_default_permissions_policy_changed(cls, val): """ Create an instance of this class set to the ``shared_link_default_permissions_policy_changed`` tag with value ``val``. :param SharedLinkDefaultPermissionsPolicyChangedType val: :rtype: EventType """ return cls("shared_link_default_permissions_policy_changed", 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_allow_change_expiration_policy(cls, val): """ Create an instance of this class set to the ``sharing_change_link_allow_change_expiration_policy`` tag with value ``val``. :param SharingChangeLinkAllowChangeExpirationPolicyType val: :rtype: EventType """ return cls("sharing_change_link_allow_change_expiration_policy", val) @classmethod def sharing_change_link_default_expiration_policy(cls, val): """ Create an instance of this class set to the ``sharing_change_link_default_expiration_policy`` tag with value ``val``. :param SharingChangeLinkDefaultExpirationPolicyType val: :rtype: EventType """ return cls("sharing_change_link_default_expiration_policy", val) @classmethod def sharing_change_link_enforce_password_policy(cls, val): """ Create an instance of this class set to the ``sharing_change_link_enforce_password_policy`` tag with value ``val``. :param SharingChangeLinkEnforcePasswordPolicyType val: :rtype: EventType """ return cls("sharing_change_link_enforce_password_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 sign_external_sharing_policy_changed(cls, val): """ Create an instance of this class set to the ``sign_external_sharing_policy_changed`` tag with value ``val``. :param SignExternalSharingPolicyChangedType val: :rtype: EventType """ return cls("sign_external_sharing_policy_changed", val) @classmethod def sign_template_creation_permission_changed(cls, val): """ Create an instance of this class set to the ``sign_template_creation_permission_changed`` tag with value ``val``. :param SignTemplateCreationPermissionChangedType val: :rtype: EventType """ return cls("sign_template_creation_permission_changed", val) @classmethod def smarter_smart_sync_policy_changed(cls, val): """ Create an instance of this class set to the ``smarter_smart_sync_policy_changed`` tag with value ``val``. :param SmarterSmartSyncPolicyChangedType val: :rtype: EventType """ return cls("smarter_smart_sync_policy_changed", 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 stack_cross_team_access_policy_changed(cls, val): """ Create an instance of this class set to the ``stack_cross_team_access_policy_changed`` tag with value ``val``. :param StackCrossTeamAccessPolicyChangedType val: :rtype: EventType """ return cls("stack_cross_team_access_policy_changed", val) @classmethod def team_branding_policy_changed(cls, val): """ Create an instance of this class set to the ``team_branding_policy_changed`` tag with value ``val``. :param TeamBrandingPolicyChangedType val: :rtype: EventType """ return cls("team_branding_policy_changed", 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_member_storage_request_policy_changed(cls, val): """ Create an instance of this class set to the ``team_member_storage_request_policy_changed`` tag with value ``val``. :param TeamMemberStorageRequestPolicyChangedType val: :rtype: EventType """ return cls("team_member_storage_request_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 team_sharing_whitelist_subjects_changed(cls, val): """ Create an instance of this class set to the ``team_sharing_whitelist_subjects_changed`` tag with value ``val``. :param TeamSharingWhitelistSubjectsChangedType val: :rtype: EventType """ return cls("team_sharing_whitelist_subjects_changed", val) @classmethod def tfa_add_exception(cls, val): """ Create an instance of this class set to the ``tfa_add_exception`` tag with value ``val``. :param TfaAddExceptionType val: :rtype: EventType """ return cls("tfa_add_exception", 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 tfa_remove_exception(cls, val): """ Create an instance of this class set to the ``tfa_remove_exception`` tag with value ``val``. :param TfaRemoveExceptionType val: :rtype: EventType """ return cls("tfa_remove_exception", val) @classmethod def top_level_content_policy_changed(cls, val): """ Create an instance of this class set to the ``top_level_content_policy_changed`` tag with value ``val``. :param TopLevelContentPolicyChangedType val: :rtype: EventType """ return cls("top_level_content_policy_changed", 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 watermarking_policy_changed(cls, val): """ Create an instance of this class set to the ``watermarking_policy_changed`` tag with value ``val``. :param WatermarkingPolicyChangedType val: :rtype: EventType """ return cls("watermarking_policy_changed", val) @classmethod def web_sessions_change_active_session_limit(cls, val): """ Create an instance of this class set to the ``web_sessions_change_active_session_limit`` tag with value ``val``. :param WebSessionsChangeActiveSessionLimitType val: :rtype: EventType """ return cls("web_sessions_change_active_session_limit", 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 data_residency_migration_request_successful(cls, val): """ Create an instance of this class set to the ``data_residency_migration_request_successful`` tag with value ``val``. :param DataResidencyMigrationRequestSuccessfulType val: :rtype: EventType """ return cls("data_residency_migration_request_successful", val) @classmethod def data_residency_migration_request_unsuccessful(cls, val): """ Create an instance of this class set to the ``data_residency_migration_request_unsuccessful`` tag with value ``val``. :param DataResidencyMigrationRequestUnsuccessfulType val: :rtype: EventType """ return cls("data_residency_migration_request_unsuccessful", 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_background(cls, val): """ Create an instance of this class set to the ``team_profile_add_background`` tag with value ``val``. :param TeamProfileAddBackgroundType val: :rtype: EventType """ return cls("team_profile_add_background", 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_background(cls, val): """ Create an instance of this class set to the ``team_profile_change_background`` tag with value ``val``. :param TeamProfileChangeBackgroundType val: :rtype: EventType """ return cls("team_profile_change_background", 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_background(cls, val): """ Create an instance of this class set to the ``team_profile_remove_background`` tag with value ``val``. :param TeamProfileRemoveBackgroundType val: :rtype: EventType """ return cls("team_profile_remove_background", 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 passkey_add(cls, val): """ Create an instance of this class set to the ``passkey_add`` tag with value ``val``. :param PasskeyAddType val: :rtype: EventType """ return cls("passkey_add", val) @classmethod def passkey_remove(cls, val): """ Create an instance of this class set to the ``passkey_remove`` tag with value ``val``. :param PasskeyRemoveType val: :rtype: EventType """ return cls("passkey_remove", 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 changed_enterprise_admin_role(cls, val): """ Create an instance of this class set to the ``changed_enterprise_admin_role`` tag with value ``val``. :param ChangedEnterpriseAdminRoleType val: :rtype: EventType """ return cls("changed_enterprise_admin_role", val) @classmethod def changed_enterprise_connected_team_status(cls, val): """ Create an instance of this class set to the ``changed_enterprise_connected_team_status`` tag with value ``val``. :param ChangedEnterpriseConnectedTeamStatusType val: :rtype: EventType """ return cls("changed_enterprise_connected_team_status", val) @classmethod def ended_enterprise_admin_session(cls, val): """ Create an instance of this class set to the ``ended_enterprise_admin_session`` tag with value ``val``. :param EndedEnterpriseAdminSessionType val: :rtype: EventType """ return cls("ended_enterprise_admin_session", val) @classmethod def ended_enterprise_admin_session_deprecated(cls, val): """ Create an instance of this class set to the ``ended_enterprise_admin_session_deprecated`` tag with value ``val``. :param EndedEnterpriseAdminSessionDeprecatedType val: :rtype: EventType """ return cls("ended_enterprise_admin_session_deprecated", val) @classmethod def enterprise_settings_locking(cls, val): """ Create an instance of this class set to the ``enterprise_settings_locking`` tag with value ``val``. :param EnterpriseSettingsLockingType val: :rtype: EventType """ return cls("enterprise_settings_locking", 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 started_enterprise_admin_session(cls, val): """ Create an instance of this class set to the ``started_enterprise_admin_session`` tag with value ``val``. :param StartedEnterpriseAdminSessionType val: :rtype: EventType """ return cls("started_enterprise_admin_session", 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_admin_alerting_alert_state_changed(self): """ Check if the union tag is ``admin_alerting_alert_state_changed``. :rtype: bool """ return self._tag == "admin_alerting_alert_state_changed" def is_admin_alerting_changed_alert_config(self): """ Check if the union tag is ``admin_alerting_changed_alert_config``. :rtype: bool """ return self._tag == "admin_alerting_changed_alert_config" def is_admin_alerting_triggered_alert(self): """ Check if the union tag is ``admin_alerting_triggered_alert``. :rtype: bool """ return self._tag == "admin_alerting_triggered_alert" def is_ransomware_restore_process_completed(self): """ Check if the union tag is ``ransomware_restore_process_completed``. :rtype: bool """ return self._tag == "ransomware_restore_process_completed" def is_ransomware_restore_process_started(self): """ Check if the union tag is ``ransomware_restore_process_started``. :rtype: bool """ return self._tag == "ransomware_restore_process_started" def is_app_blocked_by_permissions(self): """ Check if the union tag is ``app_blocked_by_permissions``. :rtype: bool """ return self._tag == "app_blocked_by_permissions" 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_dash_added_comment_to_stack(self): """ Check if the union tag is ``dash_added_comment_to_stack``. :rtype: bool """ return self._tag == "dash_added_comment_to_stack" def is_dash_added_connector(self): """ Check if the union tag is ``dash_added_connector``. :rtype: bool """ return self._tag == "dash_added_connector" def is_dash_added_link_to_stack(self): """ Check if the union tag is ``dash_added_link_to_stack``. :rtype: bool """ return self._tag == "dash_added_link_to_stack" def is_dash_added_team_email_domain_allowlist(self): """ Check if the union tag is ``dash_added_team_email_domain_allowlist``. :rtype: bool """ return self._tag == "dash_added_team_email_domain_allowlist" def is_dash_admin_added_org_wide_connector(self): """ Check if the union tag is ``dash_admin_added_org_wide_connector``. :rtype: bool """ return self._tag == "dash_admin_added_org_wide_connector" def is_dash_admin_disabled_connector(self): """ Check if the union tag is ``dash_admin_disabled_connector``. :rtype: bool """ return self._tag == "dash_admin_disabled_connector" def is_dash_admin_enabled_connector(self): """ Check if the union tag is ``dash_admin_enabled_connector``. :rtype: bool """ return self._tag == "dash_admin_enabled_connector" def is_dash_admin_removed_org_wide_connector(self): """ Check if the union tag is ``dash_admin_removed_org_wide_connector``. :rtype: bool """ return self._tag == "dash_admin_removed_org_wide_connector" def is_dash_archived_stack(self): """ Check if the union tag is ``dash_archived_stack``. :rtype: bool """ return self._tag == "dash_archived_stack" def is_dash_changed_audience_of_shared_link_to_stack(self): """ Check if the union tag is ``dash_changed_audience_of_shared_link_to_stack``. :rtype: bool """ return self._tag == "dash_changed_audience_of_shared_link_to_stack" def is_dash_cloned_stack(self): """ Check if the union tag is ``dash_cloned_stack``. :rtype: bool """ return self._tag == "dash_cloned_stack" def is_dash_connector_tools_call(self): """ Check if the union tag is ``dash_connector_tools_call``. :rtype: bool """ return self._tag == "dash_connector_tools_call" def is_dash_created_stack(self): """ Check if the union tag is ``dash_created_stack``. :rtype: bool """ return self._tag == "dash_created_stack" def is_dash_deleted_comment_from_stack(self): """ Check if the union tag is ``dash_deleted_comment_from_stack``. :rtype: bool """ return self._tag == "dash_deleted_comment_from_stack" def is_dash_deleted_stack(self): """ Check if the union tag is ``dash_deleted_stack``. :rtype: bool """ return self._tag == "dash_deleted_stack" def is_dash_edited_comment_in_stack(self): """ Check if the union tag is ``dash_edited_comment_in_stack``. :rtype: bool """ return self._tag == "dash_edited_comment_in_stack" def is_dash_external_user_opened_stack(self): """ Check if the union tag is ``dash_external_user_opened_stack``. :rtype: bool """ return self._tag == "dash_external_user_opened_stack" def is_dash_first_launched_desktop(self): """ Check if the union tag is ``dash_first_launched_desktop``. :rtype: bool """ return self._tag == "dash_first_launched_desktop" def is_dash_first_launched_extension(self): """ Check if the union tag is ``dash_first_launched_extension``. :rtype: bool """ return self._tag == "dash_first_launched_extension" def is_dash_first_launched_web_start_page(self): """ Check if the union tag is ``dash_first_launched_web_start_page``. :rtype: bool """ return self._tag == "dash_first_launched_web_start_page" def is_dash_opened_shared_link_to_stack(self): """ Check if the union tag is ``dash_opened_shared_link_to_stack``. :rtype: bool """ return self._tag == "dash_opened_shared_link_to_stack" def is_dash_opened_stack(self): """ Check if the union tag is ``dash_opened_stack``. :rtype: bool """ return self._tag == "dash_opened_stack" def is_dash_preview_opt_out_status_changed(self): """ Check if the union tag is ``dash_preview_opt_out_status_changed``. :rtype: bool """ return self._tag == "dash_preview_opt_out_status_changed" def is_dash_removed_connector(self): """ Check if the union tag is ``dash_removed_connector``. :rtype: bool """ return self._tag == "dash_removed_connector" def is_dash_removed_link_from_stack(self): """ Check if the union tag is ``dash_removed_link_from_stack``. :rtype: bool """ return self._tag == "dash_removed_link_from_stack" def is_dash_removed_shared_link_to_stack(self): """ Check if the union tag is ``dash_removed_shared_link_to_stack``. :rtype: bool """ return self._tag == "dash_removed_shared_link_to_stack" def is_dash_removed_team_email_domain_allowlist(self): """ Check if the union tag is ``dash_removed_team_email_domain_allowlist``. :rtype: bool """ return self._tag == "dash_removed_team_email_domain_allowlist" def is_dash_renamed_stack(self): """ Check if the union tag is ``dash_renamed_stack``. :rtype: bool """ return self._tag == "dash_renamed_stack" def is_dash_shared_link_to_stack(self): """ Check if the union tag is ``dash_shared_link_to_stack``. :rtype: bool """ return self._tag == "dash_shared_link_to_stack" def is_dash_unarchived_stack(self): """ Check if the union tag is ``dash_unarchived_stack``. :rtype: bool """ return self._tag == "dash_unarchived_stack" def is_dash_viewed_company_stack(self): """ Check if the union tag is ``dash_viewed_company_stack``. :rtype: bool """ return self._tag == "dash_viewed_company_stack" def is_dash_viewed_external_ai_activity_report(self): """ Check if the union tag is ``dash_viewed_external_ai_activity_report``. :rtype: bool """ return self._tag == "dash_viewed_external_ai_activity_report" def is_governance_policy_add_folders(self): """ Check if the union tag is ``governance_policy_add_folders``. :rtype: bool """ return self._tag == "governance_policy_add_folders" def is_governance_policy_add_folder_failed(self): """ Check if the union tag is ``governance_policy_add_folder_failed``. :rtype: bool """ return self._tag == "governance_policy_add_folder_failed" def is_governance_policy_content_disposed(self): """ Check if the union tag is ``governance_policy_content_disposed``. :rtype: bool """ return self._tag == "governance_policy_content_disposed" def is_governance_policy_create(self): """ Check if the union tag is ``governance_policy_create``. :rtype: bool """ return self._tag == "governance_policy_create" def is_governance_policy_delete(self): """ Check if the union tag is ``governance_policy_delete``. :rtype: bool """ return self._tag == "governance_policy_delete" def is_governance_policy_edit_details(self): """ Check if the union tag is ``governance_policy_edit_details``. :rtype: bool """ return self._tag == "governance_policy_edit_details" def is_governance_policy_edit_duration(self): """ Check if the union tag is ``governance_policy_edit_duration``. :rtype: bool """ return self._tag == "governance_policy_edit_duration" def is_governance_policy_export_created(self): """ Check if the union tag is ``governance_policy_export_created``. :rtype: bool """ return self._tag == "governance_policy_export_created" def is_governance_policy_export_removed(self): """ Check if the union tag is ``governance_policy_export_removed``. :rtype: bool """ return self._tag == "governance_policy_export_removed" def is_governance_policy_remove_folders(self): """ Check if the union tag is ``governance_policy_remove_folders``. :rtype: bool """ return self._tag == "governance_policy_remove_folders" def is_governance_policy_report_created(self): """ Check if the union tag is ``governance_policy_report_created``. :rtype: bool """ return self._tag == "governance_policy_report_created" def is_governance_policy_zip_part_downloaded(self): """ Check if the union tag is ``governance_policy_zip_part_downloaded``. :rtype: bool """ return self._tag == "governance_policy_zip_part_downloaded" def is_legal_holds_activate_a_hold(self): """ Check if the union tag is ``legal_holds_activate_a_hold``. :rtype: bool """ return self._tag == "legal_holds_activate_a_hold" def is_legal_holds_add_members(self): """ Check if the union tag is ``legal_holds_add_members``. :rtype: bool """ return self._tag == "legal_holds_add_members" def is_legal_holds_change_hold_details(self): """ Check if the union tag is ``legal_holds_change_hold_details``. :rtype: bool """ return self._tag == "legal_holds_change_hold_details" def is_legal_holds_change_hold_name(self): """ Check if the union tag is ``legal_holds_change_hold_name``. :rtype: bool """ return self._tag == "legal_holds_change_hold_name" def is_legal_holds_export_a_hold(self): """ Check if the union tag is ``legal_holds_export_a_hold``. :rtype: bool """ return self._tag == "legal_holds_export_a_hold" def is_legal_holds_export_cancelled(self): """ Check if the union tag is ``legal_holds_export_cancelled``. :rtype: bool """ return self._tag == "legal_holds_export_cancelled" def is_legal_holds_export_downloaded(self): """ Check if the union tag is ``legal_holds_export_downloaded``. :rtype: bool """ return self._tag == "legal_holds_export_downloaded" def is_legal_holds_export_removed(self): """ Check if the union tag is ``legal_holds_export_removed``. :rtype: bool """ return self._tag == "legal_holds_export_removed" def is_legal_holds_release_a_hold(self): """ Check if the union tag is ``legal_holds_release_a_hold``. :rtype: bool """ return self._tag == "legal_holds_release_a_hold" def is_legal_holds_remove_members(self): """ Check if the union tag is ``legal_holds_remove_members``. :rtype: bool """ return self._tag == "legal_holds_remove_members" def is_legal_holds_report_a_hold(self): """ Check if the union tag is ``legal_holds_report_a_hold``. :rtype: bool """ return self._tag == "legal_holds_report_a_hold" 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_sync_backup_status_changed(self): """ Check if the union tag is ``device_sync_backup_status_changed``. :rtype: bool """ return self._tag == "device_sync_backup_status_changed" def is_device_unlink(self): """ Check if the union tag is ``device_unlink``. :rtype: bool """ return self._tag == "device_unlink" def is_dropbox_passwords_exported(self): """ Check if the union tag is ``dropbox_passwords_exported``. :rtype: bool """ return self._tag == "dropbox_passwords_exported" def is_dropbox_passwords_new_device_enrolled(self): """ Check if the union tag is ``dropbox_passwords_new_device_enrolled``. :rtype: bool """ return self._tag == "dropbox_passwords_new_device_enrolled" 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_external_drive_backup_eligibility_status_checked(self): """ Check if the union tag is ``external_drive_backup_eligibility_status_checked``. :rtype: bool """ return self._tag == "external_drive_backup_eligibility_status_checked" def is_external_drive_backup_status_changed(self): """ Check if the union tag is ``external_drive_backup_status_changed``. :rtype: bool """ return self._tag == "external_drive_backup_status_changed" 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_encrypted_folder_cancel_team_key_rotation(self): """ Check if the union tag is ``encrypted_folder_cancel_team_key_rotation``. :rtype: bool """ return self._tag == "encrypted_folder_cancel_team_key_rotation" def is_encrypted_folder_enroll_backup_key(self): """ Check if the union tag is ``encrypted_folder_enroll_backup_key``. :rtype: bool """ return self._tag == "encrypted_folder_enroll_backup_key" def is_encrypted_folder_enroll_client(self): """ Check if the union tag is ``encrypted_folder_enroll_client``. :rtype: bool """ return self._tag == "encrypted_folder_enroll_client" def is_encrypted_folder_enroll_team(self): """ Check if the union tag is ``encrypted_folder_enroll_team``. :rtype: bool """ return self._tag == "encrypted_folder_enroll_team" def is_encrypted_folder_finish_team_unenrollment(self): """ Check if the union tag is ``encrypted_folder_finish_team_unenrollment``. :rtype: bool """ return self._tag == "encrypted_folder_finish_team_unenrollment" def is_encrypted_folder_init_team_key_rotation(self): """ Check if the union tag is ``encrypted_folder_init_team_key_rotation``. :rtype: bool """ return self._tag == "encrypted_folder_init_team_key_rotation" def is_encrypted_folder_init_team_unenrollment(self): """ Check if the union tag is ``encrypted_folder_init_team_unenrollment``. :rtype: bool """ return self._tag == "encrypted_folder_init_team_unenrollment" def is_encrypted_folder_remove_backup_key(self): """ Check if the union tag is ``encrypted_folder_remove_backup_key``. :rtype: bool """ return self._tag == "encrypted_folder_remove_backup_key" def is_encrypted_folder_rotate_team_key(self): """ Check if the union tag is ``encrypted_folder_rotate_team_key``. :rtype: bool """ return self._tag == "encrypted_folder_rotate_team_key" def is_encrypted_folder_unenroll_client(self): """ Check if the union tag is ``encrypted_folder_unenroll_client``. :rtype: bool """ return self._tag == "encrypted_folder_unenroll_client" def is_team_encryption_key_activate_key(self): """ Check if the union tag is ``team_encryption_key_activate_key``. :rtype: bool """ return self._tag == "team_encryption_key_activate_key" def is_team_encryption_key_cancel_key_deletion(self): """ Check if the union tag is ``team_encryption_key_cancel_key_deletion``. :rtype: bool """ return self._tag == "team_encryption_key_cancel_key_deletion" def is_team_encryption_key_create_key(self): """ Check if the union tag is ``team_encryption_key_create_key``. :rtype: bool """ return self._tag == "team_encryption_key_create_key" def is_team_encryption_key_deactivate_key(self): """ Check if the union tag is ``team_encryption_key_deactivate_key``. :rtype: bool """ return self._tag == "team_encryption_key_deactivate_key" def is_team_encryption_key_delete_key(self): """ Check if the union tag is ``team_encryption_key_delete_key``. :rtype: bool """ return self._tag == "team_encryption_key_delete_key" def is_team_encryption_key_disable_key(self): """ Check if the union tag is ``team_encryption_key_disable_key``. :rtype: bool """ return self._tag == "team_encryption_key_disable_key" def is_team_encryption_key_enable_key(self): """ Check if the union tag is ``team_encryption_key_enable_key``. :rtype: bool """ return self._tag == "team_encryption_key_enable_key" def is_team_encryption_key_rotate_key(self): """ Check if the union tag is ``team_encryption_key_rotate_key``. :rtype: bool """ return self._tag == "team_encryption_key_rotate_key" def is_team_encryption_key_schedule_key_deletion(self): """ Check if the union tag is ``team_encryption_key_schedule_key_deletion``. :rtype: bool """ return self._tag == "team_encryption_key_schedule_key_deletion" def is_apply_naming_convention(self): """ Check if the union tag is ``apply_naming_convention``. :rtype: bool """ return self._tag == "apply_naming_convention" 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_add_from_automation(self): """ Check if the union tag is ``file_add_from_automation``. :rtype: bool """ return self._tag == "file_add_from_automation" 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_locking_lock_status_changed(self): """ Check if the union tag is ``file_locking_lock_status_changed``. :rtype: bool """ return self._tag == "file_locking_lock_status_changed" 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_folder_overview_description_changed(self): """ Check if the union tag is ``folder_overview_description_changed``. :rtype: bool """ return self._tag == "folder_overview_description_changed" def is_folder_overview_item_pinned(self): """ Check if the union tag is ``folder_overview_item_pinned``. :rtype: bool """ return self._tag == "folder_overview_item_pinned" def is_folder_overview_item_unpinned(self): """ Check if the union tag is ``folder_overview_item_unpinned``. :rtype: bool """ return self._tag == "folder_overview_item_unpinned" def is_media_hub_file_downloaded(self): """ Check if the union tag is ``media_hub_file_downloaded``. :rtype: bool """ return self._tag == "media_hub_file_downloaded" def is_object_label_added(self): """ Check if the union tag is ``object_label_added``. :rtype: bool """ return self._tag == "object_label_added" def is_object_label_removed(self): """ Check if the union tag is ``object_label_removed``. :rtype: bool """ return self._tag == "object_label_removed" def is_object_label_updated_value(self): """ Check if the union tag is ``object_label_updated_value``. :rtype: bool """ return self._tag == "object_label_updated_value" def is_organize_folder_with_tidy(self): """ Check if the union tag is ``organize_folder_with_tidy``. :rtype: bool """ return self._tag == "organize_folder_with_tidy" def is_replay_file_delete(self): """ Check if the union tag is ``replay_file_delete``. :rtype: bool """ return self._tag == "replay_file_delete" def is_replay_file_downloaded(self): """ Check if the union tag is ``replay_file_downloaded``. :rtype: bool """ return self._tag == "replay_file_downloaded" def is_replay_team_project_created(self): """ Check if the union tag is ``replay_team_project_created``. :rtype: bool """ return self._tag == "replay_team_project_created" def is_rewind_folder(self): """ Check if the union tag is ``rewind_folder``. :rtype: bool """ return self._tag == "rewind_folder" def is_undo_naming_convention(self): """ Check if the union tag is ``undo_naming_convention``. :rtype: bool """ return self._tag == "undo_naming_convention" def is_undo_organize_folder_with_tidy(self): """ Check if the union tag is ``undo_organize_folder_with_tidy``. :rtype: bool """ return self._tag == "undo_organize_folder_with_tidy" def is_user_tags_added(self): """ Check if the union tag is ``user_tags_added``. :rtype: bool """ return self._tag == "user_tags_added" def is_user_tags_removed(self): """ Check if the union tag is ``user_tags_removed``. :rtype: bool """ return self._tag == "user_tags_removed" def is_email_ingest_receive_file(self): """ Check if the union tag is ``email_ingest_receive_file``. :rtype: bool """ return self._tag == "email_ingest_receive_file" def is_file_request_auto_close(self): """ Check if the union tag is ``file_request_auto_close``. :rtype: bool """ return self._tag == "file_request_auto_close" 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_external_sharing_setting_override_changed(self): """ Check if the union tag is ``group_external_sharing_setting_override_changed``. :rtype: bool """ return self._tag == "group_external_sharing_setting_override_changed" 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_account_lock_or_unlocked(self): """ Check if the union tag is ``account_lock_or_unlocked``. :rtype: bool """ return self._tag == "account_lock_or_unlocked" 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_addon_assigned(self): """ Check if the union tag is ``addon_assigned``. :rtype: bool """ return self._tag == "addon_assigned" def is_addon_removed(self): """ Check if the union tag is ``addon_removed``. :rtype: bool """ return self._tag == "addon_removed" def is_backup_admin_invitation_sent(self): """ Check if the union tag is ``backup_admin_invitation_sent``. :rtype: bool """ return self._tag == "backup_admin_invitation_sent" def is_backup_invitation_opened(self): """ Check if the union tag is ``backup_invitation_opened``. :rtype: bool """ return self._tag == "backup_invitation_opened" def is_create_team_invite_link(self): """ Check if the union tag is ``create_team_invite_link``. :rtype: bool """ return self._tag == "create_team_invite_link" def is_delete_team_invite_link(self): """ Check if the union tag is ``delete_team_invite_link``. :rtype: bool """ return self._tag == "delete_team_invite_link" 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_reseller_role(self): """ Check if the union tag is ``member_change_reseller_role``. :rtype: bool """ return self._tag == "member_change_reseller_role" 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_delete_profile_photo(self): """ Check if the union tag is ``member_delete_profile_photo``. :rtype: bool """ return self._tag == "member_delete_profile_photo" 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_set_profile_photo(self): """ Check if the union tag is ``member_set_profile_photo``. :rtype: bool """ return self._tag == "member_set_profile_photo" 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_pending_secondary_email_added(self): """ Check if the union tag is ``pending_secondary_email_added``. :rtype: bool """ return self._tag == "pending_secondary_email_added" def is_product_assigned_to_member(self): """ Check if the union tag is ``product_assigned_to_member``. :rtype: bool """ return self._tag == "product_assigned_to_member" def is_product_removed_from_member(self): """ Check if the union tag is ``product_removed_from_member``. :rtype: bool """ return self._tag == "product_removed_from_member" def is_secondary_email_deleted(self): """ Check if the union tag is ``secondary_email_deleted``. :rtype: bool """ return self._tag == "secondary_email_deleted" def is_secondary_email_verified(self): """ Check if the union tag is ``secondary_email_verified``. :rtype: bool """ return self._tag == "secondary_email_verified" 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_binder_add_page(self): """ Check if the union tag is ``binder_add_page``. :rtype: bool """ return self._tag == "binder_add_page" def is_binder_add_section(self): """ Check if the union tag is ``binder_add_section``. :rtype: bool """ return self._tag == "binder_add_section" def is_binder_remove_page(self): """ Check if the union tag is ``binder_remove_page``. :rtype: bool """ return self._tag == "binder_remove_page" def is_binder_remove_section(self): """ Check if the union tag is ``binder_remove_section``. :rtype: bool """ return self._tag == "binder_remove_section" def is_binder_rename_page(self): """ Check if the union tag is ``binder_rename_page``. :rtype: bool """ return self._tag == "binder_rename_page" def is_binder_rename_section(self): """ Check if the union tag is ``binder_rename_section``. :rtype: bool """ return self._tag == "binder_rename_section" def is_binder_reorder_page(self): """ Check if the union tag is ``binder_reorder_page``. :rtype: bool """ return self._tag == "binder_reorder_page" def is_binder_reorder_section(self): """ Check if the union tag is ``binder_reorder_section``. :rtype: bool """ return self._tag == "binder_reorder_section" 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_change_permission(self): """ Check if the union tag is ``paper_published_link_change_permission``. :rtype: bool """ return self._tag == "paper_published_link_change_permission" 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_protect_internal_domains_changed(self): """ Check if the union tag is ``protect_internal_domains_changed``. :rtype: bool """ return self._tag == "protect_internal_domains_changed" def is_classification_create_report(self): """ Check if the union tag is ``classification_create_report``. :rtype: bool """ return self._tag == "classification_create_report" def is_classification_create_report_fail(self): """ Check if the union tag is ``classification_create_report_fail``. :rtype: bool """ return self._tag == "classification_create_report_fail" 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_export_members_report_fail(self): """ Check if the union tag is ``export_members_report_fail``. :rtype: bool """ return self._tag == "export_members_report_fail" def is_external_sharing_create_report(self): """ Check if the union tag is ``external_sharing_create_report``. :rtype: bool """ return self._tag == "external_sharing_create_report" def is_external_sharing_report_failed(self): """ Check if the union tag is ``external_sharing_report_failed``. :rtype: bool """ return self._tag == "external_sharing_report_failed" def is_member_access_details_create_report(self): """ Check if the union tag is ``member_access_details_create_report``. :rtype: bool """ return self._tag == "member_access_details_create_report" def is_member_access_details_create_report_failed(self): """ Check if the union tag is ``member_access_details_create_report_failed``. :rtype: bool """ return self._tag == "member_access_details_create_report_failed" def is_no_expiration_link_gen_create_report(self): """ Check if the union tag is ``no_expiration_link_gen_create_report``. :rtype: bool """ return self._tag == "no_expiration_link_gen_create_report" def is_no_expiration_link_gen_report_failed(self): """ Check if the union tag is ``no_expiration_link_gen_report_failed``. :rtype: bool """ return self._tag == "no_expiration_link_gen_report_failed" def is_no_password_link_gen_create_report(self): """ Check if the union tag is ``no_password_link_gen_create_report``. :rtype: bool """ return self._tag == "no_password_link_gen_create_report" def is_no_password_link_gen_report_failed(self): """ Check if the union tag is ``no_password_link_gen_report_failed``. :rtype: bool """ return self._tag == "no_password_link_gen_report_failed" def is_no_password_link_view_create_report(self): """ Check if the union tag is ``no_password_link_view_create_report``. :rtype: bool """ return self._tag == "no_password_link_view_create_report" def is_no_password_link_view_report_failed(self): """ Check if the union tag is ``no_password_link_view_report_failed``. :rtype: bool """ return self._tag == "no_password_link_view_report_failed" def is_outdated_link_view_create_report(self): """ Check if the union tag is ``outdated_link_view_create_report``. :rtype: bool """ return self._tag == "outdated_link_view_create_report" def is_outdated_link_view_report_failed(self): """ Check if the union tag is ``outdated_link_view_report_failed``. :rtype: bool """ return self._tag == "outdated_link_view_report_failed" 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_ransomware_alert_create_report(self): """ Check if the union tag is ``ransomware_alert_create_report``. :rtype: bool """ return self._tag == "ransomware_alert_create_report" def is_ransomware_alert_create_report_failed(self): """ Check if the union tag is ``ransomware_alert_create_report_failed``. :rtype: bool """ return self._tag == "ransomware_alert_create_report_failed" def is_shared_folders_create_report(self): """ Check if the union tag is ``shared_folders_create_report``. :rtype: bool """ return self._tag == "shared_folders_create_report" def is_shared_folders_create_report_failed(self): """ Check if the union tag is ``shared_folders_create_report_failed``. :rtype: bool """ return self._tag == "shared_folders_create_report_failed" 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_team_folders_create_report(self): """ Check if the union tag is ``team_folders_create_report``. :rtype: bool """ return self._tag == "team_folders_create_report" def is_team_folders_create_report_failed(self): """ Check if the union tag is ``team_folders_create_report_failed``. :rtype: bool """ return self._tag == "team_folders_create_report_failed" def is_team_storage_create_report(self): """ Check if the union tag is ``team_storage_create_report``. :rtype: bool """ return self._tag == "team_storage_create_report" def is_team_storage_create_report_failed(self): """ Check if the union tag is ``team_storage_create_report_failed``. :rtype: bool """ return self._tag == "team_storage_create_report_failed" def is_collection_share(self): """ Check if the union tag is ``collection_share``. :rtype: bool """ return self._tag == "collection_share" def is_file_transfers_file_add(self): """ Check if the union tag is ``file_transfers_file_add``. :rtype: bool """ return self._tag == "file_transfers_file_add" def is_file_transfers_transfer_delete(self): """ Check if the union tag is ``file_transfers_transfer_delete``. :rtype: bool """ return self._tag == "file_transfers_transfer_delete" def is_file_transfers_transfer_download(self): """ Check if the union tag is ``file_transfers_transfer_download``. :rtype: bool """ return self._tag == "file_transfers_transfer_download" def is_file_transfers_transfer_send(self): """ Check if the union tag is ``file_transfers_transfer_send``. :rtype: bool """ return self._tag == "file_transfers_transfer_send" def is_file_transfers_transfer_view(self): """ Check if the union tag is ``file_transfers_transfer_view``. :rtype: bool """ return self._tag == "file_transfers_transfer_view" def is_media_hub_project_team_add(self): """ Check if the union tag is ``media_hub_project_team_add``. :rtype: bool """ return self._tag == "media_hub_project_team_add" def is_media_hub_project_team_delete(self): """ Check if the union tag is ``media_hub_project_team_delete``. :rtype: bool """ return self._tag == "media_hub_project_team_delete" def is_media_hub_project_team_role_changed(self): """ Check if the union tag is ``media_hub_project_team_role_changed``. :rtype: bool """ return self._tag == "media_hub_project_team_role_changed" def is_media_hub_shared_link_audience_changed(self): """ Check if the union tag is ``media_hub_shared_link_audience_changed``. :rtype: bool """ return self._tag == "media_hub_shared_link_audience_changed" def is_media_hub_shared_link_created(self): """ Check if the union tag is ``media_hub_shared_link_created``. :rtype: bool """ return self._tag == "media_hub_shared_link_created" def is_media_hub_shared_link_download_setting_changed(self): """ Check if the union tag is ``media_hub_shared_link_download_setting_changed``. :rtype: bool """ return self._tag == "media_hub_shared_link_download_setting_changed" def is_media_hub_shared_link_revoked(self): """ Check if the union tag is ``media_hub_shared_link_revoked``. :rtype: bool """ return self._tag == "media_hub_shared_link_revoked" 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_replay_file_shared_link_created(self): """ Check if the union tag is ``replay_file_shared_link_created``. :rtype: bool """ return self._tag == "replay_file_shared_link_created" def is_replay_file_shared_link_modified(self): """ Check if the union tag is ``replay_file_shared_link_modified``. :rtype: bool """ return self._tag == "replay_file_shared_link_modified" def is_replay_project_team_add(self): """ Check if the union tag is ``replay_project_team_add``. :rtype: bool """ return self._tag == "replay_project_team_add" def is_replay_project_team_delete(self): """ Check if the union tag is ``replay_project_team_delete``. :rtype: bool """ return self._tag == "replay_project_team_delete" def is_send_and_track_file_added(self): """ Check if the union tag is ``send_and_track_file_added``. :rtype: bool """ return self._tag == "send_and_track_file_added" def is_send_and_track_file_renamed(self): """ Check if the union tag is ``send_and_track_file_renamed``. :rtype: bool """ return self._tag == "send_and_track_file_renamed" def is_send_and_track_file_updated(self): """ Check if the union tag is ``send_and_track_file_updated``. :rtype: bool """ return self._tag == "send_and_track_file_updated" def is_send_and_track_link_created(self): """ Check if the union tag is ``send_and_track_link_created``. :rtype: bool """ return self._tag == "send_and_track_link_created" def is_send_and_track_link_deleted(self): """ Check if the union tag is ``send_and_track_link_deleted``. :rtype: bool """ return self._tag == "send_and_track_link_deleted" def is_send_and_track_link_updated(self): """ Check if the union tag is ``send_and_track_link_updated``. :rtype: bool """ return self._tag == "send_and_track_link_updated" def is_send_and_track_link_viewed(self): """ Check if the union tag is ``send_and_track_link_viewed``. :rtype: bool """ return self._tag == "send_and_track_link_viewed" def is_send_and_track_removed_file_and_associated_links(self): """ Check if the union tag is ``send_and_track_removed_file_and_associated_links``. :rtype: bool """ return self._tag == "send_and_track_removed_file_and_associated_links" 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_restore_invitees(self): """ Check if the union tag is ``shared_content_restore_invitees``. :rtype: bool """ return self._tag == "shared_content_restore_invitees" def is_shared_content_restore_member(self): """ Check if the union tag is ``shared_content_restore_member``. :rtype: bool """ return self._tag == "shared_content_restore_member" 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_remove_visitor(self): """ Check if the union tag is ``shared_link_remove_visitor``. :rtype: bool """ return self._tag == "shared_link_remove_visitor" def is_shared_link_settings_add_expiration(self): """ Check if the union tag is ``shared_link_settings_add_expiration``. :rtype: bool """ return self._tag == "shared_link_settings_add_expiration" def is_shared_link_settings_add_password(self): """ Check if the union tag is ``shared_link_settings_add_password``. :rtype: bool """ return self._tag == "shared_link_settings_add_password" def is_shared_link_settings_allow_download_disabled(self): """ Check if the union tag is ``shared_link_settings_allow_download_disabled``. :rtype: bool """ return self._tag == "shared_link_settings_allow_download_disabled" def is_shared_link_settings_allow_download_enabled(self): """ Check if the union tag is ``shared_link_settings_allow_download_enabled``. :rtype: bool """ return self._tag == "shared_link_settings_allow_download_enabled" def is_shared_link_settings_change_audience(self): """ Check if the union tag is ``shared_link_settings_change_audience``. :rtype: bool """ return self._tag == "shared_link_settings_change_audience" def is_shared_link_settings_change_expiration(self): """ Check if the union tag is ``shared_link_settings_change_expiration``. :rtype: bool """ return self._tag == "shared_link_settings_change_expiration" def is_shared_link_settings_change_password(self): """ Check if the union tag is ``shared_link_settings_change_password``. :rtype: bool """ return self._tag == "shared_link_settings_change_password" def is_shared_link_settings_remove_expiration(self): """ Check if the union tag is ``shared_link_settings_remove_expiration``. :rtype: bool """ return self._tag == "shared_link_settings_remove_expiration" def is_shared_link_settings_remove_password(self): """ Check if the union tag is ``shared_link_settings_remove_password``. :rtype: bool """ return self._tag == "shared_link_settings_remove_password" 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_disable_downloads(self): """ Check if the union tag is ``shmodel_disable_downloads``. :rtype: bool """ return self._tag == "shmodel_disable_downloads" def is_shmodel_enable_downloads(self): """ Check if the union tag is ``shmodel_enable_downloads``. :rtype: bool """ return self._tag == "shmodel_enable_downloads" 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_sign_signature_request_canceled(self): """ Check if the union tag is ``sign_signature_request_canceled``. :rtype: bool """ return self._tag == "sign_signature_request_canceled" def is_sign_signature_request_completed(self): """ Check if the union tag is ``sign_signature_request_completed``. :rtype: bool """ return self._tag == "sign_signature_request_completed" def is_sign_signature_request_declined(self): """ Check if the union tag is ``sign_signature_request_declined``. :rtype: bool """ return self._tag == "sign_signature_request_declined" def is_sign_signature_request_opened(self): """ Check if the union tag is ``sign_signature_request_opened``. :rtype: bool """ return self._tag == "sign_signature_request_opened" def is_sign_signature_request_reminder_sent(self): """ Check if the union tag is ``sign_signature_request_reminder_sent``. :rtype: bool """ return self._tag == "sign_signature_request_reminder_sent" def is_sign_signature_request_sent(self): """ Check if the union tag is ``sign_signature_request_sent``. :rtype: bool """ return self._tag == "sign_signature_request_sent" def is_sign_template_created(self): """ Check if the union tag is ``sign_template_created``. :rtype: bool """ return self._tag == "sign_template_created" def is_sign_template_shared(self): """ Check if the union tag is ``sign_template_shared``. :rtype: bool """ return self._tag == "sign_template_shared" def is_risc_security_event(self): """ Check if the union tag is ``risc_security_event``. :rtype: bool """ return self._tag == "risc_security_event" 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_folder_space_limits_change_caps_type(self): """ Check if the union tag is ``team_folder_space_limits_change_caps_type``. :rtype: bool """ return self._tag == "team_folder_space_limits_change_caps_type" def is_team_folder_space_limits_change_limit(self): """ Check if the union tag is ``team_folder_space_limits_change_limit``. :rtype: bool """ return self._tag == "team_folder_space_limits_change_limit" def is_team_folder_space_limits_change_notification_target(self): """ Check if the union tag is ``team_folder_space_limits_change_notification_target``. :rtype: bool """ return self._tag == "team_folder_space_limits_change_notification_target" 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_admin_email_reminders_changed(self): """ Check if the union tag is ``admin_email_reminders_changed``. :rtype: bool """ return self._tag == "admin_email_reminders_changed" def is_ai_third_party_sharing_dropbox_base_policy_changed(self): """ Check if the union tag is ``ai_third_party_sharing_dropbox_base_policy_changed``. :rtype: bool """ return self._tag == "ai_third_party_sharing_dropbox_base_policy_changed" 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_apple_login_change_policy(self): """ Check if the union tag is ``apple_login_change_policy``. :rtype: bool """ return self._tag == "apple_login_change_policy" def is_app_permissions_changed(self): """ Check if the union tag is ``app_permissions_changed``. :rtype: bool """ return self._tag == "app_permissions_changed" 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_capture_team_space_policy_changed(self): """ Check if the union tag is ``capture_team_space_policy_changed``. :rtype: bool """ return self._tag == "capture_team_space_policy_changed" def is_capture_transcript_policy_changed(self): """ Check if the union tag is ``capture_transcript_policy_changed``. :rtype: bool """ return self._tag == "capture_transcript_policy_changed" def is_classification_change_policy(self): """ Check if the union tag is ``classification_change_policy``. :rtype: bool """ return self._tag == "classification_change_policy" def is_computer_backup_policy_changed(self): """ Check if the union tag is ``computer_backup_policy_changed``. :rtype: bool """ return self._tag == "computer_backup_policy_changed" def is_content_administration_policy_changed(self): """ Check if the union tag is ``content_administration_policy_changed``. :rtype: bool """ return self._tag == "content_administration_policy_changed" def is_content_deletion_protection_change_policy(self): """ Check if the union tag is ``content_deletion_protection_change_policy``. :rtype: bool """ return self._tag == "content_deletion_protection_change_policy" def is_dash_external_sharing_policy_changed(self): """ Check if the union tag is ``dash_external_sharing_policy_changed``. :rtype: bool """ return self._tag == "dash_external_sharing_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_add_exception(self): """ Check if the union tag is ``device_approvals_add_exception``. :rtype: bool """ return self._tag == "device_approvals_add_exception" 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_device_approvals_remove_exception(self): """ Check if the union tag is ``device_approvals_remove_exception``. :rtype: bool """ return self._tag == "device_approvals_remove_exception" 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_dropbox_passwords_policy_changed(self): """ Check if the union tag is ``dropbox_passwords_policy_changed``. :rtype: bool """ return self._tag == "dropbox_passwords_policy_changed" def is_email_ingest_policy_changed(self): """ Check if the union tag is ``email_ingest_policy_changed``. :rtype: bool """ return self._tag == "email_ingest_policy_changed" 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_external_drive_backup_policy_changed(self): """ Check if the union tag is ``external_drive_backup_policy_changed``. :rtype: bool """ return self._tag == "external_drive_backup_policy_changed" 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_locking_policy_changed(self): """ Check if the union tag is ``file_locking_policy_changed``. :rtype: bool """ return self._tag == "file_locking_policy_changed" def is_file_provider_migration_policy_changed(self): """ Check if the union tag is ``file_provider_migration_policy_changed``. :rtype: bool """ return self._tag == "file_provider_migration_policy_changed" 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_file_transfers_policy_changed(self): """ Check if the union tag is ``file_transfers_policy_changed``. :rtype: bool """ return self._tag == "file_transfers_policy_changed" def is_flexible_file_names_policy_changed(self): """ Check if the union tag is ``flexible_file_names_policy_changed``. :rtype: bool """ return self._tag == "flexible_file_names_policy_changed" def is_folder_link_restriction_policy_changed(self): """ Check if the union tag is ``folder_link_restriction_policy_changed``. :rtype: bool """ return self._tag == "folder_link_restriction_policy_changed" 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_invite_acceptance_email_policy_changed(self): """ Check if the union tag is ``invite_acceptance_email_policy_changed``. :rtype: bool """ return self._tag == "invite_acceptance_email_policy_changed" def is_media_hub_adding_people_policy_changed(self): """ Check if the union tag is ``media_hub_adding_people_policy_changed``. :rtype: bool """ return self._tag == "media_hub_adding_people_policy_changed" def is_media_hub_download_policy_changed(self): """ Check if the union tag is ``media_hub_download_policy_changed``. :rtype: bool """ return self._tag == "media_hub_download_policy_changed" def is_media_hub_link_sharing_policy_changed(self): """ Check if the union tag is ``media_hub_link_sharing_policy_changed``. :rtype: bool """ return self._tag == "media_hub_link_sharing_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_send_invite_policy_changed(self): """ Check if the union tag is ``member_send_invite_policy_changed``. :rtype: bool """ return self._tag == "member_send_invite_policy_changed" 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_login_change_policy(self): """ Check if the union tag is ``microsoft_login_change_policy``. :rtype: bool """ return self._tag == "microsoft_login_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_multi_team_identity_policy_changed(self): """ Check if the union tag is ``multi_team_identity_policy_changed``. :rtype: bool """ return self._tag == "multi_team_identity_policy_changed" 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_passkey_login_policy_changed(self): """ Check if the union tag is ``passkey_login_policy_changed``. :rtype: bool """ return self._tag == "passkey_login_policy_changed" def is_password_strength_requirements_change_policy(self): """ Check if the union tag is ``password_strength_requirements_change_policy``. :rtype: bool """ return self._tag == "password_strength_requirements_change_policy" def is_permanent_delete_change_policy(self): """ Check if the union tag is ``permanent_delete_change_policy``. :rtype: bool """ return self._tag == "permanent_delete_change_policy" def is_previews_ai_policy_changed(self): """ Check if the union tag is ``previews_ai_policy_changed``. :rtype: bool """ return self._tag == "previews_ai_policy_changed" def is_replay_adding_people_policy_changed(self): """ Check if the union tag is ``replay_adding_people_policy_changed``. :rtype: bool """ return self._tag == "replay_adding_people_policy_changed" def is_replay_sharing_policy_changed(self): """ Check if the union tag is ``replay_sharing_policy_changed``. :rtype: bool """ return self._tag == "replay_sharing_policy_changed" 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_rewind_policy_changed(self): """ Check if the union tag is ``rewind_policy_changed``. :rtype: bool """ return self._tag == "rewind_policy_changed" def is_send_and_track_policy_changed(self): """ Check if the union tag is ``send_and_track_policy_changed``. :rtype: bool """ return self._tag == "send_and_track_policy_changed" def is_send_external_sharing_policy_changed(self): """ Check if the union tag is ``send_external_sharing_policy_changed``. :rtype: bool """ return self._tag == "send_external_sharing_policy_changed" def is_send_for_signature_policy_changed(self): """ Check if the union tag is ``send_for_signature_policy_changed``. :rtype: bool """ return self._tag == "send_for_signature_policy_changed" def is_shared_link_default_permissions_policy_changed(self): """ Check if the union tag is ``shared_link_default_permissions_policy_changed``. :rtype: bool """ return self._tag == "shared_link_default_permissions_policy_changed" 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_allow_change_expiration_policy(self): """ Check if the union tag is ``sharing_change_link_allow_change_expiration_policy``. :rtype: bool """ return self._tag == "sharing_change_link_allow_change_expiration_policy" def is_sharing_change_link_default_expiration_policy(self): """ Check if the union tag is ``sharing_change_link_default_expiration_policy``. :rtype: bool """ return self._tag == "sharing_change_link_default_expiration_policy" def is_sharing_change_link_enforce_password_policy(self): """ Check if the union tag is ``sharing_change_link_enforce_password_policy``. :rtype: bool """ return self._tag == "sharing_change_link_enforce_password_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_sign_external_sharing_policy_changed(self): """ Check if the union tag is ``sign_external_sharing_policy_changed``. :rtype: bool """ return self._tag == "sign_external_sharing_policy_changed" def is_sign_template_creation_permission_changed(self): """ Check if the union tag is ``sign_template_creation_permission_changed``. :rtype: bool """ return self._tag == "sign_template_creation_permission_changed" def is_smarter_smart_sync_policy_changed(self): """ Check if the union tag is ``smarter_smart_sync_policy_changed``. :rtype: bool """ return self._tag == "smarter_smart_sync_policy_changed" 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_stack_cross_team_access_policy_changed(self): """ Check if the union tag is ``stack_cross_team_access_policy_changed``. :rtype: bool """ return self._tag == "stack_cross_team_access_policy_changed" def is_team_branding_policy_changed(self): """ Check if the union tag is ``team_branding_policy_changed``. :rtype: bool """ return self._tag == "team_branding_policy_changed" 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_member_storage_request_policy_changed(self): """ Check if the union tag is ``team_member_storage_request_policy_changed``. :rtype: bool """ return self._tag == "team_member_storage_request_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_team_sharing_whitelist_subjects_changed(self): """ Check if the union tag is ``team_sharing_whitelist_subjects_changed``. :rtype: bool """ return self._tag == "team_sharing_whitelist_subjects_changed" def is_tfa_add_exception(self): """ Check if the union tag is ``tfa_add_exception``. :rtype: bool """ return self._tag == "tfa_add_exception" 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_tfa_remove_exception(self): """ Check if the union tag is ``tfa_remove_exception``. :rtype: bool """ return self._tag == "tfa_remove_exception" def is_top_level_content_policy_changed(self): """ Check if the union tag is ``top_level_content_policy_changed``. :rtype: bool """ return self._tag == "top_level_content_policy_changed" 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_watermarking_policy_changed(self): """ Check if the union tag is ``watermarking_policy_changed``. :rtype: bool """ return self._tag == "watermarking_policy_changed" def is_web_sessions_change_active_session_limit(self): """ Check if the union tag is ``web_sessions_change_active_session_limit``. :rtype: bool """ return self._tag == "web_sessions_change_active_session_limit" 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_data_residency_migration_request_successful(self): """ Check if the union tag is ``data_residency_migration_request_successful``. :rtype: bool """ return self._tag == "data_residency_migration_request_successful" def is_data_residency_migration_request_unsuccessful(self): """ Check if the union tag is ``data_residency_migration_request_unsuccessful``. :rtype: bool """ return self._tag == "data_residency_migration_request_unsuccessful" 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_background(self): """ Check if the union tag is ``team_profile_add_background``. :rtype: bool """ return self._tag == "team_profile_add_background" 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_background(self): """ Check if the union tag is ``team_profile_change_background``. :rtype: bool """ return self._tag == "team_profile_change_background" 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_background(self): """ Check if the union tag is ``team_profile_remove_background``. :rtype: bool """ return self._tag == "team_profile_remove_background" 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_passkey_add(self): """ Check if the union tag is ``passkey_add``. :rtype: bool """ return self._tag == "passkey_add" def is_passkey_remove(self): """ Check if the union tag is ``passkey_remove``. :rtype: bool """ return self._tag == "passkey_remove" 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_changed_enterprise_admin_role(self): """ Check if the union tag is ``changed_enterprise_admin_role``. :rtype: bool """ return self._tag == "changed_enterprise_admin_role" def is_changed_enterprise_connected_team_status(self): """ Check if the union tag is ``changed_enterprise_connected_team_status``. :rtype: bool """ return self._tag == "changed_enterprise_connected_team_status" def is_ended_enterprise_admin_session(self): """ Check if the union tag is ``ended_enterprise_admin_session``. :rtype: bool """ return self._tag == "ended_enterprise_admin_session" def is_ended_enterprise_admin_session_deprecated(self): """ Check if the union tag is ``ended_enterprise_admin_session_deprecated``. :rtype: bool """ return self._tag == "ended_enterprise_admin_session_deprecated" def is_enterprise_settings_locking(self): """ Check if the union tag is ``enterprise_settings_locking``. :rtype: bool """ return self._tag == "enterprise_settings_locking" 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_started_enterprise_admin_session(self): """ Check if the union tag is ``started_enterprise_admin_session``. :rtype: bool """ return self._tag == "started_enterprise_admin_session" 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_admin_alerting_alert_state_changed(self): """ (admin_alerting) Changed an alert state Only call this if :meth:`is_admin_alerting_alert_state_changed` is true. :rtype: AdminAlertingAlertStateChangedType """ if not self.is_admin_alerting_alert_state_changed(): raise AttributeError("tag 'admin_alerting_alert_state_changed' not set") return self._value def get_admin_alerting_changed_alert_config(self): """ (admin_alerting) Changed an alert setting Only call this if :meth:`is_admin_alerting_changed_alert_config` is true. :rtype: AdminAlertingChangedAlertConfigType """ if not self.is_admin_alerting_changed_alert_config(): raise AttributeError("tag 'admin_alerting_changed_alert_config' not set") return self._value def get_admin_alerting_triggered_alert(self): """ (admin_alerting) Triggered security alert Only call this if :meth:`is_admin_alerting_triggered_alert` is true. :rtype: AdminAlertingTriggeredAlertType """ if not self.is_admin_alerting_triggered_alert(): raise AttributeError("tag 'admin_alerting_triggered_alert' not set") return self._value def get_ransomware_restore_process_completed(self): """ (admin_alerting) Completed ransomware restore process Only call this if :meth:`is_ransomware_restore_process_completed` is true. :rtype: RansomwareRestoreProcessCompletedType """ if not self.is_ransomware_restore_process_completed(): raise AttributeError("tag 'ransomware_restore_process_completed' not set") return self._value def get_ransomware_restore_process_started(self): """ (admin_alerting) Started ransomware restore process Only call this if :meth:`is_ransomware_restore_process_started` is true. :rtype: RansomwareRestoreProcessStartedType """ if not self.is_ransomware_restore_process_started(): raise AttributeError("tag 'ransomware_restore_process_started' not set") return self._value def get_app_blocked_by_permissions(self): """ (apps) Failed to connect app for member Only call this if :meth:`is_app_blocked_by_permissions` is true. :rtype: AppBlockedByPermissionsType """ if not self.is_app_blocked_by_permissions(): raise AttributeError("tag 'app_blocked_by_permissions' not set") return self._value 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_dash_added_comment_to_stack(self): """ (dash) Added a comment to a stack Only call this if :meth:`is_dash_added_comment_to_stack` is true. :rtype: DashAddedCommentToStackType """ if not self.is_dash_added_comment_to_stack(): raise AttributeError("tag 'dash_added_comment_to_stack' not set") return self._value def get_dash_added_connector(self): """ (dash) Connected to a user connector Only call this if :meth:`is_dash_added_connector` is true. :rtype: DashAddedConnectorType """ if not self.is_dash_added_connector(): raise AttributeError("tag 'dash_added_connector' not set") return self._value def get_dash_added_link_to_stack(self): """ (dash) Added a link to a stack Only call this if :meth:`is_dash_added_link_to_stack` is true. :rtype: DashAddedLinkToStackType """ if not self.is_dash_added_link_to_stack(): raise AttributeError("tag 'dash_added_link_to_stack' not set") return self._value def get_dash_added_team_email_domain_allowlist(self): """ (dash) Admin added an email domain to the team allowlist Only call this if :meth:`is_dash_added_team_email_domain_allowlist` is true. :rtype: DashAddedTeamEmailDomainAllowlistType """ if not self.is_dash_added_team_email_domain_allowlist(): raise AttributeError("tag 'dash_added_team_email_domain_allowlist' not set") return self._value def get_dash_admin_added_org_wide_connector(self): """ (dash) Admin added an admin connector Only call this if :meth:`is_dash_admin_added_org_wide_connector` is true. :rtype: DashAdminAddedOrgWideConnectorType """ if not self.is_dash_admin_added_org_wide_connector(): raise AttributeError("tag 'dash_admin_added_org_wide_connector' not set") return self._value def get_dash_admin_disabled_connector(self): """ (dash) Admin disabled a user connector Only call this if :meth:`is_dash_admin_disabled_connector` is true. :rtype: DashAdminDisabledConnectorType """ if not self.is_dash_admin_disabled_connector(): raise AttributeError("tag 'dash_admin_disabled_connector' not set") return self._value def get_dash_admin_enabled_connector(self): """ (dash) Admin enabled a user connector Only call this if :meth:`is_dash_admin_enabled_connector` is true. :rtype: DashAdminEnabledConnectorType """ if not self.is_dash_admin_enabled_connector(): raise AttributeError("tag 'dash_admin_enabled_connector' not set") return self._value def get_dash_admin_removed_org_wide_connector(self): """ (dash) Admin removed an admin connector Only call this if :meth:`is_dash_admin_removed_org_wide_connector` is true. :rtype: DashAdminRemovedOrgWideConnectorType """ if not self.is_dash_admin_removed_org_wide_connector(): raise AttributeError("tag 'dash_admin_removed_org_wide_connector' not set") return self._value def get_dash_archived_stack(self): """ (dash) Archived a stack Only call this if :meth:`is_dash_archived_stack` is true. :rtype: DashArchivedStackType """ if not self.is_dash_archived_stack(): raise AttributeError("tag 'dash_archived_stack' not set") return self._value def get_dash_changed_audience_of_shared_link_to_stack(self): """ (dash) Changed the audience of a shared link to a stack Only call this if :meth:`is_dash_changed_audience_of_shared_link_to_stack` is true. :rtype: DashChangedAudienceOfSharedLinkToStackType """ if not self.is_dash_changed_audience_of_shared_link_to_stack(): raise AttributeError("tag 'dash_changed_audience_of_shared_link_to_stack' not set") return self._value def get_dash_cloned_stack(self): """ (dash) Cloned stack Only call this if :meth:`is_dash_cloned_stack` is true. :rtype: DashClonedStackType """ if not self.is_dash_cloned_stack(): raise AttributeError("tag 'dash_cloned_stack' not set") return self._value def get_dash_connector_tools_call(self): """ (dash) Called a tool on a connector Only call this if :meth:`is_dash_connector_tools_call` is true. :rtype: DashConnectorToolsCallType """ if not self.is_dash_connector_tools_call(): raise AttributeError("tag 'dash_connector_tools_call' not set") return self._value def get_dash_created_stack(self): """ (dash) Created a stack Only call this if :meth:`is_dash_created_stack` is true. :rtype: DashCreatedStackType """ if not self.is_dash_created_stack(): raise AttributeError("tag 'dash_created_stack' not set") return self._value def get_dash_deleted_comment_from_stack(self): """ (dash) Deleted a comment from a stack Only call this if :meth:`is_dash_deleted_comment_from_stack` is true. :rtype: DashDeletedCommentFromStackType """ if not self.is_dash_deleted_comment_from_stack(): raise AttributeError("tag 'dash_deleted_comment_from_stack' not set") return self._value def get_dash_deleted_stack(self): """ (dash) Deleted a stack Only call this if :meth:`is_dash_deleted_stack` is true. :rtype: DashDeletedStackType """ if not self.is_dash_deleted_stack(): raise AttributeError("tag 'dash_deleted_stack' not set") return self._value def get_dash_edited_comment_in_stack(self): """ (dash) Edited a comment in a stack Only call this if :meth:`is_dash_edited_comment_in_stack` is true. :rtype: DashEditedCommentInStackType """ if not self.is_dash_edited_comment_in_stack(): raise AttributeError("tag 'dash_edited_comment_in_stack' not set") return self._value def get_dash_external_user_opened_stack(self): """ (dash) External user opened a stack Only call this if :meth:`is_dash_external_user_opened_stack` is true. :rtype: DashExternalUserOpenedStackType """ if not self.is_dash_external_user_opened_stack(): raise AttributeError("tag 'dash_external_user_opened_stack' not set") return self._value def get_dash_first_launched_desktop(self): """ (dash) Opened the desktop app for the first time Only call this if :meth:`is_dash_first_launched_desktop` is true. :rtype: DashFirstLaunchedDesktopType """ if not self.is_dash_first_launched_desktop(): raise AttributeError("tag 'dash_first_launched_desktop' not set") return self._value def get_dash_first_launched_extension(self): """ (dash) Opened the extension for the first time Only call this if :meth:`is_dash_first_launched_extension` is true. :rtype: DashFirstLaunchedExtensionType """ if not self.is_dash_first_launched_extension(): raise AttributeError("tag 'dash_first_launched_extension' not set") return self._value def get_dash_first_launched_web_start_page(self): """ (dash) Opened the web Start Page for the first time Only call this if :meth:`is_dash_first_launched_web_start_page` is true. :rtype: DashFirstLaunchedWebStartPageType """ if not self.is_dash_first_launched_web_start_page(): raise AttributeError("tag 'dash_first_launched_web_start_page' not set") return self._value def get_dash_opened_shared_link_to_stack(self): """ (dash) Checked access permissions to a stack Only call this if :meth:`is_dash_opened_shared_link_to_stack` is true. :rtype: DashOpenedSharedLinkToStackType """ if not self.is_dash_opened_shared_link_to_stack(): raise AttributeError("tag 'dash_opened_shared_link_to_stack' not set") return self._value def get_dash_opened_stack(self): """ (dash) Opened a stack Only call this if :meth:`is_dash_opened_stack` is true. :rtype: DashOpenedStackType """ if not self.is_dash_opened_stack(): raise AttributeError("tag 'dash_opened_stack' not set") return self._value def get_dash_preview_opt_out_status_changed(self): """ (dash) Changed the preview opt-out status Only call this if :meth:`is_dash_preview_opt_out_status_changed` is true. :rtype: DashPreviewOptOutStatusChangedType """ if not self.is_dash_preview_opt_out_status_changed(): raise AttributeError("tag 'dash_preview_opt_out_status_changed' not set") return self._value def get_dash_removed_connector(self): """ (dash) Disconnected a user connector Only call this if :meth:`is_dash_removed_connector` is true. :rtype: DashRemovedConnectorType """ if not self.is_dash_removed_connector(): raise AttributeError("tag 'dash_removed_connector' not set") return self._value def get_dash_removed_link_from_stack(self): """ (dash) Removed a link from a stack Only call this if :meth:`is_dash_removed_link_from_stack` is true. :rtype: DashRemovedLinkFromStackType """ if not self.is_dash_removed_link_from_stack(): raise AttributeError("tag 'dash_removed_link_from_stack' not set") return self._value def get_dash_removed_shared_link_to_stack(self): """ (dash) Removed a shared link to a stack Only call this if :meth:`is_dash_removed_shared_link_to_stack` is true. :rtype: DashRemovedSharedLinkToStackType """ if not self.is_dash_removed_shared_link_to_stack(): raise AttributeError("tag 'dash_removed_shared_link_to_stack' not set") return self._value def get_dash_removed_team_email_domain_allowlist(self): """ (dash) Admin removed an email domain from the team allowlist Only call this if :meth:`is_dash_removed_team_email_domain_allowlist` is true. :rtype: DashRemovedTeamEmailDomainAllowlistType """ if not self.is_dash_removed_team_email_domain_allowlist(): raise AttributeError("tag 'dash_removed_team_email_domain_allowlist' not set") return self._value def get_dash_renamed_stack(self): """ (dash) Renamed a stack Only call this if :meth:`is_dash_renamed_stack` is true. :rtype: DashRenamedStackType """ if not self.is_dash_renamed_stack(): raise AttributeError("tag 'dash_renamed_stack' not set") return self._value def get_dash_shared_link_to_stack(self): """ (dash) Shared a link to a stack Only call this if :meth:`is_dash_shared_link_to_stack` is true. :rtype: DashSharedLinkToStackType """ if not self.is_dash_shared_link_to_stack(): raise AttributeError("tag 'dash_shared_link_to_stack' not set") return self._value def get_dash_unarchived_stack(self): """ (dash) Unarchived a stack Only call this if :meth:`is_dash_unarchived_stack` is true. :rtype: DashUnarchivedStackType """ if not self.is_dash_unarchived_stack(): raise AttributeError("tag 'dash_unarchived_stack' not set") return self._value def get_dash_viewed_company_stack(self): """ (dash) Member viewed a company stack Only call this if :meth:`is_dash_viewed_company_stack` is true. :rtype: DashViewedCompanyStackType """ if not self.is_dash_viewed_company_stack(): raise AttributeError("tag 'dash_viewed_company_stack' not set") return self._value def get_dash_viewed_external_ai_activity_report(self): """ (dash) Admin viewed the external AI activity report Only call this if :meth:`is_dash_viewed_external_ai_activity_report` is true. :rtype: DashViewedExternalAiActivityReportType """ if not self.is_dash_viewed_external_ai_activity_report(): raise AttributeError("tag 'dash_viewed_external_ai_activity_report' not set") return self._value def get_governance_policy_add_folders(self): """ (data_governance) Added folders to policy Only call this if :meth:`is_governance_policy_add_folders` is true. :rtype: GovernancePolicyAddFoldersType """ if not self.is_governance_policy_add_folders(): raise AttributeError("tag 'governance_policy_add_folders' not set") return self._value def get_governance_policy_add_folder_failed(self): """ (data_governance) Couldn't add a folder to a policy Only call this if :meth:`is_governance_policy_add_folder_failed` is true. :rtype: GovernancePolicyAddFolderFailedType """ if not self.is_governance_policy_add_folder_failed(): raise AttributeError("tag 'governance_policy_add_folder_failed' not set") return self._value def get_governance_policy_content_disposed(self): """ (data_governance) Content disposed Only call this if :meth:`is_governance_policy_content_disposed` is true. :rtype: GovernancePolicyContentDisposedType """ if not self.is_governance_policy_content_disposed(): raise AttributeError("tag 'governance_policy_content_disposed' not set") return self._value def get_governance_policy_create(self): """ (data_governance) Activated a new policy Only call this if :meth:`is_governance_policy_create` is true. :rtype: GovernancePolicyCreateType """ if not self.is_governance_policy_create(): raise AttributeError("tag 'governance_policy_create' not set") return self._value def get_governance_policy_delete(self): """ (data_governance) Deleted a policy Only call this if :meth:`is_governance_policy_delete` is true. :rtype: GovernancePolicyDeleteType """ if not self.is_governance_policy_delete(): raise AttributeError("tag 'governance_policy_delete' not set") return self._value def get_governance_policy_edit_details(self): """ (data_governance) Edited policy Only call this if :meth:`is_governance_policy_edit_details` is true. :rtype: GovernancePolicyEditDetailsType """ if not self.is_governance_policy_edit_details(): raise AttributeError("tag 'governance_policy_edit_details' not set") return self._value def get_governance_policy_edit_duration(self): """ (data_governance) Changed policy duration Only call this if :meth:`is_governance_policy_edit_duration` is true. :rtype: GovernancePolicyEditDurationType """ if not self.is_governance_policy_edit_duration(): raise AttributeError("tag 'governance_policy_edit_duration' not set") return self._value def get_governance_policy_export_created(self): """ (data_governance) Created a policy download Only call this if :meth:`is_governance_policy_export_created` is true. :rtype: GovernancePolicyExportCreatedType """ if not self.is_governance_policy_export_created(): raise AttributeError("tag 'governance_policy_export_created' not set") return self._value def get_governance_policy_export_removed(self): """ (data_governance) Removed a policy download Only call this if :meth:`is_governance_policy_export_removed` is true. :rtype: GovernancePolicyExportRemovedType """ if not self.is_governance_policy_export_removed(): raise AttributeError("tag 'governance_policy_export_removed' not set") return self._value def get_governance_policy_remove_folders(self): """ (data_governance) Removed folders from policy Only call this if :meth:`is_governance_policy_remove_folders` is true. :rtype: GovernancePolicyRemoveFoldersType """ if not self.is_governance_policy_remove_folders(): raise AttributeError("tag 'governance_policy_remove_folders' not set") return self._value def get_governance_policy_report_created(self): """ (data_governance) Created a summary report for a policy Only call this if :meth:`is_governance_policy_report_created` is true. :rtype: GovernancePolicyReportCreatedType """ if not self.is_governance_policy_report_created(): raise AttributeError("tag 'governance_policy_report_created' not set") return self._value def get_governance_policy_zip_part_downloaded(self): """ (data_governance) Downloaded content from a policy Only call this if :meth:`is_governance_policy_zip_part_downloaded` is true. :rtype: GovernancePolicyZipPartDownloadedType """ if not self.is_governance_policy_zip_part_downloaded(): raise AttributeError("tag 'governance_policy_zip_part_downloaded' not set") return self._value def get_legal_holds_activate_a_hold(self): """ (data_governance) Activated a hold Only call this if :meth:`is_legal_holds_activate_a_hold` is true. :rtype: LegalHoldsActivateAHoldType """ if not self.is_legal_holds_activate_a_hold(): raise AttributeError("tag 'legal_holds_activate_a_hold' not set") return self._value def get_legal_holds_add_members(self): """ (data_governance) Added members to a hold Only call this if :meth:`is_legal_holds_add_members` is true. :rtype: LegalHoldsAddMembersType """ if not self.is_legal_holds_add_members(): raise AttributeError("tag 'legal_holds_add_members' not set") return self._value def get_legal_holds_change_hold_details(self): """ (data_governance) Edited details for a hold Only call this if :meth:`is_legal_holds_change_hold_details` is true. :rtype: LegalHoldsChangeHoldDetailsType """ if not self.is_legal_holds_change_hold_details(): raise AttributeError("tag 'legal_holds_change_hold_details' not set") return self._value def get_legal_holds_change_hold_name(self): """ (data_governance) Renamed a hold Only call this if :meth:`is_legal_holds_change_hold_name` is true. :rtype: LegalHoldsChangeHoldNameType """ if not self.is_legal_holds_change_hold_name(): raise AttributeError("tag 'legal_holds_change_hold_name' not set") return self._value def get_legal_holds_export_a_hold(self): """ (data_governance) Exported hold Only call this if :meth:`is_legal_holds_export_a_hold` is true. :rtype: LegalHoldsExportAHoldType """ if not self.is_legal_holds_export_a_hold(): raise AttributeError("tag 'legal_holds_export_a_hold' not set") return self._value def get_legal_holds_export_cancelled(self): """ (data_governance) Canceled export for a hold Only call this if :meth:`is_legal_holds_export_cancelled` is true. :rtype: LegalHoldsExportCancelledType """ if not self.is_legal_holds_export_cancelled(): raise AttributeError("tag 'legal_holds_export_cancelled' not set") return self._value def get_legal_holds_export_downloaded(self): """ (data_governance) Downloaded export for a hold Only call this if :meth:`is_legal_holds_export_downloaded` is true. :rtype: LegalHoldsExportDownloadedType """ if not self.is_legal_holds_export_downloaded(): raise AttributeError("tag 'legal_holds_export_downloaded' not set") return self._value def get_legal_holds_export_removed(self): """ (data_governance) Removed export for a hold Only call this if :meth:`is_legal_holds_export_removed` is true. :rtype: LegalHoldsExportRemovedType """ if not self.is_legal_holds_export_removed(): raise AttributeError("tag 'legal_holds_export_removed' not set") return self._value def get_legal_holds_release_a_hold(self): """ (data_governance) Released a hold Only call this if :meth:`is_legal_holds_release_a_hold` is true. :rtype: LegalHoldsReleaseAHoldType """ if not self.is_legal_holds_release_a_hold(): raise AttributeError("tag 'legal_holds_release_a_hold' not set") return self._value def get_legal_holds_remove_members(self): """ (data_governance) Removed members from a hold Only call this if :meth:`is_legal_holds_remove_members` is true. :rtype: LegalHoldsRemoveMembersType """ if not self.is_legal_holds_remove_members(): raise AttributeError("tag 'legal_holds_remove_members' not set") return self._value def get_legal_holds_report_a_hold(self): """ (data_governance) Created a summary report for a hold Only call this if :meth:`is_legal_holds_report_a_hold` is true. :rtype: LegalHoldsReportAHoldType """ if not self.is_legal_holds_report_a_hold(): raise AttributeError("tag 'legal_holds_report_a_hold' 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_sync_backup_status_changed(self): """ (devices) Enabled/disabled backup for computer Only call this if :meth:`is_device_sync_backup_status_changed` is true. :rtype: DeviceSyncBackupStatusChangedType """ if not self.is_device_sync_backup_status_changed(): raise AttributeError("tag 'device_sync_backup_status_changed' 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_dropbox_passwords_exported(self): """ (devices) Exported passwords Only call this if :meth:`is_dropbox_passwords_exported` is true. :rtype: DropboxPasswordsExportedType """ if not self.is_dropbox_passwords_exported(): raise AttributeError("tag 'dropbox_passwords_exported' not set") return self._value def get_dropbox_passwords_new_device_enrolled(self): """ (devices) Enrolled new Dropbox Passwords device Only call this if :meth:`is_dropbox_passwords_new_device_enrolled` is true. :rtype: DropboxPasswordsNewDeviceEnrolledType """ if not self.is_dropbox_passwords_new_device_enrolled(): raise AttributeError("tag 'dropbox_passwords_new_device_enrolled' 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_external_drive_backup_eligibility_status_checked(self): """ (devices) Checked external drive backup eligibility status Only call this if :meth:`is_external_drive_backup_eligibility_status_checked` is true. :rtype: ExternalDriveBackupEligibilityStatusCheckedType """ if not self.is_external_drive_backup_eligibility_status_checked(): raise AttributeError("tag 'external_drive_backup_eligibility_status_checked' not set") return self._value def get_external_drive_backup_status_changed(self): """ (devices) Modified external drive backup Only call this if :meth:`is_external_drive_backup_status_changed` is true. :rtype: ExternalDriveBackupStatusChangedType """ if not self.is_external_drive_backup_status_changed(): raise AttributeError("tag 'external_drive_backup_status_changed' 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 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_encrypted_folder_cancel_team_key_rotation(self): """ (encryption) Canceled team key rotation Only call this if :meth:`is_encrypted_folder_cancel_team_key_rotation` is true. :rtype: EncryptedFolderCancelTeamKeyRotationType """ if not self.is_encrypted_folder_cancel_team_key_rotation(): raise AttributeError("tag 'encrypted_folder_cancel_team_key_rotation' not set") return self._value def get_encrypted_folder_enroll_backup_key(self): """ (encryption) Added recovery key Only call this if :meth:`is_encrypted_folder_enroll_backup_key` is true. :rtype: EncryptedFolderEnrollBackupKeyType """ if not self.is_encrypted_folder_enroll_backup_key(): raise AttributeError("tag 'encrypted_folder_enroll_backup_key' not set") return self._value def get_encrypted_folder_enroll_client(self): """ (encryption) Enrolled device Only call this if :meth:`is_encrypted_folder_enroll_client` is true. :rtype: EncryptedFolderEnrollClientType """ if not self.is_encrypted_folder_enroll_client(): raise AttributeError("tag 'encrypted_folder_enroll_client' not set") return self._value def get_encrypted_folder_enroll_team(self): """ (encryption) Activated team folder encryption Only call this if :meth:`is_encrypted_folder_enroll_team` is true. :rtype: EncryptedFolderEnrollTeamType """ if not self.is_encrypted_folder_enroll_team(): raise AttributeError("tag 'encrypted_folder_enroll_team' not set") return self._value def get_encrypted_folder_finish_team_unenrollment(self): """ (encryption) Deactivated team folder encryption Only call this if :meth:`is_encrypted_folder_finish_team_unenrollment` is true. :rtype: EncryptedFolderFinishTeamUnenrollmentType """ if not self.is_encrypted_folder_finish_team_unenrollment(): raise AttributeError("tag 'encrypted_folder_finish_team_unenrollment' not set") return self._value def get_encrypted_folder_init_team_key_rotation(self): """ (encryption) Initiated team key rotation Only call this if :meth:`is_encrypted_folder_init_team_key_rotation` is true. :rtype: EncryptedFolderInitTeamKeyRotationType """ if not self.is_encrypted_folder_init_team_key_rotation(): raise AttributeError("tag 'encrypted_folder_init_team_key_rotation' not set") return self._value def get_encrypted_folder_init_team_unenrollment(self): """ (encryption) Initiated deactivation of team folder encryption Only call this if :meth:`is_encrypted_folder_init_team_unenrollment` is true. :rtype: EncryptedFolderInitTeamUnenrollmentType """ if not self.is_encrypted_folder_init_team_unenrollment(): raise AttributeError("tag 'encrypted_folder_init_team_unenrollment' not set") return self._value def get_encrypted_folder_remove_backup_key(self): """ (encryption) Removed recovery key Only call this if :meth:`is_encrypted_folder_remove_backup_key` is true. :rtype: EncryptedFolderRemoveBackupKeyType """ if not self.is_encrypted_folder_remove_backup_key(): raise AttributeError("tag 'encrypted_folder_remove_backup_key' not set") return self._value def get_encrypted_folder_rotate_team_key(self): """ (encryption) Rotated team key Only call this if :meth:`is_encrypted_folder_rotate_team_key` is true. :rtype: EncryptedFolderRotateTeamKeyType """ if not self.is_encrypted_folder_rotate_team_key(): raise AttributeError("tag 'encrypted_folder_rotate_team_key' not set") return self._value def get_encrypted_folder_unenroll_client(self): """ (encryption) Unenrolled device Only call this if :meth:`is_encrypted_folder_unenroll_client` is true. :rtype: EncryptedFolderUnenrollClientType """ if not self.is_encrypted_folder_unenroll_client(): raise AttributeError("tag 'encrypted_folder_unenroll_client' not set") return self._value def get_team_encryption_key_activate_key(self): """ (encryption) Activated team encryption key Only call this if :meth:`is_team_encryption_key_activate_key` is true. :rtype: TeamEncryptionKeyActivateKeyType """ if not self.is_team_encryption_key_activate_key(): raise AttributeError("tag 'team_encryption_key_activate_key' not set") return self._value def get_team_encryption_key_cancel_key_deletion(self): """ (encryption) Canceled team encryption key deletion Only call this if :meth:`is_team_encryption_key_cancel_key_deletion` is true. :rtype: TeamEncryptionKeyCancelKeyDeletionType """ if not self.is_team_encryption_key_cancel_key_deletion(): raise AttributeError("tag 'team_encryption_key_cancel_key_deletion' not set") return self._value def get_team_encryption_key_create_key(self): """ (encryption) Created team encryption key Only call this if :meth:`is_team_encryption_key_create_key` is true. :rtype: TeamEncryptionKeyCreateKeyType """ if not self.is_team_encryption_key_create_key(): raise AttributeError("tag 'team_encryption_key_create_key' not set") return self._value def get_team_encryption_key_deactivate_key(self): """ (encryption) Deactivated team encryption key Only call this if :meth:`is_team_encryption_key_deactivate_key` is true. :rtype: TeamEncryptionKeyDeactivateKeyType """ if not self.is_team_encryption_key_deactivate_key(): raise AttributeError("tag 'team_encryption_key_deactivate_key' not set") return self._value def get_team_encryption_key_delete_key(self): """ (encryption) Deleted team encryption key Only call this if :meth:`is_team_encryption_key_delete_key` is true. :rtype: TeamEncryptionKeyDeleteKeyType """ if not self.is_team_encryption_key_delete_key(): raise AttributeError("tag 'team_encryption_key_delete_key' not set") return self._value def get_team_encryption_key_disable_key(self): """ (encryption) Disabled team encryption key Only call this if :meth:`is_team_encryption_key_disable_key` is true. :rtype: TeamEncryptionKeyDisableKeyType """ if not self.is_team_encryption_key_disable_key(): raise AttributeError("tag 'team_encryption_key_disable_key' not set") return self._value def get_team_encryption_key_enable_key(self): """ (encryption) Enabled team encryption key Only call this if :meth:`is_team_encryption_key_enable_key` is true. :rtype: TeamEncryptionKeyEnableKeyType """ if not self.is_team_encryption_key_enable_key(): raise AttributeError("tag 'team_encryption_key_enable_key' not set") return self._value def get_team_encryption_key_rotate_key(self): """ (encryption) Rotated team encryption key (deprecated, no longer logged) Only call this if :meth:`is_team_encryption_key_rotate_key` is true. :rtype: TeamEncryptionKeyRotateKeyType """ if not self.is_team_encryption_key_rotate_key(): raise AttributeError("tag 'team_encryption_key_rotate_key' not set") return self._value def get_team_encryption_key_schedule_key_deletion(self): """ (encryption) Scheduled encryption key deletion Only call this if :meth:`is_team_encryption_key_schedule_key_deletion` is true. :rtype: TeamEncryptionKeyScheduleKeyDeletionType """ if not self.is_team_encryption_key_schedule_key_deletion(): raise AttributeError("tag 'team_encryption_key_schedule_key_deletion' not set") return self._value def get_apply_naming_convention(self): """ (file_operations) Applied naming convention Only call this if :meth:`is_apply_naming_convention` is true. :rtype: ApplyNamingConventionType """ if not self.is_apply_naming_convention(): raise AttributeError("tag 'apply_naming_convention' 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_add_from_automation(self): """ (file_operations) Added files and/or folders from automation Only call this if :meth:`is_file_add_from_automation` is true. :rtype: FileAddFromAutomationType """ if not self.is_file_add_from_automation(): raise AttributeError("tag 'file_add_from_automation' 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_locking_lock_status_changed(self): """ (file_operations) Locked/unlocked editing for a file Only call this if :meth:`is_file_locking_lock_status_changed` is true. :rtype: FileLockingLockStatusChangedType """ if not self.is_file_locking_lock_status_changed(): raise AttributeError("tag 'file_locking_lock_status_changed' 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_folder_overview_description_changed(self): """ (file_operations) Updated folder overview Only call this if :meth:`is_folder_overview_description_changed` is true. :rtype: FolderOverviewDescriptionChangedType """ if not self.is_folder_overview_description_changed(): raise AttributeError("tag 'folder_overview_description_changed' not set") return self._value def get_folder_overview_item_pinned(self): """ (file_operations) Pinned item to folder overview Only call this if :meth:`is_folder_overview_item_pinned` is true. :rtype: FolderOverviewItemPinnedType """ if not self.is_folder_overview_item_pinned(): raise AttributeError("tag 'folder_overview_item_pinned' not set") return self._value def get_folder_overview_item_unpinned(self): """ (file_operations) Unpinned item from folder overview Only call this if :meth:`is_folder_overview_item_unpinned` is true. :rtype: FolderOverviewItemUnpinnedType """ if not self.is_folder_overview_item_unpinned(): raise AttributeError("tag 'folder_overview_item_unpinned' not set") return self._value def get_media_hub_file_downloaded(self): """ (file_operations) Downloaded files in Media Hub Only call this if :meth:`is_media_hub_file_downloaded` is true. :rtype: MediaHubFileDownloadedType """ if not self.is_media_hub_file_downloaded(): raise AttributeError("tag 'media_hub_file_downloaded' not set") return self._value def get_object_label_added(self): """ (file_operations) Added a label Only call this if :meth:`is_object_label_added` is true. :rtype: ObjectLabelAddedType """ if not self.is_object_label_added(): raise AttributeError("tag 'object_label_added' not set") return self._value def get_object_label_removed(self): """ (file_operations) Removed a label Only call this if :meth:`is_object_label_removed` is true. :rtype: ObjectLabelRemovedType """ if not self.is_object_label_removed(): raise AttributeError("tag 'object_label_removed' not set") return self._value def get_object_label_updated_value(self): """ (file_operations) Updated a label's value Only call this if :meth:`is_object_label_updated_value` is true. :rtype: ObjectLabelUpdatedValueType """ if not self.is_object_label_updated_value(): raise AttributeError("tag 'object_label_updated_value' not set") return self._value def get_organize_folder_with_tidy(self): """ (file_operations) Organized a folder with multi-file organize Only call this if :meth:`is_organize_folder_with_tidy` is true. :rtype: OrganizeFolderWithTidyType """ if not self.is_organize_folder_with_tidy(): raise AttributeError("tag 'organize_folder_with_tidy' not set") return self._value def get_replay_file_delete(self): """ (file_operations) Deleted files in Replay Only call this if :meth:`is_replay_file_delete` is true. :rtype: ReplayFileDeleteType """ if not self.is_replay_file_delete(): raise AttributeError("tag 'replay_file_delete' not set") return self._value def get_replay_file_downloaded(self): """ (file_operations) Downloaded files in Replay Only call this if :meth:`is_replay_file_downloaded` is true. :rtype: ReplayFileDownloadedType """ if not self.is_replay_file_downloaded(): raise AttributeError("tag 'replay_file_downloaded' not set") return self._value def get_replay_team_project_created(self): """ (file_operations) Created a team project in Replay Only call this if :meth:`is_replay_team_project_created` is true. :rtype: ReplayTeamProjectCreatedType """ if not self.is_replay_team_project_created(): raise AttributeError("tag 'replay_team_project_created' not set") return self._value def get_rewind_folder(self): """ (file_operations) Rewound a folder Only call this if :meth:`is_rewind_folder` is true. :rtype: RewindFolderType """ if not self.is_rewind_folder(): raise AttributeError("tag 'rewind_folder' not set") return self._value def get_undo_naming_convention(self): """ (file_operations) Reverted naming convention Only call this if :meth:`is_undo_naming_convention` is true. :rtype: UndoNamingConventionType """ if not self.is_undo_naming_convention(): raise AttributeError("tag 'undo_naming_convention' not set") return self._value def get_undo_organize_folder_with_tidy(self): """ (file_operations) Removed multi-file organize Only call this if :meth:`is_undo_organize_folder_with_tidy` is true. :rtype: UndoOrganizeFolderWithTidyType """ if not self.is_undo_organize_folder_with_tidy(): raise AttributeError("tag 'undo_organize_folder_with_tidy' not set") return self._value def get_user_tags_added(self): """ (file_operations) Tagged a file Only call this if :meth:`is_user_tags_added` is true. :rtype: UserTagsAddedType """ if not self.is_user_tags_added(): raise AttributeError("tag 'user_tags_added' not set") return self._value def get_user_tags_removed(self): """ (file_operations) Removed tags Only call this if :meth:`is_user_tags_removed` is true. :rtype: UserTagsRemovedType """ if not self.is_user_tags_removed(): raise AttributeError("tag 'user_tags_removed' not set") return self._value def get_email_ingest_receive_file(self): """ (file_requests) Received files via Email to Dropbox Only call this if :meth:`is_email_ingest_receive_file` is true. :rtype: EmailIngestReceiveFileType """ if not self.is_email_ingest_receive_file(): raise AttributeError("tag 'email_ingest_receive_file' not set") return self._value def get_file_request_auto_close(self): """ (file_requests) Auto closed file request Only call this if :meth:`is_file_request_auto_close` is true. :rtype: FileRequestAutoCloseType """ if not self.is_file_request_auto_close(): raise AttributeError("tag 'file_request_auto_close' 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_external_sharing_setting_override_changed(self): """ (groups) Changed group's external sharing setting Only call this if :meth:`is_group_external_sharing_setting_override_changed` is true. :rtype: GroupExternalSharingSettingOverrideChangedType """ if not self.is_group_external_sharing_setting_override_changed(): raise AttributeError("tag 'group_external_sharing_setting_override_changed' 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_account_lock_or_unlocked(self): """ (logins) Unlocked/locked account after failed sign in attempts Only call this if :meth:`is_account_lock_or_unlocked` is true. :rtype: AccountLockOrUnlockedType """ if not self.is_account_lock_or_unlocked(): raise AttributeError("tag 'account_lock_or_unlocked' 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_addon_assigned(self): """ (members) Add-on Assigned Only call this if :meth:`is_addon_assigned` is true. :rtype: AddonAssignedType """ if not self.is_addon_assigned(): raise AttributeError("tag 'addon_assigned' not set") return self._value def get_addon_removed(self): """ (members) Add-on Removed Only call this if :meth:`is_addon_removed` is true. :rtype: AddonRemovedType """ if not self.is_addon_removed(): raise AttributeError("tag 'addon_removed' not set") return self._value def get_backup_admin_invitation_sent(self): """ (members) Invited members to activate Backup Only call this if :meth:`is_backup_admin_invitation_sent` is true. :rtype: BackupAdminInvitationSentType """ if not self.is_backup_admin_invitation_sent(): raise AttributeError("tag 'backup_admin_invitation_sent' not set") return self._value def get_backup_invitation_opened(self): """ (members) Opened Backup invite Only call this if :meth:`is_backup_invitation_opened` is true. :rtype: BackupInvitationOpenedType """ if not self.is_backup_invitation_opened(): raise AttributeError("tag 'backup_invitation_opened' not set") return self._value def get_create_team_invite_link(self): """ (members) Created team invite link Only call this if :meth:`is_create_team_invite_link` is true. :rtype: CreateTeamInviteLinkType """ if not self.is_create_team_invite_link(): raise AttributeError("tag 'create_team_invite_link' not set") return self._value def get_delete_team_invite_link(self): """ (members) Deleted team invite link Only call this if :meth:`is_delete_team_invite_link` is true. :rtype: DeleteTeamInviteLinkType """ if not self.is_delete_team_invite_link(): raise AttributeError("tag 'delete_team_invite_link' 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_reseller_role(self): """ (members) Changed team member reseller role Only call this if :meth:`is_member_change_reseller_role` is true. :rtype: MemberChangeResellerRoleType """ if not self.is_member_change_reseller_role(): raise AttributeError("tag 'member_change_reseller_role' 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_delete_profile_photo(self): """ (members) Deleted team member profile photo Only call this if :meth:`is_member_delete_profile_photo` is true. :rtype: MemberDeleteProfilePhotoType """ if not self.is_member_delete_profile_photo(): raise AttributeError("tag 'member_delete_profile_photo' 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_set_profile_photo(self): """ (members) Set team member profile photo Only call this if :meth:`is_member_set_profile_photo` is true. :rtype: MemberSetProfilePhotoType """ if not self.is_member_set_profile_photo(): raise AttributeError("tag 'member_set_profile_photo' 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_pending_secondary_email_added(self): """ (members) Added pending secondary email Only call this if :meth:`is_pending_secondary_email_added` is true. :rtype: PendingSecondaryEmailAddedType """ if not self.is_pending_secondary_email_added(): raise AttributeError("tag 'pending_secondary_email_added' not set") return self._value def get_product_assigned_to_member(self): """ (members) Product assigned to team member Only call this if :meth:`is_product_assigned_to_member` is true. :rtype: ProductAssignedToMemberType """ if not self.is_product_assigned_to_member(): raise AttributeError("tag 'product_assigned_to_member' not set") return self._value def get_product_removed_from_member(self): """ (members) Product removed from team member Only call this if :meth:`is_product_removed_from_member` is true. :rtype: ProductRemovedFromMemberType """ if not self.is_product_removed_from_member(): raise AttributeError("tag 'product_removed_from_member' not set") return self._value def get_secondary_email_deleted(self): """ (members) Deleted secondary email Only call this if :meth:`is_secondary_email_deleted` is true. :rtype: SecondaryEmailDeletedType """ if not self.is_secondary_email_deleted(): raise AttributeError("tag 'secondary_email_deleted' not set") return self._value def get_secondary_email_verified(self): """ (members) Verified secondary email Only call this if :meth:`is_secondary_email_verified` is true. :rtype: SecondaryEmailVerifiedType """ if not self.is_secondary_email_verified(): raise AttributeError("tag 'secondary_email_verified' 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_binder_add_page(self): """ (paper) Added Binder page (deprecated, replaced by 'Edited files') Only call this if :meth:`is_binder_add_page` is true. :rtype: BinderAddPageType """ if not self.is_binder_add_page(): raise AttributeError("tag 'binder_add_page' not set") return self._value def get_binder_add_section(self): """ (paper) Added Binder section (deprecated, replaced by 'Edited files') Only call this if :meth:`is_binder_add_section` is true. :rtype: BinderAddSectionType """ if not self.is_binder_add_section(): raise AttributeError("tag 'binder_add_section' not set") return self._value def get_binder_remove_page(self): """ (paper) Removed Binder page (deprecated, replaced by 'Edited files') Only call this if :meth:`is_binder_remove_page` is true. :rtype: BinderRemovePageType """ if not self.is_binder_remove_page(): raise AttributeError("tag 'binder_remove_page' not set") return self._value def get_binder_remove_section(self): """ (paper) Removed Binder section (deprecated, replaced by 'Edited files') Only call this if :meth:`is_binder_remove_section` is true. :rtype: BinderRemoveSectionType """ if not self.is_binder_remove_section(): raise AttributeError("tag 'binder_remove_section' not set") return self._value def get_binder_rename_page(self): """ (paper) Renamed Binder page (deprecated, replaced by 'Edited files') Only call this if :meth:`is_binder_rename_page` is true. :rtype: BinderRenamePageType """ if not self.is_binder_rename_page(): raise AttributeError("tag 'binder_rename_page' not set") return self._value def get_binder_rename_section(self): """ (paper) Renamed Binder section (deprecated, replaced by 'Edited files') Only call this if :meth:`is_binder_rename_section` is true. :rtype: BinderRenameSectionType """ if not self.is_binder_rename_section(): raise AttributeError("tag 'binder_rename_section' not set") return self._value def get_binder_reorder_page(self): """ (paper) Reordered Binder page (deprecated, replaced by 'Edited files') Only call this if :meth:`is_binder_reorder_page` is true. :rtype: BinderReorderPageType """ if not self.is_binder_reorder_page(): raise AttributeError("tag 'binder_reorder_page' not set") return self._value def get_binder_reorder_section(self): """ (paper) Reordered Binder section (deprecated, replaced by 'Edited files') Only call this if :meth:`is_binder_reorder_section` is true. :rtype: BinderReorderSectionType """ if not self.is_binder_reorder_section(): raise AttributeError("tag 'binder_reorder_section' not set") return self._value def get_paper_content_add_member(self): """ (paper) Added users and/or groups 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 users and/or groups 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 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 user 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 users and/or groups (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 users and/or groups (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_change_permission(self): """ (paper) Changed permissions for published doc Only call this if :meth:`is_paper_published_link_change_permission` is true. :rtype: PaperPublishedLinkChangePermissionType """ if not self.is_paper_published_link_change_permission(): raise AttributeError("tag 'paper_published_link_change_permission' 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_protect_internal_domains_changed(self): """ (protect) Modified Protect internal domains list Only call this if :meth:`is_protect_internal_domains_changed` is true. :rtype: ProtectInternalDomainsChangedType """ if not self.is_protect_internal_domains_changed(): raise AttributeError("tag 'protect_internal_domains_changed' not set") return self._value def get_classification_create_report(self): """ (reports) Created Classification report Only call this if :meth:`is_classification_create_report` is true. :rtype: ClassificationCreateReportType """ if not self.is_classification_create_report(): raise AttributeError("tag 'classification_create_report' not set") return self._value def get_classification_create_report_fail(self): """ (reports) Couldn't create Classification report Only call this if :meth:`is_classification_create_report_fail` is true. :rtype: ClassificationCreateReportFailType """ if not self.is_classification_create_report_fail(): raise AttributeError("tag 'classification_create_report_fail' 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_export_members_report_fail(self): """ (reports) Failed to create members data report Only call this if :meth:`is_export_members_report_fail` is true. :rtype: ExportMembersReportFailType """ if not self.is_export_members_report_fail(): raise AttributeError("tag 'export_members_report_fail' not set") return self._value def get_external_sharing_create_report(self): """ (reports) Created External sharing report Only call this if :meth:`is_external_sharing_create_report` is true. :rtype: ExternalSharingCreateReportType """ if not self.is_external_sharing_create_report(): raise AttributeError("tag 'external_sharing_create_report' not set") return self._value def get_external_sharing_report_failed(self): """ (reports) Couldn't create External sharing report Only call this if :meth:`is_external_sharing_report_failed` is true. :rtype: ExternalSharingReportFailedType """ if not self.is_external_sharing_report_failed(): raise AttributeError("tag 'external_sharing_report_failed' not set") return self._value def get_member_access_details_create_report(self): """ (reports) Created member access report Only call this if :meth:`is_member_access_details_create_report` is true. :rtype: MemberAccessDetailsCreateReportType """ if not self.is_member_access_details_create_report(): raise AttributeError("tag 'member_access_details_create_report' not set") return self._value def get_member_access_details_create_report_failed(self): """ (reports) Couldn't generate member access report Only call this if :meth:`is_member_access_details_create_report_failed` is true. :rtype: MemberAccessDetailsCreateReportFailedType """ if not self.is_member_access_details_create_report_failed(): raise AttributeError("tag 'member_access_details_create_report_failed' not set") return self._value def get_no_expiration_link_gen_create_report(self): """ (reports) Report created: Links created with no expiration Only call this if :meth:`is_no_expiration_link_gen_create_report` is true. :rtype: NoExpirationLinkGenCreateReportType """ if not self.is_no_expiration_link_gen_create_report(): raise AttributeError("tag 'no_expiration_link_gen_create_report' not set") return self._value def get_no_expiration_link_gen_report_failed(self): """ (reports) Couldn't create report: Links created with no expiration Only call this if :meth:`is_no_expiration_link_gen_report_failed` is true. :rtype: NoExpirationLinkGenReportFailedType """ if not self.is_no_expiration_link_gen_report_failed(): raise AttributeError("tag 'no_expiration_link_gen_report_failed' not set") return self._value def get_no_password_link_gen_create_report(self): """ (reports) Report created: Links created without passwords Only call this if :meth:`is_no_password_link_gen_create_report` is true. :rtype: NoPasswordLinkGenCreateReportType """ if not self.is_no_password_link_gen_create_report(): raise AttributeError("tag 'no_password_link_gen_create_report' not set") return self._value def get_no_password_link_gen_report_failed(self): """ (reports) Couldn't create report: Links created without passwords Only call this if :meth:`is_no_password_link_gen_report_failed` is true. :rtype: NoPasswordLinkGenReportFailedType """ if not self.is_no_password_link_gen_report_failed(): raise AttributeError("tag 'no_password_link_gen_report_failed' not set") return self._value def get_no_password_link_view_create_report(self): """ (reports) Report created: Views of links without passwords Only call this if :meth:`is_no_password_link_view_create_report` is true. :rtype: NoPasswordLinkViewCreateReportType """ if not self.is_no_password_link_view_create_report(): raise AttributeError("tag 'no_password_link_view_create_report' not set") return self._value def get_no_password_link_view_report_failed(self): """ (reports) Couldn't create report: Views of links without passwords Only call this if :meth:`is_no_password_link_view_report_failed` is true. :rtype: NoPasswordLinkViewReportFailedType """ if not self.is_no_password_link_view_report_failed(): raise AttributeError("tag 'no_password_link_view_report_failed' not set") return self._value def get_outdated_link_view_create_report(self): """ (reports) Report created: Views of old links Only call this if :meth:`is_outdated_link_view_create_report` is true. :rtype: OutdatedLinkViewCreateReportType """ if not self.is_outdated_link_view_create_report(): raise AttributeError("tag 'outdated_link_view_create_report' not set") return self._value def get_outdated_link_view_report_failed(self): """ (reports) Couldn't create report: Views of old links Only call this if :meth:`is_outdated_link_view_report_failed` is true. :rtype: OutdatedLinkViewReportFailedType """ if not self.is_outdated_link_view_report_failed(): raise AttributeError("tag 'outdated_link_view_report_failed' 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_ransomware_alert_create_report(self): """ (reports) Created ransomware report Only call this if :meth:`is_ransomware_alert_create_report` is true. :rtype: RansomwareAlertCreateReportType """ if not self.is_ransomware_alert_create_report(): raise AttributeError("tag 'ransomware_alert_create_report' not set") return self._value def get_ransomware_alert_create_report_failed(self): """ (reports) Couldn't generate ransomware report Only call this if :meth:`is_ransomware_alert_create_report_failed` is true. :rtype: RansomwareAlertCreateReportFailedType """ if not self.is_ransomware_alert_create_report_failed(): raise AttributeError("tag 'ransomware_alert_create_report_failed' not set") return self._value def get_shared_folders_create_report(self): """ (reports) Created shared folders report Only call this if :meth:`is_shared_folders_create_report` is true. :rtype: SharedFoldersCreateReportType """ if not self.is_shared_folders_create_report(): raise AttributeError("tag 'shared_folders_create_report' not set") return self._value def get_shared_folders_create_report_failed(self): """ (reports) Couldn't generate shared folders report Only call this if :meth:`is_shared_folders_create_report_failed` is true. :rtype: SharedFoldersCreateReportFailedType """ if not self.is_shared_folders_create_report_failed(): raise AttributeError("tag 'shared_folders_create_report_failed' 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_team_folders_create_report(self): """ (reports) Created team folders report Only call this if :meth:`is_team_folders_create_report` is true. :rtype: TeamFoldersCreateReportType """ if not self.is_team_folders_create_report(): raise AttributeError("tag 'team_folders_create_report' not set") return self._value def get_team_folders_create_report_failed(self): """ (reports) Couldn't generate team folders report Only call this if :meth:`is_team_folders_create_report_failed` is true. :rtype: TeamFoldersCreateReportFailedType """ if not self.is_team_folders_create_report_failed(): raise AttributeError("tag 'team_folders_create_report_failed' not set") return self._value def get_team_storage_create_report(self): """ (reports) Created team storage report Only call this if :meth:`is_team_storage_create_report` is true. :rtype: TeamStorageCreateReportType """ if not self.is_team_storage_create_report(): raise AttributeError("tag 'team_storage_create_report' not set") return self._value def get_team_storage_create_report_failed(self): """ (reports) Couldn't generate team storage report Only call this if :meth:`is_team_storage_create_report_failed` is true. :rtype: TeamStorageCreateReportFailedType """ if not self.is_team_storage_create_report_failed(): raise AttributeError("tag 'team_storage_create_report_failed' 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_file_transfers_file_add(self): """ (sharing) Transfer files added Only call this if :meth:`is_file_transfers_file_add` is true. :rtype: FileTransfersFileAddType """ if not self.is_file_transfers_file_add(): raise AttributeError("tag 'file_transfers_file_add' not set") return self._value def get_file_transfers_transfer_delete(self): """ (sharing) Deleted transfer Only call this if :meth:`is_file_transfers_transfer_delete` is true. :rtype: FileTransfersTransferDeleteType """ if not self.is_file_transfers_transfer_delete(): raise AttributeError("tag 'file_transfers_transfer_delete' not set") return self._value def get_file_transfers_transfer_download(self): """ (sharing) Transfer downloaded Only call this if :meth:`is_file_transfers_transfer_download` is true. :rtype: FileTransfersTransferDownloadType """ if not self.is_file_transfers_transfer_download(): raise AttributeError("tag 'file_transfers_transfer_download' not set") return self._value def get_file_transfers_transfer_send(self): """ (sharing) Sent transfer Only call this if :meth:`is_file_transfers_transfer_send` is true. :rtype: FileTransfersTransferSendType """ if not self.is_file_transfers_transfer_send(): raise AttributeError("tag 'file_transfers_transfer_send' not set") return self._value def get_file_transfers_transfer_view(self): """ (sharing) Viewed transfer Only call this if :meth:`is_file_transfers_transfer_view` is true. :rtype: FileTransfersTransferViewType """ if not self.is_file_transfers_transfer_view(): raise AttributeError("tag 'file_transfers_transfer_view' not set") return self._value def get_media_hub_project_team_add(self): """ (sharing) Added member to Media Hub project Only call this if :meth:`is_media_hub_project_team_add` is true. :rtype: MediaHubProjectTeamAddType """ if not self.is_media_hub_project_team_add(): raise AttributeError("tag 'media_hub_project_team_add' not set") return self._value def get_media_hub_project_team_delete(self): """ (sharing) Removed member from Media Hub project Only call this if :meth:`is_media_hub_project_team_delete` is true. :rtype: MediaHubProjectTeamDeleteType """ if not self.is_media_hub_project_team_delete(): raise AttributeError("tag 'media_hub_project_team_delete' not set") return self._value def get_media_hub_project_team_role_changed(self): """ (sharing) Changed member role in Media Hub project Only call this if :meth:`is_media_hub_project_team_role_changed` is true. :rtype: MediaHubProjectTeamRoleChangedType """ if not self.is_media_hub_project_team_role_changed(): raise AttributeError("tag 'media_hub_project_team_role_changed' not set") return self._value def get_media_hub_shared_link_audience_changed(self): """ (sharing) Changed Media Hub shared link audience Only call this if :meth:`is_media_hub_shared_link_audience_changed` is true. :rtype: MediaHubSharedLinkAudienceChangedType """ if not self.is_media_hub_shared_link_audience_changed(): raise AttributeError("tag 'media_hub_shared_link_audience_changed' not set") return self._value def get_media_hub_shared_link_created(self): """ (sharing) Created Media Hub shared link Only call this if :meth:`is_media_hub_shared_link_created` is true. :rtype: MediaHubSharedLinkCreatedType """ if not self.is_media_hub_shared_link_created(): raise AttributeError("tag 'media_hub_shared_link_created' not set") return self._value def get_media_hub_shared_link_download_setting_changed(self): """ (sharing) Changed Media Hub shared link download setting Only call this if :meth:`is_media_hub_shared_link_download_setting_changed` is true. :rtype: MediaHubSharedLinkDownloadSettingChangedType """ if not self.is_media_hub_shared_link_download_setting_changed(): raise AttributeError("tag 'media_hub_shared_link_download_setting_changed' not set") return self._value def get_media_hub_shared_link_revoked(self): """ (sharing) Revoked Media Hub shared link Only call this if :meth:`is_media_hub_shared_link_revoked` is true. :rtype: MediaHubSharedLinkRevokedType """ if not self.is_media_hub_shared_link_revoked(): raise AttributeError("tag 'media_hub_shared_link_revoked' 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_replay_file_shared_link_created(self): """ (sharing) Created shared link in Replay Only call this if :meth:`is_replay_file_shared_link_created` is true. :rtype: ReplayFileSharedLinkCreatedType """ if not self.is_replay_file_shared_link_created(): raise AttributeError("tag 'replay_file_shared_link_created' not set") return self._value def get_replay_file_shared_link_modified(self): """ (sharing) Changed shared link in Replay Only call this if :meth:`is_replay_file_shared_link_modified` is true. :rtype: ReplayFileSharedLinkModifiedType """ if not self.is_replay_file_shared_link_modified(): raise AttributeError("tag 'replay_file_shared_link_modified' not set") return self._value def get_replay_project_team_add(self): """ (sharing) Added member to Replay Project Only call this if :meth:`is_replay_project_team_add` is true. :rtype: ReplayProjectTeamAddType """ if not self.is_replay_project_team_add(): raise AttributeError("tag 'replay_project_team_add' not set") return self._value def get_replay_project_team_delete(self): """ (sharing) Removed member from Replay Project Only call this if :meth:`is_replay_project_team_delete` is true. :rtype: ReplayProjectTeamDeleteType """ if not self.is_replay_project_team_delete(): raise AttributeError("tag 'replay_project_team_delete' not set") return self._value def get_send_and_track_file_added(self): """ (sharing) File added to Send and Track Only call this if :meth:`is_send_and_track_file_added` is true. :rtype: SendAndTrackFileAddedType """ if not self.is_send_and_track_file_added(): raise AttributeError("tag 'send_and_track_file_added' not set") return self._value def get_send_and_track_file_renamed(self): """ (sharing) File renamed in Send and Track Only call this if :meth:`is_send_and_track_file_renamed` is true. :rtype: SendAndTrackFileRenamedType """ if not self.is_send_and_track_file_renamed(): raise AttributeError("tag 'send_and_track_file_renamed' not set") return self._value def get_send_and_track_file_updated(self): """ (sharing) File updated in Send and Track Only call this if :meth:`is_send_and_track_file_updated` is true. :rtype: SendAndTrackFileUpdatedType """ if not self.is_send_and_track_file_updated(): raise AttributeError("tag 'send_and_track_file_updated' not set") return self._value def get_send_and_track_link_created(self): """ (sharing) Link created in Send and Track Only call this if :meth:`is_send_and_track_link_created` is true. :rtype: SendAndTrackLinkCreatedType """ if not self.is_send_and_track_link_created(): raise AttributeError("tag 'send_and_track_link_created' not set") return self._value def get_send_and_track_link_deleted(self): """ (sharing) Link deleted in Send and Track Only call this if :meth:`is_send_and_track_link_deleted` is true. :rtype: SendAndTrackLinkDeletedType """ if not self.is_send_and_track_link_deleted(): raise AttributeError("tag 'send_and_track_link_deleted' not set") return self._value def get_send_and_track_link_updated(self): """ (sharing) Send and Track Link Updated Only call this if :meth:`is_send_and_track_link_updated` is true. :rtype: SendAndTrackLinkUpdatedType """ if not self.is_send_and_track_link_updated(): raise AttributeError("tag 'send_and_track_link_updated' not set") return self._value def get_send_and_track_link_viewed(self): """ (sharing) Send and Track Link Visited Only call this if :meth:`is_send_and_track_link_viewed` is true. :rtype: SendAndTrackLinkViewedType """ if not self.is_send_and_track_link_viewed(): raise AttributeError("tag 'send_and_track_link_viewed' not set") return self._value def get_send_and_track_removed_file_and_associated_links(self): """ (sharing) Send and Track file and associated links deleted Only call this if :meth:`is_send_and_track_removed_file_and_associated_links` is true. :rtype: SendAndTrackRemovedFileAndAssociatedLinksType """ if not self.is_send_and_track_removed_file_and_associated_links(): raise AttributeError("tag 'send_and_track_removed_file_and_associated_links' 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 (deprecated, no longer logged) 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 (deprecated, no longer logged) 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 (deprecated, no longer logged) 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 (deprecated, no longer logged) 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 (deprecated, no longer logged) 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 (deprecated, no longer logged) 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 (deprecated, no longer logged) 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 (deprecated, no longer logged) 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_restore_invitees(self): """ (sharing) Restored shared file/folder invitees Only call this if :meth:`is_shared_content_restore_invitees` is true. :rtype: SharedContentRestoreInviteesType """ if not self.is_shared_content_restore_invitees(): raise AttributeError("tag 'shared_content_restore_invitees' not set") return self._value def get_shared_content_restore_member(self): """ (sharing) Restored users and/or groups to membership of shared file/folder Only call this if :meth:`is_shared_content_restore_member` is true. :rtype: SharedContentRestoreMemberType """ if not self.is_shared_content_restore_member(): raise AttributeError("tag 'shared_content_restore_member' not set") return self._value def get_shared_content_unshare(self): """ (sharing) Unshared file/folder by clearing membership 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_remove_visitor(self): """ (sharing) Removed link visitor Only call this if :meth:`is_shared_link_remove_visitor` is true. :rtype: SharedLinkRemoveVisitorType """ if not self.is_shared_link_remove_visitor(): raise AttributeError("tag 'shared_link_remove_visitor' not set") return self._value def get_shared_link_settings_add_expiration(self): """ (sharing) Added an expiration date to the shared link Only call this if :meth:`is_shared_link_settings_add_expiration` is true. :rtype: SharedLinkSettingsAddExpirationType """ if not self.is_shared_link_settings_add_expiration(): raise AttributeError("tag 'shared_link_settings_add_expiration' not set") return self._value def get_shared_link_settings_add_password(self): """ (sharing) Added a password to the shared link Only call this if :meth:`is_shared_link_settings_add_password` is true. :rtype: SharedLinkSettingsAddPasswordType """ if not self.is_shared_link_settings_add_password(): raise AttributeError("tag 'shared_link_settings_add_password' not set") return self._value def get_shared_link_settings_allow_download_disabled(self): """ (sharing) Disabled downloads Only call this if :meth:`is_shared_link_settings_allow_download_disabled` is true. :rtype: SharedLinkSettingsAllowDownloadDisabledType """ if not self.is_shared_link_settings_allow_download_disabled(): raise AttributeError("tag 'shared_link_settings_allow_download_disabled' not set") return self._value def get_shared_link_settings_allow_download_enabled(self): """ (sharing) Enabled downloads Only call this if :meth:`is_shared_link_settings_allow_download_enabled` is true. :rtype: SharedLinkSettingsAllowDownloadEnabledType """ if not self.is_shared_link_settings_allow_download_enabled(): raise AttributeError("tag 'shared_link_settings_allow_download_enabled' not set") return self._value def get_shared_link_settings_change_audience(self): """ (sharing) Changed the audience of the shared link Only call this if :meth:`is_shared_link_settings_change_audience` is true. :rtype: SharedLinkSettingsChangeAudienceType """ if not self.is_shared_link_settings_change_audience(): raise AttributeError("tag 'shared_link_settings_change_audience' not set") return self._value def get_shared_link_settings_change_expiration(self): """ (sharing) Changed the expiration date of the shared link Only call this if :meth:`is_shared_link_settings_change_expiration` is true. :rtype: SharedLinkSettingsChangeExpirationType """ if not self.is_shared_link_settings_change_expiration(): raise AttributeError("tag 'shared_link_settings_change_expiration' not set") return self._value def get_shared_link_settings_change_password(self): """ (sharing) Changed the password of the shared link Only call this if :meth:`is_shared_link_settings_change_password` is true. :rtype: SharedLinkSettingsChangePasswordType """ if not self.is_shared_link_settings_change_password(): raise AttributeError("tag 'shared_link_settings_change_password' not set") return self._value def get_shared_link_settings_remove_expiration(self): """ (sharing) Removed the expiration date from the shared link Only call this if :meth:`is_shared_link_settings_remove_expiration` is true. :rtype: SharedLinkSettingsRemoveExpirationType """ if not self.is_shared_link_settings_remove_expiration(): raise AttributeError("tag 'shared_link_settings_remove_expiration' not set") return self._value def get_shared_link_settings_remove_password(self): """ (sharing) Removed the password from the shared link Only call this if :meth:`is_shared_link_settings_remove_password` is true. :rtype: SharedLinkSettingsRemovePasswordType """ if not self.is_shared_link_settings_remove_password(): raise AttributeError("tag 'shared_link_settings_remove_password' 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_disable_downloads(self): """ (sharing) Disabled downloads for link (deprecated, no longer logged) Only call this if :meth:`is_shmodel_disable_downloads` is true. :rtype: ShmodelDisableDownloadsType """ if not self.is_shmodel_disable_downloads(): raise AttributeError("tag 'shmodel_disable_downloads' not set") return self._value def get_shmodel_enable_downloads(self): """ (sharing) Enabled downloads for link (deprecated, no longer logged) Only call this if :meth:`is_shmodel_enable_downloads` is true. :rtype: ShmodelEnableDownloadsType """ if not self.is_shmodel_enable_downloads(): raise AttributeError("tag 'shmodel_enable_downloads' 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_sign_signature_request_canceled(self): """ (signatures) Canceled signature request Only call this if :meth:`is_sign_signature_request_canceled` is true. :rtype: SignSignatureRequestCanceledType """ if not self.is_sign_signature_request_canceled(): raise AttributeError("tag 'sign_signature_request_canceled' not set") return self._value def get_sign_signature_request_completed(self): """ (signatures) Completed signature request Only call this if :meth:`is_sign_signature_request_completed` is true. :rtype: SignSignatureRequestCompletedType """ if not self.is_sign_signature_request_completed(): raise AttributeError("tag 'sign_signature_request_completed' not set") return self._value def get_sign_signature_request_declined(self): """ (signatures) Declined signature request Only call this if :meth:`is_sign_signature_request_declined` is true. :rtype: SignSignatureRequestDeclinedType """ if not self.is_sign_signature_request_declined(): raise AttributeError("tag 'sign_signature_request_declined' not set") return self._value def get_sign_signature_request_opened(self): """ (signatures) Opened signature request Only call this if :meth:`is_sign_signature_request_opened` is true. :rtype: SignSignatureRequestOpenedType """ if not self.is_sign_signature_request_opened(): raise AttributeError("tag 'sign_signature_request_opened' not set") return self._value def get_sign_signature_request_reminder_sent(self): """ (signatures) Sent signature request reminder Only call this if :meth:`is_sign_signature_request_reminder_sent` is true. :rtype: SignSignatureRequestReminderSentType """ if not self.is_sign_signature_request_reminder_sent(): raise AttributeError("tag 'sign_signature_request_reminder_sent' not set") return self._value def get_sign_signature_request_sent(self): """ (signatures) Sent signature request Only call this if :meth:`is_sign_signature_request_sent` is true. :rtype: SignSignatureRequestSentType """ if not self.is_sign_signature_request_sent(): raise AttributeError("tag 'sign_signature_request_sent' not set") return self._value def get_sign_template_created(self): """ (signatures) Created template Only call this if :meth:`is_sign_template_created` is true. :rtype: SignTemplateCreatedType """ if not self.is_sign_template_created(): raise AttributeError("tag 'sign_template_created' not set") return self._value def get_sign_template_shared(self): """ (signatures) Shared template Only call this if :meth:`is_sign_template_shared` is true. :rtype: SignTemplateSharedType """ if not self.is_sign_template_shared(): raise AttributeError("tag 'sign_template_shared' not set") return self._value def get_risc_security_event(self): """ (sso) RISC security event received from external provider Only call this if :meth:`is_risc_security_event` is true. :rtype: RiscSecurityEventType """ if not self.is_risc_security_event(): raise AttributeError("tag 'risc_security_event' 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_folder_space_limits_change_caps_type(self): """ (team_folders) Changed team folder space limit enforcement type Only call this if :meth:`is_team_folder_space_limits_change_caps_type` is true. :rtype: TeamFolderSpaceLimitsChangeCapsTypeType """ if not self.is_team_folder_space_limits_change_caps_type(): raise AttributeError("tag 'team_folder_space_limits_change_caps_type' not set") return self._value def get_team_folder_space_limits_change_limit(self): """ (team_folders) Changed team folder space limit Only call this if :meth:`is_team_folder_space_limits_change_limit` is true. :rtype: TeamFolderSpaceLimitsChangeLimitType """ if not self.is_team_folder_space_limits_change_limit(): raise AttributeError("tag 'team_folder_space_limits_change_limit' not set") return self._value def get_team_folder_space_limits_change_notification_target(self): """ (team_folders) Changed team folder space limit notification target Only call this if :meth:`is_team_folder_space_limits_change_notification_target` is true. :rtype: TeamFolderSpaceLimitsChangeNotificationTargetType """ if not self.is_team_folder_space_limits_change_notification_target(): raise AttributeError( "tag 'team_folder_space_limits_change_notification_target' 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_admin_email_reminders_changed(self): """ (team_policies) Changed admin reminder settings for requests to join the team Only call this if :meth:`is_admin_email_reminders_changed` is true. :rtype: AdminEmailRemindersChangedType """ if not self.is_admin_email_reminders_changed(): raise AttributeError("tag 'admin_email_reminders_changed' not set") return self._value def get_ai_third_party_sharing_dropbox_base_policy_changed(self): """ (team_policies) Changed AI third party sharing policy for team Only call this if :meth:`is_ai_third_party_sharing_dropbox_base_policy_changed` is true. :rtype: AiThirdPartySharingDropboxBasePolicyChangedType """ if not self.is_ai_third_party_sharing_dropbox_base_policy_changed(): raise AttributeError("tag 'ai_third_party_sharing_dropbox_base_policy_changed' 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_apple_login_change_policy(self): """ (team_policies) Enabled/disabled Apple login for team Only call this if :meth:`is_apple_login_change_policy` is true. :rtype: AppleLoginChangePolicyType """ if not self.is_apple_login_change_policy(): raise AttributeError("tag 'apple_login_change_policy' not set") return self._value def get_app_permissions_changed(self): """ (team_policies) Changed app permissions Only call this if :meth:`is_app_permissions_changed` is true. :rtype: AppPermissionsChangedType """ if not self.is_app_permissions_changed(): raise AttributeError("tag 'app_permissions_changed' 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_capture_team_space_policy_changed(self): """ (team_policies) Changed Capture team space policy for team Only call this if :meth:`is_capture_team_space_policy_changed` is true. :rtype: CaptureTeamSpacePolicyChangedType """ if not self.is_capture_team_space_policy_changed(): raise AttributeError("tag 'capture_team_space_policy_changed' not set") return self._value def get_capture_transcript_policy_changed(self): """ (team_policies) Changed Capture transcription policy for team Only call this if :meth:`is_capture_transcript_policy_changed` is true. :rtype: CaptureTranscriptPolicyChangedType """ if not self.is_capture_transcript_policy_changed(): raise AttributeError("tag 'capture_transcript_policy_changed' not set") return self._value def get_classification_change_policy(self): """ (team_policies) Changed classification policy for team Only call this if :meth:`is_classification_change_policy` is true. :rtype: ClassificationChangePolicyType """ if not self.is_classification_change_policy(): raise AttributeError("tag 'classification_change_policy' not set") return self._value def get_computer_backup_policy_changed(self): """ (team_policies) Changed computer backup policy for team Only call this if :meth:`is_computer_backup_policy_changed` is true. :rtype: ComputerBackupPolicyChangedType """ if not self.is_computer_backup_policy_changed(): raise AttributeError("tag 'computer_backup_policy_changed' not set") return self._value def get_content_administration_policy_changed(self): """ (team_policies) Changed content management setting Only call this if :meth:`is_content_administration_policy_changed` is true. :rtype: ContentAdministrationPolicyChangedType """ if not self.is_content_administration_policy_changed(): raise AttributeError("tag 'content_administration_policy_changed' not set") return self._value def get_content_deletion_protection_change_policy(self): """ (team_policies) Changed content deletion protection policy for team Only call this if :meth:`is_content_deletion_protection_change_policy` is true. :rtype: ContentDeletionProtectionChangePolicyType """ if not self.is_content_deletion_protection_change_policy(): raise AttributeError("tag 'content_deletion_protection_change_policy' not set") return self._value def get_dash_external_sharing_policy_changed(self): """ (team_policies) Changed Dash external sharing policy for team Only call this if :meth:`is_dash_external_sharing_policy_changed` is true. :rtype: DashExternalSharingPolicyChangedType """ if not self.is_dash_external_sharing_policy_changed(): raise AttributeError("tag 'dash_external_sharing_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_add_exception(self): """ (team_policies) Added members to device approvals exception list Only call this if :meth:`is_device_approvals_add_exception` is true. :rtype: DeviceApprovalsAddExceptionType """ if not self.is_device_approvals_add_exception(): raise AttributeError("tag 'device_approvals_add_exception' 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_device_approvals_remove_exception(self): """ (team_policies) Removed members from device approvals exception list Only call this if :meth:`is_device_approvals_remove_exception` is true. :rtype: DeviceApprovalsRemoveExceptionType """ if not self.is_device_approvals_remove_exception(): raise AttributeError("tag 'device_approvals_remove_exception' 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_dropbox_passwords_policy_changed(self): """ (team_policies) Changed Dropbox Passwords policy for team Only call this if :meth:`is_dropbox_passwords_policy_changed` is true. :rtype: DropboxPasswordsPolicyChangedType """ if not self.is_dropbox_passwords_policy_changed(): raise AttributeError("tag 'dropbox_passwords_policy_changed' not set") return self._value def get_email_ingest_policy_changed(self): """ (team_policies) Changed email to Dropbox policy for team Only call this if :meth:`is_email_ingest_policy_changed` is true. :rtype: EmailIngestPolicyChangedType """ if not self.is_email_ingest_policy_changed(): raise AttributeError("tag 'email_ingest_policy_changed' 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_external_drive_backup_policy_changed(self): """ (team_policies) Changed external drive backup policy for team Only call this if :meth:`is_external_drive_backup_policy_changed` is true. :rtype: ExternalDriveBackupPolicyChangedType """ if not self.is_external_drive_backup_policy_changed(): raise AttributeError("tag 'external_drive_backup_policy_changed' 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_locking_policy_changed(self): """ (team_policies) Changed file locking policy for team Only call this if :meth:`is_file_locking_policy_changed` is true. :rtype: FileLockingPolicyChangedType """ if not self.is_file_locking_policy_changed(): raise AttributeError("tag 'file_locking_policy_changed' not set") return self._value def get_file_provider_migration_policy_changed(self): """ (team_policies) Changed File Provider Migration policy for team Only call this if :meth:`is_file_provider_migration_policy_changed` is true. :rtype: FileProviderMigrationPolicyChangedType """ if not self.is_file_provider_migration_policy_changed(): raise AttributeError("tag 'file_provider_migration_policy_changed' 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_file_transfers_policy_changed(self): """ (team_policies) Changed file transfers policy for team Only call this if :meth:`is_file_transfers_policy_changed` is true. :rtype: FileTransfersPolicyChangedType """ if not self.is_file_transfers_policy_changed(): raise AttributeError("tag 'file_transfers_policy_changed' not set") return self._value def get_flexible_file_names_policy_changed(self): """ (team_policies) Changed flexible file names policy for team Only call this if :meth:`is_flexible_file_names_policy_changed` is true. :rtype: FlexibleFileNamesPolicyChangedType """ if not self.is_flexible_file_names_policy_changed(): raise AttributeError("tag 'flexible_file_names_policy_changed' not set") return self._value def get_folder_link_restriction_policy_changed(self): """ (team_policies) Changed folder link restrictions policy for team Only call this if :meth:`is_folder_link_restriction_policy_changed` is true. :rtype: FolderLinkRestrictionPolicyChangedType """ if not self.is_folder_link_restriction_policy_changed(): raise AttributeError("tag 'folder_link_restriction_policy_changed' 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_invite_acceptance_email_policy_changed(self): """ (team_policies) Changed invite accept email policy for team Only call this if :meth:`is_invite_acceptance_email_policy_changed` is true. :rtype: InviteAcceptanceEmailPolicyChangedType """ if not self.is_invite_acceptance_email_policy_changed(): raise AttributeError("tag 'invite_acceptance_email_policy_changed' not set") return self._value def get_media_hub_adding_people_policy_changed(self): """ (team_policies) Changed the policy for adding people to Media Hub content Only call this if :meth:`is_media_hub_adding_people_policy_changed` is true. :rtype: MediaHubAddingPeoplePolicyChangedType """ if not self.is_media_hub_adding_people_policy_changed(): raise AttributeError("tag 'media_hub_adding_people_policy_changed' not set") return self._value def get_media_hub_download_policy_changed(self): """ (team_policies) Changed the policy for downloading Media Hub content Only call this if :meth:`is_media_hub_download_policy_changed` is true. :rtype: MediaHubDownloadPolicyChangedType """ if not self.is_media_hub_download_policy_changed(): raise AttributeError("tag 'media_hub_download_policy_changed' not set") return self._value def get_media_hub_link_sharing_policy_changed(self): """ (team_policies) Changed the policy for sharing Media Hub content Only call this if :meth:`is_media_hub_link_sharing_policy_changed` is true. :rtype: MediaHubLinkSharingPolicyChangedType """ if not self.is_media_hub_link_sharing_policy_changed(): raise AttributeError("tag 'media_hub_link_sharing_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_send_invite_policy_changed(self): """ (team_policies) Changed member send invite policy for team Only call this if :meth:`is_member_send_invite_policy_changed` is true. :rtype: MemberSendInvitePolicyChangedType """ if not self.is_member_send_invite_policy_changed(): raise AttributeError("tag 'member_send_invite_policy_changed' 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_login_change_policy(self): """ (team_policies) Enabled/disabled Microsoft login for team Only call this if :meth:`is_microsoft_login_change_policy` is true. :rtype: MicrosoftLoginChangePolicyType """ if not self.is_microsoft_login_change_policy(): raise AttributeError("tag 'microsoft_login_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_multi_team_identity_policy_changed(self): """ (team_policies) Changed multi-team identity policy for team Only call this if :meth:`is_multi_team_identity_policy_changed` is true. :rtype: MultiTeamIdentityPolicyChangedType """ if not self.is_multi_team_identity_policy_changed(): raise AttributeError("tag 'multi_team_identity_policy_changed' 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_passkey_login_policy_changed(self): """ (team_policies) Changed passkey login policy for team Only call this if :meth:`is_passkey_login_policy_changed` is true. :rtype: PasskeyLoginPolicyChangedType """ if not self.is_passkey_login_policy_changed(): raise AttributeError("tag 'passkey_login_policy_changed' not set") return self._value def get_password_strength_requirements_change_policy(self): """ (team_policies) Changed team password strength requirements Only call this if :meth:`is_password_strength_requirements_change_policy` is true. :rtype: PasswordStrengthRequirementsChangePolicyType """ if not self.is_password_strength_requirements_change_policy(): raise AttributeError("tag 'password_strength_requirements_change_policy' 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_previews_ai_policy_changed(self): """ (team_policies) Changed Dropbox AI policy for team Only call this if :meth:`is_previews_ai_policy_changed` is true. :rtype: PreviewsAiPolicyChangedType """ if not self.is_previews_ai_policy_changed(): raise AttributeError("tag 'previews_ai_policy_changed' not set") return self._value def get_replay_adding_people_policy_changed(self): """ (team_policies) Changed the policy for adding people to Replay content Only call this if :meth:`is_replay_adding_people_policy_changed` is true. :rtype: ReplayAddingPeoplePolicyChangedType """ if not self.is_replay_adding_people_policy_changed(): raise AttributeError("tag 'replay_adding_people_policy_changed' not set") return self._value def get_replay_sharing_policy_changed(self): """ (team_policies) Changed the policy for sharing Replay content Only call this if :meth:`is_replay_sharing_policy_changed` is true. :rtype: ReplaySharingPolicyChangedType """ if not self.is_replay_sharing_policy_changed(): raise AttributeError("tag 'replay_sharing_policy_changed' 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_rewind_policy_changed(self): """ (team_policies) Changed Rewind policy for team Only call this if :meth:`is_rewind_policy_changed` is true. :rtype: RewindPolicyChangedType """ if not self.is_rewind_policy_changed(): raise AttributeError("tag 'rewind_policy_changed' not set") return self._value def get_send_and_track_policy_changed(self): """ (team_policies) Changed “Send and track� policy for team Only call this if :meth:`is_send_and_track_policy_changed` is true. :rtype: SendAndTrackPolicyChangedType """ if not self.is_send_and_track_policy_changed(): raise AttributeError("tag 'send_and_track_policy_changed' not set") return self._value def get_send_external_sharing_policy_changed(self): """ (team_policies) Changed “Send and track� external sharing policy for team Only call this if :meth:`is_send_external_sharing_policy_changed` is true. :rtype: SendExternalSharingPolicyChangedType """ if not self.is_send_external_sharing_policy_changed(): raise AttributeError("tag 'send_external_sharing_policy_changed' not set") return self._value def get_send_for_signature_policy_changed(self): """ (team_policies) Changed send for signature policy for team Only call this if :meth:`is_send_for_signature_policy_changed` is true. :rtype: SendForSignaturePolicyChangedType """ if not self.is_send_for_signature_policy_changed(): raise AttributeError("tag 'send_for_signature_policy_changed' not set") return self._value def get_shared_link_default_permissions_policy_changed(self): """ (team_policies) Changed shared link default permissions policy for team Only call this if :meth:`is_shared_link_default_permissions_policy_changed` is true. :rtype: SharedLinkDefaultPermissionsPolicyChangedType """ if not self.is_shared_link_default_permissions_policy_changed(): raise AttributeError("tag 'shared_link_default_permissions_policy_changed' 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_allow_change_expiration_policy(self): """ (team_policies) Changed the allow remove or change expiration policy for the links shared outside of the team Only call this if :meth:`is_sharing_change_link_allow_change_expiration_policy` is true. :rtype: SharingChangeLinkAllowChangeExpirationPolicyType """ if not self.is_sharing_change_link_allow_change_expiration_policy(): raise AttributeError("tag 'sharing_change_link_allow_change_expiration_policy' not set") return self._value def get_sharing_change_link_default_expiration_policy(self): """ (team_policies) Changed the default expiration for the links shared outside of the team Only call this if :meth:`is_sharing_change_link_default_expiration_policy` is true. :rtype: SharingChangeLinkDefaultExpirationPolicyType """ if not self.is_sharing_change_link_default_expiration_policy(): raise AttributeError("tag 'sharing_change_link_default_expiration_policy' not set") return self._value def get_sharing_change_link_enforce_password_policy(self): """ (team_policies) Changed the password requirement for the links shared outside of the team Only call this if :meth:`is_sharing_change_link_enforce_password_policy` is true. :rtype: SharingChangeLinkEnforcePasswordPolicyType """ if not self.is_sharing_change_link_enforce_password_policy(): raise AttributeError("tag 'sharing_change_link_enforce_password_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_sign_external_sharing_policy_changed(self): """ (team_policies) Changed Signatures external sharing policy for team Only call this if :meth:`is_sign_external_sharing_policy_changed` is true. :rtype: SignExternalSharingPolicyChangedType """ if not self.is_sign_external_sharing_policy_changed(): raise AttributeError("tag 'sign_external_sharing_policy_changed' not set") return self._value def get_sign_template_creation_permission_changed(self): """ (team_policies) Changed template creation permission Only call this if :meth:`is_sign_template_creation_permission_changed` is true. :rtype: SignTemplateCreationPermissionChangedType """ if not self.is_sign_template_creation_permission_changed(): raise AttributeError("tag 'sign_template_creation_permission_changed' not set") return self._value def get_smarter_smart_sync_policy_changed(self): """ (team_policies) Changed automatic Smart Sync setting for team Only call this if :meth:`is_smarter_smart_sync_policy_changed` is true. :rtype: SmarterSmartSyncPolicyChangedType """ if not self.is_smarter_smart_sync_policy_changed(): raise AttributeError("tag 'smarter_smart_sync_policy_changed' 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_stack_cross_team_access_policy_changed(self): """ (team_policies) Changed cross-team Stack access policy for team Only call this if :meth:`is_stack_cross_team_access_policy_changed` is true. :rtype: StackCrossTeamAccessPolicyChangedType """ if not self.is_stack_cross_team_access_policy_changed(): raise AttributeError("tag 'stack_cross_team_access_policy_changed' not set") return self._value def get_team_branding_policy_changed(self): """ (team_policies) Changed team branding policy for team Only call this if :meth:`is_team_branding_policy_changed` is true. :rtype: TeamBrandingPolicyChangedType """ if not self.is_team_branding_policy_changed(): raise AttributeError("tag 'team_branding_policy_changed' 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_member_storage_request_policy_changed(self): """ (team_policies) Changed team member storage request policy for team Only call this if :meth:`is_team_member_storage_request_policy_changed` is true. :rtype: TeamMemberStorageRequestPolicyChangedType """ if not self.is_team_member_storage_request_policy_changed(): raise AttributeError("tag 'team_member_storage_request_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_team_sharing_whitelist_subjects_changed(self): """ (team_policies) Edited the approved list for sharing externally Only call this if :meth:`is_team_sharing_whitelist_subjects_changed` is true. :rtype: TeamSharingWhitelistSubjectsChangedType """ if not self.is_team_sharing_whitelist_subjects_changed(): raise AttributeError("tag 'team_sharing_whitelist_subjects_changed' not set") return self._value def get_tfa_add_exception(self): """ (team_policies) Added members to two factor authentication exception list Only call this if :meth:`is_tfa_add_exception` is true. :rtype: TfaAddExceptionType """ if not self.is_tfa_add_exception(): raise AttributeError("tag 'tfa_add_exception' not set") return self._value def get_tfa_change_policy(self): """ (team_policies) Changed two-factor authentication 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_tfa_remove_exception(self): """ (team_policies) Removed members from two factor authentication exception list Only call this if :meth:`is_tfa_remove_exception` is true. :rtype: TfaRemoveExceptionType """ if not self.is_tfa_remove_exception(): raise AttributeError("tag 'tfa_remove_exception' not set") return self._value def get_top_level_content_policy_changed(self): """ (team_policies) Changed top level content setting for team Only call this if :meth:`is_top_level_content_policy_changed` is true. :rtype: TopLevelContentPolicyChangedType """ if not self.is_top_level_content_policy_changed(): raise AttributeError("tag 'top_level_content_policy_changed' 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_watermarking_policy_changed(self): """ (team_policies) Changed watermarking policy for team Only call this if :meth:`is_watermarking_policy_changed` is true. :rtype: WatermarkingPolicyChangedType """ if not self.is_watermarking_policy_changed(): raise AttributeError("tag 'watermarking_policy_changed' not set") return self._value def get_web_sessions_change_active_session_limit(self): """ (team_policies) Changed limit on active sessions per member Only call this if :meth:`is_web_sessions_change_active_session_limit` is true. :rtype: WebSessionsChangeActiveSessionLimitType """ if not self.is_web_sessions_change_active_session_limit(): raise AttributeError("tag 'web_sessions_change_active_session_limit' 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_data_residency_migration_request_successful(self): """ (team_profile) Requested data residency migration for team data Only call this if :meth:`is_data_residency_migration_request_successful` is true. :rtype: DataResidencyMigrationRequestSuccessfulType """ if not self.is_data_residency_migration_request_successful(): raise AttributeError("tag 'data_residency_migration_request_successful' not set") return self._value def get_data_residency_migration_request_unsuccessful(self): """ (team_profile) Request for data residency migration for team data has failed Only call this if :meth:`is_data_residency_migration_request_unsuccessful` is true. :rtype: DataResidencyMigrationRequestUnsuccessfulType """ if not self.is_data_residency_migration_request_unsuccessful(): raise AttributeError("tag 'data_residency_migration_request_unsuccessful' 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_background(self): """ (team_profile) Added team background to display on shared link headers Only call this if :meth:`is_team_profile_add_background` is true. :rtype: TeamProfileAddBackgroundType """ if not self.is_team_profile_add_background(): raise AttributeError("tag 'team_profile_add_background' 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_background(self): """ (team_profile) Changed team background displayed on shared link headers Only call this if :meth:`is_team_profile_change_background` is true. :rtype: TeamProfileChangeBackgroundType """ if not self.is_team_profile_change_background(): raise AttributeError("tag 'team_profile_change_background' 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_background(self): """ (team_profile) Removed team background displayed on shared link headers Only call this if :meth:`is_team_profile_remove_background` is true. :rtype: TeamProfileRemoveBackgroundType """ if not self.is_team_profile_remove_background(): raise AttributeError("tag 'team_profile_remove_background' 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_passkey_add(self): """ (tfa) Added passkey for login Only call this if :meth:`is_passkey_add` is true. :rtype: PasskeyAddType """ if not self.is_passkey_add(): raise AttributeError("tag 'passkey_add' not set") return self._value def get_passkey_remove(self): """ (tfa) Removed passkey for login Only call this if :meth:`is_passkey_remove` is true. :rtype: PasskeyRemoveType """ if not self.is_passkey_remove(): raise AttributeError("tag 'passkey_remove' not set") return self._value def get_tfa_add_backup_phone(self): """ (tfa) Added backup phone for two-factor authentication 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-factor authentication 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-factor authentication 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-factor authentication 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-factor authentication 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-factor authentication 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-factor authentication 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_changed_enterprise_admin_role(self): """ (trusted_teams) Changed enterprise admin role Only call this if :meth:`is_changed_enterprise_admin_role` is true. :rtype: ChangedEnterpriseAdminRoleType """ if not self.is_changed_enterprise_admin_role(): raise AttributeError("tag 'changed_enterprise_admin_role' not set") return self._value def get_changed_enterprise_connected_team_status(self): """ (trusted_teams) Changed enterprise-connected team status Only call this if :meth:`is_changed_enterprise_connected_team_status` is true. :rtype: ChangedEnterpriseConnectedTeamStatusType """ if not self.is_changed_enterprise_connected_team_status(): raise AttributeError("tag 'changed_enterprise_connected_team_status' not set") return self._value def get_ended_enterprise_admin_session(self): """ (trusted_teams) Ended enterprise admin session Only call this if :meth:`is_ended_enterprise_admin_session` is true. :rtype: EndedEnterpriseAdminSessionType """ if not self.is_ended_enterprise_admin_session(): raise AttributeError("tag 'ended_enterprise_admin_session' not set") return self._value def get_ended_enterprise_admin_session_deprecated(self): """ (trusted_teams) Ended enterprise admin session (deprecated, replaced by 'Ended enterprise admin session') Only call this if :meth:`is_ended_enterprise_admin_session_deprecated` is true. :rtype: EndedEnterpriseAdminSessionDeprecatedType """ if not self.is_ended_enterprise_admin_session_deprecated(): raise AttributeError("tag 'ended_enterprise_admin_session_deprecated' not set") return self._value def get_enterprise_settings_locking(self): """ (trusted_teams) Changed who can update a setting Only call this if :meth:`is_enterprise_settings_locking` is true. :rtype: EnterpriseSettingsLockingType """ if not self.is_enterprise_settings_locking(): raise AttributeError("tag 'enterprise_settings_locking' 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_started_enterprise_admin_session(self): """ (trusted_teams) Started enterprise admin session Only call this if :meth:`is_started_enterprise_admin_session` is true. :rtype: StartedEnterpriseAdminSessionType """ if not self.is_started_enterprise_admin_session(): raise AttributeError("tag 'started_enterprise_admin_session' 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) EventType_validator = bv.Union(EventType) class EventTypeArg(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 EventTypeArg.admin_alerting_alert_state_changed: (admin_alerting) Changed an alert state :ivar EventTypeArg.admin_alerting_changed_alert_config: (admin_alerting) Changed an alert setting :ivar EventTypeArg.admin_alerting_triggered_alert: (admin_alerting) Triggered security alert :ivar EventTypeArg.ransomware_restore_process_completed: (admin_alerting) Completed ransomware restore process :ivar EventTypeArg.ransomware_restore_process_started: (admin_alerting) Started ransomware restore process :ivar EventTypeArg.app_blocked_by_permissions: (apps) Failed to connect app for member :ivar EventTypeArg.app_link_team: (apps) Linked app for team :ivar EventTypeArg.app_link_user: (apps) Linked app for member :ivar EventTypeArg.app_unlink_team: (apps) Unlinked app for team :ivar EventTypeArg.app_unlink_user: (apps) Unlinked app for member :ivar EventTypeArg.integration_connected: (apps) Connected integration for member :ivar EventTypeArg.integration_disconnected: (apps) Disconnected integration for member :ivar EventTypeArg.file_add_comment: (comments) Added file comment :ivar EventTypeArg.file_change_comment_subscription: (comments) Subscribed to or unsubscribed from comment notifications for file :ivar EventTypeArg.file_delete_comment: (comments) Deleted file comment :ivar EventTypeArg.file_edit_comment: (comments) Edited file comment :ivar EventTypeArg.file_like_comment: (comments) Liked file comment (deprecated, no longer logged) :ivar EventTypeArg.file_resolve_comment: (comments) Resolved file comment :ivar EventTypeArg.file_unlike_comment: (comments) Unliked file comment (deprecated, no longer logged) :ivar EventTypeArg.file_unresolve_comment: (comments) Unresolved file comment :ivar EventTypeArg.dash_added_comment_to_stack: (dash) Added a comment to a stack :ivar EventTypeArg.dash_added_connector: (dash) Connected to a user connector :ivar EventTypeArg.dash_added_link_to_stack: (dash) Added a link to a stack :ivar EventTypeArg.dash_added_team_email_domain_allowlist: (dash) Admin added an email domain to the team allowlist :ivar EventTypeArg.dash_admin_added_org_wide_connector: (dash) Admin added an admin connector :ivar EventTypeArg.dash_admin_disabled_connector: (dash) Admin disabled a user connector :ivar EventTypeArg.dash_admin_enabled_connector: (dash) Admin enabled a user connector :ivar EventTypeArg.dash_admin_removed_org_wide_connector: (dash) Admin removed an admin connector :ivar EventTypeArg.dash_archived_stack: (dash) Archived a stack :ivar EventTypeArg.dash_changed_audience_of_shared_link_to_stack: (dash) Changed the audience of a shared link to a stack :ivar EventTypeArg.dash_cloned_stack: (dash) Cloned stack :ivar EventTypeArg.dash_connector_tools_call: (dash) Called a tool on a connector :ivar EventTypeArg.dash_created_stack: (dash) Created a stack :ivar EventTypeArg.dash_deleted_comment_from_stack: (dash) Deleted a comment from a stack :ivar EventTypeArg.dash_deleted_stack: (dash) Deleted a stack :ivar EventTypeArg.dash_edited_comment_in_stack: (dash) Edited a comment in a stack :ivar EventTypeArg.dash_external_user_opened_stack: (dash) External user opened a stack :ivar EventTypeArg.dash_first_launched_desktop: (dash) Opened the desktop app for the first time :ivar EventTypeArg.dash_first_launched_extension: (dash) Opened the extension for the first time :ivar EventTypeArg.dash_first_launched_web_start_page: (dash) Opened the web Start Page for the first time :ivar EventTypeArg.dash_opened_shared_link_to_stack: (dash) Checked access permissions to a stack :ivar EventTypeArg.dash_opened_stack: (dash) Opened a stack :ivar EventTypeArg.dash_preview_opt_out_status_changed: (dash) Changed the preview opt-out status :ivar EventTypeArg.dash_removed_connector: (dash) Disconnected a user connector :ivar EventTypeArg.dash_removed_link_from_stack: (dash) Removed a link from a stack :ivar EventTypeArg.dash_removed_shared_link_to_stack: (dash) Removed a shared link to a stack :ivar EventTypeArg.dash_removed_team_email_domain_allowlist: (dash) Admin removed an email domain from the team allowlist :ivar EventTypeArg.dash_renamed_stack: (dash) Renamed a stack :ivar EventTypeArg.dash_shared_link_to_stack: (dash) Shared a link to a stack :ivar EventTypeArg.dash_unarchived_stack: (dash) Unarchived a stack :ivar EventTypeArg.dash_viewed_company_stack: (dash) Member viewed a company stack :ivar EventTypeArg.dash_viewed_external_ai_activity_report: (dash) Admin viewed the external AI activity report :ivar EventTypeArg.governance_policy_add_folders: (data_governance) Added folders to policy :ivar EventTypeArg.governance_policy_add_folder_failed: (data_governance) Couldn't add a folder to a policy :ivar EventTypeArg.governance_policy_content_disposed: (data_governance) Content disposed :ivar EventTypeArg.governance_policy_create: (data_governance) Activated a new policy :ivar EventTypeArg.governance_policy_delete: (data_governance) Deleted a policy :ivar EventTypeArg.governance_policy_edit_details: (data_governance) Edited policy :ivar EventTypeArg.governance_policy_edit_duration: (data_governance) Changed policy duration :ivar EventTypeArg.governance_policy_export_created: (data_governance) Created a policy download :ivar EventTypeArg.governance_policy_export_removed: (data_governance) Removed a policy download :ivar EventTypeArg.governance_policy_remove_folders: (data_governance) Removed folders from policy :ivar EventTypeArg.governance_policy_report_created: (data_governance) Created a summary report for a policy :ivar EventTypeArg.governance_policy_zip_part_downloaded: (data_governance) Downloaded content from a policy :ivar EventTypeArg.legal_holds_activate_a_hold: (data_governance) Activated a hold :ivar EventTypeArg.legal_holds_add_members: (data_governance) Added members to a hold :ivar EventTypeArg.legal_holds_change_hold_details: (data_governance) Edited details for a hold :ivar EventTypeArg.legal_holds_change_hold_name: (data_governance) Renamed a hold :ivar EventTypeArg.legal_holds_export_a_hold: (data_governance) Exported hold :ivar EventTypeArg.legal_holds_export_cancelled: (data_governance) Canceled export for a hold :ivar EventTypeArg.legal_holds_export_downloaded: (data_governance) Downloaded export for a hold :ivar EventTypeArg.legal_holds_export_removed: (data_governance) Removed export for a hold :ivar EventTypeArg.legal_holds_release_a_hold: (data_governance) Released a hold :ivar EventTypeArg.legal_holds_remove_members: (data_governance) Removed members from a hold :ivar EventTypeArg.legal_holds_report_a_hold: (data_governance) Created a summary report for a hold :ivar EventTypeArg.device_change_ip_desktop: (devices) Changed IP address associated with active desktop session :ivar EventTypeArg.device_change_ip_mobile: (devices) Changed IP address associated with active mobile session :ivar EventTypeArg.device_change_ip_web: (devices) Changed IP address associated with active web session :ivar EventTypeArg.device_delete_on_unlink_fail: (devices) Failed to delete all files from unlinked device :ivar EventTypeArg.device_delete_on_unlink_success: (devices) Deleted all files from unlinked device :ivar EventTypeArg.device_link_fail: (devices) Failed to link device :ivar EventTypeArg.device_link_success: (devices) Linked device :ivar EventTypeArg.device_management_disabled: (devices) Disabled device management (deprecated, no longer logged) :ivar EventTypeArg.device_management_enabled: (devices) Enabled device management (deprecated, no longer logged) :ivar EventTypeArg.device_sync_backup_status_changed: (devices) Enabled/disabled backup for computer :ivar EventTypeArg.device_unlink: (devices) Disconnected device :ivar EventTypeArg.dropbox_passwords_exported: (devices) Exported passwords :ivar EventTypeArg.dropbox_passwords_new_device_enrolled: (devices) Enrolled new Dropbox Passwords device :ivar EventTypeArg.emm_refresh_auth_token: (devices) Refreshed auth token used for setting up EMM :ivar EventTypeArg.external_drive_backup_eligibility_status_checked: (devices) Checked external drive backup eligibility status :ivar EventTypeArg.external_drive_backup_status_changed: (devices) Modified external drive backup :ivar EventTypeArg.account_capture_change_availability: (domains) Granted/revoked option to enable account capture on team domains :ivar EventTypeArg.account_capture_migrate_account: (domains) Account-captured user migrated account to team :ivar EventTypeArg.account_capture_notification_emails_sent: (domains) Sent account capture email to all unmanaged members :ivar EventTypeArg.account_capture_relinquish_account: (domains) Account-captured user changed account email to personal email :ivar EventTypeArg.disabled_domain_invites: (domains) Disabled domain invites (deprecated, no longer logged) :ivar EventTypeArg.domain_invites_approve_request_to_join_team: (domains) Approved user's request to join team :ivar EventTypeArg.domain_invites_decline_request_to_join_team: (domains) Declined user's request to join team :ivar EventTypeArg.domain_invites_email_existing_users: (domains) Sent domain invites to existing domain accounts (deprecated, no longer logged) :ivar EventTypeArg.domain_invites_request_to_join_team: (domains) Requested to join team :ivar EventTypeArg.domain_invites_set_invite_new_user_pref_to_no: (domains) Disabled "Automatically invite new users" (deprecated, no longer logged) :ivar EventTypeArg.domain_invites_set_invite_new_user_pref_to_yes: (domains) Enabled "Automatically invite new users" (deprecated, no longer logged) :ivar EventTypeArg.domain_verification_add_domain_fail: (domains) Failed to verify team domain :ivar EventTypeArg.domain_verification_add_domain_success: (domains) Verified team domain :ivar EventTypeArg.domain_verification_remove_domain: (domains) Removed domain from list of verified team domains :ivar EventTypeArg.enabled_domain_invites: (domains) Enabled domain invites (deprecated, no longer logged) :ivar EventTypeArg.encrypted_folder_cancel_team_key_rotation: (encryption) Canceled team key rotation :ivar EventTypeArg.encrypted_folder_enroll_backup_key: (encryption) Added recovery key :ivar EventTypeArg.encrypted_folder_enroll_client: (encryption) Enrolled device :ivar EventTypeArg.encrypted_folder_enroll_team: (encryption) Activated team folder encryption :ivar EventTypeArg.encrypted_folder_finish_team_unenrollment: (encryption) Deactivated team folder encryption :ivar EventTypeArg.encrypted_folder_init_team_key_rotation: (encryption) Initiated team key rotation :ivar EventTypeArg.encrypted_folder_init_team_unenrollment: (encryption) Initiated deactivation of team folder encryption :ivar EventTypeArg.encrypted_folder_remove_backup_key: (encryption) Removed recovery key :ivar EventTypeArg.encrypted_folder_rotate_team_key: (encryption) Rotated team key :ivar EventTypeArg.encrypted_folder_unenroll_client: (encryption) Unenrolled device :ivar EventTypeArg.team_encryption_key_activate_key: (encryption) Activated team encryption key :ivar EventTypeArg.team_encryption_key_cancel_key_deletion: (encryption) Canceled team encryption key deletion :ivar EventTypeArg.team_encryption_key_create_key: (encryption) Created team encryption key :ivar EventTypeArg.team_encryption_key_deactivate_key: (encryption) Deactivated team encryption key :ivar EventTypeArg.team_encryption_key_delete_key: (encryption) Deleted team encryption key :ivar EventTypeArg.team_encryption_key_disable_key: (encryption) Disabled team encryption key :ivar EventTypeArg.team_encryption_key_enable_key: (encryption) Enabled team encryption key :ivar EventTypeArg.team_encryption_key_rotate_key: (encryption) Rotated team encryption key (deprecated, no longer logged) :ivar EventTypeArg.team_encryption_key_schedule_key_deletion: (encryption) Scheduled encryption key deletion :ivar EventTypeArg.apply_naming_convention: (file_operations) Applied naming convention :ivar EventTypeArg.create_folder: (file_operations) Created folders (deprecated, no longer logged) :ivar EventTypeArg.file_add: (file_operations) Added files and/or folders :ivar EventTypeArg.file_add_from_automation: (file_operations) Added files and/or folders from automation :ivar EventTypeArg.file_copy: (file_operations) Copied files and/or folders :ivar EventTypeArg.file_delete: (file_operations) Deleted files and/or folders :ivar EventTypeArg.file_download: (file_operations) Downloaded files and/or folders :ivar EventTypeArg.file_edit: (file_operations) Edited files :ivar EventTypeArg.file_get_copy_reference: (file_operations) Created copy reference to file/folder :ivar EventTypeArg.file_locking_lock_status_changed: (file_operations) Locked/unlocked editing for a file :ivar EventTypeArg.file_move: (file_operations) Moved files and/or folders :ivar EventTypeArg.file_permanently_delete: (file_operations) Permanently deleted files and/or folders :ivar EventTypeArg.file_preview: (file_operations) Previewed files and/or folders :ivar EventTypeArg.file_rename: (file_operations) Renamed files and/or folders :ivar EventTypeArg.file_restore: (file_operations) Restored deleted files and/or folders :ivar EventTypeArg.file_revert: (file_operations) Reverted files to previous version :ivar EventTypeArg.file_rollback_changes: (file_operations) Rolled back file actions :ivar EventTypeArg.file_save_copy_reference: (file_operations) Saved file/folder using copy reference :ivar EventTypeArg.folder_overview_description_changed: (file_operations) Updated folder overview :ivar EventTypeArg.folder_overview_item_pinned: (file_operations) Pinned item to folder overview :ivar EventTypeArg.folder_overview_item_unpinned: (file_operations) Unpinned item from folder overview :ivar EventTypeArg.media_hub_file_downloaded: (file_operations) Downloaded files in Media Hub :ivar EventTypeArg.object_label_added: (file_operations) Added a label :ivar EventTypeArg.object_label_removed: (file_operations) Removed a label :ivar EventTypeArg.object_label_updated_value: (file_operations) Updated a label's value :ivar EventTypeArg.organize_folder_with_tidy: (file_operations) Organized a folder with multi-file organize :ivar EventTypeArg.replay_file_delete: (file_operations) Deleted files in Replay :ivar EventTypeArg.replay_file_downloaded: (file_operations) Downloaded files in Replay :ivar EventTypeArg.replay_team_project_created: (file_operations) Created a team project in Replay :ivar EventTypeArg.rewind_folder: (file_operations) Rewound a folder :ivar EventTypeArg.undo_naming_convention: (file_operations) Reverted naming convention :ivar EventTypeArg.undo_organize_folder_with_tidy: (file_operations) Removed multi-file organize :ivar EventTypeArg.user_tags_added: (file_operations) Tagged a file :ivar EventTypeArg.user_tags_removed: (file_operations) Removed tags :ivar EventTypeArg.email_ingest_receive_file: (file_requests) Received files via Email to Dropbox :ivar EventTypeArg.file_request_auto_close: (file_requests) Auto closed file request :ivar EventTypeArg.file_request_change: (file_requests) Changed file request :ivar EventTypeArg.file_request_close: (file_requests) Closed file request :ivar EventTypeArg.file_request_create: (file_requests) Created file request :ivar EventTypeArg.file_request_delete: (file_requests) Delete file request :ivar EventTypeArg.file_request_receive_file: (file_requests) Received files for file request :ivar EventTypeArg.group_add_external_id: (groups) Added external ID for group :ivar EventTypeArg.group_add_member: (groups) Added team members to group :ivar EventTypeArg.group_change_external_id: (groups) Changed external ID for group :ivar EventTypeArg.group_change_management_type: (groups) Changed group management type :ivar EventTypeArg.group_change_member_role: (groups) Changed manager permissions of group member :ivar EventTypeArg.group_create: (groups) Created group :ivar EventTypeArg.group_delete: (groups) Deleted group :ivar EventTypeArg.group_description_updated: (groups) Updated group (deprecated, no longer logged) :ivar EventTypeArg.group_external_sharing_setting_override_changed: (groups) Changed group's external sharing setting :ivar EventTypeArg.group_join_policy_updated: (groups) Updated group join policy (deprecated, no longer logged) :ivar EventTypeArg.group_moved: (groups) Moved group (deprecated, no longer logged) :ivar EventTypeArg.group_remove_external_id: (groups) Removed external ID for group :ivar EventTypeArg.group_remove_member: (groups) Removed team members from group :ivar EventTypeArg.group_rename: (groups) Renamed group :ivar EventTypeArg.account_lock_or_unlocked: (logins) Unlocked/locked account after failed sign in attempts :ivar EventTypeArg.emm_error: (logins) Failed to sign in via EMM (deprecated, replaced by 'Failed to sign in') :ivar EventTypeArg.guest_admin_signed_in_via_trusted_teams: (logins) Started trusted team admin session :ivar EventTypeArg.guest_admin_signed_out_via_trusted_teams: (logins) Ended trusted team admin session :ivar EventTypeArg.login_fail: (logins) Failed to sign in :ivar EventTypeArg.login_success: (logins) Signed in :ivar EventTypeArg.logout: (logins) Signed out :ivar EventTypeArg.reseller_support_session_end: (logins) Ended reseller support session :ivar EventTypeArg.reseller_support_session_start: (logins) Started reseller support session :ivar EventTypeArg.sign_in_as_session_end: (logins) Ended admin sign-in-as session :ivar EventTypeArg.sign_in_as_session_start: (logins) Started admin sign-in-as session :ivar EventTypeArg.sso_error: (logins) Failed to sign in via SSO (deprecated, replaced by 'Failed to sign in') :ivar EventTypeArg.addon_assigned: (members) Add-on Assigned :ivar EventTypeArg.addon_removed: (members) Add-on Removed :ivar EventTypeArg.backup_admin_invitation_sent: (members) Invited members to activate Backup :ivar EventTypeArg.backup_invitation_opened: (members) Opened Backup invite :ivar EventTypeArg.create_team_invite_link: (members) Created team invite link :ivar EventTypeArg.delete_team_invite_link: (members) Deleted team invite link :ivar EventTypeArg.member_add_external_id: (members) Added an external ID for team member :ivar EventTypeArg.member_add_name: (members) Added team member name :ivar EventTypeArg.member_change_admin_role: (members) Changed team member admin role :ivar EventTypeArg.member_change_email: (members) Changed team member email :ivar EventTypeArg.member_change_external_id: (members) Changed the external ID for team member :ivar EventTypeArg.member_change_membership_type: (members) Changed membership type (limited/full) of member (deprecated, no longer logged) :ivar EventTypeArg.member_change_name: (members) Changed team member name :ivar EventTypeArg.member_change_reseller_role: (members) Changed team member reseller role :ivar EventTypeArg.member_change_status: (members) Changed member status (invited, joined, suspended, etc.) :ivar EventTypeArg.member_delete_manual_contacts: (members) Cleared manually added contacts :ivar EventTypeArg.member_delete_profile_photo: (members) Deleted team member profile photo :ivar EventTypeArg.member_permanently_delete_account_contents: (members) Permanently deleted contents of deleted team member account :ivar EventTypeArg.member_remove_external_id: (members) Removed the external ID for team member :ivar EventTypeArg.member_set_profile_photo: (members) Set team member profile photo :ivar EventTypeArg.member_space_limits_add_custom_quota: (members) Set custom member space limit :ivar EventTypeArg.member_space_limits_change_custom_quota: (members) Changed custom member space limit :ivar EventTypeArg.member_space_limits_change_status: (members) Changed space limit status :ivar EventTypeArg.member_space_limits_remove_custom_quota: (members) Removed custom member space limit :ivar EventTypeArg.member_suggest: (members) Suggested person to add to team :ivar EventTypeArg.member_transfer_account_contents: (members) Transferred contents of deleted member account to another member :ivar EventTypeArg.pending_secondary_email_added: (members) Added pending secondary email :ivar EventTypeArg.product_assigned_to_member: (members) Product assigned to team member :ivar EventTypeArg.product_removed_from_member: (members) Product removed from team member :ivar EventTypeArg.secondary_email_deleted: (members) Deleted secondary email :ivar EventTypeArg.secondary_email_verified: (members) Verified secondary email :ivar EventTypeArg.secondary_mails_policy_changed: (members) Secondary mails policy changed :ivar EventTypeArg.binder_add_page: (paper) Added Binder page (deprecated, replaced by 'Edited files') :ivar EventTypeArg.binder_add_section: (paper) Added Binder section (deprecated, replaced by 'Edited files') :ivar EventTypeArg.binder_remove_page: (paper) Removed Binder page (deprecated, replaced by 'Edited files') :ivar EventTypeArg.binder_remove_section: (paper) Removed Binder section (deprecated, replaced by 'Edited files') :ivar EventTypeArg.binder_rename_page: (paper) Renamed Binder page (deprecated, replaced by 'Edited files') :ivar EventTypeArg.binder_rename_section: (paper) Renamed Binder section (deprecated, replaced by 'Edited files') :ivar EventTypeArg.binder_reorder_page: (paper) Reordered Binder page (deprecated, replaced by 'Edited files') :ivar EventTypeArg.binder_reorder_section: (paper) Reordered Binder section (deprecated, replaced by 'Edited files') :ivar EventTypeArg.paper_content_add_member: (paper) Added users and/or groups to Paper doc/folder :ivar EventTypeArg.paper_content_add_to_folder: (paper) Added Paper doc/folder to folder :ivar EventTypeArg.paper_content_archive: (paper) Archived Paper doc/folder :ivar EventTypeArg.paper_content_create: (paper) Created Paper doc/folder :ivar EventTypeArg.paper_content_permanently_delete: (paper) Permanently deleted Paper doc/folder :ivar EventTypeArg.paper_content_remove_from_folder: (paper) Removed Paper doc/folder from folder :ivar EventTypeArg.paper_content_remove_member: (paper) Removed users and/or groups from Paper doc/folder :ivar EventTypeArg.paper_content_rename: (paper) Renamed Paper doc/folder :ivar EventTypeArg.paper_content_restore: (paper) Restored archived Paper doc/folder :ivar EventTypeArg.paper_doc_add_comment: (paper) Added Paper doc comment :ivar EventTypeArg.paper_doc_change_member_role: (paper) Changed member permissions for Paper doc :ivar EventTypeArg.paper_doc_change_sharing_policy: (paper) Changed sharing setting for Paper doc :ivar EventTypeArg.paper_doc_change_subscription: (paper) Followed/unfollowed Paper doc :ivar EventTypeArg.paper_doc_deleted: (paper) Archived Paper doc (deprecated, no longer logged) :ivar EventTypeArg.paper_doc_delete_comment: (paper) Deleted Paper doc comment :ivar EventTypeArg.paper_doc_download: (paper) Downloaded Paper doc in specific format :ivar EventTypeArg.paper_doc_edit: (paper) Edited Paper doc :ivar EventTypeArg.paper_doc_edit_comment: (paper) Edited Paper doc comment :ivar EventTypeArg.paper_doc_followed: (paper) Followed Paper doc (deprecated, replaced by 'Followed/unfollowed Paper doc') :ivar EventTypeArg.paper_doc_mention: (paper) Mentioned user in Paper doc :ivar EventTypeArg.paper_doc_ownership_changed: (paper) Transferred ownership of Paper doc :ivar EventTypeArg.paper_doc_request_access: (paper) Requested access to Paper doc :ivar EventTypeArg.paper_doc_resolve_comment: (paper) Resolved Paper doc comment :ivar EventTypeArg.paper_doc_revert: (paper) Restored Paper doc to previous version :ivar EventTypeArg.paper_doc_slack_share: (paper) Shared Paper doc via Slack :ivar EventTypeArg.paper_doc_team_invite: (paper) Shared Paper doc with users and/or groups (deprecated, no longer logged) :ivar EventTypeArg.paper_doc_trashed: (paper) Deleted Paper doc :ivar EventTypeArg.paper_doc_unresolve_comment: (paper) Unresolved Paper doc comment :ivar EventTypeArg.paper_doc_untrashed: (paper) Restored Paper doc :ivar EventTypeArg.paper_doc_view: (paper) Viewed Paper doc :ivar EventTypeArg.paper_external_view_allow: (paper) Changed Paper external sharing setting to anyone (deprecated, no longer logged) :ivar EventTypeArg.paper_external_view_default_team: (paper) Changed Paper external sharing setting to default team (deprecated, no longer logged) :ivar EventTypeArg.paper_external_view_forbid: (paper) Changed Paper external sharing setting to team-only (deprecated, no longer logged) :ivar EventTypeArg.paper_folder_change_subscription: (paper) Followed/unfollowed Paper folder :ivar EventTypeArg.paper_folder_deleted: (paper) Archived Paper folder (deprecated, no longer logged) :ivar EventTypeArg.paper_folder_followed: (paper) Followed Paper folder (deprecated, replaced by 'Followed/unfollowed Paper folder') :ivar EventTypeArg.paper_folder_team_invite: (paper) Shared Paper folder with users and/or groups (deprecated, no longer logged) :ivar EventTypeArg.paper_published_link_change_permission: (paper) Changed permissions for published doc :ivar EventTypeArg.paper_published_link_create: (paper) Published doc :ivar EventTypeArg.paper_published_link_disabled: (paper) Unpublished doc :ivar EventTypeArg.paper_published_link_view: (paper) Viewed published doc :ivar EventTypeArg.password_change: (passwords) Changed password :ivar EventTypeArg.password_reset: (passwords) Reset password :ivar EventTypeArg.password_reset_all: (passwords) Reset all team member passwords :ivar EventTypeArg.protect_internal_domains_changed: (protect) Modified Protect internal domains list :ivar EventTypeArg.classification_create_report: (reports) Created Classification report :ivar EventTypeArg.classification_create_report_fail: (reports) Couldn't create Classification report :ivar EventTypeArg.emm_create_exceptions_report: (reports) Created EMM-excluded users report :ivar EventTypeArg.emm_create_usage_report: (reports) Created EMM mobile app usage report :ivar EventTypeArg.export_members_report: (reports) Created member data report :ivar EventTypeArg.export_members_report_fail: (reports) Failed to create members data report :ivar EventTypeArg.external_sharing_create_report: (reports) Created External sharing report :ivar EventTypeArg.external_sharing_report_failed: (reports) Couldn't create External sharing report :ivar EventTypeArg.member_access_details_create_report: (reports) Created member access report :ivar EventTypeArg.member_access_details_create_report_failed: (reports) Couldn't generate member access report :ivar EventTypeArg.no_expiration_link_gen_create_report: (reports) Report created: Links created with no expiration :ivar EventTypeArg.no_expiration_link_gen_report_failed: (reports) Couldn't create report: Links created with no expiration :ivar EventTypeArg.no_password_link_gen_create_report: (reports) Report created: Links created without passwords :ivar EventTypeArg.no_password_link_gen_report_failed: (reports) Couldn't create report: Links created without passwords :ivar EventTypeArg.no_password_link_view_create_report: (reports) Report created: Views of links without passwords :ivar EventTypeArg.no_password_link_view_report_failed: (reports) Couldn't create report: Views of links without passwords :ivar EventTypeArg.outdated_link_view_create_report: (reports) Report created: Views of old links :ivar EventTypeArg.outdated_link_view_report_failed: (reports) Couldn't create report: Views of old links :ivar EventTypeArg.paper_admin_export_start: (reports) Exported all team Paper docs :ivar EventTypeArg.ransomware_alert_create_report: (reports) Created ransomware report :ivar EventTypeArg.ransomware_alert_create_report_failed: (reports) Couldn't generate ransomware report :ivar EventTypeArg.shared_folders_create_report: (reports) Created shared folders report :ivar EventTypeArg.shared_folders_create_report_failed: (reports) Couldn't generate shared folders report :ivar EventTypeArg.smart_sync_create_admin_privilege_report: (reports) Created Smart Sync non-admin devices report :ivar EventTypeArg.team_activity_create_report: (reports) Created team activity report :ivar EventTypeArg.team_activity_create_report_fail: (reports) Couldn't generate team activity report :ivar EventTypeArg.team_folders_create_report: (reports) Created team folders report :ivar EventTypeArg.team_folders_create_report_failed: (reports) Couldn't generate team folders report :ivar EventTypeArg.team_storage_create_report: (reports) Created team storage report :ivar EventTypeArg.team_storage_create_report_failed: (reports) Couldn't generate team storage report :ivar EventTypeArg.collection_share: (sharing) Shared album :ivar EventTypeArg.file_transfers_file_add: (sharing) Transfer files added :ivar EventTypeArg.file_transfers_transfer_delete: (sharing) Deleted transfer :ivar EventTypeArg.file_transfers_transfer_download: (sharing) Transfer downloaded :ivar EventTypeArg.file_transfers_transfer_send: (sharing) Sent transfer :ivar EventTypeArg.file_transfers_transfer_view: (sharing) Viewed transfer :ivar EventTypeArg.media_hub_project_team_add: (sharing) Added member to Media Hub project :ivar EventTypeArg.media_hub_project_team_delete: (sharing) Removed member from Media Hub project :ivar EventTypeArg.media_hub_project_team_role_changed: (sharing) Changed member role in Media Hub project :ivar EventTypeArg.media_hub_shared_link_audience_changed: (sharing) Changed Media Hub shared link audience :ivar EventTypeArg.media_hub_shared_link_created: (sharing) Created Media Hub shared link :ivar EventTypeArg.media_hub_shared_link_download_setting_changed: (sharing) Changed Media Hub shared link download setting :ivar EventTypeArg.media_hub_shared_link_revoked: (sharing) Revoked Media Hub shared link :ivar EventTypeArg.note_acl_invite_only: (sharing) Changed Paper doc to invite-only (deprecated, no longer logged) :ivar EventTypeArg.note_acl_link: (sharing) Changed Paper doc to link-accessible (deprecated, no longer logged) :ivar EventTypeArg.note_acl_team_link: (sharing) Changed Paper doc to link-accessible for team (deprecated, no longer logged) :ivar EventTypeArg.note_shared: (sharing) Shared Paper doc (deprecated, no longer logged) :ivar EventTypeArg.note_share_receive: (sharing) Shared received Paper doc (deprecated, no longer logged) :ivar EventTypeArg.open_note_shared: (sharing) Opened shared Paper doc (deprecated, no longer logged) :ivar EventTypeArg.replay_file_shared_link_created: (sharing) Created shared link in Replay :ivar EventTypeArg.replay_file_shared_link_modified: (sharing) Changed shared link in Replay :ivar EventTypeArg.replay_project_team_add: (sharing) Added member to Replay Project :ivar EventTypeArg.replay_project_team_delete: (sharing) Removed member from Replay Project :ivar EventTypeArg.send_and_track_file_added: (sharing) File added to Send and Track :ivar EventTypeArg.send_and_track_file_renamed: (sharing) File renamed in Send and Track :ivar EventTypeArg.send_and_track_file_updated: (sharing) File updated in Send and Track :ivar EventTypeArg.send_and_track_link_created: (sharing) Link created in Send and Track :ivar EventTypeArg.send_and_track_link_deleted: (sharing) Link deleted in Send and Track :ivar EventTypeArg.send_and_track_link_updated: (sharing) Send and Track Link Updated :ivar EventTypeArg.send_and_track_link_viewed: (sharing) Send and Track Link Visited :ivar EventTypeArg.send_and_track_removed_file_and_associated_links: (sharing) Send and Track file and associated links deleted :ivar EventTypeArg.sf_add_group: (sharing) Added team to shared folder (deprecated, no longer logged) :ivar EventTypeArg.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 EventTypeArg.sf_external_invite_warn: (sharing) Set team members to see warning before sharing folders outside team (deprecated, no longer logged) :ivar EventTypeArg.sf_fb_invite: (sharing) Invited Facebook users to shared folder (deprecated, no longer logged) :ivar EventTypeArg.sf_fb_invite_change_role: (sharing) Changed Facebook user's role in shared folder (deprecated, no longer logged) :ivar EventTypeArg.sf_fb_uninvite: (sharing) Uninvited Facebook user from shared folder (deprecated, no longer logged) :ivar EventTypeArg.sf_invite_group: (sharing) Invited group to shared folder (deprecated, no longer logged) :ivar EventTypeArg.sf_team_grant_access: (sharing) Granted access to shared folder (deprecated, no longer logged) :ivar EventTypeArg.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 EventTypeArg.sf_team_invite_change_role: (sharing) Changed team member's role in shared folder (deprecated, no longer logged) :ivar EventTypeArg.sf_team_join: (sharing) Joined team member's shared folder (deprecated, no longer logged) :ivar EventTypeArg.sf_team_join_from_oob_link: (sharing) Joined team member's shared folder from link (deprecated, no longer logged) :ivar EventTypeArg.sf_team_uninvite: (sharing) Unshared folder with team member (deprecated, replaced by 'Removed invitee from shared file/folder before invite was accepted') :ivar EventTypeArg.shared_content_add_invitees: (sharing) Invited user to Dropbox and added them to shared file/folder :ivar EventTypeArg.shared_content_add_link_expiry: (sharing) Added expiration date to link for shared file/folder (deprecated, no longer logged) :ivar EventTypeArg.shared_content_add_link_password: (sharing) Added password to link for shared file/folder (deprecated, no longer logged) :ivar EventTypeArg.shared_content_add_member: (sharing) Added users and/or groups to shared file/folder :ivar EventTypeArg.shared_content_change_downloads_policy: (sharing) Changed whether members can download shared file/folder (deprecated, no longer logged) :ivar EventTypeArg.shared_content_change_invitee_role: (sharing) Changed access type of invitee to shared file/folder before invite was accepted :ivar EventTypeArg.shared_content_change_link_audience: (sharing) Changed link audience of shared file/folder (deprecated, no longer logged) :ivar EventTypeArg.shared_content_change_link_expiry: (sharing) Changed link expiration of shared file/folder (deprecated, no longer logged) :ivar EventTypeArg.shared_content_change_link_password: (sharing) Changed link password of shared file/folder (deprecated, no longer logged) :ivar EventTypeArg.shared_content_change_member_role: (sharing) Changed access type of shared file/folder member :ivar EventTypeArg.shared_content_change_viewer_info_policy: (sharing) Changed whether members can see who viewed shared file/folder :ivar EventTypeArg.shared_content_claim_invitation: (sharing) Acquired membership of shared file/folder by accepting invite :ivar EventTypeArg.shared_content_copy: (sharing) Copied shared file/folder to own Dropbox :ivar EventTypeArg.shared_content_download: (sharing) Downloaded shared file/folder :ivar EventTypeArg.shared_content_relinquish_membership: (sharing) Left shared file/folder :ivar EventTypeArg.shared_content_remove_invitees: (sharing) Removed invitee from shared file/folder before invite was accepted :ivar EventTypeArg.shared_content_remove_link_expiry: (sharing) Removed link expiration date of shared file/folder (deprecated, no longer logged) :ivar EventTypeArg.shared_content_remove_link_password: (sharing) Removed link password of shared file/folder (deprecated, no longer logged) :ivar EventTypeArg.shared_content_remove_member: (sharing) Removed user/group from shared file/folder :ivar EventTypeArg.shared_content_request_access: (sharing) Requested access to shared file/folder :ivar EventTypeArg.shared_content_restore_invitees: (sharing) Restored shared file/folder invitees :ivar EventTypeArg.shared_content_restore_member: (sharing) Restored users and/or groups to membership of shared file/folder :ivar EventTypeArg.shared_content_unshare: (sharing) Unshared file/folder by clearing membership :ivar EventTypeArg.shared_content_view: (sharing) Previewed shared file/folder :ivar EventTypeArg.shared_folder_change_link_policy: (sharing) Changed who can access shared folder via link :ivar EventTypeArg.shared_folder_change_members_inheritance_policy: (sharing) Changed whether shared folder inherits members from parent folder :ivar EventTypeArg.shared_folder_change_members_management_policy: (sharing) Changed who can add/remove members of shared folder :ivar EventTypeArg.shared_folder_change_members_policy: (sharing) Changed who can become member of shared folder :ivar EventTypeArg.shared_folder_create: (sharing) Created shared folder :ivar EventTypeArg.shared_folder_decline_invitation: (sharing) Declined team member's invite to shared folder :ivar EventTypeArg.shared_folder_mount: (sharing) Added shared folder to own Dropbox :ivar EventTypeArg.shared_folder_nest: (sharing) Changed parent of shared folder :ivar EventTypeArg.shared_folder_transfer_ownership: (sharing) Transferred ownership of shared folder to another member :ivar EventTypeArg.shared_folder_unmount: (sharing) Deleted shared folder from Dropbox :ivar EventTypeArg.shared_link_add_expiry: (sharing) Added shared link expiration date :ivar EventTypeArg.shared_link_change_expiry: (sharing) Changed shared link expiration date :ivar EventTypeArg.shared_link_change_visibility: (sharing) Changed visibility of shared link :ivar EventTypeArg.shared_link_copy: (sharing) Added file/folder to Dropbox from shared link :ivar EventTypeArg.shared_link_create: (sharing) Created shared link :ivar EventTypeArg.shared_link_disable: (sharing) Removed shared link :ivar EventTypeArg.shared_link_download: (sharing) Downloaded file/folder from shared link :ivar EventTypeArg.shared_link_remove_expiry: (sharing) Removed shared link expiration date :ivar EventTypeArg.shared_link_remove_visitor: (sharing) Removed link visitor :ivar EventTypeArg.shared_link_settings_add_expiration: (sharing) Added an expiration date to the shared link :ivar EventTypeArg.shared_link_settings_add_password: (sharing) Added a password to the shared link :ivar EventTypeArg.shared_link_settings_allow_download_disabled: (sharing) Disabled downloads :ivar EventTypeArg.shared_link_settings_allow_download_enabled: (sharing) Enabled downloads :ivar EventTypeArg.shared_link_settings_change_audience: (sharing) Changed the audience of the shared link :ivar EventTypeArg.shared_link_settings_change_expiration: (sharing) Changed the expiration date of the shared link :ivar EventTypeArg.shared_link_settings_change_password: (sharing) Changed the password of the shared link :ivar EventTypeArg.shared_link_settings_remove_expiration: (sharing) Removed the expiration date from the shared link :ivar EventTypeArg.shared_link_settings_remove_password: (sharing) Removed the password from the shared link :ivar EventTypeArg.shared_link_share: (sharing) Added members as audience of shared link :ivar EventTypeArg.shared_link_view: (sharing) Opened shared link :ivar EventTypeArg.shared_note_opened: (sharing) Opened shared Paper doc (deprecated, no longer logged) :ivar EventTypeArg.shmodel_disable_downloads: (sharing) Disabled downloads for link (deprecated, no longer logged) :ivar EventTypeArg.shmodel_enable_downloads: (sharing) Enabled downloads for link (deprecated, no longer logged) :ivar EventTypeArg.shmodel_group_share: (sharing) Shared link with group (deprecated, no longer logged) :ivar EventTypeArg.showcase_access_granted: (showcase) Granted access to showcase :ivar EventTypeArg.showcase_add_member: (showcase) Added member to showcase :ivar EventTypeArg.showcase_archived: (showcase) Archived showcase :ivar EventTypeArg.showcase_created: (showcase) Created showcase :ivar EventTypeArg.showcase_delete_comment: (showcase) Deleted showcase comment :ivar EventTypeArg.showcase_edited: (showcase) Edited showcase :ivar EventTypeArg.showcase_edit_comment: (showcase) Edited showcase comment :ivar EventTypeArg.showcase_file_added: (showcase) Added file to showcase :ivar EventTypeArg.showcase_file_download: (showcase) Downloaded file from showcase :ivar EventTypeArg.showcase_file_removed: (showcase) Removed file from showcase :ivar EventTypeArg.showcase_file_view: (showcase) Viewed file in showcase :ivar EventTypeArg.showcase_permanently_deleted: (showcase) Permanently deleted showcase :ivar EventTypeArg.showcase_post_comment: (showcase) Added showcase comment :ivar EventTypeArg.showcase_remove_member: (showcase) Removed member from showcase :ivar EventTypeArg.showcase_renamed: (showcase) Renamed showcase :ivar EventTypeArg.showcase_request_access: (showcase) Requested access to showcase :ivar EventTypeArg.showcase_resolve_comment: (showcase) Resolved showcase comment :ivar EventTypeArg.showcase_restored: (showcase) Unarchived showcase :ivar EventTypeArg.showcase_trashed: (showcase) Deleted showcase :ivar EventTypeArg.showcase_trashed_deprecated: (showcase) Deleted showcase (old version) (deprecated, replaced by 'Deleted showcase') :ivar EventTypeArg.showcase_unresolve_comment: (showcase) Unresolved showcase comment :ivar EventTypeArg.showcase_untrashed: (showcase) Restored showcase :ivar EventTypeArg.showcase_untrashed_deprecated: (showcase) Restored showcase (old version) (deprecated, replaced by 'Restored showcase') :ivar EventTypeArg.showcase_view: (showcase) Viewed showcase :ivar EventTypeArg.sign_signature_request_canceled: (signatures) Canceled signature request :ivar EventTypeArg.sign_signature_request_completed: (signatures) Completed signature request :ivar EventTypeArg.sign_signature_request_declined: (signatures) Declined signature request :ivar EventTypeArg.sign_signature_request_opened: (signatures) Opened signature request :ivar EventTypeArg.sign_signature_request_reminder_sent: (signatures) Sent signature request reminder :ivar EventTypeArg.sign_signature_request_sent: (signatures) Sent signature request :ivar EventTypeArg.sign_template_created: (signatures) Created template :ivar EventTypeArg.sign_template_shared: (signatures) Shared template :ivar EventTypeArg.risc_security_event: (sso) RISC security event received from external provider :ivar EventTypeArg.sso_add_cert: (sso) Added X.509 certificate for SSO :ivar EventTypeArg.sso_add_login_url: (sso) Added sign-in URL for SSO :ivar EventTypeArg.sso_add_logout_url: (sso) Added sign-out URL for SSO :ivar EventTypeArg.sso_change_cert: (sso) Changed X.509 certificate for SSO :ivar EventTypeArg.sso_change_login_url: (sso) Changed sign-in URL for SSO :ivar EventTypeArg.sso_change_logout_url: (sso) Changed sign-out URL for SSO :ivar EventTypeArg.sso_change_saml_identity_mode: (sso) Changed SAML identity mode for SSO :ivar EventTypeArg.sso_remove_cert: (sso) Removed X.509 certificate for SSO :ivar EventTypeArg.sso_remove_login_url: (sso) Removed sign-in URL for SSO :ivar EventTypeArg.sso_remove_logout_url: (sso) Removed sign-out URL for SSO :ivar EventTypeArg.team_folder_change_status: (team_folders) Changed archival status of team folder :ivar EventTypeArg.team_folder_create: (team_folders) Created team folder in active status :ivar EventTypeArg.team_folder_downgrade: (team_folders) Downgraded team folder to regular shared folder :ivar EventTypeArg.team_folder_permanently_delete: (team_folders) Permanently deleted archived team folder :ivar EventTypeArg.team_folder_rename: (team_folders) Renamed active/archived team folder :ivar EventTypeArg.team_folder_space_limits_change_caps_type: (team_folders) Changed team folder space limit enforcement type :ivar EventTypeArg.team_folder_space_limits_change_limit: (team_folders) Changed team folder space limit :ivar EventTypeArg.team_folder_space_limits_change_notification_target: (team_folders) Changed team folder space limit notification target :ivar EventTypeArg.team_selective_sync_settings_changed: (team_folders) Changed sync default :ivar EventTypeArg.account_capture_change_policy: (team_policies) Changed account capture setting on team domain :ivar EventTypeArg.admin_email_reminders_changed: (team_policies) Changed admin reminder settings for requests to join the team :ivar EventTypeArg.ai_third_party_sharing_dropbox_base_policy_changed: (team_policies) Changed AI third party sharing policy for team :ivar EventTypeArg.allow_download_disabled: (team_policies) Disabled downloads (deprecated, no longer logged) :ivar EventTypeArg.allow_download_enabled: (team_policies) Enabled downloads (deprecated, no longer logged) :ivar EventTypeArg.apple_login_change_policy: (team_policies) Enabled/disabled Apple login for team :ivar EventTypeArg.app_permissions_changed: (team_policies) Changed app permissions :ivar EventTypeArg.camera_uploads_policy_changed: (team_policies) Changed camera uploads setting for team :ivar EventTypeArg.capture_team_space_policy_changed: (team_policies) Changed Capture team space policy for team :ivar EventTypeArg.capture_transcript_policy_changed: (team_policies) Changed Capture transcription policy for team :ivar EventTypeArg.classification_change_policy: (team_policies) Changed classification policy for team :ivar EventTypeArg.computer_backup_policy_changed: (team_policies) Changed computer backup policy for team :ivar EventTypeArg.content_administration_policy_changed: (team_policies) Changed content management setting :ivar EventTypeArg.content_deletion_protection_change_policy: (team_policies) Changed content deletion protection policy for team :ivar EventTypeArg.dash_external_sharing_policy_changed: (team_policies) Changed Dash external sharing policy for team :ivar EventTypeArg.data_placement_restriction_change_policy: (team_policies) Set restrictions on data center locations where team data resides :ivar EventTypeArg.data_placement_restriction_satisfy_policy: (team_policies) Completed restrictions on data center locations where team data resides :ivar EventTypeArg.device_approvals_add_exception: (team_policies) Added members to device approvals exception list :ivar EventTypeArg.device_approvals_change_desktop_policy: (team_policies) Set/removed limit on number of computers member can link to team Dropbox account :ivar EventTypeArg.device_approvals_change_mobile_policy: (team_policies) Set/removed limit on number of mobile devices member can link to team Dropbox account :ivar EventTypeArg.device_approvals_change_overage_action: (team_policies) Changed device approvals setting when member is over limit :ivar EventTypeArg.device_approvals_change_unlink_action: (team_policies) Changed device approvals setting when member unlinks approved device :ivar EventTypeArg.device_approvals_remove_exception: (team_policies) Removed members from device approvals exception list :ivar EventTypeArg.directory_restrictions_add_members: (team_policies) Added members to directory restrictions list :ivar EventTypeArg.directory_restrictions_remove_members: (team_policies) Removed members from directory restrictions list :ivar EventTypeArg.dropbox_passwords_policy_changed: (team_policies) Changed Dropbox Passwords policy for team :ivar EventTypeArg.email_ingest_policy_changed: (team_policies) Changed email to Dropbox policy for team :ivar EventTypeArg.emm_add_exception: (team_policies) Added members to EMM exception list :ivar EventTypeArg.emm_change_policy: (team_policies) Enabled/disabled enterprise mobility management for members :ivar EventTypeArg.emm_remove_exception: (team_policies) Removed members from EMM exception list :ivar EventTypeArg.extended_version_history_change_policy: (team_policies) Accepted/opted out of extended version history :ivar EventTypeArg.external_drive_backup_policy_changed: (team_policies) Changed external drive backup policy for team :ivar EventTypeArg.file_comments_change_policy: (team_policies) Enabled/disabled commenting on team files :ivar EventTypeArg.file_locking_policy_changed: (team_policies) Changed file locking policy for team :ivar EventTypeArg.file_provider_migration_policy_changed: (team_policies) Changed File Provider Migration policy for team :ivar EventTypeArg.file_requests_change_policy: (team_policies) Enabled/disabled file requests :ivar EventTypeArg.file_requests_emails_enabled: (team_policies) Enabled file request emails for everyone (deprecated, no longer logged) :ivar EventTypeArg.file_requests_emails_restricted_to_team_only: (team_policies) Enabled file request emails for team (deprecated, no longer logged) :ivar EventTypeArg.file_transfers_policy_changed: (team_policies) Changed file transfers policy for team :ivar EventTypeArg.flexible_file_names_policy_changed: (team_policies) Changed flexible file names policy for team :ivar EventTypeArg.folder_link_restriction_policy_changed: (team_policies) Changed folder link restrictions policy for team :ivar EventTypeArg.google_sso_change_policy: (team_policies) Enabled/disabled Google single sign-on for team :ivar EventTypeArg.group_user_management_change_policy: (team_policies) Changed who can create groups :ivar EventTypeArg.integration_policy_changed: (team_policies) Changed integration policy for team :ivar EventTypeArg.invite_acceptance_email_policy_changed: (team_policies) Changed invite accept email policy for team :ivar EventTypeArg.media_hub_adding_people_policy_changed: (team_policies) Changed the policy for adding people to Media Hub content :ivar EventTypeArg.media_hub_download_policy_changed: (team_policies) Changed the policy for downloading Media Hub content :ivar EventTypeArg.media_hub_link_sharing_policy_changed: (team_policies) Changed the policy for sharing Media Hub content :ivar EventTypeArg.member_requests_change_policy: (team_policies) Changed whether users can find team when not invited :ivar EventTypeArg.member_send_invite_policy_changed: (team_policies) Changed member send invite policy for team :ivar EventTypeArg.member_space_limits_add_exception: (team_policies) Added members to member space limit exception list :ivar EventTypeArg.member_space_limits_change_caps_type_policy: (team_policies) Changed member space limit type for team :ivar EventTypeArg.member_space_limits_change_policy: (team_policies) Changed team default member space limit :ivar EventTypeArg.member_space_limits_remove_exception: (team_policies) Removed members from member space limit exception list :ivar EventTypeArg.member_suggestions_change_policy: (team_policies) Enabled/disabled option for team members to suggest people to add to team :ivar EventTypeArg.microsoft_login_change_policy: (team_policies) Enabled/disabled Microsoft login for team :ivar EventTypeArg.microsoft_office_addin_change_policy: (team_policies) Enabled/disabled Microsoft Office add-in :ivar EventTypeArg.multi_team_identity_policy_changed: (team_policies) Changed multi-team identity policy for team :ivar EventTypeArg.network_control_change_policy: (team_policies) Enabled/disabled network control :ivar EventTypeArg.paper_change_deployment_policy: (team_policies) Changed whether Dropbox Paper, when enabled, is deployed to all members or to specific members :ivar EventTypeArg.paper_change_member_link_policy: (team_policies) Changed whether non-members can view Paper docs with link (deprecated, no longer logged) :ivar EventTypeArg.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 EventTypeArg.paper_change_policy: (team_policies) Enabled/disabled Dropbox Paper for team :ivar EventTypeArg.paper_default_folder_policy_changed: (team_policies) Changed Paper Default Folder Policy setting for team :ivar EventTypeArg.paper_desktop_policy_changed: (team_policies) Enabled/disabled Paper Desktop for team :ivar EventTypeArg.paper_enabled_users_group_addition: (team_policies) Added users to Paper-enabled users list :ivar EventTypeArg.paper_enabled_users_group_removal: (team_policies) Removed users from Paper-enabled users list :ivar EventTypeArg.passkey_login_policy_changed: (team_policies) Changed passkey login policy for team :ivar EventTypeArg.password_strength_requirements_change_policy: (team_policies) Changed team password strength requirements :ivar EventTypeArg.permanent_delete_change_policy: (team_policies) Enabled/disabled ability of team members to permanently delete content :ivar EventTypeArg.previews_ai_policy_changed: (team_policies) Changed Dropbox AI policy for team :ivar EventTypeArg.replay_adding_people_policy_changed: (team_policies) Changed the policy for adding people to Replay content :ivar EventTypeArg.replay_sharing_policy_changed: (team_policies) Changed the policy for sharing Replay content :ivar EventTypeArg.reseller_support_change_policy: (team_policies) Enabled/disabled reseller support :ivar EventTypeArg.rewind_policy_changed: (team_policies) Changed Rewind policy for team :ivar EventTypeArg.send_and_track_policy_changed: (team_policies) Changed “Send and track� policy for team :ivar EventTypeArg.send_external_sharing_policy_changed: (team_policies) Changed “Send and track� external sharing policy for team :ivar EventTypeArg.send_for_signature_policy_changed: (team_policies) Changed send for signature policy for team :ivar EventTypeArg.shared_link_default_permissions_policy_changed: (team_policies) Changed shared link default permissions policy for team :ivar EventTypeArg.sharing_change_folder_join_policy: (team_policies) Changed whether team members can join shared folders owned outside team :ivar EventTypeArg.sharing_change_link_allow_change_expiration_policy: (team_policies) Changed the allow remove or change expiration policy for the links shared outside of the team :ivar EventTypeArg.sharing_change_link_default_expiration_policy: (team_policies) Changed the default expiration for the links shared outside of the team :ivar EventTypeArg.sharing_change_link_enforce_password_policy: (team_policies) Changed the password requirement for the links shared outside of the team :ivar EventTypeArg.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 EventTypeArg.sharing_change_member_policy: (team_policies) Changed whether members can share files/folders outside team :ivar EventTypeArg.showcase_change_download_policy: (team_policies) Enabled/disabled downloading files from Dropbox Showcase for team :ivar EventTypeArg.showcase_change_enabled_policy: (team_policies) Enabled/disabled Dropbox Showcase for team :ivar EventTypeArg.showcase_change_external_sharing_policy: (team_policies) Enabled/disabled sharing Dropbox Showcase externally for team :ivar EventTypeArg.sign_external_sharing_policy_changed: (team_policies) Changed Signatures external sharing policy for team :ivar EventTypeArg.sign_template_creation_permission_changed: (team_policies) Changed template creation permission :ivar EventTypeArg.smarter_smart_sync_policy_changed: (team_policies) Changed automatic Smart Sync setting for team :ivar EventTypeArg.smart_sync_change_policy: (team_policies) Changed default Smart Sync setting for team members :ivar EventTypeArg.smart_sync_not_opt_out: (team_policies) Opted team into Smart Sync :ivar EventTypeArg.smart_sync_opt_out: (team_policies) Opted team out of Smart Sync :ivar EventTypeArg.sso_change_policy: (team_policies) Changed single sign-on setting for team :ivar EventTypeArg.stack_cross_team_access_policy_changed: (team_policies) Changed cross-team Stack access policy for team :ivar EventTypeArg.team_branding_policy_changed: (team_policies) Changed team branding policy for team :ivar EventTypeArg.team_extensions_policy_changed: (team_policies) Changed App Integrations setting for team :ivar EventTypeArg.team_member_storage_request_policy_changed: (team_policies) Changed team member storage request policy for team :ivar EventTypeArg.team_selective_sync_policy_changed: (team_policies) Enabled/disabled Team Selective Sync for team :ivar EventTypeArg.team_sharing_whitelist_subjects_changed: (team_policies) Edited the approved list for sharing externally :ivar EventTypeArg.tfa_add_exception: (team_policies) Added members to two factor authentication exception list :ivar EventTypeArg.tfa_change_policy: (team_policies) Changed two-factor authentication setting for team :ivar EventTypeArg.tfa_remove_exception: (team_policies) Removed members from two factor authentication exception list :ivar EventTypeArg.top_level_content_policy_changed: (team_policies) Changed top level content setting for team :ivar EventTypeArg.two_account_change_policy: (team_policies) Enabled/disabled option for members to link personal Dropbox account and team account to same computer :ivar EventTypeArg.viewer_info_policy_changed: (team_policies) Changed team policy for viewer info :ivar EventTypeArg.watermarking_policy_changed: (team_policies) Changed watermarking policy for team :ivar EventTypeArg.web_sessions_change_active_session_limit: (team_policies) Changed limit on active sessions per member :ivar EventTypeArg.web_sessions_change_fixed_length_policy: (team_policies) Changed how long members can stay signed in to Dropbox.com :ivar EventTypeArg.web_sessions_change_idle_length_policy: (team_policies) Changed how long team members can be idle while signed in to Dropbox.com :ivar EventTypeArg.data_residency_migration_request_successful: (team_profile) Requested data residency migration for team data :ivar EventTypeArg.data_residency_migration_request_unsuccessful: (team_profile) Request for data residency migration for team data has failed :ivar EventTypeArg.team_merge_from: (team_profile) Merged another team into this team :ivar EventTypeArg.team_merge_to: (team_profile) Merged this team into another team :ivar EventTypeArg.team_profile_add_background: (team_profile) Added team background to display on shared link headers :ivar EventTypeArg.team_profile_add_logo: (team_profile) Added team logo to display on shared link headers :ivar EventTypeArg.team_profile_change_background: (team_profile) Changed team background displayed on shared link headers :ivar EventTypeArg.team_profile_change_default_language: (team_profile) Changed default language for team :ivar EventTypeArg.team_profile_change_logo: (team_profile) Changed team logo displayed on shared link headers :ivar EventTypeArg.team_profile_change_name: (team_profile) Changed team name :ivar EventTypeArg.team_profile_remove_background: (team_profile) Removed team background displayed on shared link headers :ivar EventTypeArg.team_profile_remove_logo: (team_profile) Removed team logo displayed on shared link headers :ivar EventTypeArg.passkey_add: (tfa) Added passkey for login :ivar EventTypeArg.passkey_remove: (tfa) Removed passkey for login :ivar EventTypeArg.tfa_add_backup_phone: (tfa) Added backup phone for two-factor authentication :ivar EventTypeArg.tfa_add_security_key: (tfa) Added security key for two-factor authentication :ivar EventTypeArg.tfa_change_backup_phone: (tfa) Changed backup phone for two-factor authentication :ivar EventTypeArg.tfa_change_status: (tfa) Enabled/disabled/changed two-factor authentication setting :ivar EventTypeArg.tfa_remove_backup_phone: (tfa) Removed backup phone for two-factor authentication :ivar EventTypeArg.tfa_remove_security_key: (tfa) Removed security key for two-factor authentication :ivar EventTypeArg.tfa_reset: (tfa) Reset two-factor authentication for team member :ivar EventTypeArg.changed_enterprise_admin_role: (trusted_teams) Changed enterprise admin role :ivar EventTypeArg.changed_enterprise_connected_team_status: (trusted_teams) Changed enterprise-connected team status :ivar EventTypeArg.ended_enterprise_admin_session: (trusted_teams) Ended enterprise admin session :ivar EventTypeArg.ended_enterprise_admin_session_deprecated: (trusted_teams) Ended enterprise admin session (deprecated, replaced by 'Ended enterprise admin session') :ivar EventTypeArg.enterprise_settings_locking: (trusted_teams) Changed who can update a setting :ivar EventTypeArg.guest_admin_change_status: (trusted_teams) Changed guest team admin status :ivar EventTypeArg.started_enterprise_admin_session: (trusted_teams) Started enterprise admin session :ivar EventTypeArg.team_merge_request_accepted: (trusted_teams) Accepted a team merge request :ivar EventTypeArg.team_merge_request_accepted_shown_to_primary_team: (trusted_teams) Accepted a team merge request (deprecated, replaced by 'Accepted a team merge request') :ivar EventTypeArg.team_merge_request_accepted_shown_to_secondary_team: (trusted_teams) Accepted a team merge request (deprecated, replaced by 'Accepted a team merge request') :ivar EventTypeArg.team_merge_request_auto_canceled: (trusted_teams) Automatically canceled team merge request :ivar EventTypeArg.team_merge_request_canceled: (trusted_teams) Canceled a team merge request :ivar EventTypeArg.team_merge_request_canceled_shown_to_primary_team: (trusted_teams) Canceled a team merge request (deprecated, replaced by 'Canceled a team merge request') :ivar EventTypeArg.team_merge_request_canceled_shown_to_secondary_team: (trusted_teams) Canceled a team merge request (deprecated, replaced by 'Canceled a team merge request') :ivar EventTypeArg.team_merge_request_expired: (trusted_teams) Team merge request expired :ivar EventTypeArg.team_merge_request_expired_shown_to_primary_team: (trusted_teams) Team merge request expired (deprecated, replaced by 'Team merge request expired') :ivar EventTypeArg.team_merge_request_expired_shown_to_secondary_team: (trusted_teams) Team merge request expired (deprecated, replaced by 'Team merge request expired') :ivar EventTypeArg.team_merge_request_rejected_shown_to_primary_team: (trusted_teams) Rejected a team merge request (deprecated, no longer logged) :ivar EventTypeArg.team_merge_request_rejected_shown_to_secondary_team: (trusted_teams) Rejected a team merge request (deprecated, no longer logged) :ivar EventTypeArg.team_merge_request_reminder: (trusted_teams) Sent a team merge request reminder :ivar EventTypeArg.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 EventTypeArg.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 EventTypeArg.team_merge_request_revoked: (trusted_teams) Canceled the team merge :ivar EventTypeArg.team_merge_request_sent_shown_to_primary_team: (trusted_teams) Requested to merge their Dropbox team into yours :ivar EventTypeArg.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 admin_alerting_alert_state_changed = None # Attribute is overwritten below the class definition admin_alerting_changed_alert_config = None # Attribute is overwritten below the class definition admin_alerting_triggered_alert = None # Attribute is overwritten below the class definition ransomware_restore_process_completed = None # Attribute is overwritten below the class definition ransomware_restore_process_started = None # Attribute is overwritten below the class definition app_blocked_by_permissions = None # Attribute is overwritten below the class definition app_link_team = None # Attribute is overwritten below the class definition app_link_user = None # Attribute is overwritten below the class definition app_unlink_team = None # Attribute is overwritten below the class definition app_unlink_user = None # Attribute is overwritten below the class definition integration_connected = None # Attribute is overwritten below the class definition integration_disconnected = None # Attribute is overwritten below the class definition file_add_comment = None # Attribute is overwritten below the class definition file_change_comment_subscription = None # Attribute is overwritten below the class definition file_delete_comment = None # Attribute is overwritten below the class definition file_edit_comment = None # Attribute is overwritten below the class definition file_like_comment = None # Attribute is overwritten below the class definition file_resolve_comment = None # Attribute is overwritten below the class definition file_unlike_comment = None # Attribute is overwritten below the class definition file_unresolve_comment = None # Attribute is overwritten below the class definition dash_added_comment_to_stack = None # Attribute is overwritten below the class definition dash_added_connector = None # Attribute is overwritten below the class definition dash_added_link_to_stack = None # Attribute is overwritten below the class definition dash_added_team_email_domain_allowlist = None # Attribute is overwritten below the class definition dash_admin_added_org_wide_connector = None # Attribute is overwritten below the class definition dash_admin_disabled_connector = None # Attribute is overwritten below the class definition dash_admin_enabled_connector = None # Attribute is overwritten below the class definition dash_admin_removed_org_wide_connector = None # Attribute is overwritten below the class definition dash_archived_stack = None # Attribute is overwritten below the class definition dash_changed_audience_of_shared_link_to_stack = None # Attribute is overwritten below the class definition dash_cloned_stack = None # Attribute is overwritten below the class definition dash_connector_tools_call = None # Attribute is overwritten below the class definition dash_created_stack = None # Attribute is overwritten below the class definition dash_deleted_comment_from_stack = None # Attribute is overwritten below the class definition dash_deleted_stack = None # Attribute is overwritten below the class definition dash_edited_comment_in_stack = None # Attribute is overwritten below the class definition dash_external_user_opened_stack = None # Attribute is overwritten below the class definition dash_first_launched_desktop = None # Attribute is overwritten below the class definition dash_first_launched_extension = None # Attribute is overwritten below the class definition dash_first_launched_web_start_page = None # Attribute is overwritten below the class definition dash_opened_shared_link_to_stack = None # Attribute is overwritten below the class definition dash_opened_stack = None # Attribute is overwritten below the class definition dash_preview_opt_out_status_changed = None # Attribute is overwritten below the class definition dash_removed_connector = None # Attribute is overwritten below the class definition dash_removed_link_from_stack = None # Attribute is overwritten below the class definition dash_removed_shared_link_to_stack = None # Attribute is overwritten below the class definition dash_removed_team_email_domain_allowlist = None # Attribute is overwritten below the class definition dash_renamed_stack = None # Attribute is overwritten below the class definition dash_shared_link_to_stack = None # Attribute is overwritten below the class definition dash_unarchived_stack = None # Attribute is overwritten below the class definition dash_viewed_company_stack = None # Attribute is overwritten below the class definition dash_viewed_external_ai_activity_report = None # Attribute is overwritten below the class definition governance_policy_add_folders = None # Attribute is overwritten below the class definition governance_policy_add_folder_failed = None # Attribute is overwritten below the class definition governance_policy_content_disposed = None # Attribute is overwritten below the class definition governance_policy_create = None # Attribute is overwritten below the class definition governance_policy_delete = None # Attribute is overwritten below the class definition governance_policy_edit_details = None # Attribute is overwritten below the class definition governance_policy_edit_duration = None # Attribute is overwritten below the class definition governance_policy_export_created = None # Attribute is overwritten below the class definition governance_policy_export_removed = None # Attribute is overwritten below the class definition governance_policy_remove_folders = None # Attribute is overwritten below the class definition governance_policy_report_created = None # Attribute is overwritten below the class definition governance_policy_zip_part_downloaded = None # Attribute is overwritten below the class definition legal_holds_activate_a_hold = None # Attribute is overwritten below the class definition legal_holds_add_members = None # Attribute is overwritten below the class definition legal_holds_change_hold_details = None # Attribute is overwritten below the class definition legal_holds_change_hold_name = None # Attribute is overwritten below the class definition legal_holds_export_a_hold = None # Attribute is overwritten below the class definition legal_holds_export_cancelled = None # Attribute is overwritten below the class definition legal_holds_export_downloaded = None # Attribute is overwritten below the class definition legal_holds_export_removed = None # Attribute is overwritten below the class definition legal_holds_release_a_hold = None # Attribute is overwritten below the class definition legal_holds_remove_members = None # Attribute is overwritten below the class definition legal_holds_report_a_hold = None # Attribute is overwritten below the class definition device_change_ip_desktop = None # Attribute is overwritten below the class definition device_change_ip_mobile = None # Attribute is overwritten below the class definition device_change_ip_web = None # Attribute is overwritten below the class definition device_delete_on_unlink_fail = None # Attribute is overwritten below the class definition device_delete_on_unlink_success = None # Attribute is overwritten below the class definition device_link_fail = None # Attribute is overwritten below the class definition device_link_success = None # Attribute is overwritten below the class definition device_management_disabled = None # Attribute is overwritten below the class definition device_management_enabled = None # Attribute is overwritten below the class definition device_sync_backup_status_changed = None # Attribute is overwritten below the class definition device_unlink = None # Attribute is overwritten below the class definition dropbox_passwords_exported = None # Attribute is overwritten below the class definition dropbox_passwords_new_device_enrolled = None # Attribute is overwritten below the class definition emm_refresh_auth_token = None # Attribute is overwritten below the class definition external_drive_backup_eligibility_status_checked = None # Attribute is overwritten below the class definition external_drive_backup_status_changed = None # Attribute is overwritten below the class definition account_capture_change_availability = None # Attribute is overwritten below the class definition account_capture_migrate_account = None # Attribute is overwritten below the class definition account_capture_notification_emails_sent = None # Attribute is overwritten below the class definition account_capture_relinquish_account = None # Attribute is overwritten below the class definition disabled_domain_invites = None # Attribute is overwritten below the class definition domain_invites_approve_request_to_join_team = None # Attribute is overwritten below the class definition domain_invites_decline_request_to_join_team = None # Attribute is overwritten below the class definition domain_invites_email_existing_users = None # Attribute is overwritten below the class definition domain_invites_request_to_join_team = None # Attribute is overwritten below the class definition domain_invites_set_invite_new_user_pref_to_no = None # Attribute is overwritten below the class definition domain_invites_set_invite_new_user_pref_to_yes = None # Attribute is overwritten below the class definition domain_verification_add_domain_fail = None # Attribute is overwritten below the class definition domain_verification_add_domain_success = None # Attribute is overwritten below the class definition domain_verification_remove_domain = None # Attribute is overwritten below the class definition enabled_domain_invites = None # Attribute is overwritten below the class definition encrypted_folder_cancel_team_key_rotation = None # Attribute is overwritten below the class definition encrypted_folder_enroll_backup_key = None # Attribute is overwritten below the class definition encrypted_folder_enroll_client = None # Attribute is overwritten below the class definition encrypted_folder_enroll_team = None # Attribute is overwritten below the class definition encrypted_folder_finish_team_unenrollment = None # Attribute is overwritten below the class definition encrypted_folder_init_team_key_rotation = None # Attribute is overwritten below the class definition encrypted_folder_init_team_unenrollment = None # Attribute is overwritten below the class definition encrypted_folder_remove_backup_key = None # Attribute is overwritten below the class definition encrypted_folder_rotate_team_key = None # Attribute is overwritten below the class definition encrypted_folder_unenroll_client = None # Attribute is overwritten below the class definition team_encryption_key_activate_key = None # Attribute is overwritten below the class definition team_encryption_key_cancel_key_deletion = None # Attribute is overwritten below the class definition team_encryption_key_create_key = None # Attribute is overwritten below the class definition team_encryption_key_deactivate_key = None # Attribute is overwritten below the class definition team_encryption_key_delete_key = None # Attribute is overwritten below the class definition team_encryption_key_disable_key = None # Attribute is overwritten below the class definition team_encryption_key_enable_key = None # Attribute is overwritten below the class definition team_encryption_key_rotate_key = None # Attribute is overwritten below the class definition team_encryption_key_schedule_key_deletion = None # Attribute is overwritten below the class definition apply_naming_convention = None # Attribute is overwritten below the class definition create_folder = None # Attribute is overwritten below the class definition file_add = None # Attribute is overwritten below the class definition file_add_from_automation = None # Attribute is overwritten below the class definition file_copy = None # Attribute is overwritten below the class definition file_delete = None # Attribute is overwritten below the class definition file_download = None # Attribute is overwritten below the class definition file_edit = None # Attribute is overwritten below the class definition file_get_copy_reference = None # Attribute is overwritten below the class definition file_locking_lock_status_changed = None # Attribute is overwritten below the class definition file_move = None # Attribute is overwritten below the class definition file_permanently_delete = None # Attribute is overwritten below the class definition file_preview = None # Attribute is overwritten below the class definition file_rename = None # Attribute is overwritten below the class definition file_restore = None # Attribute is overwritten below the class definition file_revert = None # Attribute is overwritten below the class definition file_rollback_changes = None # Attribute is overwritten below the class definition file_save_copy_reference = None # Attribute is overwritten below the class definition folder_overview_description_changed = None # Attribute is overwritten below the class definition folder_overview_item_pinned = None # Attribute is overwritten below the class definition folder_overview_item_unpinned = None # Attribute is overwritten below the class definition media_hub_file_downloaded = None # Attribute is overwritten below the class definition object_label_added = None # Attribute is overwritten below the class definition object_label_removed = None # Attribute is overwritten below the class definition object_label_updated_value = None # Attribute is overwritten below the class definition organize_folder_with_tidy = None # Attribute is overwritten below the class definition replay_file_delete = None # Attribute is overwritten below the class definition replay_file_downloaded = None # Attribute is overwritten below the class definition replay_team_project_created = None # Attribute is overwritten below the class definition rewind_folder = None # Attribute is overwritten below the class definition undo_naming_convention = None # Attribute is overwritten below the class definition undo_organize_folder_with_tidy = None # Attribute is overwritten below the class definition user_tags_added = None # Attribute is overwritten below the class definition user_tags_removed = None # Attribute is overwritten below the class definition email_ingest_receive_file = None # Attribute is overwritten below the class definition file_request_auto_close = None # Attribute is overwritten below the class definition file_request_change = None # Attribute is overwritten below the class definition file_request_close = None # Attribute is overwritten below the class definition file_request_create = None # Attribute is overwritten below the class definition file_request_delete = None # Attribute is overwritten below the class definition file_request_receive_file = None # Attribute is overwritten below the class definition group_add_external_id = None # Attribute is overwritten below the class definition group_add_member = None # Attribute is overwritten below the class definition group_change_external_id = None # Attribute is overwritten below the class definition group_change_management_type = None # Attribute is overwritten below the class definition group_change_member_role = None # Attribute is overwritten below the class definition group_create = None # Attribute is overwritten below the class definition group_delete = None # Attribute is overwritten below the class definition group_description_updated = None # Attribute is overwritten below the class definition group_external_sharing_setting_override_changed = None # Attribute is overwritten below the class definition group_join_policy_updated = None # Attribute is overwritten below the class definition group_moved = None # Attribute is overwritten below the class definition group_remove_external_id = None # Attribute is overwritten below the class definition group_remove_member = None # Attribute is overwritten below the class definition group_rename = None # Attribute is overwritten below the class definition account_lock_or_unlocked = None # Attribute is overwritten below the class definition emm_error = None # Attribute is overwritten below the class definition guest_admin_signed_in_via_trusted_teams = None # Attribute is overwritten below the class definition guest_admin_signed_out_via_trusted_teams = None # Attribute is overwritten below the class definition login_fail = None # Attribute is overwritten below the class definition login_success = None # Attribute is overwritten below the class definition logout = None # Attribute is overwritten below the class definition reseller_support_session_end = None # Attribute is overwritten below the class definition reseller_support_session_start = None # Attribute is overwritten below the class definition sign_in_as_session_end = None # Attribute is overwritten below the class definition sign_in_as_session_start = None # Attribute is overwritten below the class definition sso_error = None # Attribute is overwritten below the class definition addon_assigned = None # Attribute is overwritten below the class definition addon_removed = None # Attribute is overwritten below the class definition backup_admin_invitation_sent = None # Attribute is overwritten below the class definition backup_invitation_opened = None # Attribute is overwritten below the class definition create_team_invite_link = None # Attribute is overwritten below the class definition delete_team_invite_link = None # Attribute is overwritten below the class definition member_add_external_id = None # Attribute is overwritten below the class definition member_add_name = None # Attribute is overwritten below the class definition member_change_admin_role = None # Attribute is overwritten below the class definition member_change_email = None # Attribute is overwritten below the class definition member_change_external_id = None # Attribute is overwritten below the class definition member_change_membership_type = None # Attribute is overwritten below the class definition member_change_name = None # Attribute is overwritten below the class definition member_change_reseller_role = None # Attribute is overwritten below the class definition member_change_status = None # Attribute is overwritten below the class definition member_delete_manual_contacts = None # Attribute is overwritten below the class definition member_delete_profile_photo = None # Attribute is overwritten below the class definition member_permanently_delete_account_contents = None # Attribute is overwritten below the class definition member_remove_external_id = None # Attribute is overwritten below the class definition member_set_profile_photo = None # Attribute is overwritten below the class definition member_space_limits_add_custom_quota = None # Attribute is overwritten below the class definition member_space_limits_change_custom_quota = None # Attribute is overwritten below the class definition member_space_limits_change_status = None # Attribute is overwritten below the class definition member_space_limits_remove_custom_quota = None # Attribute is overwritten below the class definition member_suggest = None # Attribute is overwritten below the class definition member_transfer_account_contents = None # Attribute is overwritten below the class definition pending_secondary_email_added = None # Attribute is overwritten below the class definition product_assigned_to_member = None # Attribute is overwritten below the class definition product_removed_from_member = None # Attribute is overwritten below the class definition secondary_email_deleted = None # Attribute is overwritten below the class definition secondary_email_verified = None # Attribute is overwritten below the class definition secondary_mails_policy_changed = None # Attribute is overwritten below the class definition binder_add_page = None # Attribute is overwritten below the class definition binder_add_section = None # Attribute is overwritten below the class definition binder_remove_page = None # Attribute is overwritten below the class definition binder_remove_section = None # Attribute is overwritten below the class definition binder_rename_page = None # Attribute is overwritten below the class definition binder_rename_section = None # Attribute is overwritten below the class definition binder_reorder_page = None # Attribute is overwritten below the class definition binder_reorder_section = None # Attribute is overwritten below the class definition paper_content_add_member = None # Attribute is overwritten below the class definition paper_content_add_to_folder = None # Attribute is overwritten below the class definition paper_content_archive = None # Attribute is overwritten below the class definition paper_content_create = None # Attribute is overwritten below the class definition paper_content_permanently_delete = None # Attribute is overwritten below the class definition paper_content_remove_from_folder = None # Attribute is overwritten below the class definition paper_content_remove_member = None # Attribute is overwritten below the class definition paper_content_rename = None # Attribute is overwritten below the class definition paper_content_restore = None # Attribute is overwritten below the class definition paper_doc_add_comment = None # Attribute is overwritten below the class definition paper_doc_change_member_role = None # Attribute is overwritten below the class definition paper_doc_change_sharing_policy = None # Attribute is overwritten below the class definition paper_doc_change_subscription = None # Attribute is overwritten below the class definition paper_doc_deleted = None # Attribute is overwritten below the class definition paper_doc_delete_comment = None # Attribute is overwritten below the class definition paper_doc_download = None # Attribute is overwritten below the class definition paper_doc_edit = None # Attribute is overwritten below the class definition paper_doc_edit_comment = None # Attribute is overwritten below the class definition paper_doc_followed = None # Attribute is overwritten below the class definition paper_doc_mention = None # Attribute is overwritten below the class definition paper_doc_ownership_changed = None # Attribute is overwritten below the class definition paper_doc_request_access = None # Attribute is overwritten below the class definition paper_doc_resolve_comment = None # Attribute is overwritten below the class definition paper_doc_revert = None # Attribute is overwritten below the class definition paper_doc_slack_share = None # Attribute is overwritten below the class definition paper_doc_team_invite = None # Attribute is overwritten below the class definition paper_doc_trashed = None # Attribute is overwritten below the class definition paper_doc_unresolve_comment = None # Attribute is overwritten below the class definition paper_doc_untrashed = None # Attribute is overwritten below the class definition paper_doc_view = None # Attribute is overwritten below the class definition paper_external_view_allow = None # Attribute is overwritten below the class definition paper_external_view_default_team = None # Attribute is overwritten below the class definition paper_external_view_forbid = None # Attribute is overwritten below the class definition paper_folder_change_subscription = None # Attribute is overwritten below the class definition paper_folder_deleted = None # Attribute is overwritten below the class definition paper_folder_followed = None # Attribute is overwritten below the class definition paper_folder_team_invite = None # Attribute is overwritten below the class definition paper_published_link_change_permission = None # Attribute is overwritten below the class definition paper_published_link_create = None # Attribute is overwritten below the class definition paper_published_link_disabled = None # Attribute is overwritten below the class definition paper_published_link_view = None # Attribute is overwritten below the class definition password_change = None # Attribute is overwritten below the class definition password_reset = None # Attribute is overwritten below the class definition password_reset_all = None # Attribute is overwritten below the class definition protect_internal_domains_changed = None # Attribute is overwritten below the class definition classification_create_report = None # Attribute is overwritten below the class definition classification_create_report_fail = None # Attribute is overwritten below the class definition emm_create_exceptions_report = None # Attribute is overwritten below the class definition emm_create_usage_report = None # Attribute is overwritten below the class definition export_members_report = None # Attribute is overwritten below the class definition export_members_report_fail = None # Attribute is overwritten below the class definition external_sharing_create_report = None # Attribute is overwritten below the class definition external_sharing_report_failed = None # Attribute is overwritten below the class definition member_access_details_create_report = None # Attribute is overwritten below the class definition member_access_details_create_report_failed = None # Attribute is overwritten below the class definition no_expiration_link_gen_create_report = None # Attribute is overwritten below the class definition no_expiration_link_gen_report_failed = None # Attribute is overwritten below the class definition no_password_link_gen_create_report = None # Attribute is overwritten below the class definition no_password_link_gen_report_failed = None # Attribute is overwritten below the class definition no_password_link_view_create_report = None # Attribute is overwritten below the class definition no_password_link_view_report_failed = None # Attribute is overwritten below the class definition outdated_link_view_create_report = None # Attribute is overwritten below the class definition outdated_link_view_report_failed = None # Attribute is overwritten below the class definition paper_admin_export_start = None # Attribute is overwritten below the class definition ransomware_alert_create_report = None # Attribute is overwritten below the class definition ransomware_alert_create_report_failed = None # Attribute is overwritten below the class definition shared_folders_create_report = None # Attribute is overwritten below the class definition shared_folders_create_report_failed = None # Attribute is overwritten below the class definition smart_sync_create_admin_privilege_report = None # Attribute is overwritten below the class definition team_activity_create_report = None # Attribute is overwritten below the class definition team_activity_create_report_fail = None # Attribute is overwritten below the class definition team_folders_create_report = None # Attribute is overwritten below the class definition team_folders_create_report_failed = None # Attribute is overwritten below the class definition team_storage_create_report = None # Attribute is overwritten below the class definition team_storage_create_report_failed = None # Attribute is overwritten below the class definition collection_share = None # Attribute is overwritten below the class definition file_transfers_file_add = None # Attribute is overwritten below the class definition file_transfers_transfer_delete = None # Attribute is overwritten below the class definition file_transfers_transfer_download = None # Attribute is overwritten below the class definition file_transfers_transfer_send = None # Attribute is overwritten below the class definition file_transfers_transfer_view = None # Attribute is overwritten below the class definition media_hub_project_team_add = None # Attribute is overwritten below the class definition media_hub_project_team_delete = None # Attribute is overwritten below the class definition media_hub_project_team_role_changed = None # Attribute is overwritten below the class definition media_hub_shared_link_audience_changed = None # Attribute is overwritten below the class definition media_hub_shared_link_created = None # Attribute is overwritten below the class definition media_hub_shared_link_download_setting_changed = None # Attribute is overwritten below the class definition media_hub_shared_link_revoked = None # Attribute is overwritten below the class definition note_acl_invite_only = None # Attribute is overwritten below the class definition note_acl_link = None # Attribute is overwritten below the class definition note_acl_team_link = None # Attribute is overwritten below the class definition note_shared = None # Attribute is overwritten below the class definition note_share_receive = None # Attribute is overwritten below the class definition open_note_shared = None # Attribute is overwritten below the class definition replay_file_shared_link_created = None # Attribute is overwritten below the class definition replay_file_shared_link_modified = None # Attribute is overwritten below the class definition replay_project_team_add = None # Attribute is overwritten below the class definition replay_project_team_delete = None # Attribute is overwritten below the class definition send_and_track_file_added = None # Attribute is overwritten below the class definition send_and_track_file_renamed = None # Attribute is overwritten below the class definition send_and_track_file_updated = None # Attribute is overwritten below the class definition send_and_track_link_created = None # Attribute is overwritten below the class definition send_and_track_link_deleted = None # Attribute is overwritten below the class definition send_and_track_link_updated = None # Attribute is overwritten below the class definition send_and_track_link_viewed = None # Attribute is overwritten below the class definition send_and_track_removed_file_and_associated_links = None # Attribute is overwritten below the class definition sf_add_group = None # Attribute is overwritten below the class definition sf_allow_non_members_to_view_shared_links = None # Attribute is overwritten below the class definition sf_external_invite_warn = None # Attribute is overwritten below the class definition sf_fb_invite = None # Attribute is overwritten below the class definition sf_fb_invite_change_role = None # Attribute is overwritten below the class definition sf_fb_uninvite = None # Attribute is overwritten below the class definition sf_invite_group = None # Attribute is overwritten below the class definition sf_team_grant_access = None # Attribute is overwritten below the class definition sf_team_invite = None # Attribute is overwritten below the class definition sf_team_invite_change_role = None # Attribute is overwritten below the class definition sf_team_join = None # Attribute is overwritten below the class definition sf_team_join_from_oob_link = None # Attribute is overwritten below the class definition sf_team_uninvite = None # Attribute is overwritten below the class definition shared_content_add_invitees = None # Attribute is overwritten below the class definition shared_content_add_link_expiry = None # Attribute is overwritten below the class definition shared_content_add_link_password = None # Attribute is overwritten below the class definition shared_content_add_member = None # Attribute is overwritten below the class definition shared_content_change_downloads_policy = None # Attribute is overwritten below the class definition shared_content_change_invitee_role = None # Attribute is overwritten below the class definition shared_content_change_link_audience = None # Attribute is overwritten below the class definition shared_content_change_link_expiry = None # Attribute is overwritten below the class definition shared_content_change_link_password = None # Attribute is overwritten below the class definition shared_content_change_member_role = None # Attribute is overwritten below the class definition shared_content_change_viewer_info_policy = None # Attribute is overwritten below the class definition shared_content_claim_invitation = None # Attribute is overwritten below the class definition shared_content_copy = None # Attribute is overwritten below the class definition shared_content_download = None # Attribute is overwritten below the class definition shared_content_relinquish_membership = None # Attribute is overwritten below the class definition shared_content_remove_invitees = None # Attribute is overwritten below the class definition shared_content_remove_link_expiry = None # Attribute is overwritten below the class definition shared_content_remove_link_password = None # Attribute is overwritten below the class definition shared_content_remove_member = None # Attribute is overwritten below the class definition shared_content_request_access = None # Attribute is overwritten below the class definition shared_content_restore_invitees = None # Attribute is overwritten below the class definition shared_content_restore_member = None # Attribute is overwritten below the class definition shared_content_unshare = None # Attribute is overwritten below the class definition shared_content_view = None # Attribute is overwritten below the class definition shared_folder_change_link_policy = None # Attribute is overwritten below the class definition shared_folder_change_members_inheritance_policy = None # Attribute is overwritten below the class definition shared_folder_change_members_management_policy = None # Attribute is overwritten below the class definition shared_folder_change_members_policy = None # Attribute is overwritten below the class definition shared_folder_create = None # Attribute is overwritten below the class definition shared_folder_decline_invitation = None # Attribute is overwritten below the class definition shared_folder_mount = None # Attribute is overwritten below the class definition shared_folder_nest = None # Attribute is overwritten below the class definition shared_folder_transfer_ownership = None # Attribute is overwritten below the class definition shared_folder_unmount = None # Attribute is overwritten below the class definition shared_link_add_expiry = None # Attribute is overwritten below the class definition shared_link_change_expiry = None # Attribute is overwritten below the class definition shared_link_change_visibility = None # Attribute is overwritten below the class definition shared_link_copy = None # Attribute is overwritten below the class definition shared_link_create = None # Attribute is overwritten below the class definition shared_link_disable = None # Attribute is overwritten below the class definition shared_link_download = None # Attribute is overwritten below the class definition shared_link_remove_expiry = None # Attribute is overwritten below the class definition shared_link_remove_visitor = None # Attribute is overwritten below the class definition shared_link_settings_add_expiration = None # Attribute is overwritten below the class definition shared_link_settings_add_password = None # Attribute is overwritten below the class definition shared_link_settings_allow_download_disabled = None # Attribute is overwritten below the class definition shared_link_settings_allow_download_enabled = None # Attribute is overwritten below the class definition shared_link_settings_change_audience = None # Attribute is overwritten below the class definition shared_link_settings_change_expiration = None # Attribute is overwritten below the class definition shared_link_settings_change_password = None # Attribute is overwritten below the class definition shared_link_settings_remove_expiration = None # Attribute is overwritten below the class definition shared_link_settings_remove_password = None # Attribute is overwritten below the class definition shared_link_share = None # Attribute is overwritten below the class definition shared_link_view = None # Attribute is overwritten below the class definition shared_note_opened = None # Attribute is overwritten below the class definition shmodel_disable_downloads = None # Attribute is overwritten below the class definition shmodel_enable_downloads = None # Attribute is overwritten below the class definition shmodel_group_share = None # Attribute is overwritten below the class definition showcase_access_granted = None # Attribute is overwritten below the class definition showcase_add_member = None # Attribute is overwritten below the class definition showcase_archived = None # Attribute is overwritten below the class definition showcase_created = None # Attribute is overwritten below the class definition showcase_delete_comment = None # Attribute is overwritten below the class definition showcase_edited = None # Attribute is overwritten below the class definition showcase_edit_comment = None # Attribute is overwritten below the class definition showcase_file_added = None # Attribute is overwritten below the class definition showcase_file_download = None # Attribute is overwritten below the class definition showcase_file_removed = None # Attribute is overwritten below the class definition showcase_file_view = None # Attribute is overwritten below the class definition showcase_permanently_deleted = None # Attribute is overwritten below the class definition showcase_post_comment = None # Attribute is overwritten below the class definition showcase_remove_member = None # Attribute is overwritten below the class definition showcase_renamed = None # Attribute is overwritten below the class definition showcase_request_access = None # Attribute is overwritten below the class definition showcase_resolve_comment = None # Attribute is overwritten below the class definition showcase_restored = None # Attribute is overwritten below the class definition showcase_trashed = None # Attribute is overwritten below the class definition showcase_trashed_deprecated = None # Attribute is overwritten below the class definition showcase_unresolve_comment = None # Attribute is overwritten below the class definition showcase_untrashed = None # Attribute is overwritten below the class definition showcase_untrashed_deprecated = None # Attribute is overwritten below the class definition showcase_view = None # Attribute is overwritten below the class definition sign_signature_request_canceled = None # Attribute is overwritten below the class definition sign_signature_request_completed = None # Attribute is overwritten below the class definition sign_signature_request_declined = None # Attribute is overwritten below the class definition sign_signature_request_opened = None # Attribute is overwritten below the class definition sign_signature_request_reminder_sent = None # Attribute is overwritten below the class definition sign_signature_request_sent = None # Attribute is overwritten below the class definition sign_template_created = None # Attribute is overwritten below the class definition sign_template_shared = None # Attribute is overwritten below the class definition risc_security_event = None # Attribute is overwritten below the class definition sso_add_cert = None # Attribute is overwritten below the class definition sso_add_login_url = None # Attribute is overwritten below the class definition sso_add_logout_url = None # Attribute is overwritten below the class definition sso_change_cert = None # Attribute is overwritten below the class definition sso_change_login_url = None # Attribute is overwritten below the class definition sso_change_logout_url = None # Attribute is overwritten below the class definition sso_change_saml_identity_mode = None # Attribute is overwritten below the class definition sso_remove_cert = None # Attribute is overwritten below the class definition sso_remove_login_url = None # Attribute is overwritten below the class definition sso_remove_logout_url = None # Attribute is overwritten below the class definition team_folder_change_status = None # Attribute is overwritten below the class definition team_folder_create = None # Attribute is overwritten below the class definition team_folder_downgrade = None # Attribute is overwritten below the class definition team_folder_permanently_delete = None # Attribute is overwritten below the class definition team_folder_rename = None # Attribute is overwritten below the class definition team_folder_space_limits_change_caps_type = None # Attribute is overwritten below the class definition team_folder_space_limits_change_limit = None # Attribute is overwritten below the class definition team_folder_space_limits_change_notification_target = None # Attribute is overwritten below the class definition team_selective_sync_settings_changed = None # Attribute is overwritten below the class definition account_capture_change_policy = None # Attribute is overwritten below the class definition admin_email_reminders_changed = None # Attribute is overwritten below the class definition ai_third_party_sharing_dropbox_base_policy_changed = None # Attribute is overwritten below the class definition allow_download_disabled = None # Attribute is overwritten below the class definition allow_download_enabled = None # Attribute is overwritten below the class definition apple_login_change_policy = None # Attribute is overwritten below the class definition app_permissions_changed = None # Attribute is overwritten below the class definition camera_uploads_policy_changed = None # Attribute is overwritten below the class definition capture_team_space_policy_changed = None # Attribute is overwritten below the class definition capture_transcript_policy_changed = None # Attribute is overwritten below the class definition classification_change_policy = None # Attribute is overwritten below the class definition computer_backup_policy_changed = None # Attribute is overwritten below the class definition content_administration_policy_changed = None # Attribute is overwritten below the class definition content_deletion_protection_change_policy = None # Attribute is overwritten below the class definition dash_external_sharing_policy_changed = None # Attribute is overwritten below the class definition data_placement_restriction_change_policy = None # Attribute is overwritten below the class definition data_placement_restriction_satisfy_policy = None # Attribute is overwritten below the class definition device_approvals_add_exception = None # Attribute is overwritten below the class definition device_approvals_change_desktop_policy = None # Attribute is overwritten below the class definition device_approvals_change_mobile_policy = None # Attribute is overwritten below the class definition device_approvals_change_overage_action = None # Attribute is overwritten below the class definition device_approvals_change_unlink_action = None # Attribute is overwritten below the class definition device_approvals_remove_exception = None # Attribute is overwritten below the class definition directory_restrictions_add_members = None # Attribute is overwritten below the class definition directory_restrictions_remove_members = None # Attribute is overwritten below the class definition dropbox_passwords_policy_changed = None # Attribute is overwritten below the class definition email_ingest_policy_changed = None # Attribute is overwritten below the class definition emm_add_exception = None # Attribute is overwritten below the class definition emm_change_policy = None # Attribute is overwritten below the class definition emm_remove_exception = None # Attribute is overwritten below the class definition extended_version_history_change_policy = None # Attribute is overwritten below the class definition external_drive_backup_policy_changed = None # Attribute is overwritten below the class definition file_comments_change_policy = None # Attribute is overwritten below the class definition file_locking_policy_changed = None # Attribute is overwritten below the class definition file_provider_migration_policy_changed = None # Attribute is overwritten below the class definition file_requests_change_policy = None # Attribute is overwritten below the class definition file_requests_emails_enabled = None # Attribute is overwritten below the class definition file_requests_emails_restricted_to_team_only = None # Attribute is overwritten below the class definition file_transfers_policy_changed = None # Attribute is overwritten below the class definition flexible_file_names_policy_changed = None # Attribute is overwritten below the class definition folder_link_restriction_policy_changed = None # Attribute is overwritten below the class definition google_sso_change_policy = None # Attribute is overwritten below the class definition group_user_management_change_policy = None # Attribute is overwritten below the class definition integration_policy_changed = None # Attribute is overwritten below the class definition invite_acceptance_email_policy_changed = None # Attribute is overwritten below the class definition media_hub_adding_people_policy_changed = None # Attribute is overwritten below the class definition media_hub_download_policy_changed = None # Attribute is overwritten below the class definition media_hub_link_sharing_policy_changed = None # Attribute is overwritten below the class definition member_requests_change_policy = None # Attribute is overwritten below the class definition member_send_invite_policy_changed = None # Attribute is overwritten below the class definition member_space_limits_add_exception = None # Attribute is overwritten below the class definition member_space_limits_change_caps_type_policy = None # Attribute is overwritten below the class definition member_space_limits_change_policy = None # Attribute is overwritten below the class definition member_space_limits_remove_exception = None # Attribute is overwritten below the class definition member_suggestions_change_policy = None # Attribute is overwritten below the class definition microsoft_login_change_policy = None # Attribute is overwritten below the class definition microsoft_office_addin_change_policy = None # Attribute is overwritten below the class definition multi_team_identity_policy_changed = None # Attribute is overwritten below the class definition network_control_change_policy = None # Attribute is overwritten below the class definition paper_change_deployment_policy = None # Attribute is overwritten below the class definition paper_change_member_link_policy = None # Attribute is overwritten below the class definition paper_change_member_policy = None # Attribute is overwritten below the class definition paper_change_policy = None # Attribute is overwritten below the class definition paper_default_folder_policy_changed = None # Attribute is overwritten below the class definition paper_desktop_policy_changed = None # Attribute is overwritten below the class definition paper_enabled_users_group_addition = None # Attribute is overwritten below the class definition paper_enabled_users_group_removal = None # Attribute is overwritten below the class definition passkey_login_policy_changed = None # Attribute is overwritten below the class definition password_strength_requirements_change_policy = None # Attribute is overwritten below the class definition permanent_delete_change_policy = None # Attribute is overwritten below the class definition previews_ai_policy_changed = None # Attribute is overwritten below the class definition replay_adding_people_policy_changed = None # Attribute is overwritten below the class definition replay_sharing_policy_changed = None # Attribute is overwritten below the class definition reseller_support_change_policy = None # Attribute is overwritten below the class definition rewind_policy_changed = None # Attribute is overwritten below the class definition send_and_track_policy_changed = None # Attribute is overwritten below the class definition send_external_sharing_policy_changed = None # Attribute is overwritten below the class definition send_for_signature_policy_changed = None # Attribute is overwritten below the class definition shared_link_default_permissions_policy_changed = None # Attribute is overwritten below the class definition sharing_change_folder_join_policy = None # Attribute is overwritten below the class definition sharing_change_link_allow_change_expiration_policy = None # Attribute is overwritten below the class definition sharing_change_link_default_expiration_policy = None # Attribute is overwritten below the class definition sharing_change_link_enforce_password_policy = None # Attribute is overwritten below the class definition sharing_change_link_policy = None # Attribute is overwritten below the class definition sharing_change_member_policy = None # Attribute is overwritten below the class definition showcase_change_download_policy = None # Attribute is overwritten below the class definition showcase_change_enabled_policy = None # Attribute is overwritten below the class definition showcase_change_external_sharing_policy = None # Attribute is overwritten below the class definition sign_external_sharing_policy_changed = None # Attribute is overwritten below the class definition sign_template_creation_permission_changed = None # Attribute is overwritten below the class definition smarter_smart_sync_policy_changed = None # Attribute is overwritten below the class definition smart_sync_change_policy = None # Attribute is overwritten below the class definition smart_sync_not_opt_out = None # Attribute is overwritten below the class definition smart_sync_opt_out = None # Attribute is overwritten below the class definition sso_change_policy = None # Attribute is overwritten below the class definition stack_cross_team_access_policy_changed = None # Attribute is overwritten below the class definition team_branding_policy_changed = None # Attribute is overwritten below the class definition team_extensions_policy_changed = None # Attribute is overwritten below the class definition team_member_storage_request_policy_changed = None # Attribute is overwritten below the class definition team_selective_sync_policy_changed = None # Attribute is overwritten below the class definition team_sharing_whitelist_subjects_changed = None # Attribute is overwritten below the class definition tfa_add_exception = None # Attribute is overwritten below the class definition tfa_change_policy = None # Attribute is overwritten below the class definition tfa_remove_exception = None # Attribute is overwritten below the class definition top_level_content_policy_changed = None # Attribute is overwritten below the class definition two_account_change_policy = None # Attribute is overwritten below the class definition viewer_info_policy_changed = None # Attribute is overwritten below the class definition watermarking_policy_changed = None # Attribute is overwritten below the class definition web_sessions_change_active_session_limit = None # Attribute is overwritten below the class definition web_sessions_change_fixed_length_policy = None # Attribute is overwritten below the class definition web_sessions_change_idle_length_policy = None # Attribute is overwritten below the class definition data_residency_migration_request_successful = None # Attribute is overwritten below the class definition data_residency_migration_request_unsuccessful = None # Attribute is overwritten below the class definition team_merge_from = None # Attribute is overwritten below the class definition team_merge_to = None # Attribute is overwritten below the class definition team_profile_add_background = None # Attribute is overwritten below the class definition team_profile_add_logo = None # Attribute is overwritten below the class definition team_profile_change_background = None # Attribute is overwritten below the class definition team_profile_change_default_language = None # Attribute is overwritten below the class definition team_profile_change_logo = None # Attribute is overwritten below the class definition team_profile_change_name = None # Attribute is overwritten below the class definition team_profile_remove_background = None # Attribute is overwritten below the class definition team_profile_remove_logo = None # Attribute is overwritten below the class definition passkey_add = None # Attribute is overwritten below the class definition passkey_remove = None # Attribute is overwritten below the class definition tfa_add_backup_phone = None # Attribute is overwritten below the class definition tfa_add_security_key = None # Attribute is overwritten below the class definition tfa_change_backup_phone = None # Attribute is overwritten below the class definition tfa_change_status = None # Attribute is overwritten below the class definition tfa_remove_backup_phone = None # Attribute is overwritten below the class definition tfa_remove_security_key = None # Attribute is overwritten below the class definition tfa_reset = None # Attribute is overwritten below the class definition changed_enterprise_admin_role = None # Attribute is overwritten below the class definition changed_enterprise_connected_team_status = None # Attribute is overwritten below the class definition ended_enterprise_admin_session = None # Attribute is overwritten below the class definition ended_enterprise_admin_session_deprecated = None # Attribute is overwritten below the class definition enterprise_settings_locking = None # Attribute is overwritten below the class definition guest_admin_change_status = None # Attribute is overwritten below the class definition started_enterprise_admin_session = None # Attribute is overwritten below the class definition team_merge_request_accepted = None # Attribute is overwritten below the class definition team_merge_request_accepted_shown_to_primary_team = None # Attribute is overwritten below the class definition team_merge_request_accepted_shown_to_secondary_team = None # Attribute is overwritten below the class definition team_merge_request_auto_canceled = None # Attribute is overwritten below the class definition team_merge_request_canceled = None # Attribute is overwritten below the class definition team_merge_request_canceled_shown_to_primary_team = None # Attribute is overwritten below the class definition team_merge_request_canceled_shown_to_secondary_team = None # Attribute is overwritten below the class definition team_merge_request_expired = None # Attribute is overwritten below the class definition team_merge_request_expired_shown_to_primary_team = None # Attribute is overwritten below the class definition team_merge_request_expired_shown_to_secondary_team = None # Attribute is overwritten below the class definition team_merge_request_rejected_shown_to_primary_team = None # Attribute is overwritten below the class definition team_merge_request_rejected_shown_to_secondary_team = None # Attribute is overwritten below the class definition team_merge_request_reminder = None # Attribute is overwritten below the class definition team_merge_request_reminder_shown_to_primary_team = None # Attribute is overwritten below the class definition team_merge_request_reminder_shown_to_secondary_team = None # Attribute is overwritten below the class definition team_merge_request_revoked = None # Attribute is overwritten below the class definition team_merge_request_sent_shown_to_primary_team = None # Attribute is overwritten below the class definition team_merge_request_sent_shown_to_secondary_team = None # Attribute is overwritten below the class definition other = None def is_admin_alerting_alert_state_changed(self): """ Check if the union tag is ``admin_alerting_alert_state_changed``. :rtype: bool """ return self._tag == "admin_alerting_alert_state_changed" def is_admin_alerting_changed_alert_config(self): """ Check if the union tag is ``admin_alerting_changed_alert_config``. :rtype: bool """ return self._tag == "admin_alerting_changed_alert_config" def is_admin_alerting_triggered_alert(self): """ Check if the union tag is ``admin_alerting_triggered_alert``. :rtype: bool """ return self._tag == "admin_alerting_triggered_alert" def is_ransomware_restore_process_completed(self): """ Check if the union tag is ``ransomware_restore_process_completed``. :rtype: bool """ return self._tag == "ransomware_restore_process_completed" def is_ransomware_restore_process_started(self): """ Check if the union tag is ``ransomware_restore_process_started``. :rtype: bool """ return self._tag == "ransomware_restore_process_started" def is_app_blocked_by_permissions(self): """ Check if the union tag is ``app_blocked_by_permissions``. :rtype: bool """ return self._tag == "app_blocked_by_permissions" 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_dash_added_comment_to_stack(self): """ Check if the union tag is ``dash_added_comment_to_stack``. :rtype: bool """ return self._tag == "dash_added_comment_to_stack" def is_dash_added_connector(self): """ Check if the union tag is ``dash_added_connector``. :rtype: bool """ return self._tag == "dash_added_connector" def is_dash_added_link_to_stack(self): """ Check if the union tag is ``dash_added_link_to_stack``. :rtype: bool """ return self._tag == "dash_added_link_to_stack" def is_dash_added_team_email_domain_allowlist(self): """ Check if the union tag is ``dash_added_team_email_domain_allowlist``. :rtype: bool """ return self._tag == "dash_added_team_email_domain_allowlist" def is_dash_admin_added_org_wide_connector(self): """ Check if the union tag is ``dash_admin_added_org_wide_connector``. :rtype: bool """ return self._tag == "dash_admin_added_org_wide_connector" def is_dash_admin_disabled_connector(self): """ Check if the union tag is ``dash_admin_disabled_connector``. :rtype: bool """ return self._tag == "dash_admin_disabled_connector" def is_dash_admin_enabled_connector(self): """ Check if the union tag is ``dash_admin_enabled_connector``. :rtype: bool """ return self._tag == "dash_admin_enabled_connector" def is_dash_admin_removed_org_wide_connector(self): """ Check if the union tag is ``dash_admin_removed_org_wide_connector``. :rtype: bool """ return self._tag == "dash_admin_removed_org_wide_connector" def is_dash_archived_stack(self): """ Check if the union tag is ``dash_archived_stack``. :rtype: bool """ return self._tag == "dash_archived_stack" def is_dash_changed_audience_of_shared_link_to_stack(self): """ Check if the union tag is ``dash_changed_audience_of_shared_link_to_stack``. :rtype: bool """ return self._tag == "dash_changed_audience_of_shared_link_to_stack" def is_dash_cloned_stack(self): """ Check if the union tag is ``dash_cloned_stack``. :rtype: bool """ return self._tag == "dash_cloned_stack" def is_dash_connector_tools_call(self): """ Check if the union tag is ``dash_connector_tools_call``. :rtype: bool """ return self._tag == "dash_connector_tools_call" def is_dash_created_stack(self): """ Check if the union tag is ``dash_created_stack``. :rtype: bool """ return self._tag == "dash_created_stack" def is_dash_deleted_comment_from_stack(self): """ Check if the union tag is ``dash_deleted_comment_from_stack``. :rtype: bool """ return self._tag == "dash_deleted_comment_from_stack" def is_dash_deleted_stack(self): """ Check if the union tag is ``dash_deleted_stack``. :rtype: bool """ return self._tag == "dash_deleted_stack" def is_dash_edited_comment_in_stack(self): """ Check if the union tag is ``dash_edited_comment_in_stack``. :rtype: bool """ return self._tag == "dash_edited_comment_in_stack" def is_dash_external_user_opened_stack(self): """ Check if the union tag is ``dash_external_user_opened_stack``. :rtype: bool """ return self._tag == "dash_external_user_opened_stack" def is_dash_first_launched_desktop(self): """ Check if the union tag is ``dash_first_launched_desktop``. :rtype: bool """ return self._tag == "dash_first_launched_desktop" def is_dash_first_launched_extension(self): """ Check if the union tag is ``dash_first_launched_extension``. :rtype: bool """ return self._tag == "dash_first_launched_extension" def is_dash_first_launched_web_start_page(self): """ Check if the union tag is ``dash_first_launched_web_start_page``. :rtype: bool """ return self._tag == "dash_first_launched_web_start_page" def is_dash_opened_shared_link_to_stack(self): """ Check if the union tag is ``dash_opened_shared_link_to_stack``. :rtype: bool """ return self._tag == "dash_opened_shared_link_to_stack" def is_dash_opened_stack(self): """ Check if the union tag is ``dash_opened_stack``. :rtype: bool """ return self._tag == "dash_opened_stack" def is_dash_preview_opt_out_status_changed(self): """ Check if the union tag is ``dash_preview_opt_out_status_changed``. :rtype: bool """ return self._tag == "dash_preview_opt_out_status_changed" def is_dash_removed_connector(self): """ Check if the union tag is ``dash_removed_connector``. :rtype: bool """ return self._tag == "dash_removed_connector" def is_dash_removed_link_from_stack(self): """ Check if the union tag is ``dash_removed_link_from_stack``. :rtype: bool """ return self._tag == "dash_removed_link_from_stack" def is_dash_removed_shared_link_to_stack(self): """ Check if the union tag is ``dash_removed_shared_link_to_stack``. :rtype: bool """ return self._tag == "dash_removed_shared_link_to_stack" def is_dash_removed_team_email_domain_allowlist(self): """ Check if the union tag is ``dash_removed_team_email_domain_allowlist``. :rtype: bool """ return self._tag == "dash_removed_team_email_domain_allowlist" def is_dash_renamed_stack(self): """ Check if the union tag is ``dash_renamed_stack``. :rtype: bool """ return self._tag == "dash_renamed_stack" def is_dash_shared_link_to_stack(self): """ Check if the union tag is ``dash_shared_link_to_stack``. :rtype: bool """ return self._tag == "dash_shared_link_to_stack" def is_dash_unarchived_stack(self): """ Check if the union tag is ``dash_unarchived_stack``. :rtype: bool """ return self._tag == "dash_unarchived_stack" def is_dash_viewed_company_stack(self): """ Check if the union tag is ``dash_viewed_company_stack``. :rtype: bool """ return self._tag == "dash_viewed_company_stack" def is_dash_viewed_external_ai_activity_report(self): """ Check if the union tag is ``dash_viewed_external_ai_activity_report``. :rtype: bool """ return self._tag == "dash_viewed_external_ai_activity_report" def is_governance_policy_add_folders(self): """ Check if the union tag is ``governance_policy_add_folders``. :rtype: bool """ return self._tag == "governance_policy_add_folders" def is_governance_policy_add_folder_failed(self): """ Check if the union tag is ``governance_policy_add_folder_failed``. :rtype: bool """ return self._tag == "governance_policy_add_folder_failed" def is_governance_policy_content_disposed(self): """ Check if the union tag is ``governance_policy_content_disposed``. :rtype: bool """ return self._tag == "governance_policy_content_disposed" def is_governance_policy_create(self): """ Check if the union tag is ``governance_policy_create``. :rtype: bool """ return self._tag == "governance_policy_create" def is_governance_policy_delete(self): """ Check if the union tag is ``governance_policy_delete``. :rtype: bool """ return self._tag == "governance_policy_delete" def is_governance_policy_edit_details(self): """ Check if the union tag is ``governance_policy_edit_details``. :rtype: bool """ return self._tag == "governance_policy_edit_details" def is_governance_policy_edit_duration(self): """ Check if the union tag is ``governance_policy_edit_duration``. :rtype: bool """ return self._tag == "governance_policy_edit_duration" def is_governance_policy_export_created(self): """ Check if the union tag is ``governance_policy_export_created``. :rtype: bool """ return self._tag == "governance_policy_export_created" def is_governance_policy_export_removed(self): """ Check if the union tag is ``governance_policy_export_removed``. :rtype: bool """ return self._tag == "governance_policy_export_removed" def is_governance_policy_remove_folders(self): """ Check if the union tag is ``governance_policy_remove_folders``. :rtype: bool """ return self._tag == "governance_policy_remove_folders" def is_governance_policy_report_created(self): """ Check if the union tag is ``governance_policy_report_created``. :rtype: bool """ return self._tag == "governance_policy_report_created" def is_governance_policy_zip_part_downloaded(self): """ Check if the union tag is ``governance_policy_zip_part_downloaded``. :rtype: bool """ return self._tag == "governance_policy_zip_part_downloaded" def is_legal_holds_activate_a_hold(self): """ Check if the union tag is ``legal_holds_activate_a_hold``. :rtype: bool """ return self._tag == "legal_holds_activate_a_hold" def is_legal_holds_add_members(self): """ Check if the union tag is ``legal_holds_add_members``. :rtype: bool """ return self._tag == "legal_holds_add_members" def is_legal_holds_change_hold_details(self): """ Check if the union tag is ``legal_holds_change_hold_details``. :rtype: bool """ return self._tag == "legal_holds_change_hold_details" def is_legal_holds_change_hold_name(self): """ Check if the union tag is ``legal_holds_change_hold_name``. :rtype: bool """ return self._tag == "legal_holds_change_hold_name" def is_legal_holds_export_a_hold(self): """ Check if the union tag is ``legal_holds_export_a_hold``. :rtype: bool """ return self._tag == "legal_holds_export_a_hold" def is_legal_holds_export_cancelled(self): """ Check if the union tag is ``legal_holds_export_cancelled``. :rtype: bool """ return self._tag == "legal_holds_export_cancelled" def is_legal_holds_export_downloaded(self): """ Check if the union tag is ``legal_holds_export_downloaded``. :rtype: bool """ return self._tag == "legal_holds_export_downloaded" def is_legal_holds_export_removed(self): """ Check if the union tag is ``legal_holds_export_removed``. :rtype: bool """ return self._tag == "legal_holds_export_removed" def is_legal_holds_release_a_hold(self): """ Check if the union tag is ``legal_holds_release_a_hold``. :rtype: bool """ return self._tag == "legal_holds_release_a_hold" def is_legal_holds_remove_members(self): """ Check if the union tag is ``legal_holds_remove_members``. :rtype: bool """ return self._tag == "legal_holds_remove_members" def is_legal_holds_report_a_hold(self): """ Check if the union tag is ``legal_holds_report_a_hold``. :rtype: bool """ return self._tag == "legal_holds_report_a_hold" 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_sync_backup_status_changed(self): """ Check if the union tag is ``device_sync_backup_status_changed``. :rtype: bool """ return self._tag == "device_sync_backup_status_changed" def is_device_unlink(self): """ Check if the union tag is ``device_unlink``. :rtype: bool """ return self._tag == "device_unlink" def is_dropbox_passwords_exported(self): """ Check if the union tag is ``dropbox_passwords_exported``. :rtype: bool """ return self._tag == "dropbox_passwords_exported" def is_dropbox_passwords_new_device_enrolled(self): """ Check if the union tag is ``dropbox_passwords_new_device_enrolled``. :rtype: bool """ return self._tag == "dropbox_passwords_new_device_enrolled" 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_external_drive_backup_eligibility_status_checked(self): """ Check if the union tag is ``external_drive_backup_eligibility_status_checked``. :rtype: bool """ return self._tag == "external_drive_backup_eligibility_status_checked" def is_external_drive_backup_status_changed(self): """ Check if the union tag is ``external_drive_backup_status_changed``. :rtype: bool """ return self._tag == "external_drive_backup_status_changed" 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_encrypted_folder_cancel_team_key_rotation(self): """ Check if the union tag is ``encrypted_folder_cancel_team_key_rotation``. :rtype: bool """ return self._tag == "encrypted_folder_cancel_team_key_rotation" def is_encrypted_folder_enroll_backup_key(self): """ Check if the union tag is ``encrypted_folder_enroll_backup_key``. :rtype: bool """ return self._tag == "encrypted_folder_enroll_backup_key" def is_encrypted_folder_enroll_client(self): """ Check if the union tag is ``encrypted_folder_enroll_client``. :rtype: bool """ return self._tag == "encrypted_folder_enroll_client" def is_encrypted_folder_enroll_team(self): """ Check if the union tag is ``encrypted_folder_enroll_team``. :rtype: bool """ return self._tag == "encrypted_folder_enroll_team" def is_encrypted_folder_finish_team_unenrollment(self): """ Check if the union tag is ``encrypted_folder_finish_team_unenrollment``. :rtype: bool """ return self._tag == "encrypted_folder_finish_team_unenrollment" def is_encrypted_folder_init_team_key_rotation(self): """ Check if the union tag is ``encrypted_folder_init_team_key_rotation``. :rtype: bool """ return self._tag == "encrypted_folder_init_team_key_rotation" def is_encrypted_folder_init_team_unenrollment(self): """ Check if the union tag is ``encrypted_folder_init_team_unenrollment``. :rtype: bool """ return self._tag == "encrypted_folder_init_team_unenrollment" def is_encrypted_folder_remove_backup_key(self): """ Check if the union tag is ``encrypted_folder_remove_backup_key``. :rtype: bool """ return self._tag == "encrypted_folder_remove_backup_key" def is_encrypted_folder_rotate_team_key(self): """ Check if the union tag is ``encrypted_folder_rotate_team_key``. :rtype: bool """ return self._tag == "encrypted_folder_rotate_team_key" def is_encrypted_folder_unenroll_client(self): """ Check if the union tag is ``encrypted_folder_unenroll_client``. :rtype: bool """ return self._tag == "encrypted_folder_unenroll_client" def is_team_encryption_key_activate_key(self): """ Check if the union tag is ``team_encryption_key_activate_key``. :rtype: bool """ return self._tag == "team_encryption_key_activate_key" def is_team_encryption_key_cancel_key_deletion(self): """ Check if the union tag is ``team_encryption_key_cancel_key_deletion``. :rtype: bool """ return self._tag == "team_encryption_key_cancel_key_deletion" def is_team_encryption_key_create_key(self): """ Check if the union tag is ``team_encryption_key_create_key``. :rtype: bool """ return self._tag == "team_encryption_key_create_key" def is_team_encryption_key_deactivate_key(self): """ Check if the union tag is ``team_encryption_key_deactivate_key``. :rtype: bool """ return self._tag == "team_encryption_key_deactivate_key" def is_team_encryption_key_delete_key(self): """ Check if the union tag is ``team_encryption_key_delete_key``. :rtype: bool """ return self._tag == "team_encryption_key_delete_key" def is_team_encryption_key_disable_key(self): """ Check if the union tag is ``team_encryption_key_disable_key``. :rtype: bool """ return self._tag == "team_encryption_key_disable_key" def is_team_encryption_key_enable_key(self): """ Check if the union tag is ``team_encryption_key_enable_key``. :rtype: bool """ return self._tag == "team_encryption_key_enable_key" def is_team_encryption_key_rotate_key(self): """ Check if the union tag is ``team_encryption_key_rotate_key``. :rtype: bool """ return self._tag == "team_encryption_key_rotate_key" def is_team_encryption_key_schedule_key_deletion(self): """ Check if the union tag is ``team_encryption_key_schedule_key_deletion``. :rtype: bool """ return self._tag == "team_encryption_key_schedule_key_deletion" def is_apply_naming_convention(self): """ Check if the union tag is ``apply_naming_convention``. :rtype: bool """ return self._tag == "apply_naming_convention" 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_add_from_automation(self): """ Check if the union tag is ``file_add_from_automation``. :rtype: bool """ return self._tag == "file_add_from_automation" 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_locking_lock_status_changed(self): """ Check if the union tag is ``file_locking_lock_status_changed``. :rtype: bool """ return self._tag == "file_locking_lock_status_changed" 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_folder_overview_description_changed(self): """ Check if the union tag is ``folder_overview_description_changed``. :rtype: bool """ return self._tag == "folder_overview_description_changed" def is_folder_overview_item_pinned(self): """ Check if the union tag is ``folder_overview_item_pinned``. :rtype: bool """ return self._tag == "folder_overview_item_pinned" def is_folder_overview_item_unpinned(self): """ Check if the union tag is ``folder_overview_item_unpinned``. :rtype: bool """ return self._tag == "folder_overview_item_unpinned" def is_media_hub_file_downloaded(self): """ Check if the union tag is ``media_hub_file_downloaded``. :rtype: bool """ return self._tag == "media_hub_file_downloaded" def is_object_label_added(self): """ Check if the union tag is ``object_label_added``. :rtype: bool """ return self._tag == "object_label_added" def is_object_label_removed(self): """ Check if the union tag is ``object_label_removed``. :rtype: bool """ return self._tag == "object_label_removed" def is_object_label_updated_value(self): """ Check if the union tag is ``object_label_updated_value``. :rtype: bool """ return self._tag == "object_label_updated_value" def is_organize_folder_with_tidy(self): """ Check if the union tag is ``organize_folder_with_tidy``. :rtype: bool """ return self._tag == "organize_folder_with_tidy" def is_replay_file_delete(self): """ Check if the union tag is ``replay_file_delete``. :rtype: bool """ return self._tag == "replay_file_delete" def is_replay_file_downloaded(self): """ Check if the union tag is ``replay_file_downloaded``. :rtype: bool """ return self._tag == "replay_file_downloaded" def is_replay_team_project_created(self): """ Check if the union tag is ``replay_team_project_created``. :rtype: bool """ return self._tag == "replay_team_project_created" def is_rewind_folder(self): """ Check if the union tag is ``rewind_folder``. :rtype: bool """ return self._tag == "rewind_folder" def is_undo_naming_convention(self): """ Check if the union tag is ``undo_naming_convention``. :rtype: bool """ return self._tag == "undo_naming_convention" def is_undo_organize_folder_with_tidy(self): """ Check if the union tag is ``undo_organize_folder_with_tidy``. :rtype: bool """ return self._tag == "undo_organize_folder_with_tidy" def is_user_tags_added(self): """ Check if the union tag is ``user_tags_added``. :rtype: bool """ return self._tag == "user_tags_added" def is_user_tags_removed(self): """ Check if the union tag is ``user_tags_removed``. :rtype: bool """ return self._tag == "user_tags_removed" def is_email_ingest_receive_file(self): """ Check if the union tag is ``email_ingest_receive_file``. :rtype: bool """ return self._tag == "email_ingest_receive_file" def is_file_request_auto_close(self): """ Check if the union tag is ``file_request_auto_close``. :rtype: bool """ return self._tag == "file_request_auto_close" 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_external_sharing_setting_override_changed(self): """ Check if the union tag is ``group_external_sharing_setting_override_changed``. :rtype: bool """ return self._tag == "group_external_sharing_setting_override_changed" 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_account_lock_or_unlocked(self): """ Check if the union tag is ``account_lock_or_unlocked``. :rtype: bool """ return self._tag == "account_lock_or_unlocked" 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_addon_assigned(self): """ Check if the union tag is ``addon_assigned``. :rtype: bool """ return self._tag == "addon_assigned" def is_addon_removed(self): """ Check if the union tag is ``addon_removed``. :rtype: bool """ return self._tag == "addon_removed" def is_backup_admin_invitation_sent(self): """ Check if the union tag is ``backup_admin_invitation_sent``. :rtype: bool """ return self._tag == "backup_admin_invitation_sent" def is_backup_invitation_opened(self): """ Check if the union tag is ``backup_invitation_opened``. :rtype: bool """ return self._tag == "backup_invitation_opened" def is_create_team_invite_link(self): """ Check if the union tag is ``create_team_invite_link``. :rtype: bool """ return self._tag == "create_team_invite_link" def is_delete_team_invite_link(self): """ Check if the union tag is ``delete_team_invite_link``. :rtype: bool """ return self._tag == "delete_team_invite_link" 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_reseller_role(self): """ Check if the union tag is ``member_change_reseller_role``. :rtype: bool """ return self._tag == "member_change_reseller_role" 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_delete_profile_photo(self): """ Check if the union tag is ``member_delete_profile_photo``. :rtype: bool """ return self._tag == "member_delete_profile_photo" 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_set_profile_photo(self): """ Check if the union tag is ``member_set_profile_photo``. :rtype: bool """ return self._tag == "member_set_profile_photo" 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_pending_secondary_email_added(self): """ Check if the union tag is ``pending_secondary_email_added``. :rtype: bool """ return self._tag == "pending_secondary_email_added" def is_product_assigned_to_member(self): """ Check if the union tag is ``product_assigned_to_member``. :rtype: bool """ return self._tag == "product_assigned_to_member" def is_product_removed_from_member(self): """ Check if the union tag is ``product_removed_from_member``. :rtype: bool """ return self._tag == "product_removed_from_member" def is_secondary_email_deleted(self): """ Check if the union tag is ``secondary_email_deleted``. :rtype: bool """ return self._tag == "secondary_email_deleted" def is_secondary_email_verified(self): """ Check if the union tag is ``secondary_email_verified``. :rtype: bool """ return self._tag == "secondary_email_verified" 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_binder_add_page(self): """ Check if the union tag is ``binder_add_page``. :rtype: bool """ return self._tag == "binder_add_page" def is_binder_add_section(self): """ Check if the union tag is ``binder_add_section``. :rtype: bool """ return self._tag == "binder_add_section" def is_binder_remove_page(self): """ Check if the union tag is ``binder_remove_page``. :rtype: bool """ return self._tag == "binder_remove_page" def is_binder_remove_section(self): """ Check if the union tag is ``binder_remove_section``. :rtype: bool """ return self._tag == "binder_remove_section" def is_binder_rename_page(self): """ Check if the union tag is ``binder_rename_page``. :rtype: bool """ return self._tag == "binder_rename_page" def is_binder_rename_section(self): """ Check if the union tag is ``binder_rename_section``. :rtype: bool """ return self._tag == "binder_rename_section" def is_binder_reorder_page(self): """ Check if the union tag is ``binder_reorder_page``. :rtype: bool """ return self._tag == "binder_reorder_page" def is_binder_reorder_section(self): """ Check if the union tag is ``binder_reorder_section``. :rtype: bool """ return self._tag == "binder_reorder_section" 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_change_permission(self): """ Check if the union tag is ``paper_published_link_change_permission``. :rtype: bool """ return self._tag == "paper_published_link_change_permission" 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_protect_internal_domains_changed(self): """ Check if the union tag is ``protect_internal_domains_changed``. :rtype: bool """ return self._tag == "protect_internal_domains_changed" def is_classification_create_report(self): """ Check if the union tag is ``classification_create_report``. :rtype: bool """ return self._tag == "classification_create_report" def is_classification_create_report_fail(self): """ Check if the union tag is ``classification_create_report_fail``. :rtype: bool """ return self._tag == "classification_create_report_fail" 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_export_members_report_fail(self): """ Check if the union tag is ``export_members_report_fail``. :rtype: bool """ return self._tag == "export_members_report_fail" def is_external_sharing_create_report(self): """ Check if the union tag is ``external_sharing_create_report``. :rtype: bool """ return self._tag == "external_sharing_create_report" def is_external_sharing_report_failed(self): """ Check if the union tag is ``external_sharing_report_failed``. :rtype: bool """ return self._tag == "external_sharing_report_failed" def is_member_access_details_create_report(self): """ Check if the union tag is ``member_access_details_create_report``. :rtype: bool """ return self._tag == "member_access_details_create_report" def is_member_access_details_create_report_failed(self): """ Check if the union tag is ``member_access_details_create_report_failed``. :rtype: bool """ return self._tag == "member_access_details_create_report_failed" def is_no_expiration_link_gen_create_report(self): """ Check if the union tag is ``no_expiration_link_gen_create_report``. :rtype: bool """ return self._tag == "no_expiration_link_gen_create_report" def is_no_expiration_link_gen_report_failed(self): """ Check if the union tag is ``no_expiration_link_gen_report_failed``. :rtype: bool """ return self._tag == "no_expiration_link_gen_report_failed" def is_no_password_link_gen_create_report(self): """ Check if the union tag is ``no_password_link_gen_create_report``. :rtype: bool """ return self._tag == "no_password_link_gen_create_report" def is_no_password_link_gen_report_failed(self): """ Check if the union tag is ``no_password_link_gen_report_failed``. :rtype: bool """ return self._tag == "no_password_link_gen_report_failed" def is_no_password_link_view_create_report(self): """ Check if the union tag is ``no_password_link_view_create_report``. :rtype: bool """ return self._tag == "no_password_link_view_create_report" def is_no_password_link_view_report_failed(self): """ Check if the union tag is ``no_password_link_view_report_failed``. :rtype: bool """ return self._tag == "no_password_link_view_report_failed" def is_outdated_link_view_create_report(self): """ Check if the union tag is ``outdated_link_view_create_report``. :rtype: bool """ return self._tag == "outdated_link_view_create_report" def is_outdated_link_view_report_failed(self): """ Check if the union tag is ``outdated_link_view_report_failed``. :rtype: bool """ return self._tag == "outdated_link_view_report_failed" 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_ransomware_alert_create_report(self): """ Check if the union tag is ``ransomware_alert_create_report``. :rtype: bool """ return self._tag == "ransomware_alert_create_report" def is_ransomware_alert_create_report_failed(self): """ Check if the union tag is ``ransomware_alert_create_report_failed``. :rtype: bool """ return self._tag == "ransomware_alert_create_report_failed" def is_shared_folders_create_report(self): """ Check if the union tag is ``shared_folders_create_report``. :rtype: bool """ return self._tag == "shared_folders_create_report" def is_shared_folders_create_report_failed(self): """ Check if the union tag is ``shared_folders_create_report_failed``. :rtype: bool """ return self._tag == "shared_folders_create_report_failed" 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_team_folders_create_report(self): """ Check if the union tag is ``team_folders_create_report``. :rtype: bool """ return self._tag == "team_folders_create_report" def is_team_folders_create_report_failed(self): """ Check if the union tag is ``team_folders_create_report_failed``. :rtype: bool """ return self._tag == "team_folders_create_report_failed" def is_team_storage_create_report(self): """ Check if the union tag is ``team_storage_create_report``. :rtype: bool """ return self._tag == "team_storage_create_report" def is_team_storage_create_report_failed(self): """ Check if the union tag is ``team_storage_create_report_failed``. :rtype: bool """ return self._tag == "team_storage_create_report_failed" def is_collection_share(self): """ Check if the union tag is ``collection_share``. :rtype: bool """ return self._tag == "collection_share" def is_file_transfers_file_add(self): """ Check if the union tag is ``file_transfers_file_add``. :rtype: bool """ return self._tag == "file_transfers_file_add" def is_file_transfers_transfer_delete(self): """ Check if the union tag is ``file_transfers_transfer_delete``. :rtype: bool """ return self._tag == "file_transfers_transfer_delete" def is_file_transfers_transfer_download(self): """ Check if the union tag is ``file_transfers_transfer_download``. :rtype: bool """ return self._tag == "file_transfers_transfer_download" def is_file_transfers_transfer_send(self): """ Check if the union tag is ``file_transfers_transfer_send``. :rtype: bool """ return self._tag == "file_transfers_transfer_send" def is_file_transfers_transfer_view(self): """ Check if the union tag is ``file_transfers_transfer_view``. :rtype: bool """ return self._tag == "file_transfers_transfer_view" def is_media_hub_project_team_add(self): """ Check if the union tag is ``media_hub_project_team_add``. :rtype: bool """ return self._tag == "media_hub_project_team_add" def is_media_hub_project_team_delete(self): """ Check if the union tag is ``media_hub_project_team_delete``. :rtype: bool """ return self._tag == "media_hub_project_team_delete" def is_media_hub_project_team_role_changed(self): """ Check if the union tag is ``media_hub_project_team_role_changed``. :rtype: bool """ return self._tag == "media_hub_project_team_role_changed" def is_media_hub_shared_link_audience_changed(self): """ Check if the union tag is ``media_hub_shared_link_audience_changed``. :rtype: bool """ return self._tag == "media_hub_shared_link_audience_changed" def is_media_hub_shared_link_created(self): """ Check if the union tag is ``media_hub_shared_link_created``. :rtype: bool """ return self._tag == "media_hub_shared_link_created" def is_media_hub_shared_link_download_setting_changed(self): """ Check if the union tag is ``media_hub_shared_link_download_setting_changed``. :rtype: bool """ return self._tag == "media_hub_shared_link_download_setting_changed" def is_media_hub_shared_link_revoked(self): """ Check if the union tag is ``media_hub_shared_link_revoked``. :rtype: bool """ return self._tag == "media_hub_shared_link_revoked" 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_replay_file_shared_link_created(self): """ Check if the union tag is ``replay_file_shared_link_created``. :rtype: bool """ return self._tag == "replay_file_shared_link_created" def is_replay_file_shared_link_modified(self): """ Check if the union tag is ``replay_file_shared_link_modified``. :rtype: bool """ return self._tag == "replay_file_shared_link_modified" def is_replay_project_team_add(self): """ Check if the union tag is ``replay_project_team_add``. :rtype: bool """ return self._tag == "replay_project_team_add" def is_replay_project_team_delete(self): """ Check if the union tag is ``replay_project_team_delete``. :rtype: bool """ return self._tag == "replay_project_team_delete" def is_send_and_track_file_added(self): """ Check if the union tag is ``send_and_track_file_added``. :rtype: bool """ return self._tag == "send_and_track_file_added" def is_send_and_track_file_renamed(self): """ Check if the union tag is ``send_and_track_file_renamed``. :rtype: bool """ return self._tag == "send_and_track_file_renamed" def is_send_and_track_file_updated(self): """ Check if the union tag is ``send_and_track_file_updated``. :rtype: bool """ return self._tag == "send_and_track_file_updated" def is_send_and_track_link_created(self): """ Check if the union tag is ``send_and_track_link_created``. :rtype: bool """ return self._tag == "send_and_track_link_created" def is_send_and_track_link_deleted(self): """ Check if the union tag is ``send_and_track_link_deleted``. :rtype: bool """ return self._tag == "send_and_track_link_deleted" def is_send_and_track_link_updated(self): """ Check if the union tag is ``send_and_track_link_updated``. :rtype: bool """ return self._tag == "send_and_track_link_updated" def is_send_and_track_link_viewed(self): """ Check if the union tag is ``send_and_track_link_viewed``. :rtype: bool """ return self._tag == "send_and_track_link_viewed" def is_send_and_track_removed_file_and_associated_links(self): """ Check if the union tag is ``send_and_track_removed_file_and_associated_links``. :rtype: bool """ return self._tag == "send_and_track_removed_file_and_associated_links" 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_restore_invitees(self): """ Check if the union tag is ``shared_content_restore_invitees``. :rtype: bool """ return self._tag == "shared_content_restore_invitees" def is_shared_content_restore_member(self): """ Check if the union tag is ``shared_content_restore_member``. :rtype: bool """ return self._tag == "shared_content_restore_member" 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_remove_visitor(self): """ Check if the union tag is ``shared_link_remove_visitor``. :rtype: bool """ return self._tag == "shared_link_remove_visitor" def is_shared_link_settings_add_expiration(self): """ Check if the union tag is ``shared_link_settings_add_expiration``. :rtype: bool """ return self._tag == "shared_link_settings_add_expiration" def is_shared_link_settings_add_password(self): """ Check if the union tag is ``shared_link_settings_add_password``. :rtype: bool """ return self._tag == "shared_link_settings_add_password" def is_shared_link_settings_allow_download_disabled(self): """ Check if the union tag is ``shared_link_settings_allow_download_disabled``. :rtype: bool """ return self._tag == "shared_link_settings_allow_download_disabled" def is_shared_link_settings_allow_download_enabled(self): """ Check if the union tag is ``shared_link_settings_allow_download_enabled``. :rtype: bool """ return self._tag == "shared_link_settings_allow_download_enabled" def is_shared_link_settings_change_audience(self): """ Check if the union tag is ``shared_link_settings_change_audience``. :rtype: bool """ return self._tag == "shared_link_settings_change_audience" def is_shared_link_settings_change_expiration(self): """ Check if the union tag is ``shared_link_settings_change_expiration``. :rtype: bool """ return self._tag == "shared_link_settings_change_expiration" def is_shared_link_settings_change_password(self): """ Check if the union tag is ``shared_link_settings_change_password``. :rtype: bool """ return self._tag == "shared_link_settings_change_password" def is_shared_link_settings_remove_expiration(self): """ Check if the union tag is ``shared_link_settings_remove_expiration``. :rtype: bool """ return self._tag == "shared_link_settings_remove_expiration" def is_shared_link_settings_remove_password(self): """ Check if the union tag is ``shared_link_settings_remove_password``. :rtype: bool """ return self._tag == "shared_link_settings_remove_password" 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_disable_downloads(self): """ Check if the union tag is ``shmodel_disable_downloads``. :rtype: bool """ return self._tag == "shmodel_disable_downloads" def is_shmodel_enable_downloads(self): """ Check if the union tag is ``shmodel_enable_downloads``. :rtype: bool """ return self._tag == "shmodel_enable_downloads" 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_sign_signature_request_canceled(self): """ Check if the union tag is ``sign_signature_request_canceled``. :rtype: bool """ return self._tag == "sign_signature_request_canceled" def is_sign_signature_request_completed(self): """ Check if the union tag is ``sign_signature_request_completed``. :rtype: bool """ return self._tag == "sign_signature_request_completed" def is_sign_signature_request_declined(self): """ Check if the union tag is ``sign_signature_request_declined``. :rtype: bool """ return self._tag == "sign_signature_request_declined" def is_sign_signature_request_opened(self): """ Check if the union tag is ``sign_signature_request_opened``. :rtype: bool """ return self._tag == "sign_signature_request_opened" def is_sign_signature_request_reminder_sent(self): """ Check if the union tag is ``sign_signature_request_reminder_sent``. :rtype: bool """ return self._tag == "sign_signature_request_reminder_sent" def is_sign_signature_request_sent(self): """ Check if the union tag is ``sign_signature_request_sent``. :rtype: bool """ return self._tag == "sign_signature_request_sent" def is_sign_template_created(self): """ Check if the union tag is ``sign_template_created``. :rtype: bool """ return self._tag == "sign_template_created" def is_sign_template_shared(self): """ Check if the union tag is ``sign_template_shared``. :rtype: bool """ return self._tag == "sign_template_shared" def is_risc_security_event(self): """ Check if the union tag is ``risc_security_event``. :rtype: bool """ return self._tag == "risc_security_event" 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_folder_space_limits_change_caps_type(self): """ Check if the union tag is ``team_folder_space_limits_change_caps_type``. :rtype: bool """ return self._tag == "team_folder_space_limits_change_caps_type" def is_team_folder_space_limits_change_limit(self): """ Check if the union tag is ``team_folder_space_limits_change_limit``. :rtype: bool """ return self._tag == "team_folder_space_limits_change_limit" def is_team_folder_space_limits_change_notification_target(self): """ Check if the union tag is ``team_folder_space_limits_change_notification_target``. :rtype: bool """ return self._tag == "team_folder_space_limits_change_notification_target" 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_admin_email_reminders_changed(self): """ Check if the union tag is ``admin_email_reminders_changed``. :rtype: bool """ return self._tag == "admin_email_reminders_changed" def is_ai_third_party_sharing_dropbox_base_policy_changed(self): """ Check if the union tag is ``ai_third_party_sharing_dropbox_base_policy_changed``. :rtype: bool """ return self._tag == "ai_third_party_sharing_dropbox_base_policy_changed" 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_apple_login_change_policy(self): """ Check if the union tag is ``apple_login_change_policy``. :rtype: bool """ return self._tag == "apple_login_change_policy" def is_app_permissions_changed(self): """ Check if the union tag is ``app_permissions_changed``. :rtype: bool """ return self._tag == "app_permissions_changed" 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_capture_team_space_policy_changed(self): """ Check if the union tag is ``capture_team_space_policy_changed``. :rtype: bool """ return self._tag == "capture_team_space_policy_changed" def is_capture_transcript_policy_changed(self): """ Check if the union tag is ``capture_transcript_policy_changed``. :rtype: bool """ return self._tag == "capture_transcript_policy_changed" def is_classification_change_policy(self): """ Check if the union tag is ``classification_change_policy``. :rtype: bool """ return self._tag == "classification_change_policy" def is_computer_backup_policy_changed(self): """ Check if the union tag is ``computer_backup_policy_changed``. :rtype: bool """ return self._tag == "computer_backup_policy_changed" def is_content_administration_policy_changed(self): """ Check if the union tag is ``content_administration_policy_changed``. :rtype: bool """ return self._tag == "content_administration_policy_changed" def is_content_deletion_protection_change_policy(self): """ Check if the union tag is ``content_deletion_protection_change_policy``. :rtype: bool """ return self._tag == "content_deletion_protection_change_policy" def is_dash_external_sharing_policy_changed(self): """ Check if the union tag is ``dash_external_sharing_policy_changed``. :rtype: bool """ return self._tag == "dash_external_sharing_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_add_exception(self): """ Check if the union tag is ``device_approvals_add_exception``. :rtype: bool """ return self._tag == "device_approvals_add_exception" 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_device_approvals_remove_exception(self): """ Check if the union tag is ``device_approvals_remove_exception``. :rtype: bool """ return self._tag == "device_approvals_remove_exception" 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_dropbox_passwords_policy_changed(self): """ Check if the union tag is ``dropbox_passwords_policy_changed``. :rtype: bool """ return self._tag == "dropbox_passwords_policy_changed" def is_email_ingest_policy_changed(self): """ Check if the union tag is ``email_ingest_policy_changed``. :rtype: bool """ return self._tag == "email_ingest_policy_changed" 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_external_drive_backup_policy_changed(self): """ Check if the union tag is ``external_drive_backup_policy_changed``. :rtype: bool """ return self._tag == "external_drive_backup_policy_changed" 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_locking_policy_changed(self): """ Check if the union tag is ``file_locking_policy_changed``. :rtype: bool """ return self._tag == "file_locking_policy_changed" def is_file_provider_migration_policy_changed(self): """ Check if the union tag is ``file_provider_migration_policy_changed``. :rtype: bool """ return self._tag == "file_provider_migration_policy_changed" 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_file_transfers_policy_changed(self): """ Check if the union tag is ``file_transfers_policy_changed``. :rtype: bool """ return self._tag == "file_transfers_policy_changed" def is_flexible_file_names_policy_changed(self): """ Check if the union tag is ``flexible_file_names_policy_changed``. :rtype: bool """ return self._tag == "flexible_file_names_policy_changed" def is_folder_link_restriction_policy_changed(self): """ Check if the union tag is ``folder_link_restriction_policy_changed``. :rtype: bool """ return self._tag == "folder_link_restriction_policy_changed" 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_invite_acceptance_email_policy_changed(self): """ Check if the union tag is ``invite_acceptance_email_policy_changed``. :rtype: bool """ return self._tag == "invite_acceptance_email_policy_changed" def is_media_hub_adding_people_policy_changed(self): """ Check if the union tag is ``media_hub_adding_people_policy_changed``. :rtype: bool """ return self._tag == "media_hub_adding_people_policy_changed" def is_media_hub_download_policy_changed(self): """ Check if the union tag is ``media_hub_download_policy_changed``. :rtype: bool """ return self._tag == "media_hub_download_policy_changed" def is_media_hub_link_sharing_policy_changed(self): """ Check if the union tag is ``media_hub_link_sharing_policy_changed``. :rtype: bool """ return self._tag == "media_hub_link_sharing_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_send_invite_policy_changed(self): """ Check if the union tag is ``member_send_invite_policy_changed``. :rtype: bool """ return self._tag == "member_send_invite_policy_changed" 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_login_change_policy(self): """ Check if the union tag is ``microsoft_login_change_policy``. :rtype: bool """ return self._tag == "microsoft_login_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_multi_team_identity_policy_changed(self): """ Check if the union tag is ``multi_team_identity_policy_changed``. :rtype: bool """ return self._tag == "multi_team_identity_policy_changed" 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_passkey_login_policy_changed(self): """ Check if the union tag is ``passkey_login_policy_changed``. :rtype: bool """ return self._tag == "passkey_login_policy_changed" def is_password_strength_requirements_change_policy(self): """ Check if the union tag is ``password_strength_requirements_change_policy``. :rtype: bool """ return self._tag == "password_strength_requirements_change_policy" def is_permanent_delete_change_policy(self): """ Check if the union tag is ``permanent_delete_change_policy``. :rtype: bool """ return self._tag == "permanent_delete_change_policy" def is_previews_ai_policy_changed(self): """ Check if the union tag is ``previews_ai_policy_changed``. :rtype: bool """ return self._tag == "previews_ai_policy_changed" def is_replay_adding_people_policy_changed(self): """ Check if the union tag is ``replay_adding_people_policy_changed``. :rtype: bool """ return self._tag == "replay_adding_people_policy_changed" def is_replay_sharing_policy_changed(self): """ Check if the union tag is ``replay_sharing_policy_changed``. :rtype: bool """ return self._tag == "replay_sharing_policy_changed" 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_rewind_policy_changed(self): """ Check if the union tag is ``rewind_policy_changed``. :rtype: bool """ return self._tag == "rewind_policy_changed" def is_send_and_track_policy_changed(self): """ Check if the union tag is ``send_and_track_policy_changed``. :rtype: bool """ return self._tag == "send_and_track_policy_changed" def is_send_external_sharing_policy_changed(self): """ Check if the union tag is ``send_external_sharing_policy_changed``. :rtype: bool """ return self._tag == "send_external_sharing_policy_changed" def is_send_for_signature_policy_changed(self): """ Check if the union tag is ``send_for_signature_policy_changed``. :rtype: bool """ return self._tag == "send_for_signature_policy_changed" def is_shared_link_default_permissions_policy_changed(self): """ Check if the union tag is ``shared_link_default_permissions_policy_changed``. :rtype: bool """ return self._tag == "shared_link_default_permissions_policy_changed" 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_allow_change_expiration_policy(self): """ Check if the union tag is ``sharing_change_link_allow_change_expiration_policy``. :rtype: bool """ return self._tag == "sharing_change_link_allow_change_expiration_policy" def is_sharing_change_link_default_expiration_policy(self): """ Check if the union tag is ``sharing_change_link_default_expiration_policy``. :rtype: bool """ return self._tag == "sharing_change_link_default_expiration_policy" def is_sharing_change_link_enforce_password_policy(self): """ Check if the union tag is ``sharing_change_link_enforce_password_policy``. :rtype: bool """ return self._tag == "sharing_change_link_enforce_password_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_sign_external_sharing_policy_changed(self): """ Check if the union tag is ``sign_external_sharing_policy_changed``. :rtype: bool """ return self._tag == "sign_external_sharing_policy_changed" def is_sign_template_creation_permission_changed(self): """ Check if the union tag is ``sign_template_creation_permission_changed``. :rtype: bool """ return self._tag == "sign_template_creation_permission_changed" def is_smarter_smart_sync_policy_changed(self): """ Check if the union tag is ``smarter_smart_sync_policy_changed``. :rtype: bool """ return self._tag == "smarter_smart_sync_policy_changed" 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_stack_cross_team_access_policy_changed(self): """ Check if the union tag is ``stack_cross_team_access_policy_changed``. :rtype: bool """ return self._tag == "stack_cross_team_access_policy_changed" def is_team_branding_policy_changed(self): """ Check if the union tag is ``team_branding_policy_changed``. :rtype: bool """ return self._tag == "team_branding_policy_changed" 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_member_storage_request_policy_changed(self): """ Check if the union tag is ``team_member_storage_request_policy_changed``. :rtype: bool """ return self._tag == "team_member_storage_request_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_team_sharing_whitelist_subjects_changed(self): """ Check if the union tag is ``team_sharing_whitelist_subjects_changed``. :rtype: bool """ return self._tag == "team_sharing_whitelist_subjects_changed" def is_tfa_add_exception(self): """ Check if the union tag is ``tfa_add_exception``. :rtype: bool """ return self._tag == "tfa_add_exception" 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_tfa_remove_exception(self): """ Check if the union tag is ``tfa_remove_exception``. :rtype: bool """ return self._tag == "tfa_remove_exception" def is_top_level_content_policy_changed(self): """ Check if the union tag is ``top_level_content_policy_changed``. :rtype: bool """ return self._tag == "top_level_content_policy_changed" 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_watermarking_policy_changed(self): """ Check if the union tag is ``watermarking_policy_changed``. :rtype: bool """ return self._tag == "watermarking_policy_changed" def is_web_sessions_change_active_session_limit(self): """ Check if the union tag is ``web_sessions_change_active_session_limit``. :rtype: bool """ return self._tag == "web_sessions_change_active_session_limit" 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_data_residency_migration_request_successful(self): """ Check if the union tag is ``data_residency_migration_request_successful``. :rtype: bool """ return self._tag == "data_residency_migration_request_successful" def is_data_residency_migration_request_unsuccessful(self): """ Check if the union tag is ``data_residency_migration_request_unsuccessful``. :rtype: bool """ return self._tag == "data_residency_migration_request_unsuccessful" 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_background(self): """ Check if the union tag is ``team_profile_add_background``. :rtype: bool """ return self._tag == "team_profile_add_background" 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_background(self): """ Check if the union tag is ``team_profile_change_background``. :rtype: bool """ return self._tag == "team_profile_change_background" 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_background(self): """ Check if the union tag is ``team_profile_remove_background``. :rtype: bool """ return self._tag == "team_profile_remove_background" 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_passkey_add(self): """ Check if the union tag is ``passkey_add``. :rtype: bool """ return self._tag == "passkey_add" def is_passkey_remove(self): """ Check if the union tag is ``passkey_remove``. :rtype: bool """ return self._tag == "passkey_remove" 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_changed_enterprise_admin_role(self): """ Check if the union tag is ``changed_enterprise_admin_role``. :rtype: bool """ return self._tag == "changed_enterprise_admin_role" def is_changed_enterprise_connected_team_status(self): """ Check if the union tag is ``changed_enterprise_connected_team_status``. :rtype: bool """ return self._tag == "changed_enterprise_connected_team_status" def is_ended_enterprise_admin_session(self): """ Check if the union tag is ``ended_enterprise_admin_session``. :rtype: bool """ return self._tag == "ended_enterprise_admin_session" def is_ended_enterprise_admin_session_deprecated(self): """ Check if the union tag is ``ended_enterprise_admin_session_deprecated``. :rtype: bool """ return self._tag == "ended_enterprise_admin_session_deprecated" def is_enterprise_settings_locking(self): """ Check if the union tag is ``enterprise_settings_locking``. :rtype: bool """ return self._tag == "enterprise_settings_locking" 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_started_enterprise_admin_session(self): """ Check if the union tag is ``started_enterprise_admin_session``. :rtype: bool """ return self._tag == "started_enterprise_admin_session" 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 _process_custom_annotations(self, annotation_type, field_path, processor): super(EventTypeArg, self)._process_custom_annotations( annotation_type, field_path, processor ) EventTypeArg_validator = bv.Union(EventTypeArg) 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 ) ExportMembersReportDetails_validator = bv.Struct(ExportMembersReportDetails) class ExportMembersReportFailDetails(bb.Struct): """ Failed to create members data report. :ivar ExportMembersReportFailDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExportMembersReportFailDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ExportMembersReportFailDetails_validator = bv.Struct(ExportMembersReportFailDetails) class ExportMembersReportFailType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExportMembersReportFailType, self)._process_custom_annotations( annotation_type, field_path, processor ) ExportMembersReportFailType_validator = bv.Struct(ExportMembersReportFailType) class ExportMembersReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExportMembersReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) ExportMembersReportType_validator = bv.Struct(ExportMembersReportType) class ExtendedVersionHistoryChangePolicyDetails(bb.Struct): """ Accepted/opted out of extended version history. :ivar ExtendedVersionHistoryChangePolicyDetails.new_value: New extended version history policy. :ivar ExtendedVersionHistoryChangePolicyDetails.previous_value: Previous extended version history policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ExtendedVersionHistoryPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ExtendedVersionHistoryPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExtendedVersionHistoryChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ExtendedVersionHistoryChangePolicyDetails_validator = bv.Struct( ExtendedVersionHistoryChangePolicyDetails ) class ExtendedVersionHistoryChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExtendedVersionHistoryChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) ExtendedVersionHistoryPolicy_validator = bv.Union(ExtendedVersionHistoryPolicy) class ExternalDriveBackupEligibilityStatus(bb.Union): """ External Drive Backup eligibility 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. """ _catch_all = "other" # Attribute is overwritten below the class definition exceed_license_cap = None # Attribute is overwritten below the class definition skip = None # Attribute is overwritten below the class definition success = None # Attribute is overwritten below the class definition other = None def is_exceed_license_cap(self): """ Check if the union tag is ``exceed_license_cap``. :rtype: bool """ return self._tag == "exceed_license_cap" def is_skip(self): """ Check if the union tag is ``skip``. :rtype: bool """ return self._tag == "skip" 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(ExternalDriveBackupEligibilityStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupEligibilityStatus_validator = bv.Union(ExternalDriveBackupEligibilityStatus) class ExternalDriveBackupEligibilityStatusCheckedDetails(bb.Struct): """ Checked external drive backup eligibility status. :ivar ExternalDriveBackupEligibilityStatusCheckedDetails.desktop_device_session_info: Device's session logged information. :ivar ExternalDriveBackupEligibilityStatusCheckedDetails.status: Current eligibility status of external drive backup. :ivar ExternalDriveBackupEligibilityStatusCheckedDetails.number_of_external_drive_backup: Total number of valid external drive backup for all the team members. """ __slots__ = [ "_desktop_device_session_info_value", "_status_value", "_number_of_external_drive_backup_value", ] _has_required_fields = True def __init__( self, desktop_device_session_info=None, status=None, number_of_external_drive_backup=None, ): self._desktop_device_session_info_value = bb.NOT_SET self._status_value = bb.NOT_SET self._number_of_external_drive_backup_value = bb.NOT_SET if desktop_device_session_info is not None: self.desktop_device_session_info = desktop_device_session_info if status is not None: self.status = status if number_of_external_drive_backup is not None: self.number_of_external_drive_backup = number_of_external_drive_backup # Instance attribute type: DesktopDeviceSessionLogInfo (validator is set below) desktop_device_session_info = bb.Attribute("desktop_device_session_info", user_defined=True) # Instance attribute type: ExternalDriveBackupEligibilityStatus (validator is set below) status = bb.Attribute("status", user_defined=True) # Instance attribute type: int (validator is set below) number_of_external_drive_backup = bb.Attribute("number_of_external_drive_backup") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalDriveBackupEligibilityStatusCheckedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupEligibilityStatusCheckedDetails_validator = bv.Struct( ExternalDriveBackupEligibilityStatusCheckedDetails ) class ExternalDriveBackupEligibilityStatusCheckedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalDriveBackupEligibilityStatusCheckedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupEligibilityStatusCheckedType_validator = bv.Struct( ExternalDriveBackupEligibilityStatusCheckedType ) class ExternalDriveBackupPolicy(bb.Union): """ Policy for controlling team access to external drive backup feature This class acts as a tagged union. Only 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 disabled = None # Attribute is overwritten below the class definition enabled = 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_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(ExternalDriveBackupPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupPolicy_validator = bv.Union(ExternalDriveBackupPolicy) class ExternalDriveBackupPolicyChangedDetails(bb.Struct): """ Changed external drive backup policy for team. :ivar ExternalDriveBackupPolicyChangedDetails.new_value: New external drive backup policy. :ivar ExternalDriveBackupPolicyChangedDetails.previous_value: Previous external drive backup policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ExternalDriveBackupPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ExternalDriveBackupPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalDriveBackupPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupPolicyChangedDetails_validator = bv.Struct( ExternalDriveBackupPolicyChangedDetails ) class ExternalDriveBackupPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalDriveBackupPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupPolicyChangedType_validator = bv.Struct(ExternalDriveBackupPolicyChangedType) class ExternalDriveBackupStatus(bb.Union): """ External Drive Backup 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. """ _catch_all = "other" # Attribute is overwritten below the class definition broken = None # Attribute is overwritten below the class definition created = None # Attribute is overwritten below the class definition created_or_broken = None # Attribute is overwritten below the class definition deleted = None # Attribute is overwritten below the class definition empty = None # Attribute is overwritten below the class definition unknown = None # Attribute is overwritten below the class definition other = None def is_broken(self): """ Check if the union tag is ``broken``. :rtype: bool """ return self._tag == "broken" def is_created(self): """ Check if the union tag is ``created``. :rtype: bool """ return self._tag == "created" def is_created_or_broken(self): """ Check if the union tag is ``created_or_broken``. :rtype: bool """ return self._tag == "created_or_broken" def is_deleted(self): """ Check if the union tag is ``deleted``. :rtype: bool """ return self._tag == "deleted" def is_empty(self): """ Check if the union tag is ``empty``. :rtype: bool """ return self._tag == "empty" def is_unknown(self): """ Check if the union tag is ``unknown``. :rtype: bool """ return self._tag == "unknown" 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(ExternalDriveBackupStatus, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupStatus_validator = bv.Union(ExternalDriveBackupStatus) class ExternalDriveBackupStatusChangedDetails(bb.Struct): """ Modified external drive backup. :ivar ExternalDriveBackupStatusChangedDetails.desktop_device_session_info: Device's session logged information. :ivar ExternalDriveBackupStatusChangedDetails.previous_value: Previous status of this external drive backup. :ivar ExternalDriveBackupStatusChangedDetails.new_value: Next status of this external drive backup. """ __slots__ = [ "_desktop_device_session_info_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, desktop_device_session_info=None, previous_value=None, new_value=None): self._desktop_device_session_info_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if desktop_device_session_info is not None: self.desktop_device_session_info = desktop_device_session_info if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: DesktopDeviceSessionLogInfo (validator is set below) desktop_device_session_info = bb.Attribute("desktop_device_session_info", user_defined=True) # Instance attribute type: ExternalDriveBackupStatus (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: ExternalDriveBackupStatus (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalDriveBackupStatusChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupStatusChangedDetails_validator = bv.Struct( ExternalDriveBackupStatusChangedDetails ) class ExternalDriveBackupStatusChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalDriveBackupStatusChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupStatusChangedType_validator = bv.Struct(ExternalDriveBackupStatusChangedType) class ExternalSharingCreateReportDetails(bb.Struct): """ Created External sharing report. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalSharingCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalSharingCreateReportDetails_validator = bv.Struct(ExternalSharingCreateReportDetails) class ExternalSharingCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalSharingCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalSharingCreateReportType_validator = bv.Struct(ExternalSharingCreateReportType) class ExternalSharingReportFailedDetails(bb.Struct): """ Couldn't create External sharing report. :ivar ExternalSharingReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalSharingReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalSharingReportFailedDetails_validator = bv.Struct(ExternalSharingReportFailedDetails) class ExternalSharingReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalSharingReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalSharingReportFailedType_validator = bv.Struct(ExternalSharingReportFailedType) class ExternalSharingSetting(bb.Union): """ External sharing setting This class acts as a tagged union. Only 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 unset = 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_unset(self): """ Check if the union tag is ``unset``. :rtype: bool """ return self._tag == "unset" 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(ExternalSharingSetting, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalSharingSetting_validator = bv.Union(ExternalSharingSetting) class ExternalUserLogInfo(bb.Struct): """ A user without a Dropbox account. :ivar ExternalUserLogInfo.user_identifier: An external user identifier. :ivar ExternalUserLogInfo.identifier_type: Identifier type. """ __slots__ = [ "_user_identifier_value", "_identifier_type_value", ] _has_required_fields = True def __init__(self, user_identifier=None, identifier_type=None): self._user_identifier_value = bb.NOT_SET self._identifier_type_value = bb.NOT_SET if user_identifier is not None: self.user_identifier = user_identifier if identifier_type is not None: self.identifier_type = identifier_type # Instance attribute type: str (validator is set below) user_identifier = bb.Attribute("user_identifier") # Instance attribute type: IdentifierType (validator is set below) identifier_type = bb.Attribute("identifier_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ExternalUserLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalUserLogInfo_validator = bv.Struct(ExternalUserLogInfo) class FailureDetailsLogInfo(bb.Struct): """ Provides details about a failure :ivar FailureDetailsLogInfo.user_friendly_message: A user friendly explanation of the error. :ivar FailureDetailsLogInfo.technical_error_message: A technical explanation of the error. This is relevant for some errors. """ __slots__ = [ "_user_friendly_message_value", "_technical_error_message_value", ] _has_required_fields = False def __init__(self, user_friendly_message=None, technical_error_message=None): self._user_friendly_message_value = bb.NOT_SET self._technical_error_message_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) user_friendly_message = bb.Attribute("user_friendly_message", nullable=True) # Instance attribute type: str (validator is set below) technical_error_message = bb.Attribute("technical_error_message", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FailureDetailsLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) FailureDetailsLogInfo_validator = bv.Struct(FailureDetailsLogInfo) class FedAdminRole(bb.Union): """ This class acts as a tagged union. Only 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 enterprise_admin = None # Attribute is overwritten below the class definition not_enterprise_admin = None # Attribute is overwritten below the class definition other = None def is_enterprise_admin(self): """ Check if the union tag is ``enterprise_admin``. :rtype: bool """ return self._tag == "enterprise_admin" def is_not_enterprise_admin(self): """ Check if the union tag is ``not_enterprise_admin``. :rtype: bool """ return self._tag == "not_enterprise_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(FedAdminRole, self)._process_custom_annotations( annotation_type, field_path, processor ) FedAdminRole_validator = bv.Union(FedAdminRole) class FedExtraDetails(bb.Union): """ More details about the organization or 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 FedExtraDetails.organization: More details about the organization. :vartype FedExtraDetails.organization: OrganizationDetails :ivar FedExtraDetails.team: More details about the team. :vartype FedExtraDetails.team: TeamDetails """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @classmethod def organization(cls, val): """ Create an instance of this class set to the ``organization`` tag with value ``val``. :param OrganizationDetails val: :rtype: FedExtraDetails """ return cls("organization", val) @classmethod def team(cls, val): """ Create an instance of this class set to the ``team`` tag with value ``val``. :param TeamDetails val: :rtype: FedExtraDetails """ return cls("team", val) def is_organization(self): """ Check if the union tag is ``organization``. :rtype: bool """ return self._tag == "organization" 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_organization(self): """ More details about the organization. Only call this if :meth:`is_organization` is true. :rtype: OrganizationDetails """ if not self.is_organization(): raise AttributeError("tag 'organization' not set") return self._value def get_team(self): """ More details about the team. Only call this if :meth:`is_team` is true. :rtype: TeamDetails """ 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(FedExtraDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FedExtraDetails_validator = bv.Union(FedExtraDetails) class FedHandshakeAction(bb.Union): """ This class acts as a tagged union. Only 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 accepted_invite = None # Attribute is overwritten below the class definition canceled_invite = None # Attribute is overwritten below the class definition invite_expired = None # Attribute is overwritten below the class definition invited = None # Attribute is overwritten below the class definition rejected_invite = None # Attribute is overwritten below the class definition removed_team = None # Attribute is overwritten below the class definition other = None def is_accepted_invite(self): """ Check if the union tag is ``accepted_invite``. :rtype: bool """ return self._tag == "accepted_invite" def is_canceled_invite(self): """ Check if the union tag is ``canceled_invite``. :rtype: bool """ return self._tag == "canceled_invite" def is_invite_expired(self): """ Check if the union tag is ``invite_expired``. :rtype: bool """ return self._tag == "invite_expired" def is_invited(self): """ Check if the union tag is ``invited``. :rtype: bool """ return self._tag == "invited" def is_rejected_invite(self): """ Check if the union tag is ``rejected_invite``. :rtype: bool """ return self._tag == "rejected_invite" def is_removed_team(self): """ Check if the union tag is ``removed_team``. :rtype: bool """ return self._tag == "removed_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(FedHandshakeAction, self)._process_custom_annotations( annotation_type, field_path, processor ) FedHandshakeAction_validator = bv.Union(FedHandshakeAction) class FederationStatusChangeAdditionalInfo(bb.Union): """ Additional information about the organization or connected 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 FederationStatusChangeAdditionalInfo.connected_team_name: The name of the team :vartype FederationStatusChangeAdditionalInfo.connected_team_name: ConnectedTeamName :ivar FederationStatusChangeAdditionalInfo.non_trusted_team_details: The email to which the request was sent :vartype FederationStatusChangeAdditionalInfo.non_trusted_team_details: NonTrustedTeamDetails :ivar FederationStatusChangeAdditionalInfo.organization_name: The name of the organization :vartype FederationStatusChangeAdditionalInfo.organization_name: OrganizationName """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @classmethod def connected_team_name(cls, val): """ Create an instance of this class set to the ``connected_team_name`` tag with value ``val``. :param ConnectedTeamName val: :rtype: FederationStatusChangeAdditionalInfo """ return cls("connected_team_name", val) @classmethod def non_trusted_team_details(cls, val): """ Create an instance of this class set to the ``non_trusted_team_details`` tag with value ``val``. :param NonTrustedTeamDetails val: :rtype: FederationStatusChangeAdditionalInfo """ return cls("non_trusted_team_details", val) @classmethod def organization_name(cls, val): """ Create an instance of this class set to the ``organization_name`` tag with value ``val``. :param OrganizationName val: :rtype: FederationStatusChangeAdditionalInfo """ return cls("organization_name", val) def is_connected_team_name(self): """ Check if the union tag is ``connected_team_name``. :rtype: bool """ return self._tag == "connected_team_name" def is_non_trusted_team_details(self): """ Check if the union tag is ``non_trusted_team_details``. :rtype: bool """ return self._tag == "non_trusted_team_details" def is_organization_name(self): """ Check if the union tag is ``organization_name``. :rtype: bool """ return self._tag == "organization_name" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_connected_team_name(self): """ The name of the team Only call this if :meth:`is_connected_team_name` is true. :rtype: ConnectedTeamName """ if not self.is_connected_team_name(): raise AttributeError("tag 'connected_team_name' not set") return self._value def get_non_trusted_team_details(self): """ The email to which the request was sent Only call this if :meth:`is_non_trusted_team_details` is true. :rtype: NonTrustedTeamDetails """ if not self.is_non_trusted_team_details(): raise AttributeError("tag 'non_trusted_team_details' not set") return self._value def get_organization_name(self): """ The name of the organization Only call this if :meth:`is_organization_name` is true. :rtype: OrganizationName """ if not self.is_organization_name(): raise AttributeError("tag 'organization_name' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(FederationStatusChangeAdditionalInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) FederationStatusChangeAdditionalInfo_validator = bv.Union(FederationStatusChangeAdditionalInfo) class FileAddCommentDetails(bb.Struct): """ Added file comment. :ivar FileAddCommentDetails.comment_text: Comment text. """ __slots__ = [ "_comment_text_value", ] _has_required_fields = False def __init__(self, comment_text=None): self._comment_text_value = bb.NOT_SET if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileAddCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileAddCommentDetails_validator = bv.Struct(FileAddCommentDetails) class FileAddCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileAddCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileAddDetails_validator = bv.Struct(FileAddDetails) class FileAddFromAutomationDetails(bb.Struct): """ Added files and/or folders from automation. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileAddFromAutomationDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileAddFromAutomationDetails_validator = bv.Struct(FileAddFromAutomationDetails) class FileAddFromAutomationType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileAddFromAutomationType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileAddFromAutomationType_validator = bv.Struct(FileAddFromAutomationType) class FileAddType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileAddType, self)._process_custom_annotations(annotation_type, field_path, processor) FileAddType_validator = bv.Struct(FileAddType) class FileChangeCommentSubscriptionDetails(bb.Struct): """ Subscribed to or unsubscribed from comment notifications for file. :ivar FileChangeCommentSubscriptionDetails.new_value: New file comment subscription. :ivar FileChangeCommentSubscriptionDetails.previous_value: Previous file comment subscription. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: FileCommentNotificationPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: FileCommentNotificationPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileChangeCommentSubscriptionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileChangeCommentSubscriptionDetails_validator = bv.Struct(FileChangeCommentSubscriptionDetails) class FileChangeCommentSubscriptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileChangeCommentSubscriptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileCommentNotificationPolicy_validator = bv.Union(FileCommentNotificationPolicy) class FileCommentsChangePolicyDetails(bb.Struct): """ Enabled/disabled commenting on team files. :ivar FileCommentsChangePolicyDetails.new_value: New commenting on team files policy. :ivar FileCommentsChangePolicyDetails.previous_value: Previous commenting on team files policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: FileCommentsPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: FileCommentsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileCommentsChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileCommentsChangePolicyDetails_validator = bv.Struct(FileCommentsChangePolicyDetails) class FileCommentsChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileCommentsChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileCommentsPolicy_validator = bv.Union(FileCommentsPolicy) class FileCopyDetails(bb.Struct): """ Copied files and/or folders. :ivar FileCopyDetails.relocate_action_details: Relocate action details. """ __slots__ = [ "_relocate_action_details_value", ] _has_required_fields = True def __init__(self, relocate_action_details=None): self._relocate_action_details_value = bb.NOT_SET if relocate_action_details is not None: self.relocate_action_details = relocate_action_details # Instance attribute type: list of [RelocateAssetReferencesLogInfo] (validator is set below) relocate_action_details = bb.Attribute("relocate_action_details") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileCopyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileCopyDetails_validator = bv.Struct(FileCopyDetails) class FileCopyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileCopyType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileCopyType_validator = bv.Struct(FileCopyType) class FileDeleteCommentDetails(bb.Struct): """ Deleted file comment. :ivar FileDeleteCommentDetails.comment_text: Comment text. """ __slots__ = [ "_comment_text_value", ] _has_required_fields = False def __init__(self, comment_text=None): self._comment_text_value = bb.NOT_SET if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileDeleteCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileDeleteCommentDetails_validator = bv.Struct(FileDeleteCommentDetails) class FileDeleteCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileDeleteCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileDeleteDetails_validator = bv.Struct(FileDeleteDetails) class FileDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileDownloadDetails_validator = bv.Struct(FileDownloadDetails) class FileDownloadType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileDownloadType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileDownloadType_validator = bv.Struct(FileDownloadType) class FileEditCommentDetails(bb.Struct): """ Edited file comment. :ivar FileEditCommentDetails.comment_text: Comment text. :ivar FileEditCommentDetails.previous_comment_text: Previous comment text. """ __slots__ = [ "_comment_text_value", "_previous_comment_text_value", ] _has_required_fields = True def __init__(self, previous_comment_text=None, comment_text=None): self._comment_text_value = bb.NOT_SET self._previous_comment_text_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) # Instance attribute type: str (validator is set below) previous_comment_text = bb.Attribute("previous_comment_text") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileEditCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileEditCommentDetails_validator = bv.Struct(FileEditCommentDetails) class FileEditCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileEditCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileEditDetails_validator = bv.Struct(FileEditDetails) class FileEditType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileEditType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileGetCopyReferenceDetails_validator = bv.Struct(FileGetCopyReferenceDetails) class FileGetCopyReferenceType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileGetCopyReferenceType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileGetCopyReferenceType_validator = bv.Struct(FileGetCopyReferenceType) class FileLikeCommentDetails(bb.Struct): """ Liked file comment. :ivar FileLikeCommentDetails.comment_text: Comment text. """ __slots__ = [ "_comment_text_value", ] _has_required_fields = False def __init__(self, comment_text=None): self._comment_text_value = bb.NOT_SET if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLikeCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLikeCommentDetails_validator = bv.Struct(FileLikeCommentDetails) class FileLikeCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLikeCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLikeCommentType_validator = bv.Struct(FileLikeCommentType) class FileLockingLockStatusChangedDetails(bb.Struct): """ Locked/unlocked editing for a file. :ivar FileLockingLockStatusChangedDetails.previous_value: Previous lock status of the file. :ivar FileLockingLockStatusChangedDetails.new_value: New lock status of the file. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: LockStatus (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: LockStatus (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLockingLockStatusChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLockingLockStatusChangedDetails_validator = bv.Struct(FileLockingLockStatusChangedDetails) class FileLockingLockStatusChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLockingLockStatusChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLockingLockStatusChangedType_validator = bv.Struct(FileLockingLockStatusChangedType) class FileLockingPolicyChangedDetails(bb.Struct): """ Changed file locking policy for team. :ivar FileLockingPolicyChangedDetails.new_value: New file locking policy. :ivar FileLockingPolicyChangedDetails.previous_value: Previous file locking policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.FileLockingPolicyState (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team_policies.FileLockingPolicyState (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLockingPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLockingPolicyChangedDetails_validator = bv.Struct(FileLockingPolicyChangedDetails) class FileLockingPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLockingPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLockingPolicyChangedType_validator = bv.Struct(FileLockingPolicyChangedType) class FileOrFolderLogInfo(bb.Struct): """ Generic information relevant both for files and folders :ivar FileOrFolderLogInfo.path: Path relative to event context. :ivar FileOrFolderLogInfo.display_name: Display name. :ivar FileOrFolderLogInfo.file_id: Unique ID. :ivar FileOrFolderLogInfo.file_size: File or folder size in bytes. """ __slots__ = [ "_path_value", "_display_name_value", "_file_id_value", "_file_size_value", ] _has_required_fields = True def __init__(self, path=None, display_name=None, file_id=None, file_size=None): self._path_value = bb.NOT_SET self._display_name_value = bb.NOT_SET self._file_id_value = bb.NOT_SET self._file_size_value = bb.NOT_SET 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 if file_size is not None: self.file_size = file_size # Instance attribute type: PathLogInfo (validator is set below) path = bb.Attribute("path", user_defined=True) # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name", nullable=True) # Instance attribute type: str (validator is set below) file_id = bb.Attribute("file_id", nullable=True) # Instance attribute type: int (validator is set below) file_size = bb.Attribute("file_size", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileOrFolderLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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, file_size=None): super(FileLogInfo, self).__init__(path, display_name, file_id, file_size) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) FileLogInfo_validator = bv.Struct(FileLogInfo) class FileMoveDetails(bb.Struct): """ Moved files and/or folders. :ivar FileMoveDetails.relocate_action_details: Relocate action details. """ __slots__ = [ "_relocate_action_details_value", ] _has_required_fields = True def __init__(self, relocate_action_details=None): self._relocate_action_details_value = bb.NOT_SET if relocate_action_details is not None: self.relocate_action_details = relocate_action_details # Instance attribute type: list of [RelocateAssetReferencesLogInfo] (validator is set below) relocate_action_details = bb.Attribute("relocate_action_details") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileMoveDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileMoveDetails_validator = bv.Struct(FileMoveDetails) class FileMoveType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileMoveType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FilePermanentlyDeleteDetails_validator = bv.Struct(FilePermanentlyDeleteDetails) class FilePermanentlyDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FilePermanentlyDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FilePreviewDetails_validator = bv.Struct(FilePreviewDetails) class FilePreviewType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FilePreviewType, self)._process_custom_annotations( annotation_type, field_path, processor ) FilePreviewType_validator = bv.Struct(FilePreviewType) class FileProviderMigrationPolicyChangedDetails(bb.Struct): """ Changed File Provider Migration policy for team. :ivar FileProviderMigrationPolicyChangedDetails.new_value: To. :ivar FileProviderMigrationPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.FileProviderMigrationPolicyState (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team_policies.FileProviderMigrationPolicyState (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileProviderMigrationPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileProviderMigrationPolicyChangedDetails_validator = bv.Struct( FileProviderMigrationPolicyChangedDetails ) class FileProviderMigrationPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileProviderMigrationPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileProviderMigrationPolicyChangedType_validator = bv.Struct(FileProviderMigrationPolicyChangedType) class FileRenameDetails(bb.Struct): """ Renamed files and/or folders. :ivar FileRenameDetails.relocate_action_details: Relocate action details. """ __slots__ = [ "_relocate_action_details_value", ] _has_required_fields = True def __init__(self, relocate_action_details=None): self._relocate_action_details_value = bb.NOT_SET if relocate_action_details is not None: self.relocate_action_details = relocate_action_details # Instance attribute type: list of [RelocateAssetReferencesLogInfo] (validator is set below) relocate_action_details = bb.Attribute("relocate_action_details") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRenameDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRenameDetails_validator = bv.Struct(FileRenameDetails) class FileRenameType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRenameType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRenameType_validator = bv.Struct(FileRenameType) class FileRequestAutoCloseDetails(bb.Struct): """ Auto closed file request. :ivar FileRequestAutoCloseDetails.file_request_id: File request id. Might be missing due to historical data gap. :ivar FileRequestAutoCloseDetails.reason: Reason for the auto close. :ivar FileRequestAutoCloseDetails.previous_details: Previous file request details. Might be missing due to historical data gap. """ __slots__ = [ "_file_request_id_value", "_reason_value", "_previous_details_value", ] _has_required_fields = False def __init__(self, file_request_id=None, reason=None, previous_details=None): self._file_request_id_value = bb.NOT_SET self._reason_value = bb.NOT_SET self._previous_details_value = bb.NOT_SET if file_request_id is not None: self.file_request_id = file_request_id if reason is not None: self.reason = reason if previous_details is not None: self.previous_details = previous_details # Instance attribute type: str (validator is set below) file_request_id = bb.Attribute("file_request_id", nullable=True) # Instance attribute type: str (validator is set below) reason = bb.Attribute("reason", nullable=True) # Instance attribute type: FileRequestDetails (validator is set below) previous_details = bb.Attribute("previous_details", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestAutoCloseDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestAutoCloseDetails_validator = bv.Struct(FileRequestAutoCloseDetails) class FileRequestAutoCloseType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestAutoCloseType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestAutoCloseType_validator = bv.Struct(FileRequestAutoCloseType) class FileRequestChangeDetails(bb.Struct): """ Changed file request. :ivar FileRequestChangeDetails.file_request_id: File request id. Might be missing due to historical data gap. :ivar FileRequestChangeDetails.previous_details: Previous file request details. Might be missing due to historical data gap. :ivar FileRequestChangeDetails.new_details: New file request details. """ __slots__ = [ "_file_request_id_value", "_previous_details_value", "_new_details_value", ] _has_required_fields = True def __init__(self, new_details=None, file_request_id=None, previous_details=None): self._file_request_id_value = bb.NOT_SET self._previous_details_value = bb.NOT_SET self._new_details_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) file_request_id = bb.Attribute("file_request_id", nullable=True) # Instance attribute type: FileRequestDetails (validator is set below) previous_details = bb.Attribute("previous_details", nullable=True, user_defined=True) # Instance attribute type: FileRequestDetails (validator is set below) new_details = bb.Attribute("new_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestChangeDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestChangeDetails_validator = bv.Struct(FileRequestChangeDetails) class FileRequestChangeType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestChangeType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestChangeType_validator = bv.Struct(FileRequestChangeType) class FileRequestCloseDetails(bb.Struct): """ Closed file request. :ivar FileRequestCloseDetails.file_request_id: File request id. Might be missing due to historical data gap. :ivar FileRequestCloseDetails.previous_details: Previous file request details. Might be missing due to historical data gap. """ __slots__ = [ "_file_request_id_value", "_previous_details_value", ] _has_required_fields = False def __init__(self, file_request_id=None, previous_details=None): self._file_request_id_value = bb.NOT_SET self._previous_details_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) file_request_id = bb.Attribute("file_request_id", nullable=True) # Instance attribute type: FileRequestDetails (validator is set below) previous_details = bb.Attribute("previous_details", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestCloseDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestCloseDetails_validator = bv.Struct(FileRequestCloseDetails) class FileRequestCloseType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestCloseType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestCloseType_validator = bv.Struct(FileRequestCloseType) class FileRequestCreateDetails(bb.Struct): """ Created file request. :ivar FileRequestCreateDetails.file_request_id: File request id. Might be missing due to historical data gap. :ivar FileRequestCreateDetails.request_details: File request details. Might be missing due to historical data gap. """ __slots__ = [ "_file_request_id_value", "_request_details_value", ] _has_required_fields = False def __init__(self, file_request_id=None, request_details=None): self._file_request_id_value = bb.NOT_SET self._request_details_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) file_request_id = bb.Attribute("file_request_id", nullable=True) # Instance attribute type: FileRequestDetails (validator is set below) request_details = bb.Attribute("request_details", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestCreateDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestCreateDetails_validator = bv.Struct(FileRequestCreateDetails) class FileRequestCreateType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestCreateType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestCreateType_validator = bv.Struct(FileRequestCreateType) class FileRequestDeadline(bb.Struct): """ File request deadline :ivar FileRequestDeadline.deadline: The deadline for this file request. Might be missing due to historical data gap. :ivar FileRequestDeadline.allow_late_uploads: If set, allow uploads after the deadline has passed. """ __slots__ = [ "_deadline_value", "_allow_late_uploads_value", ] _has_required_fields = False def __init__(self, deadline=None, allow_late_uploads=None): self._deadline_value = bb.NOT_SET self._allow_late_uploads_value = bb.NOT_SET if deadline is not None: self.deadline = deadline if allow_late_uploads is not None: self.allow_late_uploads = allow_late_uploads # Instance attribute type: datetime.datetime (validator is set below) deadline = bb.Attribute("deadline", nullable=True) # Instance attribute type: str (validator is set below) allow_late_uploads = bb.Attribute("allow_late_uploads", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestDeadline, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestDeadline_validator = bv.Struct(FileRequestDeadline) class FileRequestDeleteDetails(bb.Struct): """ Delete file request. :ivar FileRequestDeleteDetails.file_request_id: File request id. Might be missing due to historical data gap. :ivar FileRequestDeleteDetails.previous_details: Previous file request details. Might be missing due to historical data gap. """ __slots__ = [ "_file_request_id_value", "_previous_details_value", ] _has_required_fields = False def __init__(self, file_request_id=None, previous_details=None): self._file_request_id_value = bb.NOT_SET self._previous_details_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) file_request_id = bb.Attribute("file_request_id", nullable=True) # Instance attribute type: FileRequestDetails (validator is set below) previous_details = bb.Attribute("previous_details", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestDeleteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestDeleteDetails_validator = bv.Struct(FileRequestDeleteDetails) class FileRequestDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestDeleteType_validator = bv.Struct(FileRequestDeleteType) class FileRequestDetails(bb.Struct): """ File request details :ivar FileRequestDetails.asset_index: Asset position in the Assets list. :ivar FileRequestDetails.deadline: File request deadline. :ivar FileRequestDetails.has_password: Flag represents if this file request has password. """ __slots__ = [ "_asset_index_value", "_deadline_value", "_has_password_value", ] _has_required_fields = True def __init__(self, asset_index=None, deadline=None, has_password=None): self._asset_index_value = bb.NOT_SET self._deadline_value = bb.NOT_SET self._has_password_value = bb.NOT_SET if asset_index is not None: self.asset_index = asset_index if deadline is not None: self.deadline = deadline if has_password is not None: self.has_password = has_password # Instance attribute type: int (validator is set below) asset_index = bb.Attribute("asset_index") # Instance attribute type: FileRequestDeadline (validator is set below) deadline = bb.Attribute("deadline", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) has_password = bb.Attribute("has_password", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestDetails_validator = bv.Struct(FileRequestDetails) class FileRequestReceiveFileDetails(bb.Struct): """ Received files for file request. :ivar FileRequestReceiveFileDetails.file_request_id: File request id. Might be missing due to historical data gap. :ivar FileRequestReceiveFileDetails.file_request_details: File request details. Might be missing due to historical data gap. :ivar FileRequestReceiveFileDetails.submitted_file_names: Submitted file names. :ivar FileRequestReceiveFileDetails.submitter_name: The name as provided by the submitter. :ivar FileRequestReceiveFileDetails.submitter_email: The email as provided by the submitter. """ __slots__ = [ "_file_request_id_value", "_file_request_details_value", "_submitted_file_names_value", "_submitter_name_value", "_submitter_email_value", ] _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 = bb.NOT_SET self._file_request_details_value = bb.NOT_SET self._submitted_file_names_value = bb.NOT_SET self._submitter_name_value = bb.NOT_SET self._submitter_email_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) file_request_id = bb.Attribute("file_request_id", nullable=True) # Instance attribute type: FileRequestDetails (validator is set below) file_request_details = bb.Attribute("file_request_details", nullable=True, user_defined=True) # Instance attribute type: list of [str] (validator is set below) submitted_file_names = bb.Attribute("submitted_file_names") # Instance attribute type: str (validator is set below) submitter_name = bb.Attribute("submitter_name", nullable=True) # Instance attribute type: str (validator is set below) submitter_email = bb.Attribute("submitter_email", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestReceiveFileDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestReceiveFileDetails_validator = bv.Struct(FileRequestReceiveFileDetails) class FileRequestReceiveFileType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestReceiveFileType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestReceiveFileType_validator = bv.Struct(FileRequestReceiveFileType) class FileRequestsChangePolicyDetails(bb.Struct): """ Enabled/disabled file requests. :ivar FileRequestsChangePolicyDetails.new_value: New file requests policy. :ivar FileRequestsChangePolicyDetails.previous_value: Previous file requests policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: FileRequestsPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: FileRequestsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestsChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRequestsChangePolicyDetails_validator = bv.Struct(FileRequestsChangePolicyDetails) class FileRequestsChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestsChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileRequestsEmailsEnabledDetails_validator = bv.Struct(FileRequestsEmailsEnabledDetails) class FileRequestsEmailsEnabledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestsEmailsEnabledType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileRequestsEmailsRestrictedToTeamOnlyDetails_validator = bv.Struct( FileRequestsEmailsRestrictedToTeamOnlyDetails ) class FileRequestsEmailsRestrictedToTeamOnlyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRequestsEmailsRestrictedToTeamOnlyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileRequestsPolicy_validator = bv.Union(FileRequestsPolicy) class FileResolveCommentDetails(bb.Struct): """ Resolved file comment. :ivar FileResolveCommentDetails.comment_text: Comment text. """ __slots__ = [ "_comment_text_value", ] _has_required_fields = False def __init__(self, comment_text=None): self._comment_text_value = bb.NOT_SET if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileResolveCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileResolveCommentDetails_validator = bv.Struct(FileResolveCommentDetails) class FileResolveCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileResolveCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileRestoreDetails_validator = bv.Struct(FileRestoreDetails) class FileRestoreType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRestoreType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileRevertDetails_validator = bv.Struct(FileRevertDetails) class FileRevertType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRevertType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) FileRollbackChangesDetails_validator = bv.Struct(FileRollbackChangesDetails) class FileRollbackChangesType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileRollbackChangesType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileRollbackChangesType_validator = bv.Struct(FileRollbackChangesType) class FileSaveCopyReferenceDetails(bb.Struct): """ Saved file/folder using copy reference. :ivar FileSaveCopyReferenceDetails.relocate_action_details: Relocate action details. """ __slots__ = [ "_relocate_action_details_value", ] _has_required_fields = True def __init__(self, relocate_action_details=None): self._relocate_action_details_value = bb.NOT_SET if relocate_action_details is not None: self.relocate_action_details = relocate_action_details # Instance attribute type: list of [RelocateAssetReferencesLogInfo] (validator is set below) relocate_action_details = bb.Attribute("relocate_action_details") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileSaveCopyReferenceDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileSaveCopyReferenceDetails_validator = bv.Struct(FileSaveCopyReferenceDetails) class FileSaveCopyReferenceType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileSaveCopyReferenceType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileSaveCopyReferenceType_validator = bv.Struct(FileSaveCopyReferenceType) class FileTransfersFileAddDetails(bb.Struct): """ Transfer files added. :ivar FileTransfersFileAddDetails.file_transfer_id: Transfer id. """ __slots__ = [ "_file_transfer_id_value", ] _has_required_fields = True def __init__(self, file_transfer_id=None): self._file_transfer_id_value = bb.NOT_SET if file_transfer_id is not None: self.file_transfer_id = file_transfer_id # Instance attribute type: str (validator is set below) file_transfer_id = bb.Attribute("file_transfer_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersFileAddDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersFileAddDetails_validator = bv.Struct(FileTransfersFileAddDetails) class FileTransfersFileAddType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersFileAddType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersFileAddType_validator = bv.Struct(FileTransfersFileAddType) class FileTransfersPolicy(bb.Union): """ File transfers 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(FileTransfersPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersPolicy_validator = bv.Union(FileTransfersPolicy) class FileTransfersPolicyChangedDetails(bb.Struct): """ Changed file transfers policy for team. :ivar FileTransfersPolicyChangedDetails.new_value: New file transfers policy. :ivar FileTransfersPolicyChangedDetails.previous_value: Previous file transfers policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: FileTransfersPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: FileTransfersPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersPolicyChangedDetails_validator = bv.Struct(FileTransfersPolicyChangedDetails) class FileTransfersPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersPolicyChangedType_validator = bv.Struct(FileTransfersPolicyChangedType) class FileTransfersTransferDeleteDetails(bb.Struct): """ Deleted transfer. :ivar FileTransfersTransferDeleteDetails.file_transfer_id: Transfer id. """ __slots__ = [ "_file_transfer_id_value", ] _has_required_fields = True def __init__(self, file_transfer_id=None): self._file_transfer_id_value = bb.NOT_SET if file_transfer_id is not None: self.file_transfer_id = file_transfer_id # Instance attribute type: str (validator is set below) file_transfer_id = bb.Attribute("file_transfer_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersTransferDeleteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersTransferDeleteDetails_validator = bv.Struct(FileTransfersTransferDeleteDetails) class FileTransfersTransferDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersTransferDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersTransferDeleteType_validator = bv.Struct(FileTransfersTransferDeleteType) class FileTransfersTransferDownloadDetails(bb.Struct): """ Transfer downloaded. :ivar FileTransfersTransferDownloadDetails.file_transfer_id: Transfer id. """ __slots__ = [ "_file_transfer_id_value", ] _has_required_fields = True def __init__(self, file_transfer_id=None): self._file_transfer_id_value = bb.NOT_SET if file_transfer_id is not None: self.file_transfer_id = file_transfer_id # Instance attribute type: str (validator is set below) file_transfer_id = bb.Attribute("file_transfer_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersTransferDownloadDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersTransferDownloadDetails_validator = bv.Struct(FileTransfersTransferDownloadDetails) class FileTransfersTransferDownloadType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersTransferDownloadType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersTransferDownloadType_validator = bv.Struct(FileTransfersTransferDownloadType) class FileTransfersTransferSendDetails(bb.Struct): """ Sent transfer. :ivar FileTransfersTransferSendDetails.file_transfer_id: Transfer id. """ __slots__ = [ "_file_transfer_id_value", ] _has_required_fields = True def __init__(self, file_transfer_id=None): self._file_transfer_id_value = bb.NOT_SET if file_transfer_id is not None: self.file_transfer_id = file_transfer_id # Instance attribute type: str (validator is set below) file_transfer_id = bb.Attribute("file_transfer_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersTransferSendDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersTransferSendDetails_validator = bv.Struct(FileTransfersTransferSendDetails) class FileTransfersTransferSendType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersTransferSendType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersTransferSendType_validator = bv.Struct(FileTransfersTransferSendType) class FileTransfersTransferViewDetails(bb.Struct): """ Viewed transfer. :ivar FileTransfersTransferViewDetails.file_transfer_id: Transfer id. """ __slots__ = [ "_file_transfer_id_value", ] _has_required_fields = True def __init__(self, file_transfer_id=None): self._file_transfer_id_value = bb.NOT_SET if file_transfer_id is not None: self.file_transfer_id = file_transfer_id # Instance attribute type: str (validator is set below) file_transfer_id = bb.Attribute("file_transfer_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersTransferViewDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersTransferViewDetails_validator = bv.Struct(FileTransfersTransferViewDetails) class FileTransfersTransferViewType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileTransfersTransferViewType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileTransfersTransferViewType_validator = bv.Struct(FileTransfersTransferViewType) class FileUnlikeCommentDetails(bb.Struct): """ Unliked file comment. :ivar FileUnlikeCommentDetails.comment_text: Comment text. """ __slots__ = [ "_comment_text_value", ] _has_required_fields = False def __init__(self, comment_text=None): self._comment_text_value = bb.NOT_SET if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileUnlikeCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileUnlikeCommentDetails_validator = bv.Struct(FileUnlikeCommentDetails) class FileUnlikeCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileUnlikeCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileUnlikeCommentType_validator = bv.Struct(FileUnlikeCommentType) class FileUnresolveCommentDetails(bb.Struct): """ Unresolved file comment. :ivar FileUnresolveCommentDetails.comment_text: Comment text. """ __slots__ = [ "_comment_text_value", ] _has_required_fields = False def __init__(self, comment_text=None): self._comment_text_value = bb.NOT_SET if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileUnresolveCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FileUnresolveCommentDetails_validator = bv.Struct(FileUnresolveCommentDetails) class FileUnresolveCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FileUnresolveCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) FileUnresolveCommentType_validator = bv.Struct(FileUnresolveCommentType) class FlexibleFileNamesPolicy(bb.Union): """ Flexible file names 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 off = None # Attribute is overwritten below the class definition off_default = None # Attribute is overwritten below the class definition optional = None # Attribute is overwritten below the class definition optional_default = None # Attribute is overwritten below the class definition required = None # Attribute is overwritten below the class definition required_default = 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_off_default(self): """ Check if the union tag is ``off_default``. :rtype: bool """ return self._tag == "off_default" def is_optional(self): """ Check if the union tag is ``optional``. :rtype: bool """ return self._tag == "optional" def is_optional_default(self): """ Check if the union tag is ``optional_default``. :rtype: bool """ return self._tag == "optional_default" def is_required(self): """ Check if the union tag is ``required``. :rtype: bool """ return self._tag == "required" def is_required_default(self): """ Check if the union tag is ``required_default``. :rtype: bool """ return self._tag == "required_default" 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(FlexibleFileNamesPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) FlexibleFileNamesPolicy_validator = bv.Union(FlexibleFileNamesPolicy) class FlexibleFileNamesPolicyChangedDetails(bb.Struct): """ Changed flexible file names policy for team. :ivar FlexibleFileNamesPolicyChangedDetails.new_value: New flexible file names policy. :ivar FlexibleFileNamesPolicyChangedDetails.previous_value: Previous flexible file names policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: FlexibleFileNamesPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: FlexibleFileNamesPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FlexibleFileNamesPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FlexibleFileNamesPolicyChangedDetails_validator = bv.Struct(FlexibleFileNamesPolicyChangedDetails) class FlexibleFileNamesPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FlexibleFileNamesPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) FlexibleFileNamesPolicyChangedType_validator = bv.Struct(FlexibleFileNamesPolicyChangedType) class FolderLinkRestrictionPolicy(bb.Union): """ Policy for deciding whether applying link restrictions on all team owned 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 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(FolderLinkRestrictionPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderLinkRestrictionPolicy_validator = bv.Union(FolderLinkRestrictionPolicy) class FolderLinkRestrictionPolicyChangedDetails(bb.Struct): """ Changed folder link restrictions policy for team. :ivar FolderLinkRestrictionPolicyChangedDetails.new_value: To. :ivar FolderLinkRestrictionPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: FolderLinkRestrictionPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: FolderLinkRestrictionPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderLinkRestrictionPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderLinkRestrictionPolicyChangedDetails_validator = bv.Struct( FolderLinkRestrictionPolicyChangedDetails ) class FolderLinkRestrictionPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderLinkRestrictionPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderLinkRestrictionPolicyChangedType_validator = bv.Struct(FolderLinkRestrictionPolicyChangedType) class FolderLogInfo(FileOrFolderLogInfo): """ Folder's logged information. :ivar FolderLogInfo.file_count: Number of files within the folder. """ __slots__ = [ "_file_count_value", ] _has_required_fields = True def __init__( self, path=None, display_name=None, file_id=None, file_size=None, file_count=None, ): super(FolderLogInfo, self).__init__(path, display_name, file_id, file_size) self._file_count_value = bb.NOT_SET if file_count is not None: self.file_count = file_count # Instance attribute type: int (validator is set below) file_count = bb.Attribute("file_count", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderLogInfo_validator = bv.Struct(FolderLogInfo) class FolderOverviewDescriptionChangedDetails(bb.Struct): """ Updated folder overview. :ivar FolderOverviewDescriptionChangedDetails.folder_overview_location_asset: Folder Overview location position in the Assets list. """ __slots__ = [ "_folder_overview_location_asset_value", ] _has_required_fields = True def __init__(self, folder_overview_location_asset=None): self._folder_overview_location_asset_value = bb.NOT_SET if folder_overview_location_asset is not None: self.folder_overview_location_asset = folder_overview_location_asset # Instance attribute type: int (validator is set below) folder_overview_location_asset = bb.Attribute("folder_overview_location_asset") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderOverviewDescriptionChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderOverviewDescriptionChangedDetails_validator = bv.Struct( FolderOverviewDescriptionChangedDetails ) class FolderOverviewDescriptionChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderOverviewDescriptionChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderOverviewDescriptionChangedType_validator = bv.Struct(FolderOverviewDescriptionChangedType) class FolderOverviewItemPinnedDetails(bb.Struct): """ Pinned item to folder overview. :ivar FolderOverviewItemPinnedDetails.folder_overview_location_asset: Folder Overview location position in the Assets list. :ivar FolderOverviewItemPinnedDetails.pinned_items_asset_indices: Pinned items positions in the Assets list. """ __slots__ = [ "_folder_overview_location_asset_value", "_pinned_items_asset_indices_value", ] _has_required_fields = True def __init__(self, folder_overview_location_asset=None, pinned_items_asset_indices=None): self._folder_overview_location_asset_value = bb.NOT_SET self._pinned_items_asset_indices_value = bb.NOT_SET if folder_overview_location_asset is not None: self.folder_overview_location_asset = folder_overview_location_asset if pinned_items_asset_indices is not None: self.pinned_items_asset_indices = pinned_items_asset_indices # Instance attribute type: int (validator is set below) folder_overview_location_asset = bb.Attribute("folder_overview_location_asset") # Instance attribute type: list of [int] (validator is set below) pinned_items_asset_indices = bb.Attribute("pinned_items_asset_indices") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderOverviewItemPinnedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderOverviewItemPinnedDetails_validator = bv.Struct(FolderOverviewItemPinnedDetails) class FolderOverviewItemPinnedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderOverviewItemPinnedType, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderOverviewItemPinnedType_validator = bv.Struct(FolderOverviewItemPinnedType) class FolderOverviewItemUnpinnedDetails(bb.Struct): """ Unpinned item from folder overview. :ivar FolderOverviewItemUnpinnedDetails.folder_overview_location_asset: Folder Overview location position in the Assets list. :ivar FolderOverviewItemUnpinnedDetails.pinned_items_asset_indices: Pinned items positions in the Assets list. """ __slots__ = [ "_folder_overview_location_asset_value", "_pinned_items_asset_indices_value", ] _has_required_fields = True def __init__(self, folder_overview_location_asset=None, pinned_items_asset_indices=None): self._folder_overview_location_asset_value = bb.NOT_SET self._pinned_items_asset_indices_value = bb.NOT_SET if folder_overview_location_asset is not None: self.folder_overview_location_asset = folder_overview_location_asset if pinned_items_asset_indices is not None: self.pinned_items_asset_indices = pinned_items_asset_indices # Instance attribute type: int (validator is set below) folder_overview_location_asset = bb.Attribute("folder_overview_location_asset") # Instance attribute type: list of [int] (validator is set below) pinned_items_asset_indices = bb.Attribute("pinned_items_asset_indices") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderOverviewItemUnpinnedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderOverviewItemUnpinnedDetails_validator = bv.Struct(FolderOverviewItemUnpinnedDetails) class FolderOverviewItemUnpinnedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(FolderOverviewItemUnpinnedType, self)._process_custom_annotations( annotation_type, field_path, processor ) FolderOverviewItemUnpinnedType_validator = bv.Struct(FolderOverviewItemUnpinnedType) class GeoLocationLogInfo(bb.Struct): """ Geographic location details. :ivar GeoLocationLogInfo.city: City name. :ivar GeoLocationLogInfo.region: Region name. :ivar GeoLocationLogInfo.country: Country code. :ivar GeoLocationLogInfo.ip_address: IP address. """ __slots__ = [ "_city_value", "_region_value", "_country_value", "_ip_address_value", ] _has_required_fields = True def __init__(self, ip_address=None, city=None, region=None, country=None): self._city_value = bb.NOT_SET self._region_value = bb.NOT_SET self._country_value = bb.NOT_SET self._ip_address_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) city = bb.Attribute("city", nullable=True) # Instance attribute type: str (validator is set below) region = bb.Attribute("region", nullable=True) # Instance attribute type: str (validator is set below) country = bb.Attribute("country", nullable=True) # Instance attribute type: str (validator is set below) ip_address = bb.Attribute("ip_address") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GeoLocationLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) GeoLocationLogInfo_validator = bv.Struct(GeoLocationLogInfo) class GetTeamEventsArg(bb.Struct): """ :ivar 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_client.Dropbox.team_log_get_events_continue`. :ivar GetTeamEventsArg.account_id: Filter the events by account ID. Return only events with this account_id as either Actor, Context, or Participants. :ivar GetTeamEventsArg.time: Filter by time range. :ivar GetTeamEventsArg.category: Filter the returned events to a single category. Note that category shouldn't be provided together with event_type. :ivar GetTeamEventsArg.event_type: Filter the returned events to a single event type. Note that event_type shouldn't be provided together with category. """ __slots__ = [ "_limit_value", "_account_id_value", "_time_value", "_category_value", "_event_type_value", ] _has_required_fields = False def __init__(self, limit=None, account_id=None, time=None, category=None, event_type=None): self._limit_value = bb.NOT_SET self._account_id_value = bb.NOT_SET self._time_value = bb.NOT_SET self._category_value = bb.NOT_SET self._event_type_value = bb.NOT_SET 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 if event_type is not None: self.event_type = event_type # Instance attribute type: int (validator is set below) limit = bb.Attribute("limit") # Instance attribute type: str (validator is set below) account_id = bb.Attribute("account_id", nullable=True) # Instance attribute type: team_common.TimeRange (validator is set below) time = bb.Attribute("time", nullable=True, user_defined=True) # Instance attribute type: EventCategory (validator is set below) category = bb.Attribute("category", nullable=True, user_defined=True) # Instance attribute type: EventTypeArg (validator is set below) event_type = bb.Attribute("event_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTeamEventsArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTeamEventsArg_validator = bv.Struct(GetTeamEventsArg) class GetTeamEventsContinueArg(bb.Struct): """ :ivar GetTeamEventsContinueArg.cursor: Indicates from what point to get the next set of events. """ __slots__ = [ "_cursor_value", ] _has_required_fields = True def __init__(self, cursor=None): self._cursor_value = bb.NOT_SET if cursor is not None: self.cursor = cursor # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTeamEventsContinueArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTeamEventsContinueArg_validator = bv.Struct(GetTeamEventsContinueArg) class GetTeamEventsContinueError(bb.Union): """ Errors that can be raised when calling :meth:`dropbox.dropbox_client.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 GetTeamEventsContinueError.bad_cursor: Bad cursor. :ivar 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 :meth:`dropbox.dropbox_client.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_client.Dropbox.team_log_get_events` to obtain a new cursor. :vartype GetTeamEventsContinueError.reset: datetime.datetime """ _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_client.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_client.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 ) GetTeamEventsContinueError_validator = bv.Union(GetTeamEventsContinueError) class GetTeamEventsError(bb.Union): """ Errors that can be raised when calling :meth:`dropbox.dropbox_client.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 GetTeamEventsError.account_id_not_found: No user found matching the provided account_id. :ivar GetTeamEventsError.invalid_time_range: Invalid time range. :ivar GetTeamEventsError.invalid_filters: Invalid filters. Do not specify both event_type and category parameters for the same call. """ _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 invalid_filters = 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_invalid_filters(self): """ Check if the union tag is ``invalid_filters``. :rtype: bool """ return self._tag == "invalid_filters" 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 ) GetTeamEventsError_validator = bv.Union(GetTeamEventsError) class GetTeamEventsResult(bb.Struct): """ :ivar GetTeamEventsResult.events: List of events. Note that events are not guaranteed to be sorted by their timestamp value. :ivar GetTeamEventsResult.cursor: Pass the cursor into :meth:`dropbox.dropbox_client.Dropbox.team_log_get_events_continue` to obtain additional events. The value of ``cursor`` may change for each response from :meth:`dropbox.dropbox_client.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 GetTeamEventsResult.has_more: Is true if there may be additional events that have not been returned yet. An additional call to :meth:`dropbox.dropbox_client.Dropbox.team_log_get_events_continue` can retrieve them. Note that ``has_more`` may be ``True``, even if ``events`` is empty. """ __slots__ = [ "_events_value", "_cursor_value", "_has_more_value", ] _has_required_fields = True def __init__(self, events=None, cursor=None, has_more=None): self._events_value = bb.NOT_SET self._cursor_value = bb.NOT_SET self._has_more_value = bb.NOT_SET 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 # Instance attribute type: list of [TeamEvent] (validator is set below) events = bb.Attribute("events") # Instance attribute type: str (validator is set below) cursor = bb.Attribute("cursor") # Instance attribute type: bool (validator is set below) has_more = bb.Attribute("has_more") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetTeamEventsResult, self)._process_custom_annotations( annotation_type, field_path, processor ) GetTeamEventsResult_validator = bv.Struct(GetTeamEventsResult) class GoogleSsoChangePolicyDetails(bb.Struct): """ Enabled/disabled Google single sign-on for team. :ivar GoogleSsoChangePolicyDetails.new_value: New Google single sign-on policy. :ivar GoogleSsoChangePolicyDetails.previous_value: Previous Google single sign-on policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: GoogleSsoPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: GoogleSsoPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GoogleSsoChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GoogleSsoChangePolicyDetails_validator = bv.Struct(GoogleSsoChangePolicyDetails) class GoogleSsoChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GoogleSsoChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) GoogleSsoPolicy_validator = bv.Union(GoogleSsoPolicy) class GovernancePolicyAddFolderFailedDetails(bb.Struct): """ Couldn't add a folder to a policy. :ivar GovernancePolicyAddFolderFailedDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyAddFolderFailedDetails.name: Policy name. :ivar GovernancePolicyAddFolderFailedDetails.policy_type: Policy type. :ivar GovernancePolicyAddFolderFailedDetails.folder: Folder. :ivar GovernancePolicyAddFolderFailedDetails.reason: Reason. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_folder_value", "_reason_value", ] _has_required_fields = True def __init__( self, governance_policy_id=None, name=None, folder=None, policy_type=None, reason=None, ): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._folder_value = bb.NOT_SET self._reason_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if folder is not None: self.folder = folder if reason is not None: self.reason = reason # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) folder = bb.Attribute("folder") # Instance attribute type: str (validator is set below) reason = bb.Attribute("reason", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyAddFolderFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyAddFolderFailedDetails_validator = bv.Struct(GovernancePolicyAddFolderFailedDetails) class GovernancePolicyAddFolderFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyAddFolderFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyAddFolderFailedType_validator = bv.Struct(GovernancePolicyAddFolderFailedType) class GovernancePolicyAddFoldersDetails(bb.Struct): """ Added folders to policy. :ivar GovernancePolicyAddFoldersDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyAddFoldersDetails.name: Policy name. :ivar GovernancePolicyAddFoldersDetails.policy_type: Policy type. :ivar GovernancePolicyAddFoldersDetails.folders: Folders. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_folders_value", ] _has_required_fields = True def __init__(self, governance_policy_id=None, name=None, policy_type=None, folders=None): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._folders_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if folders is not None: self.folders = folders # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: list of [str] (validator is set below) folders = bb.Attribute("folders", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyAddFoldersDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyAddFoldersDetails_validator = bv.Struct(GovernancePolicyAddFoldersDetails) class GovernancePolicyAddFoldersType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyAddFoldersType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyAddFoldersType_validator = bv.Struct(GovernancePolicyAddFoldersType) class GovernancePolicyContentDisposedDetails(bb.Struct): """ Content disposed. :ivar GovernancePolicyContentDisposedDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyContentDisposedDetails.name: Policy name. :ivar GovernancePolicyContentDisposedDetails.policy_type: Policy type. :ivar GovernancePolicyContentDisposedDetails.disposition_type: Disposition type. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_disposition_type_value", ] _has_required_fields = True def __init__( self, governance_policy_id=None, name=None, disposition_type=None, policy_type=None, ): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._disposition_type_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if disposition_type is not None: self.disposition_type = disposition_type # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: DispositionActionType (validator is set below) disposition_type = bb.Attribute("disposition_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyContentDisposedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyContentDisposedDetails_validator = bv.Struct(GovernancePolicyContentDisposedDetails) class GovernancePolicyContentDisposedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyContentDisposedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyContentDisposedType_validator = bv.Struct(GovernancePolicyContentDisposedType) class GovernancePolicyCreateDetails(bb.Struct): """ Activated a new policy. :ivar GovernancePolicyCreateDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyCreateDetails.name: Policy name. :ivar GovernancePolicyCreateDetails.policy_type: Policy type. :ivar GovernancePolicyCreateDetails.duration: Duration in days. :ivar GovernancePolicyCreateDetails.folders: Folders. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_duration_value", "_folders_value", ] _has_required_fields = True def __init__( self, governance_policy_id=None, name=None, duration=None, policy_type=None, folders=None, ): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._duration_value = bb.NOT_SET self._folders_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if duration is not None: self.duration = duration if folders is not None: self.folders = folders # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: DurationLogInfo (validator is set below) duration = bb.Attribute("duration", user_defined=True) # Instance attribute type: list of [str] (validator is set below) folders = bb.Attribute("folders", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyCreateDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyCreateDetails_validator = bv.Struct(GovernancePolicyCreateDetails) class GovernancePolicyCreateType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyCreateType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyCreateType_validator = bv.Struct(GovernancePolicyCreateType) class GovernancePolicyDeleteDetails(bb.Struct): """ Deleted a policy. :ivar GovernancePolicyDeleteDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyDeleteDetails.name: Policy name. :ivar GovernancePolicyDeleteDetails.policy_type: Policy type. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", ] _has_required_fields = True def __init__(self, governance_policy_id=None, name=None, policy_type=None): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyDeleteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyDeleteDetails_validator = bv.Struct(GovernancePolicyDeleteDetails) class GovernancePolicyDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyDeleteType_validator = bv.Struct(GovernancePolicyDeleteType) class GovernancePolicyEditDetailsDetails(bb.Struct): """ Edited policy. :ivar GovernancePolicyEditDetailsDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyEditDetailsDetails.name: Policy name. :ivar GovernancePolicyEditDetailsDetails.policy_type: Policy type. :ivar GovernancePolicyEditDetailsDetails.attribute: Attribute. :ivar GovernancePolicyEditDetailsDetails.previous_value: From. :ivar GovernancePolicyEditDetailsDetails.new_value: To. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_attribute_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__( self, governance_policy_id=None, name=None, attribute=None, previous_value=None, new_value=None, policy_type=None, ): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._attribute_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if attribute is not None: self.attribute = attribute if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) attribute = bb.Attribute("attribute") # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyEditDetailsDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyEditDetailsDetails_validator = bv.Struct(GovernancePolicyEditDetailsDetails) class GovernancePolicyEditDetailsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyEditDetailsType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyEditDetailsType_validator = bv.Struct(GovernancePolicyEditDetailsType) class GovernancePolicyEditDurationDetails(bb.Struct): """ Changed policy duration. :ivar GovernancePolicyEditDurationDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyEditDurationDetails.name: Policy name. :ivar GovernancePolicyEditDurationDetails.policy_type: Policy type. :ivar GovernancePolicyEditDurationDetails.previous_value: From. :ivar GovernancePolicyEditDurationDetails.new_value: To. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__( self, governance_policy_id=None, name=None, previous_value=None, new_value=None, policy_type=None, ): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: DurationLogInfo (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: DurationLogInfo (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyEditDurationDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyEditDurationDetails_validator = bv.Struct(GovernancePolicyEditDurationDetails) class GovernancePolicyEditDurationType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyEditDurationType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyEditDurationType_validator = bv.Struct(GovernancePolicyEditDurationType) class GovernancePolicyExportCreatedDetails(bb.Struct): """ Created a policy download. :ivar GovernancePolicyExportCreatedDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyExportCreatedDetails.name: Policy name. :ivar GovernancePolicyExportCreatedDetails.policy_type: Policy type. :ivar GovernancePolicyExportCreatedDetails.export_name: Export name. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_export_name_value", ] _has_required_fields = True def __init__(self, governance_policy_id=None, name=None, export_name=None, policy_type=None): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._export_name_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if export_name is not None: self.export_name = export_name # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) export_name = bb.Attribute("export_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyExportCreatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyExportCreatedDetails_validator = bv.Struct(GovernancePolicyExportCreatedDetails) class GovernancePolicyExportCreatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyExportCreatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyExportCreatedType_validator = bv.Struct(GovernancePolicyExportCreatedType) class GovernancePolicyExportRemovedDetails(bb.Struct): """ Removed a policy download. :ivar GovernancePolicyExportRemovedDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyExportRemovedDetails.name: Policy name. :ivar GovernancePolicyExportRemovedDetails.policy_type: Policy type. :ivar GovernancePolicyExportRemovedDetails.export_name: Export name. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_export_name_value", ] _has_required_fields = True def __init__(self, governance_policy_id=None, name=None, export_name=None, policy_type=None): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._export_name_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if export_name is not None: self.export_name = export_name # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) export_name = bb.Attribute("export_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyExportRemovedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyExportRemovedDetails_validator = bv.Struct(GovernancePolicyExportRemovedDetails) class GovernancePolicyExportRemovedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyExportRemovedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyExportRemovedType_validator = bv.Struct(GovernancePolicyExportRemovedType) class GovernancePolicyRemoveFoldersDetails(bb.Struct): """ Removed folders from policy. :ivar GovernancePolicyRemoveFoldersDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyRemoveFoldersDetails.name: Policy name. :ivar GovernancePolicyRemoveFoldersDetails.policy_type: Policy type. :ivar GovernancePolicyRemoveFoldersDetails.folders: Folders. :ivar GovernancePolicyRemoveFoldersDetails.reason: Reason. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_folders_value", "_reason_value", ] _has_required_fields = True def __init__( self, governance_policy_id=None, name=None, policy_type=None, folders=None, reason=None, ): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._folders_value = bb.NOT_SET self._reason_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if folders is not None: self.folders = folders if reason is not None: self.reason = reason # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: list of [str] (validator is set below) folders = bb.Attribute("folders", nullable=True) # Instance attribute type: str (validator is set below) reason = bb.Attribute("reason", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyRemoveFoldersDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyRemoveFoldersDetails_validator = bv.Struct(GovernancePolicyRemoveFoldersDetails) class GovernancePolicyRemoveFoldersType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyRemoveFoldersType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyRemoveFoldersType_validator = bv.Struct(GovernancePolicyRemoveFoldersType) class GovernancePolicyReportCreatedDetails(bb.Struct): """ Created a summary report for a policy. :ivar GovernancePolicyReportCreatedDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyReportCreatedDetails.name: Policy name. :ivar GovernancePolicyReportCreatedDetails.policy_type: Policy type. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", ] _has_required_fields = True def __init__(self, governance_policy_id=None, name=None, policy_type=None): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyReportCreatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyReportCreatedDetails_validator = bv.Struct(GovernancePolicyReportCreatedDetails) class GovernancePolicyReportCreatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyReportCreatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyReportCreatedType_validator = bv.Struct(GovernancePolicyReportCreatedType) class GovernancePolicyZipPartDownloadedDetails(bb.Struct): """ Downloaded content from a policy. :ivar GovernancePolicyZipPartDownloadedDetails.governance_policy_id: Policy ID. :ivar GovernancePolicyZipPartDownloadedDetails.name: Policy name. :ivar GovernancePolicyZipPartDownloadedDetails.policy_type: Policy type. :ivar GovernancePolicyZipPartDownloadedDetails.export_name: Export name. :ivar GovernancePolicyZipPartDownloadedDetails.part: Part. """ __slots__ = [ "_governance_policy_id_value", "_name_value", "_policy_type_value", "_export_name_value", "_part_value", ] _has_required_fields = True def __init__( self, governance_policy_id=None, name=None, export_name=None, policy_type=None, part=None, ): self._governance_policy_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._policy_type_value = bb.NOT_SET self._export_name_value = bb.NOT_SET self._part_value = bb.NOT_SET if governance_policy_id is not None: self.governance_policy_id = governance_policy_id if name is not None: self.name = name if policy_type is not None: self.policy_type = policy_type if export_name is not None: self.export_name = export_name if part is not None: self.part = part # Instance attribute type: str (validator is set below) governance_policy_id = bb.Attribute("governance_policy_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: PolicyType (validator is set below) policy_type = bb.Attribute("policy_type", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) export_name = bb.Attribute("export_name") # Instance attribute type: str (validator is set below) part = bb.Attribute("part", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyZipPartDownloadedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyZipPartDownloadedDetails_validator = bv.Struct( GovernancePolicyZipPartDownloadedDetails ) class GovernancePolicyZipPartDownloadedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GovernancePolicyZipPartDownloadedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GovernancePolicyZipPartDownloadedType_validator = bv.Struct(GovernancePolicyZipPartDownloadedType) class GroupAddExternalIdDetails(bb.Struct): """ Added external ID for group. :ivar GroupAddExternalIdDetails.new_value: Current external id. """ __slots__ = [ "_new_value_value", ] _has_required_fields = True def __init__(self, new_value=None): self._new_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupAddExternalIdDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupAddExternalIdDetails_validator = bv.Struct(GroupAddExternalIdDetails) class GroupAddExternalIdType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupAddExternalIdType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupAddExternalIdType_validator = bv.Struct(GroupAddExternalIdType) class GroupAddMemberDetails(bb.Struct): """ Added team members to group. :ivar GroupAddMemberDetails.is_group_owner: Is group owner. """ __slots__ = [ "_is_group_owner_value", ] _has_required_fields = True def __init__(self, is_group_owner=None): self._is_group_owner_value = bb.NOT_SET if is_group_owner is not None: self.is_group_owner = is_group_owner # Instance attribute type: bool (validator is set below) is_group_owner = bb.Attribute("is_group_owner") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupAddMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupAddMemberDetails_validator = bv.Struct(GroupAddMemberDetails) class GroupAddMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupAddMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupAddMemberType_validator = bv.Struct(GroupAddMemberType) class GroupChangeExternalIdDetails(bb.Struct): """ Changed external ID for group. :ivar GroupChangeExternalIdDetails.new_value: Current external id. :ivar GroupChangeExternalIdDetails.previous_value: Old external id. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupChangeExternalIdDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupChangeExternalIdDetails_validator = bv.Struct(GroupChangeExternalIdDetails) class GroupChangeExternalIdType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupChangeExternalIdType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupChangeExternalIdType_validator = bv.Struct(GroupChangeExternalIdType) class GroupChangeManagementTypeDetails(bb.Struct): """ Changed group management type. :ivar GroupChangeManagementTypeDetails.new_value: New group management type. :ivar GroupChangeManagementTypeDetails.previous_value: Previous group management type. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_common.GroupManagementType (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team_common.GroupManagementType (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupChangeManagementTypeDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupChangeManagementTypeDetails_validator = bv.Struct(GroupChangeManagementTypeDetails) class GroupChangeManagementTypeType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupChangeManagementTypeType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupChangeManagementTypeType_validator = bv.Struct(GroupChangeManagementTypeType) class GroupChangeMemberRoleDetails(bb.Struct): """ Changed manager permissions of group member. :ivar GroupChangeMemberRoleDetails.is_group_owner: Is group owner. """ __slots__ = [ "_is_group_owner_value", ] _has_required_fields = True def __init__(self, is_group_owner=None): self._is_group_owner_value = bb.NOT_SET if is_group_owner is not None: self.is_group_owner = is_group_owner # Instance attribute type: bool (validator is set below) is_group_owner = bb.Attribute("is_group_owner") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupChangeMemberRoleDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupChangeMemberRoleDetails_validator = bv.Struct(GroupChangeMemberRoleDetails) class GroupChangeMemberRoleType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupChangeMemberRoleType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupChangeMemberRoleType_validator = bv.Struct(GroupChangeMemberRoleType) class GroupCreateDetails(bb.Struct): """ Created group. :ivar GroupCreateDetails.is_company_managed: Is company managed group. :ivar GroupCreateDetails.join_policy: Group join policy. """ __slots__ = [ "_is_company_managed_value", "_join_policy_value", ] _has_required_fields = False def __init__(self, is_company_managed=None, join_policy=None): self._is_company_managed_value = bb.NOT_SET self._join_policy_value = bb.NOT_SET 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 # Instance attribute type: bool (validator is set below) is_company_managed = bb.Attribute("is_company_managed", nullable=True) # Instance attribute type: GroupJoinPolicy (validator is set below) join_policy = bb.Attribute("join_policy", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupCreateDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupCreateDetails_validator = bv.Struct(GroupCreateDetails) class GroupCreateType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupCreateType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupCreateType_validator = bv.Struct(GroupCreateType) class GroupDeleteDetails(bb.Struct): """ Deleted group. :ivar GroupDeleteDetails.is_company_managed: Is company managed group. """ __slots__ = [ "_is_company_managed_value", ] _has_required_fields = False def __init__(self, is_company_managed=None): self._is_company_managed_value = bb.NOT_SET if is_company_managed is not None: self.is_company_managed = is_company_managed # Instance attribute type: bool (validator is set below) is_company_managed = bb.Attribute("is_company_managed", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupDeleteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupDeleteDetails_validator = bv.Struct(GroupDeleteDetails) class GroupDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) GroupDescriptionUpdatedDetails_validator = bv.Struct(GroupDescriptionUpdatedDetails) class GroupDescriptionUpdatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupDescriptionUpdatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupDescriptionUpdatedType_validator = bv.Struct(GroupDescriptionUpdatedType) class GroupExternalSharingSettingOverrideChangedDetails(bb.Struct): """ Changed group's external sharing setting. :ivar GroupExternalSharingSettingOverrideChangedDetails.new_value: New external sharing setting. :ivar GroupExternalSharingSettingOverrideChangedDetails.previous_value: Previous external sharing setting. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ExternalSharingSetting (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ExternalSharingSetting (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupExternalSharingSettingOverrideChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupExternalSharingSettingOverrideChangedDetails_validator = bv.Struct( GroupExternalSharingSettingOverrideChangedDetails ) class GroupExternalSharingSettingOverrideChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupExternalSharingSettingOverrideChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupExternalSharingSettingOverrideChangedType_validator = bv.Struct( GroupExternalSharingSettingOverrideChangedType ) 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 ) GroupJoinPolicy_validator = bv.Union(GroupJoinPolicy) class GroupJoinPolicyUpdatedDetails(bb.Struct): """ Updated group join policy. :ivar GroupJoinPolicyUpdatedDetails.is_company_managed: Is company managed group. :ivar GroupJoinPolicyUpdatedDetails.join_policy: Group join policy. """ __slots__ = [ "_is_company_managed_value", "_join_policy_value", ] _has_required_fields = False def __init__(self, is_company_managed=None, join_policy=None): self._is_company_managed_value = bb.NOT_SET self._join_policy_value = bb.NOT_SET 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 # Instance attribute type: bool (validator is set below) is_company_managed = bb.Attribute("is_company_managed", nullable=True) # Instance attribute type: GroupJoinPolicy (validator is set below) join_policy = bb.Attribute("join_policy", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupJoinPolicyUpdatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupJoinPolicyUpdatedDetails_validator = bv.Struct(GroupJoinPolicyUpdatedDetails) class GroupJoinPolicyUpdatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupJoinPolicyUpdatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupJoinPolicyUpdatedType_validator = bv.Struct(GroupJoinPolicyUpdatedType) class GroupLogInfo(bb.Struct): """ Group's logged information. :ivar GroupLogInfo.group_id: The unique id of this group. :ivar GroupLogInfo.display_name: The name of this group. :ivar GroupLogInfo.external_id: External group ID. """ __slots__ = [ "_group_id_value", "_display_name_value", "_external_id_value", ] _has_required_fields = True def __init__(self, display_name=None, group_id=None, external_id=None): self._group_id_value = bb.NOT_SET self._display_name_value = bb.NOT_SET self._external_id_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) group_id = bb.Attribute("group_id", nullable=True) # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name") # Instance attribute type: str (validator is set below) external_id = bb.Attribute("external_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) GroupMovedDetails_validator = bv.Struct(GroupMovedDetails) class GroupMovedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupMovedType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupMovedType_validator = bv.Struct(GroupMovedType) class GroupRemoveExternalIdDetails(bb.Struct): """ Removed external ID for group. :ivar GroupRemoveExternalIdDetails.previous_value: Old external id. """ __slots__ = [ "_previous_value_value", ] _has_required_fields = True def __init__(self, previous_value=None): self._previous_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupRemoveExternalIdDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupRemoveExternalIdDetails_validator = bv.Struct(GroupRemoveExternalIdDetails) class GroupRemoveExternalIdType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupRemoveExternalIdType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) GroupRemoveMemberDetails_validator = bv.Struct(GroupRemoveMemberDetails) class GroupRemoveMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupRemoveMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupRemoveMemberType_validator = bv.Struct(GroupRemoveMemberType) class GroupRenameDetails(bb.Struct): """ Renamed group. :ivar GroupRenameDetails.previous_value: Previous display name. :ivar GroupRenameDetails.new_value: New display name. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupRenameDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupRenameDetails_validator = bv.Struct(GroupRenameDetails) class GroupRenameType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupRenameType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupRenameType_validator = bv.Struct(GroupRenameType) class GroupUserManagementChangePolicyDetails(bb.Struct): """ Changed who can create groups. :ivar GroupUserManagementChangePolicyDetails.new_value: New group users management policy. :ivar GroupUserManagementChangePolicyDetails.previous_value: Previous group users management policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.GroupCreation (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team_policies.GroupCreation (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupUserManagementChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupUserManagementChangePolicyDetails_validator = bv.Struct(GroupUserManagementChangePolicyDetails) class GroupUserManagementChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GroupUserManagementChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) GroupUserManagementChangePolicyType_validator = bv.Struct(GroupUserManagementChangePolicyType) class GuestAdminChangeStatusDetails(bb.Struct): """ Changed guest team admin status. :ivar GuestAdminChangeStatusDetails.is_guest: True for guest, false for host. :ivar GuestAdminChangeStatusDetails.guest_team_name: The name of the guest team. :ivar GuestAdminChangeStatusDetails.host_team_name: The name of the host team. :ivar GuestAdminChangeStatusDetails.previous_value: Previous request state. :ivar GuestAdminChangeStatusDetails.new_value: New request state. :ivar GuestAdminChangeStatusDetails.action_details: Action details. """ __slots__ = [ "_is_guest_value", "_guest_team_name_value", "_host_team_name_value", "_previous_value_value", "_new_value_value", "_action_details_value", ] _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 = bb.NOT_SET self._guest_team_name_value = bb.NOT_SET self._host_team_name_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET self._action_details_value = bb.NOT_SET 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 # Instance attribute type: bool (validator is set below) is_guest = bb.Attribute("is_guest") # Instance attribute type: str (validator is set below) guest_team_name = bb.Attribute("guest_team_name", nullable=True) # Instance attribute type: str (validator is set below) host_team_name = bb.Attribute("host_team_name", nullable=True) # Instance attribute type: TrustedTeamsRequestState (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: TrustedTeamsRequestState (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: TrustedTeamsRequestAction (validator is set below) action_details = bb.Attribute("action_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GuestAdminChangeStatusDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GuestAdminChangeStatusDetails_validator = bv.Struct(GuestAdminChangeStatusDetails) class GuestAdminChangeStatusType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GuestAdminChangeStatusType, self)._process_custom_annotations( annotation_type, field_path, processor ) GuestAdminChangeStatusType_validator = bv.Struct(GuestAdminChangeStatusType) class GuestAdminSignedInViaTrustedTeamsDetails(bb.Struct): """ Started trusted team admin session. :ivar GuestAdminSignedInViaTrustedTeamsDetails.team_name: Host team name. :ivar GuestAdminSignedInViaTrustedTeamsDetails.trusted_team_name: Trusted team name. """ __slots__ = [ "_team_name_value", "_trusted_team_name_value", ] _has_required_fields = False def __init__(self, team_name=None, trusted_team_name=None): self._team_name_value = bb.NOT_SET self._trusted_team_name_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) team_name = bb.Attribute("team_name", nullable=True) # Instance attribute type: str (validator is set below) trusted_team_name = bb.Attribute("trusted_team_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GuestAdminSignedInViaTrustedTeamsDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GuestAdminSignedInViaTrustedTeamsDetails_validator = bv.Struct( GuestAdminSignedInViaTrustedTeamsDetails ) class GuestAdminSignedInViaTrustedTeamsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GuestAdminSignedInViaTrustedTeamsType, self)._process_custom_annotations( annotation_type, field_path, processor ) GuestAdminSignedInViaTrustedTeamsType_validator = bv.Struct(GuestAdminSignedInViaTrustedTeamsType) class GuestAdminSignedOutViaTrustedTeamsDetails(bb.Struct): """ Ended trusted team admin session. :ivar GuestAdminSignedOutViaTrustedTeamsDetails.team_name: Host team name. :ivar GuestAdminSignedOutViaTrustedTeamsDetails.trusted_team_name: Trusted team name. """ __slots__ = [ "_team_name_value", "_trusted_team_name_value", ] _has_required_fields = False def __init__(self, team_name=None, trusted_team_name=None): self._team_name_value = bb.NOT_SET self._trusted_team_name_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) team_name = bb.Attribute("team_name", nullable=True) # Instance attribute type: str (validator is set below) trusted_team_name = bb.Attribute("trusted_team_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(GuestAdminSignedOutViaTrustedTeamsDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) GuestAdminSignedOutViaTrustedTeamsDetails_validator = bv.Struct( GuestAdminSignedOutViaTrustedTeamsDetails ) class GuestAdminSignedOutViaTrustedTeamsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GuestAdminSignedOutViaTrustedTeamsType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) IdentifierType_validator = bv.Union(IdentifierType) class IntegrationConnectedDetails(bb.Struct): """ Connected integration for member. :ivar IntegrationConnectedDetails.integration_name: Name of the third-party integration. """ __slots__ = [ "_integration_name_value", ] _has_required_fields = True def __init__(self, integration_name=None): self._integration_name_value = bb.NOT_SET if integration_name is not None: self.integration_name = integration_name # Instance attribute type: str (validator is set below) integration_name = bb.Attribute("integration_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(IntegrationConnectedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) IntegrationConnectedDetails_validator = bv.Struct(IntegrationConnectedDetails) class IntegrationConnectedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(IntegrationConnectedType, self)._process_custom_annotations( annotation_type, field_path, processor ) IntegrationConnectedType_validator = bv.Struct(IntegrationConnectedType) class IntegrationDisconnectedDetails(bb.Struct): """ Disconnected integration for member. :ivar IntegrationDisconnectedDetails.integration_name: Name of the third-party integration. """ __slots__ = [ "_integration_name_value", ] _has_required_fields = True def __init__(self, integration_name=None): self._integration_name_value = bb.NOT_SET if integration_name is not None: self.integration_name = integration_name # Instance attribute type: str (validator is set below) integration_name = bb.Attribute("integration_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(IntegrationDisconnectedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) IntegrationDisconnectedDetails_validator = bv.Struct(IntegrationDisconnectedDetails) class IntegrationDisconnectedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(IntegrationDisconnectedType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) IntegrationPolicy_validator = bv.Union(IntegrationPolicy) class IntegrationPolicyChangedDetails(bb.Struct): """ Changed integration policy for team. :ivar IntegrationPolicyChangedDetails.integration_name: Name of the third-party integration. :ivar IntegrationPolicyChangedDetails.new_value: New integration policy. :ivar IntegrationPolicyChangedDetails.previous_value: Previous integration policy. """ __slots__ = [ "_integration_name_value", "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, integration_name=None, new_value=None, previous_value=None): self._integration_name_value = bb.NOT_SET self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) integration_name = bb.Attribute("integration_name") # Instance attribute type: IntegrationPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: IntegrationPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(IntegrationPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) IntegrationPolicyChangedDetails_validator = bv.Struct(IntegrationPolicyChangedDetails) class IntegrationPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(IntegrationPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) IntegrationPolicyChangedType_validator = bv.Struct(IntegrationPolicyChangedType) class InviteAcceptanceEmailPolicy(bb.Union): """ Policy for deciding whether team admins receive email when an invitation to join the team is accepted This class acts as a tagged union. Only 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(InviteAcceptanceEmailPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) InviteAcceptanceEmailPolicy_validator = bv.Union(InviteAcceptanceEmailPolicy) class InviteAcceptanceEmailPolicyChangedDetails(bb.Struct): """ Changed invite accept email policy for team. :ivar InviteAcceptanceEmailPolicyChangedDetails.new_value: To. :ivar InviteAcceptanceEmailPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: InviteAcceptanceEmailPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: InviteAcceptanceEmailPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(InviteAcceptanceEmailPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) InviteAcceptanceEmailPolicyChangedDetails_validator = bv.Struct( InviteAcceptanceEmailPolicyChangedDetails ) class InviteAcceptanceEmailPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(InviteAcceptanceEmailPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) InviteAcceptanceEmailPolicyChangedType_validator = bv.Struct(InviteAcceptanceEmailPolicyChangedType) class InviteMethod(bb.Union): """ This class acts as a tagged union. Only 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_approve = None # Attribute is overwritten below the class definition invite_link = None # Attribute is overwritten below the class definition member_invite = None # Attribute is overwritten below the class definition moved_from_another_team = None # Attribute is overwritten below the class definition other = None def is_auto_approve(self): """ Check if the union tag is ``auto_approve``. :rtype: bool """ return self._tag == "auto_approve" def is_invite_link(self): """ Check if the union tag is ``invite_link``. :rtype: bool """ return self._tag == "invite_link" def is_member_invite(self): """ Check if the union tag is ``member_invite``. :rtype: bool """ return self._tag == "member_invite" def is_moved_from_another_team(self): """ Check if the union tag is ``moved_from_another_team``. :rtype: bool """ return self._tag == "moved_from_another_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(InviteMethod, self)._process_custom_annotations( annotation_type, field_path, processor ) InviteMethod_validator = bv.Union(InviteMethod) class JoinTeamDetails(bb.Struct): """ Additional information relevant when a new member joins the team. :ivar JoinTeamDetails.linked_apps: Field is deprecated. Linked applications. (Deprecated) Please use has_linked_apps boolean field instead. :ivar JoinTeamDetails.linked_devices: Field is deprecated. Linked devices. (Deprecated) Please use has_linked_devices boolean field instead. :ivar JoinTeamDetails.linked_shared_folders: Field is deprecated. Linked shared folders. (Deprecated) Please use has_linked_shared_folders boolean field instead. :ivar JoinTeamDetails.was_linked_apps_truncated: Field is deprecated. (Deprecated) True if the linked_apps list was truncated to the maximum supported length (50). :ivar JoinTeamDetails.was_linked_devices_truncated: Field is deprecated. (Deprecated) True if the linked_devices list was truncated to the maximum supported length (50). :ivar JoinTeamDetails.was_linked_shared_folders_truncated: Field is deprecated. (Deprecated) True if the linked_shared_folders list was truncated to the maximum supported length (50). :ivar JoinTeamDetails.has_linked_apps: True if the user had linked apps at event time. :ivar JoinTeamDetails.has_linked_devices: True if the user had linked apps at event time. :ivar JoinTeamDetails.has_linked_shared_folders: True if the user had linked shared folders at event time. """ __slots__ = [ "_linked_apps_value", "_linked_devices_value", "_linked_shared_folders_value", "_was_linked_apps_truncated_value", "_was_linked_devices_truncated_value", "_was_linked_shared_folders_truncated_value", "_has_linked_apps_value", "_has_linked_devices_value", "_has_linked_shared_folders_value", ] _has_required_fields = True def __init__( self, linked_apps=None, linked_devices=None, linked_shared_folders=None, was_linked_apps_truncated=None, was_linked_devices_truncated=None, was_linked_shared_folders_truncated=None, has_linked_apps=None, has_linked_devices=None, has_linked_shared_folders=None, ): self._linked_apps_value = bb.NOT_SET self._linked_devices_value = bb.NOT_SET self._linked_shared_folders_value = bb.NOT_SET self._was_linked_apps_truncated_value = bb.NOT_SET self._was_linked_devices_truncated_value = bb.NOT_SET self._was_linked_shared_folders_truncated_value = bb.NOT_SET self._has_linked_apps_value = bb.NOT_SET self._has_linked_devices_value = bb.NOT_SET self._has_linked_shared_folders_value = bb.NOT_SET 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 if was_linked_apps_truncated is not None: self.was_linked_apps_truncated = was_linked_apps_truncated if was_linked_devices_truncated is not None: self.was_linked_devices_truncated = was_linked_devices_truncated if was_linked_shared_folders_truncated is not None: self.was_linked_shared_folders_truncated = was_linked_shared_folders_truncated if has_linked_apps is not None: self.has_linked_apps = has_linked_apps if has_linked_devices is not None: self.has_linked_devices = has_linked_devices if has_linked_shared_folders is not None: self.has_linked_shared_folders = has_linked_shared_folders # Instance attribute type: list of [UserLinkedAppLogInfo] (validator is set below) linked_apps = bb.Attribute("linked_apps") # Instance attribute type: list of [LinkedDeviceLogInfo] (validator is set below) linked_devices = bb.Attribute("linked_devices") # Instance attribute type: list of [FolderLogInfo] (validator is set below) linked_shared_folders = bb.Attribute("linked_shared_folders") # Instance attribute type: bool (validator is set below) was_linked_apps_truncated = bb.Attribute("was_linked_apps_truncated", nullable=True) # Instance attribute type: bool (validator is set below) was_linked_devices_truncated = bb.Attribute("was_linked_devices_truncated", nullable=True) # Instance attribute type: bool (validator is set below) was_linked_shared_folders_truncated = bb.Attribute( "was_linked_shared_folders_truncated", nullable=True ) # Instance attribute type: bool (validator is set below) has_linked_apps = bb.Attribute("has_linked_apps", nullable=True) # Instance attribute type: bool (validator is set below) has_linked_devices = bb.Attribute("has_linked_devices", nullable=True) # Instance attribute type: bool (validator is set below) has_linked_shared_folders = bb.Attribute("has_linked_shared_folders", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(JoinTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) JoinTeamDetails_validator = bv.Struct(JoinTeamDetails) class LabelType(bb.Union): """ Label 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 personal_information = None # Attribute is overwritten below the class definition test_only = None # Attribute is overwritten below the class definition user_defined_tag = None # Attribute is overwritten below the class definition other = None def is_personal_information(self): """ Check if the union tag is ``personal_information``. :rtype: bool """ return self._tag == "personal_information" def is_test_only(self): """ Check if the union tag is ``test_only``. :rtype: bool """ return self._tag == "test_only" def is_user_defined_tag(self): """ Check if the union tag is ``user_defined_tag``. :rtype: bool """ return self._tag == "user_defined_tag" 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(LabelType, self)._process_custom_annotations(annotation_type, field_path, processor) LabelType_validator = bv.Union(LabelType) class LegacyDeviceSessionLogInfo(DeviceSessionLogInfo): """ Information on sessions, in legacy format :ivar LegacyDeviceSessionLogInfo.session_info: Session unique id. :ivar LegacyDeviceSessionLogInfo.display_name: The device name. Might be missing due to historical data gap. :ivar LegacyDeviceSessionLogInfo.is_emm_managed: Is device managed by emm. Might be missing due to historical data gap. :ivar LegacyDeviceSessionLogInfo.platform: Information on the hosting platform. Might be missing due to historical data gap. :ivar LegacyDeviceSessionLogInfo.mac_address: The mac address of the last activity from this session. Might be missing due to historical data gap. :ivar LegacyDeviceSessionLogInfo.os_version: The hosting OS version. Might be missing due to historical data gap. :ivar LegacyDeviceSessionLogInfo.device_type: Information on the hosting device type. Might be missing due to historical data gap. :ivar LegacyDeviceSessionLogInfo.client_version: The Dropbox client version. Might be missing due to historical data gap. :ivar 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", "_display_name_value", "_is_emm_managed_value", "_platform_value", "_mac_address_value", "_os_version_value", "_device_type_value", "_client_version_value", "_legacy_uniq_id_value", ] _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 = bb.NOT_SET self._display_name_value = bb.NOT_SET self._is_emm_managed_value = bb.NOT_SET self._platform_value = bb.NOT_SET self._mac_address_value = bb.NOT_SET self._os_version_value = bb.NOT_SET self._device_type_value = bb.NOT_SET self._client_version_value = bb.NOT_SET self._legacy_uniq_id_value = bb.NOT_SET 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 # Instance attribute type: SessionLogInfo (validator is set below) session_info = bb.Attribute("session_info", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name", nullable=True) # Instance attribute type: bool (validator is set below) is_emm_managed = bb.Attribute("is_emm_managed", nullable=True) # Instance attribute type: str (validator is set below) platform = bb.Attribute("platform", nullable=True) # Instance attribute type: str (validator is set below) mac_address = bb.Attribute("mac_address", nullable=True) # Instance attribute type: str (validator is set below) os_version = bb.Attribute("os_version", nullable=True) # Instance attribute type: str (validator is set below) device_type = bb.Attribute("device_type", nullable=True) # Instance attribute type: str (validator is set below) client_version = bb.Attribute("client_version", nullable=True) # Instance attribute type: str (validator is set below) legacy_uniq_id = bb.Attribute("legacy_uniq_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegacyDeviceSessionLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) LegacyDeviceSessionLogInfo_validator = bv.Struct(LegacyDeviceSessionLogInfo) class LegalHoldsActivateAHoldDetails(bb.Struct): """ Activated a hold. :ivar LegalHoldsActivateAHoldDetails.legal_hold_id: Hold ID. :ivar LegalHoldsActivateAHoldDetails.name: Hold name. :ivar LegalHoldsActivateAHoldDetails.start_date: Hold start date. :ivar LegalHoldsActivateAHoldDetails.end_date: Hold end date. """ __slots__ = [ "_legal_hold_id_value", "_name_value", "_start_date_value", "_end_date_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None, start_date=None, end_date=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._start_date_value = bb.NOT_SET self._end_date_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name if start_date is not None: self.start_date = start_date if end_date is not None: self.end_date = end_date # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: datetime.datetime (validator is set below) start_date = bb.Attribute("start_date") # Instance attribute type: datetime.datetime (validator is set below) end_date = bb.Attribute("end_date", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsActivateAHoldDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsActivateAHoldDetails_validator = bv.Struct(LegalHoldsActivateAHoldDetails) class LegalHoldsActivateAHoldType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsActivateAHoldType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsActivateAHoldType_validator = bv.Struct(LegalHoldsActivateAHoldType) class LegalHoldsAddMembersDetails(bb.Struct): """ Added members to a hold. :ivar LegalHoldsAddMembersDetails.legal_hold_id: Hold ID. :ivar LegalHoldsAddMembersDetails.name: Hold name. """ __slots__ = [ "_legal_hold_id_value", "_name_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsAddMembersDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsAddMembersDetails_validator = bv.Struct(LegalHoldsAddMembersDetails) class LegalHoldsAddMembersType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsAddMembersType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsAddMembersType_validator = bv.Struct(LegalHoldsAddMembersType) class LegalHoldsChangeHoldDetailsDetails(bb.Struct): """ Edited details for a hold. :ivar LegalHoldsChangeHoldDetailsDetails.legal_hold_id: Hold ID. :ivar LegalHoldsChangeHoldDetailsDetails.name: Hold name. :ivar LegalHoldsChangeHoldDetailsDetails.previous_value: Previous details. :ivar LegalHoldsChangeHoldDetailsDetails.new_value: New details. """ __slots__ = [ "_legal_hold_id_value", "_name_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None, previous_value=None, new_value=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsChangeHoldDetailsDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsChangeHoldDetailsDetails_validator = bv.Struct(LegalHoldsChangeHoldDetailsDetails) class LegalHoldsChangeHoldDetailsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsChangeHoldDetailsType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsChangeHoldDetailsType_validator = bv.Struct(LegalHoldsChangeHoldDetailsType) class LegalHoldsChangeHoldNameDetails(bb.Struct): """ Renamed a hold. :ivar LegalHoldsChangeHoldNameDetails.legal_hold_id: Hold ID. :ivar LegalHoldsChangeHoldNameDetails.previous_value: Previous Name. :ivar LegalHoldsChangeHoldNameDetails.new_value: New Name. """ __slots__ = [ "_legal_hold_id_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, previous_value=None, new_value=None): self._legal_hold_id_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsChangeHoldNameDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsChangeHoldNameDetails_validator = bv.Struct(LegalHoldsChangeHoldNameDetails) class LegalHoldsChangeHoldNameType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsChangeHoldNameType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsChangeHoldNameType_validator = bv.Struct(LegalHoldsChangeHoldNameType) class LegalHoldsExportAHoldDetails(bb.Struct): """ Exported hold. :ivar LegalHoldsExportAHoldDetails.legal_hold_id: Hold ID. :ivar LegalHoldsExportAHoldDetails.name: Hold name. :ivar LegalHoldsExportAHoldDetails.export_name: Export name. """ __slots__ = [ "_legal_hold_id_value", "_name_value", "_export_name_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None, export_name=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._export_name_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name if export_name is not None: self.export_name = export_name # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) export_name = bb.Attribute("export_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsExportAHoldDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsExportAHoldDetails_validator = bv.Struct(LegalHoldsExportAHoldDetails) class LegalHoldsExportAHoldType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsExportAHoldType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsExportAHoldType_validator = bv.Struct(LegalHoldsExportAHoldType) class LegalHoldsExportCancelledDetails(bb.Struct): """ Canceled export for a hold. :ivar LegalHoldsExportCancelledDetails.legal_hold_id: Hold ID. :ivar LegalHoldsExportCancelledDetails.name: Hold name. :ivar LegalHoldsExportCancelledDetails.export_name: Export name. """ __slots__ = [ "_legal_hold_id_value", "_name_value", "_export_name_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None, export_name=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._export_name_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name if export_name is not None: self.export_name = export_name # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) export_name = bb.Attribute("export_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsExportCancelledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsExportCancelledDetails_validator = bv.Struct(LegalHoldsExportCancelledDetails) class LegalHoldsExportCancelledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsExportCancelledType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsExportCancelledType_validator = bv.Struct(LegalHoldsExportCancelledType) class LegalHoldsExportDownloadedDetails(bb.Struct): """ Downloaded export for a hold. :ivar LegalHoldsExportDownloadedDetails.legal_hold_id: Hold ID. :ivar LegalHoldsExportDownloadedDetails.name: Hold name. :ivar LegalHoldsExportDownloadedDetails.export_name: Export name. :ivar LegalHoldsExportDownloadedDetails.part: Part. :ivar LegalHoldsExportDownloadedDetails.file_name: Filename. """ __slots__ = [ "_legal_hold_id_value", "_name_value", "_export_name_value", "_part_value", "_file_name_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None, export_name=None, part=None, file_name=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._export_name_value = bb.NOT_SET self._part_value = bb.NOT_SET self._file_name_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name if export_name is not None: self.export_name = export_name if part is not None: self.part = part if file_name is not None: self.file_name = file_name # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) export_name = bb.Attribute("export_name") # Instance attribute type: str (validator is set below) part = bb.Attribute("part", nullable=True) # Instance attribute type: str (validator is set below) file_name = bb.Attribute("file_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsExportDownloadedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsExportDownloadedDetails_validator = bv.Struct(LegalHoldsExportDownloadedDetails) class LegalHoldsExportDownloadedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsExportDownloadedType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsExportDownloadedType_validator = bv.Struct(LegalHoldsExportDownloadedType) class LegalHoldsExportRemovedDetails(bb.Struct): """ Removed export for a hold. :ivar LegalHoldsExportRemovedDetails.legal_hold_id: Hold ID. :ivar LegalHoldsExportRemovedDetails.name: Hold name. :ivar LegalHoldsExportRemovedDetails.export_name: Export name. """ __slots__ = [ "_legal_hold_id_value", "_name_value", "_export_name_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None, export_name=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET self._export_name_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name if export_name is not None: self.export_name = export_name # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: str (validator is set below) export_name = bb.Attribute("export_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsExportRemovedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsExportRemovedDetails_validator = bv.Struct(LegalHoldsExportRemovedDetails) class LegalHoldsExportRemovedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsExportRemovedType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsExportRemovedType_validator = bv.Struct(LegalHoldsExportRemovedType) class LegalHoldsReleaseAHoldDetails(bb.Struct): """ Released a hold. :ivar LegalHoldsReleaseAHoldDetails.legal_hold_id: Hold ID. :ivar LegalHoldsReleaseAHoldDetails.name: Hold name. """ __slots__ = [ "_legal_hold_id_value", "_name_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsReleaseAHoldDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsReleaseAHoldDetails_validator = bv.Struct(LegalHoldsReleaseAHoldDetails) class LegalHoldsReleaseAHoldType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsReleaseAHoldType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsReleaseAHoldType_validator = bv.Struct(LegalHoldsReleaseAHoldType) class LegalHoldsRemoveMembersDetails(bb.Struct): """ Removed members from a hold. :ivar LegalHoldsRemoveMembersDetails.legal_hold_id: Hold ID. :ivar LegalHoldsRemoveMembersDetails.name: Hold name. """ __slots__ = [ "_legal_hold_id_value", "_name_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsRemoveMembersDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsRemoveMembersDetails_validator = bv.Struct(LegalHoldsRemoveMembersDetails) class LegalHoldsRemoveMembersType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsRemoveMembersType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsRemoveMembersType_validator = bv.Struct(LegalHoldsRemoveMembersType) class LegalHoldsReportAHoldDetails(bb.Struct): """ Created a summary report for a hold. :ivar LegalHoldsReportAHoldDetails.legal_hold_id: Hold ID. :ivar LegalHoldsReportAHoldDetails.name: Hold name. """ __slots__ = [ "_legal_hold_id_value", "_name_value", ] _has_required_fields = True def __init__(self, legal_hold_id=None, name=None): self._legal_hold_id_value = bb.NOT_SET self._name_value = bb.NOT_SET if legal_hold_id is not None: self.legal_hold_id = legal_hold_id if name is not None: self.name = name # Instance attribute type: str (validator is set below) legal_hold_id = bb.Attribute("legal_hold_id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsReportAHoldDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsReportAHoldDetails_validator = bv.Struct(LegalHoldsReportAHoldDetails) class LegalHoldsReportAHoldType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LegalHoldsReportAHoldType, self)._process_custom_annotations( annotation_type, field_path, processor ) LegalHoldsReportAHoldType_validator = bv.Struct(LegalHoldsReportAHoldType) class LinkSettingsLogInfo(bb.Struct): """ Link Settings :ivar LinkSettingsLogInfo.name: Link Name. :ivar LinkSettingsLogInfo.require_email: Email Required. :ivar LinkSettingsLogInfo.downloadable: Downloadable. :ivar LinkSettingsLogInfo.expire_at: Expires at. :ivar LinkSettingsLogInfo.password_required: Password required. :ivar LinkSettingsLogInfo.url: Link URL. """ __slots__ = [ "_name_value", "_require_email_value", "_downloadable_value", "_expire_at_value", "_password_required_value", "_url_value", ] _has_required_fields = True def __init__( self, name=None, require_email=None, downloadable=None, password_required=None, url=None, expire_at=None, ): self._name_value = bb.NOT_SET self._require_email_value = bb.NOT_SET self._downloadable_value = bb.NOT_SET self._expire_at_value = bb.NOT_SET self._password_required_value = bb.NOT_SET self._url_value = bb.NOT_SET if name is not None: self.name = name if require_email is not None: self.require_email = require_email if downloadable is not None: self.downloadable = downloadable if expire_at is not None: self.expire_at = expire_at if password_required is not None: self.password_required = password_required if url is not None: self.url = url # Instance attribute type: str (validator is set below) name = bb.Attribute("name") # Instance attribute type: bool (validator is set below) require_email = bb.Attribute("require_email") # Instance attribute type: bool (validator is set below) downloadable = bb.Attribute("downloadable") # Instance attribute type: datetime.datetime (validator is set below) expire_at = bb.Attribute("expire_at", nullable=True) # Instance attribute type: bool (validator is set below) password_required = bb.Attribute("password_required") # Instance attribute type: str (validator is set below) url = bb.Attribute("url") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LinkSettingsLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) LinkSettingsLogInfo_validator = bv.Struct(LinkSettingsLogInfo) 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 LinkedDeviceLogInfo.desktop_device_session: desktop device session's details. :vartype LinkedDeviceLogInfo.desktop_device_session: DesktopDeviceSessionLogInfo :ivar LinkedDeviceLogInfo.legacy_device_session: legacy device session's details. :vartype LinkedDeviceLogInfo.legacy_device_session: LegacyDeviceSessionLogInfo :ivar LinkedDeviceLogInfo.mobile_device_session: mobile device session's details. :vartype LinkedDeviceLogInfo.mobile_device_session: MobileDeviceSessionLogInfo :ivar LinkedDeviceLogInfo.web_device_session: web device session's details. :vartype LinkedDeviceLogInfo.web_device_session: WebDeviceSessionLogInfo """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @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 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) @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 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) 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_legacy_device_session(self): """ Check if the union tag is ``legacy_device_session``. :rtype: bool """ return self._tag == "legacy_device_session" 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_web_device_session(self): """ Check if the union tag is ``web_device_session``. :rtype: bool """ return self._tag == "web_device_session" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" 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_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 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_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 _process_custom_annotations(self, annotation_type, field_path, processor): super(LinkedDeviceLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) LinkedDeviceLogInfo_validator = bv.Union(LinkedDeviceLogInfo) class LockStatus(bb.Union): """ File lock 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. """ _catch_all = "other" # Attribute is overwritten below the class definition locked = None # Attribute is overwritten below the class definition unlocked = None # Attribute is overwritten below the class definition other = None def is_locked(self): """ Check if the union tag is ``locked``. :rtype: bool """ return self._tag == "locked" def is_unlocked(self): """ Check if the union tag is ``unlocked``. :rtype: bool """ return self._tag == "unlocked" 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(LockStatus, self)._process_custom_annotations(annotation_type, field_path, processor) LockStatus_validator = bv.Union(LockStatus) class LoginFailDetails(bb.Struct): """ Failed to sign in. :ivar LoginFailDetails.is_emm_managed: Tells if the login device is EMM managed. Might be missing due to historical data gap. :ivar LoginFailDetails.login_method: Login method. :ivar LoginFailDetails.error_details: Error details. """ __slots__ = [ "_is_emm_managed_value", "_login_method_value", "_error_details_value", ] _has_required_fields = True def __init__(self, login_method=None, error_details=None, is_emm_managed=None): self._is_emm_managed_value = bb.NOT_SET self._login_method_value = bb.NOT_SET self._error_details_value = bb.NOT_SET 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 # Instance attribute type: bool (validator is set below) is_emm_managed = bb.Attribute("is_emm_managed", nullable=True) # Instance attribute type: LoginMethod (validator is set below) login_method = bb.Attribute("login_method", user_defined=True) # Instance attribute type: FailureDetailsLogInfo (validator is set below) error_details = bb.Attribute("error_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LoginFailDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LoginFailDetails_validator = bv.Struct(LoginFailDetails) class LoginFailType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LoginFailType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 apple_oauth = None # Attribute is overwritten below the class definition first_party_token_exchange = None # Attribute is overwritten below the class definition google_oauth = None # Attribute is overwritten below the class definition kakao_oauth = None # Attribute is overwritten below the class definition lenovo_oauth = None # Attribute is overwritten below the class definition passkey = None # Attribute is overwritten below the class definition password = None # Attribute is overwritten below the class definition qr_code = None # Attribute is overwritten below the class definition saml = None # Attribute is overwritten below the class definition two_factor_authentication = None # Attribute is overwritten below the class definition web_session = None # Attribute is overwritten below the class definition microsoft_oauth = None # Attribute is overwritten below the class definition other = None def is_apple_oauth(self): """ Check if the union tag is ``apple_oauth``. :rtype: bool """ return self._tag == "apple_oauth" def is_first_party_token_exchange(self): """ Check if the union tag is ``first_party_token_exchange``. :rtype: bool """ return self._tag == "first_party_token_exchange" def is_google_oauth(self): """ Check if the union tag is ``google_oauth``. :rtype: bool """ return self._tag == "google_oauth" def is_kakao_oauth(self): """ Check if the union tag is ``kakao_oauth``. :rtype: bool """ return self._tag == "kakao_oauth" def is_lenovo_oauth(self): """ Check if the union tag is ``lenovo_oauth``. :rtype: bool """ return self._tag == "lenovo_oauth" def is_passkey(self): """ Check if the union tag is ``passkey``. :rtype: bool """ return self._tag == "passkey" def is_password(self): """ Check if the union tag is ``password``. :rtype: bool """ return self._tag == "password" def is_qr_code(self): """ Check if the union tag is ``qr_code``. :rtype: bool """ return self._tag == "qr_code" def is_saml(self): """ Check if the union tag is ``saml``. :rtype: bool """ return self._tag == "saml" 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_web_session(self): """ Check if the union tag is ``web_session``. :rtype: bool """ return self._tag == "web_session" def is_microsoft_oauth(self): """ Check if the union tag is ``microsoft_oauth``. :rtype: bool """ return self._tag == "microsoft_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) LoginMethod_validator = bv.Union(LoginMethod) class LoginSuccessDetails(bb.Struct): """ Signed in. :ivar LoginSuccessDetails.is_emm_managed: Tells if the login device is EMM managed. Might be missing due to historical data gap. :ivar LoginSuccessDetails.login_method: Login method. """ __slots__ = [ "_is_emm_managed_value", "_login_method_value", ] _has_required_fields = True def __init__(self, login_method=None, is_emm_managed=None): self._is_emm_managed_value = bb.NOT_SET self._login_method_value = bb.NOT_SET 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 # Instance attribute type: bool (validator is set below) is_emm_managed = bb.Attribute("is_emm_managed", nullable=True) # Instance attribute type: LoginMethod (validator is set below) login_method = bb.Attribute("login_method", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LoginSuccessDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LoginSuccessDetails_validator = bv.Struct(LoginSuccessDetails) class LoginSuccessType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LoginSuccessType, self)._process_custom_annotations( annotation_type, field_path, processor ) LoginSuccessType_validator = bv.Struct(LoginSuccessType) class LogoutDetails(bb.Struct): """ Signed out. :ivar LogoutDetails.login_id: Login session id. """ __slots__ = [ "_login_id_value", ] _has_required_fields = False def __init__(self, login_id=None): self._login_id_value = bb.NOT_SET if login_id is not None: self.login_id = login_id # Instance attribute type: str (validator is set below) login_id = bb.Attribute("login_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(LogoutDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) LogoutDetails_validator = bv.Struct(LogoutDetails) class LogoutType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(LogoutType, self)._process_custom_annotations(annotation_type, field_path, processor) LogoutType_validator = bv.Struct(LogoutType) class MalwareExclusionState(bb.Struct): """ Malware exclusion list state :ivar MalwareExclusionState.excluded_file_hashes_count: The number of files that are excluded from the monitoring for malware alerts. :ivar MalwareExclusionState.file_path_from_last_exclusion: The file path of the last exclusion operation. :ivar MalwareExclusionState.file_path_from_last_inclusion: The file path of the last inclusion operation. """ __slots__ = [ "_excluded_file_hashes_count_value", "_file_path_from_last_exclusion_value", "_file_path_from_last_inclusion_value", ] _has_required_fields = True def __init__( self, excluded_file_hashes_count=None, file_path_from_last_exclusion=None, file_path_from_last_inclusion=None, ): self._excluded_file_hashes_count_value = bb.NOT_SET self._file_path_from_last_exclusion_value = bb.NOT_SET self._file_path_from_last_inclusion_value = bb.NOT_SET if excluded_file_hashes_count is not None: self.excluded_file_hashes_count = excluded_file_hashes_count if file_path_from_last_exclusion is not None: self.file_path_from_last_exclusion = file_path_from_last_exclusion if file_path_from_last_inclusion is not None: self.file_path_from_last_inclusion = file_path_from_last_inclusion # Instance attribute type: int (validator is set below) excluded_file_hashes_count = bb.Attribute("excluded_file_hashes_count") # Instance attribute type: str (validator is set below) file_path_from_last_exclusion = bb.Attribute("file_path_from_last_exclusion", nullable=True) # Instance attribute type: str (validator is set below) file_path_from_last_inclusion = bb.Attribute("file_path_from_last_inclusion", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MalwareExclusionState, self)._process_custom_annotations( annotation_type, field_path, processor ) MalwareExclusionState_validator = bv.Struct(MalwareExclusionState) class MediaHubAddingPeoplePolicy(bb.Union): """ Policy for deciding who can be added to Media Hub 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. """ _catch_all = "other" # Attribute is overwritten below the class definition anyone = None # Attribute is overwritten below the class definition team_only = 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_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(MediaHubAddingPeoplePolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubAddingPeoplePolicy_validator = bv.Union(MediaHubAddingPeoplePolicy) class MediaHubAddingPeoplePolicyChangedDetails(bb.Struct): """ Changed the policy for adding people to Media Hub content. :ivar MediaHubAddingPeoplePolicyChangedDetails.new_value: To. :ivar MediaHubAddingPeoplePolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: MediaHubAddingPeoplePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: MediaHubAddingPeoplePolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubAddingPeoplePolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubAddingPeoplePolicyChangedDetails_validator = bv.Struct( MediaHubAddingPeoplePolicyChangedDetails ) class MediaHubAddingPeoplePolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubAddingPeoplePolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubAddingPeoplePolicyChangedType_validator = bv.Struct(MediaHubAddingPeoplePolicyChangedType) class MediaHubDownloadPolicy(bb.Union): """ Policy for deciding whether Media Hub content can be downloaded This class acts as a tagged union. Only 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(MediaHubDownloadPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubDownloadPolicy_validator = bv.Union(MediaHubDownloadPolicy) class MediaHubDownloadPolicyChangedDetails(bb.Struct): """ Changed the policy for downloading Media Hub content. :ivar MediaHubDownloadPolicyChangedDetails.new_value: To. :ivar MediaHubDownloadPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: MediaHubDownloadPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: MediaHubDownloadPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubDownloadPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubDownloadPolicyChangedDetails_validator = bv.Struct(MediaHubDownloadPolicyChangedDetails) class MediaHubDownloadPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubDownloadPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubDownloadPolicyChangedType_validator = bv.Struct(MediaHubDownloadPolicyChangedType) class MediaHubFileDownloadedDetails(bb.Struct): """ Downloaded files in Media Hub. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubFileDownloadedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubFileDownloadedDetails_validator = bv.Struct(MediaHubFileDownloadedDetails) class MediaHubFileDownloadedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubFileDownloadedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubFileDownloadedType_validator = bv.Struct(MediaHubFileDownloadedType) class MediaHubLinkSharingPolicy(bb.Union): """ Policy for deciding who Media Hub content can be shared with through 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. """ _catch_all = "other" # Attribute is overwritten below the class definition no_one = 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_no_one(self): """ Check if the union tag is ``no_one``. :rtype: bool """ return self._tag == "no_one" 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(MediaHubLinkSharingPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubLinkSharingPolicy_validator = bv.Union(MediaHubLinkSharingPolicy) class MediaHubLinkSharingPolicyChangedDetails(bb.Struct): """ Changed the policy for sharing Media Hub content. :ivar MediaHubLinkSharingPolicyChangedDetails.new_value: To. :ivar MediaHubLinkSharingPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: MediaHubLinkSharingPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: MediaHubLinkSharingPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubLinkSharingPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubLinkSharingPolicyChangedDetails_validator = bv.Struct( MediaHubLinkSharingPolicyChangedDetails ) class MediaHubLinkSharingPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubLinkSharingPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubLinkSharingPolicyChangedType_validator = bv.Struct(MediaHubLinkSharingPolicyChangedType) class MediaHubProjectRole(bb.Union): """ Media Hub project role This class acts as a tagged union. Only 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 editor = None # Attribute is overwritten below the class definition owner = None # Attribute is overwritten below the class definition reviewer = None # Attribute is overwritten below the class definition other = None def is_editor(self): """ Check if the union tag is ``editor``. :rtype: bool """ return self._tag == "editor" def is_owner(self): """ Check if the union tag is ``owner``. :rtype: bool """ return self._tag == "owner" def is_reviewer(self): """ Check if the union tag is ``reviewer``. :rtype: bool """ return self._tag == "reviewer" 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(MediaHubProjectRole, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubProjectRole_validator = bv.Union(MediaHubProjectRole) class MediaHubProjectTeamAddDetails(bb.Struct): """ Added member to Media Hub project. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubProjectTeamAddDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubProjectTeamAddDetails_validator = bv.Struct(MediaHubProjectTeamAddDetails) class MediaHubProjectTeamAddType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubProjectTeamAddType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubProjectTeamAddType_validator = bv.Struct(MediaHubProjectTeamAddType) class MediaHubProjectTeamDeleteDetails(bb.Struct): """ Removed member from Media Hub project. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubProjectTeamDeleteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubProjectTeamDeleteDetails_validator = bv.Struct(MediaHubProjectTeamDeleteDetails) class MediaHubProjectTeamDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubProjectTeamDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubProjectTeamDeleteType_validator = bv.Struct(MediaHubProjectTeamDeleteType) class MediaHubProjectTeamRoleChangedDetails(bb.Struct): """ Changed member role in Media Hub project. :ivar MediaHubProjectTeamRoleChangedDetails.previous_role: Previous Media Hub project role. :ivar MediaHubProjectTeamRoleChangedDetails.new_role: New Media Hub project role. """ __slots__ = [ "_previous_role_value", "_new_role_value", ] _has_required_fields = True def __init__(self, previous_role=None, new_role=None): self._previous_role_value = bb.NOT_SET self._new_role_value = bb.NOT_SET if previous_role is not None: self.previous_role = previous_role if new_role is not None: self.new_role = new_role # Instance attribute type: MediaHubProjectRole (validator is set below) previous_role = bb.Attribute("previous_role", user_defined=True) # Instance attribute type: MediaHubProjectRole (validator is set below) new_role = bb.Attribute("new_role", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubProjectTeamRoleChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubProjectTeamRoleChangedDetails_validator = bv.Struct(MediaHubProjectTeamRoleChangedDetails) class MediaHubProjectTeamRoleChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubProjectTeamRoleChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubProjectTeamRoleChangedType_validator = bv.Struct(MediaHubProjectTeamRoleChangedType) class MediaHubSharedLinkAudience(bb.Union): """ Media Hub shared link audience This class acts as a tagged union. Only 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 no_one = 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_no_one(self): """ Check if the union tag is ``no_one``. :rtype: bool """ return self._tag == "no_one" 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(MediaHubSharedLinkAudience, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkAudience_validator = bv.Union(MediaHubSharedLinkAudience) class MediaHubSharedLinkAudienceChangedDetails(bb.Struct): """ Changed Media Hub shared link audience. :ivar MediaHubSharedLinkAudienceChangedDetails.target_type: Media Hub shared link target type. :ivar MediaHubSharedLinkAudienceChangedDetails.previous_value: Previous Media Hub shared link audience. :ivar MediaHubSharedLinkAudienceChangedDetails.new_value: New Media Hub shared link audience. """ __slots__ = [ "_target_type_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, target_type=None, previous_value=None, new_value=None): self._target_type_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if target_type is not None: self.target_type = target_type if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: MediaHubSharedLinkTargetType (validator is set below) target_type = bb.Attribute("target_type", user_defined=True) # Instance attribute type: MediaHubSharedLinkAudience (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: MediaHubSharedLinkAudience (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubSharedLinkAudienceChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkAudienceChangedDetails_validator = bv.Struct( MediaHubSharedLinkAudienceChangedDetails ) class MediaHubSharedLinkAudienceChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubSharedLinkAudienceChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkAudienceChangedType_validator = bv.Struct(MediaHubSharedLinkAudienceChangedType) class MediaHubSharedLinkCreatedDetails(bb.Struct): """ Created Media Hub shared link. :ivar MediaHubSharedLinkCreatedDetails.target_type: Media Hub shared link target type. :ivar MediaHubSharedLinkCreatedDetails.audience: Media Hub shared link audience. """ __slots__ = [ "_target_type_value", "_audience_value", ] _has_required_fields = True def __init__(self, target_type=None, audience=None): self._target_type_value = bb.NOT_SET self._audience_value = bb.NOT_SET if target_type is not None: self.target_type = target_type if audience is not None: self.audience = audience # Instance attribute type: MediaHubSharedLinkTargetType (validator is set below) target_type = bb.Attribute("target_type", user_defined=True) # Instance attribute type: MediaHubSharedLinkAudience (validator is set below) audience = bb.Attribute("audience", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubSharedLinkCreatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkCreatedDetails_validator = bv.Struct(MediaHubSharedLinkCreatedDetails) class MediaHubSharedLinkCreatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubSharedLinkCreatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkCreatedType_validator = bv.Struct(MediaHubSharedLinkCreatedType) class MediaHubSharedLinkDownloadSetting(bb.Union): """ Media Hub shared link download setting This class acts as a tagged union. Only 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(MediaHubSharedLinkDownloadSetting, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkDownloadSetting_validator = bv.Union(MediaHubSharedLinkDownloadSetting) class MediaHubSharedLinkDownloadSettingChangedDetails(bb.Struct): """ Changed Media Hub shared link download setting. :ivar MediaHubSharedLinkDownloadSettingChangedDetails.target_type: Media Hub shared link target type. :ivar MediaHubSharedLinkDownloadSettingChangedDetails.previous_value: Previous Media Hub shared link download setting. :ivar MediaHubSharedLinkDownloadSettingChangedDetails.new_value: New Media Hub shared link download setting. """ __slots__ = [ "_target_type_value", "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, target_type=None, previous_value=None, new_value=None): self._target_type_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if target_type is not None: self.target_type = target_type if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: MediaHubSharedLinkTargetType (validator is set below) target_type = bb.Attribute("target_type", user_defined=True) # Instance attribute type: MediaHubSharedLinkDownloadSetting (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: MediaHubSharedLinkDownloadSetting (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubSharedLinkDownloadSettingChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkDownloadSettingChangedDetails_validator = bv.Struct( MediaHubSharedLinkDownloadSettingChangedDetails ) class MediaHubSharedLinkDownloadSettingChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubSharedLinkDownloadSettingChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkDownloadSettingChangedType_validator = bv.Struct( MediaHubSharedLinkDownloadSettingChangedType ) class MediaHubSharedLinkRevokedDetails(bb.Struct): """ Revoked Media Hub shared link. :ivar MediaHubSharedLinkRevokedDetails.target_type: Media Hub shared link target type. """ __slots__ = [ "_target_type_value", ] _has_required_fields = True def __init__(self, target_type=None): self._target_type_value = bb.NOT_SET if target_type is not None: self.target_type = target_type # Instance attribute type: MediaHubSharedLinkTargetType (validator is set below) target_type = bb.Attribute("target_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubSharedLinkRevokedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkRevokedDetails_validator = bv.Struct(MediaHubSharedLinkRevokedDetails) class MediaHubSharedLinkRevokedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MediaHubSharedLinkRevokedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkRevokedType_validator = bv.Struct(MediaHubSharedLinkRevokedType) class MediaHubSharedLinkTargetType(bb.Union): """ Media Hub shared link target 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 bundle = None # Attribute is overwritten below the class definition project = None # Attribute is overwritten below the class definition other = None def is_bundle(self): """ Check if the union tag is ``bundle``. :rtype: bool """ return self._tag == "bundle" def is_project(self): """ Check if the union tag is ``project``. :rtype: bool """ return self._tag == "project" 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(MediaHubSharedLinkTargetType, self)._process_custom_annotations( annotation_type, field_path, processor ) MediaHubSharedLinkTargetType_validator = bv.Union(MediaHubSharedLinkTargetType) class MemberAccessDetailsCreateReportDetails(bb.Struct): """ Created member access report. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAccessDetailsCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAccessDetailsCreateReportDetails_validator = bv.Struct(MemberAccessDetailsCreateReportDetails) class MemberAccessDetailsCreateReportFailedDetails(bb.Struct): """ Couldn't generate member access report. :ivar MemberAccessDetailsCreateReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAccessDetailsCreateReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAccessDetailsCreateReportFailedDetails_validator = bv.Struct( MemberAccessDetailsCreateReportFailedDetails ) class MemberAccessDetailsCreateReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAccessDetailsCreateReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAccessDetailsCreateReportFailedType_validator = bv.Struct( MemberAccessDetailsCreateReportFailedType ) class MemberAccessDetailsCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAccessDetailsCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAccessDetailsCreateReportType_validator = bv.Struct(MemberAccessDetailsCreateReportType) class MemberAddExternalIdDetails(bb.Struct): """ Added an external ID for team member. :ivar MemberAddExternalIdDetails.new_value: Current external id. """ __slots__ = [ "_new_value_value", ] _has_required_fields = True def __init__(self, new_value=None): self._new_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAddExternalIdDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddExternalIdDetails_validator = bv.Struct(MemberAddExternalIdDetails) class MemberAddExternalIdType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAddExternalIdType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddExternalIdType_validator = bv.Struct(MemberAddExternalIdType) class MemberAddNameDetails(bb.Struct): """ Added team member name. :ivar MemberAddNameDetails.new_value: New user's name. """ __slots__ = [ "_new_value_value", ] _has_required_fields = True def __init__(self, new_value=None): self._new_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value # Instance attribute type: UserNameLogInfo (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAddNameDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddNameDetails_validator = bv.Struct(MemberAddNameDetails) class MemberAddNameType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberAddNameType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberAddNameType_validator = bv.Struct(MemberAddNameType) class MemberChangeAdminRoleDetails(bb.Struct): """ Changed team member admin role. :ivar 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 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", "_previous_value_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: AdminRole (validator is set below) new_value = bb.Attribute("new_value", nullable=True, user_defined=True) # Instance attribute type: AdminRole (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeAdminRoleDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeAdminRoleDetails_validator = bv.Struct(MemberChangeAdminRoleDetails) class MemberChangeAdminRoleType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeAdminRoleType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeAdminRoleType_validator = bv.Struct(MemberChangeAdminRoleType) class MemberChangeEmailDetails(bb.Struct): """ Changed team member email. :ivar MemberChangeEmailDetails.new_value: New email. :ivar MemberChangeEmailDetails.previous_value: Previous email. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeEmailDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeEmailDetails_validator = bv.Struct(MemberChangeEmailDetails) class MemberChangeEmailType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeEmailType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeEmailType_validator = bv.Struct(MemberChangeEmailType) class MemberChangeExternalIdDetails(bb.Struct): """ Changed the external ID for team member. :ivar MemberChangeExternalIdDetails.new_value: Current external id. :ivar MemberChangeExternalIdDetails.previous_value: Old external id. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeExternalIdDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeExternalIdDetails_validator = bv.Struct(MemberChangeExternalIdDetails) class MemberChangeExternalIdType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeExternalIdType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeExternalIdType_validator = bv.Struct(MemberChangeExternalIdType) class MemberChangeMembershipTypeDetails(bb.Struct): """ Changed membership type (limited/full) of member. :ivar MemberChangeMembershipTypeDetails.prev_value: Previous membership type. :ivar MemberChangeMembershipTypeDetails.new_value: New membership type. """ __slots__ = [ "_prev_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, prev_value=None, new_value=None): self._prev_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if prev_value is not None: self.prev_value = prev_value if new_value is not None: self.new_value = new_value # Instance attribute type: TeamMembershipType (validator is set below) prev_value = bb.Attribute("prev_value", user_defined=True) # Instance attribute type: TeamMembershipType (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeMembershipTypeDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeMembershipTypeDetails_validator = bv.Struct(MemberChangeMembershipTypeDetails) class MemberChangeMembershipTypeType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeMembershipTypeType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeMembershipTypeType_validator = bv.Struct(MemberChangeMembershipTypeType) class MemberChangeNameDetails(bb.Struct): """ Changed team member name. :ivar MemberChangeNameDetails.new_value: New user's name. :ivar MemberChangeNameDetails.previous_value: Previous user's name. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: UserNameLogInfo (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: UserNameLogInfo (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeNameDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeNameDetails_validator = bv.Struct(MemberChangeNameDetails) class MemberChangeNameType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeNameType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeNameType_validator = bv.Struct(MemberChangeNameType) class MemberChangeResellerRoleDetails(bb.Struct): """ Changed team member reseller role. :ivar MemberChangeResellerRoleDetails.new_value: New reseller role. This field is relevant when the reseller role is changed. :ivar MemberChangeResellerRoleDetails.previous_value: Previous reseller role. This field is relevant when the reseller role is changed or when the reseller role is removed. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ResellerRole (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ResellerRole (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeResellerRoleDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeResellerRoleDetails_validator = bv.Struct(MemberChangeResellerRoleDetails) class MemberChangeResellerRoleType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeResellerRoleType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeResellerRoleType_validator = bv.Struct(MemberChangeResellerRoleType) class MemberChangeStatusDetails(bb.Struct): """ Changed member status (invited, joined, suspended, etc.). :ivar MemberChangeStatusDetails.previous_value: Previous member status. Might be missing due to historical data gap. :ivar MemberChangeStatusDetails.new_value: New member status. :ivar MemberChangeStatusDetails.action: Additional information indicating the action taken that caused status change. :ivar MemberChangeStatusDetails.new_team: The user's new team name. This field is relevant when the user is transferred off the team. :ivar MemberChangeStatusDetails.previous_team: The user's previous team name. This field is relevant when the user is transferred onto the team. """ __slots__ = [ "_previous_value_value", "_new_value_value", "_action_value", "_new_team_value", "_previous_team_value", ] _has_required_fields = True def __init__( self, new_value=None, previous_value=None, action=None, new_team=None, previous_team=None, ): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET self._action_value = bb.NOT_SET self._new_team_value = bb.NOT_SET self._previous_team_value = bb.NOT_SET 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 if new_team is not None: self.new_team = new_team if previous_team is not None: self.previous_team = previous_team # Instance attribute type: MemberStatus (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) # Instance attribute type: MemberStatus (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ActionDetails (validator is set below) action = bb.Attribute("action", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) new_team = bb.Attribute("new_team", nullable=True) # Instance attribute type: str (validator is set below) previous_team = bb.Attribute("previous_team", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeStatusDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberChangeStatusDetails_validator = bv.Struct(MemberChangeStatusDetails) class MemberChangeStatusType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberChangeStatusType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) MemberDeleteManualContactsDetails_validator = bv.Struct(MemberDeleteManualContactsDetails) class MemberDeleteManualContactsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberDeleteManualContactsType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberDeleteManualContactsType_validator = bv.Struct(MemberDeleteManualContactsType) class MemberDeleteProfilePhotoDetails(bb.Struct): """ Deleted team member profile photo. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberDeleteProfilePhotoDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberDeleteProfilePhotoDetails_validator = bv.Struct(MemberDeleteProfilePhotoDetails) class MemberDeleteProfilePhotoType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberDeleteProfilePhotoType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberDeleteProfilePhotoType_validator = bv.Struct(MemberDeleteProfilePhotoType) 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 ) MemberPermanentlyDeleteAccountContentsDetails_validator = bv.Struct( MemberPermanentlyDeleteAccountContentsDetails ) class MemberPermanentlyDeleteAccountContentsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberPermanentlyDeleteAccountContentsType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 leave = None # Attribute is overwritten below the class definition offboard = 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_leave(self): """ Check if the union tag is ``leave``. :rtype: bool """ return self._tag == "leave" def is_offboard(self): """ Check if the union tag is ``offboard``. :rtype: bool """ return self._tag == "offboard" 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 ) MemberRemoveActionType_validator = bv.Union(MemberRemoveActionType) class MemberRemoveExternalIdDetails(bb.Struct): """ Removed the external ID for team member. :ivar MemberRemoveExternalIdDetails.previous_value: Old external id. """ __slots__ = [ "_previous_value_value", ] _has_required_fields = True def __init__(self, previous_value=None): self._previous_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberRemoveExternalIdDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberRemoveExternalIdDetails_validator = bv.Struct(MemberRemoveExternalIdDetails) class MemberRemoveExternalIdType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberRemoveExternalIdType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberRemoveExternalIdType_validator = bv.Struct(MemberRemoveExternalIdType) class MemberRequestsChangePolicyDetails(bb.Struct): """ Changed whether users can find team when not invited. :ivar MemberRequestsChangePolicyDetails.new_value: New member change requests policy. :ivar MemberRequestsChangePolicyDetails.previous_value: Previous member change requests policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: MemberRequestsPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: MemberRequestsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberRequestsChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberRequestsChangePolicyDetails_validator = bv.Struct(MemberRequestsChangePolicyDetails) class MemberRequestsChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberRequestsChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) MemberRequestsPolicy_validator = bv.Union(MemberRequestsPolicy) class MemberSendInvitePolicy(bb.Union): """ Policy for controlling whether team members can send team invites This class acts as a tagged union. Only 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 everyone = None # Attribute is overwritten below the class definition specific_members = 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_everyone(self): """ Check if the union tag is ``everyone``. :rtype: bool """ return self._tag == "everyone" def is_specific_members(self): """ Check if the union tag is ``specific_members``. :rtype: bool """ return self._tag == "specific_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(MemberSendInvitePolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSendInvitePolicy_validator = bv.Union(MemberSendInvitePolicy) class MemberSendInvitePolicyChangedDetails(bb.Struct): """ Changed member send invite policy for team. :ivar MemberSendInvitePolicyChangedDetails.new_value: New team member send invite policy. :ivar MemberSendInvitePolicyChangedDetails.previous_value: Previous team member send invite policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: MemberSendInvitePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: MemberSendInvitePolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSendInvitePolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSendInvitePolicyChangedDetails_validator = bv.Struct(MemberSendInvitePolicyChangedDetails) class MemberSendInvitePolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSendInvitePolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSendInvitePolicyChangedType_validator = bv.Struct(MemberSendInvitePolicyChangedType) class MemberSetProfilePhotoDetails(bb.Struct): """ Set team member profile photo. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSetProfilePhotoDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSetProfilePhotoDetails_validator = bv.Struct(MemberSetProfilePhotoDetails) class MemberSetProfilePhotoType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSetProfilePhotoType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSetProfilePhotoType_validator = bv.Struct(MemberSetProfilePhotoType) class MemberSpaceLimitsAddCustomQuotaDetails(bb.Struct): """ Set custom member space limit. :ivar MemberSpaceLimitsAddCustomQuotaDetails.new_value: New custom quota value in bytes. """ __slots__ = [ "_new_value_value", ] _has_required_fields = True def __init__(self, new_value=None): self._new_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value # Instance attribute type: int (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsAddCustomQuotaDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSpaceLimitsAddCustomQuotaDetails_validator = bv.Struct(MemberSpaceLimitsAddCustomQuotaDetails) class MemberSpaceLimitsAddCustomQuotaType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsAddCustomQuotaType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) MemberSpaceLimitsAddExceptionDetails_validator = bv.Struct(MemberSpaceLimitsAddExceptionDetails) class MemberSpaceLimitsAddExceptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsAddExceptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSpaceLimitsAddExceptionType_validator = bv.Struct(MemberSpaceLimitsAddExceptionType) class MemberSpaceLimitsChangeCapsTypePolicyDetails(bb.Struct): """ Changed member space limit type for team. :ivar MemberSpaceLimitsChangeCapsTypePolicyDetails.previous_value: Previous space limit type. :ivar MemberSpaceLimitsChangeCapsTypePolicyDetails.new_value: New space limit type. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: SpaceCapsType (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: SpaceCapsType (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsChangeCapsTypePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSpaceLimitsChangeCapsTypePolicyDetails_validator = bv.Struct( MemberSpaceLimitsChangeCapsTypePolicyDetails ) class MemberSpaceLimitsChangeCapsTypePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsChangeCapsTypePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSpaceLimitsChangeCapsTypePolicyType_validator = bv.Struct( MemberSpaceLimitsChangeCapsTypePolicyType ) class MemberSpaceLimitsChangeCustomQuotaDetails(bb.Struct): """ Changed custom member space limit. :ivar MemberSpaceLimitsChangeCustomQuotaDetails.previous_value: Previous custom quota value in bytes. :ivar MemberSpaceLimitsChangeCustomQuotaDetails.new_value: New custom quota value in bytes. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: int (validator is set below) previous_value = bb.Attribute("previous_value") # Instance attribute type: int (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsChangeCustomQuotaDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSpaceLimitsChangeCustomQuotaDetails_validator = bv.Struct( MemberSpaceLimitsChangeCustomQuotaDetails ) class MemberSpaceLimitsChangeCustomQuotaType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsChangeCustomQuotaType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSpaceLimitsChangeCustomQuotaType_validator = bv.Struct(MemberSpaceLimitsChangeCustomQuotaType) class MemberSpaceLimitsChangePolicyDetails(bb.Struct): """ Changed team default member space limit. :ivar MemberSpaceLimitsChangePolicyDetails.previous_value: Previous team default limit value in bytes. Might be missing due to historical data gap. :ivar MemberSpaceLimitsChangePolicyDetails.new_value: New team default limit value in bytes. Might be missing due to historical data gap. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = False def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: int (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) # Instance attribute type: int (validator is set below) new_value = bb.Attribute("new_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSpaceLimitsChangePolicyDetails_validator = bv.Struct(MemberSpaceLimitsChangePolicyDetails) class MemberSpaceLimitsChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSpaceLimitsChangePolicyType_validator = bv.Struct(MemberSpaceLimitsChangePolicyType) class MemberSpaceLimitsChangeStatusDetails(bb.Struct): """ Changed space limit status. :ivar MemberSpaceLimitsChangeStatusDetails.previous_value: Previous storage quota status. :ivar MemberSpaceLimitsChangeStatusDetails.new_value: New storage quota status. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: SpaceLimitsStatus (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: SpaceLimitsStatus (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsChangeStatusDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSpaceLimitsChangeStatusDetails_validator = bv.Struct(MemberSpaceLimitsChangeStatusDetails) class MemberSpaceLimitsChangeStatusType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsChangeStatusType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) MemberSpaceLimitsRemoveCustomQuotaDetails_validator = bv.Struct( MemberSpaceLimitsRemoveCustomQuotaDetails ) class MemberSpaceLimitsRemoveCustomQuotaType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsRemoveCustomQuotaType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) MemberSpaceLimitsRemoveExceptionDetails_validator = bv.Struct( MemberSpaceLimitsRemoveExceptionDetails ) class MemberSpaceLimitsRemoveExceptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSpaceLimitsRemoveExceptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 active = None # Attribute is overwritten below the class definition invited = None # Attribute is overwritten below the class definition moved_to_another_team = None # Attribute is overwritten below the class definition not_joined = None # Attribute is overwritten below the class definition removed = None # Attribute is overwritten below the class definition suspended = 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_invited(self): """ Check if the union tag is ``invited``. :rtype: bool """ return self._tag == "invited" def is_moved_to_another_team(self): """ Check if the union tag is ``moved_to_another_team``. :rtype: bool """ return self._tag == "moved_to_another_team" def is_not_joined(self): """ Check if the union tag is ``not_joined``. :rtype: bool """ return self._tag == "not_joined" def is_removed(self): """ Check if the union tag is ``removed``. :rtype: bool """ return self._tag == "removed" def is_suspended(self): """ Check if the union tag is ``suspended``. :rtype: bool """ return self._tag == "suspended" 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 ) MemberStatus_validator = bv.Union(MemberStatus) class MemberSuggestDetails(bb.Struct): """ Suggested person to add to team. :ivar MemberSuggestDetails.suggested_members: suggested users emails. """ __slots__ = [ "_suggested_members_value", ] _has_required_fields = True def __init__(self, suggested_members=None): self._suggested_members_value = bb.NOT_SET if suggested_members is not None: self.suggested_members = suggested_members # Instance attribute type: list of [str] (validator is set below) suggested_members = bb.Attribute("suggested_members") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSuggestDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSuggestDetails_validator = bv.Struct(MemberSuggestDetails) class MemberSuggestType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSuggestType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSuggestType_validator = bv.Struct(MemberSuggestType) class MemberSuggestionsChangePolicyDetails(bb.Struct): """ Enabled/disabled option for team members to suggest people to add to team. :ivar MemberSuggestionsChangePolicyDetails.new_value: New team member suggestions policy. :ivar MemberSuggestionsChangePolicyDetails.previous_value: Previous team member suggestions policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: MemberSuggestionsPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: MemberSuggestionsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSuggestionsChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberSuggestionsChangePolicyDetails_validator = bv.Struct(MemberSuggestionsChangePolicyDetails) class MemberSuggestionsChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberSuggestionsChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 ) MemberTransferAccountContentsDetails_validator = bv.Struct(MemberTransferAccountContentsDetails) class MemberTransferAccountContentsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberTransferAccountContentsType, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberTransferAccountContentsType_validator = bv.Struct(MemberTransferAccountContentsType) class MemberTransferredInternalFields(bb.Struct): """ Internal only - fields for target team computations :ivar MemberTransferredInternalFields.source_team_id: Internal only - team user was moved from. :ivar MemberTransferredInternalFields.target_team_id: Internal only - team user was moved to. """ __slots__ = [ "_source_team_id_value", "_target_team_id_value", ] _has_required_fields = True def __init__(self, source_team_id=None, target_team_id=None): self._source_team_id_value = bb.NOT_SET self._target_team_id_value = bb.NOT_SET if source_team_id is not None: self.source_team_id = source_team_id if target_team_id is not None: self.target_team_id = target_team_id # Instance attribute type: str (validator is set below) source_team_id = bb.Attribute("source_team_id") # Instance attribute type: str (validator is set below) target_team_id = bb.Attribute("target_team_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MemberTransferredInternalFields, self)._process_custom_annotations( annotation_type, field_path, processor ) MemberTransferredInternalFields_validator = bv.Struct(MemberTransferredInternalFields) class MicrosoftLoginChangePolicyDetails(bb.Struct): """ Enabled/disabled Microsoft login for team. :ivar MicrosoftLoginChangePolicyDetails.new_value: New Microsoft login policy. :ivar MicrosoftLoginChangePolicyDetails.previous_value: Previous Microsoft login policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: MicrosoftLoginPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: MicrosoftLoginPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MicrosoftLoginChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MicrosoftLoginChangePolicyDetails_validator = bv.Struct(MicrosoftLoginChangePolicyDetails) class MicrosoftLoginChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MicrosoftLoginChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) MicrosoftLoginChangePolicyType_validator = bv.Struct(MicrosoftLoginChangePolicyType) class MicrosoftLoginPolicy(bb.Union): """ Microsoft login 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 default = None # 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(MicrosoftLoginPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) MicrosoftLoginPolicy_validator = bv.Union(MicrosoftLoginPolicy) class MicrosoftOfficeAddinChangePolicyDetails(bb.Struct): """ Enabled/disabled Microsoft Office add-in. :ivar MicrosoftOfficeAddinChangePolicyDetails.new_value: New Microsoft Office addin policy. :ivar MicrosoftOfficeAddinChangePolicyDetails.previous_value: Previous Microsoft Office addin policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: MicrosoftOfficeAddinPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: MicrosoftOfficeAddinPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MicrosoftOfficeAddinChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MicrosoftOfficeAddinChangePolicyDetails_validator = bv.Struct( MicrosoftOfficeAddinChangePolicyDetails ) class MicrosoftOfficeAddinChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MicrosoftOfficeAddinChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 MissingDetails.source_event_fields: All the data that could be retrieved and converted from the source event. """ __slots__ = [ "_source_event_fields_value", ] _has_required_fields = False def __init__(self, source_event_fields=None): self._source_event_fields_value = bb.NOT_SET if source_event_fields is not None: self.source_event_fields = source_event_fields # Instance attribute type: str (validator is set below) source_event_fields = bb.Attribute("source_event_fields", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MissingDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MissingDetails_validator = bv.Struct(MissingDetails) class MobileDeviceSessionLogInfo(DeviceSessionLogInfo): """ Information about linked Dropbox mobile client sessions :ivar MobileDeviceSessionLogInfo.session_info: Mobile session unique id. :ivar MobileDeviceSessionLogInfo.device_name: The device name. :ivar MobileDeviceSessionLogInfo.client_type: The mobile application type. :ivar MobileDeviceSessionLogInfo.client_version: The Dropbox client version. :ivar MobileDeviceSessionLogInfo.os_version: The hosting OS version. :ivar MobileDeviceSessionLogInfo.last_carrier: last carrier used by the device. """ __slots__ = [ "_session_info_value", "_device_name_value", "_client_type_value", "_client_version_value", "_os_version_value", "_last_carrier_value", ] _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 = bb.NOT_SET self._device_name_value = bb.NOT_SET self._client_type_value = bb.NOT_SET self._client_version_value = bb.NOT_SET self._os_version_value = bb.NOT_SET self._last_carrier_value = bb.NOT_SET 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 # Instance attribute type: MobileSessionLogInfo (validator is set below) session_info = bb.Attribute("session_info", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) device_name = bb.Attribute("device_name") # Instance attribute type: team.MobileClientPlatform (validator is set below) client_type = bb.Attribute("client_type", user_defined=True) # Instance attribute type: str (validator is set below) client_version = bb.Attribute("client_version", nullable=True) # Instance attribute type: str (validator is set below) os_version = bb.Attribute("os_version", nullable=True) # Instance attribute type: str (validator is set below) last_carrier = bb.Attribute("last_carrier", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MobileDeviceSessionLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) MobileSessionLogInfo_validator = bv.Struct(MobileSessionLogInfo) class MultiTeamIdentityPolicy(bb.Union): """ Multi-team identity 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 default = None # 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(MultiTeamIdentityPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) MultiTeamIdentityPolicy_validator = bv.Union(MultiTeamIdentityPolicy) class MultiTeamIdentityPolicyChangedDetails(bb.Struct): """ Changed multi-team identity policy for team. :ivar MultiTeamIdentityPolicyChangedDetails.new_value: New multi-team identity policy. :ivar MultiTeamIdentityPolicyChangedDetails.previous_value: Previous multi-team identity policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: MultiTeamIdentityPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: MultiTeamIdentityPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(MultiTeamIdentityPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) MultiTeamIdentityPolicyChangedDetails_validator = bv.Struct(MultiTeamIdentityPolicyChangedDetails) class MultiTeamIdentityPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(MultiTeamIdentityPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) MultiTeamIdentityPolicyChangedType_validator = bv.Struct(MultiTeamIdentityPolicyChangedType) class NamespaceRelativePathLogInfo(bb.Struct): """ Namespace relative path details. :ivar NamespaceRelativePathLogInfo.ns_id: Namespace ID. :ivar NamespaceRelativePathLogInfo.relative_path: A path relative to the specified namespace ID. :ivar NamespaceRelativePathLogInfo.is_shared_namespace: True if the namespace is shared. """ __slots__ = [ "_ns_id_value", "_relative_path_value", "_is_shared_namespace_value", ] _has_required_fields = False def __init__(self, ns_id=None, relative_path=None, is_shared_namespace=None): self._ns_id_value = bb.NOT_SET self._relative_path_value = bb.NOT_SET self._is_shared_namespace_value = bb.NOT_SET if ns_id is not None: self.ns_id = ns_id if relative_path is not None: self.relative_path = relative_path if is_shared_namespace is not None: self.is_shared_namespace = is_shared_namespace # Instance attribute type: str (validator is set below) ns_id = bb.Attribute("ns_id", nullable=True) # Instance attribute type: str (validator is set below) relative_path = bb.Attribute("relative_path", nullable=True) # Instance attribute type: bool (validator is set below) is_shared_namespace = bb.Attribute("is_shared_namespace", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(NamespaceRelativePathLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) NamespaceRelativePathLogInfo_validator = bv.Struct(NamespaceRelativePathLogInfo) class NetworkControlChangePolicyDetails(bb.Struct): """ Enabled/disabled network control. :ivar NetworkControlChangePolicyDetails.new_value: New network control policy. :ivar NetworkControlChangePolicyDetails.previous_value: Previous network control policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: NetworkControlPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: NetworkControlPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(NetworkControlChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) NetworkControlChangePolicyDetails_validator = bv.Struct(NetworkControlChangePolicyDetails) class NetworkControlChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NetworkControlChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) NetworkControlPolicy_validator = bv.Union(NetworkControlPolicy) class NoExpirationLinkGenCreateReportDetails(bb.Struct): """ Report created: Links created with no expiration. :ivar NoExpirationLinkGenCreateReportDetails.start_date: Report start date. :ivar NoExpirationLinkGenCreateReportDetails.end_date: Report end date. """ __slots__ = [ "_start_date_value", "_end_date_value", ] _has_required_fields = True def __init__(self, start_date=None, end_date=None): self._start_date_value = bb.NOT_SET self._end_date_value = bb.NOT_SET if start_date is not None: self.start_date = start_date if end_date is not None: self.end_date = end_date # Instance attribute type: datetime.datetime (validator is set below) start_date = bb.Attribute("start_date") # Instance attribute type: datetime.datetime (validator is set below) end_date = bb.Attribute("end_date") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoExpirationLinkGenCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) NoExpirationLinkGenCreateReportDetails_validator = bv.Struct(NoExpirationLinkGenCreateReportDetails) class NoExpirationLinkGenCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoExpirationLinkGenCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) NoExpirationLinkGenCreateReportType_validator = bv.Struct(NoExpirationLinkGenCreateReportType) class NoExpirationLinkGenReportFailedDetails(bb.Struct): """ Couldn't create report: Links created with no expiration. :ivar NoExpirationLinkGenReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoExpirationLinkGenReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) NoExpirationLinkGenReportFailedDetails_validator = bv.Struct(NoExpirationLinkGenReportFailedDetails) class NoExpirationLinkGenReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoExpirationLinkGenReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) NoExpirationLinkGenReportFailedType_validator = bv.Struct(NoExpirationLinkGenReportFailedType) class NoPasswordLinkGenCreateReportDetails(bb.Struct): """ Report created: Links created without passwords. :ivar NoPasswordLinkGenCreateReportDetails.start_date: Report start date. :ivar NoPasswordLinkGenCreateReportDetails.end_date: Report end date. """ __slots__ = [ "_start_date_value", "_end_date_value", ] _has_required_fields = True def __init__(self, start_date=None, end_date=None): self._start_date_value = bb.NOT_SET self._end_date_value = bb.NOT_SET if start_date is not None: self.start_date = start_date if end_date is not None: self.end_date = end_date # Instance attribute type: datetime.datetime (validator is set below) start_date = bb.Attribute("start_date") # Instance attribute type: datetime.datetime (validator is set below) end_date = bb.Attribute("end_date") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoPasswordLinkGenCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) NoPasswordLinkGenCreateReportDetails_validator = bv.Struct(NoPasswordLinkGenCreateReportDetails) class NoPasswordLinkGenCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoPasswordLinkGenCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) NoPasswordLinkGenCreateReportType_validator = bv.Struct(NoPasswordLinkGenCreateReportType) class NoPasswordLinkGenReportFailedDetails(bb.Struct): """ Couldn't create report: Links created without passwords. :ivar NoPasswordLinkGenReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoPasswordLinkGenReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) NoPasswordLinkGenReportFailedDetails_validator = bv.Struct(NoPasswordLinkGenReportFailedDetails) class NoPasswordLinkGenReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoPasswordLinkGenReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) NoPasswordLinkGenReportFailedType_validator = bv.Struct(NoPasswordLinkGenReportFailedType) class NoPasswordLinkViewCreateReportDetails(bb.Struct): """ Report created: Views of links without passwords. :ivar NoPasswordLinkViewCreateReportDetails.start_date: Report start date. :ivar NoPasswordLinkViewCreateReportDetails.end_date: Report end date. """ __slots__ = [ "_start_date_value", "_end_date_value", ] _has_required_fields = True def __init__(self, start_date=None, end_date=None): self._start_date_value = bb.NOT_SET self._end_date_value = bb.NOT_SET if start_date is not None: self.start_date = start_date if end_date is not None: self.end_date = end_date # Instance attribute type: datetime.datetime (validator is set below) start_date = bb.Attribute("start_date") # Instance attribute type: datetime.datetime (validator is set below) end_date = bb.Attribute("end_date") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoPasswordLinkViewCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) NoPasswordLinkViewCreateReportDetails_validator = bv.Struct(NoPasswordLinkViewCreateReportDetails) class NoPasswordLinkViewCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoPasswordLinkViewCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) NoPasswordLinkViewCreateReportType_validator = bv.Struct(NoPasswordLinkViewCreateReportType) class NoPasswordLinkViewReportFailedDetails(bb.Struct): """ Couldn't create report: Views of links without passwords. :ivar NoPasswordLinkViewReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoPasswordLinkViewReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) NoPasswordLinkViewReportFailedDetails_validator = bv.Struct(NoPasswordLinkViewReportFailedDetails) class NoPasswordLinkViewReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoPasswordLinkViewReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) NoPasswordLinkViewReportFailedType_validator = bv.Struct(NoPasswordLinkViewReportFailedType) class UserLogInfo(bb.Struct): """ User's logged information. :ivar UserLogInfo.account_id: User unique ID. :ivar UserLogInfo.display_name: User display name. :ivar UserLogInfo.email: User email address. """ __slots__ = [ "_account_id_value", "_display_name_value", "_email_value", ] _has_required_fields = False def __init__(self, account_id=None, display_name=None, email=None): self._account_id_value = bb.NOT_SET self._display_name_value = bb.NOT_SET self._email_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) account_id = bb.Attribute("account_id", nullable=True) # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name", nullable=True) # Instance attribute type: str (validator is set below) email = bb.Attribute("email", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) 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 ) NonTeamMemberLogInfo_validator = bv.Struct(NonTeamMemberLogInfo) class NonTrustedTeamDetails(bb.Struct): """ The email to which the request was sent :ivar NonTrustedTeamDetails.team: The email to which the request was sent. """ __slots__ = [ "_team_value", ] _has_required_fields = True def __init__(self, team=None): self._team_value = bb.NOT_SET if team is not None: self.team = team # Instance attribute type: str (validator is set below) team = bb.Attribute("team") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NonTrustedTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) NonTrustedTeamDetails_validator = bv.Struct(NonTrustedTeamDetails) 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 ) NoteAclInviteOnlyDetails_validator = bv.Struct(NoteAclInviteOnlyDetails) class NoteAclInviteOnlyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoteAclInviteOnlyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) NoteAclLinkDetails_validator = bv.Struct(NoteAclLinkDetails) class NoteAclLinkType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoteAclLinkType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) NoteAclTeamLinkDetails_validator = bv.Struct(NoteAclTeamLinkDetails) class NoteAclTeamLinkType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoteAclTeamLinkType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) NoteShareReceiveDetails_validator = bv.Struct(NoteShareReceiveDetails) class NoteShareReceiveType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoteShareReceiveType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) NoteSharedDetails_validator = bv.Struct(NoteSharedDetails) class NoteSharedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(NoteSharedType, self)._process_custom_annotations( annotation_type, field_path, processor ) NoteSharedType_validator = bv.Struct(NoteSharedType) class ObjectLabelAddedDetails(bb.Struct): """ Added a label. :ivar ObjectLabelAddedDetails.label_type: Labels mark a file or folder. """ __slots__ = [ "_label_type_value", ] _has_required_fields = True def __init__(self, label_type=None): self._label_type_value = bb.NOT_SET if label_type is not None: self.label_type = label_type # Instance attribute type: LabelType (validator is set below) label_type = bb.Attribute("label_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ObjectLabelAddedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ObjectLabelAddedDetails_validator = bv.Struct(ObjectLabelAddedDetails) class ObjectLabelAddedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ObjectLabelAddedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ObjectLabelAddedType_validator = bv.Struct(ObjectLabelAddedType) class ObjectLabelRemovedDetails(bb.Struct): """ Removed a label. :ivar ObjectLabelRemovedDetails.label_type: Labels mark a file or folder. """ __slots__ = [ "_label_type_value", ] _has_required_fields = True def __init__(self, label_type=None): self._label_type_value = bb.NOT_SET if label_type is not None: self.label_type = label_type # Instance attribute type: LabelType (validator is set below) label_type = bb.Attribute("label_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ObjectLabelRemovedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ObjectLabelRemovedDetails_validator = bv.Struct(ObjectLabelRemovedDetails) class ObjectLabelRemovedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ObjectLabelRemovedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ObjectLabelRemovedType_validator = bv.Struct(ObjectLabelRemovedType) class ObjectLabelUpdatedValueDetails(bb.Struct): """ Updated a label's value. :ivar ObjectLabelUpdatedValueDetails.label_type: Labels mark a file or folder. """ __slots__ = [ "_label_type_value", ] _has_required_fields = True def __init__(self, label_type=None): self._label_type_value = bb.NOT_SET if label_type is not None: self.label_type = label_type # Instance attribute type: LabelType (validator is set below) label_type = bb.Attribute("label_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ObjectLabelUpdatedValueDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ObjectLabelUpdatedValueDetails_validator = bv.Struct(ObjectLabelUpdatedValueDetails) class ObjectLabelUpdatedValueType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ObjectLabelUpdatedValueType, self)._process_custom_annotations( annotation_type, field_path, processor ) ObjectLabelUpdatedValueType_validator = bv.Struct(ObjectLabelUpdatedValueType) 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 ) OpenNoteSharedDetails_validator = bv.Struct(OpenNoteSharedDetails) class OpenNoteSharedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(OpenNoteSharedType, self)._process_custom_annotations( annotation_type, field_path, processor ) OpenNoteSharedType_validator = bv.Struct(OpenNoteSharedType) class OrganizationDetails(bb.Struct): """ More details about the organization. :ivar OrganizationDetails.organization: The name of the organization. """ __slots__ = [ "_organization_value", ] _has_required_fields = True def __init__(self, organization=None): self._organization_value = bb.NOT_SET if organization is not None: self.organization = organization # Instance attribute type: str (validator is set below) organization = bb.Attribute("organization") def _process_custom_annotations(self, annotation_type, field_path, processor): super(OrganizationDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) OrganizationDetails_validator = bv.Struct(OrganizationDetails) class OrganizationName(bb.Struct): """ The name of the organization :ivar OrganizationName.organization: The name of the organization. """ __slots__ = [ "_organization_value", ] _has_required_fields = True def __init__(self, organization=None): self._organization_value = bb.NOT_SET if organization is not None: self.organization = organization # Instance attribute type: str (validator is set below) organization = bb.Attribute("organization") def _process_custom_annotations(self, annotation_type, field_path, processor): super(OrganizationName, self)._process_custom_annotations( annotation_type, field_path, processor ) OrganizationName_validator = bv.Struct(OrganizationName) class OrganizeFolderWithTidyDetails(bb.Struct): """ Organized a folder with multi-file organize. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(OrganizeFolderWithTidyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) OrganizeFolderWithTidyDetails_validator = bv.Struct(OrganizeFolderWithTidyDetails) class OrganizeFolderWithTidyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(OrganizeFolderWithTidyType, self)._process_custom_annotations( annotation_type, field_path, processor ) OrganizeFolderWithTidyType_validator = bv.Struct(OrganizeFolderWithTidyType) class OriginLogInfo(bb.Struct): """ The origin from which the actor performed the action. :ivar OriginLogInfo.geo_location: Geographic location details. :ivar OriginLogInfo.access_method: The method that was used to perform the action. """ __slots__ = [ "_geo_location_value", "_access_method_value", ] _has_required_fields = True def __init__(self, access_method=None, geo_location=None): self._geo_location_value = bb.NOT_SET self._access_method_value = bb.NOT_SET if geo_location is not None: self.geo_location = geo_location if access_method is not None: self.access_method = access_method # Instance attribute type: GeoLocationLogInfo (validator is set below) geo_location = bb.Attribute("geo_location", nullable=True, user_defined=True) # Instance attribute type: AccessMethodLogInfo (validator is set below) access_method = bb.Attribute("access_method", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(OriginLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) OriginLogInfo_validator = bv.Struct(OriginLogInfo) class OutdatedLinkViewCreateReportDetails(bb.Struct): """ Report created: Views of old links. :ivar OutdatedLinkViewCreateReportDetails.start_date: Report start date. :ivar OutdatedLinkViewCreateReportDetails.end_date: Report end date. """ __slots__ = [ "_start_date_value", "_end_date_value", ] _has_required_fields = True def __init__(self, start_date=None, end_date=None): self._start_date_value = bb.NOT_SET self._end_date_value = bb.NOT_SET if start_date is not None: self.start_date = start_date if end_date is not None: self.end_date = end_date # Instance attribute type: datetime.datetime (validator is set below) start_date = bb.Attribute("start_date") # Instance attribute type: datetime.datetime (validator is set below) end_date = bb.Attribute("end_date") def _process_custom_annotations(self, annotation_type, field_path, processor): super(OutdatedLinkViewCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) OutdatedLinkViewCreateReportDetails_validator = bv.Struct(OutdatedLinkViewCreateReportDetails) class OutdatedLinkViewCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(OutdatedLinkViewCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) OutdatedLinkViewCreateReportType_validator = bv.Struct(OutdatedLinkViewCreateReportType) class OutdatedLinkViewReportFailedDetails(bb.Struct): """ Couldn't create report: Views of old links. :ivar OutdatedLinkViewReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(OutdatedLinkViewReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) OutdatedLinkViewReportFailedDetails_validator = bv.Struct(OutdatedLinkViewReportFailedDetails) class OutdatedLinkViewReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(OutdatedLinkViewReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) OutdatedLinkViewReportFailedType_validator = bv.Struct(OutdatedLinkViewReportFailedType) 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 commenter = 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 other = None 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_viewer(self): """ Check if the union tag is ``viewer``. :rtype: bool """ return self._tag == "viewer" 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 ) 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 ) PaperAdminExportStartDetails_validator = bv.Struct(PaperAdminExportStartDetails) class PaperAdminExportStartType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperAdminExportStartType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PaperChangeDeploymentPolicyDetails.new_value: New Dropbox Paper deployment policy. :ivar PaperChangeDeploymentPolicyDetails.previous_value: Previous Dropbox Paper deployment policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.PaperDeploymentPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team_policies.PaperDeploymentPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperChangeDeploymentPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperChangeDeploymentPolicyDetails_validator = bv.Struct(PaperChangeDeploymentPolicyDetails) class PaperChangeDeploymentPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperChangeDeploymentPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperChangeDeploymentPolicyType_validator = bv.Struct(PaperChangeDeploymentPolicyType) class PaperChangeMemberLinkPolicyDetails(bb.Struct): """ Changed whether non-members can view Paper docs with link. :ivar PaperChangeMemberLinkPolicyDetails.new_value: New paper external link accessibility policy. """ __slots__ = [ "_new_value_value", ] _has_required_fields = True def __init__(self, new_value=None): self._new_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value # Instance attribute type: PaperMemberPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperChangeMemberLinkPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperChangeMemberLinkPolicyDetails_validator = bv.Struct(PaperChangeMemberLinkPolicyDetails) class PaperChangeMemberLinkPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperChangeMemberLinkPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 PaperChangeMemberPolicyDetails.new_value: New paper external accessibility policy. :ivar PaperChangeMemberPolicyDetails.previous_value: Previous paper external accessibility policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: PaperMemberPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: PaperMemberPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperChangeMemberPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperChangeMemberPolicyDetails_validator = bv.Struct(PaperChangeMemberPolicyDetails) class PaperChangeMemberPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperChangeMemberPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperChangeMemberPolicyType_validator = bv.Struct(PaperChangeMemberPolicyType) class PaperChangePolicyDetails(bb.Struct): """ Enabled/disabled Dropbox Paper for team. :ivar PaperChangePolicyDetails.new_value: New Dropbox Paper policy. :ivar PaperChangePolicyDetails.previous_value: Previous Dropbox Paper policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.PaperEnabledPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team_policies.PaperEnabledPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperChangePolicyDetails_validator = bv.Struct(PaperChangePolicyDetails) class PaperChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperChangePolicyType_validator = bv.Struct(PaperChangePolicyType) class PaperContentAddMemberDetails(bb.Struct): """ Added users and/or groups to Paper doc/folder. :ivar PaperContentAddMemberDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentAddMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentAddMemberDetails_validator = bv.Struct(PaperContentAddMemberDetails) class PaperContentAddMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentAddMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentAddMemberType_validator = bv.Struct(PaperContentAddMemberType) class PaperContentAddToFolderDetails(bb.Struct): """ Added Paper doc/folder to folder. :ivar PaperContentAddToFolderDetails.event_uuid: Event unique identifier. :ivar PaperContentAddToFolderDetails.target_asset_index: Target asset position in the Assets list. :ivar PaperContentAddToFolderDetails.parent_asset_index: Parent asset position in the Assets list. """ __slots__ = [ "_event_uuid_value", "_target_asset_index_value", "_parent_asset_index_value", ] _has_required_fields = True def __init__(self, event_uuid=None, target_asset_index=None, parent_asset_index=None): self._event_uuid_value = bb.NOT_SET self._target_asset_index_value = bb.NOT_SET self._parent_asset_index_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: int (validator is set below) parent_asset_index = bb.Attribute("parent_asset_index") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentAddToFolderDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentAddToFolderDetails_validator = bv.Struct(PaperContentAddToFolderDetails) class PaperContentAddToFolderType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentAddToFolderType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentAddToFolderType_validator = bv.Struct(PaperContentAddToFolderType) class PaperContentArchiveDetails(bb.Struct): """ Archived Paper doc/folder. :ivar PaperContentArchiveDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentArchiveDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentArchiveDetails_validator = bv.Struct(PaperContentArchiveDetails) class PaperContentArchiveType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentArchiveType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentArchiveType_validator = bv.Struct(PaperContentArchiveType) class PaperContentCreateDetails(bb.Struct): """ Created Paper doc/folder. :ivar PaperContentCreateDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentCreateDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentCreateDetails_validator = bv.Struct(PaperContentCreateDetails) class PaperContentCreateType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentCreateType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentCreateType_validator = bv.Struct(PaperContentCreateType) class PaperContentPermanentlyDeleteDetails(bb.Struct): """ Permanently deleted Paper doc/folder. :ivar PaperContentPermanentlyDeleteDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentPermanentlyDeleteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentPermanentlyDeleteDetails_validator = bv.Struct(PaperContentPermanentlyDeleteDetails) class PaperContentPermanentlyDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentPermanentlyDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentPermanentlyDeleteType_validator = bv.Struct(PaperContentPermanentlyDeleteType) class PaperContentRemoveFromFolderDetails(bb.Struct): """ Removed Paper doc/folder from folder. :ivar PaperContentRemoveFromFolderDetails.event_uuid: Event unique identifier. :ivar PaperContentRemoveFromFolderDetails.target_asset_index: Target asset position in the Assets list. :ivar PaperContentRemoveFromFolderDetails.parent_asset_index: Parent asset position in the Assets list. """ __slots__ = [ "_event_uuid_value", "_target_asset_index_value", "_parent_asset_index_value", ] _has_required_fields = True def __init__(self, event_uuid=None, target_asset_index=None, parent_asset_index=None): self._event_uuid_value = bb.NOT_SET self._target_asset_index_value = bb.NOT_SET self._parent_asset_index_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index", nullable=True) # Instance attribute type: int (validator is set below) parent_asset_index = bb.Attribute("parent_asset_index", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentRemoveFromFolderDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentRemoveFromFolderDetails_validator = bv.Struct(PaperContentRemoveFromFolderDetails) class PaperContentRemoveFromFolderType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentRemoveFromFolderType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentRemoveFromFolderType_validator = bv.Struct(PaperContentRemoveFromFolderType) class PaperContentRemoveMemberDetails(bb.Struct): """ Removed users and/or groups from Paper doc/folder. :ivar PaperContentRemoveMemberDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentRemoveMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentRemoveMemberDetails_validator = bv.Struct(PaperContentRemoveMemberDetails) class PaperContentRemoveMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentRemoveMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentRemoveMemberType_validator = bv.Struct(PaperContentRemoveMemberType) class PaperContentRenameDetails(bb.Struct): """ Renamed Paper doc/folder. :ivar PaperContentRenameDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentRenameDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentRenameDetails_validator = bv.Struct(PaperContentRenameDetails) class PaperContentRenameType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentRenameType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentRenameType_validator = bv.Struct(PaperContentRenameType) class PaperContentRestoreDetails(bb.Struct): """ Restored archived Paper doc/folder. :ivar PaperContentRestoreDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentRestoreDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperContentRestoreDetails_validator = bv.Struct(PaperContentRestoreDetails) class PaperContentRestoreType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperContentRestoreType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) PaperDefaultFolderPolicy_validator = bv.Union(PaperDefaultFolderPolicy) class PaperDefaultFolderPolicyChangedDetails(bb.Struct): """ Changed Paper Default Folder Policy setting for team. :ivar PaperDefaultFolderPolicyChangedDetails.new_value: New Paper Default Folder Policy. :ivar PaperDefaultFolderPolicyChangedDetails.previous_value: Previous Paper Default Folder Policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: PaperDefaultFolderPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: PaperDefaultFolderPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDefaultFolderPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDefaultFolderPolicyChangedDetails_validator = bv.Struct(PaperDefaultFolderPolicyChangedDetails) class PaperDefaultFolderPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDefaultFolderPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) PaperDesktopPolicy_validator = bv.Union(PaperDesktopPolicy) class PaperDesktopPolicyChangedDetails(bb.Struct): """ Enabled/disabled Paper Desktop for team. :ivar PaperDesktopPolicyChangedDetails.new_value: New Paper Desktop policy. :ivar PaperDesktopPolicyChangedDetails.previous_value: Previous Paper Desktop policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: PaperDesktopPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: PaperDesktopPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDesktopPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDesktopPolicyChangedDetails_validator = bv.Struct(PaperDesktopPolicyChangedDetails) class PaperDesktopPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDesktopPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDesktopPolicyChangedType_validator = bv.Struct(PaperDesktopPolicyChangedType) class PaperDocAddCommentDetails(bb.Struct): """ Added Paper doc comment. :ivar PaperDocAddCommentDetails.event_uuid: Event unique identifier. :ivar PaperDocAddCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocAddCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocAddCommentDetails_validator = bv.Struct(PaperDocAddCommentDetails) class PaperDocAddCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocAddCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocAddCommentType_validator = bv.Struct(PaperDocAddCommentType) class PaperDocChangeMemberRoleDetails(bb.Struct): """ Changed member permissions for Paper doc. :ivar PaperDocChangeMemberRoleDetails.event_uuid: Event unique identifier. :ivar PaperDocChangeMemberRoleDetails.access_type: Paper doc access type. """ __slots__ = [ "_event_uuid_value", "_access_type_value", ] _has_required_fields = True def __init__(self, event_uuid=None, access_type=None): self._event_uuid_value = bb.NOT_SET self._access_type_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if access_type is not None: self.access_type = access_type # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: PaperAccessType (validator is set below) access_type = bb.Attribute("access_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocChangeMemberRoleDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocChangeMemberRoleDetails_validator = bv.Struct(PaperDocChangeMemberRoleDetails) class PaperDocChangeMemberRoleType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocChangeMemberRoleType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocChangeMemberRoleType_validator = bv.Struct(PaperDocChangeMemberRoleType) class PaperDocChangeSharingPolicyDetails(bb.Struct): """ Changed sharing setting for Paper doc. :ivar PaperDocChangeSharingPolicyDetails.event_uuid: Event unique identifier. :ivar PaperDocChangeSharingPolicyDetails.public_sharing_policy: Sharing policy with external users. :ivar PaperDocChangeSharingPolicyDetails.team_sharing_policy: Sharing policy with team. """ __slots__ = [ "_event_uuid_value", "_public_sharing_policy_value", "_team_sharing_policy_value", ] _has_required_fields = True def __init__(self, event_uuid=None, public_sharing_policy=None, team_sharing_policy=None): self._event_uuid_value = bb.NOT_SET self._public_sharing_policy_value = bb.NOT_SET self._team_sharing_policy_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) public_sharing_policy = bb.Attribute("public_sharing_policy", nullable=True) # Instance attribute type: str (validator is set below) team_sharing_policy = bb.Attribute("team_sharing_policy", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocChangeSharingPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocChangeSharingPolicyDetails_validator = bv.Struct(PaperDocChangeSharingPolicyDetails) class PaperDocChangeSharingPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocChangeSharingPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocChangeSharingPolicyType_validator = bv.Struct(PaperDocChangeSharingPolicyType) class PaperDocChangeSubscriptionDetails(bb.Struct): """ Followed/unfollowed Paper doc. :ivar PaperDocChangeSubscriptionDetails.event_uuid: Event unique identifier. :ivar PaperDocChangeSubscriptionDetails.new_subscription_level: New doc subscription level. :ivar PaperDocChangeSubscriptionDetails.previous_subscription_level: Previous doc subscription level. Might be missing due to historical data gap. """ __slots__ = [ "_event_uuid_value", "_new_subscription_level_value", "_previous_subscription_level_value", ] _has_required_fields = True def __init__( self, event_uuid=None, new_subscription_level=None, previous_subscription_level=None, ): self._event_uuid_value = bb.NOT_SET self._new_subscription_level_value = bb.NOT_SET self._previous_subscription_level_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) new_subscription_level = bb.Attribute("new_subscription_level") # Instance attribute type: str (validator is set below) previous_subscription_level = bb.Attribute("previous_subscription_level", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocChangeSubscriptionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocChangeSubscriptionDetails_validator = bv.Struct(PaperDocChangeSubscriptionDetails) class PaperDocChangeSubscriptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocChangeSubscriptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocChangeSubscriptionType_validator = bv.Struct(PaperDocChangeSubscriptionType) class PaperDocDeleteCommentDetails(bb.Struct): """ Deleted Paper doc comment. :ivar PaperDocDeleteCommentDetails.event_uuid: Event unique identifier. :ivar PaperDocDeleteCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocDeleteCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocDeleteCommentDetails_validator = bv.Struct(PaperDocDeleteCommentDetails) class PaperDocDeleteCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocDeleteCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocDeleteCommentType_validator = bv.Struct(PaperDocDeleteCommentType) class PaperDocDeletedDetails(bb.Struct): """ Archived Paper doc. :ivar PaperDocDeletedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocDeletedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocDeletedDetails_validator = bv.Struct(PaperDocDeletedDetails) class PaperDocDeletedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocDeletedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocDeletedType_validator = bv.Struct(PaperDocDeletedType) class PaperDocDownloadDetails(bb.Struct): """ Downloaded Paper doc in specific format. :ivar PaperDocDownloadDetails.event_uuid: Event unique identifier. :ivar PaperDocDownloadDetails.export_file_format: Export file format. """ __slots__ = [ "_event_uuid_value", "_export_file_format_value", ] _has_required_fields = True def __init__(self, event_uuid=None, export_file_format=None): self._event_uuid_value = bb.NOT_SET self._export_file_format_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: PaperDownloadFormat (validator is set below) export_file_format = bb.Attribute("export_file_format", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocDownloadDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocDownloadDetails_validator = bv.Struct(PaperDocDownloadDetails) class PaperDocDownloadType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocDownloadType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocDownloadType_validator = bv.Struct(PaperDocDownloadType) class PaperDocEditCommentDetails(bb.Struct): """ Edited Paper doc comment. :ivar PaperDocEditCommentDetails.event_uuid: Event unique identifier. :ivar PaperDocEditCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocEditCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocEditCommentDetails_validator = bv.Struct(PaperDocEditCommentDetails) class PaperDocEditCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocEditCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocEditCommentType_validator = bv.Struct(PaperDocEditCommentType) class PaperDocEditDetails(bb.Struct): """ Edited Paper doc. :ivar PaperDocEditDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocEditDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocEditDetails_validator = bv.Struct(PaperDocEditDetails) class PaperDocEditType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocEditType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocEditType_validator = bv.Struct(PaperDocEditType) class PaperDocFollowedDetails(bb.Struct): """ Followed Paper doc. :ivar PaperDocFollowedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocFollowedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocFollowedDetails_validator = bv.Struct(PaperDocFollowedDetails) class PaperDocFollowedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocFollowedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocFollowedType_validator = bv.Struct(PaperDocFollowedType) class PaperDocMentionDetails(bb.Struct): """ Mentioned user in Paper doc. :ivar PaperDocMentionDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocMentionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocMentionDetails_validator = bv.Struct(PaperDocMentionDetails) class PaperDocMentionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocMentionType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocMentionType_validator = bv.Struct(PaperDocMentionType) class PaperDocOwnershipChangedDetails(bb.Struct): """ Transferred ownership of Paper doc. :ivar PaperDocOwnershipChangedDetails.event_uuid: Event unique identifier. :ivar PaperDocOwnershipChangedDetails.old_owner_user_id: Previous owner. :ivar PaperDocOwnershipChangedDetails.new_owner_user_id: New owner. """ __slots__ = [ "_event_uuid_value", "_old_owner_user_id_value", "_new_owner_user_id_value", ] _has_required_fields = True def __init__(self, event_uuid=None, new_owner_user_id=None, old_owner_user_id=None): self._event_uuid_value = bb.NOT_SET self._old_owner_user_id_value = bb.NOT_SET self._new_owner_user_id_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) old_owner_user_id = bb.Attribute("old_owner_user_id", nullable=True) # Instance attribute type: str (validator is set below) new_owner_user_id = bb.Attribute("new_owner_user_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocOwnershipChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocOwnershipChangedDetails_validator = bv.Struct(PaperDocOwnershipChangedDetails) class PaperDocOwnershipChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocOwnershipChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocOwnershipChangedType_validator = bv.Struct(PaperDocOwnershipChangedType) class PaperDocRequestAccessDetails(bb.Struct): """ Requested access to Paper doc. :ivar PaperDocRequestAccessDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocRequestAccessDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocRequestAccessDetails_validator = bv.Struct(PaperDocRequestAccessDetails) class PaperDocRequestAccessType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocRequestAccessType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocRequestAccessType_validator = bv.Struct(PaperDocRequestAccessType) class PaperDocResolveCommentDetails(bb.Struct): """ Resolved Paper doc comment. :ivar PaperDocResolveCommentDetails.event_uuid: Event unique identifier. :ivar PaperDocResolveCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocResolveCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocResolveCommentDetails_validator = bv.Struct(PaperDocResolveCommentDetails) class PaperDocResolveCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocResolveCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocResolveCommentType_validator = bv.Struct(PaperDocResolveCommentType) class PaperDocRevertDetails(bb.Struct): """ Restored Paper doc to previous version. :ivar PaperDocRevertDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocRevertDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocRevertDetails_validator = bv.Struct(PaperDocRevertDetails) class PaperDocRevertType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocRevertType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocRevertType_validator = bv.Struct(PaperDocRevertType) class PaperDocSlackShareDetails(bb.Struct): """ Shared Paper doc via Slack. :ivar PaperDocSlackShareDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocSlackShareDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocSlackShareDetails_validator = bv.Struct(PaperDocSlackShareDetails) class PaperDocSlackShareType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocSlackShareType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocSlackShareType_validator = bv.Struct(PaperDocSlackShareType) class PaperDocTeamInviteDetails(bb.Struct): """ Shared Paper doc with users and/or groups. :ivar PaperDocTeamInviteDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocTeamInviteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocTeamInviteDetails_validator = bv.Struct(PaperDocTeamInviteDetails) class PaperDocTeamInviteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocTeamInviteType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocTeamInviteType_validator = bv.Struct(PaperDocTeamInviteType) class PaperDocTrashedDetails(bb.Struct): """ Deleted Paper doc. :ivar PaperDocTrashedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocTrashedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocTrashedDetails_validator = bv.Struct(PaperDocTrashedDetails) class PaperDocTrashedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocTrashedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocTrashedType_validator = bv.Struct(PaperDocTrashedType) class PaperDocUnresolveCommentDetails(bb.Struct): """ Unresolved Paper doc comment. :ivar PaperDocUnresolveCommentDetails.event_uuid: Event unique identifier. :ivar PaperDocUnresolveCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocUnresolveCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocUnresolveCommentDetails_validator = bv.Struct(PaperDocUnresolveCommentDetails) class PaperDocUnresolveCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocUnresolveCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocUnresolveCommentType_validator = bv.Struct(PaperDocUnresolveCommentType) class PaperDocUntrashedDetails(bb.Struct): """ Restored Paper doc. :ivar PaperDocUntrashedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocUntrashedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocUntrashedDetails_validator = bv.Struct(PaperDocUntrashedDetails) class PaperDocUntrashedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocUntrashedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocUntrashedType_validator = bv.Struct(PaperDocUntrashedType) class PaperDocViewDetails(bb.Struct): """ Viewed Paper doc. :ivar PaperDocViewDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocViewDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocViewDetails_validator = bv.Struct(PaperDocViewDetails) class PaperDocViewType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocViewType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperDocViewType_validator = bv.Struct(PaperDocViewType) class PaperDocumentLogInfo(bb.Struct): """ Paper document's logged information. :ivar PaperDocumentLogInfo.doc_id: Papers document Id. :ivar PaperDocumentLogInfo.doc_title: Paper document title. """ __slots__ = [ "_doc_id_value", "_doc_title_value", ] _has_required_fields = True def __init__(self, doc_id=None, doc_title=None): self._doc_id_value = bb.NOT_SET self._doc_title_value = bb.NOT_SET if doc_id is not None: self.doc_id = doc_id if doc_title is not None: self.doc_title = doc_title # Instance attribute type: str (validator is set below) doc_id = bb.Attribute("doc_id") # Instance attribute type: str (validator is set below) doc_title = bb.Attribute("doc_title") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperDocumentLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 ) PaperEnabledUsersGroupAdditionDetails_validator = bv.Struct(PaperEnabledUsersGroupAdditionDetails) class PaperEnabledUsersGroupAdditionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperEnabledUsersGroupAdditionType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) PaperEnabledUsersGroupRemovalDetails_validator = bv.Struct(PaperEnabledUsersGroupRemovalDetails) class PaperEnabledUsersGroupRemovalType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperEnabledUsersGroupRemovalType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperEnabledUsersGroupRemovalType_validator = bv.Struct(PaperEnabledUsersGroupRemovalType) class PaperExternalViewAllowDetails(bb.Struct): """ Changed Paper external sharing setting to anyone. :ivar PaperExternalViewAllowDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperExternalViewAllowDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperExternalViewAllowDetails_validator = bv.Struct(PaperExternalViewAllowDetails) class PaperExternalViewAllowType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperExternalViewAllowType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperExternalViewAllowType_validator = bv.Struct(PaperExternalViewAllowType) class PaperExternalViewDefaultTeamDetails(bb.Struct): """ Changed Paper external sharing setting to default team. :ivar PaperExternalViewDefaultTeamDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperExternalViewDefaultTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperExternalViewDefaultTeamDetails_validator = bv.Struct(PaperExternalViewDefaultTeamDetails) class PaperExternalViewDefaultTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperExternalViewDefaultTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperExternalViewDefaultTeamType_validator = bv.Struct(PaperExternalViewDefaultTeamType) class PaperExternalViewForbidDetails(bb.Struct): """ Changed Paper external sharing setting to team-only. :ivar PaperExternalViewForbidDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperExternalViewForbidDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperExternalViewForbidDetails_validator = bv.Struct(PaperExternalViewForbidDetails) class PaperExternalViewForbidType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperExternalViewForbidType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperExternalViewForbidType_validator = bv.Struct(PaperExternalViewForbidType) class PaperFolderChangeSubscriptionDetails(bb.Struct): """ Followed/unfollowed Paper folder. :ivar PaperFolderChangeSubscriptionDetails.event_uuid: Event unique identifier. :ivar PaperFolderChangeSubscriptionDetails.new_subscription_level: New folder subscription level. :ivar PaperFolderChangeSubscriptionDetails.previous_subscription_level: Previous folder subscription level. Might be missing due to historical data gap. """ __slots__ = [ "_event_uuid_value", "_new_subscription_level_value", "_previous_subscription_level_value", ] _has_required_fields = True def __init__( self, event_uuid=None, new_subscription_level=None, previous_subscription_level=None, ): self._event_uuid_value = bb.NOT_SET self._new_subscription_level_value = bb.NOT_SET self._previous_subscription_level_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) new_subscription_level = bb.Attribute("new_subscription_level") # Instance attribute type: str (validator is set below) previous_subscription_level = bb.Attribute("previous_subscription_level", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderChangeSubscriptionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderChangeSubscriptionDetails_validator = bv.Struct(PaperFolderChangeSubscriptionDetails) class PaperFolderChangeSubscriptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderChangeSubscriptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderChangeSubscriptionType_validator = bv.Struct(PaperFolderChangeSubscriptionType) class PaperFolderDeletedDetails(bb.Struct): """ Archived Paper folder. :ivar PaperFolderDeletedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderDeletedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderDeletedDetails_validator = bv.Struct(PaperFolderDeletedDetails) class PaperFolderDeletedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderDeletedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderDeletedType_validator = bv.Struct(PaperFolderDeletedType) class PaperFolderFollowedDetails(bb.Struct): """ Followed Paper folder. :ivar PaperFolderFollowedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderFollowedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderFollowedDetails_validator = bv.Struct(PaperFolderFollowedDetails) class PaperFolderFollowedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderFollowedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderFollowedType_validator = bv.Struct(PaperFolderFollowedType) class PaperFolderLogInfo(bb.Struct): """ Paper folder's logged information. :ivar PaperFolderLogInfo.folder_id: Papers folder Id. :ivar PaperFolderLogInfo.folder_name: Paper folder name. """ __slots__ = [ "_folder_id_value", "_folder_name_value", ] _has_required_fields = True def __init__(self, folder_id=None, folder_name=None): self._folder_id_value = bb.NOT_SET self._folder_name_value = bb.NOT_SET if folder_id is not None: self.folder_id = folder_id if folder_name is not None: self.folder_name = folder_name # Instance attribute type: str (validator is set below) folder_id = bb.Attribute("folder_id") # Instance attribute type: str (validator is set below) folder_name = bb.Attribute("folder_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderLogInfo_validator = bv.Struct(PaperFolderLogInfo) class PaperFolderTeamInviteDetails(bb.Struct): """ Shared Paper folder with users and/or groups. :ivar PaperFolderTeamInviteDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderTeamInviteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperFolderTeamInviteDetails_validator = bv.Struct(PaperFolderTeamInviteDetails) class PaperFolderTeamInviteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperFolderTeamInviteType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) PaperMemberPolicy_validator = bv.Union(PaperMemberPolicy) class PaperPublishedLinkChangePermissionDetails(bb.Struct): """ Changed permissions for published doc. :ivar PaperPublishedLinkChangePermissionDetails.event_uuid: Event unique identifier. :ivar PaperPublishedLinkChangePermissionDetails.new_permission_level: New permission level. :ivar PaperPublishedLinkChangePermissionDetails.previous_permission_level: Previous permission level. """ __slots__ = [ "_event_uuid_value", "_new_permission_level_value", "_previous_permission_level_value", ] _has_required_fields = True def __init__(self, event_uuid=None, new_permission_level=None, previous_permission_level=None): self._event_uuid_value = bb.NOT_SET self._new_permission_level_value = bb.NOT_SET self._previous_permission_level_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if new_permission_level is not None: self.new_permission_level = new_permission_level if previous_permission_level is not None: self.previous_permission_level = previous_permission_level # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) new_permission_level = bb.Attribute("new_permission_level") # Instance attribute type: str (validator is set below) previous_permission_level = bb.Attribute("previous_permission_level") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperPublishedLinkChangePermissionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperPublishedLinkChangePermissionDetails_validator = bv.Struct( PaperPublishedLinkChangePermissionDetails ) class PaperPublishedLinkChangePermissionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperPublishedLinkChangePermissionType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperPublishedLinkChangePermissionType_validator = bv.Struct(PaperPublishedLinkChangePermissionType) class PaperPublishedLinkCreateDetails(bb.Struct): """ Published doc. :ivar PaperPublishedLinkCreateDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperPublishedLinkCreateDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperPublishedLinkCreateDetails_validator = bv.Struct(PaperPublishedLinkCreateDetails) class PaperPublishedLinkCreateType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperPublishedLinkCreateType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperPublishedLinkCreateType_validator = bv.Struct(PaperPublishedLinkCreateType) class PaperPublishedLinkDisabledDetails(bb.Struct): """ Unpublished doc. :ivar PaperPublishedLinkDisabledDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperPublishedLinkDisabledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperPublishedLinkDisabledDetails_validator = bv.Struct(PaperPublishedLinkDisabledDetails) class PaperPublishedLinkDisabledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperPublishedLinkDisabledType, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperPublishedLinkDisabledType_validator = bv.Struct(PaperPublishedLinkDisabledType) class PaperPublishedLinkViewDetails(bb.Struct): """ Viewed published doc. :ivar PaperPublishedLinkViewDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperPublishedLinkViewDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperPublishedLinkViewDetails_validator = bv.Struct(PaperPublishedLinkViewDetails) class PaperPublishedLinkViewType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PaperPublishedLinkViewType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ParticipantLogInfo.group: Group details. :vartype ParticipantLogInfo.group: GroupLogInfo :ivar ParticipantLogInfo.user: A user with a Dropbox account. :vartype ParticipantLogInfo.user: UserLogInfo """ _catch_all = "other" # Attribute is overwritten below the class definition other = None @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) @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) def is_group(self): """ Check if the union tag is ``group``. :rtype: bool """ return self._tag == "group" def is_user(self): """ Check if the union tag is ``user``. :rtype: bool """ return self._tag == "user" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" 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 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 _process_custom_annotations(self, annotation_type, field_path, processor): super(ParticipantLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 allow = None # 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_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_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(PassPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) PassPolicy_validator = bv.Union(PassPolicy) class PasskeyAddDetails(bb.Struct): """ Added passkey for login. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasskeyAddDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PasskeyAddDetails_validator = bv.Struct(PasskeyAddDetails) class PasskeyAddType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasskeyAddType, self)._process_custom_annotations( annotation_type, field_path, processor ) PasskeyAddType_validator = bv.Struct(PasskeyAddType) class PasskeyLoginPolicy(bb.Union): """ Passkey login 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 default = None # 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(PasskeyLoginPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) PasskeyLoginPolicy_validator = bv.Union(PasskeyLoginPolicy) class PasskeyLoginPolicyChangedDetails(bb.Struct): """ Changed passkey login policy for team. :ivar PasskeyLoginPolicyChangedDetails.new_value: New passkey login policy. :ivar PasskeyLoginPolicyChangedDetails.previous_value: Previous passkey login policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: PasskeyLoginPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: PasskeyLoginPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasskeyLoginPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PasskeyLoginPolicyChangedDetails_validator = bv.Struct(PasskeyLoginPolicyChangedDetails) class PasskeyLoginPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasskeyLoginPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PasskeyLoginPolicyChangedType_validator = bv.Struct(PasskeyLoginPolicyChangedType) class PasskeyRemoveDetails(bb.Struct): """ Removed passkey for login. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasskeyRemoveDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PasskeyRemoveDetails_validator = bv.Struct(PasskeyRemoveDetails) class PasskeyRemoveType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasskeyRemoveType, self)._process_custom_annotations( annotation_type, field_path, processor ) PasskeyRemoveType_validator = bv.Struct(PasskeyRemoveType) 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 ) PasswordChangeDetails_validator = bv.Struct(PasswordChangeDetails) class PasswordChangeType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasswordChangeType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) PasswordResetAllDetails_validator = bv.Struct(PasswordResetAllDetails) class PasswordResetAllType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasswordResetAllType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) PasswordResetDetails_validator = bv.Struct(PasswordResetDetails) class PasswordResetType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasswordResetType, self)._process_custom_annotations( annotation_type, field_path, processor ) PasswordResetType_validator = bv.Struct(PasswordResetType) class PasswordStrengthRequirementsChangePolicyDetails(bb.Struct): """ Changed team password strength requirements. :ivar PasswordStrengthRequirementsChangePolicyDetails.previous_value: Old password strength policy. :ivar PasswordStrengthRequirementsChangePolicyDetails.new_value: New password strength policy. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: team_policies.PasswordStrengthPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: team_policies.PasswordStrengthPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasswordStrengthRequirementsChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PasswordStrengthRequirementsChangePolicyDetails_validator = bv.Struct( PasswordStrengthRequirementsChangePolicyDetails ) class PasswordStrengthRequirementsChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PasswordStrengthRequirementsChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) PasswordStrengthRequirementsChangePolicyType_validator = bv.Struct( PasswordStrengthRequirementsChangePolicyType ) class PathLogInfo(bb.Struct): """ Path's details. :ivar PathLogInfo.contextual: Fully qualified path relative to event's context. :ivar PathLogInfo.namespace_relative: Path relative to the namespace containing the content. """ __slots__ = [ "_contextual_value", "_namespace_relative_value", ] _has_required_fields = True def __init__(self, namespace_relative=None, contextual=None): self._contextual_value = bb.NOT_SET self._namespace_relative_value = bb.NOT_SET if contextual is not None: self.contextual = contextual if namespace_relative is not None: self.namespace_relative = namespace_relative # Instance attribute type: str (validator is set below) contextual = bb.Attribute("contextual", nullable=True) # Instance attribute type: NamespaceRelativePathLogInfo (validator is set below) namespace_relative = bb.Attribute("namespace_relative", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PathLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) PathLogInfo_validator = bv.Struct(PathLogInfo) class PendingSecondaryEmailAddedDetails(bb.Struct): """ Added pending secondary email. :ivar PendingSecondaryEmailAddedDetails.secondary_email: New pending secondary email. """ __slots__ = [ "_secondary_email_value", ] _has_required_fields = True def __init__(self, secondary_email=None): self._secondary_email_value = bb.NOT_SET if secondary_email is not None: self.secondary_email = secondary_email # Instance attribute type: str (validator is set below) secondary_email = bb.Attribute("secondary_email") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PendingSecondaryEmailAddedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PendingSecondaryEmailAddedDetails_validator = bv.Struct(PendingSecondaryEmailAddedDetails) class PendingSecondaryEmailAddedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PendingSecondaryEmailAddedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PendingSecondaryEmailAddedType_validator = bv.Struct(PendingSecondaryEmailAddedType) class PermanentDeleteChangePolicyDetails(bb.Struct): """ Enabled/disabled ability of team members to permanently delete content. :ivar PermanentDeleteChangePolicyDetails.new_value: New permanent delete content policy. :ivar PermanentDeleteChangePolicyDetails.previous_value: Previous permanent delete content policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ContentPermanentDeletePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ContentPermanentDeletePolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PermanentDeleteChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PermanentDeleteChangePolicyDetails_validator = bv.Struct(PermanentDeleteChangePolicyDetails) class PermanentDeleteChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PermanentDeleteChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 canada_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 uk_only = None # Attribute is overwritten below the class definition us_s3_only = 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_canada_only(self): """ Check if the union tag is ``canada_only``. :rtype: bool """ return self._tag == "canada_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_uk_only(self): """ Check if the union tag is ``uk_only``. :rtype: bool """ return self._tag == "uk_only" def is_us_s3_only(self): """ Check if the union tag is ``us_s3_only``. :rtype: bool """ return self._tag == "us_s3_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(PlacementRestriction, self)._process_custom_annotations( annotation_type, field_path, processor ) PlacementRestriction_validator = bv.Union(PlacementRestriction) class PolicyType(bb.Union): """ This class acts as a tagged union. Only 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 disposition = None # Attribute is overwritten below the class definition retention = None # Attribute is overwritten below the class definition other = None def is_disposition(self): """ Check if the union tag is ``disposition``. :rtype: bool """ return self._tag == "disposition" def is_retention(self): """ Check if the union tag is ``retention``. :rtype: bool """ return self._tag == "retention" 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(PolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) PolicyType_validator = bv.Union(PolicyType) class PreviewsAiPolicy(bb.Union): """ Policy for deciding whether team users can use Previews AI This class acts as a tagged union. Only 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 disabled = None # Attribute is overwritten below the class definition enabled = 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_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(PreviewsAiPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) PreviewsAiPolicy_validator = bv.Union(PreviewsAiPolicy) class PreviewsAiPolicyChangedDetails(bb.Struct): """ Changed Dropbox AI policy for team. :ivar PreviewsAiPolicyChangedDetails.new_value: To. :ivar PreviewsAiPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: PreviewsAiPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: PreviewsAiPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(PreviewsAiPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PreviewsAiPolicyChangedDetails_validator = bv.Struct(PreviewsAiPolicyChangedDetails) class PreviewsAiPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PreviewsAiPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) PreviewsAiPolicyChangedType_validator = bv.Struct(PreviewsAiPolicyChangedType) class PrimaryTeamRequestAcceptedDetails(bb.Struct): """ Team merge request acceptance details shown to the primary team :ivar PrimaryTeamRequestAcceptedDetails.secondary_team: The secondary team name. :ivar PrimaryTeamRequestAcceptedDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_secondary_team_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_by=None): self._secondary_team_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PrimaryTeamRequestAcceptedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PrimaryTeamRequestAcceptedDetails_validator = bv.Struct(PrimaryTeamRequestAcceptedDetails) class PrimaryTeamRequestCanceledDetails(bb.Struct): """ Team merge request cancellation details shown to the primary team :ivar PrimaryTeamRequestCanceledDetails.secondary_team: The secondary team name. :ivar PrimaryTeamRequestCanceledDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_secondary_team_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_by=None): self._secondary_team_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PrimaryTeamRequestCanceledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PrimaryTeamRequestCanceledDetails_validator = bv.Struct(PrimaryTeamRequestCanceledDetails) class PrimaryTeamRequestExpiredDetails(bb.Struct): """ Team merge request expiration details shown to the primary team :ivar PrimaryTeamRequestExpiredDetails.secondary_team: The secondary team name. :ivar PrimaryTeamRequestExpiredDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_secondary_team_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_by=None): self._secondary_team_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PrimaryTeamRequestExpiredDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PrimaryTeamRequestExpiredDetails_validator = bv.Struct(PrimaryTeamRequestExpiredDetails) class PrimaryTeamRequestReminderDetails(bb.Struct): """ Team merge request reminder details shown to the primary team :ivar PrimaryTeamRequestReminderDetails.secondary_team: The secondary team name. :ivar PrimaryTeamRequestReminderDetails.sent_to: The name of the primary team admin the request was sent to. """ __slots__ = [ "_secondary_team_value", "_sent_to_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_to=None): self._secondary_team_value = bb.NOT_SET self._sent_to_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_to is not None: self.sent_to = sent_to # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") def _process_custom_annotations(self, annotation_type, field_path, processor): super(PrimaryTeamRequestReminderDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) PrimaryTeamRequestReminderDetails_validator = bv.Struct(PrimaryTeamRequestReminderDetails) class ProductAssignedToMemberDetails(bb.Struct): """ Product assigned to team member. :ivar ProductAssignedToMemberDetails.user_name: User's name. :ivar ProductAssignedToMemberDetails.product_name: Product name. """ __slots__ = [ "_user_name_value", "_product_name_value", ] _has_required_fields = True def __init__(self, user_name=None, product_name=None): self._user_name_value = bb.NOT_SET self._product_name_value = bb.NOT_SET if user_name is not None: self.user_name = user_name if product_name is not None: self.product_name = product_name # Instance attribute type: UserNameLogInfo (validator is set below) user_name = bb.Attribute("user_name", user_defined=True) # Instance attribute type: ProductLogInfo (validator is set below) product_name = bb.Attribute("product_name", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ProductAssignedToMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ProductAssignedToMemberDetails_validator = bv.Struct(ProductAssignedToMemberDetails) class ProductAssignedToMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ProductAssignedToMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) ProductAssignedToMemberType_validator = bv.Struct(ProductAssignedToMemberType) class ProductLogInfo(bb.Struct): """ Product logged information :ivar ProductLogInfo.product_name: Product name. """ __slots__ = [ "_product_name_value", ] _has_required_fields = True def __init__(self, product_name=None): self._product_name_value = bb.NOT_SET if product_name is not None: self.product_name = product_name # Instance attribute type: str (validator is set below) product_name = bb.Attribute("product_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ProductLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) ProductLogInfo_validator = bv.Struct(ProductLogInfo) class ProductRemovedFromMemberDetails(bb.Struct): """ Product removed from team member. :ivar ProductRemovedFromMemberDetails.user_name: User's name. :ivar ProductRemovedFromMemberDetails.product_name: Product name. """ __slots__ = [ "_user_name_value", "_product_name_value", ] _has_required_fields = True def __init__(self, user_name=None, product_name=None): self._user_name_value = bb.NOT_SET self._product_name_value = bb.NOT_SET if user_name is not None: self.user_name = user_name if product_name is not None: self.product_name = product_name # Instance attribute type: UserNameLogInfo (validator is set below) user_name = bb.Attribute("user_name", user_defined=True) # Instance attribute type: ProductLogInfo (validator is set below) product_name = bb.Attribute("product_name", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ProductRemovedFromMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ProductRemovedFromMemberDetails_validator = bv.Struct(ProductRemovedFromMemberDetails) class ProductRemovedFromMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ProductRemovedFromMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) ProductRemovedFromMemberType_validator = bv.Struct(ProductRemovedFromMemberType) class ProtectInternalDomainsChangedDetails(bb.Struct): """ Modified Protect internal domains list. :ivar ProtectInternalDomainsChangedDetails.domains_added: Domains added to the internal domains list. :ivar ProtectInternalDomainsChangedDetails.domains_removed: Domains removed from the internal domains list. """ __slots__ = [ "_domains_added_value", "_domains_removed_value", ] _has_required_fields = False def __init__(self, domains_added=None, domains_removed=None): self._domains_added_value = bb.NOT_SET self._domains_removed_value = bb.NOT_SET if domains_added is not None: self.domains_added = domains_added if domains_removed is not None: self.domains_removed = domains_removed # Instance attribute type: list of [str] (validator is set below) domains_added = bb.Attribute("domains_added", nullable=True) # Instance attribute type: list of [str] (validator is set below) domains_removed = bb.Attribute("domains_removed", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ProtectInternalDomainsChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ProtectInternalDomainsChangedDetails_validator = bv.Struct(ProtectInternalDomainsChangedDetails) class ProtectInternalDomainsChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ProtectInternalDomainsChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ProtectInternalDomainsChangedType_validator = bv.Struct(ProtectInternalDomainsChangedType) 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_device = 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_device(self): """ Check if the union tag is ``unlink_device``. :rtype: bool """ return self._tag == "unlink_device" 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 ) QuickActionType_validator = bv.Union(QuickActionType) class RansomwareAlertCreateReportDetails(bb.Struct): """ Created ransomware report. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(RansomwareAlertCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) RansomwareAlertCreateReportDetails_validator = bv.Struct(RansomwareAlertCreateReportDetails) class RansomwareAlertCreateReportFailedDetails(bb.Struct): """ Couldn't generate ransomware report. :ivar RansomwareAlertCreateReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(RansomwareAlertCreateReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) RansomwareAlertCreateReportFailedDetails_validator = bv.Struct( RansomwareAlertCreateReportFailedDetails ) class RansomwareAlertCreateReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RansomwareAlertCreateReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) RansomwareAlertCreateReportFailedType_validator = bv.Struct(RansomwareAlertCreateReportFailedType) class RansomwareAlertCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RansomwareAlertCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) RansomwareAlertCreateReportType_validator = bv.Struct(RansomwareAlertCreateReportType) class RansomwareRestoreProcessCompletedDetails(bb.Struct): """ Completed ransomware restore process. :ivar RansomwareRestoreProcessCompletedDetails.status: The status of the restore process. :ivar RansomwareRestoreProcessCompletedDetails.restored_files_count: Restored files count. :ivar RansomwareRestoreProcessCompletedDetails.restored_files_failed_count: Restored files failed count. """ __slots__ = [ "_status_value", "_restored_files_count_value", "_restored_files_failed_count_value", ] _has_required_fields = True def __init__(self, status=None, restored_files_count=None, restored_files_failed_count=None): self._status_value = bb.NOT_SET self._restored_files_count_value = bb.NOT_SET self._restored_files_failed_count_value = bb.NOT_SET if status is not None: self.status = status if restored_files_count is not None: self.restored_files_count = restored_files_count if restored_files_failed_count is not None: self.restored_files_failed_count = restored_files_failed_count # Instance attribute type: str (validator is set below) status = bb.Attribute("status") # Instance attribute type: int (validator is set below) restored_files_count = bb.Attribute("restored_files_count") # Instance attribute type: int (validator is set below) restored_files_failed_count = bb.Attribute("restored_files_failed_count") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RansomwareRestoreProcessCompletedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) RansomwareRestoreProcessCompletedDetails_validator = bv.Struct( RansomwareRestoreProcessCompletedDetails ) class RansomwareRestoreProcessCompletedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RansomwareRestoreProcessCompletedType, self)._process_custom_annotations( annotation_type, field_path, processor ) RansomwareRestoreProcessCompletedType_validator = bv.Struct(RansomwareRestoreProcessCompletedType) class RansomwareRestoreProcessStartedDetails(bb.Struct): """ Started ransomware restore process. :ivar RansomwareRestoreProcessStartedDetails.extension: Ransomware filename extension. """ __slots__ = [ "_extension_value", ] _has_required_fields = True def __init__(self, extension=None): self._extension_value = bb.NOT_SET if extension is not None: self.extension = extension # Instance attribute type: str (validator is set below) extension = bb.Attribute("extension") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RansomwareRestoreProcessStartedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) RansomwareRestoreProcessStartedDetails_validator = bv.Struct(RansomwareRestoreProcessStartedDetails) class RansomwareRestoreProcessStartedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RansomwareRestoreProcessStartedType, self)._process_custom_annotations( annotation_type, field_path, processor ) RansomwareRestoreProcessStartedType_validator = bv.Struct(RansomwareRestoreProcessStartedType) class RecipientsConfiguration(bb.Struct): """ Recipients Configuration :ivar RecipientsConfiguration.recipient_setting_type: Recipients setting type. :ivar RecipientsConfiguration.emails: A list of user emails to notify. :ivar RecipientsConfiguration.groups: A list of groups to notify. """ __slots__ = [ "_recipient_setting_type_value", "_emails_value", "_groups_value", ] _has_required_fields = False def __init__(self, recipient_setting_type=None, emails=None, groups=None): self._recipient_setting_type_value = bb.NOT_SET self._emails_value = bb.NOT_SET self._groups_value = bb.NOT_SET if recipient_setting_type is not None: self.recipient_setting_type = recipient_setting_type if emails is not None: self.emails = emails if groups is not None: self.groups = groups # Instance attribute type: AlertRecipientsSettingType (validator is set below) recipient_setting_type = bb.Attribute( "recipient_setting_type", nullable=True, user_defined=True ) # Instance attribute type: list of [str] (validator is set below) emails = bb.Attribute("emails", nullable=True) # Instance attribute type: list of [str] (validator is set below) groups = bb.Attribute("groups", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(RecipientsConfiguration, self)._process_custom_annotations( annotation_type, field_path, processor ) RecipientsConfiguration_validator = bv.Struct(RecipientsConfiguration) class RelocateAssetReferencesLogInfo(bb.Struct): """ Provides the indices of the source asset and the destination asset for a relocate action. :ivar RelocateAssetReferencesLogInfo.src_asset_index: Source asset position in the Assets list. :ivar RelocateAssetReferencesLogInfo.dest_asset_index: Destination asset position in the Assets list. """ __slots__ = [ "_src_asset_index_value", "_dest_asset_index_value", ] _has_required_fields = True def __init__(self, src_asset_index=None, dest_asset_index=None): self._src_asset_index_value = bb.NOT_SET self._dest_asset_index_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) src_asset_index = bb.Attribute("src_asset_index") # Instance attribute type: int (validator is set below) dest_asset_index = bb.Attribute("dest_asset_index") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RelocateAssetReferencesLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) RelocateAssetReferencesLogInfo_validator = bv.Struct(RelocateAssetReferencesLogInfo) class ReplayAddingPeoplePolicy(bb.Union): """ Policy for deciding who can be added to Replay 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. """ _catch_all = "other" # Attribute is overwritten below the class definition anyone = None # Attribute is overwritten below the class definition team_and_allowlist = None # Attribute is overwritten below the class definition team_only = 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_and_allowlist(self): """ Check if the union tag is ``team_and_allowlist``. :rtype: bool """ return self._tag == "team_and_allowlist" 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(ReplayAddingPeoplePolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayAddingPeoplePolicy_validator = bv.Union(ReplayAddingPeoplePolicy) class ReplayAddingPeoplePolicyChangedDetails(bb.Struct): """ Changed the policy for adding people to Replay content. :ivar ReplayAddingPeoplePolicyChangedDetails.new_value: To. :ivar ReplayAddingPeoplePolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ReplayAddingPeoplePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ReplayAddingPeoplePolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayAddingPeoplePolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayAddingPeoplePolicyChangedDetails_validator = bv.Struct(ReplayAddingPeoplePolicyChangedDetails) class ReplayAddingPeoplePolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayAddingPeoplePolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayAddingPeoplePolicyChangedType_validator = bv.Struct(ReplayAddingPeoplePolicyChangedType) class ReplayFileDeleteDetails(bb.Struct): """ Deleted files in Replay. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayFileDeleteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayFileDeleteDetails_validator = bv.Struct(ReplayFileDeleteDetails) class ReplayFileDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayFileDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayFileDeleteType_validator = bv.Struct(ReplayFileDeleteType) class ReplayFileDownloadedDetails(bb.Struct): """ Downloaded files in Replay. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayFileDownloadedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayFileDownloadedDetails_validator = bv.Struct(ReplayFileDownloadedDetails) class ReplayFileDownloadedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayFileDownloadedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayFileDownloadedType_validator = bv.Struct(ReplayFileDownloadedType) class ReplayFileSharedLinkCreatedDetails(bb.Struct): """ Created shared link in Replay. :ivar ReplayFileSharedLinkCreatedDetails.is_watermarked: Indicates whether it was a watermark share link. :ivar ReplayFileSharedLinkCreatedDetails.access: The Replay sharing policy in place when the link was created. Might be missing due to historical data gap. """ __slots__ = [ "_is_watermarked_value", "_access_value", ] _has_required_fields = False def __init__(self, is_watermarked=None, access=None): self._is_watermarked_value = bb.NOT_SET self._access_value = bb.NOT_SET if is_watermarked is not None: self.is_watermarked = is_watermarked if access is not None: self.access = access # Instance attribute type: bool (validator is set below) is_watermarked = bb.Attribute("is_watermarked", nullable=True) # Instance attribute type: ReplayLinkAccess (validator is set below) access = bb.Attribute("access", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayFileSharedLinkCreatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayFileSharedLinkCreatedDetails_validator = bv.Struct(ReplayFileSharedLinkCreatedDetails) class ReplayFileSharedLinkCreatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayFileSharedLinkCreatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayFileSharedLinkCreatedType_validator = bv.Struct(ReplayFileSharedLinkCreatedType) class ReplayFileSharedLinkModifiedDetails(bb.Struct): """ Changed shared link in Replay. :ivar ReplayFileSharedLinkModifiedDetails.is_watermarked: Indicates whether it was a watermark share link. :ivar ReplayFileSharedLinkModifiedDetails.access: The Replay sharing policy in place when the link was modified. Might be missing due to historical data gap. """ __slots__ = [ "_is_watermarked_value", "_access_value", ] _has_required_fields = False def __init__(self, is_watermarked=None, access=None): self._is_watermarked_value = bb.NOT_SET self._access_value = bb.NOT_SET if is_watermarked is not None: self.is_watermarked = is_watermarked if access is not None: self.access = access # Instance attribute type: bool (validator is set below) is_watermarked = bb.Attribute("is_watermarked", nullable=True) # Instance attribute type: ReplayLinkAccess (validator is set below) access = bb.Attribute("access", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayFileSharedLinkModifiedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayFileSharedLinkModifiedDetails_validator = bv.Struct(ReplayFileSharedLinkModifiedDetails) class ReplayFileSharedLinkModifiedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayFileSharedLinkModifiedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayFileSharedLinkModifiedType_validator = bv.Struct(ReplayFileSharedLinkModifiedType) class ReplayLinkAccess(bb.Union): """ Who can access this Replay 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 anyone_logged_in = None # Attribute is overwritten below the class definition no_login_required = None # Attribute is overwritten below the class definition team_and_approved = None # Attribute is overwritten below the class definition team_only = None # Attribute is overwritten below the class definition other = None def is_anyone_logged_in(self): """ Check if the union tag is ``anyone_logged_in``. :rtype: bool """ return self._tag == "anyone_logged_in" def is_no_login_required(self): """ Check if the union tag is ``no_login_required``. :rtype: bool """ return self._tag == "no_login_required" def is_team_and_approved(self): """ Check if the union tag is ``team_and_approved``. :rtype: bool """ return self._tag == "team_and_approved" 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(ReplayLinkAccess, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayLinkAccess_validator = bv.Union(ReplayLinkAccess) class ReplayProjectTeamAddDetails(bb.Struct): """ Added member to Replay Project. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayProjectTeamAddDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayProjectTeamAddDetails_validator = bv.Struct(ReplayProjectTeamAddDetails) class ReplayProjectTeamAddType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayProjectTeamAddType, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayProjectTeamAddType_validator = bv.Struct(ReplayProjectTeamAddType) class ReplayProjectTeamDeleteDetails(bb.Struct): """ Removed member from Replay Project. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayProjectTeamDeleteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayProjectTeamDeleteDetails_validator = bv.Struct(ReplayProjectTeamDeleteDetails) class ReplayProjectTeamDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayProjectTeamDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayProjectTeamDeleteType_validator = bv.Struct(ReplayProjectTeamDeleteType) class ReplaySharingPolicy(bb.Union): """ Policy for deciding who Replay content can be shared with through 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. """ _catch_all = "other" # Attribute is overwritten below the class definition anyone = None # Attribute is overwritten below the class definition team_and_allowlist = None # Attribute is overwritten below the class definition team_only = 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_and_allowlist(self): """ Check if the union tag is ``team_and_allowlist``. :rtype: bool """ return self._tag == "team_and_allowlist" 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(ReplaySharingPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplaySharingPolicy_validator = bv.Union(ReplaySharingPolicy) class ReplaySharingPolicyChangedDetails(bb.Struct): """ Changed the policy for sharing Replay content. :ivar ReplaySharingPolicyChangedDetails.new_value: To. :ivar ReplaySharingPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ReplaySharingPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ReplaySharingPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplaySharingPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplaySharingPolicyChangedDetails_validator = bv.Struct(ReplaySharingPolicyChangedDetails) class ReplaySharingPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplaySharingPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplaySharingPolicyChangedType_validator = bv.Struct(ReplaySharingPolicyChangedType) class ReplayTeamProjectCreatedDetails(bb.Struct): """ Created a team project in Replay. :ivar ReplayTeamProjectCreatedDetails.name: Name of the newly created team project. """ __slots__ = [ "_name_value", ] _has_required_fields = True def __init__(self, name=None): self._name_value = bb.NOT_SET if name is not None: self.name = name # Instance attribute type: str (validator is set below) name = bb.Attribute("name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayTeamProjectCreatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayTeamProjectCreatedDetails_validator = bv.Struct(ReplayTeamProjectCreatedDetails) class ReplayTeamProjectCreatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ReplayTeamProjectCreatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ReplayTeamProjectCreatedType_validator = bv.Struct(ReplayTeamProjectCreatedType) class ResellerLogInfo(bb.Struct): """ Reseller information. :ivar ResellerLogInfo.reseller_name: Reseller name. :ivar ResellerLogInfo.reseller_email: Reseller email. """ __slots__ = [ "_reseller_name_value", "_reseller_email_value", ] _has_required_fields = True def __init__(self, reseller_name=None, reseller_email=None): self._reseller_name_value = bb.NOT_SET self._reseller_email_value = bb.NOT_SET if reseller_name is not None: self.reseller_name = reseller_name if reseller_email is not None: self.reseller_email = reseller_email # Instance attribute type: str (validator is set below) reseller_name = bb.Attribute("reseller_name") # Instance attribute type: str (validator is set below) reseller_email = bb.Attribute("reseller_email") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ResellerLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) ResellerLogInfo_validator = bv.Struct(ResellerLogInfo) class ResellerRole(bb.Union): """ This class acts as a tagged union. Only 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_reseller = None # Attribute is overwritten below the class definition reseller_admin = None # Attribute is overwritten below the class definition other = None def is_not_reseller(self): """ Check if the union tag is ``not_reseller``. :rtype: bool """ return self._tag == "not_reseller" def is_reseller_admin(self): """ Check if the union tag is ``reseller_admin``. :rtype: bool """ return self._tag == "reseller_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(ResellerRole, self)._process_custom_annotations( annotation_type, field_path, processor ) ResellerRole_validator = bv.Union(ResellerRole) class ResellerSupportChangePolicyDetails(bb.Struct): """ Enabled/disabled reseller support. :ivar ResellerSupportChangePolicyDetails.new_value: New Reseller support policy. :ivar ResellerSupportChangePolicyDetails.previous_value: Previous Reseller support policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ResellerSupportPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ResellerSupportPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ResellerSupportChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ResellerSupportChangePolicyDetails_validator = bv.Struct(ResellerSupportChangePolicyDetails) class ResellerSupportChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ResellerSupportChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 ) ResellerSupportSessionEndDetails_validator = bv.Struct(ResellerSupportSessionEndDetails) class ResellerSupportSessionEndType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ResellerSupportSessionEndType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) ResellerSupportSessionStartDetails_validator = bv.Struct(ResellerSupportSessionStartDetails) class ResellerSupportSessionStartType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ResellerSupportSessionStartType, self)._process_custom_annotations( annotation_type, field_path, processor ) ResellerSupportSessionStartType_validator = bv.Struct(ResellerSupportSessionStartType) class RewindFolderDetails(bb.Struct): """ Rewound a folder. :ivar RewindFolderDetails.rewind_folder_target_ts_ms: Folder was Rewound to this date. """ __slots__ = [ "_rewind_folder_target_ts_ms_value", ] _has_required_fields = True def __init__(self, rewind_folder_target_ts_ms=None): self._rewind_folder_target_ts_ms_value = bb.NOT_SET if rewind_folder_target_ts_ms is not None: self.rewind_folder_target_ts_ms = rewind_folder_target_ts_ms # Instance attribute type: datetime.datetime (validator is set below) rewind_folder_target_ts_ms = bb.Attribute("rewind_folder_target_ts_ms") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RewindFolderDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) RewindFolderDetails_validator = bv.Struct(RewindFolderDetails) class RewindFolderType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RewindFolderType, self)._process_custom_annotations( annotation_type, field_path, processor ) RewindFolderType_validator = bv.Struct(RewindFolderType) class RewindPolicy(bb.Union): """ Policy for controlling whether team members can rewind This class acts as a tagged union. Only 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 admins_only = None # Attribute is overwritten below the class definition everyone = None # Attribute is overwritten below the class definition other = None def is_admins_only(self): """ Check if the union tag is ``admins_only``. :rtype: bool """ return self._tag == "admins_only" def is_everyone(self): """ Check if the union tag is ``everyone``. :rtype: bool """ return self._tag == "everyone" 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(RewindPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) RewindPolicy_validator = bv.Union(RewindPolicy) class RewindPolicyChangedDetails(bb.Struct): """ Changed Rewind policy for team. :ivar RewindPolicyChangedDetails.new_value: New Dropbox Rewind policy. :ivar RewindPolicyChangedDetails.previous_value: Previous Dropbox Rewind policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: RewindPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: RewindPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(RewindPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) RewindPolicyChangedDetails_validator = bv.Struct(RewindPolicyChangedDetails) class RewindPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RewindPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) RewindPolicyChangedType_validator = bv.Struct(RewindPolicyChangedType) class RiscSecurityEventDetails(bb.Struct): """ RISC security event received from external provider. :ivar RiscSecurityEventDetails.event_type: RISC event type (e.g., account-disabled, token-revoked). :ivar RiscSecurityEventDetails.reason: Reason for the RISC event. :ivar RiscSecurityEventDetails.issuer: Identity provider issuer (e.g., https://accounts.google.com). """ __slots__ = [ "_event_type_value", "_reason_value", "_issuer_value", ] _has_required_fields = True def __init__(self, event_type=None, reason=None, issuer=None): self._event_type_value = bb.NOT_SET self._reason_value = bb.NOT_SET self._issuer_value = bb.NOT_SET if event_type is not None: self.event_type = event_type if reason is not None: self.reason = reason if issuer is not None: self.issuer = issuer # Instance attribute type: str (validator is set below) event_type = bb.Attribute("event_type") # Instance attribute type: str (validator is set below) reason = bb.Attribute("reason") # Instance attribute type: str (validator is set below) issuer = bb.Attribute("issuer") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RiscSecurityEventDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) RiscSecurityEventDetails_validator = bv.Struct(RiscSecurityEventDetails) class RiscSecurityEventType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(RiscSecurityEventType, self)._process_custom_annotations( annotation_type, field_path, processor ) RiscSecurityEventType_validator = bv.Struct(RiscSecurityEventType) class SecondaryEmailDeletedDetails(bb.Struct): """ Deleted secondary email. :ivar SecondaryEmailDeletedDetails.secondary_email: Deleted secondary email. """ __slots__ = [ "_secondary_email_value", ] _has_required_fields = True def __init__(self, secondary_email=None): self._secondary_email_value = bb.NOT_SET if secondary_email is not None: self.secondary_email = secondary_email # Instance attribute type: str (validator is set below) secondary_email = bb.Attribute("secondary_email") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryEmailDeletedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryEmailDeletedDetails_validator = bv.Struct(SecondaryEmailDeletedDetails) class SecondaryEmailDeletedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryEmailDeletedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryEmailDeletedType_validator = bv.Struct(SecondaryEmailDeletedType) class SecondaryEmailVerifiedDetails(bb.Struct): """ Verified secondary email. :ivar SecondaryEmailVerifiedDetails.secondary_email: Verified secondary email. """ __slots__ = [ "_secondary_email_value", ] _has_required_fields = True def __init__(self, secondary_email=None): self._secondary_email_value = bb.NOT_SET if secondary_email is not None: self.secondary_email = secondary_email # Instance attribute type: str (validator is set below) secondary_email = bb.Attribute("secondary_email") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryEmailVerifiedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryEmailVerifiedDetails_validator = bv.Struct(SecondaryEmailVerifiedDetails) class SecondaryEmailVerifiedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryEmailVerifiedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryEmailVerifiedType_validator = bv.Struct(SecondaryEmailVerifiedType) 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 ) SecondaryMailsPolicy_validator = bv.Union(SecondaryMailsPolicy) class SecondaryMailsPolicyChangedDetails(bb.Struct): """ Secondary mails policy changed. :ivar SecondaryMailsPolicyChangedDetails.previous_value: Previous secondary mails policy. :ivar SecondaryMailsPolicyChangedDetails.new_value: New secondary mails policy. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: SecondaryMailsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: SecondaryMailsPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryMailsPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryMailsPolicyChangedDetails_validator = bv.Struct(SecondaryMailsPolicyChangedDetails) class SecondaryMailsPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryMailsPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryMailsPolicyChangedType_validator = bv.Struct(SecondaryMailsPolicyChangedType) class SecondaryTeamRequestAcceptedDetails(bb.Struct): """ Team merge request acceptance details shown to the secondary team :ivar SecondaryTeamRequestAcceptedDetails.primary_team: The primary team name. :ivar SecondaryTeamRequestAcceptedDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_primary_team_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, primary_team=None, sent_by=None): self._primary_team_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if primary_team is not None: self.primary_team = primary_team if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) primary_team = bb.Attribute("primary_team") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryTeamRequestAcceptedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryTeamRequestAcceptedDetails_validator = bv.Struct(SecondaryTeamRequestAcceptedDetails) class SecondaryTeamRequestCanceledDetails(bb.Struct): """ Team merge request cancellation details shown to the secondary team :ivar SecondaryTeamRequestCanceledDetails.sent_to: The email of the primary team admin that the request was sent to. :ivar SecondaryTeamRequestCanceledDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_sent_to_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, sent_to=None, sent_by=None): self._sent_to_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if sent_to is not None: self.sent_to = sent_to if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryTeamRequestCanceledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryTeamRequestCanceledDetails_validator = bv.Struct(SecondaryTeamRequestCanceledDetails) class SecondaryTeamRequestExpiredDetails(bb.Struct): """ Team merge request expiration details shown to the secondary team :ivar SecondaryTeamRequestExpiredDetails.sent_to: The email of the primary team admin the request was sent to. """ __slots__ = [ "_sent_to_value", ] _has_required_fields = True def __init__(self, sent_to=None): self._sent_to_value = bb.NOT_SET if sent_to is not None: self.sent_to = sent_to # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryTeamRequestExpiredDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryTeamRequestExpiredDetails_validator = bv.Struct(SecondaryTeamRequestExpiredDetails) class SecondaryTeamRequestReminderDetails(bb.Struct): """ Team merge request reminder details shown to the secondary team :ivar SecondaryTeamRequestReminderDetails.sent_to: The email of the primary team admin the request was sent to. """ __slots__ = [ "_sent_to_value", ] _has_required_fields = True def __init__(self, sent_to=None): self._sent_to_value = bb.NOT_SET if sent_to is not None: self.sent_to = sent_to # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SecondaryTeamRequestReminderDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SecondaryTeamRequestReminderDetails_validator = bv.Struct(SecondaryTeamRequestReminderDetails) class SendAndTrackFileAddedDetails(bb.Struct): """ File added to Send and Track. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackFileAddedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackFileAddedDetails_validator = bv.Struct(SendAndTrackFileAddedDetails) class SendAndTrackFileAddedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackFileAddedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackFileAddedType_validator = bv.Struct(SendAndTrackFileAddedType) class SendAndTrackFileRenamedDetails(bb.Struct): """ File renamed in Send and Track. :ivar SendAndTrackFileRenamedDetails.previous_value: Previous file name. """ __slots__ = [ "_previous_value_value", ] _has_required_fields = False def __init__(self, previous_value=None): self._previous_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackFileRenamedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackFileRenamedDetails_validator = bv.Struct(SendAndTrackFileRenamedDetails) class SendAndTrackFileRenamedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackFileRenamedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackFileRenamedType_validator = bv.Struct(SendAndTrackFileRenamedType) class SendAndTrackFileUpdatedDetails(bb.Struct): """ File updated in Send and Track. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackFileUpdatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackFileUpdatedDetails_validator = bv.Struct(SendAndTrackFileUpdatedDetails) class SendAndTrackFileUpdatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackFileUpdatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackFileUpdatedType_validator = bv.Struct(SendAndTrackFileUpdatedType) class SendAndTrackLinkCreatedDetails(bb.Struct): """ Link created in Send and Track. :ivar SendAndTrackLinkCreatedDetails.link_settings: Link Settings. """ __slots__ = [ "_link_settings_value", ] _has_required_fields = True def __init__(self, link_settings=None): self._link_settings_value = bb.NOT_SET if link_settings is not None: self.link_settings = link_settings # Instance attribute type: LinkSettingsLogInfo (validator is set below) link_settings = bb.Attribute("link_settings", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackLinkCreatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackLinkCreatedDetails_validator = bv.Struct(SendAndTrackLinkCreatedDetails) class SendAndTrackLinkCreatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackLinkCreatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackLinkCreatedType_validator = bv.Struct(SendAndTrackLinkCreatedType) class SendAndTrackLinkDeletedDetails(bb.Struct): """ Link deleted in Send and Track. :ivar SendAndTrackLinkDeletedDetails.shared_content_link: Shared content link. """ __slots__ = [ "_shared_content_link_value", ] _has_required_fields = True def __init__(self, shared_content_link=None): self._shared_content_link_value = bb.NOT_SET if shared_content_link is not None: self.shared_content_link = shared_content_link # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackLinkDeletedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackLinkDeletedDetails_validator = bv.Struct(SendAndTrackLinkDeletedDetails) class SendAndTrackLinkDeletedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackLinkDeletedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackLinkDeletedType_validator = bv.Struct(SendAndTrackLinkDeletedType) class SendAndTrackLinkUpdatedDetails(bb.Struct): """ Send and Track Link Updated. :ivar SendAndTrackLinkUpdatedDetails.link_settings: Link Settings. :ivar SendAndTrackLinkUpdatedDetails.previous_link_name: Previous link name. """ __slots__ = [ "_link_settings_value", "_previous_link_name_value", ] _has_required_fields = True def __init__(self, link_settings=None, previous_link_name=None): self._link_settings_value = bb.NOT_SET self._previous_link_name_value = bb.NOT_SET if link_settings is not None: self.link_settings = link_settings if previous_link_name is not None: self.previous_link_name = previous_link_name # Instance attribute type: LinkSettingsLogInfo (validator is set below) link_settings = bb.Attribute("link_settings", user_defined=True) # Instance attribute type: str (validator is set below) previous_link_name = bb.Attribute("previous_link_name", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackLinkUpdatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackLinkUpdatedDetails_validator = bv.Struct(SendAndTrackLinkUpdatedDetails) class SendAndTrackLinkUpdatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackLinkUpdatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackLinkUpdatedType_validator = bv.Struct(SendAndTrackLinkUpdatedType) class SendAndTrackLinkViewedDetails(bb.Struct): """ Send and Track Link Visited. :ivar SendAndTrackLinkViewedDetails.link_settings: Link Settings. :ivar SendAndTrackLinkViewedDetails.email_address: Visitor Email address. :ivar SendAndTrackLinkViewedDetails.link_owner: Link Owner. """ __slots__ = [ "_link_settings_value", "_email_address_value", "_link_owner_value", ] _has_required_fields = True def __init__(self, link_settings=None, email_address=None, link_owner=None): self._link_settings_value = bb.NOT_SET self._email_address_value = bb.NOT_SET self._link_owner_value = bb.NOT_SET if link_settings is not None: self.link_settings = link_settings if email_address is not None: self.email_address = email_address if link_owner is not None: self.link_owner = link_owner # Instance attribute type: LinkSettingsLogInfo (validator is set below) link_settings = bb.Attribute("link_settings", user_defined=True) # Instance attribute type: str (validator is set below) email_address = bb.Attribute("email_address", nullable=True) # Instance attribute type: str (validator is set below) link_owner = bb.Attribute("link_owner", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackLinkViewedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackLinkViewedDetails_validator = bv.Struct(SendAndTrackLinkViewedDetails) class SendAndTrackLinkViewedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackLinkViewedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackLinkViewedType_validator = bv.Struct(SendAndTrackLinkViewedType) class SendAndTrackPolicy(bb.Union): """ Policy for deciding whether team users can use Send and Track This class acts as a tagged union. Only 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 disabled = None # Attribute is overwritten below the class definition enabled = 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_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(SendAndTrackPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackPolicy_validator = bv.Union(SendAndTrackPolicy) class SendAndTrackPolicyChangedDetails(bb.Struct): """ Changed “Send and trackâ€� policy for team. :ivar SendAndTrackPolicyChangedDetails.new_value: To. :ivar SendAndTrackPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SendAndTrackPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SendAndTrackPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackPolicyChangedDetails_validator = bv.Struct(SendAndTrackPolicyChangedDetails) class SendAndTrackPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackPolicyChangedType_validator = bv.Struct(SendAndTrackPolicyChangedType) class SendAndTrackRemovedFileAndAssociatedLinksDetails(bb.Struct): """ Send and Track file and associated links deleted. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackRemovedFileAndAssociatedLinksDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackRemovedFileAndAssociatedLinksDetails_validator = bv.Struct( SendAndTrackRemovedFileAndAssociatedLinksDetails ) class SendAndTrackRemovedFileAndAssociatedLinksType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendAndTrackRemovedFileAndAssociatedLinksType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendAndTrackRemovedFileAndAssociatedLinksType_validator = bv.Struct( SendAndTrackRemovedFileAndAssociatedLinksType ) class SendExternalSharingPolicy(bb.Union): """ Policy for deciding whether team users can share Send content 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 = None # 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(SendExternalSharingPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) SendExternalSharingPolicy_validator = bv.Union(SendExternalSharingPolicy) class SendExternalSharingPolicyChangedDetails(bb.Struct): """ Changed “Send and trackâ€� external sharing policy for team. :ivar SendExternalSharingPolicyChangedDetails.new_value: To. :ivar SendExternalSharingPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SendExternalSharingPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SendExternalSharingPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendExternalSharingPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendExternalSharingPolicyChangedDetails_validator = bv.Struct( SendExternalSharingPolicyChangedDetails ) class SendExternalSharingPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendExternalSharingPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendExternalSharingPolicyChangedType_validator = bv.Struct(SendExternalSharingPolicyChangedType) class SendForSignaturePolicy(bb.Union): """ Policy for controlling team access to send for signature feature This class acts as a tagged union. Only 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(SendForSignaturePolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) SendForSignaturePolicy_validator = bv.Union(SendForSignaturePolicy) class SendForSignaturePolicyChangedDetails(bb.Struct): """ Changed send for signature policy for team. :ivar SendForSignaturePolicyChangedDetails.new_value: New send for signature policy. :ivar SendForSignaturePolicyChangedDetails.previous_value: Previous send for signature policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SendForSignaturePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SendForSignaturePolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendForSignaturePolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SendForSignaturePolicyChangedDetails_validator = bv.Struct(SendForSignaturePolicyChangedDetails) class SendForSignaturePolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SendForSignaturePolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SendForSignaturePolicyChangedType_validator = bv.Struct(SendForSignaturePolicyChangedType) class SfAddGroupDetails(bb.Struct): """ Added team to shared folder. :ivar SfAddGroupDetails.target_asset_index: Target asset position in the Assets list. :ivar SfAddGroupDetails.original_folder_name: Original shared folder name. :ivar SfAddGroupDetails.sharing_permission: Sharing permission. :ivar SfAddGroupDetails.team_name: Team name. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", "_sharing_permission_value", "_team_name_value", ] _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 = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET self._sharing_permission_value = bb.NOT_SET self._team_name_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") # Instance attribute type: str (validator is set below) sharing_permission = bb.Attribute("sharing_permission", nullable=True) # Instance attribute type: str (validator is set below) team_name = bb.Attribute("team_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfAddGroupDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfAddGroupDetails_validator = bv.Struct(SfAddGroupDetails) class SfAddGroupType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfAddGroupType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfAddGroupType_validator = bv.Struct(SfAddGroupType) class SfAllowNonMembersToViewSharedLinksDetails(bb.Struct): """ Allowed non-collaborators to view links to files in shared folder. :ivar SfAllowNonMembersToViewSharedLinksDetails.target_asset_index: Target asset position in the Assets list. :ivar SfAllowNonMembersToViewSharedLinksDetails.original_folder_name: Original shared folder name. :ivar SfAllowNonMembersToViewSharedLinksDetails.shared_folder_type: Shared folder type. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", "_shared_folder_type_value", ] _has_required_fields = True def __init__( self, target_asset_index=None, original_folder_name=None, shared_folder_type=None, ): self._target_asset_index_value = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET self._shared_folder_type_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") # Instance attribute type: str (validator is set below) shared_folder_type = bb.Attribute("shared_folder_type", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfAllowNonMembersToViewSharedLinksDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfAllowNonMembersToViewSharedLinksDetails_validator = bv.Struct( SfAllowNonMembersToViewSharedLinksDetails ) class SfAllowNonMembersToViewSharedLinksType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfAllowNonMembersToViewSharedLinksType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfAllowNonMembersToViewSharedLinksType_validator = bv.Struct(SfAllowNonMembersToViewSharedLinksType) class SfExternalInviteWarnDetails(bb.Struct): """ Set team members to see warning before sharing folders outside team. :ivar SfExternalInviteWarnDetails.target_asset_index: Target asset position in the Assets list. :ivar SfExternalInviteWarnDetails.original_folder_name: Original shared folder name. :ivar SfExternalInviteWarnDetails.new_sharing_permission: New sharing permission. :ivar SfExternalInviteWarnDetails.previous_sharing_permission: Previous sharing permission. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", "_new_sharing_permission_value", "_previous_sharing_permission_value", ] _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 = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET self._new_sharing_permission_value = bb.NOT_SET self._previous_sharing_permission_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") # Instance attribute type: str (validator is set below) new_sharing_permission = bb.Attribute("new_sharing_permission", nullable=True) # Instance attribute type: str (validator is set below) previous_sharing_permission = bb.Attribute("previous_sharing_permission", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfExternalInviteWarnDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfExternalInviteWarnDetails_validator = bv.Struct(SfExternalInviteWarnDetails) class SfExternalInviteWarnType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfExternalInviteWarnType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfExternalInviteWarnType_validator = bv.Struct(SfExternalInviteWarnType) class SfFbInviteChangeRoleDetails(bb.Struct): """ Changed Facebook user's role in shared folder. :ivar SfFbInviteChangeRoleDetails.target_asset_index: Target asset position in the Assets list. :ivar SfFbInviteChangeRoleDetails.original_folder_name: Original shared folder name. :ivar SfFbInviteChangeRoleDetails.previous_sharing_permission: Previous sharing permission. :ivar SfFbInviteChangeRoleDetails.new_sharing_permission: New sharing permission. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", "_previous_sharing_permission_value", "_new_sharing_permission_value", ] _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 = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET self._previous_sharing_permission_value = bb.NOT_SET self._new_sharing_permission_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") # Instance attribute type: str (validator is set below) previous_sharing_permission = bb.Attribute("previous_sharing_permission", nullable=True) # Instance attribute type: str (validator is set below) new_sharing_permission = bb.Attribute("new_sharing_permission", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfFbInviteChangeRoleDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfFbInviteChangeRoleDetails_validator = bv.Struct(SfFbInviteChangeRoleDetails) class SfFbInviteChangeRoleType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfFbInviteChangeRoleType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfFbInviteChangeRoleType_validator = bv.Struct(SfFbInviteChangeRoleType) class SfFbInviteDetails(bb.Struct): """ Invited Facebook users to shared folder. :ivar SfFbInviteDetails.target_asset_index: Target asset position in the Assets list. :ivar SfFbInviteDetails.original_folder_name: Original shared folder name. :ivar SfFbInviteDetails.sharing_permission: Sharing permission. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", "_sharing_permission_value", ] _has_required_fields = True def __init__( self, target_asset_index=None, original_folder_name=None, sharing_permission=None, ): self._target_asset_index_value = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET self._sharing_permission_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") # Instance attribute type: str (validator is set below) sharing_permission = bb.Attribute("sharing_permission", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfFbInviteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfFbInviteDetails_validator = bv.Struct(SfFbInviteDetails) class SfFbInviteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfFbInviteType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfFbInviteType_validator = bv.Struct(SfFbInviteType) class SfFbUninviteDetails(bb.Struct): """ Uninvited Facebook user from shared folder. :ivar SfFbUninviteDetails.target_asset_index: Target asset position in the Assets list. :ivar SfFbUninviteDetails.original_folder_name: Original shared folder name. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", ] _has_required_fields = True def __init__(self, target_asset_index=None, original_folder_name=None): self._target_asset_index_value = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfFbUninviteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfFbUninviteDetails_validator = bv.Struct(SfFbUninviteDetails) class SfFbUninviteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfFbUninviteType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfFbUninviteType_validator = bv.Struct(SfFbUninviteType) class SfInviteGroupDetails(bb.Struct): """ Invited group to shared folder. :ivar SfInviteGroupDetails.target_asset_index: Target asset position in the Assets list. """ __slots__ = [ "_target_asset_index_value", ] _has_required_fields = True def __init__(self, target_asset_index=None): self._target_asset_index_value = bb.NOT_SET if target_asset_index is not None: self.target_asset_index = target_asset_index # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfInviteGroupDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfInviteGroupDetails_validator = bv.Struct(SfInviteGroupDetails) class SfInviteGroupType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfInviteGroupType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfInviteGroupType_validator = bv.Struct(SfInviteGroupType) class SfTeamGrantAccessDetails(bb.Struct): """ Granted access to shared folder. :ivar SfTeamGrantAccessDetails.target_asset_index: Target asset position in the Assets list. :ivar SfTeamGrantAccessDetails.original_folder_name: Original shared folder name. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", ] _has_required_fields = True def __init__(self, target_asset_index=None, original_folder_name=None): self._target_asset_index_value = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamGrantAccessDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamGrantAccessDetails_validator = bv.Struct(SfTeamGrantAccessDetails) class SfTeamGrantAccessType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamGrantAccessType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamGrantAccessType_validator = bv.Struct(SfTeamGrantAccessType) class SfTeamInviteChangeRoleDetails(bb.Struct): """ Changed team member's role in shared folder. :ivar SfTeamInviteChangeRoleDetails.target_asset_index: Target asset position in the Assets list. :ivar SfTeamInviteChangeRoleDetails.original_folder_name: Original shared folder name. :ivar SfTeamInviteChangeRoleDetails.new_sharing_permission: New sharing permission. :ivar SfTeamInviteChangeRoleDetails.previous_sharing_permission: Previous sharing permission. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", "_new_sharing_permission_value", "_previous_sharing_permission_value", ] _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 = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET self._new_sharing_permission_value = bb.NOT_SET self._previous_sharing_permission_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") # Instance attribute type: str (validator is set below) new_sharing_permission = bb.Attribute("new_sharing_permission", nullable=True) # Instance attribute type: str (validator is set below) previous_sharing_permission = bb.Attribute("previous_sharing_permission", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamInviteChangeRoleDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamInviteChangeRoleDetails_validator = bv.Struct(SfTeamInviteChangeRoleDetails) class SfTeamInviteChangeRoleType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamInviteChangeRoleType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamInviteChangeRoleType_validator = bv.Struct(SfTeamInviteChangeRoleType) class SfTeamInviteDetails(bb.Struct): """ Invited team members to shared folder. :ivar SfTeamInviteDetails.target_asset_index: Target asset position in the Assets list. :ivar SfTeamInviteDetails.original_folder_name: Original shared folder name. :ivar SfTeamInviteDetails.sharing_permission: Sharing permission. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", "_sharing_permission_value", ] _has_required_fields = True def __init__( self, target_asset_index=None, original_folder_name=None, sharing_permission=None, ): self._target_asset_index_value = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET self._sharing_permission_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") # Instance attribute type: str (validator is set below) sharing_permission = bb.Attribute("sharing_permission", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamInviteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamInviteDetails_validator = bv.Struct(SfTeamInviteDetails) class SfTeamInviteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamInviteType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamInviteType_validator = bv.Struct(SfTeamInviteType) class SfTeamJoinDetails(bb.Struct): """ Joined team member's shared folder. :ivar SfTeamJoinDetails.target_asset_index: Target asset position in the Assets list. :ivar SfTeamJoinDetails.original_folder_name: Original shared folder name. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", ] _has_required_fields = True def __init__(self, target_asset_index=None, original_folder_name=None): self._target_asset_index_value = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamJoinDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamJoinDetails_validator = bv.Struct(SfTeamJoinDetails) class SfTeamJoinFromOobLinkDetails(bb.Struct): """ Joined team member's shared folder from link. :ivar SfTeamJoinFromOobLinkDetails.target_asset_index: Target asset position in the Assets list. :ivar SfTeamJoinFromOobLinkDetails.original_folder_name: Original shared folder name. :ivar SfTeamJoinFromOobLinkDetails.token_key: Shared link token key. :ivar SfTeamJoinFromOobLinkDetails.sharing_permission: Sharing permission. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", "_token_key_value", "_sharing_permission_value", ] _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 = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET self._token_key_value = bb.NOT_SET self._sharing_permission_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") # Instance attribute type: str (validator is set below) token_key = bb.Attribute("token_key", nullable=True) # Instance attribute type: str (validator is set below) sharing_permission = bb.Attribute("sharing_permission", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamJoinFromOobLinkDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamJoinFromOobLinkDetails_validator = bv.Struct(SfTeamJoinFromOobLinkDetails) class SfTeamJoinFromOobLinkType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamJoinFromOobLinkType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamJoinFromOobLinkType_validator = bv.Struct(SfTeamJoinFromOobLinkType) class SfTeamJoinType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamJoinType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamJoinType_validator = bv.Struct(SfTeamJoinType) class SfTeamUninviteDetails(bb.Struct): """ Unshared folder with team member. :ivar SfTeamUninviteDetails.target_asset_index: Target asset position in the Assets list. :ivar SfTeamUninviteDetails.original_folder_name: Original shared folder name. """ __slots__ = [ "_target_asset_index_value", "_original_folder_name_value", ] _has_required_fields = True def __init__(self, target_asset_index=None, original_folder_name=None): self._target_asset_index_value = bb.NOT_SET self._original_folder_name_value = bb.NOT_SET 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 # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") # Instance attribute type: str (validator is set below) original_folder_name = bb.Attribute("original_folder_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamUninviteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamUninviteDetails_validator = bv.Struct(SfTeamUninviteDetails) class SfTeamUninviteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SfTeamUninviteType, self)._process_custom_annotations( annotation_type, field_path, processor ) SfTeamUninviteType_validator = bv.Struct(SfTeamUninviteType) class SharedContentAddInviteesDetails(bb.Struct): """ Invited user to Dropbox and added them to shared file/folder. :ivar SharedContentAddInviteesDetails.shared_content_access_level: Shared content access level. :ivar SharedContentAddInviteesDetails.invitees: A list of invitees. """ __slots__ = [ "_shared_content_access_level_value", "_invitees_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None, invitees=None): self._shared_content_access_level_value = bb.NOT_SET self._invitees_value = bb.NOT_SET 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 # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: list of [str] (validator is set below) invitees = bb.Attribute("invitees") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentAddInviteesDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentAddInviteesDetails_validator = bv.Struct(SharedContentAddInviteesDetails) class SharedContentAddInviteesType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentAddInviteesType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentAddInviteesType_validator = bv.Struct(SharedContentAddInviteesType) class SharedContentAddLinkExpiryDetails(bb.Struct): """ Added expiration date to link for shared file/folder. :ivar SharedContentAddLinkExpiryDetails.new_value: New shared content link expiration date. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", ] _has_required_fields = False def __init__(self, new_value=None): self._new_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value # Instance attribute type: datetime.datetime (validator is set below) new_value = bb.Attribute("new_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentAddLinkExpiryDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentAddLinkExpiryDetails_validator = bv.Struct(SharedContentAddLinkExpiryDetails) class SharedContentAddLinkExpiryType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentAddLinkExpiryType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SharedContentAddLinkPasswordDetails_validator = bv.Struct(SharedContentAddLinkPasswordDetails) class SharedContentAddLinkPasswordType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentAddLinkPasswordType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentAddLinkPasswordType_validator = bv.Struct(SharedContentAddLinkPasswordType) class SharedContentAddMemberDetails(bb.Struct): """ Added users and/or groups to shared file/folder. :ivar SharedContentAddMemberDetails.shared_content_access_level: Shared content access level. """ __slots__ = [ "_shared_content_access_level_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None): self._shared_content_access_level_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentAddMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentAddMemberDetails_validator = bv.Struct(SharedContentAddMemberDetails) class SharedContentAddMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentAddMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentAddMemberType_validator = bv.Struct(SharedContentAddMemberType) class SharedContentChangeDownloadsPolicyDetails(bb.Struct): """ Changed whether members can download shared file/folder. :ivar SharedContentChangeDownloadsPolicyDetails.new_value: New downloads policy. :ivar SharedContentChangeDownloadsPolicyDetails.previous_value: Previous downloads policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: DownloadPolicyType (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: DownloadPolicyType (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeDownloadsPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeDownloadsPolicyDetails_validator = bv.Struct( SharedContentChangeDownloadsPolicyDetails ) class SharedContentChangeDownloadsPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeDownloadsPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeDownloadsPolicyType_validator = bv.Struct(SharedContentChangeDownloadsPolicyType) class SharedContentChangeInviteeRoleDetails(bb.Struct): """ Changed access type of invitee to shared file/folder before invite was accepted. :ivar SharedContentChangeInviteeRoleDetails.previous_access_level: Previous access level. Might be missing due to historical data gap. :ivar SharedContentChangeInviteeRoleDetails.new_access_level: New access level. :ivar SharedContentChangeInviteeRoleDetails.invitee: The invitee whose role was changed. """ __slots__ = [ "_previous_access_level_value", "_new_access_level_value", "_invitee_value", ] _has_required_fields = True def __init__(self, new_access_level=None, invitee=None, previous_access_level=None): self._previous_access_level_value = bb.NOT_SET self._new_access_level_value = bb.NOT_SET self._invitee_value = bb.NOT_SET 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 # Instance attribute type: sharing.AccessLevel (validator is set below) previous_access_level = bb.Attribute("previous_access_level", nullable=True, user_defined=True) # Instance attribute type: sharing.AccessLevel (validator is set below) new_access_level = bb.Attribute("new_access_level", user_defined=True) # Instance attribute type: str (validator is set below) invitee = bb.Attribute("invitee") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeInviteeRoleDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeInviteeRoleDetails_validator = bv.Struct(SharedContentChangeInviteeRoleDetails) class SharedContentChangeInviteeRoleType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeInviteeRoleType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeInviteeRoleType_validator = bv.Struct(SharedContentChangeInviteeRoleType) class SharedContentChangeLinkAudienceDetails(bb.Struct): """ Changed link audience of shared file/folder. :ivar SharedContentChangeLinkAudienceDetails.new_value: New link audience value. :ivar SharedContentChangeLinkAudienceDetails.previous_value: Previous link audience value. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: sharing.LinkAudience (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: sharing.LinkAudience (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeLinkAudienceDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeLinkAudienceDetails_validator = bv.Struct(SharedContentChangeLinkAudienceDetails) class SharedContentChangeLinkAudienceType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeLinkAudienceType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeLinkAudienceType_validator = bv.Struct(SharedContentChangeLinkAudienceType) class SharedContentChangeLinkExpiryDetails(bb.Struct): """ Changed link expiration of shared file/folder. :ivar SharedContentChangeLinkExpiryDetails.new_value: New shared content link expiration date. Might be missing due to historical data gap. :ivar SharedContentChangeLinkExpiryDetails.previous_value: Previous shared content link expiration date. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: datetime.datetime (validator is set below) new_value = bb.Attribute("new_value", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeLinkExpiryDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeLinkExpiryDetails_validator = bv.Struct(SharedContentChangeLinkExpiryDetails) class SharedContentChangeLinkExpiryType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeLinkExpiryType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SharedContentChangeLinkPasswordDetails_validator = bv.Struct(SharedContentChangeLinkPasswordDetails) class SharedContentChangeLinkPasswordType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeLinkPasswordType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeLinkPasswordType_validator = bv.Struct(SharedContentChangeLinkPasswordType) class SharedContentChangeMemberRoleDetails(bb.Struct): """ Changed access type of shared file/folder member. :ivar SharedContentChangeMemberRoleDetails.previous_access_level: Previous access level. Might be missing due to historical data gap. :ivar SharedContentChangeMemberRoleDetails.new_access_level: New access level. """ __slots__ = [ "_previous_access_level_value", "_new_access_level_value", ] _has_required_fields = True def __init__(self, new_access_level=None, previous_access_level=None): self._previous_access_level_value = bb.NOT_SET self._new_access_level_value = bb.NOT_SET 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 # Instance attribute type: sharing.AccessLevel (validator is set below) previous_access_level = bb.Attribute("previous_access_level", nullable=True, user_defined=True) # Instance attribute type: sharing.AccessLevel (validator is set below) new_access_level = bb.Attribute("new_access_level", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeMemberRoleDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeMemberRoleDetails_validator = bv.Struct(SharedContentChangeMemberRoleDetails) class SharedContentChangeMemberRoleType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeMemberRoleType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeMemberRoleType_validator = bv.Struct(SharedContentChangeMemberRoleType) class SharedContentChangeViewerInfoPolicyDetails(bb.Struct): """ Changed whether members can see who viewed shared file/folder. :ivar SharedContentChangeViewerInfoPolicyDetails.new_value: New viewer info policy. :ivar SharedContentChangeViewerInfoPolicyDetails.previous_value: Previous view info policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: sharing.ViewerInfoPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: sharing.ViewerInfoPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeViewerInfoPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeViewerInfoPolicyDetails_validator = bv.Struct( SharedContentChangeViewerInfoPolicyDetails ) class SharedContentChangeViewerInfoPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentChangeViewerInfoPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentChangeViewerInfoPolicyType_validator = bv.Struct( SharedContentChangeViewerInfoPolicyType ) class SharedContentClaimInvitationDetails(bb.Struct): """ Acquired membership of shared file/folder by accepting invite. :ivar SharedContentClaimInvitationDetails.shared_content_link: Shared content link. """ __slots__ = [ "_shared_content_link_value", ] _has_required_fields = False def __init__(self, shared_content_link=None): self._shared_content_link_value = bb.NOT_SET if shared_content_link is not None: self.shared_content_link = shared_content_link # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentClaimInvitationDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentClaimInvitationDetails_validator = bv.Struct(SharedContentClaimInvitationDetails) class SharedContentClaimInvitationType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentClaimInvitationType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentClaimInvitationType_validator = bv.Struct(SharedContentClaimInvitationType) class SharedContentCopyDetails(bb.Struct): """ Copied shared file/folder to own Dropbox. :ivar SharedContentCopyDetails.shared_content_link: Shared content link. :ivar SharedContentCopyDetails.shared_content_owner: The shared content owner. :ivar SharedContentCopyDetails.shared_content_access_level: Shared content access level. :ivar SharedContentCopyDetails.destination_path: The path where the member saved the content. """ __slots__ = [ "_shared_content_link_value", "_shared_content_owner_value", "_shared_content_access_level_value", "_destination_path_value", ] _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 = bb.NOT_SET self._shared_content_owner_value = bb.NOT_SET self._shared_content_access_level_value = bb.NOT_SET self._destination_path_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link") # Instance attribute type: UserLogInfo (validator is set below) shared_content_owner = bb.Attribute("shared_content_owner", nullable=True, user_defined=True) # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) destination_path = bb.Attribute("destination_path") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentCopyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentCopyDetails_validator = bv.Struct(SharedContentCopyDetails) class SharedContentCopyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentCopyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentCopyType_validator = bv.Struct(SharedContentCopyType) class SharedContentDownloadDetails(bb.Struct): """ Downloaded shared file/folder. :ivar SharedContentDownloadDetails.shared_content_link: Shared content link. :ivar SharedContentDownloadDetails.shared_content_owner: The shared content owner. :ivar SharedContentDownloadDetails.shared_content_access_level: Shared content access level. """ __slots__ = [ "_shared_content_link_value", "_shared_content_owner_value", "_shared_content_access_level_value", ] _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 = bb.NOT_SET self._shared_content_owner_value = bb.NOT_SET self._shared_content_access_level_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link") # Instance attribute type: UserLogInfo (validator is set below) shared_content_owner = bb.Attribute("shared_content_owner", nullable=True, user_defined=True) # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentDownloadDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentDownloadDetails_validator = bv.Struct(SharedContentDownloadDetails) class SharedContentDownloadType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentDownloadType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SharedContentRelinquishMembershipDetails_validator = bv.Struct( SharedContentRelinquishMembershipDetails ) class SharedContentRelinquishMembershipType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRelinquishMembershipType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRelinquishMembershipType_validator = bv.Struct(SharedContentRelinquishMembershipType) class SharedContentRemoveInviteesDetails(bb.Struct): """ Removed invitee from shared file/folder before invite was accepted. :ivar SharedContentRemoveInviteesDetails.invitees: A list of invitees. """ __slots__ = [ "_invitees_value", ] _has_required_fields = True def __init__(self, invitees=None): self._invitees_value = bb.NOT_SET if invitees is not None: self.invitees = invitees # Instance attribute type: list of [str] (validator is set below) invitees = bb.Attribute("invitees") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRemoveInviteesDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRemoveInviteesDetails_validator = bv.Struct(SharedContentRemoveInviteesDetails) class SharedContentRemoveInviteesType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRemoveInviteesType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRemoveInviteesType_validator = bv.Struct(SharedContentRemoveInviteesType) class SharedContentRemoveLinkExpiryDetails(bb.Struct): """ Removed link expiration date of shared file/folder. :ivar SharedContentRemoveLinkExpiryDetails.previous_value: Previous shared content link expiration date. Might be missing due to historical data gap. """ __slots__ = [ "_previous_value_value", ] _has_required_fields = False def __init__(self, previous_value=None): self._previous_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value # Instance attribute type: datetime.datetime (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRemoveLinkExpiryDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRemoveLinkExpiryDetails_validator = bv.Struct(SharedContentRemoveLinkExpiryDetails) class SharedContentRemoveLinkExpiryType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRemoveLinkExpiryType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SharedContentRemoveLinkPasswordDetails_validator = bv.Struct(SharedContentRemoveLinkPasswordDetails) class SharedContentRemoveLinkPasswordType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRemoveLinkPasswordType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRemoveLinkPasswordType_validator = bv.Struct(SharedContentRemoveLinkPasswordType) class SharedContentRemoveMemberDetails(bb.Struct): """ Removed user/group from shared file/folder. :ivar SharedContentRemoveMemberDetails.shared_content_access_level: Shared content access level. """ __slots__ = [ "_shared_content_access_level_value", ] _has_required_fields = False def __init__(self, shared_content_access_level=None): self._shared_content_access_level_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute( "shared_content_access_level", nullable=True, user_defined=True ) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRemoveMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRemoveMemberDetails_validator = bv.Struct(SharedContentRemoveMemberDetails) class SharedContentRemoveMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRemoveMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRemoveMemberType_validator = bv.Struct(SharedContentRemoveMemberType) class SharedContentRequestAccessDetails(bb.Struct): """ Requested access to shared file/folder. :ivar SharedContentRequestAccessDetails.shared_content_link: Shared content link. """ __slots__ = [ "_shared_content_link_value", ] _has_required_fields = False def __init__(self, shared_content_link=None): self._shared_content_link_value = bb.NOT_SET if shared_content_link is not None: self.shared_content_link = shared_content_link # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRequestAccessDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRequestAccessDetails_validator = bv.Struct(SharedContentRequestAccessDetails) class SharedContentRequestAccessType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRequestAccessType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRequestAccessType_validator = bv.Struct(SharedContentRequestAccessType) class SharedContentRestoreInviteesDetails(bb.Struct): """ Restored shared file/folder invitees. :ivar SharedContentRestoreInviteesDetails.shared_content_access_level: Shared content access level. :ivar SharedContentRestoreInviteesDetails.invitees: A list of invitees. """ __slots__ = [ "_shared_content_access_level_value", "_invitees_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None, invitees=None): self._shared_content_access_level_value = bb.NOT_SET self._invitees_value = bb.NOT_SET 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 # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: list of [str] (validator is set below) invitees = bb.Attribute("invitees") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRestoreInviteesDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRestoreInviteesDetails_validator = bv.Struct(SharedContentRestoreInviteesDetails) class SharedContentRestoreInviteesType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRestoreInviteesType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRestoreInviteesType_validator = bv.Struct(SharedContentRestoreInviteesType) class SharedContentRestoreMemberDetails(bb.Struct): """ Restored users and/or groups to membership of shared file/folder. :ivar SharedContentRestoreMemberDetails.shared_content_access_level: Shared content access level. """ __slots__ = [ "_shared_content_access_level_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None): self._shared_content_access_level_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRestoreMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRestoreMemberDetails_validator = bv.Struct(SharedContentRestoreMemberDetails) class SharedContentRestoreMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentRestoreMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentRestoreMemberType_validator = bv.Struct(SharedContentRestoreMemberType) class SharedContentUnshareDetails(bb.Struct): """ Unshared file/folder by clearing membership. """ __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 ) SharedContentUnshareDetails_validator = bv.Struct(SharedContentUnshareDetails) class SharedContentUnshareType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentUnshareType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentUnshareType_validator = bv.Struct(SharedContentUnshareType) class SharedContentViewDetails(bb.Struct): """ Previewed shared file/folder. :ivar SharedContentViewDetails.shared_content_link: Shared content link. :ivar SharedContentViewDetails.shared_content_owner: The shared content owner. :ivar SharedContentViewDetails.shared_content_access_level: Shared content access level. """ __slots__ = [ "_shared_content_link_value", "_shared_content_owner_value", "_shared_content_access_level_value", ] _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 = bb.NOT_SET self._shared_content_owner_value = bb.NOT_SET self._shared_content_access_level_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link") # Instance attribute type: UserLogInfo (validator is set below) shared_content_owner = bb.Attribute("shared_content_owner", nullable=True, user_defined=True) # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentViewDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentViewDetails_validator = bv.Struct(SharedContentViewDetails) class SharedContentViewType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedContentViewType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedContentViewType_validator = bv.Struct(SharedContentViewType) class SharedFolderChangeLinkPolicyDetails(bb.Struct): """ Changed who can access shared folder via link. :ivar SharedFolderChangeLinkPolicyDetails.new_value: New shared folder link policy. :ivar SharedFolderChangeLinkPolicyDetails.previous_value: Previous shared folder link policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: sharing.SharedLinkPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: sharing.SharedLinkPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderChangeLinkPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderChangeLinkPolicyDetails_validator = bv.Struct(SharedFolderChangeLinkPolicyDetails) class SharedFolderChangeLinkPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderChangeLinkPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderChangeLinkPolicyType_validator = bv.Struct(SharedFolderChangeLinkPolicyType) class SharedFolderChangeMembersInheritancePolicyDetails(bb.Struct): """ Changed whether shared folder inherits members from parent folder. :ivar SharedFolderChangeMembersInheritancePolicyDetails.new_value: New member inheritance policy. :ivar SharedFolderChangeMembersInheritancePolicyDetails.previous_value: Previous member inheritance policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SharedFolderMembersInheritancePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SharedFolderMembersInheritancePolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderChangeMembersInheritancePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderChangeMembersInheritancePolicyDetails_validator = bv.Struct( SharedFolderChangeMembersInheritancePolicyDetails ) class SharedFolderChangeMembersInheritancePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderChangeMembersInheritancePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderChangeMembersInheritancePolicyType_validator = bv.Struct( SharedFolderChangeMembersInheritancePolicyType ) class SharedFolderChangeMembersManagementPolicyDetails(bb.Struct): """ Changed who can add/remove members of shared folder. :ivar SharedFolderChangeMembersManagementPolicyDetails.new_value: New members management policy. :ivar SharedFolderChangeMembersManagementPolicyDetails.previous_value: Previous members management policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: sharing.AclUpdatePolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: sharing.AclUpdatePolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderChangeMembersManagementPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderChangeMembersManagementPolicyDetails_validator = bv.Struct( SharedFolderChangeMembersManagementPolicyDetails ) class SharedFolderChangeMembersManagementPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderChangeMembersManagementPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderChangeMembersManagementPolicyType_validator = bv.Struct( SharedFolderChangeMembersManagementPolicyType ) class SharedFolderChangeMembersPolicyDetails(bb.Struct): """ Changed who can become member of shared folder. :ivar SharedFolderChangeMembersPolicyDetails.new_value: New external invite policy. :ivar SharedFolderChangeMembersPolicyDetails.previous_value: Previous external invite policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: sharing.MemberPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: sharing.MemberPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderChangeMembersPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderChangeMembersPolicyDetails_validator = bv.Struct(SharedFolderChangeMembersPolicyDetails) class SharedFolderChangeMembersPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderChangeMembersPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderChangeMembersPolicyType_validator = bv.Struct(SharedFolderChangeMembersPolicyType) class SharedFolderCreateDetails(bb.Struct): """ Created shared folder. :ivar SharedFolderCreateDetails.target_ns_id: Target namespace ID. """ __slots__ = [ "_target_ns_id_value", ] _has_required_fields = False def __init__(self, target_ns_id=None): self._target_ns_id_value = bb.NOT_SET if target_ns_id is not None: self.target_ns_id = target_ns_id # Instance attribute type: str (validator is set below) target_ns_id = bb.Attribute("target_ns_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderCreateDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderCreateDetails_validator = bv.Struct(SharedFolderCreateDetails) class SharedFolderCreateType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderCreateType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SharedFolderDeclineInvitationDetails_validator = bv.Struct(SharedFolderDeclineInvitationDetails) class SharedFolderDeclineInvitationType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderDeclineInvitationType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 dont_inherit_members = None # Attribute is overwritten below the class definition inherit_members = None # Attribute is overwritten below the class definition other = None 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_inherit_members(self): """ Check if the union tag is ``inherit_members``. :rtype: bool """ return self._tag == "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 ) 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 ) SharedFolderMountDetails_validator = bv.Struct(SharedFolderMountDetails) class SharedFolderMountType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderMountType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderMountType_validator = bv.Struct(SharedFolderMountType) class SharedFolderNestDetails(bb.Struct): """ Changed parent of shared folder. :ivar SharedFolderNestDetails.previous_parent_ns_id: Previous parent namespace ID. :ivar SharedFolderNestDetails.new_parent_ns_id: New parent namespace ID. :ivar SharedFolderNestDetails.previous_ns_path: Previous namespace path. :ivar SharedFolderNestDetails.new_ns_path: New namespace path. """ __slots__ = [ "_previous_parent_ns_id_value", "_new_parent_ns_id_value", "_previous_ns_path_value", "_new_ns_path_value", ] _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 = bb.NOT_SET self._new_parent_ns_id_value = bb.NOT_SET self._previous_ns_path_value = bb.NOT_SET self._new_ns_path_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) previous_parent_ns_id = bb.Attribute("previous_parent_ns_id", nullable=True) # Instance attribute type: str (validator is set below) new_parent_ns_id = bb.Attribute("new_parent_ns_id", nullable=True) # Instance attribute type: str (validator is set below) previous_ns_path = bb.Attribute("previous_ns_path", nullable=True) # Instance attribute type: str (validator is set below) new_ns_path = bb.Attribute("new_ns_path", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderNestDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderNestDetails_validator = bv.Struct(SharedFolderNestDetails) class SharedFolderNestType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderNestType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderNestType_validator = bv.Struct(SharedFolderNestType) class SharedFolderTransferOwnershipDetails(bb.Struct): """ Transferred ownership of shared folder to another member. :ivar SharedFolderTransferOwnershipDetails.previous_owner_email: The email address of the previous shared folder owner. :ivar SharedFolderTransferOwnershipDetails.new_owner_email: The email address of the new shared folder owner. """ __slots__ = [ "_previous_owner_email_value", "_new_owner_email_value", ] _has_required_fields = True def __init__(self, new_owner_email=None, previous_owner_email=None): self._previous_owner_email_value = bb.NOT_SET self._new_owner_email_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) previous_owner_email = bb.Attribute("previous_owner_email", nullable=True) # Instance attribute type: str (validator is set below) new_owner_email = bb.Attribute("new_owner_email") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderTransferOwnershipDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderTransferOwnershipDetails_validator = bv.Struct(SharedFolderTransferOwnershipDetails) class SharedFolderTransferOwnershipType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderTransferOwnershipType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SharedFolderUnmountDetails_validator = bv.Struct(SharedFolderUnmountDetails) class SharedFolderUnmountType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFolderUnmountType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderUnmountType_validator = bv.Struct(SharedFolderUnmountType) class SharedFoldersCreateReportDetails(bb.Struct): """ Created shared folders report. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFoldersCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFoldersCreateReportDetails_validator = bv.Struct(SharedFoldersCreateReportDetails) class SharedFoldersCreateReportFailedDetails(bb.Struct): """ Couldn't generate shared folders report. :ivar SharedFoldersCreateReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFoldersCreateReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFoldersCreateReportFailedDetails_validator = bv.Struct(SharedFoldersCreateReportFailedDetails) class SharedFoldersCreateReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFoldersCreateReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFoldersCreateReportFailedType_validator = bv.Struct(SharedFoldersCreateReportFailedType) class SharedFoldersCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedFoldersCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFoldersCreateReportType_validator = bv.Struct(SharedFoldersCreateReportType) 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 ) SharedLinkAccessLevel_validator = bv.Union(SharedLinkAccessLevel) class SharedLinkAddExpiryDetails(bb.Struct): """ Added shared link expiration date. :ivar SharedLinkAddExpiryDetails.new_value: New shared link expiration date. :ivar SharedLinkAddExpiryDetails.is_consolidation_action: Indicates whether this was a consolidation action by system. """ __slots__ = [ "_new_value_value", "_is_consolidation_action_value", ] _has_required_fields = True def __init__(self, new_value=None, is_consolidation_action=None): self._new_value_value = bb.NOT_SET self._is_consolidation_action_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if is_consolidation_action is not None: self.is_consolidation_action = is_consolidation_action # Instance attribute type: datetime.datetime (validator is set below) new_value = bb.Attribute("new_value") # Instance attribute type: bool (validator is set below) is_consolidation_action = bb.Attribute("is_consolidation_action", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkAddExpiryDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkAddExpiryDetails_validator = bv.Struct(SharedLinkAddExpiryDetails) class SharedLinkAddExpiryType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkAddExpiryType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkAddExpiryType_validator = bv.Struct(SharedLinkAddExpiryType) class SharedLinkChangeExpiryDetails(bb.Struct): """ Changed shared link expiration date. :ivar SharedLinkChangeExpiryDetails.new_value: New shared link expiration date. Might be missing due to historical data gap. :ivar SharedLinkChangeExpiryDetails.previous_value: Previous shared link expiration date. Might be missing due to historical data gap. :ivar SharedLinkChangeExpiryDetails.is_consolidation_action: Indicates whether this was a consolidation action by system. """ __slots__ = [ "_new_value_value", "_previous_value_value", "_is_consolidation_action_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None, is_consolidation_action=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._is_consolidation_action_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value if is_consolidation_action is not None: self.is_consolidation_action = is_consolidation_action # Instance attribute type: datetime.datetime (validator is set below) new_value = bb.Attribute("new_value", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) # Instance attribute type: bool (validator is set below) is_consolidation_action = bb.Attribute("is_consolidation_action", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkChangeExpiryDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkChangeExpiryDetails_validator = bv.Struct(SharedLinkChangeExpiryDetails) class SharedLinkChangeExpiryType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkChangeExpiryType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkChangeExpiryType_validator = bv.Struct(SharedLinkChangeExpiryType) class SharedLinkChangeVisibilityDetails(bb.Struct): """ Changed visibility of shared link. :ivar SharedLinkChangeVisibilityDetails.new_value: New shared link visibility. :ivar SharedLinkChangeVisibilityDetails.previous_value: Previous shared link visibility. Might be missing due to historical data gap. :ivar SharedLinkChangeVisibilityDetails.is_consolidation_action: Indicates whether this was a consolidation action by system. """ __slots__ = [ "_new_value_value", "_previous_value_value", "_is_consolidation_action_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None, is_consolidation_action=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._is_consolidation_action_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value if is_consolidation_action is not None: self.is_consolidation_action = is_consolidation_action # Instance attribute type: SharedLinkVisibility (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SharedLinkVisibility (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) is_consolidation_action = bb.Attribute("is_consolidation_action", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkChangeVisibilityDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkChangeVisibilityDetails_validator = bv.Struct(SharedLinkChangeVisibilityDetails) class SharedLinkChangeVisibilityType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkChangeVisibilityType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkChangeVisibilityType_validator = bv.Struct(SharedLinkChangeVisibilityType) class SharedLinkCopyDetails(bb.Struct): """ Added file/folder to Dropbox from shared link. :ivar SharedLinkCopyDetails.shared_link_owner: Shared link owner details. Might be missing due to historical data gap. """ __slots__ = [ "_shared_link_owner_value", ] _has_required_fields = False def __init__(self, shared_link_owner=None): self._shared_link_owner_value = bb.NOT_SET if shared_link_owner is not None: self.shared_link_owner = shared_link_owner # Instance attribute type: UserLogInfo (validator is set below) shared_link_owner = bb.Attribute("shared_link_owner", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkCopyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkCopyDetails_validator = bv.Struct(SharedLinkCopyDetails) class SharedLinkCopyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkCopyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkCopyType_validator = bv.Struct(SharedLinkCopyType) class SharedLinkCreateDetails(bb.Struct): """ Created shared link. :ivar 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", ] _has_required_fields = False def __init__(self, shared_link_access_level=None): self._shared_link_access_level_value = bb.NOT_SET if shared_link_access_level is not None: self.shared_link_access_level = shared_link_access_level # Instance attribute type: SharedLinkAccessLevel (validator is set below) shared_link_access_level = bb.Attribute( "shared_link_access_level", nullable=True, user_defined=True ) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkCreateDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkCreateDetails_validator = bv.Struct(SharedLinkCreateDetails) class SharedLinkCreateType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkCreateType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkCreateType_validator = bv.Struct(SharedLinkCreateType) class SharedLinkDefaultPermissionsPolicy(bb.Union): """ Policy for deciding the default permissions granted through 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. """ _catch_all = "other" # Attribute is overwritten below the class definition default = None # Attribute is overwritten below the class definition edit = None # Attribute is overwritten below the class definition view = 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_edit(self): """ Check if the union tag is ``edit``. :rtype: bool """ return self._tag == "edit" def is_view(self): """ Check if the union tag is ``view``. :rtype: bool """ return self._tag == "view" 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(SharedLinkDefaultPermissionsPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkDefaultPermissionsPolicy_validator = bv.Union(SharedLinkDefaultPermissionsPolicy) class SharedLinkDefaultPermissionsPolicyChangedDetails(bb.Struct): """ Changed shared link default permissions policy for team. :ivar SharedLinkDefaultPermissionsPolicyChangedDetails.new_value: To. :ivar SharedLinkDefaultPermissionsPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SharedLinkDefaultPermissionsPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SharedLinkDefaultPermissionsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkDefaultPermissionsPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkDefaultPermissionsPolicyChangedDetails_validator = bv.Struct( SharedLinkDefaultPermissionsPolicyChangedDetails ) class SharedLinkDefaultPermissionsPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkDefaultPermissionsPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkDefaultPermissionsPolicyChangedType_validator = bv.Struct( SharedLinkDefaultPermissionsPolicyChangedType ) class SharedLinkDisableDetails(bb.Struct): """ Removed shared link. :ivar SharedLinkDisableDetails.shared_link_owner: Shared link owner details. Might be missing due to historical data gap. """ __slots__ = [ "_shared_link_owner_value", ] _has_required_fields = False def __init__(self, shared_link_owner=None): self._shared_link_owner_value = bb.NOT_SET if shared_link_owner is not None: self.shared_link_owner = shared_link_owner # Instance attribute type: UserLogInfo (validator is set below) shared_link_owner = bb.Attribute("shared_link_owner", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkDisableDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkDisableDetails_validator = bv.Struct(SharedLinkDisableDetails) class SharedLinkDisableType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkDisableType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkDisableType_validator = bv.Struct(SharedLinkDisableType) class SharedLinkDownloadDetails(bb.Struct): """ Downloaded file/folder from shared link. :ivar SharedLinkDownloadDetails.shared_link_owner: Shared link owner details. Might be missing due to historical data gap. """ __slots__ = [ "_shared_link_owner_value", ] _has_required_fields = False def __init__(self, shared_link_owner=None): self._shared_link_owner_value = bb.NOT_SET if shared_link_owner is not None: self.shared_link_owner = shared_link_owner # Instance attribute type: UserLogInfo (validator is set below) shared_link_owner = bb.Attribute("shared_link_owner", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkDownloadDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkDownloadDetails_validator = bv.Struct(SharedLinkDownloadDetails) class SharedLinkDownloadType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkDownloadType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkDownloadType_validator = bv.Struct(SharedLinkDownloadType) class SharedLinkRemoveExpiryDetails(bb.Struct): """ Removed shared link expiration date. :ivar SharedLinkRemoveExpiryDetails.previous_value: Previous shared link expiration date. Might be missing due to historical data gap. """ __slots__ = [ "_previous_value_value", ] _has_required_fields = False def __init__(self, previous_value=None): self._previous_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value # Instance attribute type: datetime.datetime (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkRemoveExpiryDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkRemoveExpiryDetails_validator = bv.Struct(SharedLinkRemoveExpiryDetails) class SharedLinkRemoveExpiryType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkRemoveExpiryType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkRemoveExpiryType_validator = bv.Struct(SharedLinkRemoveExpiryType) class SharedLinkRemoveVisitorDetails(bb.Struct): """ Removed link visitor. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkRemoveVisitorDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkRemoveVisitorDetails_validator = bv.Struct(SharedLinkRemoveVisitorDetails) class SharedLinkRemoveVisitorType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkRemoveVisitorType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkRemoveVisitorType_validator = bv.Struct(SharedLinkRemoveVisitorType) class SharedLinkSettingsAddExpirationDetails(bb.Struct): """ Added an expiration date to the shared link. :ivar SharedLinkSettingsAddExpirationDetails.shared_content_access_level: Shared content access level. :ivar SharedLinkSettingsAddExpirationDetails.shared_content_link: Shared content link. :ivar SharedLinkSettingsAddExpirationDetails.new_value: New shared content link expiration date. Might be missing due to historical data gap. """ __slots__ = [ "_shared_content_access_level_value", "_shared_content_link_value", "_new_value_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None, shared_content_link=None, new_value=None): self._shared_content_access_level_value = bb.NOT_SET self._shared_content_link_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level if shared_content_link is not None: self.shared_content_link = shared_content_link if new_value is not None: self.new_value = new_value # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) new_value = bb.Attribute("new_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsAddExpirationDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsAddExpirationDetails_validator = bv.Struct(SharedLinkSettingsAddExpirationDetails) class SharedLinkSettingsAddExpirationType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsAddExpirationType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsAddExpirationType_validator = bv.Struct(SharedLinkSettingsAddExpirationType) class SharedLinkSettingsAddPasswordDetails(bb.Struct): """ Added a password to the shared link. :ivar SharedLinkSettingsAddPasswordDetails.shared_content_access_level: Shared content access level. :ivar SharedLinkSettingsAddPasswordDetails.shared_content_link: Shared content link. """ __slots__ = [ "_shared_content_access_level_value", "_shared_content_link_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None, shared_content_link=None): self._shared_content_access_level_value = bb.NOT_SET self._shared_content_link_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level if shared_content_link is not None: self.shared_content_link = shared_content_link # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsAddPasswordDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsAddPasswordDetails_validator = bv.Struct(SharedLinkSettingsAddPasswordDetails) class SharedLinkSettingsAddPasswordType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsAddPasswordType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsAddPasswordType_validator = bv.Struct(SharedLinkSettingsAddPasswordType) class SharedLinkSettingsAllowDownloadDisabledDetails(bb.Struct): """ Disabled downloads. :ivar SharedLinkSettingsAllowDownloadDisabledDetails.shared_content_access_level: Shared content access level. :ivar SharedLinkSettingsAllowDownloadDisabledDetails.shared_content_link: Shared content link. """ __slots__ = [ "_shared_content_access_level_value", "_shared_content_link_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None, shared_content_link=None): self._shared_content_access_level_value = bb.NOT_SET self._shared_content_link_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level if shared_content_link is not None: self.shared_content_link = shared_content_link # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsAllowDownloadDisabledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsAllowDownloadDisabledDetails_validator = bv.Struct( SharedLinkSettingsAllowDownloadDisabledDetails ) class SharedLinkSettingsAllowDownloadDisabledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsAllowDownloadDisabledType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsAllowDownloadDisabledType_validator = bv.Struct( SharedLinkSettingsAllowDownloadDisabledType ) class SharedLinkSettingsAllowDownloadEnabledDetails(bb.Struct): """ Enabled downloads. :ivar SharedLinkSettingsAllowDownloadEnabledDetails.shared_content_access_level: Shared content access level. :ivar SharedLinkSettingsAllowDownloadEnabledDetails.shared_content_link: Shared content link. """ __slots__ = [ "_shared_content_access_level_value", "_shared_content_link_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None, shared_content_link=None): self._shared_content_access_level_value = bb.NOT_SET self._shared_content_link_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level if shared_content_link is not None: self.shared_content_link = shared_content_link # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsAllowDownloadEnabledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsAllowDownloadEnabledDetails_validator = bv.Struct( SharedLinkSettingsAllowDownloadEnabledDetails ) class SharedLinkSettingsAllowDownloadEnabledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsAllowDownloadEnabledType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsAllowDownloadEnabledType_validator = bv.Struct( SharedLinkSettingsAllowDownloadEnabledType ) class SharedLinkSettingsChangeAudienceDetails(bb.Struct): """ Changed the audience of the shared link. :ivar SharedLinkSettingsChangeAudienceDetails.shared_content_access_level: Shared content access level. :ivar SharedLinkSettingsChangeAudienceDetails.shared_content_link: Shared content link. :ivar SharedLinkSettingsChangeAudienceDetails.new_value: New link audience value. :ivar SharedLinkSettingsChangeAudienceDetails.previous_value: Previous link audience value. """ __slots__ = [ "_shared_content_access_level_value", "_shared_content_link_value", "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__( self, shared_content_access_level=None, new_value=None, shared_content_link=None, previous_value=None, ): self._shared_content_access_level_value = bb.NOT_SET self._shared_content_link_value = bb.NOT_SET self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level if shared_content_link is not None: self.shared_content_link = shared_content_link if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) # Instance attribute type: sharing.LinkAudience (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: sharing.LinkAudience (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsChangeAudienceDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsChangeAudienceDetails_validator = bv.Struct( SharedLinkSettingsChangeAudienceDetails ) class SharedLinkSettingsChangeAudienceType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsChangeAudienceType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsChangeAudienceType_validator = bv.Struct(SharedLinkSettingsChangeAudienceType) class SharedLinkSettingsChangeExpirationDetails(bb.Struct): """ Changed the expiration date of the shared link. :ivar SharedLinkSettingsChangeExpirationDetails.shared_content_access_level: Shared content access level. :ivar SharedLinkSettingsChangeExpirationDetails.shared_content_link: Shared content link. :ivar SharedLinkSettingsChangeExpirationDetails.new_value: New shared content link expiration date. Might be missing due to historical data gap. :ivar SharedLinkSettingsChangeExpirationDetails.previous_value: Previous shared content link expiration date. Might be missing due to historical data gap. """ __slots__ = [ "_shared_content_access_level_value", "_shared_content_link_value", "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__( self, shared_content_access_level=None, shared_content_link=None, new_value=None, previous_value=None, ): self._shared_content_access_level_value = bb.NOT_SET self._shared_content_link_value = bb.NOT_SET self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level if shared_content_link is not None: self.shared_content_link = shared_content_link if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) new_value = bb.Attribute("new_value", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsChangeExpirationDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsChangeExpirationDetails_validator = bv.Struct( SharedLinkSettingsChangeExpirationDetails ) class SharedLinkSettingsChangeExpirationType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsChangeExpirationType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsChangeExpirationType_validator = bv.Struct(SharedLinkSettingsChangeExpirationType) class SharedLinkSettingsChangePasswordDetails(bb.Struct): """ Changed the password of the shared link. :ivar SharedLinkSettingsChangePasswordDetails.shared_content_access_level: Shared content access level. :ivar SharedLinkSettingsChangePasswordDetails.shared_content_link: Shared content link. """ __slots__ = [ "_shared_content_access_level_value", "_shared_content_link_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None, shared_content_link=None): self._shared_content_access_level_value = bb.NOT_SET self._shared_content_link_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level if shared_content_link is not None: self.shared_content_link = shared_content_link # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsChangePasswordDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsChangePasswordDetails_validator = bv.Struct( SharedLinkSettingsChangePasswordDetails ) class SharedLinkSettingsChangePasswordType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsChangePasswordType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsChangePasswordType_validator = bv.Struct(SharedLinkSettingsChangePasswordType) class SharedLinkSettingsRemoveExpirationDetails(bb.Struct): """ Removed the expiration date from the shared link. :ivar SharedLinkSettingsRemoveExpirationDetails.shared_content_access_level: Shared content access level. :ivar SharedLinkSettingsRemoveExpirationDetails.shared_content_link: Shared content link. :ivar SharedLinkSettingsRemoveExpirationDetails.previous_value: Previous shared link expiration date. Might be missing due to historical data gap. """ __slots__ = [ "_shared_content_access_level_value", "_shared_content_link_value", "_previous_value_value", ] _has_required_fields = True def __init__( self, shared_content_access_level=None, shared_content_link=None, previous_value=None, ): self._shared_content_access_level_value = bb.NOT_SET self._shared_content_link_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level if shared_content_link is not None: self.shared_content_link = shared_content_link if previous_value is not None: self.previous_value = previous_value # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) # Instance attribute type: datetime.datetime (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsRemoveExpirationDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsRemoveExpirationDetails_validator = bv.Struct( SharedLinkSettingsRemoveExpirationDetails ) class SharedLinkSettingsRemoveExpirationType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsRemoveExpirationType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsRemoveExpirationType_validator = bv.Struct(SharedLinkSettingsRemoveExpirationType) class SharedLinkSettingsRemovePasswordDetails(bb.Struct): """ Removed the password from the shared link. :ivar SharedLinkSettingsRemovePasswordDetails.shared_content_access_level: Shared content access level. :ivar SharedLinkSettingsRemovePasswordDetails.shared_content_link: Shared content link. """ __slots__ = [ "_shared_content_access_level_value", "_shared_content_link_value", ] _has_required_fields = True def __init__(self, shared_content_access_level=None, shared_content_link=None): self._shared_content_access_level_value = bb.NOT_SET self._shared_content_link_value = bb.NOT_SET if shared_content_access_level is not None: self.shared_content_access_level = shared_content_access_level if shared_content_link is not None: self.shared_content_link = shared_content_link # Instance attribute type: sharing.AccessLevel (validator is set below) shared_content_access_level = bb.Attribute("shared_content_access_level", user_defined=True) # Instance attribute type: str (validator is set below) shared_content_link = bb.Attribute("shared_content_link", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsRemovePasswordDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsRemovePasswordDetails_validator = bv.Struct( SharedLinkSettingsRemovePasswordDetails ) class SharedLinkSettingsRemovePasswordType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkSettingsRemovePasswordType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkSettingsRemovePasswordType_validator = bv.Struct(SharedLinkSettingsRemovePasswordType) class SharedLinkShareDetails(bb.Struct): """ Added members as audience of shared link. :ivar SharedLinkShareDetails.shared_link_owner: Shared link owner details. Might be missing due to historical data gap. :ivar SharedLinkShareDetails.external_users: Users without a Dropbox account that were added as shared link audience. """ __slots__ = [ "_shared_link_owner_value", "_external_users_value", ] _has_required_fields = False def __init__(self, shared_link_owner=None, external_users=None): self._shared_link_owner_value = bb.NOT_SET self._external_users_value = bb.NOT_SET 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 # Instance attribute type: UserLogInfo (validator is set below) shared_link_owner = bb.Attribute("shared_link_owner", nullable=True, user_defined=True) # Instance attribute type: list of [ExternalUserLogInfo] (validator is set below) external_users = bb.Attribute("external_users", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkShareDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkShareDetails_validator = bv.Struct(SharedLinkShareDetails) class SharedLinkShareType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkShareType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkShareType_validator = bv.Struct(SharedLinkShareType) class SharedLinkViewDetails(bb.Struct): """ Opened shared link. :ivar SharedLinkViewDetails.shared_link_owner: Shared link owner details. Might be missing due to historical data gap. """ __slots__ = [ "_shared_link_owner_value", ] _has_required_fields = False def __init__(self, shared_link_owner=None): self._shared_link_owner_value = bb.NOT_SET if shared_link_owner is not None: self.shared_link_owner = shared_link_owner # Instance attribute type: UserLogInfo (validator is set below) shared_link_owner = bb.Attribute("shared_link_owner", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkViewDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkViewDetails_validator = bv.Struct(SharedLinkViewDetails) class SharedLinkViewType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedLinkViewType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 no_one = None # 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_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_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 ) 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 ) SharedNoteOpenedDetails_validator = bv.Struct(SharedNoteOpenedDetails) class SharedNoteOpenedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharedNoteOpenedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedNoteOpenedType_validator = bv.Struct(SharedNoteOpenedType) class SharingChangeFolderJoinPolicyDetails(bb.Struct): """ Changed whether team members can join shared folders owned outside team. :ivar SharingChangeFolderJoinPolicyDetails.new_value: New external join policy. :ivar SharingChangeFolderJoinPolicyDetails.previous_value: Previous external join policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SharingFolderJoinPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SharingFolderJoinPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeFolderJoinPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeFolderJoinPolicyDetails_validator = bv.Struct(SharingChangeFolderJoinPolicyDetails) class SharingChangeFolderJoinPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeFolderJoinPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeFolderJoinPolicyType_validator = bv.Struct(SharingChangeFolderJoinPolicyType) class SharingChangeLinkAllowChangeExpirationPolicyDetails(bb.Struct): """ Changed the allow remove or change expiration policy for the links shared outside of the team. :ivar SharingChangeLinkAllowChangeExpirationPolicyDetails.new_value: To. :ivar SharingChangeLinkAllowChangeExpirationPolicyDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: EnforceLinkPasswordPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: EnforceLinkPasswordPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super( SharingChangeLinkAllowChangeExpirationPolicyDetails, self )._process_custom_annotations(annotation_type, field_path, processor) SharingChangeLinkAllowChangeExpirationPolicyDetails_validator = bv.Struct( SharingChangeLinkAllowChangeExpirationPolicyDetails ) class SharingChangeLinkAllowChangeExpirationPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeLinkAllowChangeExpirationPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeLinkAllowChangeExpirationPolicyType_validator = bv.Struct( SharingChangeLinkAllowChangeExpirationPolicyType ) class SharingChangeLinkDefaultExpirationPolicyDetails(bb.Struct): """ Changed the default expiration for the links shared outside of the team. :ivar SharingChangeLinkDefaultExpirationPolicyDetails.new_value: To. :ivar SharingChangeLinkDefaultExpirationPolicyDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: DefaultLinkExpirationDaysPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: DefaultLinkExpirationDaysPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeLinkDefaultExpirationPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeLinkDefaultExpirationPolicyDetails_validator = bv.Struct( SharingChangeLinkDefaultExpirationPolicyDetails ) class SharingChangeLinkDefaultExpirationPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeLinkDefaultExpirationPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeLinkDefaultExpirationPolicyType_validator = bv.Struct( SharingChangeLinkDefaultExpirationPolicyType ) class SharingChangeLinkEnforcePasswordPolicyDetails(bb.Struct): """ Changed the password requirement for the links shared outside of the team. :ivar SharingChangeLinkEnforcePasswordPolicyDetails.new_value: To. :ivar SharingChangeLinkEnforcePasswordPolicyDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ChangeLinkExpirationPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ChangeLinkExpirationPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeLinkEnforcePasswordPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeLinkEnforcePasswordPolicyDetails_validator = bv.Struct( SharingChangeLinkEnforcePasswordPolicyDetails ) class SharingChangeLinkEnforcePasswordPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeLinkEnforcePasswordPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeLinkEnforcePasswordPolicyType_validator = bv.Struct( SharingChangeLinkEnforcePasswordPolicyType ) 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 SharingChangeLinkPolicyDetails.new_value: New external link accessibility policy. :ivar SharingChangeLinkPolicyDetails.previous_value: Previous external link accessibility policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SharingLinkPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SharingLinkPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeLinkPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeLinkPolicyDetails_validator = bv.Struct(SharingChangeLinkPolicyDetails) class SharingChangeLinkPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeLinkPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeLinkPolicyType_validator = bv.Struct(SharingChangeLinkPolicyType) class SharingChangeMemberPolicyDetails(bb.Struct): """ Changed whether members can share files/folders outside team. :ivar SharingChangeMemberPolicyDetails.new_value: New external invite policy. :ivar SharingChangeMemberPolicyDetails.previous_value: Previous external invite policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SharingMemberPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SharingMemberPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeMemberPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SharingChangeMemberPolicyDetails_validator = bv.Struct(SharingChangeMemberPolicyDetails) class SharingChangeMemberPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SharingChangeMemberPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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_no_one = None # 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_no_one(self): """ Check if the union tag is ``default_no_one``. :rtype: bool """ return self._tag == "default_no_one" 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 ) 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 forbid_with_exclusions = 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_forbid_with_exclusions(self): """ Check if the union tag is ``forbid_with_exclusions``. :rtype: bool """ return self._tag == "forbid_with_exclusions" 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 ) SharingMemberPolicy_validator = bv.Union(SharingMemberPolicy) class ShmodelDisableDownloadsDetails(bb.Struct): """ Disabled downloads for link. :ivar ShmodelDisableDownloadsDetails.shared_link_owner: Shared link owner details. Might be missing due to historical data gap. """ __slots__ = [ "_shared_link_owner_value", ] _has_required_fields = False def __init__(self, shared_link_owner=None): self._shared_link_owner_value = bb.NOT_SET if shared_link_owner is not None: self.shared_link_owner = shared_link_owner # Instance attribute type: UserLogInfo (validator is set below) shared_link_owner = bb.Attribute("shared_link_owner", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShmodelDisableDownloadsDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShmodelDisableDownloadsDetails_validator = bv.Struct(ShmodelDisableDownloadsDetails) class ShmodelDisableDownloadsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShmodelDisableDownloadsType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShmodelDisableDownloadsType_validator = bv.Struct(ShmodelDisableDownloadsType) class ShmodelEnableDownloadsDetails(bb.Struct): """ Enabled downloads for link. :ivar ShmodelEnableDownloadsDetails.shared_link_owner: Shared link owner details. Might be missing due to historical data gap. """ __slots__ = [ "_shared_link_owner_value", ] _has_required_fields = False def __init__(self, shared_link_owner=None): self._shared_link_owner_value = bb.NOT_SET if shared_link_owner is not None: self.shared_link_owner = shared_link_owner # Instance attribute type: UserLogInfo (validator is set below) shared_link_owner = bb.Attribute("shared_link_owner", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShmodelEnableDownloadsDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShmodelEnableDownloadsDetails_validator = bv.Struct(ShmodelEnableDownloadsDetails) class ShmodelEnableDownloadsType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShmodelEnableDownloadsType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShmodelEnableDownloadsType_validator = bv.Struct(ShmodelEnableDownloadsType) 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 ) ShmodelGroupShareDetails_validator = bv.Struct(ShmodelGroupShareDetails) class ShmodelGroupShareType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShmodelGroupShareType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShmodelGroupShareType_validator = bv.Struct(ShmodelGroupShareType) class ShowcaseAccessGrantedDetails(bb.Struct): """ Granted access to showcase. :ivar ShowcaseAccessGrantedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseAccessGrantedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseAccessGrantedDetails_validator = bv.Struct(ShowcaseAccessGrantedDetails) class ShowcaseAccessGrantedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseAccessGrantedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseAccessGrantedType_validator = bv.Struct(ShowcaseAccessGrantedType) class ShowcaseAddMemberDetails(bb.Struct): """ Added member to showcase. :ivar ShowcaseAddMemberDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseAddMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseAddMemberDetails_validator = bv.Struct(ShowcaseAddMemberDetails) class ShowcaseAddMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseAddMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseAddMemberType_validator = bv.Struct(ShowcaseAddMemberType) class ShowcaseArchivedDetails(bb.Struct): """ Archived showcase. :ivar ShowcaseArchivedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseArchivedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseArchivedDetails_validator = bv.Struct(ShowcaseArchivedDetails) class ShowcaseArchivedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseArchivedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseArchivedType_validator = bv.Struct(ShowcaseArchivedType) class ShowcaseChangeDownloadPolicyDetails(bb.Struct): """ Enabled/disabled downloading files from Dropbox Showcase for team. :ivar ShowcaseChangeDownloadPolicyDetails.new_value: New Dropbox Showcase download policy. :ivar ShowcaseChangeDownloadPolicyDetails.previous_value: Previous Dropbox Showcase download policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ShowcaseDownloadPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ShowcaseDownloadPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseChangeDownloadPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseChangeDownloadPolicyDetails_validator = bv.Struct(ShowcaseChangeDownloadPolicyDetails) class ShowcaseChangeDownloadPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseChangeDownloadPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseChangeDownloadPolicyType_validator = bv.Struct(ShowcaseChangeDownloadPolicyType) class ShowcaseChangeEnabledPolicyDetails(bb.Struct): """ Enabled/disabled Dropbox Showcase for team. :ivar ShowcaseChangeEnabledPolicyDetails.new_value: New Dropbox Showcase policy. :ivar ShowcaseChangeEnabledPolicyDetails.previous_value: Previous Dropbox Showcase policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ShowcaseEnabledPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ShowcaseEnabledPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseChangeEnabledPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseChangeEnabledPolicyDetails_validator = bv.Struct(ShowcaseChangeEnabledPolicyDetails) class ShowcaseChangeEnabledPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseChangeEnabledPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseChangeEnabledPolicyType_validator = bv.Struct(ShowcaseChangeEnabledPolicyType) class ShowcaseChangeExternalSharingPolicyDetails(bb.Struct): """ Enabled/disabled sharing Dropbox Showcase externally for team. :ivar ShowcaseChangeExternalSharingPolicyDetails.new_value: New Dropbox Showcase external sharing policy. :ivar ShowcaseChangeExternalSharingPolicyDetails.previous_value: Previous Dropbox Showcase external sharing policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: ShowcaseExternalSharingPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: ShowcaseExternalSharingPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseChangeExternalSharingPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseChangeExternalSharingPolicyDetails_validator = bv.Struct( ShowcaseChangeExternalSharingPolicyDetails ) class ShowcaseChangeExternalSharingPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseChangeExternalSharingPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseChangeExternalSharingPolicyType_validator = bv.Struct( ShowcaseChangeExternalSharingPolicyType ) class ShowcaseCreatedDetails(bb.Struct): """ Created showcase. :ivar ShowcaseCreatedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseCreatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseCreatedDetails_validator = bv.Struct(ShowcaseCreatedDetails) class ShowcaseCreatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseCreatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseCreatedType_validator = bv.Struct(ShowcaseCreatedType) class ShowcaseDeleteCommentDetails(bb.Struct): """ Deleted showcase comment. :ivar ShowcaseDeleteCommentDetails.event_uuid: Event unique identifier. :ivar ShowcaseDeleteCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseDeleteCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseDeleteCommentDetails_validator = bv.Struct(ShowcaseDeleteCommentDetails) class ShowcaseDeleteCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseDeleteCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseDeleteCommentType_validator = bv.Struct(ShowcaseDeleteCommentType) class ShowcaseDocumentLogInfo(bb.Struct): """ Showcase document's logged information. :ivar ShowcaseDocumentLogInfo.showcase_id: Showcase document Id. :ivar ShowcaseDocumentLogInfo.showcase_title: Showcase document title. """ __slots__ = [ "_showcase_id_value", "_showcase_title_value", ] _has_required_fields = True def __init__(self, showcase_id=None, showcase_title=None): self._showcase_id_value = bb.NOT_SET self._showcase_title_value = bb.NOT_SET if showcase_id is not None: self.showcase_id = showcase_id if showcase_title is not None: self.showcase_title = showcase_title # Instance attribute type: str (validator is set below) showcase_id = bb.Attribute("showcase_id") # Instance attribute type: str (validator is set below) showcase_title = bb.Attribute("showcase_title") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseDocumentLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) ShowcaseDownloadPolicy_validator = bv.Union(ShowcaseDownloadPolicy) class ShowcaseEditCommentDetails(bb.Struct): """ Edited showcase comment. :ivar ShowcaseEditCommentDetails.event_uuid: Event unique identifier. :ivar ShowcaseEditCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseEditCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseEditCommentDetails_validator = bv.Struct(ShowcaseEditCommentDetails) class ShowcaseEditCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseEditCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseEditCommentType_validator = bv.Struct(ShowcaseEditCommentType) class ShowcaseEditedDetails(bb.Struct): """ Edited showcase. :ivar ShowcaseEditedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseEditedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseEditedDetails_validator = bv.Struct(ShowcaseEditedDetails) class ShowcaseEditedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseEditedType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) 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 ) ShowcaseExternalSharingPolicy_validator = bv.Union(ShowcaseExternalSharingPolicy) class ShowcaseFileAddedDetails(bb.Struct): """ Added file to showcase. :ivar ShowcaseFileAddedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseFileAddedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseFileAddedDetails_validator = bv.Struct(ShowcaseFileAddedDetails) class ShowcaseFileAddedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseFileAddedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseFileAddedType_validator = bv.Struct(ShowcaseFileAddedType) class ShowcaseFileDownloadDetails(bb.Struct): """ Downloaded file from showcase. :ivar ShowcaseFileDownloadDetails.event_uuid: Event unique identifier. :ivar ShowcaseFileDownloadDetails.download_type: Showcase download type. """ __slots__ = [ "_event_uuid_value", "_download_type_value", ] _has_required_fields = True def __init__(self, event_uuid=None, download_type=None): self._event_uuid_value = bb.NOT_SET self._download_type_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if download_type is not None: self.download_type = download_type # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) download_type = bb.Attribute("download_type") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseFileDownloadDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseFileDownloadDetails_validator = bv.Struct(ShowcaseFileDownloadDetails) class ShowcaseFileDownloadType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseFileDownloadType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseFileDownloadType_validator = bv.Struct(ShowcaseFileDownloadType) class ShowcaseFileRemovedDetails(bb.Struct): """ Removed file from showcase. :ivar ShowcaseFileRemovedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseFileRemovedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseFileRemovedDetails_validator = bv.Struct(ShowcaseFileRemovedDetails) class ShowcaseFileRemovedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseFileRemovedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseFileRemovedType_validator = bv.Struct(ShowcaseFileRemovedType) class ShowcaseFileViewDetails(bb.Struct): """ Viewed file in showcase. :ivar ShowcaseFileViewDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseFileViewDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseFileViewDetails_validator = bv.Struct(ShowcaseFileViewDetails) class ShowcaseFileViewType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseFileViewType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseFileViewType_validator = bv.Struct(ShowcaseFileViewType) class ShowcasePermanentlyDeletedDetails(bb.Struct): """ Permanently deleted showcase. :ivar ShowcasePermanentlyDeletedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcasePermanentlyDeletedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcasePermanentlyDeletedDetails_validator = bv.Struct(ShowcasePermanentlyDeletedDetails) class ShowcasePermanentlyDeletedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcasePermanentlyDeletedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcasePermanentlyDeletedType_validator = bv.Struct(ShowcasePermanentlyDeletedType) class ShowcasePostCommentDetails(bb.Struct): """ Added showcase comment. :ivar ShowcasePostCommentDetails.event_uuid: Event unique identifier. :ivar ShowcasePostCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcasePostCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcasePostCommentDetails_validator = bv.Struct(ShowcasePostCommentDetails) class ShowcasePostCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcasePostCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcasePostCommentType_validator = bv.Struct(ShowcasePostCommentType) class ShowcaseRemoveMemberDetails(bb.Struct): """ Removed member from showcase. :ivar ShowcaseRemoveMemberDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseRemoveMemberDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseRemoveMemberDetails_validator = bv.Struct(ShowcaseRemoveMemberDetails) class ShowcaseRemoveMemberType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseRemoveMemberType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseRemoveMemberType_validator = bv.Struct(ShowcaseRemoveMemberType) class ShowcaseRenamedDetails(bb.Struct): """ Renamed showcase. :ivar ShowcaseRenamedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseRenamedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseRenamedDetails_validator = bv.Struct(ShowcaseRenamedDetails) class ShowcaseRenamedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseRenamedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseRenamedType_validator = bv.Struct(ShowcaseRenamedType) class ShowcaseRequestAccessDetails(bb.Struct): """ Requested access to showcase. :ivar ShowcaseRequestAccessDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseRequestAccessDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseRequestAccessDetails_validator = bv.Struct(ShowcaseRequestAccessDetails) class ShowcaseRequestAccessType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseRequestAccessType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseRequestAccessType_validator = bv.Struct(ShowcaseRequestAccessType) class ShowcaseResolveCommentDetails(bb.Struct): """ Resolved showcase comment. :ivar ShowcaseResolveCommentDetails.event_uuid: Event unique identifier. :ivar ShowcaseResolveCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseResolveCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseResolveCommentDetails_validator = bv.Struct(ShowcaseResolveCommentDetails) class ShowcaseResolveCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseResolveCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseResolveCommentType_validator = bv.Struct(ShowcaseResolveCommentType) class ShowcaseRestoredDetails(bb.Struct): """ Unarchived showcase. :ivar ShowcaseRestoredDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseRestoredDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseRestoredDetails_validator = bv.Struct(ShowcaseRestoredDetails) class ShowcaseRestoredType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseRestoredType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseRestoredType_validator = bv.Struct(ShowcaseRestoredType) class ShowcaseTrashedDeprecatedDetails(bb.Struct): """ Deleted showcase (old version). :ivar ShowcaseTrashedDeprecatedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseTrashedDeprecatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseTrashedDeprecatedDetails_validator = bv.Struct(ShowcaseTrashedDeprecatedDetails) class ShowcaseTrashedDeprecatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseTrashedDeprecatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseTrashedDeprecatedType_validator = bv.Struct(ShowcaseTrashedDeprecatedType) class ShowcaseTrashedDetails(bb.Struct): """ Deleted showcase. :ivar ShowcaseTrashedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseTrashedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseTrashedDetails_validator = bv.Struct(ShowcaseTrashedDetails) class ShowcaseTrashedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseTrashedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseTrashedType_validator = bv.Struct(ShowcaseTrashedType) class ShowcaseUnresolveCommentDetails(bb.Struct): """ Unresolved showcase comment. :ivar ShowcaseUnresolveCommentDetails.event_uuid: Event unique identifier. :ivar ShowcaseUnresolveCommentDetails.comment_text: Comment text. """ __slots__ = [ "_event_uuid_value", "_comment_text_value", ] _has_required_fields = True def __init__(self, event_uuid=None, comment_text=None): self._event_uuid_value = bb.NOT_SET self._comment_text_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid if comment_text is not None: self.comment_text = comment_text # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") # Instance attribute type: str (validator is set below) comment_text = bb.Attribute("comment_text", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseUnresolveCommentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseUnresolveCommentDetails_validator = bv.Struct(ShowcaseUnresolveCommentDetails) class ShowcaseUnresolveCommentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseUnresolveCommentType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseUnresolveCommentType_validator = bv.Struct(ShowcaseUnresolveCommentType) class ShowcaseUntrashedDeprecatedDetails(bb.Struct): """ Restored showcase (old version). :ivar ShowcaseUntrashedDeprecatedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseUntrashedDeprecatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseUntrashedDeprecatedDetails_validator = bv.Struct(ShowcaseUntrashedDeprecatedDetails) class ShowcaseUntrashedDeprecatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseUntrashedDeprecatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseUntrashedDeprecatedType_validator = bv.Struct(ShowcaseUntrashedDeprecatedType) class ShowcaseUntrashedDetails(bb.Struct): """ Restored showcase. :ivar ShowcaseUntrashedDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseUntrashedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseUntrashedDetails_validator = bv.Struct(ShowcaseUntrashedDetails) class ShowcaseUntrashedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseUntrashedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseUntrashedType_validator = bv.Struct(ShowcaseUntrashedType) class ShowcaseViewDetails(bb.Struct): """ Viewed showcase. :ivar ShowcaseViewDetails.event_uuid: Event unique identifier. """ __slots__ = [ "_event_uuid_value", ] _has_required_fields = True def __init__(self, event_uuid=None): self._event_uuid_value = bb.NOT_SET if event_uuid is not None: self.event_uuid = event_uuid # Instance attribute type: str (validator is set below) event_uuid = bb.Attribute("event_uuid") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseViewDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseViewDetails_validator = bv.Struct(ShowcaseViewDetails) class ShowcaseViewType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ShowcaseViewType, self)._process_custom_annotations( annotation_type, field_path, processor ) ShowcaseViewType_validator = bv.Struct(ShowcaseViewType) class SignExternalSharingPolicy(bb.Union): """ Policy for deciding whether team users can share Sign content 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 = None # 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(SignExternalSharingPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) SignExternalSharingPolicy_validator = bv.Union(SignExternalSharingPolicy) class SignExternalSharingPolicyChangedDetails(bb.Struct): """ Changed Signatures external sharing policy for team. :ivar SignExternalSharingPolicyChangedDetails.new_value: To. :ivar SignExternalSharingPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SignExternalSharingPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SignExternalSharingPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignExternalSharingPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignExternalSharingPolicyChangedDetails_validator = bv.Struct( SignExternalSharingPolicyChangedDetails ) class SignExternalSharingPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignExternalSharingPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignExternalSharingPolicyChangedType_validator = bv.Struct(SignExternalSharingPolicyChangedType) 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 ) SignInAsSessionEndDetails_validator = bv.Struct(SignInAsSessionEndDetails) class SignInAsSessionEndType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignInAsSessionEndType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SignInAsSessionStartDetails_validator = bv.Struct(SignInAsSessionStartDetails) class SignInAsSessionStartType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignInAsSessionStartType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignInAsSessionStartType_validator = bv.Struct(SignInAsSessionStartType) class SignSignatureRequestCanceledDetails(bb.Struct): """ Canceled signature request. :ivar SignSignatureRequestCanceledDetails.recipient: The recipient of the signature request. :ivar SignSignatureRequestCanceledDetails.file_name: The name of the related file. """ __slots__ = [ "_recipient_value", "_file_name_value", ] _has_required_fields = True def __init__(self, recipient=None, file_name=None): self._recipient_value = bb.NOT_SET self._file_name_value = bb.NOT_SET if recipient is not None: self.recipient = recipient if file_name is not None: self.file_name = file_name # Instance attribute type: str (validator is set below) recipient = bb.Attribute("recipient") # Instance attribute type: str (validator is set below) file_name = bb.Attribute("file_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestCanceledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestCanceledDetails_validator = bv.Struct(SignSignatureRequestCanceledDetails) class SignSignatureRequestCanceledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestCanceledType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestCanceledType_validator = bv.Struct(SignSignatureRequestCanceledType) class SignSignatureRequestCompletedDetails(bb.Struct): """ Completed signature request. :ivar SignSignatureRequestCompletedDetails.recipient: The recipient of the signature request. :ivar SignSignatureRequestCompletedDetails.file_name: The name of the related file. """ __slots__ = [ "_recipient_value", "_file_name_value", ] _has_required_fields = True def __init__(self, recipient=None, file_name=None): self._recipient_value = bb.NOT_SET self._file_name_value = bb.NOT_SET if recipient is not None: self.recipient = recipient if file_name is not None: self.file_name = file_name # Instance attribute type: str (validator is set below) recipient = bb.Attribute("recipient") # Instance attribute type: str (validator is set below) file_name = bb.Attribute("file_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestCompletedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestCompletedDetails_validator = bv.Struct(SignSignatureRequestCompletedDetails) class SignSignatureRequestCompletedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestCompletedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestCompletedType_validator = bv.Struct(SignSignatureRequestCompletedType) class SignSignatureRequestDeclinedDetails(bb.Struct): """ Declined signature request. :ivar SignSignatureRequestDeclinedDetails.recipient: The recipient of the signature request. :ivar SignSignatureRequestDeclinedDetails.file_name: The name of the related file. """ __slots__ = [ "_recipient_value", "_file_name_value", ] _has_required_fields = True def __init__(self, recipient=None, file_name=None): self._recipient_value = bb.NOT_SET self._file_name_value = bb.NOT_SET if recipient is not None: self.recipient = recipient if file_name is not None: self.file_name = file_name # Instance attribute type: str (validator is set below) recipient = bb.Attribute("recipient") # Instance attribute type: str (validator is set below) file_name = bb.Attribute("file_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestDeclinedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestDeclinedDetails_validator = bv.Struct(SignSignatureRequestDeclinedDetails) class SignSignatureRequestDeclinedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestDeclinedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestDeclinedType_validator = bv.Struct(SignSignatureRequestDeclinedType) class SignSignatureRequestOpenedDetails(bb.Struct): """ Opened signature request. :ivar SignSignatureRequestOpenedDetails.recipient: The recipient of the signature request. :ivar SignSignatureRequestOpenedDetails.file_name: The name of the related file. """ __slots__ = [ "_recipient_value", "_file_name_value", ] _has_required_fields = True def __init__(self, recipient=None, file_name=None): self._recipient_value = bb.NOT_SET self._file_name_value = bb.NOT_SET if recipient is not None: self.recipient = recipient if file_name is not None: self.file_name = file_name # Instance attribute type: str (validator is set below) recipient = bb.Attribute("recipient") # Instance attribute type: str (validator is set below) file_name = bb.Attribute("file_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestOpenedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestOpenedDetails_validator = bv.Struct(SignSignatureRequestOpenedDetails) class SignSignatureRequestOpenedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestOpenedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestOpenedType_validator = bv.Struct(SignSignatureRequestOpenedType) class SignSignatureRequestReminderSentDetails(bb.Struct): """ Sent signature request reminder. :ivar SignSignatureRequestReminderSentDetails.recipient: The recipient of the signature request. :ivar SignSignatureRequestReminderSentDetails.file_name: The name of the related file. """ __slots__ = [ "_recipient_value", "_file_name_value", ] _has_required_fields = True def __init__(self, recipient=None, file_name=None): self._recipient_value = bb.NOT_SET self._file_name_value = bb.NOT_SET if recipient is not None: self.recipient = recipient if file_name is not None: self.file_name = file_name # Instance attribute type: str (validator is set below) recipient = bb.Attribute("recipient") # Instance attribute type: str (validator is set below) file_name = bb.Attribute("file_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestReminderSentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestReminderSentDetails_validator = bv.Struct( SignSignatureRequestReminderSentDetails ) class SignSignatureRequestReminderSentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestReminderSentType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestReminderSentType_validator = bv.Struct(SignSignatureRequestReminderSentType) class SignSignatureRequestSentDetails(bb.Struct): """ Sent signature request. :ivar SignSignatureRequestSentDetails.recipient: The recipient of the signature request. :ivar SignSignatureRequestSentDetails.file_name: The name of the related file. """ __slots__ = [ "_recipient_value", "_file_name_value", ] _has_required_fields = True def __init__(self, recipient=None, file_name=None): self._recipient_value = bb.NOT_SET self._file_name_value = bb.NOT_SET if recipient is not None: self.recipient = recipient if file_name is not None: self.file_name = file_name # Instance attribute type: str (validator is set below) recipient = bb.Attribute("recipient") # Instance attribute type: str (validator is set below) file_name = bb.Attribute("file_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestSentDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestSentDetails_validator = bv.Struct(SignSignatureRequestSentDetails) class SignSignatureRequestSentType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignSignatureRequestSentType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignSignatureRequestSentType_validator = bv.Struct(SignSignatureRequestSentType) class SignTemplateCreatedDetails(bb.Struct): """ Created template. :ivar SignTemplateCreatedDetails.access_level: The access level of the template. :ivar SignTemplateCreatedDetails.file_name: The name of the related file. """ __slots__ = [ "_access_level_value", "_file_name_value", ] _has_required_fields = True def __init__(self, access_level=None, file_name=None): self._access_level_value = bb.NOT_SET self._file_name_value = bb.NOT_SET if access_level is not None: self.access_level = access_level if file_name is not None: self.file_name = file_name # Instance attribute type: str (validator is set below) access_level = bb.Attribute("access_level") # Instance attribute type: str (validator is set below) file_name = bb.Attribute("file_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignTemplateCreatedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignTemplateCreatedDetails_validator = bv.Struct(SignTemplateCreatedDetails) class SignTemplateCreatedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignTemplateCreatedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignTemplateCreatedType_validator = bv.Struct(SignTemplateCreatedType) class SignTemplateCreationPermissionChangedDetails(bb.Struct): """ Changed template creation permission. :ivar SignTemplateCreationPermissionChangedDetails.new_value: New template creation permission policy. :ivar SignTemplateCreationPermissionChangedDetails.previous_value: Previous template creation permission policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: SignTemplateCreationPermissionPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: SignTemplateCreationPermissionPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignTemplateCreationPermissionChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignTemplateCreationPermissionChangedDetails_validator = bv.Struct( SignTemplateCreationPermissionChangedDetails ) class SignTemplateCreationPermissionChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignTemplateCreationPermissionChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignTemplateCreationPermissionChangedType_validator = bv.Struct( SignTemplateCreationPermissionChangedType ) class SignTemplateCreationPermissionPolicy(bb.Union): """ Policy for controlling if team members can create templates This class acts as a tagged union. Only 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(SignTemplateCreationPermissionPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) SignTemplateCreationPermissionPolicy_validator = bv.Union(SignTemplateCreationPermissionPolicy) class SignTemplateSharedDetails(bb.Struct): """ Shared template. :ivar SignTemplateSharedDetails.access_level: The access level of the template. :ivar SignTemplateSharedDetails.file_name: The name of the related file. """ __slots__ = [ "_access_level_value", "_file_name_value", ] _has_required_fields = True def __init__(self, access_level=None, file_name=None): self._access_level_value = bb.NOT_SET self._file_name_value = bb.NOT_SET if access_level is not None: self.access_level = access_level if file_name is not None: self.file_name = file_name # Instance attribute type: str (validator is set below) access_level = bb.Attribute("access_level") # Instance attribute type: str (validator is set below) file_name = bb.Attribute("file_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignTemplateSharedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SignTemplateSharedDetails_validator = bv.Struct(SignTemplateSharedDetails) class SignTemplateSharedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SignTemplateSharedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SignTemplateSharedType_validator = bv.Struct(SignTemplateSharedType) class SmartSyncChangePolicyDetails(bb.Struct): """ Changed default Smart Sync setting for team members. :ivar SmartSyncChangePolicyDetails.new_value: New smart sync policy. :ivar SmartSyncChangePolicyDetails.previous_value: Previous smart sync policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.SmartSyncPolicy (validator is set below) new_value = bb.Attribute("new_value", nullable=True, user_defined=True) # Instance attribute type: team_policies.SmartSyncPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SmartSyncChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SmartSyncChangePolicyDetails_validator = bv.Struct(SmartSyncChangePolicyDetails) class SmartSyncChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SmartSyncChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SmartSyncCreateAdminPrivilegeReportDetails_validator = bv.Struct( SmartSyncCreateAdminPrivilegeReportDetails ) class SmartSyncCreateAdminPrivilegeReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SmartSyncCreateAdminPrivilegeReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) SmartSyncCreateAdminPrivilegeReportType_validator = bv.Struct( SmartSyncCreateAdminPrivilegeReportType ) class SmartSyncNotOptOutDetails(bb.Struct): """ Opted team into Smart Sync. :ivar SmartSyncNotOptOutDetails.previous_value: Previous Smart Sync opt out policy. :ivar SmartSyncNotOptOutDetails.new_value: New Smart Sync opt out policy. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: SmartSyncOptOutPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: SmartSyncOptOutPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SmartSyncNotOptOutDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SmartSyncNotOptOutDetails_validator = bv.Struct(SmartSyncNotOptOutDetails) class SmartSyncNotOptOutType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SmartSyncNotOptOutType, self)._process_custom_annotations( annotation_type, field_path, processor ) SmartSyncNotOptOutType_validator = bv.Struct(SmartSyncNotOptOutType) class SmartSyncOptOutDetails(bb.Struct): """ Opted team out of Smart Sync. :ivar SmartSyncOptOutDetails.previous_value: Previous Smart Sync opt out policy. :ivar SmartSyncOptOutDetails.new_value: New Smart Sync opt out policy. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: SmartSyncOptOutPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: SmartSyncOptOutPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SmartSyncOptOutDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SmartSyncOptOutPolicy_validator = bv.Union(SmartSyncOptOutPolicy) class SmartSyncOptOutType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SmartSyncOptOutType, self)._process_custom_annotations( annotation_type, field_path, processor ) SmartSyncOptOutType_validator = bv.Struct(SmartSyncOptOutType) class SmarterSmartSyncPolicyChangedDetails(bb.Struct): """ Changed automatic Smart Sync setting for team. :ivar SmarterSmartSyncPolicyChangedDetails.previous_value: Previous automatic Smart Sync setting. :ivar SmarterSmartSyncPolicyChangedDetails.new_value: New automatic Smart Sync setting. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: team_policies.SmarterSmartSyncPolicyState (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: team_policies.SmarterSmartSyncPolicyState (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SmarterSmartSyncPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SmarterSmartSyncPolicyChangedDetails_validator = bv.Struct(SmarterSmartSyncPolicyChangedDetails) class SmarterSmartSyncPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SmarterSmartSyncPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) SmarterSmartSyncPolicyChangedType_validator = bv.Struct(SmarterSmartSyncPolicyChangedType) 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 ) 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 near_quota = None # Attribute is overwritten below the class definition over_quota = None # Attribute is overwritten below the class definition within_quota = None # Attribute is overwritten below the class definition other = None 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_within_quota(self): """ Check if the union tag is ``within_quota``. :rtype: bool """ return self._tag == "within_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 ) SpaceLimitsStatus_validator = bv.Union(SpaceLimitsStatus) class SsoAddCertDetails(bb.Struct): """ Added X.509 certificate for SSO. :ivar SsoAddCertDetails.certificate_details: SSO certificate details. """ __slots__ = [ "_certificate_details_value", ] _has_required_fields = True def __init__(self, certificate_details=None): self._certificate_details_value = bb.NOT_SET if certificate_details is not None: self.certificate_details = certificate_details # Instance attribute type: Certificate (validator is set below) certificate_details = bb.Attribute("certificate_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoAddCertDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoAddCertDetails_validator = bv.Struct(SsoAddCertDetails) class SsoAddCertType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoAddCertType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoAddCertType_validator = bv.Struct(SsoAddCertType) class SsoAddLoginUrlDetails(bb.Struct): """ Added sign-in URL for SSO. :ivar SsoAddLoginUrlDetails.new_value: New single sign-on login URL. """ __slots__ = [ "_new_value_value", ] _has_required_fields = True def __init__(self, new_value=None): self._new_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoAddLoginUrlDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoAddLoginUrlDetails_validator = bv.Struct(SsoAddLoginUrlDetails) class SsoAddLoginUrlType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoAddLoginUrlType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoAddLoginUrlType_validator = bv.Struct(SsoAddLoginUrlType) class SsoAddLogoutUrlDetails(bb.Struct): """ Added sign-out URL for SSO. :ivar SsoAddLogoutUrlDetails.new_value: New single sign-on logout URL. """ __slots__ = [ "_new_value_value", ] _has_required_fields = False def __init__(self, new_value=None): self._new_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoAddLogoutUrlDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoAddLogoutUrlDetails_validator = bv.Struct(SsoAddLogoutUrlDetails) class SsoAddLogoutUrlType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoAddLogoutUrlType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoAddLogoutUrlType_validator = bv.Struct(SsoAddLogoutUrlType) class SsoChangeCertDetails(bb.Struct): """ Changed X.509 certificate for SSO. :ivar SsoChangeCertDetails.previous_certificate_details: Previous SSO certificate details. Might be missing due to historical data gap. :ivar SsoChangeCertDetails.new_certificate_details: New SSO certificate details. """ __slots__ = [ "_previous_certificate_details_value", "_new_certificate_details_value", ] _has_required_fields = True def __init__(self, new_certificate_details=None, previous_certificate_details=None): self._previous_certificate_details_value = bb.NOT_SET self._new_certificate_details_value = bb.NOT_SET 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 # Instance attribute type: Certificate (validator is set below) previous_certificate_details = bb.Attribute( "previous_certificate_details", nullable=True, user_defined=True ) # Instance attribute type: Certificate (validator is set below) new_certificate_details = bb.Attribute("new_certificate_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangeCertDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangeCertDetails_validator = bv.Struct(SsoChangeCertDetails) class SsoChangeCertType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangeCertType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangeCertType_validator = bv.Struct(SsoChangeCertType) class SsoChangeLoginUrlDetails(bb.Struct): """ Changed sign-in URL for SSO. :ivar SsoChangeLoginUrlDetails.previous_value: Previous single sign-on login URL. :ivar SsoChangeLoginUrlDetails.new_value: New single sign-on login URL. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangeLoginUrlDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangeLoginUrlDetails_validator = bv.Struct(SsoChangeLoginUrlDetails) class SsoChangeLoginUrlType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangeLoginUrlType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangeLoginUrlType_validator = bv.Struct(SsoChangeLoginUrlType) class SsoChangeLogoutUrlDetails(bb.Struct): """ Changed sign-out URL for SSO. :ivar SsoChangeLogoutUrlDetails.previous_value: Previous single sign-on logout URL. Might be missing due to historical data gap. :ivar SsoChangeLogoutUrlDetails.new_value: New single sign-on logout URL. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = False def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True) # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangeLogoutUrlDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangeLogoutUrlDetails_validator = bv.Struct(SsoChangeLogoutUrlDetails) class SsoChangeLogoutUrlType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangeLogoutUrlType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangeLogoutUrlType_validator = bv.Struct(SsoChangeLogoutUrlType) class SsoChangePolicyDetails(bb.Struct): """ Changed single sign-on setting for team. :ivar SsoChangePolicyDetails.new_value: New single sign-on policy. :ivar SsoChangePolicyDetails.previous_value: Previous single sign-on policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.SsoPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team_policies.SsoPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangePolicyDetails_validator = bv.Struct(SsoChangePolicyDetails) class SsoChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangePolicyType_validator = bv.Struct(SsoChangePolicyType) class SsoChangeSamlIdentityModeDetails(bb.Struct): """ Changed SAML identity mode for SSO. :ivar SsoChangeSamlIdentityModeDetails.previous_value: Previous single sign-on identity mode. :ivar SsoChangeSamlIdentityModeDetails.new_value: New single sign-on identity mode. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: int (validator is set below) previous_value = bb.Attribute("previous_value") # Instance attribute type: int (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangeSamlIdentityModeDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangeSamlIdentityModeDetails_validator = bv.Struct(SsoChangeSamlIdentityModeDetails) class SsoChangeSamlIdentityModeType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoChangeSamlIdentityModeType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoChangeSamlIdentityModeType_validator = bv.Struct(SsoChangeSamlIdentityModeType) class SsoErrorDetails(bb.Struct): """ Failed to sign in via SSO. :ivar SsoErrorDetails.error_details: Error details. """ __slots__ = [ "_error_details_value", ] _has_required_fields = True def __init__(self, error_details=None): self._error_details_value = bb.NOT_SET if error_details is not None: self.error_details = error_details # Instance attribute type: FailureDetailsLogInfo (validator is set below) error_details = bb.Attribute("error_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoErrorDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoErrorDetails_validator = bv.Struct(SsoErrorDetails) class SsoErrorType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoErrorType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) SsoRemoveCertDetails_validator = bv.Struct(SsoRemoveCertDetails) class SsoRemoveCertType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoRemoveCertType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoRemoveCertType_validator = bv.Struct(SsoRemoveCertType) class SsoRemoveLoginUrlDetails(bb.Struct): """ Removed sign-in URL for SSO. :ivar SsoRemoveLoginUrlDetails.previous_value: Previous single sign-on login URL. """ __slots__ = [ "_previous_value_value", ] _has_required_fields = True def __init__(self, previous_value=None): self._previous_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoRemoveLoginUrlDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoRemoveLoginUrlDetails_validator = bv.Struct(SsoRemoveLoginUrlDetails) class SsoRemoveLoginUrlType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoRemoveLoginUrlType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoRemoveLoginUrlType_validator = bv.Struct(SsoRemoveLoginUrlType) class SsoRemoveLogoutUrlDetails(bb.Struct): """ Removed sign-out URL for SSO. :ivar SsoRemoveLogoutUrlDetails.previous_value: Previous single sign-on logout URL. """ __slots__ = [ "_previous_value_value", ] _has_required_fields = True def __init__(self, previous_value=None): self._previous_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoRemoveLogoutUrlDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoRemoveLogoutUrlDetails_validator = bv.Struct(SsoRemoveLogoutUrlDetails) class SsoRemoveLogoutUrlType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(SsoRemoveLogoutUrlType, self)._process_custom_annotations( annotation_type, field_path, processor ) SsoRemoveLogoutUrlType_validator = bv.Struct(SsoRemoveLogoutUrlType) class StackCrossTeamAccessPolicy(bb.Union): """ Policy for whether a team's content can be reached via Stacks owned by other teams This class acts as a tagged union. Only 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 allowed = None # Attribute is overwritten below the class definition default = None # Attribute is overwritten below the class definition disallowed = None # Attribute is overwritten below the class definition other = None def is_allowed(self): """ Check if the union tag is ``allowed``. :rtype: bool """ return self._tag == "allowed" def is_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(StackCrossTeamAccessPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) StackCrossTeamAccessPolicy_validator = bv.Union(StackCrossTeamAccessPolicy) class StackCrossTeamAccessPolicyChangedDetails(bb.Struct): """ Changed cross-team Stack access policy for team. :ivar StackCrossTeamAccessPolicyChangedDetails.new_value: New cross-team Stack access policy. :ivar StackCrossTeamAccessPolicyChangedDetails.previous_value: Previous cross-team Stack access policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: StackCrossTeamAccessPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: StackCrossTeamAccessPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(StackCrossTeamAccessPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) StackCrossTeamAccessPolicyChangedDetails_validator = bv.Struct( StackCrossTeamAccessPolicyChangedDetails ) class StackCrossTeamAccessPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(StackCrossTeamAccessPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) StackCrossTeamAccessPolicyChangedType_validator = bv.Struct(StackCrossTeamAccessPolicyChangedType) class StartedEnterpriseAdminSessionDetails(bb.Struct): """ Started enterprise admin session. :ivar StartedEnterpriseAdminSessionDetails.federation_extra_details: More information about the organization or team. """ __slots__ = [ "_federation_extra_details_value", ] _has_required_fields = True def __init__(self, federation_extra_details=None): self._federation_extra_details_value = bb.NOT_SET if federation_extra_details is not None: self.federation_extra_details = federation_extra_details # Instance attribute type: FedExtraDetails (validator is set below) federation_extra_details = bb.Attribute("federation_extra_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(StartedEnterpriseAdminSessionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) StartedEnterpriseAdminSessionDetails_validator = bv.Struct(StartedEnterpriseAdminSessionDetails) class StartedEnterpriseAdminSessionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(StartedEnterpriseAdminSessionType, self)._process_custom_annotations( annotation_type, field_path, processor ) StartedEnterpriseAdminSessionType_validator = bv.Struct(StartedEnterpriseAdminSessionType) class TeamActivityCreateReportDetails(bb.Struct): """ Created team activity report. :ivar TeamActivityCreateReportDetails.start_date: Report start date. :ivar TeamActivityCreateReportDetails.end_date: Report end date. """ __slots__ = [ "_start_date_value", "_end_date_value", ] _has_required_fields = True def __init__(self, start_date=None, end_date=None): self._start_date_value = bb.NOT_SET self._end_date_value = bb.NOT_SET if start_date is not None: self.start_date = start_date if end_date is not None: self.end_date = end_date # Instance attribute type: datetime.datetime (validator is set below) start_date = bb.Attribute("start_date") # Instance attribute type: datetime.datetime (validator is set below) end_date = bb.Attribute("end_date") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamActivityCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamActivityCreateReportDetails_validator = bv.Struct(TeamActivityCreateReportDetails) class TeamActivityCreateReportFailDetails(bb.Struct): """ Couldn't generate team activity report. :ivar TeamActivityCreateReportFailDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamActivityCreateReportFailDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamActivityCreateReportFailDetails_validator = bv.Struct(TeamActivityCreateReportFailDetails) class TeamActivityCreateReportFailType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamActivityCreateReportFailType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamActivityCreateReportFailType_validator = bv.Struct(TeamActivityCreateReportFailType) class TeamActivityCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamActivityCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamActivityCreateReportType_validator = bv.Struct(TeamActivityCreateReportType) class TeamBrandingPolicy(bb.Union): """ Policy for controlling team access to setting up branding feature This class acts as a tagged union. Only 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(TeamBrandingPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamBrandingPolicy_validator = bv.Union(TeamBrandingPolicy) class TeamBrandingPolicyChangedDetails(bb.Struct): """ Changed team branding policy for team. :ivar TeamBrandingPolicyChangedDetails.new_value: New team branding policy. :ivar TeamBrandingPolicyChangedDetails.previous_value: Previous team branding policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: TeamBrandingPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: TeamBrandingPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamBrandingPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamBrandingPolicyChangedDetails_validator = bv.Struct(TeamBrandingPolicyChangedDetails) class TeamBrandingPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamBrandingPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamBrandingPolicyChangedType_validator = bv.Struct(TeamBrandingPolicyChangedType) class TeamDetails(bb.Struct): """ More details about the team. :ivar TeamDetails.team: The name of the team. """ __slots__ = [ "_team_value", ] _has_required_fields = True def __init__(self, team=None): self._team_value = bb.NOT_SET if team is not None: self.team = team # Instance attribute type: str (validator is set below) team = bb.Attribute("team") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) TeamDetails_validator = bv.Struct(TeamDetails) class TeamEncryptionKeyActivateKeyDetails(bb.Struct): """ Activated team encryption key. :ivar TeamEncryptionKeyActivateKeyDetails.key_management_type: Type of key management. """ __slots__ = [ "_key_management_type_value", ] _has_required_fields = True def __init__(self, key_management_type=None): self._key_management_type_value = bb.NOT_SET if key_management_type is not None: self.key_management_type = key_management_type # Instance attribute type: str (validator is set below) key_management_type = bb.Attribute("key_management_type") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyActivateKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyActivateKeyDetails_validator = bv.Struct(TeamEncryptionKeyActivateKeyDetails) class TeamEncryptionKeyActivateKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyActivateKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyActivateKeyType_validator = bv.Struct(TeamEncryptionKeyActivateKeyType) class TeamEncryptionKeyCancelKeyDeletionDetails(bb.Struct): """ Canceled team encryption key deletion. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyCancelKeyDeletionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyCancelKeyDeletionDetails_validator = bv.Struct( TeamEncryptionKeyCancelKeyDeletionDetails ) class TeamEncryptionKeyCancelKeyDeletionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyCancelKeyDeletionType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyCancelKeyDeletionType_validator = bv.Struct(TeamEncryptionKeyCancelKeyDeletionType) class TeamEncryptionKeyCreateKeyDetails(bb.Struct): """ Created team encryption key. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyCreateKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyCreateKeyDetails_validator = bv.Struct(TeamEncryptionKeyCreateKeyDetails) class TeamEncryptionKeyCreateKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyCreateKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyCreateKeyType_validator = bv.Struct(TeamEncryptionKeyCreateKeyType) class TeamEncryptionKeyDeactivateKeyDetails(bb.Struct): """ Deactivated team encryption key. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyDeactivateKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyDeactivateKeyDetails_validator = bv.Struct(TeamEncryptionKeyDeactivateKeyDetails) class TeamEncryptionKeyDeactivateKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyDeactivateKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyDeactivateKeyType_validator = bv.Struct(TeamEncryptionKeyDeactivateKeyType) class TeamEncryptionKeyDeleteKeyDetails(bb.Struct): """ Deleted team encryption key. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyDeleteKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyDeleteKeyDetails_validator = bv.Struct(TeamEncryptionKeyDeleteKeyDetails) class TeamEncryptionKeyDeleteKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyDeleteKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyDeleteKeyType_validator = bv.Struct(TeamEncryptionKeyDeleteKeyType) class TeamEncryptionKeyDisableKeyDetails(bb.Struct): """ Disabled team encryption key. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyDisableKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyDisableKeyDetails_validator = bv.Struct(TeamEncryptionKeyDisableKeyDetails) class TeamEncryptionKeyDisableKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyDisableKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyDisableKeyType_validator = bv.Struct(TeamEncryptionKeyDisableKeyType) class TeamEncryptionKeyEnableKeyDetails(bb.Struct): """ Enabled team encryption key. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyEnableKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyEnableKeyDetails_validator = bv.Struct(TeamEncryptionKeyEnableKeyDetails) class TeamEncryptionKeyEnableKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyEnableKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyEnableKeyType_validator = bv.Struct(TeamEncryptionKeyEnableKeyType) class TeamEncryptionKeyRotateKeyDetails(bb.Struct): """ Rotated team encryption key. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyRotateKeyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyRotateKeyDetails_validator = bv.Struct(TeamEncryptionKeyRotateKeyDetails) class TeamEncryptionKeyRotateKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyRotateKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyRotateKeyType_validator = bv.Struct(TeamEncryptionKeyRotateKeyType) class TeamEncryptionKeyScheduleKeyDeletionDetails(bb.Struct): """ Scheduled encryption key deletion. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyScheduleKeyDeletionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyScheduleKeyDeletionDetails_validator = bv.Struct( TeamEncryptionKeyScheduleKeyDeletionDetails ) class TeamEncryptionKeyScheduleKeyDeletionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEncryptionKeyScheduleKeyDeletionType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamEncryptionKeyScheduleKeyDeletionType_validator = bv.Struct( TeamEncryptionKeyScheduleKeyDeletionType ) class TeamEvent(bb.Struct): """ An audit log event. :ivar TeamEvent.timestamp: The Dropbox timestamp representing when the action was taken. :ivar TeamEvent.event_category: The category that this type of action belongs to. :ivar TeamEvent.actor: The entity who actually performed the action. :ivar 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 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. :ivar TeamEvent.context: The user or team on whose behalf the actor performed the action. :ivar 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 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 TeamEvent.event_type: The particular type of action taken. :ivar TeamEvent.details: The variable event schema applicable to this type of action, instantiated with respect to this particular action. """ __slots__ = [ "_timestamp_value", "_event_category_value", "_actor_value", "_origin_value", "_involve_non_team_member_value", "_context_value", "_participants_value", "_assets_value", "_event_type_value", "_details_value", ] _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 = bb.NOT_SET self._event_category_value = bb.NOT_SET self._actor_value = bb.NOT_SET self._origin_value = bb.NOT_SET self._involve_non_team_member_value = bb.NOT_SET self._context_value = bb.NOT_SET self._participants_value = bb.NOT_SET self._assets_value = bb.NOT_SET self._event_type_value = bb.NOT_SET self._details_value = bb.NOT_SET 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 # Instance attribute type: datetime.datetime (validator is set below) timestamp = bb.Attribute("timestamp") # Instance attribute type: EventCategory (validator is set below) event_category = bb.Attribute("event_category", user_defined=True) # Instance attribute type: ActorLogInfo (validator is set below) actor = bb.Attribute("actor", nullable=True, user_defined=True) # Instance attribute type: OriginLogInfo (validator is set below) origin = bb.Attribute("origin", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) involve_non_team_member = bb.Attribute("involve_non_team_member", nullable=True) # Instance attribute type: ContextLogInfo (validator is set below) context = bb.Attribute("context", nullable=True, user_defined=True) # Instance attribute type: list of [ParticipantLogInfo] (validator is set below) participants = bb.Attribute("participants", nullable=True) # Instance attribute type: list of [AssetLogInfo] (validator is set below) assets = bb.Attribute("assets", nullable=True) # Instance attribute type: EventType (validator is set below) event_type = bb.Attribute("event_type", user_defined=True) # Instance attribute type: EventDetails (validator is set below) details = bb.Attribute("details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamEvent, self)._process_custom_annotations(annotation_type, field_path, processor) 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 ) TeamExtensionsPolicy_validator = bv.Union(TeamExtensionsPolicy) class TeamExtensionsPolicyChangedDetails(bb.Struct): """ Changed App Integrations setting for team. :ivar TeamExtensionsPolicyChangedDetails.new_value: New Extensions policy. :ivar TeamExtensionsPolicyChangedDetails.previous_value: Previous Extensions policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: TeamExtensionsPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: TeamExtensionsPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamExtensionsPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamExtensionsPolicyChangedDetails_validator = bv.Struct(TeamExtensionsPolicyChangedDetails) class TeamExtensionsPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamExtensionsPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamExtensionsPolicyChangedType_validator = bv.Struct(TeamExtensionsPolicyChangedType) class TeamFolderChangeStatusDetails(bb.Struct): """ Changed archival status of team folder. :ivar TeamFolderChangeStatusDetails.new_value: New team folder status. :ivar TeamFolderChangeStatusDetails.previous_value: Previous team folder status. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team.TeamFolderStatus (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team.TeamFolderStatus (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderChangeStatusDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderChangeStatusDetails_validator = bv.Struct(TeamFolderChangeStatusDetails) class TeamFolderChangeStatusType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderChangeStatusType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) TeamFolderCreateDetails_validator = bv.Struct(TeamFolderCreateDetails) class TeamFolderCreateType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderCreateType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderCreateType_validator = bv.Struct(TeamFolderCreateType) class TeamFolderDowngradeDetails(bb.Struct): """ Downgraded team folder to regular shared folder. :ivar TeamFolderDowngradeDetails.target_asset_index: Target asset position in the Assets list. """ __slots__ = [ "_target_asset_index_value", ] _has_required_fields = True def __init__(self, target_asset_index=None): self._target_asset_index_value = bb.NOT_SET if target_asset_index is not None: self.target_asset_index = target_asset_index # Instance attribute type: int (validator is set below) target_asset_index = bb.Attribute("target_asset_index") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderDowngradeDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderDowngradeDetails_validator = bv.Struct(TeamFolderDowngradeDetails) class TeamFolderDowngradeType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderDowngradeType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderDowngradeType_validator = bv.Struct(TeamFolderDowngradeType) class TeamFolderNotificationTarget(bb.Union): """ Team folder space limit notification target This class acts as a tagged union. Only 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 admins = None # Attribute is overwritten below the class definition both = None # Attribute is overwritten below the class definition editors = None # Attribute is overwritten below the class definition silent = None # Attribute is overwritten below the class definition other = None def is_admins(self): """ Check if the union tag is ``admins``. :rtype: bool """ return self._tag == "admins" def is_both(self): """ Check if the union tag is ``both``. :rtype: bool """ return self._tag == "both" def is_editors(self): """ Check if the union tag is ``editors``. :rtype: bool """ return self._tag == "editors" def is_silent(self): """ Check if the union tag is ``silent``. :rtype: bool """ return self._tag == "silent" 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(TeamFolderNotificationTarget, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderNotificationTarget_validator = bv.Union(TeamFolderNotificationTarget) 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 ) TeamFolderPermanentlyDeleteDetails_validator = bv.Struct(TeamFolderPermanentlyDeleteDetails) class TeamFolderPermanentlyDeleteType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderPermanentlyDeleteType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderPermanentlyDeleteType_validator = bv.Struct(TeamFolderPermanentlyDeleteType) class TeamFolderRenameDetails(bb.Struct): """ Renamed active/archived team folder. :ivar TeamFolderRenameDetails.previous_folder_name: Previous folder name. :ivar TeamFolderRenameDetails.new_folder_name: New folder name. """ __slots__ = [ "_previous_folder_name_value", "_new_folder_name_value", ] _has_required_fields = True def __init__(self, previous_folder_name=None, new_folder_name=None): self._previous_folder_name_value = bb.NOT_SET self._new_folder_name_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) previous_folder_name = bb.Attribute("previous_folder_name") # Instance attribute type: str (validator is set below) new_folder_name = bb.Attribute("new_folder_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderRenameDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderRenameDetails_validator = bv.Struct(TeamFolderRenameDetails) class TeamFolderRenameType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderRenameType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderRenameType_validator = bv.Struct(TeamFolderRenameType) class TeamFolderSpaceCapsType(bb.Union): """ Team folder space limit enforcement 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 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(TeamFolderSpaceCapsType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderSpaceCapsType_validator = bv.Union(TeamFolderSpaceCapsType) class TeamFolderSpaceLimitsChangeCapsTypeDetails(bb.Struct): """ Changed team folder space limit enforcement type. :ivar TeamFolderSpaceLimitsChangeCapsTypeDetails.previous_caps_type: Previous enforcement type. :ivar TeamFolderSpaceLimitsChangeCapsTypeDetails.new_caps_type: New enforcement type. """ __slots__ = [ "_previous_caps_type_value", "_new_caps_type_value", ] _has_required_fields = True def __init__(self, new_caps_type=None, previous_caps_type=None): self._previous_caps_type_value = bb.NOT_SET self._new_caps_type_value = bb.NOT_SET if previous_caps_type is not None: self.previous_caps_type = previous_caps_type if new_caps_type is not None: self.new_caps_type = new_caps_type # Instance attribute type: TeamFolderSpaceCapsType (validator is set below) previous_caps_type = bb.Attribute("previous_caps_type", nullable=True, user_defined=True) # Instance attribute type: TeamFolderSpaceCapsType (validator is set below) new_caps_type = bb.Attribute("new_caps_type", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderSpaceLimitsChangeCapsTypeDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderSpaceLimitsChangeCapsTypeDetails_validator = bv.Struct( TeamFolderSpaceLimitsChangeCapsTypeDetails ) class TeamFolderSpaceLimitsChangeCapsTypeType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderSpaceLimitsChangeCapsTypeType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderSpaceLimitsChangeCapsTypeType_validator = bv.Struct( TeamFolderSpaceLimitsChangeCapsTypeType ) class TeamFolderSpaceLimitsChangeLimitDetails(bb.Struct): """ Changed team folder space limit. :ivar TeamFolderSpaceLimitsChangeLimitDetails.previous_limit_bytes: Previous limit in bytes. :ivar TeamFolderSpaceLimitsChangeLimitDetails.new_limit_bytes: New limit in bytes. """ __slots__ = [ "_previous_limit_bytes_value", "_new_limit_bytes_value", ] _has_required_fields = True def __init__(self, new_limit_bytes=None, previous_limit_bytes=None): self._previous_limit_bytes_value = bb.NOT_SET self._new_limit_bytes_value = bb.NOT_SET if previous_limit_bytes is not None: self.previous_limit_bytes = previous_limit_bytes if new_limit_bytes is not None: self.new_limit_bytes = new_limit_bytes # Instance attribute type: int (validator is set below) previous_limit_bytes = bb.Attribute("previous_limit_bytes", nullable=True) # Instance attribute type: int (validator is set below) new_limit_bytes = bb.Attribute("new_limit_bytes") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderSpaceLimitsChangeLimitDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderSpaceLimitsChangeLimitDetails_validator = bv.Struct( TeamFolderSpaceLimitsChangeLimitDetails ) class TeamFolderSpaceLimitsChangeLimitType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderSpaceLimitsChangeLimitType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderSpaceLimitsChangeLimitType_validator = bv.Struct(TeamFolderSpaceLimitsChangeLimitType) class TeamFolderSpaceLimitsChangeNotificationTargetDetails(bb.Struct): """ Changed team folder space limit notification target. :ivar TeamFolderSpaceLimitsChangeNotificationTargetDetails.previous_target: Previous notification target. :ivar TeamFolderSpaceLimitsChangeNotificationTargetDetails.new_target: New notification target. """ __slots__ = [ "_previous_target_value", "_new_target_value", ] _has_required_fields = True def __init__(self, new_target=None, previous_target=None): self._previous_target_value = bb.NOT_SET self._new_target_value = bb.NOT_SET if previous_target is not None: self.previous_target = previous_target if new_target is not None: self.new_target = new_target # Instance attribute type: TeamFolderNotificationTarget (validator is set below) previous_target = bb.Attribute("previous_target", nullable=True, user_defined=True) # Instance attribute type: TeamFolderNotificationTarget (validator is set below) new_target = bb.Attribute("new_target", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super( TeamFolderSpaceLimitsChangeNotificationTargetDetails, self )._process_custom_annotations(annotation_type, field_path, processor) TeamFolderSpaceLimitsChangeNotificationTargetDetails_validator = bv.Struct( TeamFolderSpaceLimitsChangeNotificationTargetDetails ) class TeamFolderSpaceLimitsChangeNotificationTargetType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFolderSpaceLimitsChangeNotificationTargetType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFolderSpaceLimitsChangeNotificationTargetType_validator = bv.Struct( TeamFolderSpaceLimitsChangeNotificationTargetType ) class TeamFoldersCreateReportDetails(bb.Struct): """ Created team folders report. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFoldersCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFoldersCreateReportDetails_validator = bv.Struct(TeamFoldersCreateReportDetails) class TeamFoldersCreateReportFailedDetails(bb.Struct): """ Couldn't generate team folders report. :ivar TeamFoldersCreateReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFoldersCreateReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFoldersCreateReportFailedDetails_validator = bv.Struct(TeamFoldersCreateReportFailedDetails) class TeamFoldersCreateReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFoldersCreateReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFoldersCreateReportFailedType_validator = bv.Struct(TeamFoldersCreateReportFailedType) class TeamFoldersCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamFoldersCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamFoldersCreateReportType_validator = bv.Struct(TeamFoldersCreateReportType) class TeamInviteDetails(bb.Struct): """ Details about team invites :ivar TeamInviteDetails.invite_method: How the user was invited to the team. :ivar TeamInviteDetails.additional_license_purchase: True if the invitation incurred an additional license purchase. """ __slots__ = [ "_invite_method_value", "_additional_license_purchase_value", ] _has_required_fields = True def __init__(self, invite_method=None, additional_license_purchase=None): self._invite_method_value = bb.NOT_SET self._additional_license_purchase_value = bb.NOT_SET if invite_method is not None: self.invite_method = invite_method if additional_license_purchase is not None: self.additional_license_purchase = additional_license_purchase # Instance attribute type: InviteMethod (validator is set below) invite_method = bb.Attribute("invite_method", user_defined=True) # Instance attribute type: bool (validator is set below) additional_license_purchase = bb.Attribute("additional_license_purchase", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamInviteDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamInviteDetails_validator = bv.Struct(TeamInviteDetails) 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 ) TeamLinkedAppLogInfo_validator = bv.Struct(TeamLinkedAppLogInfo) class TeamLogInfo(bb.Struct): """ Team's logged information. :ivar TeamLogInfo.display_name: Team display name. """ __slots__ = [ "_display_name_value", ] _has_required_fields = True def __init__(self, display_name=None): self._display_name_value = bb.NOT_SET if display_name is not None: self.display_name = display_name # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) TeamLogInfo_validator = bv.Struct(TeamLogInfo) class TeamMemberLogInfo(UserLogInfo): """ Team member's logged information. :ivar TeamMemberLogInfo.team_member_id: Team member ID. :ivar TeamMemberLogInfo.member_external_id: Team member external ID. :ivar TeamMemberLogInfo.team: Details about this user’s team for enterprise event. """ __slots__ = [ "_team_member_id_value", "_member_external_id_value", "_team_value", ] _has_required_fields = False def __init__( self, account_id=None, display_name=None, email=None, team_member_id=None, member_external_id=None, team=None, ): super(TeamMemberLogInfo, self).__init__(account_id, display_name, email) self._team_member_id_value = bb.NOT_SET self._member_external_id_value = bb.NOT_SET self._team_value = bb.NOT_SET 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 if team is not None: self.team = team # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id", nullable=True) # Instance attribute type: str (validator is set below) member_external_id = bb.Attribute("member_external_id", nullable=True) # Instance attribute type: TeamLogInfo (validator is set below) team = bb.Attribute("team", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberLogInfo_validator = bv.Struct(TeamMemberLogInfo) class TeamMemberStorageRequestPolicy(bb.Union): """ Policy for deciding whether team members can request increased storage limits from admins This class acts as a tagged union. Only 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 disabled = None # Attribute is overwritten below the class definition enabled = 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_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(TeamMemberStorageRequestPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberStorageRequestPolicy_validator = bv.Union(TeamMemberStorageRequestPolicy) class TeamMemberStorageRequestPolicyChangedDetails(bb.Struct): """ Changed team member storage request policy for team. :ivar TeamMemberStorageRequestPolicyChangedDetails.new_value: New team member storage request policy. :ivar TeamMemberStorageRequestPolicyChangedDetails.previous_value: Previous team member storage request policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: TeamMemberStorageRequestPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: TeamMemberStorageRequestPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberStorageRequestPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberStorageRequestPolicyChangedDetails_validator = bv.Struct( TeamMemberStorageRequestPolicyChangedDetails ) class TeamMemberStorageRequestPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberStorageRequestPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberStorageRequestPolicyChangedType_validator = bv.Struct( TeamMemberStorageRequestPolicyChangedType ) 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 guest = 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_guest(self): """ Check if the union tag is ``guest``. :rtype: bool """ return self._tag == "guest" 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 ) TeamMembershipType_validator = bv.Union(TeamMembershipType) class TeamMergeFromDetails(bb.Struct): """ Merged another team into this team. :ivar TeamMergeFromDetails.team_name: The name of the team that was merged into this team. """ __slots__ = [ "_team_name_value", ] _has_required_fields = True def __init__(self, team_name=None): self._team_name_value = bb.NOT_SET if team_name is not None: self.team_name = team_name # Instance attribute type: str (validator is set below) team_name = bb.Attribute("team_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeFromDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeFromDetails_validator = bv.Struct(TeamMergeFromDetails) class TeamMergeFromType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeFromType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeFromType_validator = bv.Struct(TeamMergeFromType) class TeamMergeRequestAcceptedDetails(bb.Struct): """ Accepted a team merge request. :ivar TeamMergeRequestAcceptedDetails.request_accepted_details: Team merge request acceptance details. """ __slots__ = [ "_request_accepted_details_value", ] _has_required_fields = True def __init__(self, request_accepted_details=None): self._request_accepted_details_value = bb.NOT_SET if request_accepted_details is not None: self.request_accepted_details = request_accepted_details # Instance attribute type: TeamMergeRequestAcceptedExtraDetails (validator is set below) request_accepted_details = bb.Attribute("request_accepted_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestAcceptedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TeamMergeRequestAcceptedExtraDetails.primary_team: Team merge request accepted details shown to the primary team :vartype TeamMergeRequestAcceptedExtraDetails.primary_team: PrimaryTeamRequestAcceptedDetails :ivar TeamMergeRequestAcceptedExtraDetails.secondary_team: Team merge request accepted details shown to the secondary team :vartype TeamMergeRequestAcceptedExtraDetails.secondary_team: SecondaryTeamRequestAcceptedDetails """ _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 ) TeamMergeRequestAcceptedExtraDetails_validator = bv.Union(TeamMergeRequestAcceptedExtraDetails) class TeamMergeRequestAcceptedShownToPrimaryTeamDetails(bb.Struct): """ Accepted a team merge request. :ivar TeamMergeRequestAcceptedShownToPrimaryTeamDetails.secondary_team: The secondary team name. :ivar TeamMergeRequestAcceptedShownToPrimaryTeamDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_secondary_team_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_by=None): self._secondary_team_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestAcceptedShownToPrimaryTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestAcceptedShownToPrimaryTeamDetails_validator = bv.Struct( TeamMergeRequestAcceptedShownToPrimaryTeamDetails ) class TeamMergeRequestAcceptedShownToPrimaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestAcceptedShownToPrimaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestAcceptedShownToPrimaryTeamType_validator = bv.Struct( TeamMergeRequestAcceptedShownToPrimaryTeamType ) class TeamMergeRequestAcceptedShownToSecondaryTeamDetails(bb.Struct): """ Accepted a team merge request. :ivar TeamMergeRequestAcceptedShownToSecondaryTeamDetails.primary_team: The primary team name. :ivar TeamMergeRequestAcceptedShownToSecondaryTeamDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_primary_team_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, primary_team=None, sent_by=None): self._primary_team_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if primary_team is not None: self.primary_team = primary_team if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) primary_team = bb.Attribute("primary_team") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super( TeamMergeRequestAcceptedShownToSecondaryTeamDetails, self )._process_custom_annotations(annotation_type, field_path, processor) TeamMergeRequestAcceptedShownToSecondaryTeamDetails_validator = bv.Struct( TeamMergeRequestAcceptedShownToSecondaryTeamDetails ) class TeamMergeRequestAcceptedShownToSecondaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestAcceptedShownToSecondaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestAcceptedShownToSecondaryTeamType_validator = bv.Struct( TeamMergeRequestAcceptedShownToSecondaryTeamType ) class TeamMergeRequestAcceptedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestAcceptedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestAcceptedType_validator = bv.Struct(TeamMergeRequestAcceptedType) class TeamMergeRequestAutoCanceledDetails(bb.Struct): """ Automatically canceled team merge request. :ivar TeamMergeRequestAutoCanceledDetails.details: The cancellation reason. """ __slots__ = [ "_details_value", ] _has_required_fields = False def __init__(self, details=None): self._details_value = bb.NOT_SET if details is not None: self.details = details # Instance attribute type: str (validator is set below) details = bb.Attribute("details", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestAutoCanceledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestAutoCanceledDetails_validator = bv.Struct(TeamMergeRequestAutoCanceledDetails) class TeamMergeRequestAutoCanceledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestAutoCanceledType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestAutoCanceledType_validator = bv.Struct(TeamMergeRequestAutoCanceledType) class TeamMergeRequestCanceledDetails(bb.Struct): """ Canceled a team merge request. :ivar TeamMergeRequestCanceledDetails.request_canceled_details: Team merge request cancellation details. """ __slots__ = [ "_request_canceled_details_value", ] _has_required_fields = True def __init__(self, request_canceled_details=None): self._request_canceled_details_value = bb.NOT_SET if request_canceled_details is not None: self.request_canceled_details = request_canceled_details # Instance attribute type: TeamMergeRequestCanceledExtraDetails (validator is set below) request_canceled_details = bb.Attribute("request_canceled_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestCanceledDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TeamMergeRequestCanceledExtraDetails.primary_team: Team merge request cancellation details shown to the primary team :vartype TeamMergeRequestCanceledExtraDetails.primary_team: PrimaryTeamRequestCanceledDetails :ivar TeamMergeRequestCanceledExtraDetails.secondary_team: Team merge request cancellation details shown to the secondary team :vartype TeamMergeRequestCanceledExtraDetails.secondary_team: SecondaryTeamRequestCanceledDetails """ _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 ) TeamMergeRequestCanceledExtraDetails_validator = bv.Union(TeamMergeRequestCanceledExtraDetails) class TeamMergeRequestCanceledShownToPrimaryTeamDetails(bb.Struct): """ Canceled a team merge request. :ivar TeamMergeRequestCanceledShownToPrimaryTeamDetails.secondary_team: The secondary team name. :ivar TeamMergeRequestCanceledShownToPrimaryTeamDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_secondary_team_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_by=None): self._secondary_team_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestCanceledShownToPrimaryTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestCanceledShownToPrimaryTeamDetails_validator = bv.Struct( TeamMergeRequestCanceledShownToPrimaryTeamDetails ) class TeamMergeRequestCanceledShownToPrimaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestCanceledShownToPrimaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestCanceledShownToPrimaryTeamType_validator = bv.Struct( TeamMergeRequestCanceledShownToPrimaryTeamType ) class TeamMergeRequestCanceledShownToSecondaryTeamDetails(bb.Struct): """ Canceled a team merge request. :ivar TeamMergeRequestCanceledShownToSecondaryTeamDetails.sent_to: The email of the primary team admin that the request was sent to. :ivar TeamMergeRequestCanceledShownToSecondaryTeamDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_sent_to_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, sent_to=None, sent_by=None): self._sent_to_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if sent_to is not None: self.sent_to = sent_to if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super( TeamMergeRequestCanceledShownToSecondaryTeamDetails, self )._process_custom_annotations(annotation_type, field_path, processor) TeamMergeRequestCanceledShownToSecondaryTeamDetails_validator = bv.Struct( TeamMergeRequestCanceledShownToSecondaryTeamDetails ) class TeamMergeRequestCanceledShownToSecondaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestCanceledShownToSecondaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestCanceledShownToSecondaryTeamType_validator = bv.Struct( TeamMergeRequestCanceledShownToSecondaryTeamType ) class TeamMergeRequestCanceledType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestCanceledType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestCanceledType_validator = bv.Struct(TeamMergeRequestCanceledType) class TeamMergeRequestExpiredDetails(bb.Struct): """ Team merge request expired. :ivar TeamMergeRequestExpiredDetails.request_expired_details: Team merge request expiration details. """ __slots__ = [ "_request_expired_details_value", ] _has_required_fields = True def __init__(self, request_expired_details=None): self._request_expired_details_value = bb.NOT_SET if request_expired_details is not None: self.request_expired_details = request_expired_details # Instance attribute type: TeamMergeRequestExpiredExtraDetails (validator is set below) request_expired_details = bb.Attribute("request_expired_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestExpiredDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TeamMergeRequestExpiredExtraDetails.primary_team: Team merge request canceled details shown to the primary team :vartype TeamMergeRequestExpiredExtraDetails.primary_team: PrimaryTeamRequestExpiredDetails :ivar TeamMergeRequestExpiredExtraDetails.secondary_team: Team merge request canceled details shown to the secondary team :vartype TeamMergeRequestExpiredExtraDetails.secondary_team: SecondaryTeamRequestExpiredDetails """ _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 ) TeamMergeRequestExpiredExtraDetails_validator = bv.Union(TeamMergeRequestExpiredExtraDetails) class TeamMergeRequestExpiredShownToPrimaryTeamDetails(bb.Struct): """ Team merge request expired. :ivar TeamMergeRequestExpiredShownToPrimaryTeamDetails.secondary_team: The secondary team name. :ivar TeamMergeRequestExpiredShownToPrimaryTeamDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_secondary_team_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_by=None): self._secondary_team_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestExpiredShownToPrimaryTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestExpiredShownToPrimaryTeamDetails_validator = bv.Struct( TeamMergeRequestExpiredShownToPrimaryTeamDetails ) class TeamMergeRequestExpiredShownToPrimaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestExpiredShownToPrimaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestExpiredShownToPrimaryTeamType_validator = bv.Struct( TeamMergeRequestExpiredShownToPrimaryTeamType ) class TeamMergeRequestExpiredShownToSecondaryTeamDetails(bb.Struct): """ Team merge request expired. :ivar TeamMergeRequestExpiredShownToSecondaryTeamDetails.sent_to: The email of the primary team admin the request was sent to. """ __slots__ = [ "_sent_to_value", ] _has_required_fields = True def __init__(self, sent_to=None): self._sent_to_value = bb.NOT_SET if sent_to is not None: self.sent_to = sent_to # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestExpiredShownToSecondaryTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestExpiredShownToSecondaryTeamDetails_validator = bv.Struct( TeamMergeRequestExpiredShownToSecondaryTeamDetails ) class TeamMergeRequestExpiredShownToSecondaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestExpiredShownToSecondaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestExpiredShownToSecondaryTeamType_validator = bv.Struct( TeamMergeRequestExpiredShownToSecondaryTeamType ) class TeamMergeRequestExpiredType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestExpiredType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestExpiredType_validator = bv.Struct(TeamMergeRequestExpiredType) class TeamMergeRequestRejectedShownToPrimaryTeamDetails(bb.Struct): """ Rejected a team merge request. :ivar TeamMergeRequestRejectedShownToPrimaryTeamDetails.secondary_team: The secondary team name. :ivar TeamMergeRequestRejectedShownToPrimaryTeamDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_secondary_team_value", "_sent_by_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_by=None): self._secondary_team_value = bb.NOT_SET self._sent_by_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestRejectedShownToPrimaryTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestRejectedShownToPrimaryTeamDetails_validator = bv.Struct( TeamMergeRequestRejectedShownToPrimaryTeamDetails ) class TeamMergeRequestRejectedShownToPrimaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestRejectedShownToPrimaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestRejectedShownToPrimaryTeamType_validator = bv.Struct( TeamMergeRequestRejectedShownToPrimaryTeamType ) class TeamMergeRequestRejectedShownToSecondaryTeamDetails(bb.Struct): """ Rejected a team merge request. :ivar TeamMergeRequestRejectedShownToSecondaryTeamDetails.sent_by: The name of the secondary team admin who sent the request originally. """ __slots__ = [ "_sent_by_value", ] _has_required_fields = True def __init__(self, sent_by=None): self._sent_by_value = bb.NOT_SET if sent_by is not None: self.sent_by = sent_by # Instance attribute type: str (validator is set below) sent_by = bb.Attribute("sent_by") def _process_custom_annotations(self, annotation_type, field_path, processor): super( TeamMergeRequestRejectedShownToSecondaryTeamDetails, self )._process_custom_annotations(annotation_type, field_path, processor) TeamMergeRequestRejectedShownToSecondaryTeamDetails_validator = bv.Struct( TeamMergeRequestRejectedShownToSecondaryTeamDetails ) class TeamMergeRequestRejectedShownToSecondaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestRejectedShownToSecondaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestRejectedShownToSecondaryTeamType_validator = bv.Struct( TeamMergeRequestRejectedShownToSecondaryTeamType ) class TeamMergeRequestReminderDetails(bb.Struct): """ Sent a team merge request reminder. :ivar TeamMergeRequestReminderDetails.request_reminder_details: Team merge request reminder details. """ __slots__ = [ "_request_reminder_details_value", ] _has_required_fields = True def __init__(self, request_reminder_details=None): self._request_reminder_details_value = bb.NOT_SET if request_reminder_details is not None: self.request_reminder_details = request_reminder_details # Instance attribute type: TeamMergeRequestReminderExtraDetails (validator is set below) request_reminder_details = bb.Attribute("request_reminder_details", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestReminderDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 TeamMergeRequestReminderExtraDetails.primary_team: Team merge request reminder details shown to the primary team :vartype TeamMergeRequestReminderExtraDetails.primary_team: PrimaryTeamRequestReminderDetails :ivar TeamMergeRequestReminderExtraDetails.secondary_team: Team merge request reminder details shown to the secondary team :vartype TeamMergeRequestReminderExtraDetails.secondary_team: SecondaryTeamRequestReminderDetails """ _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 ) TeamMergeRequestReminderExtraDetails_validator = bv.Union(TeamMergeRequestReminderExtraDetails) class TeamMergeRequestReminderShownToPrimaryTeamDetails(bb.Struct): """ Sent a team merge request reminder. :ivar TeamMergeRequestReminderShownToPrimaryTeamDetails.secondary_team: The secondary team name. :ivar TeamMergeRequestReminderShownToPrimaryTeamDetails.sent_to: The name of the primary team admin the request was sent to. """ __slots__ = [ "_secondary_team_value", "_sent_to_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_to=None): self._secondary_team_value = bb.NOT_SET self._sent_to_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_to is not None: self.sent_to = sent_to # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestReminderShownToPrimaryTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestReminderShownToPrimaryTeamDetails_validator = bv.Struct( TeamMergeRequestReminderShownToPrimaryTeamDetails ) class TeamMergeRequestReminderShownToPrimaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestReminderShownToPrimaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestReminderShownToPrimaryTeamType_validator = bv.Struct( TeamMergeRequestReminderShownToPrimaryTeamType ) class TeamMergeRequestReminderShownToSecondaryTeamDetails(bb.Struct): """ Sent a team merge request reminder. :ivar TeamMergeRequestReminderShownToSecondaryTeamDetails.sent_to: The email of the primary team admin the request was sent to. """ __slots__ = [ "_sent_to_value", ] _has_required_fields = True def __init__(self, sent_to=None): self._sent_to_value = bb.NOT_SET if sent_to is not None: self.sent_to = sent_to # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") def _process_custom_annotations(self, annotation_type, field_path, processor): super( TeamMergeRequestReminderShownToSecondaryTeamDetails, self )._process_custom_annotations(annotation_type, field_path, processor) TeamMergeRequestReminderShownToSecondaryTeamDetails_validator = bv.Struct( TeamMergeRequestReminderShownToSecondaryTeamDetails ) class TeamMergeRequestReminderShownToSecondaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestReminderShownToSecondaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestReminderShownToSecondaryTeamType_validator = bv.Struct( TeamMergeRequestReminderShownToSecondaryTeamType ) class TeamMergeRequestReminderType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestReminderType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestReminderType_validator = bv.Struct(TeamMergeRequestReminderType) class TeamMergeRequestRevokedDetails(bb.Struct): """ Canceled the team merge. :ivar TeamMergeRequestRevokedDetails.team: The name of the other team. """ __slots__ = [ "_team_value", ] _has_required_fields = True def __init__(self, team=None): self._team_value = bb.NOT_SET if team is not None: self.team = team # Instance attribute type: str (validator is set below) team = bb.Attribute("team") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestRevokedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestRevokedDetails_validator = bv.Struct(TeamMergeRequestRevokedDetails) class TeamMergeRequestRevokedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestRevokedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestRevokedType_validator = bv.Struct(TeamMergeRequestRevokedType) class TeamMergeRequestSentShownToPrimaryTeamDetails(bb.Struct): """ Requested to merge their Dropbox team into yours. :ivar TeamMergeRequestSentShownToPrimaryTeamDetails.secondary_team: The secondary team name. :ivar TeamMergeRequestSentShownToPrimaryTeamDetails.sent_to: The name of the primary team admin the request was sent to. """ __slots__ = [ "_secondary_team_value", "_sent_to_value", ] _has_required_fields = True def __init__(self, secondary_team=None, sent_to=None): self._secondary_team_value = bb.NOT_SET self._sent_to_value = bb.NOT_SET if secondary_team is not None: self.secondary_team = secondary_team if sent_to is not None: self.sent_to = sent_to # Instance attribute type: str (validator is set below) secondary_team = bb.Attribute("secondary_team") # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestSentShownToPrimaryTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestSentShownToPrimaryTeamDetails_validator = bv.Struct( TeamMergeRequestSentShownToPrimaryTeamDetails ) class TeamMergeRequestSentShownToPrimaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestSentShownToPrimaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestSentShownToPrimaryTeamType_validator = bv.Struct( TeamMergeRequestSentShownToPrimaryTeamType ) class TeamMergeRequestSentShownToSecondaryTeamDetails(bb.Struct): """ Requested to merge your team into another Dropbox team. :ivar TeamMergeRequestSentShownToSecondaryTeamDetails.sent_to: The email of the primary team admin the request was sent to. """ __slots__ = [ "_sent_to_value", ] _has_required_fields = True def __init__(self, sent_to=None): self._sent_to_value = bb.NOT_SET if sent_to is not None: self.sent_to = sent_to # Instance attribute type: str (validator is set below) sent_to = bb.Attribute("sent_to") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestSentShownToSecondaryTeamDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestSentShownToSecondaryTeamDetails_validator = bv.Struct( TeamMergeRequestSentShownToSecondaryTeamDetails ) class TeamMergeRequestSentShownToSecondaryTeamType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeRequestSentShownToSecondaryTeamType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeRequestSentShownToSecondaryTeamType_validator = bv.Struct( TeamMergeRequestSentShownToSecondaryTeamType ) class TeamMergeToDetails(bb.Struct): """ Merged this team into another team. :ivar TeamMergeToDetails.team_name: The name of the team that this team was merged into. """ __slots__ = [ "_team_name_value", ] _has_required_fields = True def __init__(self, team_name=None): self._team_name_value = bb.NOT_SET if team_name is not None: self.team_name = team_name # Instance attribute type: str (validator is set below) team_name = bb.Attribute("team_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeToDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeToDetails_validator = bv.Struct(TeamMergeToDetails) class TeamMergeToType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMergeToType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMergeToType_validator = bv.Struct(TeamMergeToType) class TeamName(bb.Struct): """ Team name details :ivar TeamName.team_display_name: Team's display name. :ivar TeamName.team_legal_name: Team's legal name. """ __slots__ = [ "_team_display_name_value", "_team_legal_name_value", ] _has_required_fields = True def __init__(self, team_display_name=None, team_legal_name=None): self._team_display_name_value = bb.NOT_SET self._team_legal_name_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) team_display_name = bb.Attribute("team_display_name") # Instance attribute type: str (validator is set below) team_legal_name = bb.Attribute("team_legal_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamName, self)._process_custom_annotations(annotation_type, field_path, processor) TeamName_validator = bv.Struct(TeamName) class TeamProfileAddBackgroundDetails(bb.Struct): """ Added team background 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(TeamProfileAddBackgroundDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileAddBackgroundDetails_validator = bv.Struct(TeamProfileAddBackgroundDetails) class TeamProfileAddBackgroundType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileAddBackgroundType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileAddBackgroundType_validator = bv.Struct(TeamProfileAddBackgroundType) 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 ) TeamProfileAddLogoDetails_validator = bv.Struct(TeamProfileAddLogoDetails) class TeamProfileAddLogoType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileAddLogoType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileAddLogoType_validator = bv.Struct(TeamProfileAddLogoType) class TeamProfileChangeBackgroundDetails(bb.Struct): """ Changed team background 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(TeamProfileChangeBackgroundDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileChangeBackgroundDetails_validator = bv.Struct(TeamProfileChangeBackgroundDetails) class TeamProfileChangeBackgroundType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileChangeBackgroundType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileChangeBackgroundType_validator = bv.Struct(TeamProfileChangeBackgroundType) class TeamProfileChangeDefaultLanguageDetails(bb.Struct): """ Changed default language for team. :ivar TeamProfileChangeDefaultLanguageDetails.new_value: New team's default language. :ivar TeamProfileChangeDefaultLanguageDetails.previous_value: Previous team's default language. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileChangeDefaultLanguageDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileChangeDefaultLanguageDetails_validator = bv.Struct( TeamProfileChangeDefaultLanguageDetails ) class TeamProfileChangeDefaultLanguageType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileChangeDefaultLanguageType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) TeamProfileChangeLogoDetails_validator = bv.Struct(TeamProfileChangeLogoDetails) class TeamProfileChangeLogoType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileChangeLogoType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileChangeLogoType_validator = bv.Struct(TeamProfileChangeLogoType) class TeamProfileChangeNameDetails(bb.Struct): """ Changed team name. :ivar TeamProfileChangeNameDetails.previous_value: Previous teams name. Might be missing due to historical data gap. :ivar TeamProfileChangeNameDetails.new_value: New team name. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: TeamName (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) # Instance attribute type: TeamName (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileChangeNameDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileChangeNameDetails_validator = bv.Struct(TeamProfileChangeNameDetails) class TeamProfileChangeNameType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileChangeNameType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileChangeNameType_validator = bv.Struct(TeamProfileChangeNameType) class TeamProfileRemoveBackgroundDetails(bb.Struct): """ Removed team background 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(TeamProfileRemoveBackgroundDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileRemoveBackgroundDetails_validator = bv.Struct(TeamProfileRemoveBackgroundDetails) class TeamProfileRemoveBackgroundType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileRemoveBackgroundType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamProfileRemoveBackgroundType_validator = bv.Struct(TeamProfileRemoveBackgroundType) 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 ) TeamProfileRemoveLogoDetails_validator = bv.Struct(TeamProfileRemoveLogoDetails) class TeamProfileRemoveLogoType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamProfileRemoveLogoType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) TeamSelectiveSyncPolicy_validator = bv.Union(TeamSelectiveSyncPolicy) class TeamSelectiveSyncPolicyChangedDetails(bb.Struct): """ Enabled/disabled Team Selective Sync for team. :ivar TeamSelectiveSyncPolicyChangedDetails.new_value: New Team Selective Sync policy. :ivar TeamSelectiveSyncPolicyChangedDetails.previous_value: Previous Team Selective Sync policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: TeamSelectiveSyncPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: TeamSelectiveSyncPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamSelectiveSyncPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamSelectiveSyncPolicyChangedDetails_validator = bv.Struct(TeamSelectiveSyncPolicyChangedDetails) class TeamSelectiveSyncPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamSelectiveSyncPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamSelectiveSyncPolicyChangedType_validator = bv.Struct(TeamSelectiveSyncPolicyChangedType) class TeamSelectiveSyncSettingsChangedDetails(bb.Struct): """ Changed sync default. :ivar TeamSelectiveSyncSettingsChangedDetails.previous_value: Previous value. :ivar TeamSelectiveSyncSettingsChangedDetails.new_value: New value. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: files.SyncSetting (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: files.SyncSetting (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamSelectiveSyncSettingsChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamSelectiveSyncSettingsChangedDetails_validator = bv.Struct( TeamSelectiveSyncSettingsChangedDetails ) class TeamSelectiveSyncSettingsChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamSelectiveSyncSettingsChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamSelectiveSyncSettingsChangedType_validator = bv.Struct(TeamSelectiveSyncSettingsChangedType) class TeamSharingWhitelistSubjectsChangedDetails(bb.Struct): """ Edited the approved list for sharing externally. :ivar TeamSharingWhitelistSubjectsChangedDetails.added_whitelist_subjects: Domains or emails added to the approved list for sharing externally. :ivar TeamSharingWhitelistSubjectsChangedDetails.removed_whitelist_subjects: Domains or emails removed from the approved list for sharing externally. """ __slots__ = [ "_added_whitelist_subjects_value", "_removed_whitelist_subjects_value", ] _has_required_fields = True def __init__(self, added_whitelist_subjects=None, removed_whitelist_subjects=None): self._added_whitelist_subjects_value = bb.NOT_SET self._removed_whitelist_subjects_value = bb.NOT_SET if added_whitelist_subjects is not None: self.added_whitelist_subjects = added_whitelist_subjects if removed_whitelist_subjects is not None: self.removed_whitelist_subjects = removed_whitelist_subjects # Instance attribute type: list of [str] (validator is set below) added_whitelist_subjects = bb.Attribute("added_whitelist_subjects") # Instance attribute type: list of [str] (validator is set below) removed_whitelist_subjects = bb.Attribute("removed_whitelist_subjects") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamSharingWhitelistSubjectsChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamSharingWhitelistSubjectsChangedDetails_validator = bv.Struct( TeamSharingWhitelistSubjectsChangedDetails ) class TeamSharingWhitelistSubjectsChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamSharingWhitelistSubjectsChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamSharingWhitelistSubjectsChangedType_validator = bv.Struct( TeamSharingWhitelistSubjectsChangedType ) class TeamStorageCreateReportDetails(bb.Struct): """ Created team storage report. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamStorageCreateReportDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamStorageCreateReportDetails_validator = bv.Struct(TeamStorageCreateReportDetails) class TeamStorageCreateReportFailedDetails(bb.Struct): """ Couldn't generate team storage report. :ivar TeamStorageCreateReportFailedDetails.failure_reason: Failure reason. """ __slots__ = [ "_failure_reason_value", ] _has_required_fields = True def __init__(self, failure_reason=None): self._failure_reason_value = bb.NOT_SET if failure_reason is not None: self.failure_reason = failure_reason # Instance attribute type: team.TeamReportFailureReason (validator is set below) failure_reason = bb.Attribute("failure_reason", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamStorageCreateReportFailedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamStorageCreateReportFailedDetails_validator = bv.Struct(TeamStorageCreateReportFailedDetails) class TeamStorageCreateReportFailedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamStorageCreateReportFailedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamStorageCreateReportFailedType_validator = bv.Struct(TeamStorageCreateReportFailedType) class TeamStorageCreateReportType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamStorageCreateReportType, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamStorageCreateReportType_validator = bv.Struct(TeamStorageCreateReportType) class TfaAddBackupPhoneDetails(bb.Struct): """ Added backup phone for two-factor authentication. """ __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 ) TfaAddBackupPhoneDetails_validator = bv.Struct(TfaAddBackupPhoneDetails) class TfaAddBackupPhoneType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaAddBackupPhoneType, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaAddBackupPhoneType_validator = bv.Struct(TfaAddBackupPhoneType) class TfaAddExceptionDetails(bb.Struct): """ Added members to two factor authentication exception list. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaAddExceptionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaAddExceptionDetails_validator = bv.Struct(TfaAddExceptionDetails) class TfaAddExceptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaAddExceptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaAddExceptionType_validator = bv.Struct(TfaAddExceptionType) class TfaAddSecurityKeyDetails(bb.Struct): """ Added security key for two-factor authentication. """ __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 ) TfaAddSecurityKeyDetails_validator = bv.Struct(TfaAddSecurityKeyDetails) class TfaAddSecurityKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaAddSecurityKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaAddSecurityKeyType_validator = bv.Struct(TfaAddSecurityKeyType) class TfaChangeBackupPhoneDetails(bb.Struct): """ Changed backup phone for two-factor authentication. """ __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 ) TfaChangeBackupPhoneDetails_validator = bv.Struct(TfaChangeBackupPhoneDetails) class TfaChangeBackupPhoneType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaChangeBackupPhoneType, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaChangeBackupPhoneType_validator = bv.Struct(TfaChangeBackupPhoneType) class TfaChangePolicyDetails(bb.Struct): """ Changed two-factor authentication setting for team. :ivar TfaChangePolicyDetails.new_value: New change policy. :ivar TfaChangePolicyDetails.previous_value: Previous change policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: team_policies.TwoStepVerificationPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: team_policies.TwoStepVerificationPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaChangePolicyDetails_validator = bv.Struct(TfaChangePolicyDetails) class TfaChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaChangePolicyType_validator = bv.Struct(TfaChangePolicyType) class TfaChangeStatusDetails(bb.Struct): """ Enabled/disabled/changed two-factor authentication setting. :ivar TfaChangeStatusDetails.new_value: The new two factor authentication configuration. :ivar TfaChangeStatusDetails.previous_value: The previous two factor authentication configuration. Might be missing due to historical data gap. :ivar 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", "_previous_value_value", "_used_rescue_code_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None, used_rescue_code=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET self._used_rescue_code_value = bb.NOT_SET 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 # Instance attribute type: TfaConfiguration (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: TfaConfiguration (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) # Instance attribute type: bool (validator is set below) used_rescue_code = bb.Attribute("used_rescue_code", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaChangeStatusDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaChangeStatusDetails_validator = bv.Struct(TfaChangeStatusDetails) class TfaChangeStatusType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaChangeStatusType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 authenticator = None # 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 other = None def is_authenticator(self): """ Check if the union tag is ``authenticator``. :rtype: bool """ return self._tag == "authenticator" 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_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 ) TfaConfiguration_validator = bv.Union(TfaConfiguration) class TfaRemoveBackupPhoneDetails(bb.Struct): """ Removed backup phone for two-factor authentication. """ __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 ) TfaRemoveBackupPhoneDetails_validator = bv.Struct(TfaRemoveBackupPhoneDetails) class TfaRemoveBackupPhoneType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaRemoveBackupPhoneType, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaRemoveBackupPhoneType_validator = bv.Struct(TfaRemoveBackupPhoneType) class TfaRemoveExceptionDetails(bb.Struct): """ Removed members from two factor authentication exception list. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaRemoveExceptionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaRemoveExceptionDetails_validator = bv.Struct(TfaRemoveExceptionDetails) class TfaRemoveExceptionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaRemoveExceptionType, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaRemoveExceptionType_validator = bv.Struct(TfaRemoveExceptionType) class TfaRemoveSecurityKeyDetails(bb.Struct): """ Removed security key for two-factor authentication. """ __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 ) TfaRemoveSecurityKeyDetails_validator = bv.Struct(TfaRemoveSecurityKeyDetails) class TfaRemoveSecurityKeyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaRemoveSecurityKeyType, self)._process_custom_annotations( annotation_type, field_path, processor ) TfaRemoveSecurityKeyType_validator = bv.Struct(TfaRemoveSecurityKeyType) class TfaResetDetails(bb.Struct): """ Reset two-factor authentication 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 ) TfaResetDetails_validator = bv.Struct(TfaResetDetails) class TfaResetType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TfaResetType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 days = None # Attribute is overwritten below the class definition hours = None # Attribute is overwritten below the class definition milliseconds = None # Attribute is overwritten below the class definition minutes = None # Attribute is overwritten below the class definition months = None # Attribute is overwritten below the class definition seconds = None # Attribute is overwritten below the class definition weeks = None # Attribute is overwritten below the class definition years = None # Attribute is overwritten below the class definition other = None def is_days(self): """ Check if the union tag is ``days``. :rtype: bool """ return self._tag == "days" def is_hours(self): """ Check if the union tag is ``hours``. :rtype: bool """ return self._tag == "hours" def is_milliseconds(self): """ Check if the union tag is ``milliseconds``. :rtype: bool """ return self._tag == "milliseconds" def is_minutes(self): """ Check if the union tag is ``minutes``. :rtype: bool """ return self._tag == "minutes" def is_months(self): """ Check if the union tag is ``months``. :rtype: bool """ return self._tag == "months" def is_seconds(self): """ Check if the union tag is ``seconds``. :rtype: bool """ return self._tag == "seconds" def is_weeks(self): """ Check if the union tag is ``weeks``. :rtype: bool """ return self._tag == "weeks" 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) TimeUnit_validator = bv.Union(TimeUnit) class TopLevelContentPolicy(bb.Union): """ Policy for deciding whether members can edit team folders at the top level of the team space This class acts as a tagged union. Only 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 admins_only = None # Attribute is overwritten below the class definition everyone = None # Attribute is overwritten below the class definition other = None def is_admins_only(self): """ Check if the union tag is ``admins_only``. :rtype: bool """ return self._tag == "admins_only" def is_everyone(self): """ Check if the union tag is ``everyone``. :rtype: bool """ return self._tag == "everyone" 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(TopLevelContentPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) TopLevelContentPolicy_validator = bv.Union(TopLevelContentPolicy) class TopLevelContentPolicyChangedDetails(bb.Struct): """ Changed top level content setting for team. :ivar TopLevelContentPolicyChangedDetails.new_value: To. :ivar TopLevelContentPolicyChangedDetails.previous_value: From. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: TopLevelContentPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: TopLevelContentPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TopLevelContentPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TopLevelContentPolicyChangedDetails_validator = bv.Struct(TopLevelContentPolicyChangedDetails) class TopLevelContentPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TopLevelContentPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) TopLevelContentPolicyChangedType_validator = bv.Struct(TopLevelContentPolicyChangedType) class TrustedNonTeamMemberLogInfo(UserLogInfo): """ User that is not a member of the team but considered trusted. :ivar TrustedNonTeamMemberLogInfo.trusted_non_team_member_type: Indicates the type of the member of a trusted team. :ivar TrustedNonTeamMemberLogInfo.team: Details about this user's trusted team. """ __slots__ = [ "_trusted_non_team_member_type_value", "_team_value", ] _has_required_fields = True def __init__( self, trusted_non_team_member_type=None, account_id=None, display_name=None, email=None, team=None, ): super(TrustedNonTeamMemberLogInfo, self).__init__(account_id, display_name, email) self._trusted_non_team_member_type_value = bb.NOT_SET self._team_value = bb.NOT_SET if trusted_non_team_member_type is not None: self.trusted_non_team_member_type = trusted_non_team_member_type if team is not None: self.team = team # Instance attribute type: TrustedNonTeamMemberType (validator is set below) trusted_non_team_member_type = bb.Attribute("trusted_non_team_member_type", user_defined=True) # Instance attribute type: TeamLogInfo (validator is set below) team = bb.Attribute("team", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TrustedNonTeamMemberLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 enterprise_admin = None # Attribute is overwritten below the class definition multi_instance_admin = None # Attribute is overwritten below the class definition other = None def is_enterprise_admin(self): """ Check if the union tag is ``enterprise_admin``. :rtype: bool """ return self._tag == "enterprise_admin" 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 ) 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 accepted = None # Attribute is overwritten below the class definition declined = None # Attribute is overwritten below the class definition expired = None # Attribute is overwritten below the class definition invited = None # Attribute is overwritten below the class definition revoked = None # Attribute is overwritten below the class definition other = None 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_expired(self): """ Check if the union tag is ``expired``. :rtype: bool """ return self._tag == "expired" def is_invited(self): """ Check if the union tag is ``invited``. :rtype: bool """ return self._tag == "invited" def is_revoked(self): """ Check if the union tag is ``revoked``. :rtype: bool """ return self._tag == "revoked" 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 ) 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 ) 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 TwoAccountChangePolicyDetails.new_value: New two account policy. :ivar TwoAccountChangePolicyDetails.previous_value: Previous two account policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: TwoAccountPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: TwoAccountPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TwoAccountChangePolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) TwoAccountChangePolicyDetails_validator = bv.Struct(TwoAccountChangePolicyDetails) class TwoAccountChangePolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TwoAccountChangePolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) TwoAccountPolicy_validator = bv.Union(TwoAccountPolicy) class UndoNamingConventionDetails(bb.Struct): """ Reverted naming convention. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(UndoNamingConventionDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) UndoNamingConventionDetails_validator = bv.Struct(UndoNamingConventionDetails) class UndoNamingConventionType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UndoNamingConventionType, self)._process_custom_annotations( annotation_type, field_path, processor ) UndoNamingConventionType_validator = bv.Struct(UndoNamingConventionType) class UndoOrganizeFolderWithTidyDetails(bb.Struct): """ Removed multi-file organize. """ __slots__ = [] _has_required_fields = False def __init__(self): pass def _process_custom_annotations(self, annotation_type, field_path, processor): super(UndoOrganizeFolderWithTidyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) UndoOrganizeFolderWithTidyDetails_validator = bv.Struct(UndoOrganizeFolderWithTidyDetails) class UndoOrganizeFolderWithTidyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UndoOrganizeFolderWithTidyType, self)._process_custom_annotations( annotation_type, field_path, processor ) UndoOrganizeFolderWithTidyType_validator = bv.Struct(UndoOrganizeFolderWithTidyType) 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 ) UserLinkedAppLogInfo_validator = bv.Struct(UserLinkedAppLogInfo) class UserNameLogInfo(bb.Struct): """ User's name logged information :ivar UserNameLogInfo.given_name: Given name. :ivar UserNameLogInfo.surname: Surname. :ivar UserNameLogInfo.locale: Locale. Might be missing due to historical data gap. """ __slots__ = [ "_given_name_value", "_surname_value", "_locale_value", ] _has_required_fields = True def __init__(self, given_name=None, surname=None, locale=None): self._given_name_value = bb.NOT_SET self._surname_value = bb.NOT_SET self._locale_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) given_name = bb.Attribute("given_name") # Instance attribute type: str (validator is set below) surname = bb.Attribute("surname") # Instance attribute type: str (validator is set below) locale = bb.Attribute("locale", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserNameLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) UserOrTeamLinkedAppLogInfo_validator = bv.Struct(UserOrTeamLinkedAppLogInfo) class UserTagsAddedDetails(bb.Struct): """ Tagged a file. :ivar UserTagsAddedDetails.values: values. """ __slots__ = [ "_values_value", ] _has_required_fields = True def __init__(self, values=None): self._values_value = bb.NOT_SET if values is not None: self.values = values # Instance attribute type: list of [str] (validator is set below) values = bb.Attribute("values") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserTagsAddedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) UserTagsAddedDetails_validator = bv.Struct(UserTagsAddedDetails) class UserTagsAddedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserTagsAddedType, self)._process_custom_annotations( annotation_type, field_path, processor ) UserTagsAddedType_validator = bv.Struct(UserTagsAddedType) class UserTagsRemovedDetails(bb.Struct): """ Removed tags. :ivar UserTagsRemovedDetails.values: values. """ __slots__ = [ "_values_value", ] _has_required_fields = True def __init__(self, values=None): self._values_value = bb.NOT_SET if values is not None: self.values = values # Instance attribute type: list of [str] (validator is set below) values = bb.Attribute("values") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserTagsRemovedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) UserTagsRemovedDetails_validator = bv.Struct(UserTagsRemovedDetails) class UserTagsRemovedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserTagsRemovedType, self)._process_custom_annotations( annotation_type, field_path, processor ) UserTagsRemovedType_validator = bv.Struct(UserTagsRemovedType) class ViewerInfoPolicyChangedDetails(bb.Struct): """ Changed team policy for viewer info. :ivar ViewerInfoPolicyChangedDetails.previous_value: Previous Viewer Info policy. :ivar ViewerInfoPolicyChangedDetails.new_value: New Viewer Info policy. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: PassPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) # Instance attribute type: PassPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(ViewerInfoPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) ViewerInfoPolicyChangedDetails_validator = bv.Struct(ViewerInfoPolicyChangedDetails) class ViewerInfoPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(ViewerInfoPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) ViewerInfoPolicyChangedType_validator = bv.Struct(ViewerInfoPolicyChangedType) class WatermarkingPolicy(bb.Union): """ Policy for controlling team access to watermarking feature This class acts as a tagged union. Only 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(WatermarkingPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) WatermarkingPolicy_validator = bv.Union(WatermarkingPolicy) class WatermarkingPolicyChangedDetails(bb.Struct): """ Changed watermarking policy for team. :ivar WatermarkingPolicyChangedDetails.new_value: New watermarking policy. :ivar WatermarkingPolicyChangedDetails.previous_value: Previous watermarking policy. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = True def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: WatermarkingPolicy (validator is set below) new_value = bb.Attribute("new_value", user_defined=True) # Instance attribute type: WatermarkingPolicy (validator is set below) previous_value = bb.Attribute("previous_value", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(WatermarkingPolicyChangedDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) WatermarkingPolicyChangedDetails_validator = bv.Struct(WatermarkingPolicyChangedDetails) class WatermarkingPolicyChangedType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(WatermarkingPolicyChangedType, self)._process_custom_annotations( annotation_type, field_path, processor ) WatermarkingPolicyChangedType_validator = bv.Struct(WatermarkingPolicyChangedType) class WebDeviceSessionLogInfo(DeviceSessionLogInfo): """ Information on active web sessions :ivar WebDeviceSessionLogInfo.session_info: Web session unique id. :ivar WebDeviceSessionLogInfo.user_agent: Information on the hosting device. :ivar WebDeviceSessionLogInfo.os: Information on the hosting operating system. :ivar WebDeviceSessionLogInfo.browser: Information on the browser used for this web session. """ __slots__ = [ "_session_info_value", "_user_agent_value", "_os_value", "_browser_value", ] _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 = bb.NOT_SET self._user_agent_value = bb.NOT_SET self._os_value = bb.NOT_SET self._browser_value = bb.NOT_SET 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 # Instance attribute type: WebSessionLogInfo (validator is set below) session_info = bb.Attribute("session_info", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) user_agent = bb.Attribute("user_agent") # Instance attribute type: str (validator is set below) os = bb.Attribute("os") # Instance attribute type: str (validator is set below) browser = bb.Attribute("browser") def _process_custom_annotations(self, annotation_type, field_path, processor): super(WebDeviceSessionLogInfo, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 ) WebSessionLogInfo_validator = bv.Struct(WebSessionLogInfo) class WebSessionsChangeActiveSessionLimitDetails(bb.Struct): """ Changed limit on active sessions per member. :ivar WebSessionsChangeActiveSessionLimitDetails.previous_value: Previous max number of concurrent active sessions policy. :ivar WebSessionsChangeActiveSessionLimitDetails.new_value: New max number of concurrent active sessions policy. """ __slots__ = [ "_previous_value_value", "_new_value_value", ] _has_required_fields = True def __init__(self, previous_value=None, new_value=None): self._previous_value_value = bb.NOT_SET self._new_value_value = bb.NOT_SET if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value # Instance attribute type: str (validator is set below) previous_value = bb.Attribute("previous_value") # Instance attribute type: str (validator is set below) new_value = bb.Attribute("new_value") def _process_custom_annotations(self, annotation_type, field_path, processor): super(WebSessionsChangeActiveSessionLimitDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) WebSessionsChangeActiveSessionLimitDetails_validator = bv.Struct( WebSessionsChangeActiveSessionLimitDetails ) class WebSessionsChangeActiveSessionLimitType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(WebSessionsChangeActiveSessionLimitType, self)._process_custom_annotations( annotation_type, field_path, processor ) WebSessionsChangeActiveSessionLimitType_validator = bv.Struct( WebSessionsChangeActiveSessionLimitType ) class WebSessionsChangeFixedLengthPolicyDetails(bb.Struct): """ Changed how long members can stay signed in to Dropbox.com. :ivar WebSessionsChangeFixedLengthPolicyDetails.new_value: New session length policy. Might be missing due to historical data gap. :ivar WebSessionsChangeFixedLengthPolicyDetails.previous_value: Previous session length policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: WebSessionsFixedLengthPolicy (validator is set below) new_value = bb.Attribute("new_value", nullable=True, user_defined=True) # Instance attribute type: WebSessionsFixedLengthPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(WebSessionsChangeFixedLengthPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) WebSessionsChangeFixedLengthPolicyDetails_validator = bv.Struct( WebSessionsChangeFixedLengthPolicyDetails ) class WebSessionsChangeFixedLengthPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(WebSessionsChangeFixedLengthPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) WebSessionsChangeFixedLengthPolicyType_validator = bv.Struct(WebSessionsChangeFixedLengthPolicyType) class WebSessionsChangeIdleLengthPolicyDetails(bb.Struct): """ Changed how long team members can be idle while signed in to Dropbox.com. :ivar WebSessionsChangeIdleLengthPolicyDetails.new_value: New idle length policy. Might be missing due to historical data gap. :ivar WebSessionsChangeIdleLengthPolicyDetails.previous_value: Previous idle length policy. Might be missing due to historical data gap. """ __slots__ = [ "_new_value_value", "_previous_value_value", ] _has_required_fields = False def __init__(self, new_value=None, previous_value=None): self._new_value_value = bb.NOT_SET self._previous_value_value = bb.NOT_SET if new_value is not None: self.new_value = new_value if previous_value is not None: self.previous_value = previous_value # Instance attribute type: WebSessionsIdleLengthPolicy (validator is set below) new_value = bb.Attribute("new_value", nullable=True, user_defined=True) # Instance attribute type: WebSessionsIdleLengthPolicy (validator is set below) previous_value = bb.Attribute("previous_value", nullable=True, user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(WebSessionsChangeIdleLengthPolicyDetails, self)._process_custom_annotations( annotation_type, field_path, processor ) WebSessionsChangeIdleLengthPolicyDetails_validator = bv.Struct( WebSessionsChangeIdleLengthPolicyDetails ) class WebSessionsChangeIdleLengthPolicyType(bb.Struct): __slots__ = [ "_description_value", ] _has_required_fields = True def __init__(self, description=None): self._description_value = bb.NOT_SET if description is not None: self.description = description # Instance attribute type: str (validator is set below) description = bb.Attribute("description") def _process_custom_annotations(self, annotation_type, field_path, processor): super(WebSessionsChangeIdleLengthPolicyType, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 WebSessionsFixedLengthPolicy.defined: Defined fixed session length. :vartype WebSessionsFixedLengthPolicy.defined: DurationLogInfo :ivar 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 ) 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 WebSessionsIdleLengthPolicy.defined: Defined idle session length. :vartype WebSessionsIdleLengthPolicy.defined: DurationLogInfo :ivar 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 ) 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._admin_console_validator = WebSessionLogInfo_validator AccessMethodLogInfo._api_validator = ApiSessionLogInfo_validator AccessMethodLogInfo._content_manager_validator = WebSessionLogInfo_validator AccessMethodLogInfo._end_user_validator = SessionLogInfo_validator AccessMethodLogInfo._enterprise_console_validator = WebSessionLogInfo_validator AccessMethodLogInfo._sign_in_as_validator = WebSessionLogInfo_validator AccessMethodLogInfo._other_validator = bv.Void() AccessMethodLogInfo._tagmap = { "admin_console": AccessMethodLogInfo._admin_console_validator, "api": AccessMethodLogInfo._api_validator, "content_manager": AccessMethodLogInfo._content_manager_validator, "end_user": AccessMethodLogInfo._end_user_validator, "enterprise_console": AccessMethodLogInfo._enterprise_console_validator, "sign_in_as": AccessMethodLogInfo._sign_in_as_validator, "other": AccessMethodLogInfo._other_validator, } AccessMethodLogInfo.other = AccessMethodLogInfo("other") AccountCaptureAvailability._available_validator = bv.Void() AccountCaptureAvailability._unavailable_validator = bv.Void() AccountCaptureAvailability._other_validator = bv.Void() AccountCaptureAvailability._tagmap = { "available": AccountCaptureAvailability._available_validator, "unavailable": AccountCaptureAvailability._unavailable_validator, "other": AccountCaptureAvailability._other_validator, } AccountCaptureAvailability.available = AccountCaptureAvailability("available") AccountCaptureAvailability.unavailable = AccountCaptureAvailability("unavailable") 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.notification_type.validator = bv.Nullable( AccountCaptureNotificationType_validator ) AccountCaptureNotificationEmailsSentDetails._all_field_names_ = set( [ "domain_name", "notification_type", ] ) AccountCaptureNotificationEmailsSentDetails._all_fields_ = [ ("domain_name", AccountCaptureNotificationEmailsSentDetails.domain_name.validator), ( "notification_type", AccountCaptureNotificationEmailsSentDetails.notification_type.validator, ), ] AccountCaptureNotificationEmailsSentType.description.validator = bv.String() AccountCaptureNotificationEmailsSentType._all_field_names_ = set(["description"]) AccountCaptureNotificationEmailsSentType._all_fields_ = [ ("description", AccountCaptureNotificationEmailsSentType.description.validator) ] AccountCaptureNotificationType._actionable_notification_validator = bv.Void() AccountCaptureNotificationType._proactive_warning_notification_validator = bv.Void() AccountCaptureNotificationType._other_validator = bv.Void() AccountCaptureNotificationType._tagmap = { "actionable_notification": AccountCaptureNotificationType._actionable_notification_validator, "proactive_warning_notification": AccountCaptureNotificationType._proactive_warning_notification_validator, "other": AccountCaptureNotificationType._other_validator, } AccountCaptureNotificationType.actionable_notification = AccountCaptureNotificationType( "actionable_notification" ) AccountCaptureNotificationType.proactive_warning_notification = AccountCaptureNotificationType( "proactive_warning_notification" ) AccountCaptureNotificationType.other = AccountCaptureNotificationType("other") AccountCapturePolicy._all_users_validator = bv.Void() AccountCapturePolicy._disabled_validator = bv.Void() AccountCapturePolicy._invited_users_validator = bv.Void() AccountCapturePolicy._other_validator = bv.Void() AccountCapturePolicy._tagmap = { "all_users": AccountCapturePolicy._all_users_validator, "disabled": AccountCapturePolicy._disabled_validator, "invited_users": AccountCapturePolicy._invited_users_validator, "other": AccountCapturePolicy._other_validator, } AccountCapturePolicy.all_users = AccountCapturePolicy("all_users") AccountCapturePolicy.disabled = AccountCapturePolicy("disabled") AccountCapturePolicy.invited_users = AccountCapturePolicy("invited_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) ] AccountLockOrUnlockedDetails.previous_value.validator = AccountState_validator AccountLockOrUnlockedDetails.new_value.validator = AccountState_validator AccountLockOrUnlockedDetails._all_field_names_ = set( [ "previous_value", "new_value", ] ) AccountLockOrUnlockedDetails._all_fields_ = [ ("previous_value", AccountLockOrUnlockedDetails.previous_value.validator), ("new_value", AccountLockOrUnlockedDetails.new_value.validator), ] AccountLockOrUnlockedType.description.validator = bv.String() AccountLockOrUnlockedType._all_field_names_ = set(["description"]) AccountLockOrUnlockedType._all_fields_ = [ ("description", AccountLockOrUnlockedType.description.validator) ] AccountState._locked_validator = bv.Void() AccountState._unlocked_validator = bv.Void() AccountState._other_validator = bv.Void() AccountState._tagmap = { "locked": AccountState._locked_validator, "unlocked": AccountState._unlocked_validator, "other": AccountState._other_validator, } AccountState.locked = AccountState("locked") AccountState.unlocked = AccountState("unlocked") AccountState.other = AccountState("other") ActionDetails._remove_action_validator = MemberRemoveActionType_validator ActionDetails._team_invite_details_validator = TeamInviteDetails_validator ActionDetails._team_join_details_validator = JoinTeamDetails_validator ActionDetails._other_validator = bv.Void() ActionDetails._tagmap = { "remove_action": ActionDetails._remove_action_validator, "team_invite_details": ActionDetails._team_invite_details_validator, "team_join_details": ActionDetails._team_join_details_validator, "other": ActionDetails._other_validator, } ActionDetails.other = ActionDetails("other") ActorLogInfo._admin_validator = UserLogInfo_validator ActorLogInfo._anonymous_validator = bv.Void() ActorLogInfo._app_validator = AppLogInfo_validator ActorLogInfo._dropbox_validator = bv.Void() ActorLogInfo._reseller_validator = ResellerLogInfo_validator ActorLogInfo._user_validator = UserLogInfo_validator ActorLogInfo._other_validator = bv.Void() ActorLogInfo._tagmap = { "admin": ActorLogInfo._admin_validator, "anonymous": ActorLogInfo._anonymous_validator, "app": ActorLogInfo._app_validator, "dropbox": ActorLogInfo._dropbox_validator, "reseller": ActorLogInfo._reseller_validator, "user": ActorLogInfo._user_validator, "other": ActorLogInfo._other_validator, } ActorLogInfo.anonymous = ActorLogInfo("anonymous") ActorLogInfo.dropbox = ActorLogInfo("dropbox") ActorLogInfo.other = ActorLogInfo("other") AddonAssignedDetails.user_name.validator = UserNameLogInfo_validator AddonAssignedDetails.addon_name.validator = AddonLogInfo_validator AddonAssignedDetails._all_field_names_ = set( [ "user_name", "addon_name", ] ) AddonAssignedDetails._all_fields_ = [ ("user_name", AddonAssignedDetails.user_name.validator), ("addon_name", AddonAssignedDetails.addon_name.validator), ] AddonAssignedType.description.validator = bv.String() AddonAssignedType._all_field_names_ = set(["description"]) AddonAssignedType._all_fields_ = [("description", AddonAssignedType.description.validator)] AddonLogInfo.addon_name.validator = bv.String() AddonLogInfo._all_field_names_ = set(["addon_name"]) AddonLogInfo._all_fields_ = [("addon_name", AddonLogInfo.addon_name.validator)] AddonRemovedDetails.user_name.validator = UserNameLogInfo_validator AddonRemovedDetails.addon_name.validator = AddonLogInfo_validator AddonRemovedDetails._all_field_names_ = set( [ "user_name", "addon_name", ] ) AddonRemovedDetails._all_fields_ = [ ("user_name", AddonRemovedDetails.user_name.validator), ("addon_name", AddonRemovedDetails.addon_name.validator), ] AddonRemovedType.description.validator = bv.String() AddonRemovedType._all_field_names_ = set(["description"]) AddonRemovedType._all_fields_ = [("description", AddonRemovedType.description.validator)] AdminAlertCategoryEnum._account_takeover_validator = bv.Void() AdminAlertCategoryEnum._data_loss_protection_validator = bv.Void() AdminAlertCategoryEnum._information_governance_validator = bv.Void() AdminAlertCategoryEnum._malware_sharing_validator = bv.Void() AdminAlertCategoryEnum._massive_file_operation_validator = bv.Void() AdminAlertCategoryEnum._na_validator = bv.Void() AdminAlertCategoryEnum._threat_management_validator = bv.Void() AdminAlertCategoryEnum._other_validator = bv.Void() AdminAlertCategoryEnum._tagmap = { "account_takeover": AdminAlertCategoryEnum._account_takeover_validator, "data_loss_protection": AdminAlertCategoryEnum._data_loss_protection_validator, "information_governance": AdminAlertCategoryEnum._information_governance_validator, "malware_sharing": AdminAlertCategoryEnum._malware_sharing_validator, "massive_file_operation": AdminAlertCategoryEnum._massive_file_operation_validator, "na": AdminAlertCategoryEnum._na_validator, "threat_management": AdminAlertCategoryEnum._threat_management_validator, "other": AdminAlertCategoryEnum._other_validator, } AdminAlertCategoryEnum.account_takeover = AdminAlertCategoryEnum("account_takeover") AdminAlertCategoryEnum.data_loss_protection = AdminAlertCategoryEnum("data_loss_protection") AdminAlertCategoryEnum.information_governance = AdminAlertCategoryEnum("information_governance") AdminAlertCategoryEnum.malware_sharing = AdminAlertCategoryEnum("malware_sharing") AdminAlertCategoryEnum.massive_file_operation = AdminAlertCategoryEnum("massive_file_operation") AdminAlertCategoryEnum.na = AdminAlertCategoryEnum("na") AdminAlertCategoryEnum.threat_management = AdminAlertCategoryEnum("threat_management") AdminAlertCategoryEnum.other = AdminAlertCategoryEnum("other") AdminAlertGeneralStateEnum._active_validator = bv.Void() AdminAlertGeneralStateEnum._dismissed_validator = bv.Void() AdminAlertGeneralStateEnum._in_progress_validator = bv.Void() AdminAlertGeneralStateEnum._na_validator = bv.Void() AdminAlertGeneralStateEnum._resolved_validator = bv.Void() AdminAlertGeneralStateEnum._other_validator = bv.Void() AdminAlertGeneralStateEnum._tagmap = { "active": AdminAlertGeneralStateEnum._active_validator, "dismissed": AdminAlertGeneralStateEnum._dismissed_validator, "in_progress": AdminAlertGeneralStateEnum._in_progress_validator, "na": AdminAlertGeneralStateEnum._na_validator, "resolved": AdminAlertGeneralStateEnum._resolved_validator, "other": AdminAlertGeneralStateEnum._other_validator, } AdminAlertGeneralStateEnum.active = AdminAlertGeneralStateEnum("active") AdminAlertGeneralStateEnum.dismissed = AdminAlertGeneralStateEnum("dismissed") AdminAlertGeneralStateEnum.in_progress = AdminAlertGeneralStateEnum("in_progress") AdminAlertGeneralStateEnum.na = AdminAlertGeneralStateEnum("na") AdminAlertGeneralStateEnum.resolved = AdminAlertGeneralStateEnum("resolved") AdminAlertGeneralStateEnum.other = AdminAlertGeneralStateEnum("other") AdminAlertSeverityEnum._high_validator = bv.Void() AdminAlertSeverityEnum._info_validator = bv.Void() AdminAlertSeverityEnum._low_validator = bv.Void() AdminAlertSeverityEnum._medium_validator = bv.Void() AdminAlertSeverityEnum._na_validator = bv.Void() AdminAlertSeverityEnum._other_validator = bv.Void() AdminAlertSeverityEnum._tagmap = { "high": AdminAlertSeverityEnum._high_validator, "info": AdminAlertSeverityEnum._info_validator, "low": AdminAlertSeverityEnum._low_validator, "medium": AdminAlertSeverityEnum._medium_validator, "na": AdminAlertSeverityEnum._na_validator, "other": AdminAlertSeverityEnum._other_validator, } AdminAlertSeverityEnum.high = AdminAlertSeverityEnum("high") AdminAlertSeverityEnum.info = AdminAlertSeverityEnum("info") AdminAlertSeverityEnum.low = AdminAlertSeverityEnum("low") AdminAlertSeverityEnum.medium = AdminAlertSeverityEnum("medium") AdminAlertSeverityEnum.na = AdminAlertSeverityEnum("na") AdminAlertSeverityEnum.other = AdminAlertSeverityEnum("other") AdminAlertingAlertConfiguration.alert_state.validator = bv.Nullable( AdminAlertingAlertStatePolicy_validator ) AdminAlertingAlertConfiguration.sensitivity_level.validator = bv.Nullable( AdminAlertingAlertSensitivity_validator ) AdminAlertingAlertConfiguration.recipients_settings.validator = bv.Nullable( RecipientsConfiguration_validator ) AdminAlertingAlertConfiguration.text.validator = bv.Nullable(bv.String()) AdminAlertingAlertConfiguration.excluded_file_extensions.validator = bv.Nullable(bv.String()) AdminAlertingAlertConfiguration.malware_exclusion_state.validator = bv.Nullable( MalwareExclusionState_validator ) AdminAlertingAlertConfiguration._all_field_names_ = set( [ "alert_state", "sensitivity_level", "recipients_settings", "text", "excluded_file_extensions", "malware_exclusion_state", ] ) AdminAlertingAlertConfiguration._all_fields_ = [ ("alert_state", AdminAlertingAlertConfiguration.alert_state.validator), ("sensitivity_level", AdminAlertingAlertConfiguration.sensitivity_level.validator), ( "recipients_settings", AdminAlertingAlertConfiguration.recipients_settings.validator, ), ("text", AdminAlertingAlertConfiguration.text.validator), ( "excluded_file_extensions", AdminAlertingAlertConfiguration.excluded_file_extensions.validator, ), ( "malware_exclusion_state", AdminAlertingAlertConfiguration.malware_exclusion_state.validator, ), ] AdminAlertingAlertSensitivity._high_validator = bv.Void() AdminAlertingAlertSensitivity._highest_validator = bv.Void() AdminAlertingAlertSensitivity._invalid_validator = bv.Void() AdminAlertingAlertSensitivity._low_validator = bv.Void() AdminAlertingAlertSensitivity._lowest_validator = bv.Void() AdminAlertingAlertSensitivity._medium_validator = bv.Void() AdminAlertingAlertSensitivity._other_validator = bv.Void() AdminAlertingAlertSensitivity._tagmap = { "high": AdminAlertingAlertSensitivity._high_validator, "highest": AdminAlertingAlertSensitivity._highest_validator, "invalid": AdminAlertingAlertSensitivity._invalid_validator, "low": AdminAlertingAlertSensitivity._low_validator, "lowest": AdminAlertingAlertSensitivity._lowest_validator, "medium": AdminAlertingAlertSensitivity._medium_validator, "other": AdminAlertingAlertSensitivity._other_validator, } AdminAlertingAlertSensitivity.high = AdminAlertingAlertSensitivity("high") AdminAlertingAlertSensitivity.highest = AdminAlertingAlertSensitivity("highest") AdminAlertingAlertSensitivity.invalid = AdminAlertingAlertSensitivity("invalid") AdminAlertingAlertSensitivity.low = AdminAlertingAlertSensitivity("low") AdminAlertingAlertSensitivity.lowest = AdminAlertingAlertSensitivity("lowest") AdminAlertingAlertSensitivity.medium = AdminAlertingAlertSensitivity("medium") AdminAlertingAlertSensitivity.other = AdminAlertingAlertSensitivity("other") AdminAlertingAlertStateChangedDetails.alert_name.validator = bv.String() AdminAlertingAlertStateChangedDetails.alert_severity.validator = AdminAlertSeverityEnum_validator AdminAlertingAlertStateChangedDetails.alert_category.validator = AdminAlertCategoryEnum_validator AdminAlertingAlertStateChangedDetails.alert_instance_id.validator = bv.String() AdminAlertingAlertStateChangedDetails.previous_value.validator = ( AdminAlertGeneralStateEnum_validator ) AdminAlertingAlertStateChangedDetails.new_value.validator = AdminAlertGeneralStateEnum_validator AdminAlertingAlertStateChangedDetails._all_field_names_ = set( [ "alert_name", "alert_severity", "alert_category", "alert_instance_id", "previous_value", "new_value", ] ) AdminAlertingAlertStateChangedDetails._all_fields_ = [ ("alert_name", AdminAlertingAlertStateChangedDetails.alert_name.validator), ("alert_severity", AdminAlertingAlertStateChangedDetails.alert_severity.validator), ("alert_category", AdminAlertingAlertStateChangedDetails.alert_category.validator), ( "alert_instance_id", AdminAlertingAlertStateChangedDetails.alert_instance_id.validator, ), ("previous_value", AdminAlertingAlertStateChangedDetails.previous_value.validator), ("new_value", AdminAlertingAlertStateChangedDetails.new_value.validator), ] AdminAlertingAlertStateChangedType.description.validator = bv.String() AdminAlertingAlertStateChangedType._all_field_names_ = set(["description"]) AdminAlertingAlertStateChangedType._all_fields_ = [ ("description", AdminAlertingAlertStateChangedType.description.validator) ] AdminAlertingAlertStatePolicy._off_validator = bv.Void() AdminAlertingAlertStatePolicy._on_validator = bv.Void() AdminAlertingAlertStatePolicy._other_validator = bv.Void() AdminAlertingAlertStatePolicy._tagmap = { "off": AdminAlertingAlertStatePolicy._off_validator, "on": AdminAlertingAlertStatePolicy._on_validator, "other": AdminAlertingAlertStatePolicy._other_validator, } AdminAlertingAlertStatePolicy.off = AdminAlertingAlertStatePolicy("off") AdminAlertingAlertStatePolicy.on = AdminAlertingAlertStatePolicy("on") AdminAlertingAlertStatePolicy.other = AdminAlertingAlertStatePolicy("other") AdminAlertingChangedAlertConfigDetails.alert_name.validator = bv.String() AdminAlertingChangedAlertConfigDetails.previous_alert_config.validator = ( AdminAlertingAlertConfiguration_validator ) AdminAlertingChangedAlertConfigDetails.new_alert_config.validator = ( AdminAlertingAlertConfiguration_validator ) AdminAlertingChangedAlertConfigDetails._all_field_names_ = set( [ "alert_name", "previous_alert_config", "new_alert_config", ] ) AdminAlertingChangedAlertConfigDetails._all_fields_ = [ ("alert_name", AdminAlertingChangedAlertConfigDetails.alert_name.validator), ( "previous_alert_config", AdminAlertingChangedAlertConfigDetails.previous_alert_config.validator, ), ( "new_alert_config", AdminAlertingChangedAlertConfigDetails.new_alert_config.validator, ), ] AdminAlertingChangedAlertConfigType.description.validator = bv.String() AdminAlertingChangedAlertConfigType._all_field_names_ = set(["description"]) AdminAlertingChangedAlertConfigType._all_fields_ = [ ("description", AdminAlertingChangedAlertConfigType.description.validator) ] AdminAlertingTriggeredAlertDetails.alert_name.validator = bv.String() AdminAlertingTriggeredAlertDetails.alert_severity.validator = AdminAlertSeverityEnum_validator AdminAlertingTriggeredAlertDetails.alert_category.validator = AdminAlertCategoryEnum_validator AdminAlertingTriggeredAlertDetails.alert_instance_id.validator = bv.String() AdminAlertingTriggeredAlertDetails._all_field_names_ = set( [ "alert_name", "alert_severity", "alert_category", "alert_instance_id", ] ) AdminAlertingTriggeredAlertDetails._all_fields_ = [ ("alert_name", AdminAlertingTriggeredAlertDetails.alert_name.validator), ("alert_severity", AdminAlertingTriggeredAlertDetails.alert_severity.validator), ("alert_category", AdminAlertingTriggeredAlertDetails.alert_category.validator), ( "alert_instance_id", AdminAlertingTriggeredAlertDetails.alert_instance_id.validator, ), ] AdminAlertingTriggeredAlertType.description.validator = bv.String() AdminAlertingTriggeredAlertType._all_field_names_ = set(["description"]) AdminAlertingTriggeredAlertType._all_fields_ = [ ("description", AdminAlertingTriggeredAlertType.description.validator) ] AdminConsoleAppPermission._default_for_listed_apps_validator = bv.Void() AdminConsoleAppPermission._default_for_unlisted_apps_validator = bv.Void() AdminConsoleAppPermission._other_validator = bv.Void() AdminConsoleAppPermission._tagmap = { "default_for_listed_apps": AdminConsoleAppPermission._default_for_listed_apps_validator, "default_for_unlisted_apps": AdminConsoleAppPermission._default_for_unlisted_apps_validator, "other": AdminConsoleAppPermission._other_validator, } AdminConsoleAppPermission.default_for_listed_apps = AdminConsoleAppPermission( "default_for_listed_apps" ) AdminConsoleAppPermission.default_for_unlisted_apps = AdminConsoleAppPermission( "default_for_unlisted_apps" ) AdminConsoleAppPermission.other = AdminConsoleAppPermission("other") AdminConsoleAppPolicy._allow_validator = bv.Void() AdminConsoleAppPolicy._block_validator = bv.Void() AdminConsoleAppPolicy._default_validator = bv.Void() AdminConsoleAppPolicy._other_validator = bv.Void() AdminConsoleAppPolicy._tagmap = { "allow": AdminConsoleAppPolicy._allow_validator, "block": AdminConsoleAppPolicy._block_validator, "default": AdminConsoleAppPolicy._default_validator, "other": AdminConsoleAppPolicy._other_validator, } AdminConsoleAppPolicy.allow = AdminConsoleAppPolicy("allow") AdminConsoleAppPolicy.block = AdminConsoleAppPolicy("block") AdminConsoleAppPolicy.default = AdminConsoleAppPolicy("default") AdminConsoleAppPolicy.other = AdminConsoleAppPolicy("other") AdminEmailRemindersChangedDetails.new_value.validator = AdminEmailRemindersPolicy_validator AdminEmailRemindersChangedDetails.previous_value.validator = AdminEmailRemindersPolicy_validator AdminEmailRemindersChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) AdminEmailRemindersChangedDetails._all_fields_ = [ ("new_value", AdminEmailRemindersChangedDetails.new_value.validator), ("previous_value", AdminEmailRemindersChangedDetails.previous_value.validator), ] AdminEmailRemindersChangedType.description.validator = bv.String() AdminEmailRemindersChangedType._all_field_names_ = set(["description"]) AdminEmailRemindersChangedType._all_fields_ = [ ("description", AdminEmailRemindersChangedType.description.validator) ] AdminEmailRemindersPolicy._default_validator = bv.Void() AdminEmailRemindersPolicy._disabled_validator = bv.Void() AdminEmailRemindersPolicy._enabled_validator = bv.Void() AdminEmailRemindersPolicy._other_validator = bv.Void() AdminEmailRemindersPolicy._tagmap = { "default": AdminEmailRemindersPolicy._default_validator, "disabled": AdminEmailRemindersPolicy._disabled_validator, "enabled": AdminEmailRemindersPolicy._enabled_validator, "other": AdminEmailRemindersPolicy._other_validator, } AdminEmailRemindersPolicy.default = AdminEmailRemindersPolicy("default") AdminEmailRemindersPolicy.disabled = AdminEmailRemindersPolicy("disabled") AdminEmailRemindersPolicy.enabled = AdminEmailRemindersPolicy("enabled") AdminEmailRemindersPolicy.other = AdminEmailRemindersPolicy("other") AdminRole._billing_admin_validator = bv.Void() AdminRole._compliance_admin_validator = bv.Void() AdminRole._content_admin_validator = bv.Void() AdminRole._deprecated_freemium_team_member_validator = bv.Void() AdminRole._freemium_team_creator_validator = bv.Void() AdminRole._limited_admin_validator = bv.Void() AdminRole._member_only_validator = bv.Void() AdminRole._reporting_admin_validator = bv.Void() AdminRole._security_admin_validator = bv.Void() AdminRole._support_admin_validator = bv.Void() AdminRole._team_admin_validator = bv.Void() AdminRole._user_management_admin_validator = bv.Void() AdminRole._other_validator = bv.Void() AdminRole._tagmap = { "billing_admin": AdminRole._billing_admin_validator, "compliance_admin": AdminRole._compliance_admin_validator, "content_admin": AdminRole._content_admin_validator, "deprecated_freemium_team_member": AdminRole._deprecated_freemium_team_member_validator, "freemium_team_creator": AdminRole._freemium_team_creator_validator, "limited_admin": AdminRole._limited_admin_validator, "member_only": AdminRole._member_only_validator, "reporting_admin": AdminRole._reporting_admin_validator, "security_admin": AdminRole._security_admin_validator, "support_admin": AdminRole._support_admin_validator, "team_admin": AdminRole._team_admin_validator, "user_management_admin": AdminRole._user_management_admin_validator, "other": AdminRole._other_validator, } AdminRole.billing_admin = AdminRole("billing_admin") AdminRole.compliance_admin = AdminRole("compliance_admin") AdminRole.content_admin = AdminRole("content_admin") AdminRole.deprecated_freemium_team_member = AdminRole("deprecated_freemium_team_member") AdminRole.freemium_team_creator = AdminRole("freemium_team_creator") AdminRole.limited_admin = AdminRole("limited_admin") AdminRole.member_only = AdminRole("member_only") AdminRole.reporting_admin = AdminRole("reporting_admin") AdminRole.security_admin = AdminRole("security_admin") AdminRole.support_admin = AdminRole("support_admin") AdminRole.team_admin = AdminRole("team_admin") AdminRole.user_management_admin = AdminRole("user_management_admin") AdminRole.other = AdminRole("other") AiThirdPartySharingDropboxBasePolicy._admins_only_validator = bv.Void() AiThirdPartySharingDropboxBasePolicy._default_validator = bv.Void() AiThirdPartySharingDropboxBasePolicy._disabled_validator = bv.Void() AiThirdPartySharingDropboxBasePolicy._enabled_validator = bv.Void() AiThirdPartySharingDropboxBasePolicy._other_validator = bv.Void() AiThirdPartySharingDropboxBasePolicy._tagmap = { "admins_only": AiThirdPartySharingDropboxBasePolicy._admins_only_validator, "default": AiThirdPartySharingDropboxBasePolicy._default_validator, "disabled": AiThirdPartySharingDropboxBasePolicy._disabled_validator, "enabled": AiThirdPartySharingDropboxBasePolicy._enabled_validator, "other": AiThirdPartySharingDropboxBasePolicy._other_validator, } AiThirdPartySharingDropboxBasePolicy.admins_only = AiThirdPartySharingDropboxBasePolicy( "admins_only" ) AiThirdPartySharingDropboxBasePolicy.default = AiThirdPartySharingDropboxBasePolicy("default") AiThirdPartySharingDropboxBasePolicy.disabled = AiThirdPartySharingDropboxBasePolicy("disabled") AiThirdPartySharingDropboxBasePolicy.enabled = AiThirdPartySharingDropboxBasePolicy("enabled") AiThirdPartySharingDropboxBasePolicy.other = AiThirdPartySharingDropboxBasePolicy("other") AiThirdPartySharingDropboxBasePolicyChangedDetails.new_value.validator = ( AiThirdPartySharingDropboxBasePolicy_validator ) AiThirdPartySharingDropboxBasePolicyChangedDetails.previous_value.validator = ( AiThirdPartySharingDropboxBasePolicy_validator ) AiThirdPartySharingDropboxBasePolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) AiThirdPartySharingDropboxBasePolicyChangedDetails._all_fields_ = [ ( "new_value", AiThirdPartySharingDropboxBasePolicyChangedDetails.new_value.validator, ), ( "previous_value", AiThirdPartySharingDropboxBasePolicyChangedDetails.previous_value.validator, ), ] AiThirdPartySharingDropboxBasePolicyChangedType.description.validator = bv.String() AiThirdPartySharingDropboxBasePolicyChangedType._all_field_names_ = set(["description"]) AiThirdPartySharingDropboxBasePolicyChangedType._all_fields_ = [ ( "description", AiThirdPartySharingDropboxBasePolicyChangedType.description.validator, ) ] AlertRecipientsSettingType._custom_list_validator = bv.Void() AlertRecipientsSettingType._invalid_validator = bv.Void() AlertRecipientsSettingType._none_validator = bv.Void() AlertRecipientsSettingType._team_admins_validator = bv.Void() AlertRecipientsSettingType._other_validator = bv.Void() AlertRecipientsSettingType._tagmap = { "custom_list": AlertRecipientsSettingType._custom_list_validator, "invalid": AlertRecipientsSettingType._invalid_validator, "none": AlertRecipientsSettingType._none_validator, "team_admins": AlertRecipientsSettingType._team_admins_validator, "other": AlertRecipientsSettingType._other_validator, } AlertRecipientsSettingType.custom_list = AlertRecipientsSettingType("custom_list") AlertRecipientsSettingType.invalid = AlertRecipientsSettingType("invalid") AlertRecipientsSettingType.none = AlertRecipientsSettingType("none") AlertRecipientsSettingType.team_admins = AlertRecipientsSettingType("team_admins") AlertRecipientsSettingType.other = AlertRecipientsSettingType("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)] AppBlockedByPermissionsDetails.app_info.validator = AppLogInfo_validator AppBlockedByPermissionsDetails._all_field_names_ = set(["app_info"]) AppBlockedByPermissionsDetails._all_fields_ = [ ("app_info", AppBlockedByPermissionsDetails.app_info.validator) ] AppBlockedByPermissionsType.description.validator = bv.String() AppBlockedByPermissionsType._all_field_names_ = set(["description"]) AppBlockedByPermissionsType._all_fields_ = [ ("description", AppBlockedByPermissionsType.description.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_ = { ("team_linked_app",): TeamLinkedAppLogInfo_validator, ("user_linked_app",): UserLinkedAppLogInfo_validator, ("user_or_team_linked_app",): UserOrTeamLinkedAppLogInfo_validator, } AppLogInfo._pytype_to_tag_and_subtype_ = { TeamLinkedAppLogInfo: (("team_linked_app",), TeamLinkedAppLogInfo_validator), UserLinkedAppLogInfo: (("user_linked_app",), UserLinkedAppLogInfo_validator), UserOrTeamLinkedAppLogInfo: ( ("user_or_team_linked_app",), UserOrTeamLinkedAppLogInfo_validator, ), } AppLogInfo._is_catch_all_ = True AppPermissionsChangedDetails.app_name.validator = bv.Nullable(bv.String()) AppPermissionsChangedDetails.permission.validator = bv.Nullable(AdminConsoleAppPermission_validator) AppPermissionsChangedDetails.previous_value.validator = AdminConsoleAppPolicy_validator AppPermissionsChangedDetails.new_value.validator = AdminConsoleAppPolicy_validator AppPermissionsChangedDetails._all_field_names_ = set( [ "app_name", "permission", "previous_value", "new_value", ] ) AppPermissionsChangedDetails._all_fields_ = [ ("app_name", AppPermissionsChangedDetails.app_name.validator), ("permission", AppPermissionsChangedDetails.permission.validator), ("previous_value", AppPermissionsChangedDetails.previous_value.validator), ("new_value", AppPermissionsChangedDetails.new_value.validator), ] AppPermissionsChangedType.description.validator = bv.String() AppPermissionsChangedType._all_field_names_ = set(["description"]) AppPermissionsChangedType._all_fields_ = [ ("description", AppPermissionsChangedType.description.validator) ] 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)] AppleLoginChangePolicyDetails.new_value.validator = AppleLoginPolicy_validator AppleLoginChangePolicyDetails.previous_value.validator = bv.Nullable(AppleLoginPolicy_validator) AppleLoginChangePolicyDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) AppleLoginChangePolicyDetails._all_fields_ = [ ("new_value", AppleLoginChangePolicyDetails.new_value.validator), ("previous_value", AppleLoginChangePolicyDetails.previous_value.validator), ] AppleLoginChangePolicyType.description.validator = bv.String() AppleLoginChangePolicyType._all_field_names_ = set(["description"]) AppleLoginChangePolicyType._all_fields_ = [ ("description", AppleLoginChangePolicyType.description.validator) ] AppleLoginPolicy._default_validator = bv.Void() AppleLoginPolicy._disabled_validator = bv.Void() AppleLoginPolicy._enabled_validator = bv.Void() AppleLoginPolicy._other_validator = bv.Void() AppleLoginPolicy._tagmap = { "default": AppleLoginPolicy._default_validator, "disabled": AppleLoginPolicy._disabled_validator, "enabled": AppleLoginPolicy._enabled_validator, "other": AppleLoginPolicy._other_validator, } AppleLoginPolicy.default = AppleLoginPolicy("default") AppleLoginPolicy.disabled = AppleLoginPolicy("disabled") AppleLoginPolicy.enabled = AppleLoginPolicy("enabled") AppleLoginPolicy.other = AppleLoginPolicy("other") ApplyNamingConventionDetails._all_field_names_ = set([]) ApplyNamingConventionDetails._all_fields_ = [] ApplyNamingConventionType.description.validator = bv.String() ApplyNamingConventionType._all_field_names_ = set(["description"]) ApplyNamingConventionType._all_fields_ = [ ("description", ApplyNamingConventionType.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") BackupAdminInvitationSentDetails._all_field_names_ = set([]) BackupAdminInvitationSentDetails._all_fields_ = [] BackupAdminInvitationSentType.description.validator = bv.String() BackupAdminInvitationSentType._all_field_names_ = set(["description"]) BackupAdminInvitationSentType._all_fields_ = [ ("description", BackupAdminInvitationSentType.description.validator) ] BackupInvitationOpenedDetails._all_field_names_ = set([]) BackupInvitationOpenedDetails._all_fields_ = [] BackupInvitationOpenedType.description.validator = bv.String() BackupInvitationOpenedType._all_field_names_ = set(["description"]) BackupInvitationOpenedType._all_fields_ = [ ("description", BackupInvitationOpenedType.description.validator) ] BackupStatus._disabled_validator = bv.Void() BackupStatus._enabled_validator = bv.Void() BackupStatus._other_validator = bv.Void() BackupStatus._tagmap = { "disabled": BackupStatus._disabled_validator, "enabled": BackupStatus._enabled_validator, "other": BackupStatus._other_validator, } BackupStatus.disabled = BackupStatus("disabled") BackupStatus.enabled = BackupStatus("enabled") BackupStatus.other = BackupStatus("other") BinderAddPageDetails.event_uuid.validator = bv.String() BinderAddPageDetails.doc_title.validator = bv.String() BinderAddPageDetails.binder_item_name.validator = bv.String() BinderAddPageDetails._all_field_names_ = set( [ "event_uuid", "doc_title", "binder_item_name", ] ) BinderAddPageDetails._all_fields_ = [ ("event_uuid", BinderAddPageDetails.event_uuid.validator), ("doc_title", BinderAddPageDetails.doc_title.validator), ("binder_item_name", BinderAddPageDetails.binder_item_name.validator), ] BinderAddPageType.description.validator = bv.String() BinderAddPageType._all_field_names_ = set(["description"]) BinderAddPageType._all_fields_ = [("description", BinderAddPageType.description.validator)] BinderAddSectionDetails.event_uuid.validator = bv.String() BinderAddSectionDetails.doc_title.validator = bv.String() BinderAddSectionDetails.binder_item_name.validator = bv.String() BinderAddSectionDetails._all_field_names_ = set( [ "event_uuid", "doc_title", "binder_item_name", ] ) BinderAddSectionDetails._all_fields_ = [ ("event_uuid", BinderAddSectionDetails.event_uuid.validator), ("doc_title", BinderAddSectionDetails.doc_title.validator), ("binder_item_name", BinderAddSectionDetails.binder_item_name.validator), ] BinderAddSectionType.description.validator = bv.String() BinderAddSectionType._all_field_names_ = set(["description"]) BinderAddSectionType._all_fields_ = [("description", BinderAddSectionType.description.validator)] BinderRemovePageDetails.event_uuid.validator = bv.String() BinderRemovePageDetails.doc_title.validator = bv.String() BinderRemovePageDetails.binder_item_name.validator = bv.String() BinderRemovePageDetails._all_field_names_ = set( [ "event_uuid", "doc_title", "binder_item_name", ] ) BinderRemovePageDetails._all_fields_ = [ ("event_uuid", BinderRemovePageDetails.event_uuid.validator), ("doc_title", BinderRemovePageDetails.doc_title.validator), ("binder_item_name", BinderRemovePageDetails.binder_item_name.validator), ] BinderRemovePageType.description.validator = bv.String() BinderRemovePageType._all_field_names_ = set(["description"]) BinderRemovePageType._all_fields_ = [("description", BinderRemovePageType.description.validator)] BinderRemoveSectionDetails.event_uuid.validator = bv.String() BinderRemoveSectionDetails.doc_title.validator = bv.String() BinderRemoveSectionDetails.binder_item_name.validator = bv.String() BinderRemoveSectionDetails._all_field_names_ = set( [ "event_uuid", "doc_title", "binder_item_name", ] ) BinderRemoveSectionDetails._all_fields_ = [ ("event_uuid", BinderRemoveSectionDetails.event_uuid.validator), ("doc_title", BinderRemoveSectionDetails.doc_title.validator), ("binder_item_name", BinderRemoveSectionDetails.binder_item_name.validator), ] BinderRemoveSectionType.description.validator = bv.String() BinderRemoveSectionType._all_field_names_ = set(["description"]) BinderRemoveSectionType._all_fields_ = [ ("description", BinderRemoveSectionType.description.validator) ] BinderRenamePageDetails.event_uuid.validator = bv.String() BinderRenamePageDetails.doc_title.validator = bv.String() BinderRenamePageDetails.binder_item_name.validator = bv.String() BinderRenamePageDetails.previous_binder_item_name.validator = bv.Nullable(bv.String()) BinderRenamePageDetails._all_field_names_ = set( [ "event_uuid", "doc_title", "binder_item_name", "previous_binder_item_name", ] ) BinderRenamePageDetails._all_fields_ = [ ("event_uuid", BinderRenamePageDetails.event_uuid.validator), ("doc_title", BinderRenamePageDetails.doc_title.validator), ("binder_item_name", BinderRenamePageDetails.binder_item_name.validator), ( "previous_binder_item_name", BinderRenamePageDetails.previous_binder_item_name.validator, ), ] BinderRenamePageType.description.validator = bv.String() BinderRenamePageType._all_field_names_ = set(["description"]) BinderRenamePageType._all_fields_ = [("description", BinderRenamePageType.description.validator)] BinderRenameSectionDetails.event_uuid.validator = bv.String() BinderRenameSectionDetails.doc_title.validator = bv.String() BinderRenameSectionDetails.binder_item_name.validator = bv.String() BinderRenameSectionDetails.previous_binder_item_name.validator = bv.Nullable(bv.String()) BinderRenameSectionDetails._all_field_names_ = set( [ "event_uuid", "doc_title", "binder_item_name", "previous_binder_item_name", ] ) BinderRenameSectionDetails._all_fields_ = [ ("event_uuid", BinderRenameSectionDetails.event_uuid.validator), ("doc_title", BinderRenameSectionDetails.doc_title.validator), ("binder_item_name", BinderRenameSectionDetails.binder_item_name.validator), ( "previous_binder_item_name", BinderRenameSectionDetails.previous_binder_item_name.validator, ), ] BinderRenameSectionType.description.validator = bv.String() BinderRenameSectionType._all_field_names_ = set(["description"]) BinderRenameSectionType._all_fields_ = [ ("description", BinderRenameSectionType.description.validator) ] BinderReorderPageDetails.event_uuid.validator = bv.String() BinderReorderPageDetails.doc_title.validator = bv.String() BinderReorderPageDetails.binder_item_name.validator = bv.String() BinderReorderPageDetails._all_field_names_ = set( [ "event_uuid", "doc_title", "binder_item_name", ] ) BinderReorderPageDetails._all_fields_ = [ ("event_uuid", BinderReorderPageDetails.event_uuid.validator), ("doc_title", BinderReorderPageDetails.doc_title.validator), ("binder_item_name", BinderReorderPageDetails.binder_item_name.validator), ] BinderReorderPageType.description.validator = bv.String() BinderReorderPageType._all_field_names_ = set(["description"]) BinderReorderPageType._all_fields_ = [("description", BinderReorderPageType.description.validator)] BinderReorderSectionDetails.event_uuid.validator = bv.String() BinderReorderSectionDetails.doc_title.validator = bv.String() BinderReorderSectionDetails.binder_item_name.validator = bv.String() BinderReorderSectionDetails._all_field_names_ = set( [ "event_uuid", "doc_title", "binder_item_name", ] ) BinderReorderSectionDetails._all_fields_ = [ ("event_uuid", BinderReorderSectionDetails.event_uuid.validator), ("doc_title", BinderReorderSectionDetails.doc_title.validator), ("binder_item_name", BinderReorderSectionDetails.binder_item_name.validator), ] BinderReorderSectionType.description.validator = bv.String() BinderReorderSectionType._all_field_names_ = set(["description"]) BinderReorderSectionType._all_fields_ = [ ("description", BinderReorderSectionType.description.validator) ] 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) ] CaptureTeamSpacePolicy._disabled_validator = bv.Void() CaptureTeamSpacePolicy._enabled_validator = bv.Void() CaptureTeamSpacePolicy._other_validator = bv.Void() CaptureTeamSpacePolicy._tagmap = { "disabled": CaptureTeamSpacePolicy._disabled_validator, "enabled": CaptureTeamSpacePolicy._enabled_validator, "other": CaptureTeamSpacePolicy._other_validator, } CaptureTeamSpacePolicy.disabled = CaptureTeamSpacePolicy("disabled") CaptureTeamSpacePolicy.enabled = CaptureTeamSpacePolicy("enabled") CaptureTeamSpacePolicy.other = CaptureTeamSpacePolicy("other") CaptureTeamSpacePolicyChangedDetails.new_value.validator = CaptureTeamSpacePolicy_validator CaptureTeamSpacePolicyChangedDetails.previous_value.validator = CaptureTeamSpacePolicy_validator CaptureTeamSpacePolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) CaptureTeamSpacePolicyChangedDetails._all_fields_ = [ ("new_value", CaptureTeamSpacePolicyChangedDetails.new_value.validator), ("previous_value", CaptureTeamSpacePolicyChangedDetails.previous_value.validator), ] CaptureTeamSpacePolicyChangedType.description.validator = bv.String() CaptureTeamSpacePolicyChangedType._all_field_names_ = set(["description"]) CaptureTeamSpacePolicyChangedType._all_fields_ = [ ("description", CaptureTeamSpacePolicyChangedType.description.validator) ] CaptureTranscriptPolicy._default_validator = bv.Void() CaptureTranscriptPolicy._disabled_validator = bv.Void() CaptureTranscriptPolicy._enabled_validator = bv.Void() CaptureTranscriptPolicy._other_validator = bv.Void() CaptureTranscriptPolicy._tagmap = { "default": CaptureTranscriptPolicy._default_validator, "disabled": CaptureTranscriptPolicy._disabled_validator, "enabled": CaptureTranscriptPolicy._enabled_validator, "other": CaptureTranscriptPolicy._other_validator, } CaptureTranscriptPolicy.default = CaptureTranscriptPolicy("default") CaptureTranscriptPolicy.disabled = CaptureTranscriptPolicy("disabled") CaptureTranscriptPolicy.enabled = CaptureTranscriptPolicy("enabled") CaptureTranscriptPolicy.other = CaptureTranscriptPolicy("other") CaptureTranscriptPolicyChangedDetails.new_value.validator = CaptureTranscriptPolicy_validator CaptureTranscriptPolicyChangedDetails.previous_value.validator = CaptureTranscriptPolicy_validator CaptureTranscriptPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) CaptureTranscriptPolicyChangedDetails._all_fields_ = [ ("new_value", CaptureTranscriptPolicyChangedDetails.new_value.validator), ("previous_value", CaptureTranscriptPolicyChangedDetails.previous_value.validator), ] CaptureTranscriptPolicyChangedType.description.validator = bv.String() CaptureTranscriptPolicyChangedType._all_field_names_ = set(["description"]) CaptureTranscriptPolicyChangedType._all_fields_ = [ ("description", CaptureTranscriptPolicyChangedType.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), ] ChangeLinkExpirationPolicy._allowed_validator = bv.Void() ChangeLinkExpirationPolicy._not_allowed_validator = bv.Void() ChangeLinkExpirationPolicy._other_validator = bv.Void() ChangeLinkExpirationPolicy._tagmap = { "allowed": ChangeLinkExpirationPolicy._allowed_validator, "not_allowed": ChangeLinkExpirationPolicy._not_allowed_validator, "other": ChangeLinkExpirationPolicy._other_validator, } ChangeLinkExpirationPolicy.allowed = ChangeLinkExpirationPolicy("allowed") ChangeLinkExpirationPolicy.not_allowed = ChangeLinkExpirationPolicy("not_allowed") ChangeLinkExpirationPolicy.other = ChangeLinkExpirationPolicy("other") ChangedEnterpriseAdminRoleDetails.previous_value.validator = FedAdminRole_validator ChangedEnterpriseAdminRoleDetails.new_value.validator = FedAdminRole_validator ChangedEnterpriseAdminRoleDetails.team_name.validator = bv.String() ChangedEnterpriseAdminRoleDetails._all_field_names_ = set( [ "previous_value", "new_value", "team_name", ] ) ChangedEnterpriseAdminRoleDetails._all_fields_ = [ ("previous_value", ChangedEnterpriseAdminRoleDetails.previous_value.validator), ("new_value", ChangedEnterpriseAdminRoleDetails.new_value.validator), ("team_name", ChangedEnterpriseAdminRoleDetails.team_name.validator), ] ChangedEnterpriseAdminRoleType.description.validator = bv.String() ChangedEnterpriseAdminRoleType._all_field_names_ = set(["description"]) ChangedEnterpriseAdminRoleType._all_fields_ = [ ("description", ChangedEnterpriseAdminRoleType.description.validator) ] ChangedEnterpriseConnectedTeamStatusDetails.action.validator = FedHandshakeAction_validator ChangedEnterpriseConnectedTeamStatusDetails.additional_info.validator = ( FederationStatusChangeAdditionalInfo_validator ) ChangedEnterpriseConnectedTeamStatusDetails.previous_value.validator = ( TrustedTeamsRequestState_validator ) ChangedEnterpriseConnectedTeamStatusDetails.new_value.validator = TrustedTeamsRequestState_validator ChangedEnterpriseConnectedTeamStatusDetails._all_field_names_ = set( [ "action", "additional_info", "previous_value", "new_value", ] ) ChangedEnterpriseConnectedTeamStatusDetails._all_fields_ = [ ("action", ChangedEnterpriseConnectedTeamStatusDetails.action.validator), ( "additional_info", ChangedEnterpriseConnectedTeamStatusDetails.additional_info.validator, ), ( "previous_value", ChangedEnterpriseConnectedTeamStatusDetails.previous_value.validator, ), ("new_value", ChangedEnterpriseConnectedTeamStatusDetails.new_value.validator), ] ChangedEnterpriseConnectedTeamStatusType.description.validator = bv.String() ChangedEnterpriseConnectedTeamStatusType._all_field_names_ = set(["description"]) ChangedEnterpriseConnectedTeamStatusType._all_fields_ = [ ("description", ChangedEnterpriseConnectedTeamStatusType.description.validator) ] ClassificationChangePolicyDetails.previous_value.validator = ( ClassificationPolicyEnumWrapper_validator ) ClassificationChangePolicyDetails.new_value.validator = ClassificationPolicyEnumWrapper_validator ClassificationChangePolicyDetails.classification_type.validator = ClassificationType_validator ClassificationChangePolicyDetails._all_field_names_ = set( [ "previous_value", "new_value", "classification_type", ] ) ClassificationChangePolicyDetails._all_fields_ = [ ("previous_value", ClassificationChangePolicyDetails.previous_value.validator), ("new_value", ClassificationChangePolicyDetails.new_value.validator), ( "classification_type", ClassificationChangePolicyDetails.classification_type.validator, ), ] ClassificationChangePolicyType.description.validator = bv.String() ClassificationChangePolicyType._all_field_names_ = set(["description"]) ClassificationChangePolicyType._all_fields_ = [ ("description", ClassificationChangePolicyType.description.validator) ] ClassificationCreateReportDetails._all_field_names_ = set([]) ClassificationCreateReportDetails._all_fields_ = [] ClassificationCreateReportFailDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) ClassificationCreateReportFailDetails._all_field_names_ = set(["failure_reason"]) ClassificationCreateReportFailDetails._all_fields_ = [ ("failure_reason", ClassificationCreateReportFailDetails.failure_reason.validator) ] ClassificationCreateReportFailType.description.validator = bv.String() ClassificationCreateReportFailType._all_field_names_ = set(["description"]) ClassificationCreateReportFailType._all_fields_ = [ ("description", ClassificationCreateReportFailType.description.validator) ] ClassificationCreateReportType.description.validator = bv.String() ClassificationCreateReportType._all_field_names_ = set(["description"]) ClassificationCreateReportType._all_fields_ = [ ("description", ClassificationCreateReportType.description.validator) ] ClassificationPolicyEnumWrapper._disabled_validator = bv.Void() ClassificationPolicyEnumWrapper._enabled_validator = bv.Void() ClassificationPolicyEnumWrapper._member_and_team_folders_validator = bv.Void() ClassificationPolicyEnumWrapper._team_folders_validator = bv.Void() ClassificationPolicyEnumWrapper._other_validator = bv.Void() ClassificationPolicyEnumWrapper._tagmap = { "disabled": ClassificationPolicyEnumWrapper._disabled_validator, "enabled": ClassificationPolicyEnumWrapper._enabled_validator, "member_and_team_folders": ClassificationPolicyEnumWrapper._member_and_team_folders_validator, "team_folders": ClassificationPolicyEnumWrapper._team_folders_validator, "other": ClassificationPolicyEnumWrapper._other_validator, } ClassificationPolicyEnumWrapper.disabled = ClassificationPolicyEnumWrapper("disabled") ClassificationPolicyEnumWrapper.enabled = ClassificationPolicyEnumWrapper("enabled") ClassificationPolicyEnumWrapper.member_and_team_folders = ClassificationPolicyEnumWrapper( "member_and_team_folders" ) ClassificationPolicyEnumWrapper.team_folders = ClassificationPolicyEnumWrapper("team_folders") ClassificationPolicyEnumWrapper.other = ClassificationPolicyEnumWrapper("other") ClassificationType._personal_information_validator = bv.Void() ClassificationType._pii_validator = bv.Void() ClassificationType._other_validator = bv.Void() ClassificationType._tagmap = { "personal_information": ClassificationType._personal_information_validator, "pii": ClassificationType._pii_validator, "other": ClassificationType._other_validator, } ClassificationType.personal_information = ClassificationType("personal_information") ClassificationType.pii = ClassificationType("pii") ClassificationType.other = ClassificationType("other") 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)] ComputerBackupPolicy._default_validator = bv.Void() ComputerBackupPolicy._disabled_validator = bv.Void() ComputerBackupPolicy._enabled_validator = bv.Void() ComputerBackupPolicy._other_validator = bv.Void() ComputerBackupPolicy._tagmap = { "default": ComputerBackupPolicy._default_validator, "disabled": ComputerBackupPolicy._disabled_validator, "enabled": ComputerBackupPolicy._enabled_validator, "other": ComputerBackupPolicy._other_validator, } ComputerBackupPolicy.default = ComputerBackupPolicy("default") ComputerBackupPolicy.disabled = ComputerBackupPolicy("disabled") ComputerBackupPolicy.enabled = ComputerBackupPolicy("enabled") ComputerBackupPolicy.other = ComputerBackupPolicy("other") ComputerBackupPolicyChangedDetails.new_value.validator = ComputerBackupPolicy_validator ComputerBackupPolicyChangedDetails.previous_value.validator = ComputerBackupPolicy_validator ComputerBackupPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) ComputerBackupPolicyChangedDetails._all_fields_ = [ ("new_value", ComputerBackupPolicyChangedDetails.new_value.validator), ("previous_value", ComputerBackupPolicyChangedDetails.previous_value.validator), ] ComputerBackupPolicyChangedType.description.validator = bv.String() ComputerBackupPolicyChangedType._all_field_names_ = set(["description"]) ComputerBackupPolicyChangedType._all_fields_ = [ ("description", ComputerBackupPolicyChangedType.description.validator) ] ConnectedTeamName.team.validator = bv.String() ConnectedTeamName._all_field_names_ = set(["team"]) ConnectedTeamName._all_fields_ = [("team", ConnectedTeamName.team.validator)] ContentAdministrationPolicyChangedDetails.new_value.validator = bv.String() ContentAdministrationPolicyChangedDetails.previous_value.validator = bv.String() ContentAdministrationPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) ContentAdministrationPolicyChangedDetails._all_fields_ = [ ("new_value", ContentAdministrationPolicyChangedDetails.new_value.validator), ( "previous_value", ContentAdministrationPolicyChangedDetails.previous_value.validator, ), ] ContentAdministrationPolicyChangedType.description.validator = bv.String() ContentAdministrationPolicyChangedType._all_field_names_ = set(["description"]) ContentAdministrationPolicyChangedType._all_fields_ = [ ("description", ContentAdministrationPolicyChangedType.description.validator) ] ContentDeletionProtectionChangePolicyDetails.new_value.validator = ( ContentDeletionProtectionPolicy_validator ) ContentDeletionProtectionChangePolicyDetails.new_threshold_bytes.validator = bv.Nullable( bv.UInt64() ) ContentDeletionProtectionChangePolicyDetails.previous_value.validator = bv.Nullable( ContentDeletionProtectionPolicy_validator ) ContentDeletionProtectionChangePolicyDetails.previous_threshold_bytes.validator = bv.Nullable( bv.UInt64() ) ContentDeletionProtectionChangePolicyDetails._all_field_names_ = set( [ "new_value", "new_threshold_bytes", "previous_value", "previous_threshold_bytes", ] ) ContentDeletionProtectionChangePolicyDetails._all_fields_ = [ ("new_value", ContentDeletionProtectionChangePolicyDetails.new_value.validator), ( "new_threshold_bytes", ContentDeletionProtectionChangePolicyDetails.new_threshold_bytes.validator, ), ( "previous_value", ContentDeletionProtectionChangePolicyDetails.previous_value.validator, ), ( "previous_threshold_bytes", ContentDeletionProtectionChangePolicyDetails.previous_threshold_bytes.validator, ), ] ContentDeletionProtectionChangePolicyType.description.validator = bv.String() ContentDeletionProtectionChangePolicyType._all_field_names_ = set(["description"]) ContentDeletionProtectionChangePolicyType._all_fields_ = [ ("description", ContentDeletionProtectionChangePolicyType.description.validator) ] ContentDeletionProtectionPolicy._off_validator = bv.Void() ContentDeletionProtectionPolicy._on_above_threshold_validator = bv.Void() ContentDeletionProtectionPolicy._on_all_files_validator = bv.Void() ContentDeletionProtectionPolicy._other_validator = bv.Void() ContentDeletionProtectionPolicy._tagmap = { "off": ContentDeletionProtectionPolicy._off_validator, "on_above_threshold": ContentDeletionProtectionPolicy._on_above_threshold_validator, "on_all_files": ContentDeletionProtectionPolicy._on_all_files_validator, "other": ContentDeletionProtectionPolicy._other_validator, } ContentDeletionProtectionPolicy.off = ContentDeletionProtectionPolicy("off") ContentDeletionProtectionPolicy.on_above_threshold = ContentDeletionProtectionPolicy( "on_above_threshold" ) ContentDeletionProtectionPolicy.on_all_files = ContentDeletionProtectionPolicy("on_all_files") ContentDeletionProtectionPolicy.other = ContentDeletionProtectionPolicy("other") 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._anonymous_validator = bv.Void() ContextLogInfo._non_team_member_validator = NonTeamMemberLogInfo_validator ContextLogInfo._organization_team_validator = TeamLogInfo_validator ContextLogInfo._team_validator = bv.Void() ContextLogInfo._team_member_validator = TeamMemberLogInfo_validator ContextLogInfo._trusted_non_team_member_validator = TrustedNonTeamMemberLogInfo_validator ContextLogInfo._other_validator = bv.Void() ContextLogInfo._tagmap = { "anonymous": ContextLogInfo._anonymous_validator, "non_team_member": ContextLogInfo._non_team_member_validator, "organization_team": ContextLogInfo._organization_team_validator, "team": ContextLogInfo._team_validator, "team_member": ContextLogInfo._team_member_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)] CreateTeamInviteLinkDetails.link_url.validator = bv.String() CreateTeamInviteLinkDetails.expiry_date.validator = bv.String() CreateTeamInviteLinkDetails._all_field_names_ = set( [ "link_url", "expiry_date", ] ) CreateTeamInviteLinkDetails._all_fields_ = [ ("link_url", CreateTeamInviteLinkDetails.link_url.validator), ("expiry_date", CreateTeamInviteLinkDetails.expiry_date.validator), ] CreateTeamInviteLinkType.description.validator = bv.String() CreateTeamInviteLinkType._all_field_names_ = set(["description"]) CreateTeamInviteLinkType._all_fields_ = [ ("description", CreateTeamInviteLinkType.description.validator) ] DashAddedCommentToStackDetails.stack_name.validator = bv.String() DashAddedCommentToStackDetails.stack_item_name.validator = bv.String() DashAddedCommentToStackDetails.comment_text.validator = bv.String() DashAddedCommentToStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashAddedCommentToStackDetails._all_field_names_ = set( [ "stack_name", "stack_item_name", "comment_text", "stack_type", ] ) DashAddedCommentToStackDetails._all_fields_ = [ ("stack_name", DashAddedCommentToStackDetails.stack_name.validator), ("stack_item_name", DashAddedCommentToStackDetails.stack_item_name.validator), ("comment_text", DashAddedCommentToStackDetails.comment_text.validator), ("stack_type", DashAddedCommentToStackDetails.stack_type.validator), ] DashAddedCommentToStackType.description.validator = bv.String() DashAddedCommentToStackType._all_field_names_ = set(["description"]) DashAddedCommentToStackType._all_fields_ = [ ("description", DashAddedCommentToStackType.description.validator) ] DashAddedConnectorDetails.connector_name.validator = bv.String() DashAddedConnectorDetails.connector_status.validator = DashConnectorStatus_validator DashAddedConnectorDetails._all_field_names_ = set( [ "connector_name", "connector_status", ] ) DashAddedConnectorDetails._all_fields_ = [ ("connector_name", DashAddedConnectorDetails.connector_name.validator), ("connector_status", DashAddedConnectorDetails.connector_status.validator), ] DashAddedConnectorType.description.validator = bv.String() DashAddedConnectorType._all_field_names_ = set(["description"]) DashAddedConnectorType._all_fields_ = [ ("description", DashAddedConnectorType.description.validator) ] DashAddedLinkToStackDetails.stack_name.validator = bv.String() DashAddedLinkToStackDetails.stack_item_link.validator = bv.String() DashAddedLinkToStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashAddedLinkToStackDetails._all_field_names_ = set( [ "stack_name", "stack_item_link", "stack_type", ] ) DashAddedLinkToStackDetails._all_fields_ = [ ("stack_name", DashAddedLinkToStackDetails.stack_name.validator), ("stack_item_link", DashAddedLinkToStackDetails.stack_item_link.validator), ("stack_type", DashAddedLinkToStackDetails.stack_type.validator), ] DashAddedLinkToStackType.description.validator = bv.String() DashAddedLinkToStackType._all_field_names_ = set(["description"]) DashAddedLinkToStackType._all_fields_ = [ ("description", DashAddedLinkToStackType.description.validator) ] DashAddedTeamEmailDomainAllowlistDetails.email_domain.validator = bv.String() DashAddedTeamEmailDomainAllowlistDetails._all_field_names_ = set(["email_domain"]) DashAddedTeamEmailDomainAllowlistDetails._all_fields_ = [ ("email_domain", DashAddedTeamEmailDomainAllowlistDetails.email_domain.validator) ] DashAddedTeamEmailDomainAllowlistType.description.validator = bv.String() DashAddedTeamEmailDomainAllowlistType._all_field_names_ = set(["description"]) DashAddedTeamEmailDomainAllowlistType._all_fields_ = [ ("description", DashAddedTeamEmailDomainAllowlistType.description.validator) ] DashAdminAddedOrgWideConnectorDetails.connector_name.validator = bv.String() DashAdminAddedOrgWideConnectorDetails.connector_status.validator = DashConnectorStatus_validator DashAdminAddedOrgWideConnectorDetails._all_field_names_ = set( [ "connector_name", "connector_status", ] ) DashAdminAddedOrgWideConnectorDetails._all_fields_ = [ ("connector_name", DashAdminAddedOrgWideConnectorDetails.connector_name.validator), ( "connector_status", DashAdminAddedOrgWideConnectorDetails.connector_status.validator, ), ] DashAdminAddedOrgWideConnectorType.description.validator = bv.String() DashAdminAddedOrgWideConnectorType._all_field_names_ = set(["description"]) DashAdminAddedOrgWideConnectorType._all_fields_ = [ ("description", DashAdminAddedOrgWideConnectorType.description.validator) ] DashAdminDisabledConnectorDetails.connector_name.validator = bv.String() DashAdminDisabledConnectorDetails.connector_status.validator = bv.Nullable( DashConnectorStatus_validator ) DashAdminDisabledConnectorDetails._all_field_names_ = set( [ "connector_name", "connector_status", ] ) DashAdminDisabledConnectorDetails._all_fields_ = [ ("connector_name", DashAdminDisabledConnectorDetails.connector_name.validator), ("connector_status", DashAdminDisabledConnectorDetails.connector_status.validator), ] DashAdminDisabledConnectorType.description.validator = bv.String() DashAdminDisabledConnectorType._all_field_names_ = set(["description"]) DashAdminDisabledConnectorType._all_fields_ = [ ("description", DashAdminDisabledConnectorType.description.validator) ] DashAdminEnabledConnectorDetails.connector_name.validator = bv.String() DashAdminEnabledConnectorDetails.connector_status.validator = bv.Nullable( DashConnectorStatus_validator ) DashAdminEnabledConnectorDetails._all_field_names_ = set( [ "connector_name", "connector_status", ] ) DashAdminEnabledConnectorDetails._all_fields_ = [ ("connector_name", DashAdminEnabledConnectorDetails.connector_name.validator), ("connector_status", DashAdminEnabledConnectorDetails.connector_status.validator), ] DashAdminEnabledConnectorType.description.validator = bv.String() DashAdminEnabledConnectorType._all_field_names_ = set(["description"]) DashAdminEnabledConnectorType._all_fields_ = [ ("description", DashAdminEnabledConnectorType.description.validator) ] DashAdminRemovedOrgWideConnectorDetails.connector_name.validator = bv.String() DashAdminRemovedOrgWideConnectorDetails.connector_status.validator = DashConnectorStatus_validator DashAdminRemovedOrgWideConnectorDetails._all_field_names_ = set( [ "connector_name", "connector_status", ] ) DashAdminRemovedOrgWideConnectorDetails._all_fields_ = [ ( "connector_name", DashAdminRemovedOrgWideConnectorDetails.connector_name.validator, ), ( "connector_status", DashAdminRemovedOrgWideConnectorDetails.connector_status.validator, ), ] DashAdminRemovedOrgWideConnectorType.description.validator = bv.String() DashAdminRemovedOrgWideConnectorType._all_field_names_ = set(["description"]) DashAdminRemovedOrgWideConnectorType._all_fields_ = [ ("description", DashAdminRemovedOrgWideConnectorType.description.validator) ] DashArchivedStackDetails.stack_name.validator = bv.String() DashArchivedStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashArchivedStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashArchivedStackDetails._all_fields_ = [ ("stack_name", DashArchivedStackDetails.stack_name.validator), ("stack_type", DashArchivedStackDetails.stack_type.validator), ] DashArchivedStackType.description.validator = bv.String() DashArchivedStackType._all_field_names_ = set(["description"]) DashArchivedStackType._all_fields_ = [("description", DashArchivedStackType.description.validator)] DashChangedAudienceOfSharedLinkToStackDetails.stack_name.validator = bv.String() DashChangedAudienceOfSharedLinkToStackDetails.stack_type.validator = bv.Nullable( DashStackType_validator ) DashChangedAudienceOfSharedLinkToStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashChangedAudienceOfSharedLinkToStackDetails._all_fields_ = [ ("stack_name", DashChangedAudienceOfSharedLinkToStackDetails.stack_name.validator), ("stack_type", DashChangedAudienceOfSharedLinkToStackDetails.stack_type.validator), ] DashChangedAudienceOfSharedLinkToStackType.description.validator = bv.String() DashChangedAudienceOfSharedLinkToStackType._all_field_names_ = set(["description"]) DashChangedAudienceOfSharedLinkToStackType._all_fields_ = [ ("description", DashChangedAudienceOfSharedLinkToStackType.description.validator) ] DashClonedStackDetails.stack_name.validator = bv.String() DashClonedStackDetails.actor_email.validator = bv.String() DashClonedStackDetails.new_cloned_stack_name.validator = bv.String() DashClonedStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashClonedStackDetails._all_field_names_ = set( [ "stack_name", "actor_email", "new_cloned_stack_name", "stack_type", ] ) DashClonedStackDetails._all_fields_ = [ ("stack_name", DashClonedStackDetails.stack_name.validator), ("actor_email", DashClonedStackDetails.actor_email.validator), ("new_cloned_stack_name", DashClonedStackDetails.new_cloned_stack_name.validator), ("stack_type", DashClonedStackDetails.stack_type.validator), ] DashClonedStackType.description.validator = bv.String() DashClonedStackType._all_field_names_ = set(["description"]) DashClonedStackType._all_fields_ = [("description", DashClonedStackType.description.validator)] DashConnectorStatus._fail_validator = bv.Void() DashConnectorStatus._success_validator = bv.Void() DashConnectorStatus._other_validator = bv.Void() DashConnectorStatus._tagmap = { "fail": DashConnectorStatus._fail_validator, "success": DashConnectorStatus._success_validator, "other": DashConnectorStatus._other_validator, } DashConnectorStatus.fail = DashConnectorStatus("fail") DashConnectorStatus.success = DashConnectorStatus("success") DashConnectorStatus.other = DashConnectorStatus("other") DashConnectorToolsCallDetails.connector_name.validator = bv.String() DashConnectorToolsCallDetails.tool_name.validator = bv.String() DashConnectorToolsCallDetails.surface.validator = bv.Nullable(bv.String()) DashConnectorToolsCallDetails._all_field_names_ = set( [ "connector_name", "tool_name", "surface", ] ) DashConnectorToolsCallDetails._all_fields_ = [ ("connector_name", DashConnectorToolsCallDetails.connector_name.validator), ("tool_name", DashConnectorToolsCallDetails.tool_name.validator), ("surface", DashConnectorToolsCallDetails.surface.validator), ] DashConnectorToolsCallType.description.validator = bv.String() DashConnectorToolsCallType._all_field_names_ = set(["description"]) DashConnectorToolsCallType._all_fields_ = [ ("description", DashConnectorToolsCallType.description.validator) ] DashCreatedStackDetails.stack_name.validator = bv.String() DashCreatedStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashCreatedStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashCreatedStackDetails._all_fields_ = [ ("stack_name", DashCreatedStackDetails.stack_name.validator), ("stack_type", DashCreatedStackDetails.stack_type.validator), ] DashCreatedStackType.description.validator = bv.String() DashCreatedStackType._all_field_names_ = set(["description"]) DashCreatedStackType._all_fields_ = [("description", DashCreatedStackType.description.validator)] DashDeletedCommentFromStackDetails.stack_name.validator = bv.String() DashDeletedCommentFromStackDetails.stack_item_name.validator = bv.String() DashDeletedCommentFromStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashDeletedCommentFromStackDetails._all_field_names_ = set( [ "stack_name", "stack_item_name", "stack_type", ] ) DashDeletedCommentFromStackDetails._all_fields_ = [ ("stack_name", DashDeletedCommentFromStackDetails.stack_name.validator), ("stack_item_name", DashDeletedCommentFromStackDetails.stack_item_name.validator), ("stack_type", DashDeletedCommentFromStackDetails.stack_type.validator), ] DashDeletedCommentFromStackType.description.validator = bv.String() DashDeletedCommentFromStackType._all_field_names_ = set(["description"]) DashDeletedCommentFromStackType._all_fields_ = [ ("description", DashDeletedCommentFromStackType.description.validator) ] DashDeletedStackDetails.stack_name.validator = bv.String() DashDeletedStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashDeletedStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashDeletedStackDetails._all_fields_ = [ ("stack_name", DashDeletedStackDetails.stack_name.validator), ("stack_type", DashDeletedStackDetails.stack_type.validator), ] DashDeletedStackType.description.validator = bv.String() DashDeletedStackType._all_field_names_ = set(["description"]) DashDeletedStackType._all_fields_ = [("description", DashDeletedStackType.description.validator)] DashEditedCommentInStackDetails.stack_name.validator = bv.String() DashEditedCommentInStackDetails.stack_item_name.validator = bv.String() DashEditedCommentInStackDetails.comment_text.validator = bv.String() DashEditedCommentInStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashEditedCommentInStackDetails._all_field_names_ = set( [ "stack_name", "stack_item_name", "comment_text", "stack_type", ] ) DashEditedCommentInStackDetails._all_fields_ = [ ("stack_name", DashEditedCommentInStackDetails.stack_name.validator), ("stack_item_name", DashEditedCommentInStackDetails.stack_item_name.validator), ("comment_text", DashEditedCommentInStackDetails.comment_text.validator), ("stack_type", DashEditedCommentInStackDetails.stack_type.validator), ] DashEditedCommentInStackType.description.validator = bv.String() DashEditedCommentInStackType._all_field_names_ = set(["description"]) DashEditedCommentInStackType._all_fields_ = [ ("description", DashEditedCommentInStackType.description.validator) ] DashExternalSharingPolicy._default_validator = bv.Void() DashExternalSharingPolicy._disabled_validator = bv.Void() DashExternalSharingPolicy._enabled_validator = bv.Void() DashExternalSharingPolicy._other_validator = bv.Void() DashExternalSharingPolicy._tagmap = { "default": DashExternalSharingPolicy._default_validator, "disabled": DashExternalSharingPolicy._disabled_validator, "enabled": DashExternalSharingPolicy._enabled_validator, "other": DashExternalSharingPolicy._other_validator, } DashExternalSharingPolicy.default = DashExternalSharingPolicy("default") DashExternalSharingPolicy.disabled = DashExternalSharingPolicy("disabled") DashExternalSharingPolicy.enabled = DashExternalSharingPolicy("enabled") DashExternalSharingPolicy.other = DashExternalSharingPolicy("other") DashExternalSharingPolicyChangedDetails.new_value.validator = DashExternalSharingPolicy_validator DashExternalSharingPolicyChangedDetails.previous_value.validator = ( DashExternalSharingPolicy_validator ) DashExternalSharingPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) DashExternalSharingPolicyChangedDetails._all_fields_ = [ ("new_value", DashExternalSharingPolicyChangedDetails.new_value.validator), ( "previous_value", DashExternalSharingPolicyChangedDetails.previous_value.validator, ), ] DashExternalSharingPolicyChangedType.description.validator = bv.String() DashExternalSharingPolicyChangedType._all_field_names_ = set(["description"]) DashExternalSharingPolicyChangedType._all_fields_ = [ ("description", DashExternalSharingPolicyChangedType.description.validator) ] DashExternalUserOpenedStackDetails.stack_name.validator = bv.String() DashExternalUserOpenedStackDetails.stack_sharing_scope.validator = DashStackSharingScope_validator DashExternalUserOpenedStackDetails.is_invited.validator = bv.Boolean() DashExternalUserOpenedStackDetails.is_verified.validator = bv.Boolean() DashExternalUserOpenedStackDetails.stack_owner_team_id.validator = bv.Nullable(bv.Int64()) DashExternalUserOpenedStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashExternalUserOpenedStackDetails._all_field_names_ = set( [ "stack_name", "stack_sharing_scope", "is_invited", "is_verified", "stack_owner_team_id", "stack_type", ] ) DashExternalUserOpenedStackDetails._all_fields_ = [ ("stack_name", DashExternalUserOpenedStackDetails.stack_name.validator), ( "stack_sharing_scope", DashExternalUserOpenedStackDetails.stack_sharing_scope.validator, ), ("is_invited", DashExternalUserOpenedStackDetails.is_invited.validator), ("is_verified", DashExternalUserOpenedStackDetails.is_verified.validator), ( "stack_owner_team_id", DashExternalUserOpenedStackDetails.stack_owner_team_id.validator, ), ("stack_type", DashExternalUserOpenedStackDetails.stack_type.validator), ] DashExternalUserOpenedStackType.description.validator = bv.String() DashExternalUserOpenedStackType._all_field_names_ = set(["description"]) DashExternalUserOpenedStackType._all_fields_ = [ ("description", DashExternalUserOpenedStackType.description.validator) ] DashFirstLaunchedDesktopDetails.os_name.validator = bv.String() DashFirstLaunchedDesktopDetails._all_field_names_ = set(["os_name"]) DashFirstLaunchedDesktopDetails._all_fields_ = [ ("os_name", DashFirstLaunchedDesktopDetails.os_name.validator) ] DashFirstLaunchedDesktopType.description.validator = bv.String() DashFirstLaunchedDesktopType._all_field_names_ = set(["description"]) DashFirstLaunchedDesktopType._all_fields_ = [ ("description", DashFirstLaunchedDesktopType.description.validator) ] DashFirstLaunchedExtensionDetails.browser_name.validator = bv.String() DashFirstLaunchedExtensionDetails._all_field_names_ = set(["browser_name"]) DashFirstLaunchedExtensionDetails._all_fields_ = [ ("browser_name", DashFirstLaunchedExtensionDetails.browser_name.validator) ] DashFirstLaunchedExtensionType.description.validator = bv.String() DashFirstLaunchedExtensionType._all_field_names_ = set(["description"]) DashFirstLaunchedExtensionType._all_fields_ = [ ("description", DashFirstLaunchedExtensionType.description.validator) ] DashFirstLaunchedWebStartPageDetails.browser_name.validator = bv.String() DashFirstLaunchedWebStartPageDetails._all_field_names_ = set(["browser_name"]) DashFirstLaunchedWebStartPageDetails._all_fields_ = [ ("browser_name", DashFirstLaunchedWebStartPageDetails.browser_name.validator) ] DashFirstLaunchedWebStartPageType.description.validator = bv.String() DashFirstLaunchedWebStartPageType._all_field_names_ = set(["description"]) DashFirstLaunchedWebStartPageType._all_fields_ = [ ("description", DashFirstLaunchedWebStartPageType.description.validator) ] DashOpenedSharedLinkToStackDetails.stack_name.validator = bv.String() DashOpenedSharedLinkToStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashOpenedSharedLinkToStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashOpenedSharedLinkToStackDetails._all_fields_ = [ ("stack_name", DashOpenedSharedLinkToStackDetails.stack_name.validator), ("stack_type", DashOpenedSharedLinkToStackDetails.stack_type.validator), ] DashOpenedSharedLinkToStackType.description.validator = bv.String() DashOpenedSharedLinkToStackType._all_field_names_ = set(["description"]) DashOpenedSharedLinkToStackType._all_fields_ = [ ("description", DashOpenedSharedLinkToStackType.description.validator) ] DashOpenedStackDetails.stack_name.validator = bv.String() DashOpenedStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashOpenedStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashOpenedStackDetails._all_fields_ = [ ("stack_name", DashOpenedStackDetails.stack_name.validator), ("stack_type", DashOpenedStackDetails.stack_type.validator), ] DashOpenedStackType.description.validator = bv.String() DashOpenedStackType._all_field_names_ = set(["description"]) DashOpenedStackType._all_fields_ = [("description", DashOpenedStackType.description.validator)] DashPreviewOptOutStatus._opted_in_validator = bv.Void() DashPreviewOptOutStatus._opted_out_validator = bv.Void() DashPreviewOptOutStatus._other_validator = bv.Void() DashPreviewOptOutStatus._tagmap = { "opted_in": DashPreviewOptOutStatus._opted_in_validator, "opted_out": DashPreviewOptOutStatus._opted_out_validator, "other": DashPreviewOptOutStatus._other_validator, } DashPreviewOptOutStatus.opted_in = DashPreviewOptOutStatus("opted_in") DashPreviewOptOutStatus.opted_out = DashPreviewOptOutStatus("opted_out") DashPreviewOptOutStatus.other = DashPreviewOptOutStatus("other") DashPreviewOptOutStatusChangedDetails.opt_out_status.validator = DashPreviewOptOutStatus_validator DashPreviewOptOutStatusChangedDetails._all_field_names_ = set(["opt_out_status"]) DashPreviewOptOutStatusChangedDetails._all_fields_ = [ ("opt_out_status", DashPreviewOptOutStatusChangedDetails.opt_out_status.validator) ] DashPreviewOptOutStatusChangedType.description.validator = bv.String() DashPreviewOptOutStatusChangedType._all_field_names_ = set(["description"]) DashPreviewOptOutStatusChangedType._all_fields_ = [ ("description", DashPreviewOptOutStatusChangedType.description.validator) ] DashRemovedConnectorDetails.connector_name.validator = bv.String() DashRemovedConnectorDetails.connector_status.validator = DashConnectorStatus_validator DashRemovedConnectorDetails._all_field_names_ = set( [ "connector_name", "connector_status", ] ) DashRemovedConnectorDetails._all_fields_ = [ ("connector_name", DashRemovedConnectorDetails.connector_name.validator), ("connector_status", DashRemovedConnectorDetails.connector_status.validator), ] DashRemovedConnectorType.description.validator = bv.String() DashRemovedConnectorType._all_field_names_ = set(["description"]) DashRemovedConnectorType._all_fields_ = [ ("description", DashRemovedConnectorType.description.validator) ] DashRemovedLinkFromStackDetails.stack_name.validator = bv.String() DashRemovedLinkFromStackDetails.stack_item_link.validator = bv.String() DashRemovedLinkFromStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashRemovedLinkFromStackDetails._all_field_names_ = set( [ "stack_name", "stack_item_link", "stack_type", ] ) DashRemovedLinkFromStackDetails._all_fields_ = [ ("stack_name", DashRemovedLinkFromStackDetails.stack_name.validator), ("stack_item_link", DashRemovedLinkFromStackDetails.stack_item_link.validator), ("stack_type", DashRemovedLinkFromStackDetails.stack_type.validator), ] DashRemovedLinkFromStackType.description.validator = bv.String() DashRemovedLinkFromStackType._all_field_names_ = set(["description"]) DashRemovedLinkFromStackType._all_fields_ = [ ("description", DashRemovedLinkFromStackType.description.validator) ] DashRemovedSharedLinkToStackDetails.stack_name.validator = bv.String() DashRemovedSharedLinkToStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashRemovedSharedLinkToStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashRemovedSharedLinkToStackDetails._all_fields_ = [ ("stack_name", DashRemovedSharedLinkToStackDetails.stack_name.validator), ("stack_type", DashRemovedSharedLinkToStackDetails.stack_type.validator), ] DashRemovedSharedLinkToStackType.description.validator = bv.String() DashRemovedSharedLinkToStackType._all_field_names_ = set(["description"]) DashRemovedSharedLinkToStackType._all_fields_ = [ ("description", DashRemovedSharedLinkToStackType.description.validator) ] DashRemovedTeamEmailDomainAllowlistDetails.email_domain.validator = bv.String() DashRemovedTeamEmailDomainAllowlistDetails._all_field_names_ = set(["email_domain"]) DashRemovedTeamEmailDomainAllowlistDetails._all_fields_ = [ ("email_domain", DashRemovedTeamEmailDomainAllowlistDetails.email_domain.validator) ] DashRemovedTeamEmailDomainAllowlistType.description.validator = bv.String() DashRemovedTeamEmailDomainAllowlistType._all_field_names_ = set(["description"]) DashRemovedTeamEmailDomainAllowlistType._all_fields_ = [ ("description", DashRemovedTeamEmailDomainAllowlistType.description.validator) ] DashRenamedStackDetails.old_name.validator = bv.String() DashRenamedStackDetails.new_name.validator = bv.String() DashRenamedStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashRenamedStackDetails._all_field_names_ = set( [ "old_name", "new_name", "stack_type", ] ) DashRenamedStackDetails._all_fields_ = [ ("old_name", DashRenamedStackDetails.old_name.validator), ("new_name", DashRenamedStackDetails.new_name.validator), ("stack_type", DashRenamedStackDetails.stack_type.validator), ] DashRenamedStackType.description.validator = bv.String() DashRenamedStackType._all_field_names_ = set(["description"]) DashRenamedStackType._all_fields_ = [("description", DashRenamedStackType.description.validator)] DashSharedLinkToStackDetails.stack_name.validator = bv.String() DashSharedLinkToStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashSharedLinkToStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashSharedLinkToStackDetails._all_fields_ = [ ("stack_name", DashSharedLinkToStackDetails.stack_name.validator), ("stack_type", DashSharedLinkToStackDetails.stack_type.validator), ] DashSharedLinkToStackType.description.validator = bv.String() DashSharedLinkToStackType._all_field_names_ = set(["description"]) DashSharedLinkToStackType._all_fields_ = [ ("description", DashSharedLinkToStackType.description.validator) ] DashStackSharingScope._invited_validator = bv.Void() DashStackSharingScope._public_validator = bv.Void() DashStackSharingScope._team_validator = bv.Void() DashStackSharingScope._unknown_validator = bv.Void() DashStackSharingScope._other_validator = bv.Void() DashStackSharingScope._tagmap = { "invited": DashStackSharingScope._invited_validator, "public": DashStackSharingScope._public_validator, "team": DashStackSharingScope._team_validator, "unknown": DashStackSharingScope._unknown_validator, "other": DashStackSharingScope._other_validator, } DashStackSharingScope.invited = DashStackSharingScope("invited") DashStackSharingScope.public = DashStackSharingScope("public") DashStackSharingScope.team = DashStackSharingScope("team") DashStackSharingScope.unknown = DashStackSharingScope("unknown") DashStackSharingScope.other = DashStackSharingScope("other") DashStackType._cypress_validator = bv.Void() DashStackType._reference_container_validator = bv.Void() DashStackType._unknown_validator = bv.Void() DashStackType._other_validator = bv.Void() DashStackType._tagmap = { "cypress": DashStackType._cypress_validator, "reference_container": DashStackType._reference_container_validator, "unknown": DashStackType._unknown_validator, "other": DashStackType._other_validator, } DashStackType.cypress = DashStackType("cypress") DashStackType.reference_container = DashStackType("reference_container") DashStackType.unknown = DashStackType("unknown") DashStackType.other = DashStackType("other") DashUnarchivedStackDetails.stack_name.validator = bv.String() DashUnarchivedStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashUnarchivedStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashUnarchivedStackDetails._all_fields_ = [ ("stack_name", DashUnarchivedStackDetails.stack_name.validator), ("stack_type", DashUnarchivedStackDetails.stack_type.validator), ] DashUnarchivedStackType.description.validator = bv.String() DashUnarchivedStackType._all_field_names_ = set(["description"]) DashUnarchivedStackType._all_fields_ = [ ("description", DashUnarchivedStackType.description.validator) ] DashViewedCompanyStackDetails.stack_name.validator = bv.String() DashViewedCompanyStackDetails.stack_type.validator = bv.Nullable(DashStackType_validator) DashViewedCompanyStackDetails._all_field_names_ = set( [ "stack_name", "stack_type", ] ) DashViewedCompanyStackDetails._all_fields_ = [ ("stack_name", DashViewedCompanyStackDetails.stack_name.validator), ("stack_type", DashViewedCompanyStackDetails.stack_type.validator), ] DashViewedCompanyStackType.description.validator = bv.String() DashViewedCompanyStackType._all_field_names_ = set(["description"]) DashViewedCompanyStackType._all_fields_ = [ ("description", DashViewedCompanyStackType.description.validator) ] DashViewedExternalAiActivityReportDetails._all_field_names_ = set([]) DashViewedExternalAiActivityReportDetails._all_fields_ = [] DashViewedExternalAiActivityReportType.description.validator = bv.String() DashViewedExternalAiActivityReportType._all_field_names_ = set(["description"]) DashViewedExternalAiActivityReportType._all_fields_ = [ ("description", DashViewedExternalAiActivityReportType.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) ] DataResidencyMigrationRequestSuccessfulDetails._all_field_names_ = set([]) DataResidencyMigrationRequestSuccessfulDetails._all_fields_ = [] DataResidencyMigrationRequestSuccessfulType.description.validator = bv.String() DataResidencyMigrationRequestSuccessfulType._all_field_names_ = set(["description"]) DataResidencyMigrationRequestSuccessfulType._all_fields_ = [ ("description", DataResidencyMigrationRequestSuccessfulType.description.validator) ] DataResidencyMigrationRequestUnsuccessfulDetails._all_field_names_ = set([]) DataResidencyMigrationRequestUnsuccessfulDetails._all_fields_ = [] DataResidencyMigrationRequestUnsuccessfulType.description.validator = bv.String() DataResidencyMigrationRequestUnsuccessfulType._all_field_names_ = set(["description"]) DataResidencyMigrationRequestUnsuccessfulType._all_fields_ = [ ("description", DataResidencyMigrationRequestUnsuccessfulType.description.validator) ] DefaultLinkExpirationDaysPolicy._day_1_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_180_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_3_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_30_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_7_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_90_validator = bv.Void() DefaultLinkExpirationDaysPolicy._none_validator = bv.Void() DefaultLinkExpirationDaysPolicy._year_1_validator = bv.Void() DefaultLinkExpirationDaysPolicy._other_validator = bv.Void() DefaultLinkExpirationDaysPolicy._tagmap = { "day_1": DefaultLinkExpirationDaysPolicy._day_1_validator, "day_180": DefaultLinkExpirationDaysPolicy._day_180_validator, "day_3": DefaultLinkExpirationDaysPolicy._day_3_validator, "day_30": DefaultLinkExpirationDaysPolicy._day_30_validator, "day_7": DefaultLinkExpirationDaysPolicy._day_7_validator, "day_90": DefaultLinkExpirationDaysPolicy._day_90_validator, "none": DefaultLinkExpirationDaysPolicy._none_validator, "year_1": DefaultLinkExpirationDaysPolicy._year_1_validator, "other": DefaultLinkExpirationDaysPolicy._other_validator, } DefaultLinkExpirationDaysPolicy.day_1 = DefaultLinkExpirationDaysPolicy("day_1") DefaultLinkExpirationDaysPolicy.day_180 = DefaultLinkExpirationDaysPolicy("day_180") DefaultLinkExpirationDaysPolicy.day_3 = DefaultLinkExpirationDaysPolicy("day_3") DefaultLinkExpirationDaysPolicy.day_30 = DefaultLinkExpirationDaysPolicy("day_30") DefaultLinkExpirationDaysPolicy.day_7 = DefaultLinkExpirationDaysPolicy("day_7") DefaultLinkExpirationDaysPolicy.day_90 = DefaultLinkExpirationDaysPolicy("day_90") DefaultLinkExpirationDaysPolicy.none = DefaultLinkExpirationDaysPolicy("none") DefaultLinkExpirationDaysPolicy.year_1 = DefaultLinkExpirationDaysPolicy("year_1") DefaultLinkExpirationDaysPolicy.other = DefaultLinkExpirationDaysPolicy("other") DeleteTeamInviteLinkDetails.link_url.validator = bv.String() DeleteTeamInviteLinkDetails._all_field_names_ = set(["link_url"]) DeleteTeamInviteLinkDetails._all_fields_ = [ ("link_url", DeleteTeamInviteLinkDetails.link_url.validator) ] DeleteTeamInviteLinkType.description.validator = bv.String() DeleteTeamInviteLinkType._all_field_names_ = set(["description"]) DeleteTeamInviteLinkType._all_fields_ = [ ("description", DeleteTeamInviteLinkType.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_ = { ("desktop_device_session",): DesktopDeviceSessionLogInfo_validator, ("legacy_device_session",): LegacyDeviceSessionLogInfo_validator, ("mobile_device_session",): MobileDeviceSessionLogInfo_validator, ("web_device_session",): WebDeviceSessionLogInfo_validator, } DeviceSessionLogInfo._pytype_to_tag_and_subtype_ = { DesktopDeviceSessionLogInfo: ( ("desktop_device_session",), DesktopDeviceSessionLogInfo_validator, ), LegacyDeviceSessionLogInfo: ( ("legacy_device_session",), LegacyDeviceSessionLogInfo_validator, ), MobileDeviceSessionLogInfo: ( ("mobile_device_session",), MobileDeviceSessionLogInfo_validator, ), WebDeviceSessionLogInfo: ( ("web_device_session",), WebDeviceSessionLogInfo_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_ = { ("desktop",): DesktopSessionLogInfo_validator, ("mobile",): MobileSessionLogInfo_validator, ("web",): WebSessionLogInfo_validator, } SessionLogInfo._pytype_to_tag_and_subtype_ = { DesktopSessionLogInfo: (("desktop",), DesktopSessionLogInfo_validator), MobileSessionLogInfo: (("mobile",), MobileSessionLogInfo_validator), WebSessionLogInfo: (("web",), WebSessionLogInfo_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_ DeviceApprovalsAddExceptionDetails._all_field_names_ = set([]) DeviceApprovalsAddExceptionDetails._all_fields_ = [] DeviceApprovalsAddExceptionType.description.validator = bv.String() DeviceApprovalsAddExceptionType._all_field_names_ = set(["description"]) DeviceApprovalsAddExceptionType._all_fields_ = [ ("description", DeviceApprovalsAddExceptionType.description.validator) ] 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._limited_validator = bv.Void() DeviceApprovalsPolicy._unlimited_validator = bv.Void() DeviceApprovalsPolicy._other_validator = bv.Void() DeviceApprovalsPolicy._tagmap = { "limited": DeviceApprovalsPolicy._limited_validator, "unlimited": DeviceApprovalsPolicy._unlimited_validator, "other": DeviceApprovalsPolicy._other_validator, } DeviceApprovalsPolicy.limited = DeviceApprovalsPolicy("limited") DeviceApprovalsPolicy.unlimited = DeviceApprovalsPolicy("unlimited") DeviceApprovalsPolicy.other = DeviceApprovalsPolicy("other") DeviceApprovalsRemoveExceptionDetails._all_field_names_ = set([]) DeviceApprovalsRemoveExceptionDetails._all_fields_ = [] DeviceApprovalsRemoveExceptionType.description.validator = bv.String() DeviceApprovalsRemoveExceptionType._all_field_names_ = set(["description"]) DeviceApprovalsRemoveExceptionType._all_fields_ = [ ("description", DeviceApprovalsRemoveExceptionType.description.validator) ] DeviceChangeIpDesktopDetails.device_session_info.validator = DeviceSessionLogInfo_validator DeviceChangeIpDesktopDetails._all_field_names_ = set(["device_session_info"]) DeviceChangeIpDesktopDetails._all_fields_ = [ ("device_session_info", DeviceChangeIpDesktopDetails.device_session_info.validator) ] 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) ] DeviceSyncBackupStatusChangedDetails.desktop_device_session_info.validator = ( DesktopDeviceSessionLogInfo_validator ) DeviceSyncBackupStatusChangedDetails.previous_value.validator = BackupStatus_validator DeviceSyncBackupStatusChangedDetails.new_value.validator = BackupStatus_validator DeviceSyncBackupStatusChangedDetails._all_field_names_ = set( [ "desktop_device_session_info", "previous_value", "new_value", ] ) DeviceSyncBackupStatusChangedDetails._all_fields_ = [ ( "desktop_device_session_info", DeviceSyncBackupStatusChangedDetails.desktop_device_session_info.validator, ), ("previous_value", DeviceSyncBackupStatusChangedDetails.previous_value.validator), ("new_value", DeviceSyncBackupStatusChangedDetails.new_value.validator), ] DeviceSyncBackupStatusChangedType.description.validator = bv.String() DeviceSyncBackupStatusChangedType._all_field_names_ = set(["description"]) DeviceSyncBackupStatusChangedType._all_fields_ = [ ("description", DeviceSyncBackupStatusChangedType.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._keep_validator = bv.Void() DeviceUnlinkPolicy._remove_validator = bv.Void() DeviceUnlinkPolicy._other_validator = bv.Void() DeviceUnlinkPolicy._tagmap = { "keep": DeviceUnlinkPolicy._keep_validator, "remove": DeviceUnlinkPolicy._remove_validator, "other": DeviceUnlinkPolicy._other_validator, } DeviceUnlinkPolicy.keep = DeviceUnlinkPolicy("keep") DeviceUnlinkPolicy.remove = DeviceUnlinkPolicy("remove") 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) ] DispositionActionType._automatic_delete_validator = bv.Void() DispositionActionType._automatic_permanently_delete_validator = bv.Void() DispositionActionType._other_validator = bv.Void() DispositionActionType._tagmap = { "automatic_delete": DispositionActionType._automatic_delete_validator, "automatic_permanently_delete": DispositionActionType._automatic_permanently_delete_validator, "other": DispositionActionType._other_validator, } DispositionActionType.automatic_delete = DispositionActionType("automatic_delete") DispositionActionType.automatic_permanently_delete = DispositionActionType( "automatic_permanently_delete" ) DispositionActionType.other = DispositionActionType("other") 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") DropboxPasswordsExportedDetails.platform.validator = bv.String() DropboxPasswordsExportedDetails._all_field_names_ = set(["platform"]) DropboxPasswordsExportedDetails._all_fields_ = [ ("platform", DropboxPasswordsExportedDetails.platform.validator) ] DropboxPasswordsExportedType.description.validator = bv.String() DropboxPasswordsExportedType._all_field_names_ = set(["description"]) DropboxPasswordsExportedType._all_fields_ = [ ("description", DropboxPasswordsExportedType.description.validator) ] DropboxPasswordsNewDeviceEnrolledDetails.is_first_device.validator = bv.Boolean() DropboxPasswordsNewDeviceEnrolledDetails.platform.validator = bv.String() DropboxPasswordsNewDeviceEnrolledDetails._all_field_names_ = set( [ "is_first_device", "platform", ] ) DropboxPasswordsNewDeviceEnrolledDetails._all_fields_ = [ ( "is_first_device", DropboxPasswordsNewDeviceEnrolledDetails.is_first_device.validator, ), ("platform", DropboxPasswordsNewDeviceEnrolledDetails.platform.validator), ] DropboxPasswordsNewDeviceEnrolledType.description.validator = bv.String() DropboxPasswordsNewDeviceEnrolledType._all_field_names_ = set(["description"]) DropboxPasswordsNewDeviceEnrolledType._all_fields_ = [ ("description", DropboxPasswordsNewDeviceEnrolledType.description.validator) ] DropboxPasswordsPolicy._default_validator = bv.Void() DropboxPasswordsPolicy._disabled_validator = bv.Void() DropboxPasswordsPolicy._enabled_validator = bv.Void() DropboxPasswordsPolicy._other_validator = bv.Void() DropboxPasswordsPolicy._tagmap = { "default": DropboxPasswordsPolicy._default_validator, "disabled": DropboxPasswordsPolicy._disabled_validator, "enabled": DropboxPasswordsPolicy._enabled_validator, "other": DropboxPasswordsPolicy._other_validator, } DropboxPasswordsPolicy.default = DropboxPasswordsPolicy("default") DropboxPasswordsPolicy.disabled = DropboxPasswordsPolicy("disabled") DropboxPasswordsPolicy.enabled = DropboxPasswordsPolicy("enabled") DropboxPasswordsPolicy.other = DropboxPasswordsPolicy("other") DropboxPasswordsPolicyChangedDetails.new_value.validator = DropboxPasswordsPolicy_validator DropboxPasswordsPolicyChangedDetails.previous_value.validator = DropboxPasswordsPolicy_validator DropboxPasswordsPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) DropboxPasswordsPolicyChangedDetails._all_fields_ = [ ("new_value", DropboxPasswordsPolicyChangedDetails.new_value.validator), ("previous_value", DropboxPasswordsPolicyChangedDetails.previous_value.validator), ] DropboxPasswordsPolicyChangedType.description.validator = bv.String() DropboxPasswordsPolicyChangedType._all_field_names_ = set(["description"]) DropboxPasswordsPolicyChangedType._all_fields_ = [ ("description", DropboxPasswordsPolicyChangedType.description.validator) ] 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), ] EmailIngestPolicy._disabled_validator = bv.Void() EmailIngestPolicy._enabled_validator = bv.Void() EmailIngestPolicy._other_validator = bv.Void() EmailIngestPolicy._tagmap = { "disabled": EmailIngestPolicy._disabled_validator, "enabled": EmailIngestPolicy._enabled_validator, "other": EmailIngestPolicy._other_validator, } EmailIngestPolicy.disabled = EmailIngestPolicy("disabled") EmailIngestPolicy.enabled = EmailIngestPolicy("enabled") EmailIngestPolicy.other = EmailIngestPolicy("other") EmailIngestPolicyChangedDetails.new_value.validator = EmailIngestPolicy_validator EmailIngestPolicyChangedDetails.previous_value.validator = EmailIngestPolicy_validator EmailIngestPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) EmailIngestPolicyChangedDetails._all_fields_ = [ ("new_value", EmailIngestPolicyChangedDetails.new_value.validator), ("previous_value", EmailIngestPolicyChangedDetails.previous_value.validator), ] EmailIngestPolicyChangedType.description.validator = bv.String() EmailIngestPolicyChangedType._all_field_names_ = set(["description"]) EmailIngestPolicyChangedType._all_fields_ = [ ("description", EmailIngestPolicyChangedType.description.validator) ] EmailIngestReceiveFileDetails.inbox_name.validator = bv.String() EmailIngestReceiveFileDetails.attachment_names.validator = bv.List(bv.String()) EmailIngestReceiveFileDetails.subject.validator = bv.Nullable(bv.String()) EmailIngestReceiveFileDetails.from_name.validator = bv.Nullable(common.DisplayNameLegacy_validator) EmailIngestReceiveFileDetails.from_email.validator = bv.Nullable(EmailAddress_validator) EmailIngestReceiveFileDetails._all_field_names_ = set( [ "inbox_name", "attachment_names", "subject", "from_name", "from_email", ] ) EmailIngestReceiveFileDetails._all_fields_ = [ ("inbox_name", EmailIngestReceiveFileDetails.inbox_name.validator), ("attachment_names", EmailIngestReceiveFileDetails.attachment_names.validator), ("subject", EmailIngestReceiveFileDetails.subject.validator), ("from_name", EmailIngestReceiveFileDetails.from_name.validator), ("from_email", EmailIngestReceiveFileDetails.from_email.validator), ] EmailIngestReceiveFileType.description.validator = bv.String() EmailIngestReceiveFileType._all_field_names_ = set(["description"]) EmailIngestReceiveFileType._all_fields_ = [ ("description", EmailIngestReceiveFileType.description.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) ] EncryptedFolderCancelTeamKeyRotationDetails.team_key_id.validator = bv.String() EncryptedFolderCancelTeamKeyRotationDetails._all_field_names_ = set(["team_key_id"]) EncryptedFolderCancelTeamKeyRotationDetails._all_fields_ = [ ("team_key_id", EncryptedFolderCancelTeamKeyRotationDetails.team_key_id.validator) ] EncryptedFolderCancelTeamKeyRotationType.description.validator = bv.String() EncryptedFolderCancelTeamKeyRotationType._all_field_names_ = set(["description"]) EncryptedFolderCancelTeamKeyRotationType._all_fields_ = [ ("description", EncryptedFolderCancelTeamKeyRotationType.description.validator) ] EncryptedFolderEnrollBackupKeyDetails.backup_key_id.validator = bv.String() EncryptedFolderEnrollBackupKeyDetails._all_field_names_ = set(["backup_key_id"]) EncryptedFolderEnrollBackupKeyDetails._all_fields_ = [ ("backup_key_id", EncryptedFolderEnrollBackupKeyDetails.backup_key_id.validator) ] EncryptedFolderEnrollBackupKeyType.description.validator = bv.String() EncryptedFolderEnrollBackupKeyType._all_field_names_ = set(["description"]) EncryptedFolderEnrollBackupKeyType._all_fields_ = [ ("description", EncryptedFolderEnrollBackupKeyType.description.validator) ] EncryptedFolderEnrollClientDetails.client_key_id.validator = bv.String() EncryptedFolderEnrollClientDetails._all_field_names_ = set(["client_key_id"]) EncryptedFolderEnrollClientDetails._all_fields_ = [ ("client_key_id", EncryptedFolderEnrollClientDetails.client_key_id.validator) ] EncryptedFolderEnrollClientType.description.validator = bv.String() EncryptedFolderEnrollClientType._all_field_names_ = set(["description"]) EncryptedFolderEnrollClientType._all_fields_ = [ ("description", EncryptedFolderEnrollClientType.description.validator) ] EncryptedFolderEnrollTeamDetails._all_field_names_ = set([]) EncryptedFolderEnrollTeamDetails._all_fields_ = [] EncryptedFolderEnrollTeamType.description.validator = bv.String() EncryptedFolderEnrollTeamType._all_field_names_ = set(["description"]) EncryptedFolderEnrollTeamType._all_fields_ = [ ("description", EncryptedFolderEnrollTeamType.description.validator) ] EncryptedFolderFinishTeamUnenrollmentDetails._all_field_names_ = set([]) EncryptedFolderFinishTeamUnenrollmentDetails._all_fields_ = [] EncryptedFolderFinishTeamUnenrollmentType.description.validator = bv.String() EncryptedFolderFinishTeamUnenrollmentType._all_field_names_ = set(["description"]) EncryptedFolderFinishTeamUnenrollmentType._all_fields_ = [ ("description", EncryptedFolderFinishTeamUnenrollmentType.description.validator) ] EncryptedFolderInitTeamKeyRotationDetails.team_key_id.validator = bv.String() EncryptedFolderInitTeamKeyRotationDetails._all_field_names_ = set(["team_key_id"]) EncryptedFolderInitTeamKeyRotationDetails._all_fields_ = [ ("team_key_id", EncryptedFolderInitTeamKeyRotationDetails.team_key_id.validator) ] EncryptedFolderInitTeamKeyRotationType.description.validator = bv.String() EncryptedFolderInitTeamKeyRotationType._all_field_names_ = set(["description"]) EncryptedFolderInitTeamKeyRotationType._all_fields_ = [ ("description", EncryptedFolderInitTeamKeyRotationType.description.validator) ] EncryptedFolderInitTeamUnenrollmentDetails._all_field_names_ = set([]) EncryptedFolderInitTeamUnenrollmentDetails._all_fields_ = [] EncryptedFolderInitTeamUnenrollmentType.description.validator = bv.String() EncryptedFolderInitTeamUnenrollmentType._all_field_names_ = set(["description"]) EncryptedFolderInitTeamUnenrollmentType._all_fields_ = [ ("description", EncryptedFolderInitTeamUnenrollmentType.description.validator) ] EncryptedFolderRemoveBackupKeyDetails.backup_key_id.validator = bv.String() EncryptedFolderRemoveBackupKeyDetails._all_field_names_ = set(["backup_key_id"]) EncryptedFolderRemoveBackupKeyDetails._all_fields_ = [ ("backup_key_id", EncryptedFolderRemoveBackupKeyDetails.backup_key_id.validator) ] EncryptedFolderRemoveBackupKeyType.description.validator = bv.String() EncryptedFolderRemoveBackupKeyType._all_field_names_ = set(["description"]) EncryptedFolderRemoveBackupKeyType._all_fields_ = [ ("description", EncryptedFolderRemoveBackupKeyType.description.validator) ] EncryptedFolderRotateTeamKeyDetails.team_key_id.validator = bv.String() EncryptedFolderRotateTeamKeyDetails._all_field_names_ = set(["team_key_id"]) EncryptedFolderRotateTeamKeyDetails._all_fields_ = [ ("team_key_id", EncryptedFolderRotateTeamKeyDetails.team_key_id.validator) ] EncryptedFolderRotateTeamKeyType.description.validator = bv.String() EncryptedFolderRotateTeamKeyType._all_field_names_ = set(["description"]) EncryptedFolderRotateTeamKeyType._all_fields_ = [ ("description", EncryptedFolderRotateTeamKeyType.description.validator) ] EncryptedFolderUnenrollClientDetails.client_key_id.validator = bv.String() EncryptedFolderUnenrollClientDetails._all_field_names_ = set(["client_key_id"]) EncryptedFolderUnenrollClientDetails._all_fields_ = [ ("client_key_id", EncryptedFolderUnenrollClientDetails.client_key_id.validator) ] EncryptedFolderUnenrollClientType.description.validator = bv.String() EncryptedFolderUnenrollClientType._all_field_names_ = set(["description"]) EncryptedFolderUnenrollClientType._all_fields_ = [ ("description", EncryptedFolderUnenrollClientType.description.validator) ] EndedEnterpriseAdminSessionDeprecatedDetails.federation_extra_details.validator = ( FedExtraDetails_validator ) EndedEnterpriseAdminSessionDeprecatedDetails._all_field_names_ = set(["federation_extra_details"]) EndedEnterpriseAdminSessionDeprecatedDetails._all_fields_ = [ ( "federation_extra_details", EndedEnterpriseAdminSessionDeprecatedDetails.federation_extra_details.validator, ) ] EndedEnterpriseAdminSessionDeprecatedType.description.validator = bv.String() EndedEnterpriseAdminSessionDeprecatedType._all_field_names_ = set(["description"]) EndedEnterpriseAdminSessionDeprecatedType._all_fields_ = [ ("description", EndedEnterpriseAdminSessionDeprecatedType.description.validator) ] EndedEnterpriseAdminSessionDetails._all_field_names_ = set([]) EndedEnterpriseAdminSessionDetails._all_fields_ = [] EndedEnterpriseAdminSessionType.description.validator = bv.String() EndedEnterpriseAdminSessionType._all_field_names_ = set(["description"]) EndedEnterpriseAdminSessionType._all_fields_ = [ ("description", EndedEnterpriseAdminSessionType.description.validator) ] EnforceLinkPasswordPolicy._optional_validator = bv.Void() EnforceLinkPasswordPolicy._required_validator = bv.Void() EnforceLinkPasswordPolicy._other_validator = bv.Void() EnforceLinkPasswordPolicy._tagmap = { "optional": EnforceLinkPasswordPolicy._optional_validator, "required": EnforceLinkPasswordPolicy._required_validator, "other": EnforceLinkPasswordPolicy._other_validator, } EnforceLinkPasswordPolicy.optional = EnforceLinkPasswordPolicy("optional") EnforceLinkPasswordPolicy.required = EnforceLinkPasswordPolicy("required") EnforceLinkPasswordPolicy.other = EnforceLinkPasswordPolicy("other") EnterpriseSettingsLockingDetails.team_name.validator = bv.String() EnterpriseSettingsLockingDetails.settings_page_name.validator = bv.String() EnterpriseSettingsLockingDetails.previous_settings_page_locking_state.validator = bv.String() EnterpriseSettingsLockingDetails.new_settings_page_locking_state.validator = bv.String() EnterpriseSettingsLockingDetails._all_field_names_ = set( [ "team_name", "settings_page_name", "previous_settings_page_locking_state", "new_settings_page_locking_state", ] ) EnterpriseSettingsLockingDetails._all_fields_ = [ ("team_name", EnterpriseSettingsLockingDetails.team_name.validator), ( "settings_page_name", EnterpriseSettingsLockingDetails.settings_page_name.validator, ), ( "previous_settings_page_locking_state", EnterpriseSettingsLockingDetails.previous_settings_page_locking_state.validator, ), ( "new_settings_page_locking_state", EnterpriseSettingsLockingDetails.new_settings_page_locking_state.validator, ), ] EnterpriseSettingsLockingType.description.validator = bv.String() EnterpriseSettingsLockingType._all_field_names_ = set(["description"]) EnterpriseSettingsLockingType._all_fields_ = [ ("description", EnterpriseSettingsLockingType.description.validator) ] EventCategory._admin_alerting_validator = bv.Void() EventCategory._apps_validator = bv.Void() EventCategory._comments_validator = bv.Void() EventCategory._dash_validator = bv.Void() EventCategory._data_governance_validator = bv.Void() EventCategory._devices_validator = bv.Void() EventCategory._domains_validator = bv.Void() EventCategory._encryption_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._protect_validator = bv.Void() EventCategory._reports_validator = bv.Void() EventCategory._sharing_validator = bv.Void() EventCategory._showcase_validator = bv.Void() EventCategory._signatures_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 = { "admin_alerting": EventCategory._admin_alerting_validator, "apps": EventCategory._apps_validator, "comments": EventCategory._comments_validator, "dash": EventCategory._dash_validator, "data_governance": EventCategory._data_governance_validator, "devices": EventCategory._devices_validator, "domains": EventCategory._domains_validator, "encryption": EventCategory._encryption_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, "protect": EventCategory._protect_validator, "reports": EventCategory._reports_validator, "sharing": EventCategory._sharing_validator, "showcase": EventCategory._showcase_validator, "signatures": EventCategory._signatures_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.admin_alerting = EventCategory("admin_alerting") EventCategory.apps = EventCategory("apps") EventCategory.comments = EventCategory("comments") EventCategory.dash = EventCategory("dash") EventCategory.data_governance = EventCategory("data_governance") EventCategory.devices = EventCategory("devices") EventCategory.domains = EventCategory("domains") EventCategory.encryption = EventCategory("encryption") 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.protect = EventCategory("protect") EventCategory.reports = EventCategory("reports") EventCategory.sharing = EventCategory("sharing") EventCategory.showcase = EventCategory("showcase") EventCategory.signatures = EventCategory("signatures") 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._admin_alerting_alert_state_changed_details_validator = ( AdminAlertingAlertStateChangedDetails_validator ) EventDetails._admin_alerting_changed_alert_config_details_validator = ( AdminAlertingChangedAlertConfigDetails_validator ) EventDetails._admin_alerting_triggered_alert_details_validator = ( AdminAlertingTriggeredAlertDetails_validator ) EventDetails._ransomware_restore_process_completed_details_validator = ( RansomwareRestoreProcessCompletedDetails_validator ) EventDetails._ransomware_restore_process_started_details_validator = ( RansomwareRestoreProcessStartedDetails_validator ) EventDetails._app_blocked_by_permissions_details_validator = ( AppBlockedByPermissionsDetails_validator ) EventDetails._app_link_team_details_validator = AppLinkTeamDetails_validator EventDetails._app_link_user_details_validator = AppLinkUserDetails_validator EventDetails._app_unlink_team_details_validator = AppUnlinkTeamDetails_validator EventDetails._app_unlink_user_details_validator = AppUnlinkUserDetails_validator EventDetails._integration_connected_details_validator = IntegrationConnectedDetails_validator EventDetails._integration_disconnected_details_validator = IntegrationDisconnectedDetails_validator EventDetails._file_add_comment_details_validator = FileAddCommentDetails_validator EventDetails._file_change_comment_subscription_details_validator = ( FileChangeCommentSubscriptionDetails_validator ) EventDetails._file_delete_comment_details_validator = FileDeleteCommentDetails_validator EventDetails._file_edit_comment_details_validator = FileEditCommentDetails_validator EventDetails._file_like_comment_details_validator = FileLikeCommentDetails_validator EventDetails._file_resolve_comment_details_validator = FileResolveCommentDetails_validator EventDetails._file_unlike_comment_details_validator = FileUnlikeCommentDetails_validator EventDetails._file_unresolve_comment_details_validator = FileUnresolveCommentDetails_validator EventDetails._dash_added_comment_to_stack_details_validator = ( DashAddedCommentToStackDetails_validator ) EventDetails._dash_added_connector_details_validator = DashAddedConnectorDetails_validator EventDetails._dash_added_link_to_stack_details_validator = DashAddedLinkToStackDetails_validator EventDetails._dash_added_team_email_domain_allowlist_details_validator = ( DashAddedTeamEmailDomainAllowlistDetails_validator ) EventDetails._dash_admin_added_org_wide_connector_details_validator = ( DashAdminAddedOrgWideConnectorDetails_validator ) EventDetails._dash_admin_disabled_connector_details_validator = ( DashAdminDisabledConnectorDetails_validator ) EventDetails._dash_admin_enabled_connector_details_validator = ( DashAdminEnabledConnectorDetails_validator ) EventDetails._dash_admin_removed_org_wide_connector_details_validator = ( DashAdminRemovedOrgWideConnectorDetails_validator ) EventDetails._dash_archived_stack_details_validator = DashArchivedStackDetails_validator EventDetails._dash_changed_audience_of_shared_link_to_stack_details_validator = ( DashChangedAudienceOfSharedLinkToStackDetails_validator ) EventDetails._dash_cloned_stack_details_validator = DashClonedStackDetails_validator EventDetails._dash_connector_tools_call_details_validator = DashConnectorToolsCallDetails_validator EventDetails._dash_created_stack_details_validator = DashCreatedStackDetails_validator EventDetails._dash_deleted_comment_from_stack_details_validator = ( DashDeletedCommentFromStackDetails_validator ) EventDetails._dash_deleted_stack_details_validator = DashDeletedStackDetails_validator EventDetails._dash_edited_comment_in_stack_details_validator = ( DashEditedCommentInStackDetails_validator ) EventDetails._dash_external_user_opened_stack_details_validator = ( DashExternalUserOpenedStackDetails_validator ) EventDetails._dash_first_launched_desktop_details_validator = ( DashFirstLaunchedDesktopDetails_validator ) EventDetails._dash_first_launched_extension_details_validator = ( DashFirstLaunchedExtensionDetails_validator ) EventDetails._dash_first_launched_web_start_page_details_validator = ( DashFirstLaunchedWebStartPageDetails_validator ) EventDetails._dash_opened_shared_link_to_stack_details_validator = ( DashOpenedSharedLinkToStackDetails_validator ) EventDetails._dash_opened_stack_details_validator = DashOpenedStackDetails_validator EventDetails._dash_preview_opt_out_status_changed_details_validator = ( DashPreviewOptOutStatusChangedDetails_validator ) EventDetails._dash_removed_connector_details_validator = DashRemovedConnectorDetails_validator EventDetails._dash_removed_link_from_stack_details_validator = ( DashRemovedLinkFromStackDetails_validator ) EventDetails._dash_removed_shared_link_to_stack_details_validator = ( DashRemovedSharedLinkToStackDetails_validator ) EventDetails._dash_removed_team_email_domain_allowlist_details_validator = ( DashRemovedTeamEmailDomainAllowlistDetails_validator ) EventDetails._dash_renamed_stack_details_validator = DashRenamedStackDetails_validator EventDetails._dash_shared_link_to_stack_details_validator = DashSharedLinkToStackDetails_validator EventDetails._dash_unarchived_stack_details_validator = DashUnarchivedStackDetails_validator EventDetails._dash_viewed_company_stack_details_validator = DashViewedCompanyStackDetails_validator EventDetails._dash_viewed_external_ai_activity_report_details_validator = ( DashViewedExternalAiActivityReportDetails_validator ) EventDetails._governance_policy_add_folders_details_validator = ( GovernancePolicyAddFoldersDetails_validator ) EventDetails._governance_policy_add_folder_failed_details_validator = ( GovernancePolicyAddFolderFailedDetails_validator ) EventDetails._governance_policy_content_disposed_details_validator = ( GovernancePolicyContentDisposedDetails_validator ) EventDetails._governance_policy_create_details_validator = GovernancePolicyCreateDetails_validator EventDetails._governance_policy_delete_details_validator = GovernancePolicyDeleteDetails_validator EventDetails._governance_policy_edit_details_details_validator = ( GovernancePolicyEditDetailsDetails_validator ) EventDetails._governance_policy_edit_duration_details_validator = ( GovernancePolicyEditDurationDetails_validator ) EventDetails._governance_policy_export_created_details_validator = ( GovernancePolicyExportCreatedDetails_validator ) EventDetails._governance_policy_export_removed_details_validator = ( GovernancePolicyExportRemovedDetails_validator ) EventDetails._governance_policy_remove_folders_details_validator = ( GovernancePolicyRemoveFoldersDetails_validator ) EventDetails._governance_policy_report_created_details_validator = ( GovernancePolicyReportCreatedDetails_validator ) EventDetails._governance_policy_zip_part_downloaded_details_validator = ( GovernancePolicyZipPartDownloadedDetails_validator ) EventDetails._legal_holds_activate_a_hold_details_validator = ( LegalHoldsActivateAHoldDetails_validator ) EventDetails._legal_holds_add_members_details_validator = LegalHoldsAddMembersDetails_validator EventDetails._legal_holds_change_hold_details_details_validator = ( LegalHoldsChangeHoldDetailsDetails_validator ) EventDetails._legal_holds_change_hold_name_details_validator = ( LegalHoldsChangeHoldNameDetails_validator ) EventDetails._legal_holds_export_a_hold_details_validator = LegalHoldsExportAHoldDetails_validator EventDetails._legal_holds_export_cancelled_details_validator = ( LegalHoldsExportCancelledDetails_validator ) EventDetails._legal_holds_export_downloaded_details_validator = ( LegalHoldsExportDownloadedDetails_validator ) EventDetails._legal_holds_export_removed_details_validator = ( LegalHoldsExportRemovedDetails_validator ) EventDetails._legal_holds_release_a_hold_details_validator = LegalHoldsReleaseAHoldDetails_validator EventDetails._legal_holds_remove_members_details_validator = ( LegalHoldsRemoveMembersDetails_validator ) EventDetails._legal_holds_report_a_hold_details_validator = LegalHoldsReportAHoldDetails_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_sync_backup_status_changed_details_validator = ( DeviceSyncBackupStatusChangedDetails_validator ) EventDetails._device_unlink_details_validator = DeviceUnlinkDetails_validator EventDetails._dropbox_passwords_exported_details_validator = ( DropboxPasswordsExportedDetails_validator ) EventDetails._dropbox_passwords_new_device_enrolled_details_validator = ( DropboxPasswordsNewDeviceEnrolledDetails_validator ) EventDetails._emm_refresh_auth_token_details_validator = EmmRefreshAuthTokenDetails_validator EventDetails._external_drive_backup_eligibility_status_checked_details_validator = ( ExternalDriveBackupEligibilityStatusCheckedDetails_validator ) EventDetails._external_drive_backup_status_changed_details_validator = ( ExternalDriveBackupStatusChangedDetails_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._encrypted_folder_cancel_team_key_rotation_details_validator = ( EncryptedFolderCancelTeamKeyRotationDetails_validator ) EventDetails._encrypted_folder_enroll_backup_key_details_validator = ( EncryptedFolderEnrollBackupKeyDetails_validator ) EventDetails._encrypted_folder_enroll_client_details_validator = ( EncryptedFolderEnrollClientDetails_validator ) EventDetails._encrypted_folder_enroll_team_details_validator = ( EncryptedFolderEnrollTeamDetails_validator ) EventDetails._encrypted_folder_finish_team_unenrollment_details_validator = ( EncryptedFolderFinishTeamUnenrollmentDetails_validator ) EventDetails._encrypted_folder_init_team_key_rotation_details_validator = ( EncryptedFolderInitTeamKeyRotationDetails_validator ) EventDetails._encrypted_folder_init_team_unenrollment_details_validator = ( EncryptedFolderInitTeamUnenrollmentDetails_validator ) EventDetails._encrypted_folder_remove_backup_key_details_validator = ( EncryptedFolderRemoveBackupKeyDetails_validator ) EventDetails._encrypted_folder_rotate_team_key_details_validator = ( EncryptedFolderRotateTeamKeyDetails_validator ) EventDetails._encrypted_folder_unenroll_client_details_validator = ( EncryptedFolderUnenrollClientDetails_validator ) EventDetails._team_encryption_key_activate_key_details_validator = ( TeamEncryptionKeyActivateKeyDetails_validator ) EventDetails._team_encryption_key_cancel_key_deletion_details_validator = ( TeamEncryptionKeyCancelKeyDeletionDetails_validator ) EventDetails._team_encryption_key_create_key_details_validator = ( TeamEncryptionKeyCreateKeyDetails_validator ) EventDetails._team_encryption_key_deactivate_key_details_validator = ( TeamEncryptionKeyDeactivateKeyDetails_validator ) EventDetails._team_encryption_key_delete_key_details_validator = ( TeamEncryptionKeyDeleteKeyDetails_validator ) EventDetails._team_encryption_key_disable_key_details_validator = ( TeamEncryptionKeyDisableKeyDetails_validator ) EventDetails._team_encryption_key_enable_key_details_validator = ( TeamEncryptionKeyEnableKeyDetails_validator ) EventDetails._team_encryption_key_rotate_key_details_validator = ( TeamEncryptionKeyRotateKeyDetails_validator ) EventDetails._team_encryption_key_schedule_key_deletion_details_validator = ( TeamEncryptionKeyScheduleKeyDeletionDetails_validator ) EventDetails._apply_naming_convention_details_validator = ApplyNamingConventionDetails_validator EventDetails._create_folder_details_validator = CreateFolderDetails_validator EventDetails._file_add_details_validator = FileAddDetails_validator EventDetails._file_add_from_automation_details_validator = FileAddFromAutomationDetails_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_locking_lock_status_changed_details_validator = ( FileLockingLockStatusChangedDetails_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._folder_overview_description_changed_details_validator = ( FolderOverviewDescriptionChangedDetails_validator ) EventDetails._folder_overview_item_pinned_details_validator = ( FolderOverviewItemPinnedDetails_validator ) EventDetails._folder_overview_item_unpinned_details_validator = ( FolderOverviewItemUnpinnedDetails_validator ) EventDetails._media_hub_file_downloaded_details_validator = MediaHubFileDownloadedDetails_validator EventDetails._object_label_added_details_validator = ObjectLabelAddedDetails_validator EventDetails._object_label_removed_details_validator = ObjectLabelRemovedDetails_validator EventDetails._object_label_updated_value_details_validator = ( ObjectLabelUpdatedValueDetails_validator ) EventDetails._organize_folder_with_tidy_details_validator = OrganizeFolderWithTidyDetails_validator EventDetails._replay_file_delete_details_validator = ReplayFileDeleteDetails_validator EventDetails._replay_file_downloaded_details_validator = ReplayFileDownloadedDetails_validator EventDetails._replay_team_project_created_details_validator = ( ReplayTeamProjectCreatedDetails_validator ) EventDetails._rewind_folder_details_validator = RewindFolderDetails_validator EventDetails._undo_naming_convention_details_validator = UndoNamingConventionDetails_validator EventDetails._undo_organize_folder_with_tidy_details_validator = ( UndoOrganizeFolderWithTidyDetails_validator ) EventDetails._user_tags_added_details_validator = UserTagsAddedDetails_validator EventDetails._user_tags_removed_details_validator = UserTagsRemovedDetails_validator EventDetails._email_ingest_receive_file_details_validator = EmailIngestReceiveFileDetails_validator EventDetails._file_request_auto_close_details_validator = FileRequestAutoCloseDetails_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_external_sharing_setting_override_changed_details_validator = ( GroupExternalSharingSettingOverrideChangedDetails_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._account_lock_or_unlocked_details_validator = AccountLockOrUnlockedDetails_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._addon_assigned_details_validator = AddonAssignedDetails_validator EventDetails._addon_removed_details_validator = AddonRemovedDetails_validator EventDetails._backup_admin_invitation_sent_details_validator = ( BackupAdminInvitationSentDetails_validator ) EventDetails._backup_invitation_opened_details_validator = BackupInvitationOpenedDetails_validator EventDetails._create_team_invite_link_details_validator = CreateTeamInviteLinkDetails_validator EventDetails._delete_team_invite_link_details_validator = DeleteTeamInviteLinkDetails_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_reseller_role_details_validator = ( MemberChangeResellerRoleDetails_validator ) EventDetails._member_change_status_details_validator = MemberChangeStatusDetails_validator EventDetails._member_delete_manual_contacts_details_validator = ( MemberDeleteManualContactsDetails_validator ) EventDetails._member_delete_profile_photo_details_validator = ( MemberDeleteProfilePhotoDetails_validator ) EventDetails._member_permanently_delete_account_contents_details_validator = ( MemberPermanentlyDeleteAccountContentsDetails_validator ) EventDetails._member_remove_external_id_details_validator = MemberRemoveExternalIdDetails_validator EventDetails._member_set_profile_photo_details_validator = MemberSetProfilePhotoDetails_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._pending_secondary_email_added_details_validator = ( PendingSecondaryEmailAddedDetails_validator ) EventDetails._product_assigned_to_member_details_validator = ( ProductAssignedToMemberDetails_validator ) EventDetails._product_removed_from_member_details_validator = ( ProductRemovedFromMemberDetails_validator ) EventDetails._secondary_email_deleted_details_validator = SecondaryEmailDeletedDetails_validator EventDetails._secondary_email_verified_details_validator = SecondaryEmailVerifiedDetails_validator EventDetails._secondary_mails_policy_changed_details_validator = ( SecondaryMailsPolicyChangedDetails_validator ) EventDetails._binder_add_page_details_validator = BinderAddPageDetails_validator EventDetails._binder_add_section_details_validator = BinderAddSectionDetails_validator EventDetails._binder_remove_page_details_validator = BinderRemovePageDetails_validator EventDetails._binder_remove_section_details_validator = BinderRemoveSectionDetails_validator EventDetails._binder_rename_page_details_validator = BinderRenamePageDetails_validator EventDetails._binder_rename_section_details_validator = BinderRenameSectionDetails_validator EventDetails._binder_reorder_page_details_validator = BinderReorderPageDetails_validator EventDetails._binder_reorder_section_details_validator = BinderReorderSectionDetails_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_change_permission_details_validator = ( PaperPublishedLinkChangePermissionDetails_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._protect_internal_domains_changed_details_validator = ( ProtectInternalDomainsChangedDetails_validator ) EventDetails._classification_create_report_details_validator = ( ClassificationCreateReportDetails_validator ) EventDetails._classification_create_report_fail_details_validator = ( ClassificationCreateReportFailDetails_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._export_members_report_fail_details_validator = ( ExportMembersReportFailDetails_validator ) EventDetails._external_sharing_create_report_details_validator = ( ExternalSharingCreateReportDetails_validator ) EventDetails._external_sharing_report_failed_details_validator = ( ExternalSharingReportFailedDetails_validator ) EventDetails._member_access_details_create_report_details_validator = ( MemberAccessDetailsCreateReportDetails_validator ) EventDetails._member_access_details_create_report_failed_details_validator = ( MemberAccessDetailsCreateReportFailedDetails_validator ) EventDetails._no_expiration_link_gen_create_report_details_validator = ( NoExpirationLinkGenCreateReportDetails_validator ) EventDetails._no_expiration_link_gen_report_failed_details_validator = ( NoExpirationLinkGenReportFailedDetails_validator ) EventDetails._no_password_link_gen_create_report_details_validator = ( NoPasswordLinkGenCreateReportDetails_validator ) EventDetails._no_password_link_gen_report_failed_details_validator = ( NoPasswordLinkGenReportFailedDetails_validator ) EventDetails._no_password_link_view_create_report_details_validator = ( NoPasswordLinkViewCreateReportDetails_validator ) EventDetails._no_password_link_view_report_failed_details_validator = ( NoPasswordLinkViewReportFailedDetails_validator ) EventDetails._outdated_link_view_create_report_details_validator = ( OutdatedLinkViewCreateReportDetails_validator ) EventDetails._outdated_link_view_report_failed_details_validator = ( OutdatedLinkViewReportFailedDetails_validator ) EventDetails._paper_admin_export_start_details_validator = PaperAdminExportStartDetails_validator EventDetails._ransomware_alert_create_report_details_validator = ( RansomwareAlertCreateReportDetails_validator ) EventDetails._ransomware_alert_create_report_failed_details_validator = ( RansomwareAlertCreateReportFailedDetails_validator ) EventDetails._shared_folders_create_report_details_validator = ( SharedFoldersCreateReportDetails_validator ) EventDetails._shared_folders_create_report_failed_details_validator = ( SharedFoldersCreateReportFailedDetails_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._team_folders_create_report_details_validator = ( TeamFoldersCreateReportDetails_validator ) EventDetails._team_folders_create_report_failed_details_validator = ( TeamFoldersCreateReportFailedDetails_validator ) EventDetails._team_storage_create_report_details_validator = ( TeamStorageCreateReportDetails_validator ) EventDetails._team_storage_create_report_failed_details_validator = ( TeamStorageCreateReportFailedDetails_validator ) EventDetails._collection_share_details_validator = CollectionShareDetails_validator EventDetails._file_transfers_file_add_details_validator = FileTransfersFileAddDetails_validator EventDetails._file_transfers_transfer_delete_details_validator = ( FileTransfersTransferDeleteDetails_validator ) EventDetails._file_transfers_transfer_download_details_validator = ( FileTransfersTransferDownloadDetails_validator ) EventDetails._file_transfers_transfer_send_details_validator = ( FileTransfersTransferSendDetails_validator ) EventDetails._file_transfers_transfer_view_details_validator = ( FileTransfersTransferViewDetails_validator ) EventDetails._media_hub_project_team_add_details_validator = MediaHubProjectTeamAddDetails_validator EventDetails._media_hub_project_team_delete_details_validator = ( MediaHubProjectTeamDeleteDetails_validator ) EventDetails._media_hub_project_team_role_changed_details_validator = ( MediaHubProjectTeamRoleChangedDetails_validator ) EventDetails._media_hub_shared_link_audience_changed_details_validator = ( MediaHubSharedLinkAudienceChangedDetails_validator ) EventDetails._media_hub_shared_link_created_details_validator = ( MediaHubSharedLinkCreatedDetails_validator ) EventDetails._media_hub_shared_link_download_setting_changed_details_validator = ( MediaHubSharedLinkDownloadSettingChangedDetails_validator ) EventDetails._media_hub_shared_link_revoked_details_validator = ( MediaHubSharedLinkRevokedDetails_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._replay_file_shared_link_created_details_validator = ( ReplayFileSharedLinkCreatedDetails_validator ) EventDetails._replay_file_shared_link_modified_details_validator = ( ReplayFileSharedLinkModifiedDetails_validator ) EventDetails._replay_project_team_add_details_validator = ReplayProjectTeamAddDetails_validator EventDetails._replay_project_team_delete_details_validator = ( ReplayProjectTeamDeleteDetails_validator ) EventDetails._send_and_track_file_added_details_validator = SendAndTrackFileAddedDetails_validator EventDetails._send_and_track_file_renamed_details_validator = ( SendAndTrackFileRenamedDetails_validator ) EventDetails._send_and_track_file_updated_details_validator = ( SendAndTrackFileUpdatedDetails_validator ) EventDetails._send_and_track_link_created_details_validator = ( SendAndTrackLinkCreatedDetails_validator ) EventDetails._send_and_track_link_deleted_details_validator = ( SendAndTrackLinkDeletedDetails_validator ) EventDetails._send_and_track_link_updated_details_validator = ( SendAndTrackLinkUpdatedDetails_validator ) EventDetails._send_and_track_link_viewed_details_validator = SendAndTrackLinkViewedDetails_validator EventDetails._send_and_track_removed_file_and_associated_links_details_validator = ( SendAndTrackRemovedFileAndAssociatedLinksDetails_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_restore_invitees_details_validator = ( SharedContentRestoreInviteesDetails_validator ) EventDetails._shared_content_restore_member_details_validator = ( SharedContentRestoreMemberDetails_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_remove_visitor_details_validator = ( SharedLinkRemoveVisitorDetails_validator ) EventDetails._shared_link_settings_add_expiration_details_validator = ( SharedLinkSettingsAddExpirationDetails_validator ) EventDetails._shared_link_settings_add_password_details_validator = ( SharedLinkSettingsAddPasswordDetails_validator ) EventDetails._shared_link_settings_allow_download_disabled_details_validator = ( SharedLinkSettingsAllowDownloadDisabledDetails_validator ) EventDetails._shared_link_settings_allow_download_enabled_details_validator = ( SharedLinkSettingsAllowDownloadEnabledDetails_validator ) EventDetails._shared_link_settings_change_audience_details_validator = ( SharedLinkSettingsChangeAudienceDetails_validator ) EventDetails._shared_link_settings_change_expiration_details_validator = ( SharedLinkSettingsChangeExpirationDetails_validator ) EventDetails._shared_link_settings_change_password_details_validator = ( SharedLinkSettingsChangePasswordDetails_validator ) EventDetails._shared_link_settings_remove_expiration_details_validator = ( SharedLinkSettingsRemoveExpirationDetails_validator ) EventDetails._shared_link_settings_remove_password_details_validator = ( SharedLinkSettingsRemovePasswordDetails_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_disable_downloads_details_validator = ShmodelDisableDownloadsDetails_validator EventDetails._shmodel_enable_downloads_details_validator = ShmodelEnableDownloadsDetails_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._sign_signature_request_canceled_details_validator = ( SignSignatureRequestCanceledDetails_validator ) EventDetails._sign_signature_request_completed_details_validator = ( SignSignatureRequestCompletedDetails_validator ) EventDetails._sign_signature_request_declined_details_validator = ( SignSignatureRequestDeclinedDetails_validator ) EventDetails._sign_signature_request_opened_details_validator = ( SignSignatureRequestOpenedDetails_validator ) EventDetails._sign_signature_request_reminder_sent_details_validator = ( SignSignatureRequestReminderSentDetails_validator ) EventDetails._sign_signature_request_sent_details_validator = ( SignSignatureRequestSentDetails_validator ) EventDetails._sign_template_created_details_validator = SignTemplateCreatedDetails_validator EventDetails._sign_template_shared_details_validator = SignTemplateSharedDetails_validator EventDetails._risc_security_event_details_validator = RiscSecurityEventDetails_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_folder_space_limits_change_caps_type_details_validator = ( TeamFolderSpaceLimitsChangeCapsTypeDetails_validator ) EventDetails._team_folder_space_limits_change_limit_details_validator = ( TeamFolderSpaceLimitsChangeLimitDetails_validator ) EventDetails._team_folder_space_limits_change_notification_target_details_validator = ( TeamFolderSpaceLimitsChangeNotificationTargetDetails_validator ) EventDetails._team_selective_sync_settings_changed_details_validator = ( TeamSelectiveSyncSettingsChangedDetails_validator ) EventDetails._account_capture_change_policy_details_validator = ( AccountCaptureChangePolicyDetails_validator ) EventDetails._admin_email_reminders_changed_details_validator = ( AdminEmailRemindersChangedDetails_validator ) EventDetails._ai_third_party_sharing_dropbox_base_policy_changed_details_validator = ( AiThirdPartySharingDropboxBasePolicyChangedDetails_validator ) EventDetails._allow_download_disabled_details_validator = AllowDownloadDisabledDetails_validator EventDetails._allow_download_enabled_details_validator = AllowDownloadEnabledDetails_validator EventDetails._apple_login_change_policy_details_validator = AppleLoginChangePolicyDetails_validator EventDetails._app_permissions_changed_details_validator = AppPermissionsChangedDetails_validator EventDetails._camera_uploads_policy_changed_details_validator = ( CameraUploadsPolicyChangedDetails_validator ) EventDetails._capture_team_space_policy_changed_details_validator = ( CaptureTeamSpacePolicyChangedDetails_validator ) EventDetails._capture_transcript_policy_changed_details_validator = ( CaptureTranscriptPolicyChangedDetails_validator ) EventDetails._classification_change_policy_details_validator = ( ClassificationChangePolicyDetails_validator ) EventDetails._computer_backup_policy_changed_details_validator = ( ComputerBackupPolicyChangedDetails_validator ) EventDetails._content_administration_policy_changed_details_validator = ( ContentAdministrationPolicyChangedDetails_validator ) EventDetails._content_deletion_protection_change_policy_details_validator = ( ContentDeletionProtectionChangePolicyDetails_validator ) EventDetails._dash_external_sharing_policy_changed_details_validator = ( DashExternalSharingPolicyChangedDetails_validator ) EventDetails._data_placement_restriction_change_policy_details_validator = ( DataPlacementRestrictionChangePolicyDetails_validator ) EventDetails._data_placement_restriction_satisfy_policy_details_validator = ( DataPlacementRestrictionSatisfyPolicyDetails_validator ) EventDetails._device_approvals_add_exception_details_validator = ( DeviceApprovalsAddExceptionDetails_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._device_approvals_remove_exception_details_validator = ( DeviceApprovalsRemoveExceptionDetails_validator ) EventDetails._directory_restrictions_add_members_details_validator = ( DirectoryRestrictionsAddMembersDetails_validator ) EventDetails._directory_restrictions_remove_members_details_validator = ( DirectoryRestrictionsRemoveMembersDetails_validator ) EventDetails._dropbox_passwords_policy_changed_details_validator = ( DropboxPasswordsPolicyChangedDetails_validator ) EventDetails._email_ingest_policy_changed_details_validator = ( EmailIngestPolicyChangedDetails_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._external_drive_backup_policy_changed_details_validator = ( ExternalDriveBackupPolicyChangedDetails_validator ) EventDetails._file_comments_change_policy_details_validator = ( FileCommentsChangePolicyDetails_validator ) EventDetails._file_locking_policy_changed_details_validator = ( FileLockingPolicyChangedDetails_validator ) EventDetails._file_provider_migration_policy_changed_details_validator = ( FileProviderMigrationPolicyChangedDetails_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._file_transfers_policy_changed_details_validator = ( FileTransfersPolicyChangedDetails_validator ) EventDetails._flexible_file_names_policy_changed_details_validator = ( FlexibleFileNamesPolicyChangedDetails_validator ) EventDetails._folder_link_restriction_policy_changed_details_validator = ( FolderLinkRestrictionPolicyChangedDetails_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._invite_acceptance_email_policy_changed_details_validator = ( InviteAcceptanceEmailPolicyChangedDetails_validator ) EventDetails._media_hub_adding_people_policy_changed_details_validator = ( MediaHubAddingPeoplePolicyChangedDetails_validator ) EventDetails._media_hub_download_policy_changed_details_validator = ( MediaHubDownloadPolicyChangedDetails_validator ) EventDetails._media_hub_link_sharing_policy_changed_details_validator = ( MediaHubLinkSharingPolicyChangedDetails_validator ) EventDetails._member_requests_change_policy_details_validator = ( MemberRequestsChangePolicyDetails_validator ) EventDetails._member_send_invite_policy_changed_details_validator = ( MemberSendInvitePolicyChangedDetails_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_login_change_policy_details_validator = ( MicrosoftLoginChangePolicyDetails_validator ) EventDetails._microsoft_office_addin_change_policy_details_validator = ( MicrosoftOfficeAddinChangePolicyDetails_validator ) EventDetails._multi_team_identity_policy_changed_details_validator = ( MultiTeamIdentityPolicyChangedDetails_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._passkey_login_policy_changed_details_validator = ( PasskeyLoginPolicyChangedDetails_validator ) EventDetails._password_strength_requirements_change_policy_details_validator = ( PasswordStrengthRequirementsChangePolicyDetails_validator ) EventDetails._permanent_delete_change_policy_details_validator = ( PermanentDeleteChangePolicyDetails_validator ) EventDetails._previews_ai_policy_changed_details_validator = ( PreviewsAiPolicyChangedDetails_validator ) EventDetails._replay_adding_people_policy_changed_details_validator = ( ReplayAddingPeoplePolicyChangedDetails_validator ) EventDetails._replay_sharing_policy_changed_details_validator = ( ReplaySharingPolicyChangedDetails_validator ) EventDetails._reseller_support_change_policy_details_validator = ( ResellerSupportChangePolicyDetails_validator ) EventDetails._rewind_policy_changed_details_validator = RewindPolicyChangedDetails_validator EventDetails._send_and_track_policy_changed_details_validator = ( SendAndTrackPolicyChangedDetails_validator ) EventDetails._send_external_sharing_policy_changed_details_validator = ( SendExternalSharingPolicyChangedDetails_validator ) EventDetails._send_for_signature_policy_changed_details_validator = ( SendForSignaturePolicyChangedDetails_validator ) EventDetails._shared_link_default_permissions_policy_changed_details_validator = ( SharedLinkDefaultPermissionsPolicyChangedDetails_validator ) EventDetails._sharing_change_folder_join_policy_details_validator = ( SharingChangeFolderJoinPolicyDetails_validator ) EventDetails._sharing_change_link_allow_change_expiration_policy_details_validator = ( SharingChangeLinkAllowChangeExpirationPolicyDetails_validator ) EventDetails._sharing_change_link_default_expiration_policy_details_validator = ( SharingChangeLinkDefaultExpirationPolicyDetails_validator ) EventDetails._sharing_change_link_enforce_password_policy_details_validator = ( SharingChangeLinkEnforcePasswordPolicyDetails_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._sign_external_sharing_policy_changed_details_validator = ( SignExternalSharingPolicyChangedDetails_validator ) EventDetails._sign_template_creation_permission_changed_details_validator = ( SignTemplateCreationPermissionChangedDetails_validator ) EventDetails._smarter_smart_sync_policy_changed_details_validator = ( SmarterSmartSyncPolicyChangedDetails_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._stack_cross_team_access_policy_changed_details_validator = ( StackCrossTeamAccessPolicyChangedDetails_validator ) EventDetails._team_branding_policy_changed_details_validator = ( TeamBrandingPolicyChangedDetails_validator ) EventDetails._team_extensions_policy_changed_details_validator = ( TeamExtensionsPolicyChangedDetails_validator ) EventDetails._team_member_storage_request_policy_changed_details_validator = ( TeamMemberStorageRequestPolicyChangedDetails_validator ) EventDetails._team_selective_sync_policy_changed_details_validator = ( TeamSelectiveSyncPolicyChangedDetails_validator ) EventDetails._team_sharing_whitelist_subjects_changed_details_validator = ( TeamSharingWhitelistSubjectsChangedDetails_validator ) EventDetails._tfa_add_exception_details_validator = TfaAddExceptionDetails_validator EventDetails._tfa_change_policy_details_validator = TfaChangePolicyDetails_validator EventDetails._tfa_remove_exception_details_validator = TfaRemoveExceptionDetails_validator EventDetails._top_level_content_policy_changed_details_validator = ( TopLevelContentPolicyChangedDetails_validator ) EventDetails._two_account_change_policy_details_validator = TwoAccountChangePolicyDetails_validator EventDetails._viewer_info_policy_changed_details_validator = ( ViewerInfoPolicyChangedDetails_validator ) EventDetails._watermarking_policy_changed_details_validator = ( WatermarkingPolicyChangedDetails_validator ) EventDetails._web_sessions_change_active_session_limit_details_validator = ( WebSessionsChangeActiveSessionLimitDetails_validator ) EventDetails._web_sessions_change_fixed_length_policy_details_validator = ( WebSessionsChangeFixedLengthPolicyDetails_validator ) EventDetails._web_sessions_change_idle_length_policy_details_validator = ( WebSessionsChangeIdleLengthPolicyDetails_validator ) EventDetails._data_residency_migration_request_successful_details_validator = ( DataResidencyMigrationRequestSuccessfulDetails_validator ) EventDetails._data_residency_migration_request_unsuccessful_details_validator = ( DataResidencyMigrationRequestUnsuccessfulDetails_validator ) EventDetails._team_merge_from_details_validator = TeamMergeFromDetails_validator EventDetails._team_merge_to_details_validator = TeamMergeToDetails_validator EventDetails._team_profile_add_background_details_validator = ( TeamProfileAddBackgroundDetails_validator ) EventDetails._team_profile_add_logo_details_validator = TeamProfileAddLogoDetails_validator EventDetails._team_profile_change_background_details_validator = ( TeamProfileChangeBackgroundDetails_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_background_details_validator = ( TeamProfileRemoveBackgroundDetails_validator ) EventDetails._team_profile_remove_logo_details_validator = TeamProfileRemoveLogoDetails_validator EventDetails._passkey_add_details_validator = PasskeyAddDetails_validator EventDetails._passkey_remove_details_validator = PasskeyRemoveDetails_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._changed_enterprise_admin_role_details_validator = ( ChangedEnterpriseAdminRoleDetails_validator ) EventDetails._changed_enterprise_connected_team_status_details_validator = ( ChangedEnterpriseConnectedTeamStatusDetails_validator ) EventDetails._ended_enterprise_admin_session_details_validator = ( EndedEnterpriseAdminSessionDetails_validator ) EventDetails._ended_enterprise_admin_session_deprecated_details_validator = ( EndedEnterpriseAdminSessionDeprecatedDetails_validator ) EventDetails._enterprise_settings_locking_details_validator = ( EnterpriseSettingsLockingDetails_validator ) EventDetails._guest_admin_change_status_details_validator = GuestAdminChangeStatusDetails_validator EventDetails._started_enterprise_admin_session_details_validator = ( StartedEnterpriseAdminSessionDetails_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 = { "admin_alerting_alert_state_changed_details": EventDetails._admin_alerting_alert_state_changed_details_validator, "admin_alerting_changed_alert_config_details": EventDetails._admin_alerting_changed_alert_config_details_validator, "admin_alerting_triggered_alert_details": EventDetails._admin_alerting_triggered_alert_details_validator, "ransomware_restore_process_completed_details": EventDetails._ransomware_restore_process_completed_details_validator, "ransomware_restore_process_started_details": EventDetails._ransomware_restore_process_started_details_validator, "app_blocked_by_permissions_details": EventDetails._app_blocked_by_permissions_details_validator, "app_link_team_details": EventDetails._app_link_team_details_validator, "app_link_user_details": EventDetails._app_link_user_details_validator, "app_unlink_team_details": EventDetails._app_unlink_team_details_validator, "app_unlink_user_details": EventDetails._app_unlink_user_details_validator, "integration_connected_details": EventDetails._integration_connected_details_validator, "integration_disconnected_details": EventDetails._integration_disconnected_details_validator, "file_add_comment_details": EventDetails._file_add_comment_details_validator, "file_change_comment_subscription_details": EventDetails._file_change_comment_subscription_details_validator, "file_delete_comment_details": EventDetails._file_delete_comment_details_validator, "file_edit_comment_details": EventDetails._file_edit_comment_details_validator, "file_like_comment_details": EventDetails._file_like_comment_details_validator, "file_resolve_comment_details": EventDetails._file_resolve_comment_details_validator, "file_unlike_comment_details": EventDetails._file_unlike_comment_details_validator, "file_unresolve_comment_details": EventDetails._file_unresolve_comment_details_validator, "dash_added_comment_to_stack_details": EventDetails._dash_added_comment_to_stack_details_validator, "dash_added_connector_details": EventDetails._dash_added_connector_details_validator, "dash_added_link_to_stack_details": EventDetails._dash_added_link_to_stack_details_validator, "dash_added_team_email_domain_allowlist_details": EventDetails._dash_added_team_email_domain_allowlist_details_validator, "dash_admin_added_org_wide_connector_details": EventDetails._dash_admin_added_org_wide_connector_details_validator, "dash_admin_disabled_connector_details": EventDetails._dash_admin_disabled_connector_details_validator, "dash_admin_enabled_connector_details": EventDetails._dash_admin_enabled_connector_details_validator, "dash_admin_removed_org_wide_connector_details": EventDetails._dash_admin_removed_org_wide_connector_details_validator, "dash_archived_stack_details": EventDetails._dash_archived_stack_details_validator, "dash_changed_audience_of_shared_link_to_stack_details": EventDetails._dash_changed_audience_of_shared_link_to_stack_details_validator, "dash_cloned_stack_details": EventDetails._dash_cloned_stack_details_validator, "dash_connector_tools_call_details": EventDetails._dash_connector_tools_call_details_validator, "dash_created_stack_details": EventDetails._dash_created_stack_details_validator, "dash_deleted_comment_from_stack_details": EventDetails._dash_deleted_comment_from_stack_details_validator, "dash_deleted_stack_details": EventDetails._dash_deleted_stack_details_validator, "dash_edited_comment_in_stack_details": EventDetails._dash_edited_comment_in_stack_details_validator, "dash_external_user_opened_stack_details": EventDetails._dash_external_user_opened_stack_details_validator, "dash_first_launched_desktop_details": EventDetails._dash_first_launched_desktop_details_validator, "dash_first_launched_extension_details": EventDetails._dash_first_launched_extension_details_validator, "dash_first_launched_web_start_page_details": EventDetails._dash_first_launched_web_start_page_details_validator, "dash_opened_shared_link_to_stack_details": EventDetails._dash_opened_shared_link_to_stack_details_validator, "dash_opened_stack_details": EventDetails._dash_opened_stack_details_validator, "dash_preview_opt_out_status_changed_details": EventDetails._dash_preview_opt_out_status_changed_details_validator, "dash_removed_connector_details": EventDetails._dash_removed_connector_details_validator, "dash_removed_link_from_stack_details": EventDetails._dash_removed_link_from_stack_details_validator, "dash_removed_shared_link_to_stack_details": EventDetails._dash_removed_shared_link_to_stack_details_validator, "dash_removed_team_email_domain_allowlist_details": EventDetails._dash_removed_team_email_domain_allowlist_details_validator, "dash_renamed_stack_details": EventDetails._dash_renamed_stack_details_validator, "dash_shared_link_to_stack_details": EventDetails._dash_shared_link_to_stack_details_validator, "dash_unarchived_stack_details": EventDetails._dash_unarchived_stack_details_validator, "dash_viewed_company_stack_details": EventDetails._dash_viewed_company_stack_details_validator, "dash_viewed_external_ai_activity_report_details": EventDetails._dash_viewed_external_ai_activity_report_details_validator, "governance_policy_add_folders_details": EventDetails._governance_policy_add_folders_details_validator, "governance_policy_add_folder_failed_details": EventDetails._governance_policy_add_folder_failed_details_validator, "governance_policy_content_disposed_details": EventDetails._governance_policy_content_disposed_details_validator, "governance_policy_create_details": EventDetails._governance_policy_create_details_validator, "governance_policy_delete_details": EventDetails._governance_policy_delete_details_validator, "governance_policy_edit_details_details": EventDetails._governance_policy_edit_details_details_validator, "governance_policy_edit_duration_details": EventDetails._governance_policy_edit_duration_details_validator, "governance_policy_export_created_details": EventDetails._governance_policy_export_created_details_validator, "governance_policy_export_removed_details": EventDetails._governance_policy_export_removed_details_validator, "governance_policy_remove_folders_details": EventDetails._governance_policy_remove_folders_details_validator, "governance_policy_report_created_details": EventDetails._governance_policy_report_created_details_validator, "governance_policy_zip_part_downloaded_details": EventDetails._governance_policy_zip_part_downloaded_details_validator, "legal_holds_activate_a_hold_details": EventDetails._legal_holds_activate_a_hold_details_validator, "legal_holds_add_members_details": EventDetails._legal_holds_add_members_details_validator, "legal_holds_change_hold_details_details": EventDetails._legal_holds_change_hold_details_details_validator, "legal_holds_change_hold_name_details": EventDetails._legal_holds_change_hold_name_details_validator, "legal_holds_export_a_hold_details": EventDetails._legal_holds_export_a_hold_details_validator, "legal_holds_export_cancelled_details": EventDetails._legal_holds_export_cancelled_details_validator, "legal_holds_export_downloaded_details": EventDetails._legal_holds_export_downloaded_details_validator, "legal_holds_export_removed_details": EventDetails._legal_holds_export_removed_details_validator, "legal_holds_release_a_hold_details": EventDetails._legal_holds_release_a_hold_details_validator, "legal_holds_remove_members_details": EventDetails._legal_holds_remove_members_details_validator, "legal_holds_report_a_hold_details": EventDetails._legal_holds_report_a_hold_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_sync_backup_status_changed_details": EventDetails._device_sync_backup_status_changed_details_validator, "device_unlink_details": EventDetails._device_unlink_details_validator, "dropbox_passwords_exported_details": EventDetails._dropbox_passwords_exported_details_validator, "dropbox_passwords_new_device_enrolled_details": EventDetails._dropbox_passwords_new_device_enrolled_details_validator, "emm_refresh_auth_token_details": EventDetails._emm_refresh_auth_token_details_validator, "external_drive_backup_eligibility_status_checked_details": EventDetails._external_drive_backup_eligibility_status_checked_details_validator, "external_drive_backup_status_changed_details": EventDetails._external_drive_backup_status_changed_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, "encrypted_folder_cancel_team_key_rotation_details": EventDetails._encrypted_folder_cancel_team_key_rotation_details_validator, "encrypted_folder_enroll_backup_key_details": EventDetails._encrypted_folder_enroll_backup_key_details_validator, "encrypted_folder_enroll_client_details": EventDetails._encrypted_folder_enroll_client_details_validator, "encrypted_folder_enroll_team_details": EventDetails._encrypted_folder_enroll_team_details_validator, "encrypted_folder_finish_team_unenrollment_details": EventDetails._encrypted_folder_finish_team_unenrollment_details_validator, "encrypted_folder_init_team_key_rotation_details": EventDetails._encrypted_folder_init_team_key_rotation_details_validator, "encrypted_folder_init_team_unenrollment_details": EventDetails._encrypted_folder_init_team_unenrollment_details_validator, "encrypted_folder_remove_backup_key_details": EventDetails._encrypted_folder_remove_backup_key_details_validator, "encrypted_folder_rotate_team_key_details": EventDetails._encrypted_folder_rotate_team_key_details_validator, "encrypted_folder_unenroll_client_details": EventDetails._encrypted_folder_unenroll_client_details_validator, "team_encryption_key_activate_key_details": EventDetails._team_encryption_key_activate_key_details_validator, "team_encryption_key_cancel_key_deletion_details": EventDetails._team_encryption_key_cancel_key_deletion_details_validator, "team_encryption_key_create_key_details": EventDetails._team_encryption_key_create_key_details_validator, "team_encryption_key_deactivate_key_details": EventDetails._team_encryption_key_deactivate_key_details_validator, "team_encryption_key_delete_key_details": EventDetails._team_encryption_key_delete_key_details_validator, "team_encryption_key_disable_key_details": EventDetails._team_encryption_key_disable_key_details_validator, "team_encryption_key_enable_key_details": EventDetails._team_encryption_key_enable_key_details_validator, "team_encryption_key_rotate_key_details": EventDetails._team_encryption_key_rotate_key_details_validator, "team_encryption_key_schedule_key_deletion_details": EventDetails._team_encryption_key_schedule_key_deletion_details_validator, "apply_naming_convention_details": EventDetails._apply_naming_convention_details_validator, "create_folder_details": EventDetails._create_folder_details_validator, "file_add_details": EventDetails._file_add_details_validator, "file_add_from_automation_details": EventDetails._file_add_from_automation_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_locking_lock_status_changed_details": EventDetails._file_locking_lock_status_changed_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, "folder_overview_description_changed_details": EventDetails._folder_overview_description_changed_details_validator, "folder_overview_item_pinned_details": EventDetails._folder_overview_item_pinned_details_validator, "folder_overview_item_unpinned_details": EventDetails._folder_overview_item_unpinned_details_validator, "media_hub_file_downloaded_details": EventDetails._media_hub_file_downloaded_details_validator, "object_label_added_details": EventDetails._object_label_added_details_validator, "object_label_removed_details": EventDetails._object_label_removed_details_validator, "object_label_updated_value_details": EventDetails._object_label_updated_value_details_validator, "organize_folder_with_tidy_details": EventDetails._organize_folder_with_tidy_details_validator, "replay_file_delete_details": EventDetails._replay_file_delete_details_validator, "replay_file_downloaded_details": EventDetails._replay_file_downloaded_details_validator, "replay_team_project_created_details": EventDetails._replay_team_project_created_details_validator, "rewind_folder_details": EventDetails._rewind_folder_details_validator, "undo_naming_convention_details": EventDetails._undo_naming_convention_details_validator, "undo_organize_folder_with_tidy_details": EventDetails._undo_organize_folder_with_tidy_details_validator, "user_tags_added_details": EventDetails._user_tags_added_details_validator, "user_tags_removed_details": EventDetails._user_tags_removed_details_validator, "email_ingest_receive_file_details": EventDetails._email_ingest_receive_file_details_validator, "file_request_auto_close_details": EventDetails._file_request_auto_close_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_external_sharing_setting_override_changed_details": EventDetails._group_external_sharing_setting_override_changed_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, "account_lock_or_unlocked_details": EventDetails._account_lock_or_unlocked_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, "addon_assigned_details": EventDetails._addon_assigned_details_validator, "addon_removed_details": EventDetails._addon_removed_details_validator, "backup_admin_invitation_sent_details": EventDetails._backup_admin_invitation_sent_details_validator, "backup_invitation_opened_details": EventDetails._backup_invitation_opened_details_validator, "create_team_invite_link_details": EventDetails._create_team_invite_link_details_validator, "delete_team_invite_link_details": EventDetails._delete_team_invite_link_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_reseller_role_details": EventDetails._member_change_reseller_role_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_delete_profile_photo_details": EventDetails._member_delete_profile_photo_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_set_profile_photo_details": EventDetails._member_set_profile_photo_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, "pending_secondary_email_added_details": EventDetails._pending_secondary_email_added_details_validator, "product_assigned_to_member_details": EventDetails._product_assigned_to_member_details_validator, "product_removed_from_member_details": EventDetails._product_removed_from_member_details_validator, "secondary_email_deleted_details": EventDetails._secondary_email_deleted_details_validator, "secondary_email_verified_details": EventDetails._secondary_email_verified_details_validator, "secondary_mails_policy_changed_details": EventDetails._secondary_mails_policy_changed_details_validator, "binder_add_page_details": EventDetails._binder_add_page_details_validator, "binder_add_section_details": EventDetails._binder_add_section_details_validator, "binder_remove_page_details": EventDetails._binder_remove_page_details_validator, "binder_remove_section_details": EventDetails._binder_remove_section_details_validator, "binder_rename_page_details": EventDetails._binder_rename_page_details_validator, "binder_rename_section_details": EventDetails._binder_rename_section_details_validator, "binder_reorder_page_details": EventDetails._binder_reorder_page_details_validator, "binder_reorder_section_details": EventDetails._binder_reorder_section_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_change_permission_details": EventDetails._paper_published_link_change_permission_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, "protect_internal_domains_changed_details": EventDetails._protect_internal_domains_changed_details_validator, "classification_create_report_details": EventDetails._classification_create_report_details_validator, "classification_create_report_fail_details": EventDetails._classification_create_report_fail_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, "export_members_report_fail_details": EventDetails._export_members_report_fail_details_validator, "external_sharing_create_report_details": EventDetails._external_sharing_create_report_details_validator, "external_sharing_report_failed_details": EventDetails._external_sharing_report_failed_details_validator, "member_access_details_create_report_details": EventDetails._member_access_details_create_report_details_validator, "member_access_details_create_report_failed_details": EventDetails._member_access_details_create_report_failed_details_validator, "no_expiration_link_gen_create_report_details": EventDetails._no_expiration_link_gen_create_report_details_validator, "no_expiration_link_gen_report_failed_details": EventDetails._no_expiration_link_gen_report_failed_details_validator, "no_password_link_gen_create_report_details": EventDetails._no_password_link_gen_create_report_details_validator, "no_password_link_gen_report_failed_details": EventDetails._no_password_link_gen_report_failed_details_validator, "no_password_link_view_create_report_details": EventDetails._no_password_link_view_create_report_details_validator, "no_password_link_view_report_failed_details": EventDetails._no_password_link_view_report_failed_details_validator, "outdated_link_view_create_report_details": EventDetails._outdated_link_view_create_report_details_validator, "outdated_link_view_report_failed_details": EventDetails._outdated_link_view_report_failed_details_validator, "paper_admin_export_start_details": EventDetails._paper_admin_export_start_details_validator, "ransomware_alert_create_report_details": EventDetails._ransomware_alert_create_report_details_validator, "ransomware_alert_create_report_failed_details": EventDetails._ransomware_alert_create_report_failed_details_validator, "shared_folders_create_report_details": EventDetails._shared_folders_create_report_details_validator, "shared_folders_create_report_failed_details": EventDetails._shared_folders_create_report_failed_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, "team_folders_create_report_details": EventDetails._team_folders_create_report_details_validator, "team_folders_create_report_failed_details": EventDetails._team_folders_create_report_failed_details_validator, "team_storage_create_report_details": EventDetails._team_storage_create_report_details_validator, "team_storage_create_report_failed_details": EventDetails._team_storage_create_report_failed_details_validator, "collection_share_details": EventDetails._collection_share_details_validator, "file_transfers_file_add_details": EventDetails._file_transfers_file_add_details_validator, "file_transfers_transfer_delete_details": EventDetails._file_transfers_transfer_delete_details_validator, "file_transfers_transfer_download_details": EventDetails._file_transfers_transfer_download_details_validator, "file_transfers_transfer_send_details": EventDetails._file_transfers_transfer_send_details_validator, "file_transfers_transfer_view_details": EventDetails._file_transfers_transfer_view_details_validator, "media_hub_project_team_add_details": EventDetails._media_hub_project_team_add_details_validator, "media_hub_project_team_delete_details": EventDetails._media_hub_project_team_delete_details_validator, "media_hub_project_team_role_changed_details": EventDetails._media_hub_project_team_role_changed_details_validator, "media_hub_shared_link_audience_changed_details": EventDetails._media_hub_shared_link_audience_changed_details_validator, "media_hub_shared_link_created_details": EventDetails._media_hub_shared_link_created_details_validator, "media_hub_shared_link_download_setting_changed_details": EventDetails._media_hub_shared_link_download_setting_changed_details_validator, "media_hub_shared_link_revoked_details": EventDetails._media_hub_shared_link_revoked_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, "replay_file_shared_link_created_details": EventDetails._replay_file_shared_link_created_details_validator, "replay_file_shared_link_modified_details": EventDetails._replay_file_shared_link_modified_details_validator, "replay_project_team_add_details": EventDetails._replay_project_team_add_details_validator, "replay_project_team_delete_details": EventDetails._replay_project_team_delete_details_validator, "send_and_track_file_added_details": EventDetails._send_and_track_file_added_details_validator, "send_and_track_file_renamed_details": EventDetails._send_and_track_file_renamed_details_validator, "send_and_track_file_updated_details": EventDetails._send_and_track_file_updated_details_validator, "send_and_track_link_created_details": EventDetails._send_and_track_link_created_details_validator, "send_and_track_link_deleted_details": EventDetails._send_and_track_link_deleted_details_validator, "send_and_track_link_updated_details": EventDetails._send_and_track_link_updated_details_validator, "send_and_track_link_viewed_details": EventDetails._send_and_track_link_viewed_details_validator, "send_and_track_removed_file_and_associated_links_details": EventDetails._send_and_track_removed_file_and_associated_links_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_restore_invitees_details": EventDetails._shared_content_restore_invitees_details_validator, "shared_content_restore_member_details": EventDetails._shared_content_restore_member_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_remove_visitor_details": EventDetails._shared_link_remove_visitor_details_validator, "shared_link_settings_add_expiration_details": EventDetails._shared_link_settings_add_expiration_details_validator, "shared_link_settings_add_password_details": EventDetails._shared_link_settings_add_password_details_validator, "shared_link_settings_allow_download_disabled_details": EventDetails._shared_link_settings_allow_download_disabled_details_validator, "shared_link_settings_allow_download_enabled_details": EventDetails._shared_link_settings_allow_download_enabled_details_validator, "shared_link_settings_change_audience_details": EventDetails._shared_link_settings_change_audience_details_validator, "shared_link_settings_change_expiration_details": EventDetails._shared_link_settings_change_expiration_details_validator, "shared_link_settings_change_password_details": EventDetails._shared_link_settings_change_password_details_validator, "shared_link_settings_remove_expiration_details": EventDetails._shared_link_settings_remove_expiration_details_validator, "shared_link_settings_remove_password_details": EventDetails._shared_link_settings_remove_password_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_disable_downloads_details": EventDetails._shmodel_disable_downloads_details_validator, "shmodel_enable_downloads_details": EventDetails._shmodel_enable_downloads_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, "sign_signature_request_canceled_details": EventDetails._sign_signature_request_canceled_details_validator, "sign_signature_request_completed_details": EventDetails._sign_signature_request_completed_details_validator, "sign_signature_request_declined_details": EventDetails._sign_signature_request_declined_details_validator, "sign_signature_request_opened_details": EventDetails._sign_signature_request_opened_details_validator, "sign_signature_request_reminder_sent_details": EventDetails._sign_signature_request_reminder_sent_details_validator, "sign_signature_request_sent_details": EventDetails._sign_signature_request_sent_details_validator, "sign_template_created_details": EventDetails._sign_template_created_details_validator, "sign_template_shared_details": EventDetails._sign_template_shared_details_validator, "risc_security_event_details": EventDetails._risc_security_event_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_folder_space_limits_change_caps_type_details": EventDetails._team_folder_space_limits_change_caps_type_details_validator, "team_folder_space_limits_change_limit_details": EventDetails._team_folder_space_limits_change_limit_details_validator, "team_folder_space_limits_change_notification_target_details": EventDetails._team_folder_space_limits_change_notification_target_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, "admin_email_reminders_changed_details": EventDetails._admin_email_reminders_changed_details_validator, "ai_third_party_sharing_dropbox_base_policy_changed_details": EventDetails._ai_third_party_sharing_dropbox_base_policy_changed_details_validator, "allow_download_disabled_details": EventDetails._allow_download_disabled_details_validator, "allow_download_enabled_details": EventDetails._allow_download_enabled_details_validator, "apple_login_change_policy_details": EventDetails._apple_login_change_policy_details_validator, "app_permissions_changed_details": EventDetails._app_permissions_changed_details_validator, "camera_uploads_policy_changed_details": EventDetails._camera_uploads_policy_changed_details_validator, "capture_team_space_policy_changed_details": EventDetails._capture_team_space_policy_changed_details_validator, "capture_transcript_policy_changed_details": EventDetails._capture_transcript_policy_changed_details_validator, "classification_change_policy_details": EventDetails._classification_change_policy_details_validator, "computer_backup_policy_changed_details": EventDetails._computer_backup_policy_changed_details_validator, "content_administration_policy_changed_details": EventDetails._content_administration_policy_changed_details_validator, "content_deletion_protection_change_policy_details": EventDetails._content_deletion_protection_change_policy_details_validator, "dash_external_sharing_policy_changed_details": EventDetails._dash_external_sharing_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_add_exception_details": EventDetails._device_approvals_add_exception_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, "device_approvals_remove_exception_details": EventDetails._device_approvals_remove_exception_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, "dropbox_passwords_policy_changed_details": EventDetails._dropbox_passwords_policy_changed_details_validator, "email_ingest_policy_changed_details": EventDetails._email_ingest_policy_changed_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, "external_drive_backup_policy_changed_details": EventDetails._external_drive_backup_policy_changed_details_validator, "file_comments_change_policy_details": EventDetails._file_comments_change_policy_details_validator, "file_locking_policy_changed_details": EventDetails._file_locking_policy_changed_details_validator, "file_provider_migration_policy_changed_details": EventDetails._file_provider_migration_policy_changed_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, "file_transfers_policy_changed_details": EventDetails._file_transfers_policy_changed_details_validator, "flexible_file_names_policy_changed_details": EventDetails._flexible_file_names_policy_changed_details_validator, "folder_link_restriction_policy_changed_details": EventDetails._folder_link_restriction_policy_changed_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, "invite_acceptance_email_policy_changed_details": EventDetails._invite_acceptance_email_policy_changed_details_validator, "media_hub_adding_people_policy_changed_details": EventDetails._media_hub_adding_people_policy_changed_details_validator, "media_hub_download_policy_changed_details": EventDetails._media_hub_download_policy_changed_details_validator, "media_hub_link_sharing_policy_changed_details": EventDetails._media_hub_link_sharing_policy_changed_details_validator, "member_requests_change_policy_details": EventDetails._member_requests_change_policy_details_validator, "member_send_invite_policy_changed_details": EventDetails._member_send_invite_policy_changed_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_login_change_policy_details": EventDetails._microsoft_login_change_policy_details_validator, "microsoft_office_addin_change_policy_details": EventDetails._microsoft_office_addin_change_policy_details_validator, "multi_team_identity_policy_changed_details": EventDetails._multi_team_identity_policy_changed_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, "passkey_login_policy_changed_details": EventDetails._passkey_login_policy_changed_details_validator, "password_strength_requirements_change_policy_details": EventDetails._password_strength_requirements_change_policy_details_validator, "permanent_delete_change_policy_details": EventDetails._permanent_delete_change_policy_details_validator, "previews_ai_policy_changed_details": EventDetails._previews_ai_policy_changed_details_validator, "replay_adding_people_policy_changed_details": EventDetails._replay_adding_people_policy_changed_details_validator, "replay_sharing_policy_changed_details": EventDetails._replay_sharing_policy_changed_details_validator, "reseller_support_change_policy_details": EventDetails._reseller_support_change_policy_details_validator, "rewind_policy_changed_details": EventDetails._rewind_policy_changed_details_validator, "send_and_track_policy_changed_details": EventDetails._send_and_track_policy_changed_details_validator, "send_external_sharing_policy_changed_details": EventDetails._send_external_sharing_policy_changed_details_validator, "send_for_signature_policy_changed_details": EventDetails._send_for_signature_policy_changed_details_validator, "shared_link_default_permissions_policy_changed_details": EventDetails._shared_link_default_permissions_policy_changed_details_validator, "sharing_change_folder_join_policy_details": EventDetails._sharing_change_folder_join_policy_details_validator, "sharing_change_link_allow_change_expiration_policy_details": EventDetails._sharing_change_link_allow_change_expiration_policy_details_validator, "sharing_change_link_default_expiration_policy_details": EventDetails._sharing_change_link_default_expiration_policy_details_validator, "sharing_change_link_enforce_password_policy_details": EventDetails._sharing_change_link_enforce_password_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, "sign_external_sharing_policy_changed_details": EventDetails._sign_external_sharing_policy_changed_details_validator, "sign_template_creation_permission_changed_details": EventDetails._sign_template_creation_permission_changed_details_validator, "smarter_smart_sync_policy_changed_details": EventDetails._smarter_smart_sync_policy_changed_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, "stack_cross_team_access_policy_changed_details": EventDetails._stack_cross_team_access_policy_changed_details_validator, "team_branding_policy_changed_details": EventDetails._team_branding_policy_changed_details_validator, "team_extensions_policy_changed_details": EventDetails._team_extensions_policy_changed_details_validator, "team_member_storage_request_policy_changed_details": EventDetails._team_member_storage_request_policy_changed_details_validator, "team_selective_sync_policy_changed_details": EventDetails._team_selective_sync_policy_changed_details_validator, "team_sharing_whitelist_subjects_changed_details": EventDetails._team_sharing_whitelist_subjects_changed_details_validator, "tfa_add_exception_details": EventDetails._tfa_add_exception_details_validator, "tfa_change_policy_details": EventDetails._tfa_change_policy_details_validator, "tfa_remove_exception_details": EventDetails._tfa_remove_exception_details_validator, "top_level_content_policy_changed_details": EventDetails._top_level_content_policy_changed_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, "watermarking_policy_changed_details": EventDetails._watermarking_policy_changed_details_validator, "web_sessions_change_active_session_limit_details": EventDetails._web_sessions_change_active_session_limit_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, "data_residency_migration_request_successful_details": EventDetails._data_residency_migration_request_successful_details_validator, "data_residency_migration_request_unsuccessful_details": EventDetails._data_residency_migration_request_unsuccessful_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_background_details": EventDetails._team_profile_add_background_details_validator, "team_profile_add_logo_details": EventDetails._team_profile_add_logo_details_validator, "team_profile_change_background_details": EventDetails._team_profile_change_background_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_background_details": EventDetails._team_profile_remove_background_details_validator, "team_profile_remove_logo_details": EventDetails._team_profile_remove_logo_details_validator, "passkey_add_details": EventDetails._passkey_add_details_validator, "passkey_remove_details": EventDetails._passkey_remove_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, "changed_enterprise_admin_role_details": EventDetails._changed_enterprise_admin_role_details_validator, "changed_enterprise_connected_team_status_details": EventDetails._changed_enterprise_connected_team_status_details_validator, "ended_enterprise_admin_session_details": EventDetails._ended_enterprise_admin_session_details_validator, "ended_enterprise_admin_session_deprecated_details": EventDetails._ended_enterprise_admin_session_deprecated_details_validator, "enterprise_settings_locking_details": EventDetails._enterprise_settings_locking_details_validator, "guest_admin_change_status_details": EventDetails._guest_admin_change_status_details_validator, "started_enterprise_admin_session_details": EventDetails._started_enterprise_admin_session_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._admin_alerting_alert_state_changed_validator = ( AdminAlertingAlertStateChangedType_validator ) EventType._admin_alerting_changed_alert_config_validator = ( AdminAlertingChangedAlertConfigType_validator ) EventType._admin_alerting_triggered_alert_validator = AdminAlertingTriggeredAlertType_validator EventType._ransomware_restore_process_completed_validator = ( RansomwareRestoreProcessCompletedType_validator ) EventType._ransomware_restore_process_started_validator = ( RansomwareRestoreProcessStartedType_validator ) EventType._app_blocked_by_permissions_validator = AppBlockedByPermissionsType_validator 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._dash_added_comment_to_stack_validator = DashAddedCommentToStackType_validator EventType._dash_added_connector_validator = DashAddedConnectorType_validator EventType._dash_added_link_to_stack_validator = DashAddedLinkToStackType_validator EventType._dash_added_team_email_domain_allowlist_validator = ( DashAddedTeamEmailDomainAllowlistType_validator ) EventType._dash_admin_added_org_wide_connector_validator = ( DashAdminAddedOrgWideConnectorType_validator ) EventType._dash_admin_disabled_connector_validator = DashAdminDisabledConnectorType_validator EventType._dash_admin_enabled_connector_validator = DashAdminEnabledConnectorType_validator EventType._dash_admin_removed_org_wide_connector_validator = ( DashAdminRemovedOrgWideConnectorType_validator ) EventType._dash_archived_stack_validator = DashArchivedStackType_validator EventType._dash_changed_audience_of_shared_link_to_stack_validator = ( DashChangedAudienceOfSharedLinkToStackType_validator ) EventType._dash_cloned_stack_validator = DashClonedStackType_validator EventType._dash_connector_tools_call_validator = DashConnectorToolsCallType_validator EventType._dash_created_stack_validator = DashCreatedStackType_validator EventType._dash_deleted_comment_from_stack_validator = DashDeletedCommentFromStackType_validator EventType._dash_deleted_stack_validator = DashDeletedStackType_validator EventType._dash_edited_comment_in_stack_validator = DashEditedCommentInStackType_validator EventType._dash_external_user_opened_stack_validator = DashExternalUserOpenedStackType_validator EventType._dash_first_launched_desktop_validator = DashFirstLaunchedDesktopType_validator EventType._dash_first_launched_extension_validator = DashFirstLaunchedExtensionType_validator EventType._dash_first_launched_web_start_page_validator = ( DashFirstLaunchedWebStartPageType_validator ) EventType._dash_opened_shared_link_to_stack_validator = DashOpenedSharedLinkToStackType_validator EventType._dash_opened_stack_validator = DashOpenedStackType_validator EventType._dash_preview_opt_out_status_changed_validator = ( DashPreviewOptOutStatusChangedType_validator ) EventType._dash_removed_connector_validator = DashRemovedConnectorType_validator EventType._dash_removed_link_from_stack_validator = DashRemovedLinkFromStackType_validator EventType._dash_removed_shared_link_to_stack_validator = DashRemovedSharedLinkToStackType_validator EventType._dash_removed_team_email_domain_allowlist_validator = ( DashRemovedTeamEmailDomainAllowlistType_validator ) EventType._dash_renamed_stack_validator = DashRenamedStackType_validator EventType._dash_shared_link_to_stack_validator = DashSharedLinkToStackType_validator EventType._dash_unarchived_stack_validator = DashUnarchivedStackType_validator EventType._dash_viewed_company_stack_validator = DashViewedCompanyStackType_validator EventType._dash_viewed_external_ai_activity_report_validator = ( DashViewedExternalAiActivityReportType_validator ) EventType._governance_policy_add_folders_validator = GovernancePolicyAddFoldersType_validator EventType._governance_policy_add_folder_failed_validator = ( GovernancePolicyAddFolderFailedType_validator ) EventType._governance_policy_content_disposed_validator = ( GovernancePolicyContentDisposedType_validator ) EventType._governance_policy_create_validator = GovernancePolicyCreateType_validator EventType._governance_policy_delete_validator = GovernancePolicyDeleteType_validator EventType._governance_policy_edit_details_validator = GovernancePolicyEditDetailsType_validator EventType._governance_policy_edit_duration_validator = GovernancePolicyEditDurationType_validator EventType._governance_policy_export_created_validator = GovernancePolicyExportCreatedType_validator EventType._governance_policy_export_removed_validator = GovernancePolicyExportRemovedType_validator EventType._governance_policy_remove_folders_validator = GovernancePolicyRemoveFoldersType_validator EventType._governance_policy_report_created_validator = GovernancePolicyReportCreatedType_validator EventType._governance_policy_zip_part_downloaded_validator = ( GovernancePolicyZipPartDownloadedType_validator ) EventType._legal_holds_activate_a_hold_validator = LegalHoldsActivateAHoldType_validator EventType._legal_holds_add_members_validator = LegalHoldsAddMembersType_validator EventType._legal_holds_change_hold_details_validator = LegalHoldsChangeHoldDetailsType_validator EventType._legal_holds_change_hold_name_validator = LegalHoldsChangeHoldNameType_validator EventType._legal_holds_export_a_hold_validator = LegalHoldsExportAHoldType_validator EventType._legal_holds_export_cancelled_validator = LegalHoldsExportCancelledType_validator EventType._legal_holds_export_downloaded_validator = LegalHoldsExportDownloadedType_validator EventType._legal_holds_export_removed_validator = LegalHoldsExportRemovedType_validator EventType._legal_holds_release_a_hold_validator = LegalHoldsReleaseAHoldType_validator EventType._legal_holds_remove_members_validator = LegalHoldsRemoveMembersType_validator EventType._legal_holds_report_a_hold_validator = LegalHoldsReportAHoldType_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_sync_backup_status_changed_validator = DeviceSyncBackupStatusChangedType_validator EventType._device_unlink_validator = DeviceUnlinkType_validator EventType._dropbox_passwords_exported_validator = DropboxPasswordsExportedType_validator EventType._dropbox_passwords_new_device_enrolled_validator = ( DropboxPasswordsNewDeviceEnrolledType_validator ) EventType._emm_refresh_auth_token_validator = EmmRefreshAuthTokenType_validator EventType._external_drive_backup_eligibility_status_checked_validator = ( ExternalDriveBackupEligibilityStatusCheckedType_validator ) EventType._external_drive_backup_status_changed_validator = ( ExternalDriveBackupStatusChangedType_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._encrypted_folder_cancel_team_key_rotation_validator = ( EncryptedFolderCancelTeamKeyRotationType_validator ) EventType._encrypted_folder_enroll_backup_key_validator = ( EncryptedFolderEnrollBackupKeyType_validator ) EventType._encrypted_folder_enroll_client_validator = EncryptedFolderEnrollClientType_validator EventType._encrypted_folder_enroll_team_validator = EncryptedFolderEnrollTeamType_validator EventType._encrypted_folder_finish_team_unenrollment_validator = ( EncryptedFolderFinishTeamUnenrollmentType_validator ) EventType._encrypted_folder_init_team_key_rotation_validator = ( EncryptedFolderInitTeamKeyRotationType_validator ) EventType._encrypted_folder_init_team_unenrollment_validator = ( EncryptedFolderInitTeamUnenrollmentType_validator ) EventType._encrypted_folder_remove_backup_key_validator = ( EncryptedFolderRemoveBackupKeyType_validator ) EventType._encrypted_folder_rotate_team_key_validator = EncryptedFolderRotateTeamKeyType_validator EventType._encrypted_folder_unenroll_client_validator = EncryptedFolderUnenrollClientType_validator EventType._team_encryption_key_activate_key_validator = TeamEncryptionKeyActivateKeyType_validator EventType._team_encryption_key_cancel_key_deletion_validator = ( TeamEncryptionKeyCancelKeyDeletionType_validator ) EventType._team_encryption_key_create_key_validator = TeamEncryptionKeyCreateKeyType_validator EventType._team_encryption_key_deactivate_key_validator = ( TeamEncryptionKeyDeactivateKeyType_validator ) EventType._team_encryption_key_delete_key_validator = TeamEncryptionKeyDeleteKeyType_validator EventType._team_encryption_key_disable_key_validator = TeamEncryptionKeyDisableKeyType_validator EventType._team_encryption_key_enable_key_validator = TeamEncryptionKeyEnableKeyType_validator EventType._team_encryption_key_rotate_key_validator = TeamEncryptionKeyRotateKeyType_validator EventType._team_encryption_key_schedule_key_deletion_validator = ( TeamEncryptionKeyScheduleKeyDeletionType_validator ) EventType._apply_naming_convention_validator = ApplyNamingConventionType_validator EventType._create_folder_validator = CreateFolderType_validator EventType._file_add_validator = FileAddType_validator EventType._file_add_from_automation_validator = FileAddFromAutomationType_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_locking_lock_status_changed_validator = FileLockingLockStatusChangedType_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._folder_overview_description_changed_validator = ( FolderOverviewDescriptionChangedType_validator ) EventType._folder_overview_item_pinned_validator = FolderOverviewItemPinnedType_validator EventType._folder_overview_item_unpinned_validator = FolderOverviewItemUnpinnedType_validator EventType._media_hub_file_downloaded_validator = MediaHubFileDownloadedType_validator EventType._object_label_added_validator = ObjectLabelAddedType_validator EventType._object_label_removed_validator = ObjectLabelRemovedType_validator EventType._object_label_updated_value_validator = ObjectLabelUpdatedValueType_validator EventType._organize_folder_with_tidy_validator = OrganizeFolderWithTidyType_validator EventType._replay_file_delete_validator = ReplayFileDeleteType_validator EventType._replay_file_downloaded_validator = ReplayFileDownloadedType_validator EventType._replay_team_project_created_validator = ReplayTeamProjectCreatedType_validator EventType._rewind_folder_validator = RewindFolderType_validator EventType._undo_naming_convention_validator = UndoNamingConventionType_validator EventType._undo_organize_folder_with_tidy_validator = UndoOrganizeFolderWithTidyType_validator EventType._user_tags_added_validator = UserTagsAddedType_validator EventType._user_tags_removed_validator = UserTagsRemovedType_validator EventType._email_ingest_receive_file_validator = EmailIngestReceiveFileType_validator EventType._file_request_auto_close_validator = FileRequestAutoCloseType_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_external_sharing_setting_override_changed_validator = ( GroupExternalSharingSettingOverrideChangedType_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._account_lock_or_unlocked_validator = AccountLockOrUnlockedType_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._addon_assigned_validator = AddonAssignedType_validator EventType._addon_removed_validator = AddonRemovedType_validator EventType._backup_admin_invitation_sent_validator = BackupAdminInvitationSentType_validator EventType._backup_invitation_opened_validator = BackupInvitationOpenedType_validator EventType._create_team_invite_link_validator = CreateTeamInviteLinkType_validator EventType._delete_team_invite_link_validator = DeleteTeamInviteLinkType_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_reseller_role_validator = MemberChangeResellerRoleType_validator EventType._member_change_status_validator = MemberChangeStatusType_validator EventType._member_delete_manual_contacts_validator = MemberDeleteManualContactsType_validator EventType._member_delete_profile_photo_validator = MemberDeleteProfilePhotoType_validator EventType._member_permanently_delete_account_contents_validator = ( MemberPermanentlyDeleteAccountContentsType_validator ) EventType._member_remove_external_id_validator = MemberRemoveExternalIdType_validator EventType._member_set_profile_photo_validator = MemberSetProfilePhotoType_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._pending_secondary_email_added_validator = PendingSecondaryEmailAddedType_validator EventType._product_assigned_to_member_validator = ProductAssignedToMemberType_validator EventType._product_removed_from_member_validator = ProductRemovedFromMemberType_validator EventType._secondary_email_deleted_validator = SecondaryEmailDeletedType_validator EventType._secondary_email_verified_validator = SecondaryEmailVerifiedType_validator EventType._secondary_mails_policy_changed_validator = SecondaryMailsPolicyChangedType_validator EventType._binder_add_page_validator = BinderAddPageType_validator EventType._binder_add_section_validator = BinderAddSectionType_validator EventType._binder_remove_page_validator = BinderRemovePageType_validator EventType._binder_remove_section_validator = BinderRemoveSectionType_validator EventType._binder_rename_page_validator = BinderRenamePageType_validator EventType._binder_rename_section_validator = BinderRenameSectionType_validator EventType._binder_reorder_page_validator = BinderReorderPageType_validator EventType._binder_reorder_section_validator = BinderReorderSectionType_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_change_permission_validator = ( PaperPublishedLinkChangePermissionType_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._protect_internal_domains_changed_validator = ProtectInternalDomainsChangedType_validator EventType._classification_create_report_validator = ClassificationCreateReportType_validator EventType._classification_create_report_fail_validator = ( ClassificationCreateReportFailType_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._export_members_report_fail_validator = ExportMembersReportFailType_validator EventType._external_sharing_create_report_validator = ExternalSharingCreateReportType_validator EventType._external_sharing_report_failed_validator = ExternalSharingReportFailedType_validator EventType._member_access_details_create_report_validator = ( MemberAccessDetailsCreateReportType_validator ) EventType._member_access_details_create_report_failed_validator = ( MemberAccessDetailsCreateReportFailedType_validator ) EventType._no_expiration_link_gen_create_report_validator = ( NoExpirationLinkGenCreateReportType_validator ) EventType._no_expiration_link_gen_report_failed_validator = ( NoExpirationLinkGenReportFailedType_validator ) EventType._no_password_link_gen_create_report_validator = ( NoPasswordLinkGenCreateReportType_validator ) EventType._no_password_link_gen_report_failed_validator = ( NoPasswordLinkGenReportFailedType_validator ) EventType._no_password_link_view_create_report_validator = ( NoPasswordLinkViewCreateReportType_validator ) EventType._no_password_link_view_report_failed_validator = ( NoPasswordLinkViewReportFailedType_validator ) EventType._outdated_link_view_create_report_validator = OutdatedLinkViewCreateReportType_validator EventType._outdated_link_view_report_failed_validator = OutdatedLinkViewReportFailedType_validator EventType._paper_admin_export_start_validator = PaperAdminExportStartType_validator EventType._ransomware_alert_create_report_validator = RansomwareAlertCreateReportType_validator EventType._ransomware_alert_create_report_failed_validator = ( RansomwareAlertCreateReportFailedType_validator ) EventType._shared_folders_create_report_validator = SharedFoldersCreateReportType_validator EventType._shared_folders_create_report_failed_validator = ( SharedFoldersCreateReportFailedType_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._team_folders_create_report_validator = TeamFoldersCreateReportType_validator EventType._team_folders_create_report_failed_validator = TeamFoldersCreateReportFailedType_validator EventType._team_storage_create_report_validator = TeamStorageCreateReportType_validator EventType._team_storage_create_report_failed_validator = TeamStorageCreateReportFailedType_validator EventType._collection_share_validator = CollectionShareType_validator EventType._file_transfers_file_add_validator = FileTransfersFileAddType_validator EventType._file_transfers_transfer_delete_validator = FileTransfersTransferDeleteType_validator EventType._file_transfers_transfer_download_validator = FileTransfersTransferDownloadType_validator EventType._file_transfers_transfer_send_validator = FileTransfersTransferSendType_validator EventType._file_transfers_transfer_view_validator = FileTransfersTransferViewType_validator EventType._media_hub_project_team_add_validator = MediaHubProjectTeamAddType_validator EventType._media_hub_project_team_delete_validator = MediaHubProjectTeamDeleteType_validator EventType._media_hub_project_team_role_changed_validator = ( MediaHubProjectTeamRoleChangedType_validator ) EventType._media_hub_shared_link_audience_changed_validator = ( MediaHubSharedLinkAudienceChangedType_validator ) EventType._media_hub_shared_link_created_validator = MediaHubSharedLinkCreatedType_validator EventType._media_hub_shared_link_download_setting_changed_validator = ( MediaHubSharedLinkDownloadSettingChangedType_validator ) EventType._media_hub_shared_link_revoked_validator = MediaHubSharedLinkRevokedType_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._replay_file_shared_link_created_validator = ReplayFileSharedLinkCreatedType_validator EventType._replay_file_shared_link_modified_validator = ReplayFileSharedLinkModifiedType_validator EventType._replay_project_team_add_validator = ReplayProjectTeamAddType_validator EventType._replay_project_team_delete_validator = ReplayProjectTeamDeleteType_validator EventType._send_and_track_file_added_validator = SendAndTrackFileAddedType_validator EventType._send_and_track_file_renamed_validator = SendAndTrackFileRenamedType_validator EventType._send_and_track_file_updated_validator = SendAndTrackFileUpdatedType_validator EventType._send_and_track_link_created_validator = SendAndTrackLinkCreatedType_validator EventType._send_and_track_link_deleted_validator = SendAndTrackLinkDeletedType_validator EventType._send_and_track_link_updated_validator = SendAndTrackLinkUpdatedType_validator EventType._send_and_track_link_viewed_validator = SendAndTrackLinkViewedType_validator EventType._send_and_track_removed_file_and_associated_links_validator = ( SendAndTrackRemovedFileAndAssociatedLinksType_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_restore_invitees_validator = SharedContentRestoreInviteesType_validator EventType._shared_content_restore_member_validator = SharedContentRestoreMemberType_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_remove_visitor_validator = SharedLinkRemoveVisitorType_validator EventType._shared_link_settings_add_expiration_validator = ( SharedLinkSettingsAddExpirationType_validator ) EventType._shared_link_settings_add_password_validator = SharedLinkSettingsAddPasswordType_validator EventType._shared_link_settings_allow_download_disabled_validator = ( SharedLinkSettingsAllowDownloadDisabledType_validator ) EventType._shared_link_settings_allow_download_enabled_validator = ( SharedLinkSettingsAllowDownloadEnabledType_validator ) EventType._shared_link_settings_change_audience_validator = ( SharedLinkSettingsChangeAudienceType_validator ) EventType._shared_link_settings_change_expiration_validator = ( SharedLinkSettingsChangeExpirationType_validator ) EventType._shared_link_settings_change_password_validator = ( SharedLinkSettingsChangePasswordType_validator ) EventType._shared_link_settings_remove_expiration_validator = ( SharedLinkSettingsRemoveExpirationType_validator ) EventType._shared_link_settings_remove_password_validator = ( SharedLinkSettingsRemovePasswordType_validator ) EventType._shared_link_share_validator = SharedLinkShareType_validator EventType._shared_link_view_validator = SharedLinkViewType_validator EventType._shared_note_opened_validator = SharedNoteOpenedType_validator EventType._shmodel_disable_downloads_validator = ShmodelDisableDownloadsType_validator EventType._shmodel_enable_downloads_validator = ShmodelEnableDownloadsType_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._sign_signature_request_canceled_validator = SignSignatureRequestCanceledType_validator EventType._sign_signature_request_completed_validator = SignSignatureRequestCompletedType_validator EventType._sign_signature_request_declined_validator = SignSignatureRequestDeclinedType_validator EventType._sign_signature_request_opened_validator = SignSignatureRequestOpenedType_validator EventType._sign_signature_request_reminder_sent_validator = ( SignSignatureRequestReminderSentType_validator ) EventType._sign_signature_request_sent_validator = SignSignatureRequestSentType_validator EventType._sign_template_created_validator = SignTemplateCreatedType_validator EventType._sign_template_shared_validator = SignTemplateSharedType_validator EventType._risc_security_event_validator = RiscSecurityEventType_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_folder_space_limits_change_caps_type_validator = ( TeamFolderSpaceLimitsChangeCapsTypeType_validator ) EventType._team_folder_space_limits_change_limit_validator = ( TeamFolderSpaceLimitsChangeLimitType_validator ) EventType._team_folder_space_limits_change_notification_target_validator = ( TeamFolderSpaceLimitsChangeNotificationTargetType_validator ) EventType._team_selective_sync_settings_changed_validator = ( TeamSelectiveSyncSettingsChangedType_validator ) EventType._account_capture_change_policy_validator = AccountCaptureChangePolicyType_validator EventType._admin_email_reminders_changed_validator = AdminEmailRemindersChangedType_validator EventType._ai_third_party_sharing_dropbox_base_policy_changed_validator = ( AiThirdPartySharingDropboxBasePolicyChangedType_validator ) EventType._allow_download_disabled_validator = AllowDownloadDisabledType_validator EventType._allow_download_enabled_validator = AllowDownloadEnabledType_validator EventType._apple_login_change_policy_validator = AppleLoginChangePolicyType_validator EventType._app_permissions_changed_validator = AppPermissionsChangedType_validator EventType._camera_uploads_policy_changed_validator = CameraUploadsPolicyChangedType_validator EventType._capture_team_space_policy_changed_validator = CaptureTeamSpacePolicyChangedType_validator EventType._capture_transcript_policy_changed_validator = ( CaptureTranscriptPolicyChangedType_validator ) EventType._classification_change_policy_validator = ClassificationChangePolicyType_validator EventType._computer_backup_policy_changed_validator = ComputerBackupPolicyChangedType_validator EventType._content_administration_policy_changed_validator = ( ContentAdministrationPolicyChangedType_validator ) EventType._content_deletion_protection_change_policy_validator = ( ContentDeletionProtectionChangePolicyType_validator ) EventType._dash_external_sharing_policy_changed_validator = ( DashExternalSharingPolicyChangedType_validator ) EventType._data_placement_restriction_change_policy_validator = ( DataPlacementRestrictionChangePolicyType_validator ) EventType._data_placement_restriction_satisfy_policy_validator = ( DataPlacementRestrictionSatisfyPolicyType_validator ) EventType._device_approvals_add_exception_validator = DeviceApprovalsAddExceptionType_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._device_approvals_remove_exception_validator = ( DeviceApprovalsRemoveExceptionType_validator ) EventType._directory_restrictions_add_members_validator = ( DirectoryRestrictionsAddMembersType_validator ) EventType._directory_restrictions_remove_members_validator = ( DirectoryRestrictionsRemoveMembersType_validator ) EventType._dropbox_passwords_policy_changed_validator = DropboxPasswordsPolicyChangedType_validator EventType._email_ingest_policy_changed_validator = EmailIngestPolicyChangedType_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._external_drive_backup_policy_changed_validator = ( ExternalDriveBackupPolicyChangedType_validator ) EventType._file_comments_change_policy_validator = FileCommentsChangePolicyType_validator EventType._file_locking_policy_changed_validator = FileLockingPolicyChangedType_validator EventType._file_provider_migration_policy_changed_validator = ( FileProviderMigrationPolicyChangedType_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._file_transfers_policy_changed_validator = FileTransfersPolicyChangedType_validator EventType._flexible_file_names_policy_changed_validator = ( FlexibleFileNamesPolicyChangedType_validator ) EventType._folder_link_restriction_policy_changed_validator = ( FolderLinkRestrictionPolicyChangedType_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._invite_acceptance_email_policy_changed_validator = ( InviteAcceptanceEmailPolicyChangedType_validator ) EventType._media_hub_adding_people_policy_changed_validator = ( MediaHubAddingPeoplePolicyChangedType_validator ) EventType._media_hub_download_policy_changed_validator = MediaHubDownloadPolicyChangedType_validator EventType._media_hub_link_sharing_policy_changed_validator = ( MediaHubLinkSharingPolicyChangedType_validator ) EventType._member_requests_change_policy_validator = MemberRequestsChangePolicyType_validator EventType._member_send_invite_policy_changed_validator = MemberSendInvitePolicyChangedType_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_login_change_policy_validator = MicrosoftLoginChangePolicyType_validator EventType._microsoft_office_addin_change_policy_validator = ( MicrosoftOfficeAddinChangePolicyType_validator ) EventType._multi_team_identity_policy_changed_validator = ( MultiTeamIdentityPolicyChangedType_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._passkey_login_policy_changed_validator = PasskeyLoginPolicyChangedType_validator EventType._password_strength_requirements_change_policy_validator = ( PasswordStrengthRequirementsChangePolicyType_validator ) EventType._permanent_delete_change_policy_validator = PermanentDeleteChangePolicyType_validator EventType._previews_ai_policy_changed_validator = PreviewsAiPolicyChangedType_validator EventType._replay_adding_people_policy_changed_validator = ( ReplayAddingPeoplePolicyChangedType_validator ) EventType._replay_sharing_policy_changed_validator = ReplaySharingPolicyChangedType_validator EventType._reseller_support_change_policy_validator = ResellerSupportChangePolicyType_validator EventType._rewind_policy_changed_validator = RewindPolicyChangedType_validator EventType._send_and_track_policy_changed_validator = SendAndTrackPolicyChangedType_validator EventType._send_external_sharing_policy_changed_validator = ( SendExternalSharingPolicyChangedType_validator ) EventType._send_for_signature_policy_changed_validator = SendForSignaturePolicyChangedType_validator EventType._shared_link_default_permissions_policy_changed_validator = ( SharedLinkDefaultPermissionsPolicyChangedType_validator ) EventType._sharing_change_folder_join_policy_validator = SharingChangeFolderJoinPolicyType_validator EventType._sharing_change_link_allow_change_expiration_policy_validator = ( SharingChangeLinkAllowChangeExpirationPolicyType_validator ) EventType._sharing_change_link_default_expiration_policy_validator = ( SharingChangeLinkDefaultExpirationPolicyType_validator ) EventType._sharing_change_link_enforce_password_policy_validator = ( SharingChangeLinkEnforcePasswordPolicyType_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._sign_external_sharing_policy_changed_validator = ( SignExternalSharingPolicyChangedType_validator ) EventType._sign_template_creation_permission_changed_validator = ( SignTemplateCreationPermissionChangedType_validator ) EventType._smarter_smart_sync_policy_changed_validator = SmarterSmartSyncPolicyChangedType_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._stack_cross_team_access_policy_changed_validator = ( StackCrossTeamAccessPolicyChangedType_validator ) EventType._team_branding_policy_changed_validator = TeamBrandingPolicyChangedType_validator EventType._team_extensions_policy_changed_validator = TeamExtensionsPolicyChangedType_validator EventType._team_member_storage_request_policy_changed_validator = ( TeamMemberStorageRequestPolicyChangedType_validator ) EventType._team_selective_sync_policy_changed_validator = ( TeamSelectiveSyncPolicyChangedType_validator ) EventType._team_sharing_whitelist_subjects_changed_validator = ( TeamSharingWhitelistSubjectsChangedType_validator ) EventType._tfa_add_exception_validator = TfaAddExceptionType_validator EventType._tfa_change_policy_validator = TfaChangePolicyType_validator EventType._tfa_remove_exception_validator = TfaRemoveExceptionType_validator EventType._top_level_content_policy_changed_validator = TopLevelContentPolicyChangedType_validator EventType._two_account_change_policy_validator = TwoAccountChangePolicyType_validator EventType._viewer_info_policy_changed_validator = ViewerInfoPolicyChangedType_validator EventType._watermarking_policy_changed_validator = WatermarkingPolicyChangedType_validator EventType._web_sessions_change_active_session_limit_validator = ( WebSessionsChangeActiveSessionLimitType_validator ) EventType._web_sessions_change_fixed_length_policy_validator = ( WebSessionsChangeFixedLengthPolicyType_validator ) EventType._web_sessions_change_idle_length_policy_validator = ( WebSessionsChangeIdleLengthPolicyType_validator ) EventType._data_residency_migration_request_successful_validator = ( DataResidencyMigrationRequestSuccessfulType_validator ) EventType._data_residency_migration_request_unsuccessful_validator = ( DataResidencyMigrationRequestUnsuccessfulType_validator ) EventType._team_merge_from_validator = TeamMergeFromType_validator EventType._team_merge_to_validator = TeamMergeToType_validator EventType._team_profile_add_background_validator = TeamProfileAddBackgroundType_validator EventType._team_profile_add_logo_validator = TeamProfileAddLogoType_validator EventType._team_profile_change_background_validator = TeamProfileChangeBackgroundType_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_background_validator = TeamProfileRemoveBackgroundType_validator EventType._team_profile_remove_logo_validator = TeamProfileRemoveLogoType_validator EventType._passkey_add_validator = PasskeyAddType_validator EventType._passkey_remove_validator = PasskeyRemoveType_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._changed_enterprise_admin_role_validator = ChangedEnterpriseAdminRoleType_validator EventType._changed_enterprise_connected_team_status_validator = ( ChangedEnterpriseConnectedTeamStatusType_validator ) EventType._ended_enterprise_admin_session_validator = EndedEnterpriseAdminSessionType_validator EventType._ended_enterprise_admin_session_deprecated_validator = ( EndedEnterpriseAdminSessionDeprecatedType_validator ) EventType._enterprise_settings_locking_validator = EnterpriseSettingsLockingType_validator EventType._guest_admin_change_status_validator = GuestAdminChangeStatusType_validator EventType._started_enterprise_admin_session_validator = StartedEnterpriseAdminSessionType_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 = { "admin_alerting_alert_state_changed": EventType._admin_alerting_alert_state_changed_validator, "admin_alerting_changed_alert_config": EventType._admin_alerting_changed_alert_config_validator, "admin_alerting_triggered_alert": EventType._admin_alerting_triggered_alert_validator, "ransomware_restore_process_completed": EventType._ransomware_restore_process_completed_validator, "ransomware_restore_process_started": EventType._ransomware_restore_process_started_validator, "app_blocked_by_permissions": EventType._app_blocked_by_permissions_validator, "app_link_team": EventType._app_link_team_validator, "app_link_user": EventType._app_link_user_validator, "app_unlink_team": EventType._app_unlink_team_validator, "app_unlink_user": EventType._app_unlink_user_validator, "integration_connected": EventType._integration_connected_validator, "integration_disconnected": EventType._integration_disconnected_validator, "file_add_comment": EventType._file_add_comment_validator, "file_change_comment_subscription": EventType._file_change_comment_subscription_validator, "file_delete_comment": EventType._file_delete_comment_validator, "file_edit_comment": EventType._file_edit_comment_validator, "file_like_comment": EventType._file_like_comment_validator, "file_resolve_comment": EventType._file_resolve_comment_validator, "file_unlike_comment": EventType._file_unlike_comment_validator, "file_unresolve_comment": EventType._file_unresolve_comment_validator, "dash_added_comment_to_stack": EventType._dash_added_comment_to_stack_validator, "dash_added_connector": EventType._dash_added_connector_validator, "dash_added_link_to_stack": EventType._dash_added_link_to_stack_validator, "dash_added_team_email_domain_allowlist": EventType._dash_added_team_email_domain_allowlist_validator, "dash_admin_added_org_wide_connector": EventType._dash_admin_added_org_wide_connector_validator, "dash_admin_disabled_connector": EventType._dash_admin_disabled_connector_validator, "dash_admin_enabled_connector": EventType._dash_admin_enabled_connector_validator, "dash_admin_removed_org_wide_connector": EventType._dash_admin_removed_org_wide_connector_validator, "dash_archived_stack": EventType._dash_archived_stack_validator, "dash_changed_audience_of_shared_link_to_stack": EventType._dash_changed_audience_of_shared_link_to_stack_validator, "dash_cloned_stack": EventType._dash_cloned_stack_validator, "dash_connector_tools_call": EventType._dash_connector_tools_call_validator, "dash_created_stack": EventType._dash_created_stack_validator, "dash_deleted_comment_from_stack": EventType._dash_deleted_comment_from_stack_validator, "dash_deleted_stack": EventType._dash_deleted_stack_validator, "dash_edited_comment_in_stack": EventType._dash_edited_comment_in_stack_validator, "dash_external_user_opened_stack": EventType._dash_external_user_opened_stack_validator, "dash_first_launched_desktop": EventType._dash_first_launched_desktop_validator, "dash_first_launched_extension": EventType._dash_first_launched_extension_validator, "dash_first_launched_web_start_page": EventType._dash_first_launched_web_start_page_validator, "dash_opened_shared_link_to_stack": EventType._dash_opened_shared_link_to_stack_validator, "dash_opened_stack": EventType._dash_opened_stack_validator, "dash_preview_opt_out_status_changed": EventType._dash_preview_opt_out_status_changed_validator, "dash_removed_connector": EventType._dash_removed_connector_validator, "dash_removed_link_from_stack": EventType._dash_removed_link_from_stack_validator, "dash_removed_shared_link_to_stack": EventType._dash_removed_shared_link_to_stack_validator, "dash_removed_team_email_domain_allowlist": EventType._dash_removed_team_email_domain_allowlist_validator, "dash_renamed_stack": EventType._dash_renamed_stack_validator, "dash_shared_link_to_stack": EventType._dash_shared_link_to_stack_validator, "dash_unarchived_stack": EventType._dash_unarchived_stack_validator, "dash_viewed_company_stack": EventType._dash_viewed_company_stack_validator, "dash_viewed_external_ai_activity_report": EventType._dash_viewed_external_ai_activity_report_validator, "governance_policy_add_folders": EventType._governance_policy_add_folders_validator, "governance_policy_add_folder_failed": EventType._governance_policy_add_folder_failed_validator, "governance_policy_content_disposed": EventType._governance_policy_content_disposed_validator, "governance_policy_create": EventType._governance_policy_create_validator, "governance_policy_delete": EventType._governance_policy_delete_validator, "governance_policy_edit_details": EventType._governance_policy_edit_details_validator, "governance_policy_edit_duration": EventType._governance_policy_edit_duration_validator, "governance_policy_export_created": EventType._governance_policy_export_created_validator, "governance_policy_export_removed": EventType._governance_policy_export_removed_validator, "governance_policy_remove_folders": EventType._governance_policy_remove_folders_validator, "governance_policy_report_created": EventType._governance_policy_report_created_validator, "governance_policy_zip_part_downloaded": EventType._governance_policy_zip_part_downloaded_validator, "legal_holds_activate_a_hold": EventType._legal_holds_activate_a_hold_validator, "legal_holds_add_members": EventType._legal_holds_add_members_validator, "legal_holds_change_hold_details": EventType._legal_holds_change_hold_details_validator, "legal_holds_change_hold_name": EventType._legal_holds_change_hold_name_validator, "legal_holds_export_a_hold": EventType._legal_holds_export_a_hold_validator, "legal_holds_export_cancelled": EventType._legal_holds_export_cancelled_validator, "legal_holds_export_downloaded": EventType._legal_holds_export_downloaded_validator, "legal_holds_export_removed": EventType._legal_holds_export_removed_validator, "legal_holds_release_a_hold": EventType._legal_holds_release_a_hold_validator, "legal_holds_remove_members": EventType._legal_holds_remove_members_validator, "legal_holds_report_a_hold": EventType._legal_holds_report_a_hold_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_sync_backup_status_changed": EventType._device_sync_backup_status_changed_validator, "device_unlink": EventType._device_unlink_validator, "dropbox_passwords_exported": EventType._dropbox_passwords_exported_validator, "dropbox_passwords_new_device_enrolled": EventType._dropbox_passwords_new_device_enrolled_validator, "emm_refresh_auth_token": EventType._emm_refresh_auth_token_validator, "external_drive_backup_eligibility_status_checked": EventType._external_drive_backup_eligibility_status_checked_validator, "external_drive_backup_status_changed": EventType._external_drive_backup_status_changed_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, "encrypted_folder_cancel_team_key_rotation": EventType._encrypted_folder_cancel_team_key_rotation_validator, "encrypted_folder_enroll_backup_key": EventType._encrypted_folder_enroll_backup_key_validator, "encrypted_folder_enroll_client": EventType._encrypted_folder_enroll_client_validator, "encrypted_folder_enroll_team": EventType._encrypted_folder_enroll_team_validator, "encrypted_folder_finish_team_unenrollment": EventType._encrypted_folder_finish_team_unenrollment_validator, "encrypted_folder_init_team_key_rotation": EventType._encrypted_folder_init_team_key_rotation_validator, "encrypted_folder_init_team_unenrollment": EventType._encrypted_folder_init_team_unenrollment_validator, "encrypted_folder_remove_backup_key": EventType._encrypted_folder_remove_backup_key_validator, "encrypted_folder_rotate_team_key": EventType._encrypted_folder_rotate_team_key_validator, "encrypted_folder_unenroll_client": EventType._encrypted_folder_unenroll_client_validator, "team_encryption_key_activate_key": EventType._team_encryption_key_activate_key_validator, "team_encryption_key_cancel_key_deletion": EventType._team_encryption_key_cancel_key_deletion_validator, "team_encryption_key_create_key": EventType._team_encryption_key_create_key_validator, "team_encryption_key_deactivate_key": EventType._team_encryption_key_deactivate_key_validator, "team_encryption_key_delete_key": EventType._team_encryption_key_delete_key_validator, "team_encryption_key_disable_key": EventType._team_encryption_key_disable_key_validator, "team_encryption_key_enable_key": EventType._team_encryption_key_enable_key_validator, "team_encryption_key_rotate_key": EventType._team_encryption_key_rotate_key_validator, "team_encryption_key_schedule_key_deletion": EventType._team_encryption_key_schedule_key_deletion_validator, "apply_naming_convention": EventType._apply_naming_convention_validator, "create_folder": EventType._create_folder_validator, "file_add": EventType._file_add_validator, "file_add_from_automation": EventType._file_add_from_automation_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_locking_lock_status_changed": EventType._file_locking_lock_status_changed_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, "folder_overview_description_changed": EventType._folder_overview_description_changed_validator, "folder_overview_item_pinned": EventType._folder_overview_item_pinned_validator, "folder_overview_item_unpinned": EventType._folder_overview_item_unpinned_validator, "media_hub_file_downloaded": EventType._media_hub_file_downloaded_validator, "object_label_added": EventType._object_label_added_validator, "object_label_removed": EventType._object_label_removed_validator, "object_label_updated_value": EventType._object_label_updated_value_validator, "organize_folder_with_tidy": EventType._organize_folder_with_tidy_validator, "replay_file_delete": EventType._replay_file_delete_validator, "replay_file_downloaded": EventType._replay_file_downloaded_validator, "replay_team_project_created": EventType._replay_team_project_created_validator, "rewind_folder": EventType._rewind_folder_validator, "undo_naming_convention": EventType._undo_naming_convention_validator, "undo_organize_folder_with_tidy": EventType._undo_organize_folder_with_tidy_validator, "user_tags_added": EventType._user_tags_added_validator, "user_tags_removed": EventType._user_tags_removed_validator, "email_ingest_receive_file": EventType._email_ingest_receive_file_validator, "file_request_auto_close": EventType._file_request_auto_close_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_external_sharing_setting_override_changed": EventType._group_external_sharing_setting_override_changed_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, "account_lock_or_unlocked": EventType._account_lock_or_unlocked_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, "addon_assigned": EventType._addon_assigned_validator, "addon_removed": EventType._addon_removed_validator, "backup_admin_invitation_sent": EventType._backup_admin_invitation_sent_validator, "backup_invitation_opened": EventType._backup_invitation_opened_validator, "create_team_invite_link": EventType._create_team_invite_link_validator, "delete_team_invite_link": EventType._delete_team_invite_link_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_reseller_role": EventType._member_change_reseller_role_validator, "member_change_status": EventType._member_change_status_validator, "member_delete_manual_contacts": EventType._member_delete_manual_contacts_validator, "member_delete_profile_photo": EventType._member_delete_profile_photo_validator, "member_permanently_delete_account_contents": EventType._member_permanently_delete_account_contents_validator, "member_remove_external_id": EventType._member_remove_external_id_validator, "member_set_profile_photo": EventType._member_set_profile_photo_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, "pending_secondary_email_added": EventType._pending_secondary_email_added_validator, "product_assigned_to_member": EventType._product_assigned_to_member_validator, "product_removed_from_member": EventType._product_removed_from_member_validator, "secondary_email_deleted": EventType._secondary_email_deleted_validator, "secondary_email_verified": EventType._secondary_email_verified_validator, "secondary_mails_policy_changed": EventType._secondary_mails_policy_changed_validator, "binder_add_page": EventType._binder_add_page_validator, "binder_add_section": EventType._binder_add_section_validator, "binder_remove_page": EventType._binder_remove_page_validator, "binder_remove_section": EventType._binder_remove_section_validator, "binder_rename_page": EventType._binder_rename_page_validator, "binder_rename_section": EventType._binder_rename_section_validator, "binder_reorder_page": EventType._binder_reorder_page_validator, "binder_reorder_section": EventType._binder_reorder_section_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_change_permission": EventType._paper_published_link_change_permission_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, "protect_internal_domains_changed": EventType._protect_internal_domains_changed_validator, "classification_create_report": EventType._classification_create_report_validator, "classification_create_report_fail": EventType._classification_create_report_fail_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, "export_members_report_fail": EventType._export_members_report_fail_validator, "external_sharing_create_report": EventType._external_sharing_create_report_validator, "external_sharing_report_failed": EventType._external_sharing_report_failed_validator, "member_access_details_create_report": EventType._member_access_details_create_report_validator, "member_access_details_create_report_failed": EventType._member_access_details_create_report_failed_validator, "no_expiration_link_gen_create_report": EventType._no_expiration_link_gen_create_report_validator, "no_expiration_link_gen_report_failed": EventType._no_expiration_link_gen_report_failed_validator, "no_password_link_gen_create_report": EventType._no_password_link_gen_create_report_validator, "no_password_link_gen_report_failed": EventType._no_password_link_gen_report_failed_validator, "no_password_link_view_create_report": EventType._no_password_link_view_create_report_validator, "no_password_link_view_report_failed": EventType._no_password_link_view_report_failed_validator, "outdated_link_view_create_report": EventType._outdated_link_view_create_report_validator, "outdated_link_view_report_failed": EventType._outdated_link_view_report_failed_validator, "paper_admin_export_start": EventType._paper_admin_export_start_validator, "ransomware_alert_create_report": EventType._ransomware_alert_create_report_validator, "ransomware_alert_create_report_failed": EventType._ransomware_alert_create_report_failed_validator, "shared_folders_create_report": EventType._shared_folders_create_report_validator, "shared_folders_create_report_failed": EventType._shared_folders_create_report_failed_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, "team_folders_create_report": EventType._team_folders_create_report_validator, "team_folders_create_report_failed": EventType._team_folders_create_report_failed_validator, "team_storage_create_report": EventType._team_storage_create_report_validator, "team_storage_create_report_failed": EventType._team_storage_create_report_failed_validator, "collection_share": EventType._collection_share_validator, "file_transfers_file_add": EventType._file_transfers_file_add_validator, "file_transfers_transfer_delete": EventType._file_transfers_transfer_delete_validator, "file_transfers_transfer_download": EventType._file_transfers_transfer_download_validator, "file_transfers_transfer_send": EventType._file_transfers_transfer_send_validator, "file_transfers_transfer_view": EventType._file_transfers_transfer_view_validator, "media_hub_project_team_add": EventType._media_hub_project_team_add_validator, "media_hub_project_team_delete": EventType._media_hub_project_team_delete_validator, "media_hub_project_team_role_changed": EventType._media_hub_project_team_role_changed_validator, "media_hub_shared_link_audience_changed": EventType._media_hub_shared_link_audience_changed_validator, "media_hub_shared_link_created": EventType._media_hub_shared_link_created_validator, "media_hub_shared_link_download_setting_changed": EventType._media_hub_shared_link_download_setting_changed_validator, "media_hub_shared_link_revoked": EventType._media_hub_shared_link_revoked_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, "replay_file_shared_link_created": EventType._replay_file_shared_link_created_validator, "replay_file_shared_link_modified": EventType._replay_file_shared_link_modified_validator, "replay_project_team_add": EventType._replay_project_team_add_validator, "replay_project_team_delete": EventType._replay_project_team_delete_validator, "send_and_track_file_added": EventType._send_and_track_file_added_validator, "send_and_track_file_renamed": EventType._send_and_track_file_renamed_validator, "send_and_track_file_updated": EventType._send_and_track_file_updated_validator, "send_and_track_link_created": EventType._send_and_track_link_created_validator, "send_and_track_link_deleted": EventType._send_and_track_link_deleted_validator, "send_and_track_link_updated": EventType._send_and_track_link_updated_validator, "send_and_track_link_viewed": EventType._send_and_track_link_viewed_validator, "send_and_track_removed_file_and_associated_links": EventType._send_and_track_removed_file_and_associated_links_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_restore_invitees": EventType._shared_content_restore_invitees_validator, "shared_content_restore_member": EventType._shared_content_restore_member_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_remove_visitor": EventType._shared_link_remove_visitor_validator, "shared_link_settings_add_expiration": EventType._shared_link_settings_add_expiration_validator, "shared_link_settings_add_password": EventType._shared_link_settings_add_password_validator, "shared_link_settings_allow_download_disabled": EventType._shared_link_settings_allow_download_disabled_validator, "shared_link_settings_allow_download_enabled": EventType._shared_link_settings_allow_download_enabled_validator, "shared_link_settings_change_audience": EventType._shared_link_settings_change_audience_validator, "shared_link_settings_change_expiration": EventType._shared_link_settings_change_expiration_validator, "shared_link_settings_change_password": EventType._shared_link_settings_change_password_validator, "shared_link_settings_remove_expiration": EventType._shared_link_settings_remove_expiration_validator, "shared_link_settings_remove_password": EventType._shared_link_settings_remove_password_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_disable_downloads": EventType._shmodel_disable_downloads_validator, "shmodel_enable_downloads": EventType._shmodel_enable_downloads_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, "sign_signature_request_canceled": EventType._sign_signature_request_canceled_validator, "sign_signature_request_completed": EventType._sign_signature_request_completed_validator, "sign_signature_request_declined": EventType._sign_signature_request_declined_validator, "sign_signature_request_opened": EventType._sign_signature_request_opened_validator, "sign_signature_request_reminder_sent": EventType._sign_signature_request_reminder_sent_validator, "sign_signature_request_sent": EventType._sign_signature_request_sent_validator, "sign_template_created": EventType._sign_template_created_validator, "sign_template_shared": EventType._sign_template_shared_validator, "risc_security_event": EventType._risc_security_event_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_folder_space_limits_change_caps_type": EventType._team_folder_space_limits_change_caps_type_validator, "team_folder_space_limits_change_limit": EventType._team_folder_space_limits_change_limit_validator, "team_folder_space_limits_change_notification_target": EventType._team_folder_space_limits_change_notification_target_validator, "team_selective_sync_settings_changed": EventType._team_selective_sync_settings_changed_validator, "account_capture_change_policy": EventType._account_capture_change_policy_validator, "admin_email_reminders_changed": EventType._admin_email_reminders_changed_validator, "ai_third_party_sharing_dropbox_base_policy_changed": EventType._ai_third_party_sharing_dropbox_base_policy_changed_validator, "allow_download_disabled": EventType._allow_download_disabled_validator, "allow_download_enabled": EventType._allow_download_enabled_validator, "apple_login_change_policy": EventType._apple_login_change_policy_validator, "app_permissions_changed": EventType._app_permissions_changed_validator, "camera_uploads_policy_changed": EventType._camera_uploads_policy_changed_validator, "capture_team_space_policy_changed": EventType._capture_team_space_policy_changed_validator, "capture_transcript_policy_changed": EventType._capture_transcript_policy_changed_validator, "classification_change_policy": EventType._classification_change_policy_validator, "computer_backup_policy_changed": EventType._computer_backup_policy_changed_validator, "content_administration_policy_changed": EventType._content_administration_policy_changed_validator, "content_deletion_protection_change_policy": EventType._content_deletion_protection_change_policy_validator, "dash_external_sharing_policy_changed": EventType._dash_external_sharing_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_add_exception": EventType._device_approvals_add_exception_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, "device_approvals_remove_exception": EventType._device_approvals_remove_exception_validator, "directory_restrictions_add_members": EventType._directory_restrictions_add_members_validator, "directory_restrictions_remove_members": EventType._directory_restrictions_remove_members_validator, "dropbox_passwords_policy_changed": EventType._dropbox_passwords_policy_changed_validator, "email_ingest_policy_changed": EventType._email_ingest_policy_changed_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, "external_drive_backup_policy_changed": EventType._external_drive_backup_policy_changed_validator, "file_comments_change_policy": EventType._file_comments_change_policy_validator, "file_locking_policy_changed": EventType._file_locking_policy_changed_validator, "file_provider_migration_policy_changed": EventType._file_provider_migration_policy_changed_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, "file_transfers_policy_changed": EventType._file_transfers_policy_changed_validator, "flexible_file_names_policy_changed": EventType._flexible_file_names_policy_changed_validator, "folder_link_restriction_policy_changed": EventType._folder_link_restriction_policy_changed_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, "invite_acceptance_email_policy_changed": EventType._invite_acceptance_email_policy_changed_validator, "media_hub_adding_people_policy_changed": EventType._media_hub_adding_people_policy_changed_validator, "media_hub_download_policy_changed": EventType._media_hub_download_policy_changed_validator, "media_hub_link_sharing_policy_changed": EventType._media_hub_link_sharing_policy_changed_validator, "member_requests_change_policy": EventType._member_requests_change_policy_validator, "member_send_invite_policy_changed": EventType._member_send_invite_policy_changed_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_login_change_policy": EventType._microsoft_login_change_policy_validator, "microsoft_office_addin_change_policy": EventType._microsoft_office_addin_change_policy_validator, "multi_team_identity_policy_changed": EventType._multi_team_identity_policy_changed_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, "passkey_login_policy_changed": EventType._passkey_login_policy_changed_validator, "password_strength_requirements_change_policy": EventType._password_strength_requirements_change_policy_validator, "permanent_delete_change_policy": EventType._permanent_delete_change_policy_validator, "previews_ai_policy_changed": EventType._previews_ai_policy_changed_validator, "replay_adding_people_policy_changed": EventType._replay_adding_people_policy_changed_validator, "replay_sharing_policy_changed": EventType._replay_sharing_policy_changed_validator, "reseller_support_change_policy": EventType._reseller_support_change_policy_validator, "rewind_policy_changed": EventType._rewind_policy_changed_validator, "send_and_track_policy_changed": EventType._send_and_track_policy_changed_validator, "send_external_sharing_policy_changed": EventType._send_external_sharing_policy_changed_validator, "send_for_signature_policy_changed": EventType._send_for_signature_policy_changed_validator, "shared_link_default_permissions_policy_changed": EventType._shared_link_default_permissions_policy_changed_validator, "sharing_change_folder_join_policy": EventType._sharing_change_folder_join_policy_validator, "sharing_change_link_allow_change_expiration_policy": EventType._sharing_change_link_allow_change_expiration_policy_validator, "sharing_change_link_default_expiration_policy": EventType._sharing_change_link_default_expiration_policy_validator, "sharing_change_link_enforce_password_policy": EventType._sharing_change_link_enforce_password_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, "sign_external_sharing_policy_changed": EventType._sign_external_sharing_policy_changed_validator, "sign_template_creation_permission_changed": EventType._sign_template_creation_permission_changed_validator, "smarter_smart_sync_policy_changed": EventType._smarter_smart_sync_policy_changed_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, "stack_cross_team_access_policy_changed": EventType._stack_cross_team_access_policy_changed_validator, "team_branding_policy_changed": EventType._team_branding_policy_changed_validator, "team_extensions_policy_changed": EventType._team_extensions_policy_changed_validator, "team_member_storage_request_policy_changed": EventType._team_member_storage_request_policy_changed_validator, "team_selective_sync_policy_changed": EventType._team_selective_sync_policy_changed_validator, "team_sharing_whitelist_subjects_changed": EventType._team_sharing_whitelist_subjects_changed_validator, "tfa_add_exception": EventType._tfa_add_exception_validator, "tfa_change_policy": EventType._tfa_change_policy_validator, "tfa_remove_exception": EventType._tfa_remove_exception_validator, "top_level_content_policy_changed": EventType._top_level_content_policy_changed_validator, "two_account_change_policy": EventType._two_account_change_policy_validator, "viewer_info_policy_changed": EventType._viewer_info_policy_changed_validator, "watermarking_policy_changed": EventType._watermarking_policy_changed_validator, "web_sessions_change_active_session_limit": EventType._web_sessions_change_active_session_limit_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, "data_residency_migration_request_successful": EventType._data_residency_migration_request_successful_validator, "data_residency_migration_request_unsuccessful": EventType._data_residency_migration_request_unsuccessful_validator, "team_merge_from": EventType._team_merge_from_validator, "team_merge_to": EventType._team_merge_to_validator, "team_profile_add_background": EventType._team_profile_add_background_validator, "team_profile_add_logo": EventType._team_profile_add_logo_validator, "team_profile_change_background": EventType._team_profile_change_background_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_background": EventType._team_profile_remove_background_validator, "team_profile_remove_logo": EventType._team_profile_remove_logo_validator, "passkey_add": EventType._passkey_add_validator, "passkey_remove": EventType._passkey_remove_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, "changed_enterprise_admin_role": EventType._changed_enterprise_admin_role_validator, "changed_enterprise_connected_team_status": EventType._changed_enterprise_connected_team_status_validator, "ended_enterprise_admin_session": EventType._ended_enterprise_admin_session_validator, "ended_enterprise_admin_session_deprecated": EventType._ended_enterprise_admin_session_deprecated_validator, "enterprise_settings_locking": EventType._enterprise_settings_locking_validator, "guest_admin_change_status": EventType._guest_admin_change_status_validator, "started_enterprise_admin_session": EventType._started_enterprise_admin_session_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") EventTypeArg._admin_alerting_alert_state_changed_validator = bv.Void() EventTypeArg._admin_alerting_changed_alert_config_validator = bv.Void() EventTypeArg._admin_alerting_triggered_alert_validator = bv.Void() EventTypeArg._ransomware_restore_process_completed_validator = bv.Void() EventTypeArg._ransomware_restore_process_started_validator = bv.Void() EventTypeArg._app_blocked_by_permissions_validator = bv.Void() EventTypeArg._app_link_team_validator = bv.Void() EventTypeArg._app_link_user_validator = bv.Void() EventTypeArg._app_unlink_team_validator = bv.Void() EventTypeArg._app_unlink_user_validator = bv.Void() EventTypeArg._integration_connected_validator = bv.Void() EventTypeArg._integration_disconnected_validator = bv.Void() EventTypeArg._file_add_comment_validator = bv.Void() EventTypeArg._file_change_comment_subscription_validator = bv.Void() EventTypeArg._file_delete_comment_validator = bv.Void() EventTypeArg._file_edit_comment_validator = bv.Void() EventTypeArg._file_like_comment_validator = bv.Void() EventTypeArg._file_resolve_comment_validator = bv.Void() EventTypeArg._file_unlike_comment_validator = bv.Void() EventTypeArg._file_unresolve_comment_validator = bv.Void() EventTypeArg._dash_added_comment_to_stack_validator = bv.Void() EventTypeArg._dash_added_connector_validator = bv.Void() EventTypeArg._dash_added_link_to_stack_validator = bv.Void() EventTypeArg._dash_added_team_email_domain_allowlist_validator = bv.Void() EventTypeArg._dash_admin_added_org_wide_connector_validator = bv.Void() EventTypeArg._dash_admin_disabled_connector_validator = bv.Void() EventTypeArg._dash_admin_enabled_connector_validator = bv.Void() EventTypeArg._dash_admin_removed_org_wide_connector_validator = bv.Void() EventTypeArg._dash_archived_stack_validator = bv.Void() EventTypeArg._dash_changed_audience_of_shared_link_to_stack_validator = bv.Void() EventTypeArg._dash_cloned_stack_validator = bv.Void() EventTypeArg._dash_connector_tools_call_validator = bv.Void() EventTypeArg._dash_created_stack_validator = bv.Void() EventTypeArg._dash_deleted_comment_from_stack_validator = bv.Void() EventTypeArg._dash_deleted_stack_validator = bv.Void() EventTypeArg._dash_edited_comment_in_stack_validator = bv.Void() EventTypeArg._dash_external_user_opened_stack_validator = bv.Void() EventTypeArg._dash_first_launched_desktop_validator = bv.Void() EventTypeArg._dash_first_launched_extension_validator = bv.Void() EventTypeArg._dash_first_launched_web_start_page_validator = bv.Void() EventTypeArg._dash_opened_shared_link_to_stack_validator = bv.Void() EventTypeArg._dash_opened_stack_validator = bv.Void() EventTypeArg._dash_preview_opt_out_status_changed_validator = bv.Void() EventTypeArg._dash_removed_connector_validator = bv.Void() EventTypeArg._dash_removed_link_from_stack_validator = bv.Void() EventTypeArg._dash_removed_shared_link_to_stack_validator = bv.Void() EventTypeArg._dash_removed_team_email_domain_allowlist_validator = bv.Void() EventTypeArg._dash_renamed_stack_validator = bv.Void() EventTypeArg._dash_shared_link_to_stack_validator = bv.Void() EventTypeArg._dash_unarchived_stack_validator = bv.Void() EventTypeArg._dash_viewed_company_stack_validator = bv.Void() EventTypeArg._dash_viewed_external_ai_activity_report_validator = bv.Void() EventTypeArg._governance_policy_add_folders_validator = bv.Void() EventTypeArg._governance_policy_add_folder_failed_validator = bv.Void() EventTypeArg._governance_policy_content_disposed_validator = bv.Void() EventTypeArg._governance_policy_create_validator = bv.Void() EventTypeArg._governance_policy_delete_validator = bv.Void() EventTypeArg._governance_policy_edit_details_validator = bv.Void() EventTypeArg._governance_policy_edit_duration_validator = bv.Void() EventTypeArg._governance_policy_export_created_validator = bv.Void() EventTypeArg._governance_policy_export_removed_validator = bv.Void() EventTypeArg._governance_policy_remove_folders_validator = bv.Void() EventTypeArg._governance_policy_report_created_validator = bv.Void() EventTypeArg._governance_policy_zip_part_downloaded_validator = bv.Void() EventTypeArg._legal_holds_activate_a_hold_validator = bv.Void() EventTypeArg._legal_holds_add_members_validator = bv.Void() EventTypeArg._legal_holds_change_hold_details_validator = bv.Void() EventTypeArg._legal_holds_change_hold_name_validator = bv.Void() EventTypeArg._legal_holds_export_a_hold_validator = bv.Void() EventTypeArg._legal_holds_export_cancelled_validator = bv.Void() EventTypeArg._legal_holds_export_downloaded_validator = bv.Void() EventTypeArg._legal_holds_export_removed_validator = bv.Void() EventTypeArg._legal_holds_release_a_hold_validator = bv.Void() EventTypeArg._legal_holds_remove_members_validator = bv.Void() EventTypeArg._legal_holds_report_a_hold_validator = bv.Void() EventTypeArg._device_change_ip_desktop_validator = bv.Void() EventTypeArg._device_change_ip_mobile_validator = bv.Void() EventTypeArg._device_change_ip_web_validator = bv.Void() EventTypeArg._device_delete_on_unlink_fail_validator = bv.Void() EventTypeArg._device_delete_on_unlink_success_validator = bv.Void() EventTypeArg._device_link_fail_validator = bv.Void() EventTypeArg._device_link_success_validator = bv.Void() EventTypeArg._device_management_disabled_validator = bv.Void() EventTypeArg._device_management_enabled_validator = bv.Void() EventTypeArg._device_sync_backup_status_changed_validator = bv.Void() EventTypeArg._device_unlink_validator = bv.Void() EventTypeArg._dropbox_passwords_exported_validator = bv.Void() EventTypeArg._dropbox_passwords_new_device_enrolled_validator = bv.Void() EventTypeArg._emm_refresh_auth_token_validator = bv.Void() EventTypeArg._external_drive_backup_eligibility_status_checked_validator = bv.Void() EventTypeArg._external_drive_backup_status_changed_validator = bv.Void() EventTypeArg._account_capture_change_availability_validator = bv.Void() EventTypeArg._account_capture_migrate_account_validator = bv.Void() EventTypeArg._account_capture_notification_emails_sent_validator = bv.Void() EventTypeArg._account_capture_relinquish_account_validator = bv.Void() EventTypeArg._disabled_domain_invites_validator = bv.Void() EventTypeArg._domain_invites_approve_request_to_join_team_validator = bv.Void() EventTypeArg._domain_invites_decline_request_to_join_team_validator = bv.Void() EventTypeArg._domain_invites_email_existing_users_validator = bv.Void() EventTypeArg._domain_invites_request_to_join_team_validator = bv.Void() EventTypeArg._domain_invites_set_invite_new_user_pref_to_no_validator = bv.Void() EventTypeArg._domain_invites_set_invite_new_user_pref_to_yes_validator = bv.Void() EventTypeArg._domain_verification_add_domain_fail_validator = bv.Void() EventTypeArg._domain_verification_add_domain_success_validator = bv.Void() EventTypeArg._domain_verification_remove_domain_validator = bv.Void() EventTypeArg._enabled_domain_invites_validator = bv.Void() EventTypeArg._encrypted_folder_cancel_team_key_rotation_validator = bv.Void() EventTypeArg._encrypted_folder_enroll_backup_key_validator = bv.Void() EventTypeArg._encrypted_folder_enroll_client_validator = bv.Void() EventTypeArg._encrypted_folder_enroll_team_validator = bv.Void() EventTypeArg._encrypted_folder_finish_team_unenrollment_validator = bv.Void() EventTypeArg._encrypted_folder_init_team_key_rotation_validator = bv.Void() EventTypeArg._encrypted_folder_init_team_unenrollment_validator = bv.Void() EventTypeArg._encrypted_folder_remove_backup_key_validator = bv.Void() EventTypeArg._encrypted_folder_rotate_team_key_validator = bv.Void() EventTypeArg._encrypted_folder_unenroll_client_validator = bv.Void() EventTypeArg._team_encryption_key_activate_key_validator = bv.Void() EventTypeArg._team_encryption_key_cancel_key_deletion_validator = bv.Void() EventTypeArg._team_encryption_key_create_key_validator = bv.Void() EventTypeArg._team_encryption_key_deactivate_key_validator = bv.Void() EventTypeArg._team_encryption_key_delete_key_validator = bv.Void() EventTypeArg._team_encryption_key_disable_key_validator = bv.Void() EventTypeArg._team_encryption_key_enable_key_validator = bv.Void() EventTypeArg._team_encryption_key_rotate_key_validator = bv.Void() EventTypeArg._team_encryption_key_schedule_key_deletion_validator = bv.Void() EventTypeArg._apply_naming_convention_validator = bv.Void() EventTypeArg._create_folder_validator = bv.Void() EventTypeArg._file_add_validator = bv.Void() EventTypeArg._file_add_from_automation_validator = bv.Void() EventTypeArg._file_copy_validator = bv.Void() EventTypeArg._file_delete_validator = bv.Void() EventTypeArg._file_download_validator = bv.Void() EventTypeArg._file_edit_validator = bv.Void() EventTypeArg._file_get_copy_reference_validator = bv.Void() EventTypeArg._file_locking_lock_status_changed_validator = bv.Void() EventTypeArg._file_move_validator = bv.Void() EventTypeArg._file_permanently_delete_validator = bv.Void() EventTypeArg._file_preview_validator = bv.Void() EventTypeArg._file_rename_validator = bv.Void() EventTypeArg._file_restore_validator = bv.Void() EventTypeArg._file_revert_validator = bv.Void() EventTypeArg._file_rollback_changes_validator = bv.Void() EventTypeArg._file_save_copy_reference_validator = bv.Void() EventTypeArg._folder_overview_description_changed_validator = bv.Void() EventTypeArg._folder_overview_item_pinned_validator = bv.Void() EventTypeArg._folder_overview_item_unpinned_validator = bv.Void() EventTypeArg._media_hub_file_downloaded_validator = bv.Void() EventTypeArg._object_label_added_validator = bv.Void() EventTypeArg._object_label_removed_validator = bv.Void() EventTypeArg._object_label_updated_value_validator = bv.Void() EventTypeArg._organize_folder_with_tidy_validator = bv.Void() EventTypeArg._replay_file_delete_validator = bv.Void() EventTypeArg._replay_file_downloaded_validator = bv.Void() EventTypeArg._replay_team_project_created_validator = bv.Void() EventTypeArg._rewind_folder_validator = bv.Void() EventTypeArg._undo_naming_convention_validator = bv.Void() EventTypeArg._undo_organize_folder_with_tidy_validator = bv.Void() EventTypeArg._user_tags_added_validator = bv.Void() EventTypeArg._user_tags_removed_validator = bv.Void() EventTypeArg._email_ingest_receive_file_validator = bv.Void() EventTypeArg._file_request_auto_close_validator = bv.Void() EventTypeArg._file_request_change_validator = bv.Void() EventTypeArg._file_request_close_validator = bv.Void() EventTypeArg._file_request_create_validator = bv.Void() EventTypeArg._file_request_delete_validator = bv.Void() EventTypeArg._file_request_receive_file_validator = bv.Void() EventTypeArg._group_add_external_id_validator = bv.Void() EventTypeArg._group_add_member_validator = bv.Void() EventTypeArg._group_change_external_id_validator = bv.Void() EventTypeArg._group_change_management_type_validator = bv.Void() EventTypeArg._group_change_member_role_validator = bv.Void() EventTypeArg._group_create_validator = bv.Void() EventTypeArg._group_delete_validator = bv.Void() EventTypeArg._group_description_updated_validator = bv.Void() EventTypeArg._group_external_sharing_setting_override_changed_validator = bv.Void() EventTypeArg._group_join_policy_updated_validator = bv.Void() EventTypeArg._group_moved_validator = bv.Void() EventTypeArg._group_remove_external_id_validator = bv.Void() EventTypeArg._group_remove_member_validator = bv.Void() EventTypeArg._group_rename_validator = bv.Void() EventTypeArg._account_lock_or_unlocked_validator = bv.Void() EventTypeArg._emm_error_validator = bv.Void() EventTypeArg._guest_admin_signed_in_via_trusted_teams_validator = bv.Void() EventTypeArg._guest_admin_signed_out_via_trusted_teams_validator = bv.Void() EventTypeArg._login_fail_validator = bv.Void() EventTypeArg._login_success_validator = bv.Void() EventTypeArg._logout_validator = bv.Void() EventTypeArg._reseller_support_session_end_validator = bv.Void() EventTypeArg._reseller_support_session_start_validator = bv.Void() EventTypeArg._sign_in_as_session_end_validator = bv.Void() EventTypeArg._sign_in_as_session_start_validator = bv.Void() EventTypeArg._sso_error_validator = bv.Void() EventTypeArg._addon_assigned_validator = bv.Void() EventTypeArg._addon_removed_validator = bv.Void() EventTypeArg._backup_admin_invitation_sent_validator = bv.Void() EventTypeArg._backup_invitation_opened_validator = bv.Void() EventTypeArg._create_team_invite_link_validator = bv.Void() EventTypeArg._delete_team_invite_link_validator = bv.Void() EventTypeArg._member_add_external_id_validator = bv.Void() EventTypeArg._member_add_name_validator = bv.Void() EventTypeArg._member_change_admin_role_validator = bv.Void() EventTypeArg._member_change_email_validator = bv.Void() EventTypeArg._member_change_external_id_validator = bv.Void() EventTypeArg._member_change_membership_type_validator = bv.Void() EventTypeArg._member_change_name_validator = bv.Void() EventTypeArg._member_change_reseller_role_validator = bv.Void() EventTypeArg._member_change_status_validator = bv.Void() EventTypeArg._member_delete_manual_contacts_validator = bv.Void() EventTypeArg._member_delete_profile_photo_validator = bv.Void() EventTypeArg._member_permanently_delete_account_contents_validator = bv.Void() EventTypeArg._member_remove_external_id_validator = bv.Void() EventTypeArg._member_set_profile_photo_validator = bv.Void() EventTypeArg._member_space_limits_add_custom_quota_validator = bv.Void() EventTypeArg._member_space_limits_change_custom_quota_validator = bv.Void() EventTypeArg._member_space_limits_change_status_validator = bv.Void() EventTypeArg._member_space_limits_remove_custom_quota_validator = bv.Void() EventTypeArg._member_suggest_validator = bv.Void() EventTypeArg._member_transfer_account_contents_validator = bv.Void() EventTypeArg._pending_secondary_email_added_validator = bv.Void() EventTypeArg._product_assigned_to_member_validator = bv.Void() EventTypeArg._product_removed_from_member_validator = bv.Void() EventTypeArg._secondary_email_deleted_validator = bv.Void() EventTypeArg._secondary_email_verified_validator = bv.Void() EventTypeArg._secondary_mails_policy_changed_validator = bv.Void() EventTypeArg._binder_add_page_validator = bv.Void() EventTypeArg._binder_add_section_validator = bv.Void() EventTypeArg._binder_remove_page_validator = bv.Void() EventTypeArg._binder_remove_section_validator = bv.Void() EventTypeArg._binder_rename_page_validator = bv.Void() EventTypeArg._binder_rename_section_validator = bv.Void() EventTypeArg._binder_reorder_page_validator = bv.Void() EventTypeArg._binder_reorder_section_validator = bv.Void() EventTypeArg._paper_content_add_member_validator = bv.Void() EventTypeArg._paper_content_add_to_folder_validator = bv.Void() EventTypeArg._paper_content_archive_validator = bv.Void() EventTypeArg._paper_content_create_validator = bv.Void() EventTypeArg._paper_content_permanently_delete_validator = bv.Void() EventTypeArg._paper_content_remove_from_folder_validator = bv.Void() EventTypeArg._paper_content_remove_member_validator = bv.Void() EventTypeArg._paper_content_rename_validator = bv.Void() EventTypeArg._paper_content_restore_validator = bv.Void() EventTypeArg._paper_doc_add_comment_validator = bv.Void() EventTypeArg._paper_doc_change_member_role_validator = bv.Void() EventTypeArg._paper_doc_change_sharing_policy_validator = bv.Void() EventTypeArg._paper_doc_change_subscription_validator = bv.Void() EventTypeArg._paper_doc_deleted_validator = bv.Void() EventTypeArg._paper_doc_delete_comment_validator = bv.Void() EventTypeArg._paper_doc_download_validator = bv.Void() EventTypeArg._paper_doc_edit_validator = bv.Void() EventTypeArg._paper_doc_edit_comment_validator = bv.Void() EventTypeArg._paper_doc_followed_validator = bv.Void() EventTypeArg._paper_doc_mention_validator = bv.Void() EventTypeArg._paper_doc_ownership_changed_validator = bv.Void() EventTypeArg._paper_doc_request_access_validator = bv.Void() EventTypeArg._paper_doc_resolve_comment_validator = bv.Void() EventTypeArg._paper_doc_revert_validator = bv.Void() EventTypeArg._paper_doc_slack_share_validator = bv.Void() EventTypeArg._paper_doc_team_invite_validator = bv.Void() EventTypeArg._paper_doc_trashed_validator = bv.Void() EventTypeArg._paper_doc_unresolve_comment_validator = bv.Void() EventTypeArg._paper_doc_untrashed_validator = bv.Void() EventTypeArg._paper_doc_view_validator = bv.Void() EventTypeArg._paper_external_view_allow_validator = bv.Void() EventTypeArg._paper_external_view_default_team_validator = bv.Void() EventTypeArg._paper_external_view_forbid_validator = bv.Void() EventTypeArg._paper_folder_change_subscription_validator = bv.Void() EventTypeArg._paper_folder_deleted_validator = bv.Void() EventTypeArg._paper_folder_followed_validator = bv.Void() EventTypeArg._paper_folder_team_invite_validator = bv.Void() EventTypeArg._paper_published_link_change_permission_validator = bv.Void() EventTypeArg._paper_published_link_create_validator = bv.Void() EventTypeArg._paper_published_link_disabled_validator = bv.Void() EventTypeArg._paper_published_link_view_validator = bv.Void() EventTypeArg._password_change_validator = bv.Void() EventTypeArg._password_reset_validator = bv.Void() EventTypeArg._password_reset_all_validator = bv.Void() EventTypeArg._protect_internal_domains_changed_validator = bv.Void() EventTypeArg._classification_create_report_validator = bv.Void() EventTypeArg._classification_create_report_fail_validator = bv.Void() EventTypeArg._emm_create_exceptions_report_validator = bv.Void() EventTypeArg._emm_create_usage_report_validator = bv.Void() EventTypeArg._export_members_report_validator = bv.Void() EventTypeArg._export_members_report_fail_validator = bv.Void() EventTypeArg._external_sharing_create_report_validator = bv.Void() EventTypeArg._external_sharing_report_failed_validator = bv.Void() EventTypeArg._member_access_details_create_report_validator = bv.Void() EventTypeArg._member_access_details_create_report_failed_validator = bv.Void() EventTypeArg._no_expiration_link_gen_create_report_validator = bv.Void() EventTypeArg._no_expiration_link_gen_report_failed_validator = bv.Void() EventTypeArg._no_password_link_gen_create_report_validator = bv.Void() EventTypeArg._no_password_link_gen_report_failed_validator = bv.Void() EventTypeArg._no_password_link_view_create_report_validator = bv.Void() EventTypeArg._no_password_link_view_report_failed_validator = bv.Void() EventTypeArg._outdated_link_view_create_report_validator = bv.Void() EventTypeArg._outdated_link_view_report_failed_validator = bv.Void() EventTypeArg._paper_admin_export_start_validator = bv.Void() EventTypeArg._ransomware_alert_create_report_validator = bv.Void() EventTypeArg._ransomware_alert_create_report_failed_validator = bv.Void() EventTypeArg._shared_folders_create_report_validator = bv.Void() EventTypeArg._shared_folders_create_report_failed_validator = bv.Void() EventTypeArg._smart_sync_create_admin_privilege_report_validator = bv.Void() EventTypeArg._team_activity_create_report_validator = bv.Void() EventTypeArg._team_activity_create_report_fail_validator = bv.Void() EventTypeArg._team_folders_create_report_validator = bv.Void() EventTypeArg._team_folders_create_report_failed_validator = bv.Void() EventTypeArg._team_storage_create_report_validator = bv.Void() EventTypeArg._team_storage_create_report_failed_validator = bv.Void() EventTypeArg._collection_share_validator = bv.Void() EventTypeArg._file_transfers_file_add_validator = bv.Void() EventTypeArg._file_transfers_transfer_delete_validator = bv.Void() EventTypeArg._file_transfers_transfer_download_validator = bv.Void() EventTypeArg._file_transfers_transfer_send_validator = bv.Void() EventTypeArg._file_transfers_transfer_view_validator = bv.Void() EventTypeArg._media_hub_project_team_add_validator = bv.Void() EventTypeArg._media_hub_project_team_delete_validator = bv.Void() EventTypeArg._media_hub_project_team_role_changed_validator = bv.Void() EventTypeArg._media_hub_shared_link_audience_changed_validator = bv.Void() EventTypeArg._media_hub_shared_link_created_validator = bv.Void() EventTypeArg._media_hub_shared_link_download_setting_changed_validator = bv.Void() EventTypeArg._media_hub_shared_link_revoked_validator = bv.Void() EventTypeArg._note_acl_invite_only_validator = bv.Void() EventTypeArg._note_acl_link_validator = bv.Void() EventTypeArg._note_acl_team_link_validator = bv.Void() EventTypeArg._note_shared_validator = bv.Void() EventTypeArg._note_share_receive_validator = bv.Void() EventTypeArg._open_note_shared_validator = bv.Void() EventTypeArg._replay_file_shared_link_created_validator = bv.Void() EventTypeArg._replay_file_shared_link_modified_validator = bv.Void() EventTypeArg._replay_project_team_add_validator = bv.Void() EventTypeArg._replay_project_team_delete_validator = bv.Void() EventTypeArg._send_and_track_file_added_validator = bv.Void() EventTypeArg._send_and_track_file_renamed_validator = bv.Void() EventTypeArg._send_and_track_file_updated_validator = bv.Void() EventTypeArg._send_and_track_link_created_validator = bv.Void() EventTypeArg._send_and_track_link_deleted_validator = bv.Void() EventTypeArg._send_and_track_link_updated_validator = bv.Void() EventTypeArg._send_and_track_link_viewed_validator = bv.Void() EventTypeArg._send_and_track_removed_file_and_associated_links_validator = bv.Void() EventTypeArg._sf_add_group_validator = bv.Void() EventTypeArg._sf_allow_non_members_to_view_shared_links_validator = bv.Void() EventTypeArg._sf_external_invite_warn_validator = bv.Void() EventTypeArg._sf_fb_invite_validator = bv.Void() EventTypeArg._sf_fb_invite_change_role_validator = bv.Void() EventTypeArg._sf_fb_uninvite_validator = bv.Void() EventTypeArg._sf_invite_group_validator = bv.Void() EventTypeArg._sf_team_grant_access_validator = bv.Void() EventTypeArg._sf_team_invite_validator = bv.Void() EventTypeArg._sf_team_invite_change_role_validator = bv.Void() EventTypeArg._sf_team_join_validator = bv.Void() EventTypeArg._sf_team_join_from_oob_link_validator = bv.Void() EventTypeArg._sf_team_uninvite_validator = bv.Void() EventTypeArg._shared_content_add_invitees_validator = bv.Void() EventTypeArg._shared_content_add_link_expiry_validator = bv.Void() EventTypeArg._shared_content_add_link_password_validator = bv.Void() EventTypeArg._shared_content_add_member_validator = bv.Void() EventTypeArg._shared_content_change_downloads_policy_validator = bv.Void() EventTypeArg._shared_content_change_invitee_role_validator = bv.Void() EventTypeArg._shared_content_change_link_audience_validator = bv.Void() EventTypeArg._shared_content_change_link_expiry_validator = bv.Void() EventTypeArg._shared_content_change_link_password_validator = bv.Void() EventTypeArg._shared_content_change_member_role_validator = bv.Void() EventTypeArg._shared_content_change_viewer_info_policy_validator = bv.Void() EventTypeArg._shared_content_claim_invitation_validator = bv.Void() EventTypeArg._shared_content_copy_validator = bv.Void() EventTypeArg._shared_content_download_validator = bv.Void() EventTypeArg._shared_content_relinquish_membership_validator = bv.Void() EventTypeArg._shared_content_remove_invitees_validator = bv.Void() EventTypeArg._shared_content_remove_link_expiry_validator = bv.Void() EventTypeArg._shared_content_remove_link_password_validator = bv.Void() EventTypeArg._shared_content_remove_member_validator = bv.Void() EventTypeArg._shared_content_request_access_validator = bv.Void() EventTypeArg._shared_content_restore_invitees_validator = bv.Void() EventTypeArg._shared_content_restore_member_validator = bv.Void() EventTypeArg._shared_content_unshare_validator = bv.Void() EventTypeArg._shared_content_view_validator = bv.Void() EventTypeArg._shared_folder_change_link_policy_validator = bv.Void() EventTypeArg._shared_folder_change_members_inheritance_policy_validator = bv.Void() EventTypeArg._shared_folder_change_members_management_policy_validator = bv.Void() EventTypeArg._shared_folder_change_members_policy_validator = bv.Void() EventTypeArg._shared_folder_create_validator = bv.Void() EventTypeArg._shared_folder_decline_invitation_validator = bv.Void() EventTypeArg._shared_folder_mount_validator = bv.Void() EventTypeArg._shared_folder_nest_validator = bv.Void() EventTypeArg._shared_folder_transfer_ownership_validator = bv.Void() EventTypeArg._shared_folder_unmount_validator = bv.Void() EventTypeArg._shared_link_add_expiry_validator = bv.Void() EventTypeArg._shared_link_change_expiry_validator = bv.Void() EventTypeArg._shared_link_change_visibility_validator = bv.Void() EventTypeArg._shared_link_copy_validator = bv.Void() EventTypeArg._shared_link_create_validator = bv.Void() EventTypeArg._shared_link_disable_validator = bv.Void() EventTypeArg._shared_link_download_validator = bv.Void() EventTypeArg._shared_link_remove_expiry_validator = bv.Void() EventTypeArg._shared_link_remove_visitor_validator = bv.Void() EventTypeArg._shared_link_settings_add_expiration_validator = bv.Void() EventTypeArg._shared_link_settings_add_password_validator = bv.Void() EventTypeArg._shared_link_settings_allow_download_disabled_validator = bv.Void() EventTypeArg._shared_link_settings_allow_download_enabled_validator = bv.Void() EventTypeArg._shared_link_settings_change_audience_validator = bv.Void() EventTypeArg._shared_link_settings_change_expiration_validator = bv.Void() EventTypeArg._shared_link_settings_change_password_validator = bv.Void() EventTypeArg._shared_link_settings_remove_expiration_validator = bv.Void() EventTypeArg._shared_link_settings_remove_password_validator = bv.Void() EventTypeArg._shared_link_share_validator = bv.Void() EventTypeArg._shared_link_view_validator = bv.Void() EventTypeArg._shared_note_opened_validator = bv.Void() EventTypeArg._shmodel_disable_downloads_validator = bv.Void() EventTypeArg._shmodel_enable_downloads_validator = bv.Void() EventTypeArg._shmodel_group_share_validator = bv.Void() EventTypeArg._showcase_access_granted_validator = bv.Void() EventTypeArg._showcase_add_member_validator = bv.Void() EventTypeArg._showcase_archived_validator = bv.Void() EventTypeArg._showcase_created_validator = bv.Void() EventTypeArg._showcase_delete_comment_validator = bv.Void() EventTypeArg._showcase_edited_validator = bv.Void() EventTypeArg._showcase_edit_comment_validator = bv.Void() EventTypeArg._showcase_file_added_validator = bv.Void() EventTypeArg._showcase_file_download_validator = bv.Void() EventTypeArg._showcase_file_removed_validator = bv.Void() EventTypeArg._showcase_file_view_validator = bv.Void() EventTypeArg._showcase_permanently_deleted_validator = bv.Void() EventTypeArg._showcase_post_comment_validator = bv.Void() EventTypeArg._showcase_remove_member_validator = bv.Void() EventTypeArg._showcase_renamed_validator = bv.Void() EventTypeArg._showcase_request_access_validator = bv.Void() EventTypeArg._showcase_resolve_comment_validator = bv.Void() EventTypeArg._showcase_restored_validator = bv.Void() EventTypeArg._showcase_trashed_validator = bv.Void() EventTypeArg._showcase_trashed_deprecated_validator = bv.Void() EventTypeArg._showcase_unresolve_comment_validator = bv.Void() EventTypeArg._showcase_untrashed_validator = bv.Void() EventTypeArg._showcase_untrashed_deprecated_validator = bv.Void() EventTypeArg._showcase_view_validator = bv.Void() EventTypeArg._sign_signature_request_canceled_validator = bv.Void() EventTypeArg._sign_signature_request_completed_validator = bv.Void() EventTypeArg._sign_signature_request_declined_validator = bv.Void() EventTypeArg._sign_signature_request_opened_validator = bv.Void() EventTypeArg._sign_signature_request_reminder_sent_validator = bv.Void() EventTypeArg._sign_signature_request_sent_validator = bv.Void() EventTypeArg._sign_template_created_validator = bv.Void() EventTypeArg._sign_template_shared_validator = bv.Void() EventTypeArg._risc_security_event_validator = bv.Void() EventTypeArg._sso_add_cert_validator = bv.Void() EventTypeArg._sso_add_login_url_validator = bv.Void() EventTypeArg._sso_add_logout_url_validator = bv.Void() EventTypeArg._sso_change_cert_validator = bv.Void() EventTypeArg._sso_change_login_url_validator = bv.Void() EventTypeArg._sso_change_logout_url_validator = bv.Void() EventTypeArg._sso_change_saml_identity_mode_validator = bv.Void() EventTypeArg._sso_remove_cert_validator = bv.Void() EventTypeArg._sso_remove_login_url_validator = bv.Void() EventTypeArg._sso_remove_logout_url_validator = bv.Void() EventTypeArg._team_folder_change_status_validator = bv.Void() EventTypeArg._team_folder_create_validator = bv.Void() EventTypeArg._team_folder_downgrade_validator = bv.Void() EventTypeArg._team_folder_permanently_delete_validator = bv.Void() EventTypeArg._team_folder_rename_validator = bv.Void() EventTypeArg._team_folder_space_limits_change_caps_type_validator = bv.Void() EventTypeArg._team_folder_space_limits_change_limit_validator = bv.Void() EventTypeArg._team_folder_space_limits_change_notification_target_validator = bv.Void() EventTypeArg._team_selective_sync_settings_changed_validator = bv.Void() EventTypeArg._account_capture_change_policy_validator = bv.Void() EventTypeArg._admin_email_reminders_changed_validator = bv.Void() EventTypeArg._ai_third_party_sharing_dropbox_base_policy_changed_validator = bv.Void() EventTypeArg._allow_download_disabled_validator = bv.Void() EventTypeArg._allow_download_enabled_validator = bv.Void() EventTypeArg._apple_login_change_policy_validator = bv.Void() EventTypeArg._app_permissions_changed_validator = bv.Void() EventTypeArg._camera_uploads_policy_changed_validator = bv.Void() EventTypeArg._capture_team_space_policy_changed_validator = bv.Void() EventTypeArg._capture_transcript_policy_changed_validator = bv.Void() EventTypeArg._classification_change_policy_validator = bv.Void() EventTypeArg._computer_backup_policy_changed_validator = bv.Void() EventTypeArg._content_administration_policy_changed_validator = bv.Void() EventTypeArg._content_deletion_protection_change_policy_validator = bv.Void() EventTypeArg._dash_external_sharing_policy_changed_validator = bv.Void() EventTypeArg._data_placement_restriction_change_policy_validator = bv.Void() EventTypeArg._data_placement_restriction_satisfy_policy_validator = bv.Void() EventTypeArg._device_approvals_add_exception_validator = bv.Void() EventTypeArg._device_approvals_change_desktop_policy_validator = bv.Void() EventTypeArg._device_approvals_change_mobile_policy_validator = bv.Void() EventTypeArg._device_approvals_change_overage_action_validator = bv.Void() EventTypeArg._device_approvals_change_unlink_action_validator = bv.Void() EventTypeArg._device_approvals_remove_exception_validator = bv.Void() EventTypeArg._directory_restrictions_add_members_validator = bv.Void() EventTypeArg._directory_restrictions_remove_members_validator = bv.Void() EventTypeArg._dropbox_passwords_policy_changed_validator = bv.Void() EventTypeArg._email_ingest_policy_changed_validator = bv.Void() EventTypeArg._emm_add_exception_validator = bv.Void() EventTypeArg._emm_change_policy_validator = bv.Void() EventTypeArg._emm_remove_exception_validator = bv.Void() EventTypeArg._extended_version_history_change_policy_validator = bv.Void() EventTypeArg._external_drive_backup_policy_changed_validator = bv.Void() EventTypeArg._file_comments_change_policy_validator = bv.Void() EventTypeArg._file_locking_policy_changed_validator = bv.Void() EventTypeArg._file_provider_migration_policy_changed_validator = bv.Void() EventTypeArg._file_requests_change_policy_validator = bv.Void() EventTypeArg._file_requests_emails_enabled_validator = bv.Void() EventTypeArg._file_requests_emails_restricted_to_team_only_validator = bv.Void() EventTypeArg._file_transfers_policy_changed_validator = bv.Void() EventTypeArg._flexible_file_names_policy_changed_validator = bv.Void() EventTypeArg._folder_link_restriction_policy_changed_validator = bv.Void() EventTypeArg._google_sso_change_policy_validator = bv.Void() EventTypeArg._group_user_management_change_policy_validator = bv.Void() EventTypeArg._integration_policy_changed_validator = bv.Void() EventTypeArg._invite_acceptance_email_policy_changed_validator = bv.Void() EventTypeArg._media_hub_adding_people_policy_changed_validator = bv.Void() EventTypeArg._media_hub_download_policy_changed_validator = bv.Void() EventTypeArg._media_hub_link_sharing_policy_changed_validator = bv.Void() EventTypeArg._member_requests_change_policy_validator = bv.Void() EventTypeArg._member_send_invite_policy_changed_validator = bv.Void() EventTypeArg._member_space_limits_add_exception_validator = bv.Void() EventTypeArg._member_space_limits_change_caps_type_policy_validator = bv.Void() EventTypeArg._member_space_limits_change_policy_validator = bv.Void() EventTypeArg._member_space_limits_remove_exception_validator = bv.Void() EventTypeArg._member_suggestions_change_policy_validator = bv.Void() EventTypeArg._microsoft_login_change_policy_validator = bv.Void() EventTypeArg._microsoft_office_addin_change_policy_validator = bv.Void() EventTypeArg._multi_team_identity_policy_changed_validator = bv.Void() EventTypeArg._network_control_change_policy_validator = bv.Void() EventTypeArg._paper_change_deployment_policy_validator = bv.Void() EventTypeArg._paper_change_member_link_policy_validator = bv.Void() EventTypeArg._paper_change_member_policy_validator = bv.Void() EventTypeArg._paper_change_policy_validator = bv.Void() EventTypeArg._paper_default_folder_policy_changed_validator = bv.Void() EventTypeArg._paper_desktop_policy_changed_validator = bv.Void() EventTypeArg._paper_enabled_users_group_addition_validator = bv.Void() EventTypeArg._paper_enabled_users_group_removal_validator = bv.Void() EventTypeArg._passkey_login_policy_changed_validator = bv.Void() EventTypeArg._password_strength_requirements_change_policy_validator = bv.Void() EventTypeArg._permanent_delete_change_policy_validator = bv.Void() EventTypeArg._previews_ai_policy_changed_validator = bv.Void() EventTypeArg._replay_adding_people_policy_changed_validator = bv.Void() EventTypeArg._replay_sharing_policy_changed_validator = bv.Void() EventTypeArg._reseller_support_change_policy_validator = bv.Void() EventTypeArg._rewind_policy_changed_validator = bv.Void() EventTypeArg._send_and_track_policy_changed_validator = bv.Void() EventTypeArg._send_external_sharing_policy_changed_validator = bv.Void() EventTypeArg._send_for_signature_policy_changed_validator = bv.Void() EventTypeArg._shared_link_default_permissions_policy_changed_validator = bv.Void() EventTypeArg._sharing_change_folder_join_policy_validator = bv.Void() EventTypeArg._sharing_change_link_allow_change_expiration_policy_validator = bv.Void() EventTypeArg._sharing_change_link_default_expiration_policy_validator = bv.Void() EventTypeArg._sharing_change_link_enforce_password_policy_validator = bv.Void() EventTypeArg._sharing_change_link_policy_validator = bv.Void() EventTypeArg._sharing_change_member_policy_validator = bv.Void() EventTypeArg._showcase_change_download_policy_validator = bv.Void() EventTypeArg._showcase_change_enabled_policy_validator = bv.Void() EventTypeArg._showcase_change_external_sharing_policy_validator = bv.Void() EventTypeArg._sign_external_sharing_policy_changed_validator = bv.Void() EventTypeArg._sign_template_creation_permission_changed_validator = bv.Void() EventTypeArg._smarter_smart_sync_policy_changed_validator = bv.Void() EventTypeArg._smart_sync_change_policy_validator = bv.Void() EventTypeArg._smart_sync_not_opt_out_validator = bv.Void() EventTypeArg._smart_sync_opt_out_validator = bv.Void() EventTypeArg._sso_change_policy_validator = bv.Void() EventTypeArg._stack_cross_team_access_policy_changed_validator = bv.Void() EventTypeArg._team_branding_policy_changed_validator = bv.Void() EventTypeArg._team_extensions_policy_changed_validator = bv.Void() EventTypeArg._team_member_storage_request_policy_changed_validator = bv.Void() EventTypeArg._team_selective_sync_policy_changed_validator = bv.Void() EventTypeArg._team_sharing_whitelist_subjects_changed_validator = bv.Void() EventTypeArg._tfa_add_exception_validator = bv.Void() EventTypeArg._tfa_change_policy_validator = bv.Void() EventTypeArg._tfa_remove_exception_validator = bv.Void() EventTypeArg._top_level_content_policy_changed_validator = bv.Void() EventTypeArg._two_account_change_policy_validator = bv.Void() EventTypeArg._viewer_info_policy_changed_validator = bv.Void() EventTypeArg._watermarking_policy_changed_validator = bv.Void() EventTypeArg._web_sessions_change_active_session_limit_validator = bv.Void() EventTypeArg._web_sessions_change_fixed_length_policy_validator = bv.Void() EventTypeArg._web_sessions_change_idle_length_policy_validator = bv.Void() EventTypeArg._data_residency_migration_request_successful_validator = bv.Void() EventTypeArg._data_residency_migration_request_unsuccessful_validator = bv.Void() EventTypeArg._team_merge_from_validator = bv.Void() EventTypeArg._team_merge_to_validator = bv.Void() EventTypeArg._team_profile_add_background_validator = bv.Void() EventTypeArg._team_profile_add_logo_validator = bv.Void() EventTypeArg._team_profile_change_background_validator = bv.Void() EventTypeArg._team_profile_change_default_language_validator = bv.Void() EventTypeArg._team_profile_change_logo_validator = bv.Void() EventTypeArg._team_profile_change_name_validator = bv.Void() EventTypeArg._team_profile_remove_background_validator = bv.Void() EventTypeArg._team_profile_remove_logo_validator = bv.Void() EventTypeArg._passkey_add_validator = bv.Void() EventTypeArg._passkey_remove_validator = bv.Void() EventTypeArg._tfa_add_backup_phone_validator = bv.Void() EventTypeArg._tfa_add_security_key_validator = bv.Void() EventTypeArg._tfa_change_backup_phone_validator = bv.Void() EventTypeArg._tfa_change_status_validator = bv.Void() EventTypeArg._tfa_remove_backup_phone_validator = bv.Void() EventTypeArg._tfa_remove_security_key_validator = bv.Void() EventTypeArg._tfa_reset_validator = bv.Void() EventTypeArg._changed_enterprise_admin_role_validator = bv.Void() EventTypeArg._changed_enterprise_connected_team_status_validator = bv.Void() EventTypeArg._ended_enterprise_admin_session_validator = bv.Void() EventTypeArg._ended_enterprise_admin_session_deprecated_validator = bv.Void() EventTypeArg._enterprise_settings_locking_validator = bv.Void() EventTypeArg._guest_admin_change_status_validator = bv.Void() EventTypeArg._started_enterprise_admin_session_validator = bv.Void() EventTypeArg._team_merge_request_accepted_validator = bv.Void() EventTypeArg._team_merge_request_accepted_shown_to_primary_team_validator = bv.Void() EventTypeArg._team_merge_request_accepted_shown_to_secondary_team_validator = bv.Void() EventTypeArg._team_merge_request_auto_canceled_validator = bv.Void() EventTypeArg._team_merge_request_canceled_validator = bv.Void() EventTypeArg._team_merge_request_canceled_shown_to_primary_team_validator = bv.Void() EventTypeArg._team_merge_request_canceled_shown_to_secondary_team_validator = bv.Void() EventTypeArg._team_merge_request_expired_validator = bv.Void() EventTypeArg._team_merge_request_expired_shown_to_primary_team_validator = bv.Void() EventTypeArg._team_merge_request_expired_shown_to_secondary_team_validator = bv.Void() EventTypeArg._team_merge_request_rejected_shown_to_primary_team_validator = bv.Void() EventTypeArg._team_merge_request_rejected_shown_to_secondary_team_validator = bv.Void() EventTypeArg._team_merge_request_reminder_validator = bv.Void() EventTypeArg._team_merge_request_reminder_shown_to_primary_team_validator = bv.Void() EventTypeArg._team_merge_request_reminder_shown_to_secondary_team_validator = bv.Void() EventTypeArg._team_merge_request_revoked_validator = bv.Void() EventTypeArg._team_merge_request_sent_shown_to_primary_team_validator = bv.Void() EventTypeArg._team_merge_request_sent_shown_to_secondary_team_validator = bv.Void() EventTypeArg._other_validator = bv.Void() EventTypeArg._tagmap = { "admin_alerting_alert_state_changed": EventTypeArg._admin_alerting_alert_state_changed_validator, "admin_alerting_changed_alert_config": EventTypeArg._admin_alerting_changed_alert_config_validator, "admin_alerting_triggered_alert": EventTypeArg._admin_alerting_triggered_alert_validator, "ransomware_restore_process_completed": EventTypeArg._ransomware_restore_process_completed_validator, "ransomware_restore_process_started": EventTypeArg._ransomware_restore_process_started_validator, "app_blocked_by_permissions": EventTypeArg._app_blocked_by_permissions_validator, "app_link_team": EventTypeArg._app_link_team_validator, "app_link_user": EventTypeArg._app_link_user_validator, "app_unlink_team": EventTypeArg._app_unlink_team_validator, "app_unlink_user": EventTypeArg._app_unlink_user_validator, "integration_connected": EventTypeArg._integration_connected_validator, "integration_disconnected": EventTypeArg._integration_disconnected_validator, "file_add_comment": EventTypeArg._file_add_comment_validator, "file_change_comment_subscription": EventTypeArg._file_change_comment_subscription_validator, "file_delete_comment": EventTypeArg._file_delete_comment_validator, "file_edit_comment": EventTypeArg._file_edit_comment_validator, "file_like_comment": EventTypeArg._file_like_comment_validator, "file_resolve_comment": EventTypeArg._file_resolve_comment_validator, "file_unlike_comment": EventTypeArg._file_unlike_comment_validator, "file_unresolve_comment": EventTypeArg._file_unresolve_comment_validator, "dash_added_comment_to_stack": EventTypeArg._dash_added_comment_to_stack_validator, "dash_added_connector": EventTypeArg._dash_added_connector_validator, "dash_added_link_to_stack": EventTypeArg._dash_added_link_to_stack_validator, "dash_added_team_email_domain_allowlist": EventTypeArg._dash_added_team_email_domain_allowlist_validator, "dash_admin_added_org_wide_connector": EventTypeArg._dash_admin_added_org_wide_connector_validator, "dash_admin_disabled_connector": EventTypeArg._dash_admin_disabled_connector_validator, "dash_admin_enabled_connector": EventTypeArg._dash_admin_enabled_connector_validator, "dash_admin_removed_org_wide_connector": EventTypeArg._dash_admin_removed_org_wide_connector_validator, "dash_archived_stack": EventTypeArg._dash_archived_stack_validator, "dash_changed_audience_of_shared_link_to_stack": EventTypeArg._dash_changed_audience_of_shared_link_to_stack_validator, "dash_cloned_stack": EventTypeArg._dash_cloned_stack_validator, "dash_connector_tools_call": EventTypeArg._dash_connector_tools_call_validator, "dash_created_stack": EventTypeArg._dash_created_stack_validator, "dash_deleted_comment_from_stack": EventTypeArg._dash_deleted_comment_from_stack_validator, "dash_deleted_stack": EventTypeArg._dash_deleted_stack_validator, "dash_edited_comment_in_stack": EventTypeArg._dash_edited_comment_in_stack_validator, "dash_external_user_opened_stack": EventTypeArg._dash_external_user_opened_stack_validator, "dash_first_launched_desktop": EventTypeArg._dash_first_launched_desktop_validator, "dash_first_launched_extension": EventTypeArg._dash_first_launched_extension_validator, "dash_first_launched_web_start_page": EventTypeArg._dash_first_launched_web_start_page_validator, "dash_opened_shared_link_to_stack": EventTypeArg._dash_opened_shared_link_to_stack_validator, "dash_opened_stack": EventTypeArg._dash_opened_stack_validator, "dash_preview_opt_out_status_changed": EventTypeArg._dash_preview_opt_out_status_changed_validator, "dash_removed_connector": EventTypeArg._dash_removed_connector_validator, "dash_removed_link_from_stack": EventTypeArg._dash_removed_link_from_stack_validator, "dash_removed_shared_link_to_stack": EventTypeArg._dash_removed_shared_link_to_stack_validator, "dash_removed_team_email_domain_allowlist": EventTypeArg._dash_removed_team_email_domain_allowlist_validator, "dash_renamed_stack": EventTypeArg._dash_renamed_stack_validator, "dash_shared_link_to_stack": EventTypeArg._dash_shared_link_to_stack_validator, "dash_unarchived_stack": EventTypeArg._dash_unarchived_stack_validator, "dash_viewed_company_stack": EventTypeArg._dash_viewed_company_stack_validator, "dash_viewed_external_ai_activity_report": EventTypeArg._dash_viewed_external_ai_activity_report_validator, "governance_policy_add_folders": EventTypeArg._governance_policy_add_folders_validator, "governance_policy_add_folder_failed": EventTypeArg._governance_policy_add_folder_failed_validator, "governance_policy_content_disposed": EventTypeArg._governance_policy_content_disposed_validator, "governance_policy_create": EventTypeArg._governance_policy_create_validator, "governance_policy_delete": EventTypeArg._governance_policy_delete_validator, "governance_policy_edit_details": EventTypeArg._governance_policy_edit_details_validator, "governance_policy_edit_duration": EventTypeArg._governance_policy_edit_duration_validator, "governance_policy_export_created": EventTypeArg._governance_policy_export_created_validator, "governance_policy_export_removed": EventTypeArg._governance_policy_export_removed_validator, "governance_policy_remove_folders": EventTypeArg._governance_policy_remove_folders_validator, "governance_policy_report_created": EventTypeArg._governance_policy_report_created_validator, "governance_policy_zip_part_downloaded": EventTypeArg._governance_policy_zip_part_downloaded_validator, "legal_holds_activate_a_hold": EventTypeArg._legal_holds_activate_a_hold_validator, "legal_holds_add_members": EventTypeArg._legal_holds_add_members_validator, "legal_holds_change_hold_details": EventTypeArg._legal_holds_change_hold_details_validator, "legal_holds_change_hold_name": EventTypeArg._legal_holds_change_hold_name_validator, "legal_holds_export_a_hold": EventTypeArg._legal_holds_export_a_hold_validator, "legal_holds_export_cancelled": EventTypeArg._legal_holds_export_cancelled_validator, "legal_holds_export_downloaded": EventTypeArg._legal_holds_export_downloaded_validator, "legal_holds_export_removed": EventTypeArg._legal_holds_export_removed_validator, "legal_holds_release_a_hold": EventTypeArg._legal_holds_release_a_hold_validator, "legal_holds_remove_members": EventTypeArg._legal_holds_remove_members_validator, "legal_holds_report_a_hold": EventTypeArg._legal_holds_report_a_hold_validator, "device_change_ip_desktop": EventTypeArg._device_change_ip_desktop_validator, "device_change_ip_mobile": EventTypeArg._device_change_ip_mobile_validator, "device_change_ip_web": EventTypeArg._device_change_ip_web_validator, "device_delete_on_unlink_fail": EventTypeArg._device_delete_on_unlink_fail_validator, "device_delete_on_unlink_success": EventTypeArg._device_delete_on_unlink_success_validator, "device_link_fail": EventTypeArg._device_link_fail_validator, "device_link_success": EventTypeArg._device_link_success_validator, "device_management_disabled": EventTypeArg._device_management_disabled_validator, "device_management_enabled": EventTypeArg._device_management_enabled_validator, "device_sync_backup_status_changed": EventTypeArg._device_sync_backup_status_changed_validator, "device_unlink": EventTypeArg._device_unlink_validator, "dropbox_passwords_exported": EventTypeArg._dropbox_passwords_exported_validator, "dropbox_passwords_new_device_enrolled": EventTypeArg._dropbox_passwords_new_device_enrolled_validator, "emm_refresh_auth_token": EventTypeArg._emm_refresh_auth_token_validator, "external_drive_backup_eligibility_status_checked": EventTypeArg._external_drive_backup_eligibility_status_checked_validator, "external_drive_backup_status_changed": EventTypeArg._external_drive_backup_status_changed_validator, "account_capture_change_availability": EventTypeArg._account_capture_change_availability_validator, "account_capture_migrate_account": EventTypeArg._account_capture_migrate_account_validator, "account_capture_notification_emails_sent": EventTypeArg._account_capture_notification_emails_sent_validator, "account_capture_relinquish_account": EventTypeArg._account_capture_relinquish_account_validator, "disabled_domain_invites": EventTypeArg._disabled_domain_invites_validator, "domain_invites_approve_request_to_join_team": EventTypeArg._domain_invites_approve_request_to_join_team_validator, "domain_invites_decline_request_to_join_team": EventTypeArg._domain_invites_decline_request_to_join_team_validator, "domain_invites_email_existing_users": EventTypeArg._domain_invites_email_existing_users_validator, "domain_invites_request_to_join_team": EventTypeArg._domain_invites_request_to_join_team_validator, "domain_invites_set_invite_new_user_pref_to_no": EventTypeArg._domain_invites_set_invite_new_user_pref_to_no_validator, "domain_invites_set_invite_new_user_pref_to_yes": EventTypeArg._domain_invites_set_invite_new_user_pref_to_yes_validator, "domain_verification_add_domain_fail": EventTypeArg._domain_verification_add_domain_fail_validator, "domain_verification_add_domain_success": EventTypeArg._domain_verification_add_domain_success_validator, "domain_verification_remove_domain": EventTypeArg._domain_verification_remove_domain_validator, "enabled_domain_invites": EventTypeArg._enabled_domain_invites_validator, "encrypted_folder_cancel_team_key_rotation": EventTypeArg._encrypted_folder_cancel_team_key_rotation_validator, "encrypted_folder_enroll_backup_key": EventTypeArg._encrypted_folder_enroll_backup_key_validator, "encrypted_folder_enroll_client": EventTypeArg._encrypted_folder_enroll_client_validator, "encrypted_folder_enroll_team": EventTypeArg._encrypted_folder_enroll_team_validator, "encrypted_folder_finish_team_unenrollment": EventTypeArg._encrypted_folder_finish_team_unenrollment_validator, "encrypted_folder_init_team_key_rotation": EventTypeArg._encrypted_folder_init_team_key_rotation_validator, "encrypted_folder_init_team_unenrollment": EventTypeArg._encrypted_folder_init_team_unenrollment_validator, "encrypted_folder_remove_backup_key": EventTypeArg._encrypted_folder_remove_backup_key_validator, "encrypted_folder_rotate_team_key": EventTypeArg._encrypted_folder_rotate_team_key_validator, "encrypted_folder_unenroll_client": EventTypeArg._encrypted_folder_unenroll_client_validator, "team_encryption_key_activate_key": EventTypeArg._team_encryption_key_activate_key_validator, "team_encryption_key_cancel_key_deletion": EventTypeArg._team_encryption_key_cancel_key_deletion_validator, "team_encryption_key_create_key": EventTypeArg._team_encryption_key_create_key_validator, "team_encryption_key_deactivate_key": EventTypeArg._team_encryption_key_deactivate_key_validator, "team_encryption_key_delete_key": EventTypeArg._team_encryption_key_delete_key_validator, "team_encryption_key_disable_key": EventTypeArg._team_encryption_key_disable_key_validator, "team_encryption_key_enable_key": EventTypeArg._team_encryption_key_enable_key_validator, "team_encryption_key_rotate_key": EventTypeArg._team_encryption_key_rotate_key_validator, "team_encryption_key_schedule_key_deletion": EventTypeArg._team_encryption_key_schedule_key_deletion_validator, "apply_naming_convention": EventTypeArg._apply_naming_convention_validator, "create_folder": EventTypeArg._create_folder_validator, "file_add": EventTypeArg._file_add_validator, "file_add_from_automation": EventTypeArg._file_add_from_automation_validator, "file_copy": EventTypeArg._file_copy_validator, "file_delete": EventTypeArg._file_delete_validator, "file_download": EventTypeArg._file_download_validator, "file_edit": EventTypeArg._file_edit_validator, "file_get_copy_reference": EventTypeArg._file_get_copy_reference_validator, "file_locking_lock_status_changed": EventTypeArg._file_locking_lock_status_changed_validator, "file_move": EventTypeArg._file_move_validator, "file_permanently_delete": EventTypeArg._file_permanently_delete_validator, "file_preview": EventTypeArg._file_preview_validator, "file_rename": EventTypeArg._file_rename_validator, "file_restore": EventTypeArg._file_restore_validator, "file_revert": EventTypeArg._file_revert_validator, "file_rollback_changes": EventTypeArg._file_rollback_changes_validator, "file_save_copy_reference": EventTypeArg._file_save_copy_reference_validator, "folder_overview_description_changed": EventTypeArg._folder_overview_description_changed_validator, "folder_overview_item_pinned": EventTypeArg._folder_overview_item_pinned_validator, "folder_overview_item_unpinned": EventTypeArg._folder_overview_item_unpinned_validator, "media_hub_file_downloaded": EventTypeArg._media_hub_file_downloaded_validator, "object_label_added": EventTypeArg._object_label_added_validator, "object_label_removed": EventTypeArg._object_label_removed_validator, "object_label_updated_value": EventTypeArg._object_label_updated_value_validator, "organize_folder_with_tidy": EventTypeArg._organize_folder_with_tidy_validator, "replay_file_delete": EventTypeArg._replay_file_delete_validator, "replay_file_downloaded": EventTypeArg._replay_file_downloaded_validator, "replay_team_project_created": EventTypeArg._replay_team_project_created_validator, "rewind_folder": EventTypeArg._rewind_folder_validator, "undo_naming_convention": EventTypeArg._undo_naming_convention_validator, "undo_organize_folder_with_tidy": EventTypeArg._undo_organize_folder_with_tidy_validator, "user_tags_added": EventTypeArg._user_tags_added_validator, "user_tags_removed": EventTypeArg._user_tags_removed_validator, "email_ingest_receive_file": EventTypeArg._email_ingest_receive_file_validator, "file_request_auto_close": EventTypeArg._file_request_auto_close_validator, "file_request_change": EventTypeArg._file_request_change_validator, "file_request_close": EventTypeArg._file_request_close_validator, "file_request_create": EventTypeArg._file_request_create_validator, "file_request_delete": EventTypeArg._file_request_delete_validator, "file_request_receive_file": EventTypeArg._file_request_receive_file_validator, "group_add_external_id": EventTypeArg._group_add_external_id_validator, "group_add_member": EventTypeArg._group_add_member_validator, "group_change_external_id": EventTypeArg._group_change_external_id_validator, "group_change_management_type": EventTypeArg._group_change_management_type_validator, "group_change_member_role": EventTypeArg._group_change_member_role_validator, "group_create": EventTypeArg._group_create_validator, "group_delete": EventTypeArg._group_delete_validator, "group_description_updated": EventTypeArg._group_description_updated_validator, "group_external_sharing_setting_override_changed": EventTypeArg._group_external_sharing_setting_override_changed_validator, "group_join_policy_updated": EventTypeArg._group_join_policy_updated_validator, "group_moved": EventTypeArg._group_moved_validator, "group_remove_external_id": EventTypeArg._group_remove_external_id_validator, "group_remove_member": EventTypeArg._group_remove_member_validator, "group_rename": EventTypeArg._group_rename_validator, "account_lock_or_unlocked": EventTypeArg._account_lock_or_unlocked_validator, "emm_error": EventTypeArg._emm_error_validator, "guest_admin_signed_in_via_trusted_teams": EventTypeArg._guest_admin_signed_in_via_trusted_teams_validator, "guest_admin_signed_out_via_trusted_teams": EventTypeArg._guest_admin_signed_out_via_trusted_teams_validator, "login_fail": EventTypeArg._login_fail_validator, "login_success": EventTypeArg._login_success_validator, "logout": EventTypeArg._logout_validator, "reseller_support_session_end": EventTypeArg._reseller_support_session_end_validator, "reseller_support_session_start": EventTypeArg._reseller_support_session_start_validator, "sign_in_as_session_end": EventTypeArg._sign_in_as_session_end_validator, "sign_in_as_session_start": EventTypeArg._sign_in_as_session_start_validator, "sso_error": EventTypeArg._sso_error_validator, "addon_assigned": EventTypeArg._addon_assigned_validator, "addon_removed": EventTypeArg._addon_removed_validator, "backup_admin_invitation_sent": EventTypeArg._backup_admin_invitation_sent_validator, "backup_invitation_opened": EventTypeArg._backup_invitation_opened_validator, "create_team_invite_link": EventTypeArg._create_team_invite_link_validator, "delete_team_invite_link": EventTypeArg._delete_team_invite_link_validator, "member_add_external_id": EventTypeArg._member_add_external_id_validator, "member_add_name": EventTypeArg._member_add_name_validator, "member_change_admin_role": EventTypeArg._member_change_admin_role_validator, "member_change_email": EventTypeArg._member_change_email_validator, "member_change_external_id": EventTypeArg._member_change_external_id_validator, "member_change_membership_type": EventTypeArg._member_change_membership_type_validator, "member_change_name": EventTypeArg._member_change_name_validator, "member_change_reseller_role": EventTypeArg._member_change_reseller_role_validator, "member_change_status": EventTypeArg._member_change_status_validator, "member_delete_manual_contacts": EventTypeArg._member_delete_manual_contacts_validator, "member_delete_profile_photo": EventTypeArg._member_delete_profile_photo_validator, "member_permanently_delete_account_contents": EventTypeArg._member_permanently_delete_account_contents_validator, "member_remove_external_id": EventTypeArg._member_remove_external_id_validator, "member_set_profile_photo": EventTypeArg._member_set_profile_photo_validator, "member_space_limits_add_custom_quota": EventTypeArg._member_space_limits_add_custom_quota_validator, "member_space_limits_change_custom_quota": EventTypeArg._member_space_limits_change_custom_quota_validator, "member_space_limits_change_status": EventTypeArg._member_space_limits_change_status_validator, "member_space_limits_remove_custom_quota": EventTypeArg._member_space_limits_remove_custom_quota_validator, "member_suggest": EventTypeArg._member_suggest_validator, "member_transfer_account_contents": EventTypeArg._member_transfer_account_contents_validator, "pending_secondary_email_added": EventTypeArg._pending_secondary_email_added_validator, "product_assigned_to_member": EventTypeArg._product_assigned_to_member_validator, "product_removed_from_member": EventTypeArg._product_removed_from_member_validator, "secondary_email_deleted": EventTypeArg._secondary_email_deleted_validator, "secondary_email_verified": EventTypeArg._secondary_email_verified_validator, "secondary_mails_policy_changed": EventTypeArg._secondary_mails_policy_changed_validator, "binder_add_page": EventTypeArg._binder_add_page_validator, "binder_add_section": EventTypeArg._binder_add_section_validator, "binder_remove_page": EventTypeArg._binder_remove_page_validator, "binder_remove_section": EventTypeArg._binder_remove_section_validator, "binder_rename_page": EventTypeArg._binder_rename_page_validator, "binder_rename_section": EventTypeArg._binder_rename_section_validator, "binder_reorder_page": EventTypeArg._binder_reorder_page_validator, "binder_reorder_section": EventTypeArg._binder_reorder_section_validator, "paper_content_add_member": EventTypeArg._paper_content_add_member_validator, "paper_content_add_to_folder": EventTypeArg._paper_content_add_to_folder_validator, "paper_content_archive": EventTypeArg._paper_content_archive_validator, "paper_content_create": EventTypeArg._paper_content_create_validator, "paper_content_permanently_delete": EventTypeArg._paper_content_permanently_delete_validator, "paper_content_remove_from_folder": EventTypeArg._paper_content_remove_from_folder_validator, "paper_content_remove_member": EventTypeArg._paper_content_remove_member_validator, "paper_content_rename": EventTypeArg._paper_content_rename_validator, "paper_content_restore": EventTypeArg._paper_content_restore_validator, "paper_doc_add_comment": EventTypeArg._paper_doc_add_comment_validator, "paper_doc_change_member_role": EventTypeArg._paper_doc_change_member_role_validator, "paper_doc_change_sharing_policy": EventTypeArg._paper_doc_change_sharing_policy_validator, "paper_doc_change_subscription": EventTypeArg._paper_doc_change_subscription_validator, "paper_doc_deleted": EventTypeArg._paper_doc_deleted_validator, "paper_doc_delete_comment": EventTypeArg._paper_doc_delete_comment_validator, "paper_doc_download": EventTypeArg._paper_doc_download_validator, "paper_doc_edit": EventTypeArg._paper_doc_edit_validator, "paper_doc_edit_comment": EventTypeArg._paper_doc_edit_comment_validator, "paper_doc_followed": EventTypeArg._paper_doc_followed_validator, "paper_doc_mention": EventTypeArg._paper_doc_mention_validator, "paper_doc_ownership_changed": EventTypeArg._paper_doc_ownership_changed_validator, "paper_doc_request_access": EventTypeArg._paper_doc_request_access_validator, "paper_doc_resolve_comment": EventTypeArg._paper_doc_resolve_comment_validator, "paper_doc_revert": EventTypeArg._paper_doc_revert_validator, "paper_doc_slack_share": EventTypeArg._paper_doc_slack_share_validator, "paper_doc_team_invite": EventTypeArg._paper_doc_team_invite_validator, "paper_doc_trashed": EventTypeArg._paper_doc_trashed_validator, "paper_doc_unresolve_comment": EventTypeArg._paper_doc_unresolve_comment_validator, "paper_doc_untrashed": EventTypeArg._paper_doc_untrashed_validator, "paper_doc_view": EventTypeArg._paper_doc_view_validator, "paper_external_view_allow": EventTypeArg._paper_external_view_allow_validator, "paper_external_view_default_team": EventTypeArg._paper_external_view_default_team_validator, "paper_external_view_forbid": EventTypeArg._paper_external_view_forbid_validator, "paper_folder_change_subscription": EventTypeArg._paper_folder_change_subscription_validator, "paper_folder_deleted": EventTypeArg._paper_folder_deleted_validator, "paper_folder_followed": EventTypeArg._paper_folder_followed_validator, "paper_folder_team_invite": EventTypeArg._paper_folder_team_invite_validator, "paper_published_link_change_permission": EventTypeArg._paper_published_link_change_permission_validator, "paper_published_link_create": EventTypeArg._paper_published_link_create_validator, "paper_published_link_disabled": EventTypeArg._paper_published_link_disabled_validator, "paper_published_link_view": EventTypeArg._paper_published_link_view_validator, "password_change": EventTypeArg._password_change_validator, "password_reset": EventTypeArg._password_reset_validator, "password_reset_all": EventTypeArg._password_reset_all_validator, "protect_internal_domains_changed": EventTypeArg._protect_internal_domains_changed_validator, "classification_create_report": EventTypeArg._classification_create_report_validator, "classification_create_report_fail": EventTypeArg._classification_create_report_fail_validator, "emm_create_exceptions_report": EventTypeArg._emm_create_exceptions_report_validator, "emm_create_usage_report": EventTypeArg._emm_create_usage_report_validator, "export_members_report": EventTypeArg._export_members_report_validator, "export_members_report_fail": EventTypeArg._export_members_report_fail_validator, "external_sharing_create_report": EventTypeArg._external_sharing_create_report_validator, "external_sharing_report_failed": EventTypeArg._external_sharing_report_failed_validator, "member_access_details_create_report": EventTypeArg._member_access_details_create_report_validator, "member_access_details_create_report_failed": EventTypeArg._member_access_details_create_report_failed_validator, "no_expiration_link_gen_create_report": EventTypeArg._no_expiration_link_gen_create_report_validator, "no_expiration_link_gen_report_failed": EventTypeArg._no_expiration_link_gen_report_failed_validator, "no_password_link_gen_create_report": EventTypeArg._no_password_link_gen_create_report_validator, "no_password_link_gen_report_failed": EventTypeArg._no_password_link_gen_report_failed_validator, "no_password_link_view_create_report": EventTypeArg._no_password_link_view_create_report_validator, "no_password_link_view_report_failed": EventTypeArg._no_password_link_view_report_failed_validator, "outdated_link_view_create_report": EventTypeArg._outdated_link_view_create_report_validator, "outdated_link_view_report_failed": EventTypeArg._outdated_link_view_report_failed_validator, "paper_admin_export_start": EventTypeArg._paper_admin_export_start_validator, "ransomware_alert_create_report": EventTypeArg._ransomware_alert_create_report_validator, "ransomware_alert_create_report_failed": EventTypeArg._ransomware_alert_create_report_failed_validator, "shared_folders_create_report": EventTypeArg._shared_folders_create_report_validator, "shared_folders_create_report_failed": EventTypeArg._shared_folders_create_report_failed_validator, "smart_sync_create_admin_privilege_report": EventTypeArg._smart_sync_create_admin_privilege_report_validator, "team_activity_create_report": EventTypeArg._team_activity_create_report_validator, "team_activity_create_report_fail": EventTypeArg._team_activity_create_report_fail_validator, "team_folders_create_report": EventTypeArg._team_folders_create_report_validator, "team_folders_create_report_failed": EventTypeArg._team_folders_create_report_failed_validator, "team_storage_create_report": EventTypeArg._team_storage_create_report_validator, "team_storage_create_report_failed": EventTypeArg._team_storage_create_report_failed_validator, "collection_share": EventTypeArg._collection_share_validator, "file_transfers_file_add": EventTypeArg._file_transfers_file_add_validator, "file_transfers_transfer_delete": EventTypeArg._file_transfers_transfer_delete_validator, "file_transfers_transfer_download": EventTypeArg._file_transfers_transfer_download_validator, "file_transfers_transfer_send": EventTypeArg._file_transfers_transfer_send_validator, "file_transfers_transfer_view": EventTypeArg._file_transfers_transfer_view_validator, "media_hub_project_team_add": EventTypeArg._media_hub_project_team_add_validator, "media_hub_project_team_delete": EventTypeArg._media_hub_project_team_delete_validator, "media_hub_project_team_role_changed": EventTypeArg._media_hub_project_team_role_changed_validator, "media_hub_shared_link_audience_changed": EventTypeArg._media_hub_shared_link_audience_changed_validator, "media_hub_shared_link_created": EventTypeArg._media_hub_shared_link_created_validator, "media_hub_shared_link_download_setting_changed": EventTypeArg._media_hub_shared_link_download_setting_changed_validator, "media_hub_shared_link_revoked": EventTypeArg._media_hub_shared_link_revoked_validator, "note_acl_invite_only": EventTypeArg._note_acl_invite_only_validator, "note_acl_link": EventTypeArg._note_acl_link_validator, "note_acl_team_link": EventTypeArg._note_acl_team_link_validator, "note_shared": EventTypeArg._note_shared_validator, "note_share_receive": EventTypeArg._note_share_receive_validator, "open_note_shared": EventTypeArg._open_note_shared_validator, "replay_file_shared_link_created": EventTypeArg._replay_file_shared_link_created_validator, "replay_file_shared_link_modified": EventTypeArg._replay_file_shared_link_modified_validator, "replay_project_team_add": EventTypeArg._replay_project_team_add_validator, "replay_project_team_delete": EventTypeArg._replay_project_team_delete_validator, "send_and_track_file_added": EventTypeArg._send_and_track_file_added_validator, "send_and_track_file_renamed": EventTypeArg._send_and_track_file_renamed_validator, "send_and_track_file_updated": EventTypeArg._send_and_track_file_updated_validator, "send_and_track_link_created": EventTypeArg._send_and_track_link_created_validator, "send_and_track_link_deleted": EventTypeArg._send_and_track_link_deleted_validator, "send_and_track_link_updated": EventTypeArg._send_and_track_link_updated_validator, "send_and_track_link_viewed": EventTypeArg._send_and_track_link_viewed_validator, "send_and_track_removed_file_and_associated_links": EventTypeArg._send_and_track_removed_file_and_associated_links_validator, "sf_add_group": EventTypeArg._sf_add_group_validator, "sf_allow_non_members_to_view_shared_links": EventTypeArg._sf_allow_non_members_to_view_shared_links_validator, "sf_external_invite_warn": EventTypeArg._sf_external_invite_warn_validator, "sf_fb_invite": EventTypeArg._sf_fb_invite_validator, "sf_fb_invite_change_role": EventTypeArg._sf_fb_invite_change_role_validator, "sf_fb_uninvite": EventTypeArg._sf_fb_uninvite_validator, "sf_invite_group": EventTypeArg._sf_invite_group_validator, "sf_team_grant_access": EventTypeArg._sf_team_grant_access_validator, "sf_team_invite": EventTypeArg._sf_team_invite_validator, "sf_team_invite_change_role": EventTypeArg._sf_team_invite_change_role_validator, "sf_team_join": EventTypeArg._sf_team_join_validator, "sf_team_join_from_oob_link": EventTypeArg._sf_team_join_from_oob_link_validator, "sf_team_uninvite": EventTypeArg._sf_team_uninvite_validator, "shared_content_add_invitees": EventTypeArg._shared_content_add_invitees_validator, "shared_content_add_link_expiry": EventTypeArg._shared_content_add_link_expiry_validator, "shared_content_add_link_password": EventTypeArg._shared_content_add_link_password_validator, "shared_content_add_member": EventTypeArg._shared_content_add_member_validator, "shared_content_change_downloads_policy": EventTypeArg._shared_content_change_downloads_policy_validator, "shared_content_change_invitee_role": EventTypeArg._shared_content_change_invitee_role_validator, "shared_content_change_link_audience": EventTypeArg._shared_content_change_link_audience_validator, "shared_content_change_link_expiry": EventTypeArg._shared_content_change_link_expiry_validator, "shared_content_change_link_password": EventTypeArg._shared_content_change_link_password_validator, "shared_content_change_member_role": EventTypeArg._shared_content_change_member_role_validator, "shared_content_change_viewer_info_policy": EventTypeArg._shared_content_change_viewer_info_policy_validator, "shared_content_claim_invitation": EventTypeArg._shared_content_claim_invitation_validator, "shared_content_copy": EventTypeArg._shared_content_copy_validator, "shared_content_download": EventTypeArg._shared_content_download_validator, "shared_content_relinquish_membership": EventTypeArg._shared_content_relinquish_membership_validator, "shared_content_remove_invitees": EventTypeArg._shared_content_remove_invitees_validator, "shared_content_remove_link_expiry": EventTypeArg._shared_content_remove_link_expiry_validator, "shared_content_remove_link_password": EventTypeArg._shared_content_remove_link_password_validator, "shared_content_remove_member": EventTypeArg._shared_content_remove_member_validator, "shared_content_request_access": EventTypeArg._shared_content_request_access_validator, "shared_content_restore_invitees": EventTypeArg._shared_content_restore_invitees_validator, "shared_content_restore_member": EventTypeArg._shared_content_restore_member_validator, "shared_content_unshare": EventTypeArg._shared_content_unshare_validator, "shared_content_view": EventTypeArg._shared_content_view_validator, "shared_folder_change_link_policy": EventTypeArg._shared_folder_change_link_policy_validator, "shared_folder_change_members_inheritance_policy": EventTypeArg._shared_folder_change_members_inheritance_policy_validator, "shared_folder_change_members_management_policy": EventTypeArg._shared_folder_change_members_management_policy_validator, "shared_folder_change_members_policy": EventTypeArg._shared_folder_change_members_policy_validator, "shared_folder_create": EventTypeArg._shared_folder_create_validator, "shared_folder_decline_invitation": EventTypeArg._shared_folder_decline_invitation_validator, "shared_folder_mount": EventTypeArg._shared_folder_mount_validator, "shared_folder_nest": EventTypeArg._shared_folder_nest_validator, "shared_folder_transfer_ownership": EventTypeArg._shared_folder_transfer_ownership_validator, "shared_folder_unmount": EventTypeArg._shared_folder_unmount_validator, "shared_link_add_expiry": EventTypeArg._shared_link_add_expiry_validator, "shared_link_change_expiry": EventTypeArg._shared_link_change_expiry_validator, "shared_link_change_visibility": EventTypeArg._shared_link_change_visibility_validator, "shared_link_copy": EventTypeArg._shared_link_copy_validator, "shared_link_create": EventTypeArg._shared_link_create_validator, "shared_link_disable": EventTypeArg._shared_link_disable_validator, "shared_link_download": EventTypeArg._shared_link_download_validator, "shared_link_remove_expiry": EventTypeArg._shared_link_remove_expiry_validator, "shared_link_remove_visitor": EventTypeArg._shared_link_remove_visitor_validator, "shared_link_settings_add_expiration": EventTypeArg._shared_link_settings_add_expiration_validator, "shared_link_settings_add_password": EventTypeArg._shared_link_settings_add_password_validator, "shared_link_settings_allow_download_disabled": EventTypeArg._shared_link_settings_allow_download_disabled_validator, "shared_link_settings_allow_download_enabled": EventTypeArg._shared_link_settings_allow_download_enabled_validator, "shared_link_settings_change_audience": EventTypeArg._shared_link_settings_change_audience_validator, "shared_link_settings_change_expiration": EventTypeArg._shared_link_settings_change_expiration_validator, "shared_link_settings_change_password": EventTypeArg._shared_link_settings_change_password_validator, "shared_link_settings_remove_expiration": EventTypeArg._shared_link_settings_remove_expiration_validator, "shared_link_settings_remove_password": EventTypeArg._shared_link_settings_remove_password_validator, "shared_link_share": EventTypeArg._shared_link_share_validator, "shared_link_view": EventTypeArg._shared_link_view_validator, "shared_note_opened": EventTypeArg._shared_note_opened_validator, "shmodel_disable_downloads": EventTypeArg._shmodel_disable_downloads_validator, "shmodel_enable_downloads": EventTypeArg._shmodel_enable_downloads_validator, "shmodel_group_share": EventTypeArg._shmodel_group_share_validator, "showcase_access_granted": EventTypeArg._showcase_access_granted_validator, "showcase_add_member": EventTypeArg._showcase_add_member_validator, "showcase_archived": EventTypeArg._showcase_archived_validator, "showcase_created": EventTypeArg._showcase_created_validator, "showcase_delete_comment": EventTypeArg._showcase_delete_comment_validator, "showcase_edited": EventTypeArg._showcase_edited_validator, "showcase_edit_comment": EventTypeArg._showcase_edit_comment_validator, "showcase_file_added": EventTypeArg._showcase_file_added_validator, "showcase_file_download": EventTypeArg._showcase_file_download_validator, "showcase_file_removed": EventTypeArg._showcase_file_removed_validator, "showcase_file_view": EventTypeArg._showcase_file_view_validator, "showcase_permanently_deleted": EventTypeArg._showcase_permanently_deleted_validator, "showcase_post_comment": EventTypeArg._showcase_post_comment_validator, "showcase_remove_member": EventTypeArg._showcase_remove_member_validator, "showcase_renamed": EventTypeArg._showcase_renamed_validator, "showcase_request_access": EventTypeArg._showcase_request_access_validator, "showcase_resolve_comment": EventTypeArg._showcase_resolve_comment_validator, "showcase_restored": EventTypeArg._showcase_restored_validator, "showcase_trashed": EventTypeArg._showcase_trashed_validator, "showcase_trashed_deprecated": EventTypeArg._showcase_trashed_deprecated_validator, "showcase_unresolve_comment": EventTypeArg._showcase_unresolve_comment_validator, "showcase_untrashed": EventTypeArg._showcase_untrashed_validator, "showcase_untrashed_deprecated": EventTypeArg._showcase_untrashed_deprecated_validator, "showcase_view": EventTypeArg._showcase_view_validator, "sign_signature_request_canceled": EventTypeArg._sign_signature_request_canceled_validator, "sign_signature_request_completed": EventTypeArg._sign_signature_request_completed_validator, "sign_signature_request_declined": EventTypeArg._sign_signature_request_declined_validator, "sign_signature_request_opened": EventTypeArg._sign_signature_request_opened_validator, "sign_signature_request_reminder_sent": EventTypeArg._sign_signature_request_reminder_sent_validator, "sign_signature_request_sent": EventTypeArg._sign_signature_request_sent_validator, "sign_template_created": EventTypeArg._sign_template_created_validator, "sign_template_shared": EventTypeArg._sign_template_shared_validator, "risc_security_event": EventTypeArg._risc_security_event_validator, "sso_add_cert": EventTypeArg._sso_add_cert_validator, "sso_add_login_url": EventTypeArg._sso_add_login_url_validator, "sso_add_logout_url": EventTypeArg._sso_add_logout_url_validator, "sso_change_cert": EventTypeArg._sso_change_cert_validator, "sso_change_login_url": EventTypeArg._sso_change_login_url_validator, "sso_change_logout_url": EventTypeArg._sso_change_logout_url_validator, "sso_change_saml_identity_mode": EventTypeArg._sso_change_saml_identity_mode_validator, "sso_remove_cert": EventTypeArg._sso_remove_cert_validator, "sso_remove_login_url": EventTypeArg._sso_remove_login_url_validator, "sso_remove_logout_url": EventTypeArg._sso_remove_logout_url_validator, "team_folder_change_status": EventTypeArg._team_folder_change_status_validator, "team_folder_create": EventTypeArg._team_folder_create_validator, "team_folder_downgrade": EventTypeArg._team_folder_downgrade_validator, "team_folder_permanently_delete": EventTypeArg._team_folder_permanently_delete_validator, "team_folder_rename": EventTypeArg._team_folder_rename_validator, "team_folder_space_limits_change_caps_type": EventTypeArg._team_folder_space_limits_change_caps_type_validator, "team_folder_space_limits_change_limit": EventTypeArg._team_folder_space_limits_change_limit_validator, "team_folder_space_limits_change_notification_target": EventTypeArg._team_folder_space_limits_change_notification_target_validator, "team_selective_sync_settings_changed": EventTypeArg._team_selective_sync_settings_changed_validator, "account_capture_change_policy": EventTypeArg._account_capture_change_policy_validator, "admin_email_reminders_changed": EventTypeArg._admin_email_reminders_changed_validator, "ai_third_party_sharing_dropbox_base_policy_changed": EventTypeArg._ai_third_party_sharing_dropbox_base_policy_changed_validator, "allow_download_disabled": EventTypeArg._allow_download_disabled_validator, "allow_download_enabled": EventTypeArg._allow_download_enabled_validator, "apple_login_change_policy": EventTypeArg._apple_login_change_policy_validator, "app_permissions_changed": EventTypeArg._app_permissions_changed_validator, "camera_uploads_policy_changed": EventTypeArg._camera_uploads_policy_changed_validator, "capture_team_space_policy_changed": EventTypeArg._capture_team_space_policy_changed_validator, "capture_transcript_policy_changed": EventTypeArg._capture_transcript_policy_changed_validator, "classification_change_policy": EventTypeArg._classification_change_policy_validator, "computer_backup_policy_changed": EventTypeArg._computer_backup_policy_changed_validator, "content_administration_policy_changed": EventTypeArg._content_administration_policy_changed_validator, "content_deletion_protection_change_policy": EventTypeArg._content_deletion_protection_change_policy_validator, "dash_external_sharing_policy_changed": EventTypeArg._dash_external_sharing_policy_changed_validator, "data_placement_restriction_change_policy": EventTypeArg._data_placement_restriction_change_policy_validator, "data_placement_restriction_satisfy_policy": EventTypeArg._data_placement_restriction_satisfy_policy_validator, "device_approvals_add_exception": EventTypeArg._device_approvals_add_exception_validator, "device_approvals_change_desktop_policy": EventTypeArg._device_approvals_change_desktop_policy_validator, "device_approvals_change_mobile_policy": EventTypeArg._device_approvals_change_mobile_policy_validator, "device_approvals_change_overage_action": EventTypeArg._device_approvals_change_overage_action_validator, "device_approvals_change_unlink_action": EventTypeArg._device_approvals_change_unlink_action_validator, "device_approvals_remove_exception": EventTypeArg._device_approvals_remove_exception_validator, "directory_restrictions_add_members": EventTypeArg._directory_restrictions_add_members_validator, "directory_restrictions_remove_members": EventTypeArg._directory_restrictions_remove_members_validator, "dropbox_passwords_policy_changed": EventTypeArg._dropbox_passwords_policy_changed_validator, "email_ingest_policy_changed": EventTypeArg._email_ingest_policy_changed_validator, "emm_add_exception": EventTypeArg._emm_add_exception_validator, "emm_change_policy": EventTypeArg._emm_change_policy_validator, "emm_remove_exception": EventTypeArg._emm_remove_exception_validator, "extended_version_history_change_policy": EventTypeArg._extended_version_history_change_policy_validator, "external_drive_backup_policy_changed": EventTypeArg._external_drive_backup_policy_changed_validator, "file_comments_change_policy": EventTypeArg._file_comments_change_policy_validator, "file_locking_policy_changed": EventTypeArg._file_locking_policy_changed_validator, "file_provider_migration_policy_changed": EventTypeArg._file_provider_migration_policy_changed_validator, "file_requests_change_policy": EventTypeArg._file_requests_change_policy_validator, "file_requests_emails_enabled": EventTypeArg._file_requests_emails_enabled_validator, "file_requests_emails_restricted_to_team_only": EventTypeArg._file_requests_emails_restricted_to_team_only_validator, "file_transfers_policy_changed": EventTypeArg._file_transfers_policy_changed_validator, "flexible_file_names_policy_changed": EventTypeArg._flexible_file_names_policy_changed_validator, "folder_link_restriction_policy_changed": EventTypeArg._folder_link_restriction_policy_changed_validator, "google_sso_change_policy": EventTypeArg._google_sso_change_policy_validator, "group_user_management_change_policy": EventTypeArg._group_user_management_change_policy_validator, "integration_policy_changed": EventTypeArg._integration_policy_changed_validator, "invite_acceptance_email_policy_changed": EventTypeArg._invite_acceptance_email_policy_changed_validator, "media_hub_adding_people_policy_changed": EventTypeArg._media_hub_adding_people_policy_changed_validator, "media_hub_download_policy_changed": EventTypeArg._media_hub_download_policy_changed_validator, "media_hub_link_sharing_policy_changed": EventTypeArg._media_hub_link_sharing_policy_changed_validator, "member_requests_change_policy": EventTypeArg._member_requests_change_policy_validator, "member_send_invite_policy_changed": EventTypeArg._member_send_invite_policy_changed_validator, "member_space_limits_add_exception": EventTypeArg._member_space_limits_add_exception_validator, "member_space_limits_change_caps_type_policy": EventTypeArg._member_space_limits_change_caps_type_policy_validator, "member_space_limits_change_policy": EventTypeArg._member_space_limits_change_policy_validator, "member_space_limits_remove_exception": EventTypeArg._member_space_limits_remove_exception_validator, "member_suggestions_change_policy": EventTypeArg._member_suggestions_change_policy_validator, "microsoft_login_change_policy": EventTypeArg._microsoft_login_change_policy_validator, "microsoft_office_addin_change_policy": EventTypeArg._microsoft_office_addin_change_policy_validator, "multi_team_identity_policy_changed": EventTypeArg._multi_team_identity_policy_changed_validator, "network_control_change_policy": EventTypeArg._network_control_change_policy_validator, "paper_change_deployment_policy": EventTypeArg._paper_change_deployment_policy_validator, "paper_change_member_link_policy": EventTypeArg._paper_change_member_link_policy_validator, "paper_change_member_policy": EventTypeArg._paper_change_member_policy_validator, "paper_change_policy": EventTypeArg._paper_change_policy_validator, "paper_default_folder_policy_changed": EventTypeArg._paper_default_folder_policy_changed_validator, "paper_desktop_policy_changed": EventTypeArg._paper_desktop_policy_changed_validator, "paper_enabled_users_group_addition": EventTypeArg._paper_enabled_users_group_addition_validator, "paper_enabled_users_group_removal": EventTypeArg._paper_enabled_users_group_removal_validator, "passkey_login_policy_changed": EventTypeArg._passkey_login_policy_changed_validator, "password_strength_requirements_change_policy": EventTypeArg._password_strength_requirements_change_policy_validator, "permanent_delete_change_policy": EventTypeArg._permanent_delete_change_policy_validator, "previews_ai_policy_changed": EventTypeArg._previews_ai_policy_changed_validator, "replay_adding_people_policy_changed": EventTypeArg._replay_adding_people_policy_changed_validator, "replay_sharing_policy_changed": EventTypeArg._replay_sharing_policy_changed_validator, "reseller_support_change_policy": EventTypeArg._reseller_support_change_policy_validator, "rewind_policy_changed": EventTypeArg._rewind_policy_changed_validator, "send_and_track_policy_changed": EventTypeArg._send_and_track_policy_changed_validator, "send_external_sharing_policy_changed": EventTypeArg._send_external_sharing_policy_changed_validator, "send_for_signature_policy_changed": EventTypeArg._send_for_signature_policy_changed_validator, "shared_link_default_permissions_policy_changed": EventTypeArg._shared_link_default_permissions_policy_changed_validator, "sharing_change_folder_join_policy": EventTypeArg._sharing_change_folder_join_policy_validator, "sharing_change_link_allow_change_expiration_policy": EventTypeArg._sharing_change_link_allow_change_expiration_policy_validator, "sharing_change_link_default_expiration_policy": EventTypeArg._sharing_change_link_default_expiration_policy_validator, "sharing_change_link_enforce_password_policy": EventTypeArg._sharing_change_link_enforce_password_policy_validator, "sharing_change_link_policy": EventTypeArg._sharing_change_link_policy_validator, "sharing_change_member_policy": EventTypeArg._sharing_change_member_policy_validator, "showcase_change_download_policy": EventTypeArg._showcase_change_download_policy_validator, "showcase_change_enabled_policy": EventTypeArg._showcase_change_enabled_policy_validator, "showcase_change_external_sharing_policy": EventTypeArg._showcase_change_external_sharing_policy_validator, "sign_external_sharing_policy_changed": EventTypeArg._sign_external_sharing_policy_changed_validator, "sign_template_creation_permission_changed": EventTypeArg._sign_template_creation_permission_changed_validator, "smarter_smart_sync_policy_changed": EventTypeArg._smarter_smart_sync_policy_changed_validator, "smart_sync_change_policy": EventTypeArg._smart_sync_change_policy_validator, "smart_sync_not_opt_out": EventTypeArg._smart_sync_not_opt_out_validator, "smart_sync_opt_out": EventTypeArg._smart_sync_opt_out_validator, "sso_change_policy": EventTypeArg._sso_change_policy_validator, "stack_cross_team_access_policy_changed": EventTypeArg._stack_cross_team_access_policy_changed_validator, "team_branding_policy_changed": EventTypeArg._team_branding_policy_changed_validator, "team_extensions_policy_changed": EventTypeArg._team_extensions_policy_changed_validator, "team_member_storage_request_policy_changed": EventTypeArg._team_member_storage_request_policy_changed_validator, "team_selective_sync_policy_changed": EventTypeArg._team_selective_sync_policy_changed_validator, "team_sharing_whitelist_subjects_changed": EventTypeArg._team_sharing_whitelist_subjects_changed_validator, "tfa_add_exception": EventTypeArg._tfa_add_exception_validator, "tfa_change_policy": EventTypeArg._tfa_change_policy_validator, "tfa_remove_exception": EventTypeArg._tfa_remove_exception_validator, "top_level_content_policy_changed": EventTypeArg._top_level_content_policy_changed_validator, "two_account_change_policy": EventTypeArg._two_account_change_policy_validator, "viewer_info_policy_changed": EventTypeArg._viewer_info_policy_changed_validator, "watermarking_policy_changed": EventTypeArg._watermarking_policy_changed_validator, "web_sessions_change_active_session_limit": EventTypeArg._web_sessions_change_active_session_limit_validator, "web_sessions_change_fixed_length_policy": EventTypeArg._web_sessions_change_fixed_length_policy_validator, "web_sessions_change_idle_length_policy": EventTypeArg._web_sessions_change_idle_length_policy_validator, "data_residency_migration_request_successful": EventTypeArg._data_residency_migration_request_successful_validator, "data_residency_migration_request_unsuccessful": EventTypeArg._data_residency_migration_request_unsuccessful_validator, "team_merge_from": EventTypeArg._team_merge_from_validator, "team_merge_to": EventTypeArg._team_merge_to_validator, "team_profile_add_background": EventTypeArg._team_profile_add_background_validator, "team_profile_add_logo": EventTypeArg._team_profile_add_logo_validator, "team_profile_change_background": EventTypeArg._team_profile_change_background_validator, "team_profile_change_default_language": EventTypeArg._team_profile_change_default_language_validator, "team_profile_change_logo": EventTypeArg._team_profile_change_logo_validator, "team_profile_change_name": EventTypeArg._team_profile_change_name_validator, "team_profile_remove_background": EventTypeArg._team_profile_remove_background_validator, "team_profile_remove_logo": EventTypeArg._team_profile_remove_logo_validator, "passkey_add": EventTypeArg._passkey_add_validator, "passkey_remove": EventTypeArg._passkey_remove_validator, "tfa_add_backup_phone": EventTypeArg._tfa_add_backup_phone_validator, "tfa_add_security_key": EventTypeArg._tfa_add_security_key_validator, "tfa_change_backup_phone": EventTypeArg._tfa_change_backup_phone_validator, "tfa_change_status": EventTypeArg._tfa_change_status_validator, "tfa_remove_backup_phone": EventTypeArg._tfa_remove_backup_phone_validator, "tfa_remove_security_key": EventTypeArg._tfa_remove_security_key_validator, "tfa_reset": EventTypeArg._tfa_reset_validator, "changed_enterprise_admin_role": EventTypeArg._changed_enterprise_admin_role_validator, "changed_enterprise_connected_team_status": EventTypeArg._changed_enterprise_connected_team_status_validator, "ended_enterprise_admin_session": EventTypeArg._ended_enterprise_admin_session_validator, "ended_enterprise_admin_session_deprecated": EventTypeArg._ended_enterprise_admin_session_deprecated_validator, "enterprise_settings_locking": EventTypeArg._enterprise_settings_locking_validator, "guest_admin_change_status": EventTypeArg._guest_admin_change_status_validator, "started_enterprise_admin_session": EventTypeArg._started_enterprise_admin_session_validator, "team_merge_request_accepted": EventTypeArg._team_merge_request_accepted_validator, "team_merge_request_accepted_shown_to_primary_team": EventTypeArg._team_merge_request_accepted_shown_to_primary_team_validator, "team_merge_request_accepted_shown_to_secondary_team": EventTypeArg._team_merge_request_accepted_shown_to_secondary_team_validator, "team_merge_request_auto_canceled": EventTypeArg._team_merge_request_auto_canceled_validator, "team_merge_request_canceled": EventTypeArg._team_merge_request_canceled_validator, "team_merge_request_canceled_shown_to_primary_team": EventTypeArg._team_merge_request_canceled_shown_to_primary_team_validator, "team_merge_request_canceled_shown_to_secondary_team": EventTypeArg._team_merge_request_canceled_shown_to_secondary_team_validator, "team_merge_request_expired": EventTypeArg._team_merge_request_expired_validator, "team_merge_request_expired_shown_to_primary_team": EventTypeArg._team_merge_request_expired_shown_to_primary_team_validator, "team_merge_request_expired_shown_to_secondary_team": EventTypeArg._team_merge_request_expired_shown_to_secondary_team_validator, "team_merge_request_rejected_shown_to_primary_team": EventTypeArg._team_merge_request_rejected_shown_to_primary_team_validator, "team_merge_request_rejected_shown_to_secondary_team": EventTypeArg._team_merge_request_rejected_shown_to_secondary_team_validator, "team_merge_request_reminder": EventTypeArg._team_merge_request_reminder_validator, "team_merge_request_reminder_shown_to_primary_team": EventTypeArg._team_merge_request_reminder_shown_to_primary_team_validator, "team_merge_request_reminder_shown_to_secondary_team": EventTypeArg._team_merge_request_reminder_shown_to_secondary_team_validator, "team_merge_request_revoked": EventTypeArg._team_merge_request_revoked_validator, "team_merge_request_sent_shown_to_primary_team": EventTypeArg._team_merge_request_sent_shown_to_primary_team_validator, "team_merge_request_sent_shown_to_secondary_team": EventTypeArg._team_merge_request_sent_shown_to_secondary_team_validator, "other": EventTypeArg._other_validator, } EventTypeArg.admin_alerting_alert_state_changed = EventTypeArg("admin_alerting_alert_state_changed") EventTypeArg.admin_alerting_changed_alert_config = EventTypeArg( "admin_alerting_changed_alert_config" ) EventTypeArg.admin_alerting_triggered_alert = EventTypeArg("admin_alerting_triggered_alert") EventTypeArg.ransomware_restore_process_completed = EventTypeArg( "ransomware_restore_process_completed" ) EventTypeArg.ransomware_restore_process_started = EventTypeArg("ransomware_restore_process_started") EventTypeArg.app_blocked_by_permissions = EventTypeArg("app_blocked_by_permissions") EventTypeArg.app_link_team = EventTypeArg("app_link_team") EventTypeArg.app_link_user = EventTypeArg("app_link_user") EventTypeArg.app_unlink_team = EventTypeArg("app_unlink_team") EventTypeArg.app_unlink_user = EventTypeArg("app_unlink_user") EventTypeArg.integration_connected = EventTypeArg("integration_connected") EventTypeArg.integration_disconnected = EventTypeArg("integration_disconnected") EventTypeArg.file_add_comment = EventTypeArg("file_add_comment") EventTypeArg.file_change_comment_subscription = EventTypeArg("file_change_comment_subscription") EventTypeArg.file_delete_comment = EventTypeArg("file_delete_comment") EventTypeArg.file_edit_comment = EventTypeArg("file_edit_comment") EventTypeArg.file_like_comment = EventTypeArg("file_like_comment") EventTypeArg.file_resolve_comment = EventTypeArg("file_resolve_comment") EventTypeArg.file_unlike_comment = EventTypeArg("file_unlike_comment") EventTypeArg.file_unresolve_comment = EventTypeArg("file_unresolve_comment") EventTypeArg.dash_added_comment_to_stack = EventTypeArg("dash_added_comment_to_stack") EventTypeArg.dash_added_connector = EventTypeArg("dash_added_connector") EventTypeArg.dash_added_link_to_stack = EventTypeArg("dash_added_link_to_stack") EventTypeArg.dash_added_team_email_domain_allowlist = EventTypeArg( "dash_added_team_email_domain_allowlist" ) EventTypeArg.dash_admin_added_org_wide_connector = EventTypeArg( "dash_admin_added_org_wide_connector" ) EventTypeArg.dash_admin_disabled_connector = EventTypeArg("dash_admin_disabled_connector") EventTypeArg.dash_admin_enabled_connector = EventTypeArg("dash_admin_enabled_connector") EventTypeArg.dash_admin_removed_org_wide_connector = EventTypeArg( "dash_admin_removed_org_wide_connector" ) EventTypeArg.dash_archived_stack = EventTypeArg("dash_archived_stack") EventTypeArg.dash_changed_audience_of_shared_link_to_stack = EventTypeArg( "dash_changed_audience_of_shared_link_to_stack" ) EventTypeArg.dash_cloned_stack = EventTypeArg("dash_cloned_stack") EventTypeArg.dash_connector_tools_call = EventTypeArg("dash_connector_tools_call") EventTypeArg.dash_created_stack = EventTypeArg("dash_created_stack") EventTypeArg.dash_deleted_comment_from_stack = EventTypeArg("dash_deleted_comment_from_stack") EventTypeArg.dash_deleted_stack = EventTypeArg("dash_deleted_stack") EventTypeArg.dash_edited_comment_in_stack = EventTypeArg("dash_edited_comment_in_stack") EventTypeArg.dash_external_user_opened_stack = EventTypeArg("dash_external_user_opened_stack") EventTypeArg.dash_first_launched_desktop = EventTypeArg("dash_first_launched_desktop") EventTypeArg.dash_first_launched_extension = EventTypeArg("dash_first_launched_extension") EventTypeArg.dash_first_launched_web_start_page = EventTypeArg("dash_first_launched_web_start_page") EventTypeArg.dash_opened_shared_link_to_stack = EventTypeArg("dash_opened_shared_link_to_stack") EventTypeArg.dash_opened_stack = EventTypeArg("dash_opened_stack") EventTypeArg.dash_preview_opt_out_status_changed = EventTypeArg( "dash_preview_opt_out_status_changed" ) EventTypeArg.dash_removed_connector = EventTypeArg("dash_removed_connector") EventTypeArg.dash_removed_link_from_stack = EventTypeArg("dash_removed_link_from_stack") EventTypeArg.dash_removed_shared_link_to_stack = EventTypeArg("dash_removed_shared_link_to_stack") EventTypeArg.dash_removed_team_email_domain_allowlist = EventTypeArg( "dash_removed_team_email_domain_allowlist" ) EventTypeArg.dash_renamed_stack = EventTypeArg("dash_renamed_stack") EventTypeArg.dash_shared_link_to_stack = EventTypeArg("dash_shared_link_to_stack") EventTypeArg.dash_unarchived_stack = EventTypeArg("dash_unarchived_stack") EventTypeArg.dash_viewed_company_stack = EventTypeArg("dash_viewed_company_stack") EventTypeArg.dash_viewed_external_ai_activity_report = EventTypeArg( "dash_viewed_external_ai_activity_report" ) EventTypeArg.governance_policy_add_folders = EventTypeArg("governance_policy_add_folders") EventTypeArg.governance_policy_add_folder_failed = EventTypeArg( "governance_policy_add_folder_failed" ) EventTypeArg.governance_policy_content_disposed = EventTypeArg("governance_policy_content_disposed") EventTypeArg.governance_policy_create = EventTypeArg("governance_policy_create") EventTypeArg.governance_policy_delete = EventTypeArg("governance_policy_delete") EventTypeArg.governance_policy_edit_details = EventTypeArg("governance_policy_edit_details") EventTypeArg.governance_policy_edit_duration = EventTypeArg("governance_policy_edit_duration") EventTypeArg.governance_policy_export_created = EventTypeArg("governance_policy_export_created") EventTypeArg.governance_policy_export_removed = EventTypeArg("governance_policy_export_removed") EventTypeArg.governance_policy_remove_folders = EventTypeArg("governance_policy_remove_folders") EventTypeArg.governance_policy_report_created = EventTypeArg("governance_policy_report_created") EventTypeArg.governance_policy_zip_part_downloaded = EventTypeArg( "governance_policy_zip_part_downloaded" ) EventTypeArg.legal_holds_activate_a_hold = EventTypeArg("legal_holds_activate_a_hold") EventTypeArg.legal_holds_add_members = EventTypeArg("legal_holds_add_members") EventTypeArg.legal_holds_change_hold_details = EventTypeArg("legal_holds_change_hold_details") EventTypeArg.legal_holds_change_hold_name = EventTypeArg("legal_holds_change_hold_name") EventTypeArg.legal_holds_export_a_hold = EventTypeArg("legal_holds_export_a_hold") EventTypeArg.legal_holds_export_cancelled = EventTypeArg("legal_holds_export_cancelled") EventTypeArg.legal_holds_export_downloaded = EventTypeArg("legal_holds_export_downloaded") EventTypeArg.legal_holds_export_removed = EventTypeArg("legal_holds_export_removed") EventTypeArg.legal_holds_release_a_hold = EventTypeArg("legal_holds_release_a_hold") EventTypeArg.legal_holds_remove_members = EventTypeArg("legal_holds_remove_members") EventTypeArg.legal_holds_report_a_hold = EventTypeArg("legal_holds_report_a_hold") EventTypeArg.device_change_ip_desktop = EventTypeArg("device_change_ip_desktop") EventTypeArg.device_change_ip_mobile = EventTypeArg("device_change_ip_mobile") EventTypeArg.device_change_ip_web = EventTypeArg("device_change_ip_web") EventTypeArg.device_delete_on_unlink_fail = EventTypeArg("device_delete_on_unlink_fail") EventTypeArg.device_delete_on_unlink_success = EventTypeArg("device_delete_on_unlink_success") EventTypeArg.device_link_fail = EventTypeArg("device_link_fail") EventTypeArg.device_link_success = EventTypeArg("device_link_success") EventTypeArg.device_management_disabled = EventTypeArg("device_management_disabled") EventTypeArg.device_management_enabled = EventTypeArg("device_management_enabled") EventTypeArg.device_sync_backup_status_changed = EventTypeArg("device_sync_backup_status_changed") EventTypeArg.device_unlink = EventTypeArg("device_unlink") EventTypeArg.dropbox_passwords_exported = EventTypeArg("dropbox_passwords_exported") EventTypeArg.dropbox_passwords_new_device_enrolled = EventTypeArg( "dropbox_passwords_new_device_enrolled" ) EventTypeArg.emm_refresh_auth_token = EventTypeArg("emm_refresh_auth_token") EventTypeArg.external_drive_backup_eligibility_status_checked = EventTypeArg( "external_drive_backup_eligibility_status_checked" ) EventTypeArg.external_drive_backup_status_changed = EventTypeArg( "external_drive_backup_status_changed" ) EventTypeArg.account_capture_change_availability = EventTypeArg( "account_capture_change_availability" ) EventTypeArg.account_capture_migrate_account = EventTypeArg("account_capture_migrate_account") EventTypeArg.account_capture_notification_emails_sent = EventTypeArg( "account_capture_notification_emails_sent" ) EventTypeArg.account_capture_relinquish_account = EventTypeArg("account_capture_relinquish_account") EventTypeArg.disabled_domain_invites = EventTypeArg("disabled_domain_invites") EventTypeArg.domain_invites_approve_request_to_join_team = EventTypeArg( "domain_invites_approve_request_to_join_team" ) EventTypeArg.domain_invites_decline_request_to_join_team = EventTypeArg( "domain_invites_decline_request_to_join_team" ) EventTypeArg.domain_invites_email_existing_users = EventTypeArg( "domain_invites_email_existing_users" ) EventTypeArg.domain_invites_request_to_join_team = EventTypeArg( "domain_invites_request_to_join_team" ) EventTypeArg.domain_invites_set_invite_new_user_pref_to_no = EventTypeArg( "domain_invites_set_invite_new_user_pref_to_no" ) EventTypeArg.domain_invites_set_invite_new_user_pref_to_yes = EventTypeArg( "domain_invites_set_invite_new_user_pref_to_yes" ) EventTypeArg.domain_verification_add_domain_fail = EventTypeArg( "domain_verification_add_domain_fail" ) EventTypeArg.domain_verification_add_domain_success = EventTypeArg( "domain_verification_add_domain_success" ) EventTypeArg.domain_verification_remove_domain = EventTypeArg("domain_verification_remove_domain") EventTypeArg.enabled_domain_invites = EventTypeArg("enabled_domain_invites") EventTypeArg.encrypted_folder_cancel_team_key_rotation = EventTypeArg( "encrypted_folder_cancel_team_key_rotation" ) EventTypeArg.encrypted_folder_enroll_backup_key = EventTypeArg("encrypted_folder_enroll_backup_key") EventTypeArg.encrypted_folder_enroll_client = EventTypeArg("encrypted_folder_enroll_client") EventTypeArg.encrypted_folder_enroll_team = EventTypeArg("encrypted_folder_enroll_team") EventTypeArg.encrypted_folder_finish_team_unenrollment = EventTypeArg( "encrypted_folder_finish_team_unenrollment" ) EventTypeArg.encrypted_folder_init_team_key_rotation = EventTypeArg( "encrypted_folder_init_team_key_rotation" ) EventTypeArg.encrypted_folder_init_team_unenrollment = EventTypeArg( "encrypted_folder_init_team_unenrollment" ) EventTypeArg.encrypted_folder_remove_backup_key = EventTypeArg("encrypted_folder_remove_backup_key") EventTypeArg.encrypted_folder_rotate_team_key = EventTypeArg("encrypted_folder_rotate_team_key") EventTypeArg.encrypted_folder_unenroll_client = EventTypeArg("encrypted_folder_unenroll_client") EventTypeArg.team_encryption_key_activate_key = EventTypeArg("team_encryption_key_activate_key") EventTypeArg.team_encryption_key_cancel_key_deletion = EventTypeArg( "team_encryption_key_cancel_key_deletion" ) EventTypeArg.team_encryption_key_create_key = EventTypeArg("team_encryption_key_create_key") EventTypeArg.team_encryption_key_deactivate_key = EventTypeArg("team_encryption_key_deactivate_key") EventTypeArg.team_encryption_key_delete_key = EventTypeArg("team_encryption_key_delete_key") EventTypeArg.team_encryption_key_disable_key = EventTypeArg("team_encryption_key_disable_key") EventTypeArg.team_encryption_key_enable_key = EventTypeArg("team_encryption_key_enable_key") EventTypeArg.team_encryption_key_rotate_key = EventTypeArg("team_encryption_key_rotate_key") EventTypeArg.team_encryption_key_schedule_key_deletion = EventTypeArg( "team_encryption_key_schedule_key_deletion" ) EventTypeArg.apply_naming_convention = EventTypeArg("apply_naming_convention") EventTypeArg.create_folder = EventTypeArg("create_folder") EventTypeArg.file_add = EventTypeArg("file_add") EventTypeArg.file_add_from_automation = EventTypeArg("file_add_from_automation") EventTypeArg.file_copy = EventTypeArg("file_copy") EventTypeArg.file_delete = EventTypeArg("file_delete") EventTypeArg.file_download = EventTypeArg("file_download") EventTypeArg.file_edit = EventTypeArg("file_edit") EventTypeArg.file_get_copy_reference = EventTypeArg("file_get_copy_reference") EventTypeArg.file_locking_lock_status_changed = EventTypeArg("file_locking_lock_status_changed") EventTypeArg.file_move = EventTypeArg("file_move") EventTypeArg.file_permanently_delete = EventTypeArg("file_permanently_delete") EventTypeArg.file_preview = EventTypeArg("file_preview") EventTypeArg.file_rename = EventTypeArg("file_rename") EventTypeArg.file_restore = EventTypeArg("file_restore") EventTypeArg.file_revert = EventTypeArg("file_revert") EventTypeArg.file_rollback_changes = EventTypeArg("file_rollback_changes") EventTypeArg.file_save_copy_reference = EventTypeArg("file_save_copy_reference") EventTypeArg.folder_overview_description_changed = EventTypeArg( "folder_overview_description_changed" ) EventTypeArg.folder_overview_item_pinned = EventTypeArg("folder_overview_item_pinned") EventTypeArg.folder_overview_item_unpinned = EventTypeArg("folder_overview_item_unpinned") EventTypeArg.media_hub_file_downloaded = EventTypeArg("media_hub_file_downloaded") EventTypeArg.object_label_added = EventTypeArg("object_label_added") EventTypeArg.object_label_removed = EventTypeArg("object_label_removed") EventTypeArg.object_label_updated_value = EventTypeArg("object_label_updated_value") EventTypeArg.organize_folder_with_tidy = EventTypeArg("organize_folder_with_tidy") EventTypeArg.replay_file_delete = EventTypeArg("replay_file_delete") EventTypeArg.replay_file_downloaded = EventTypeArg("replay_file_downloaded") EventTypeArg.replay_team_project_created = EventTypeArg("replay_team_project_created") EventTypeArg.rewind_folder = EventTypeArg("rewind_folder") EventTypeArg.undo_naming_convention = EventTypeArg("undo_naming_convention") EventTypeArg.undo_organize_folder_with_tidy = EventTypeArg("undo_organize_folder_with_tidy") EventTypeArg.user_tags_added = EventTypeArg("user_tags_added") EventTypeArg.user_tags_removed = EventTypeArg("user_tags_removed") EventTypeArg.email_ingest_receive_file = EventTypeArg("email_ingest_receive_file") EventTypeArg.file_request_auto_close = EventTypeArg("file_request_auto_close") EventTypeArg.file_request_change = EventTypeArg("file_request_change") EventTypeArg.file_request_close = EventTypeArg("file_request_close") EventTypeArg.file_request_create = EventTypeArg("file_request_create") EventTypeArg.file_request_delete = EventTypeArg("file_request_delete") EventTypeArg.file_request_receive_file = EventTypeArg("file_request_receive_file") EventTypeArg.group_add_external_id = EventTypeArg("group_add_external_id") EventTypeArg.group_add_member = EventTypeArg("group_add_member") EventTypeArg.group_change_external_id = EventTypeArg("group_change_external_id") EventTypeArg.group_change_management_type = EventTypeArg("group_change_management_type") EventTypeArg.group_change_member_role = EventTypeArg("group_change_member_role") EventTypeArg.group_create = EventTypeArg("group_create") EventTypeArg.group_delete = EventTypeArg("group_delete") EventTypeArg.group_description_updated = EventTypeArg("group_description_updated") EventTypeArg.group_external_sharing_setting_override_changed = EventTypeArg( "group_external_sharing_setting_override_changed" ) EventTypeArg.group_join_policy_updated = EventTypeArg("group_join_policy_updated") EventTypeArg.group_moved = EventTypeArg("group_moved") EventTypeArg.group_remove_external_id = EventTypeArg("group_remove_external_id") EventTypeArg.group_remove_member = EventTypeArg("group_remove_member") EventTypeArg.group_rename = EventTypeArg("group_rename") EventTypeArg.account_lock_or_unlocked = EventTypeArg("account_lock_or_unlocked") EventTypeArg.emm_error = EventTypeArg("emm_error") EventTypeArg.guest_admin_signed_in_via_trusted_teams = EventTypeArg( "guest_admin_signed_in_via_trusted_teams" ) EventTypeArg.guest_admin_signed_out_via_trusted_teams = EventTypeArg( "guest_admin_signed_out_via_trusted_teams" ) EventTypeArg.login_fail = EventTypeArg("login_fail") EventTypeArg.login_success = EventTypeArg("login_success") EventTypeArg.logout = EventTypeArg("logout") EventTypeArg.reseller_support_session_end = EventTypeArg("reseller_support_session_end") EventTypeArg.reseller_support_session_start = EventTypeArg("reseller_support_session_start") EventTypeArg.sign_in_as_session_end = EventTypeArg("sign_in_as_session_end") EventTypeArg.sign_in_as_session_start = EventTypeArg("sign_in_as_session_start") EventTypeArg.sso_error = EventTypeArg("sso_error") EventTypeArg.addon_assigned = EventTypeArg("addon_assigned") EventTypeArg.addon_removed = EventTypeArg("addon_removed") EventTypeArg.backup_admin_invitation_sent = EventTypeArg("backup_admin_invitation_sent") EventTypeArg.backup_invitation_opened = EventTypeArg("backup_invitation_opened") EventTypeArg.create_team_invite_link = EventTypeArg("create_team_invite_link") EventTypeArg.delete_team_invite_link = EventTypeArg("delete_team_invite_link") EventTypeArg.member_add_external_id = EventTypeArg("member_add_external_id") EventTypeArg.member_add_name = EventTypeArg("member_add_name") EventTypeArg.member_change_admin_role = EventTypeArg("member_change_admin_role") EventTypeArg.member_change_email = EventTypeArg("member_change_email") EventTypeArg.member_change_external_id = EventTypeArg("member_change_external_id") EventTypeArg.member_change_membership_type = EventTypeArg("member_change_membership_type") EventTypeArg.member_change_name = EventTypeArg("member_change_name") EventTypeArg.member_change_reseller_role = EventTypeArg("member_change_reseller_role") EventTypeArg.member_change_status = EventTypeArg("member_change_status") EventTypeArg.member_delete_manual_contacts = EventTypeArg("member_delete_manual_contacts") EventTypeArg.member_delete_profile_photo = EventTypeArg("member_delete_profile_photo") EventTypeArg.member_permanently_delete_account_contents = EventTypeArg( "member_permanently_delete_account_contents" ) EventTypeArg.member_remove_external_id = EventTypeArg("member_remove_external_id") EventTypeArg.member_set_profile_photo = EventTypeArg("member_set_profile_photo") EventTypeArg.member_space_limits_add_custom_quota = EventTypeArg( "member_space_limits_add_custom_quota" ) EventTypeArg.member_space_limits_change_custom_quota = EventTypeArg( "member_space_limits_change_custom_quota" ) EventTypeArg.member_space_limits_change_status = EventTypeArg("member_space_limits_change_status") EventTypeArg.member_space_limits_remove_custom_quota = EventTypeArg( "member_space_limits_remove_custom_quota" ) EventTypeArg.member_suggest = EventTypeArg("member_suggest") EventTypeArg.member_transfer_account_contents = EventTypeArg("member_transfer_account_contents") EventTypeArg.pending_secondary_email_added = EventTypeArg("pending_secondary_email_added") EventTypeArg.product_assigned_to_member = EventTypeArg("product_assigned_to_member") EventTypeArg.product_removed_from_member = EventTypeArg("product_removed_from_member") EventTypeArg.secondary_email_deleted = EventTypeArg("secondary_email_deleted") EventTypeArg.secondary_email_verified = EventTypeArg("secondary_email_verified") EventTypeArg.secondary_mails_policy_changed = EventTypeArg("secondary_mails_policy_changed") EventTypeArg.binder_add_page = EventTypeArg("binder_add_page") EventTypeArg.binder_add_section = EventTypeArg("binder_add_section") EventTypeArg.binder_remove_page = EventTypeArg("binder_remove_page") EventTypeArg.binder_remove_section = EventTypeArg("binder_remove_section") EventTypeArg.binder_rename_page = EventTypeArg("binder_rename_page") EventTypeArg.binder_rename_section = EventTypeArg("binder_rename_section") EventTypeArg.binder_reorder_page = EventTypeArg("binder_reorder_page") EventTypeArg.binder_reorder_section = EventTypeArg("binder_reorder_section") EventTypeArg.paper_content_add_member = EventTypeArg("paper_content_add_member") EventTypeArg.paper_content_add_to_folder = EventTypeArg("paper_content_add_to_folder") EventTypeArg.paper_content_archive = EventTypeArg("paper_content_archive") EventTypeArg.paper_content_create = EventTypeArg("paper_content_create") EventTypeArg.paper_content_permanently_delete = EventTypeArg("paper_content_permanently_delete") EventTypeArg.paper_content_remove_from_folder = EventTypeArg("paper_content_remove_from_folder") EventTypeArg.paper_content_remove_member = EventTypeArg("paper_content_remove_member") EventTypeArg.paper_content_rename = EventTypeArg("paper_content_rename") EventTypeArg.paper_content_restore = EventTypeArg("paper_content_restore") EventTypeArg.paper_doc_add_comment = EventTypeArg("paper_doc_add_comment") EventTypeArg.paper_doc_change_member_role = EventTypeArg("paper_doc_change_member_role") EventTypeArg.paper_doc_change_sharing_policy = EventTypeArg("paper_doc_change_sharing_policy") EventTypeArg.paper_doc_change_subscription = EventTypeArg("paper_doc_change_subscription") EventTypeArg.paper_doc_deleted = EventTypeArg("paper_doc_deleted") EventTypeArg.paper_doc_delete_comment = EventTypeArg("paper_doc_delete_comment") EventTypeArg.paper_doc_download = EventTypeArg("paper_doc_download") EventTypeArg.paper_doc_edit = EventTypeArg("paper_doc_edit") EventTypeArg.paper_doc_edit_comment = EventTypeArg("paper_doc_edit_comment") EventTypeArg.paper_doc_followed = EventTypeArg("paper_doc_followed") EventTypeArg.paper_doc_mention = EventTypeArg("paper_doc_mention") EventTypeArg.paper_doc_ownership_changed = EventTypeArg("paper_doc_ownership_changed") EventTypeArg.paper_doc_request_access = EventTypeArg("paper_doc_request_access") EventTypeArg.paper_doc_resolve_comment = EventTypeArg("paper_doc_resolve_comment") EventTypeArg.paper_doc_revert = EventTypeArg("paper_doc_revert") EventTypeArg.paper_doc_slack_share = EventTypeArg("paper_doc_slack_share") EventTypeArg.paper_doc_team_invite = EventTypeArg("paper_doc_team_invite") EventTypeArg.paper_doc_trashed = EventTypeArg("paper_doc_trashed") EventTypeArg.paper_doc_unresolve_comment = EventTypeArg("paper_doc_unresolve_comment") EventTypeArg.paper_doc_untrashed = EventTypeArg("paper_doc_untrashed") EventTypeArg.paper_doc_view = EventTypeArg("paper_doc_view") EventTypeArg.paper_external_view_allow = EventTypeArg("paper_external_view_allow") EventTypeArg.paper_external_view_default_team = EventTypeArg("paper_external_view_default_team") EventTypeArg.paper_external_view_forbid = EventTypeArg("paper_external_view_forbid") EventTypeArg.paper_folder_change_subscription = EventTypeArg("paper_folder_change_subscription") EventTypeArg.paper_folder_deleted = EventTypeArg("paper_folder_deleted") EventTypeArg.paper_folder_followed = EventTypeArg("paper_folder_followed") EventTypeArg.paper_folder_team_invite = EventTypeArg("paper_folder_team_invite") EventTypeArg.paper_published_link_change_permission = EventTypeArg( "paper_published_link_change_permission" ) EventTypeArg.paper_published_link_create = EventTypeArg("paper_published_link_create") EventTypeArg.paper_published_link_disabled = EventTypeArg("paper_published_link_disabled") EventTypeArg.paper_published_link_view = EventTypeArg("paper_published_link_view") EventTypeArg.password_change = EventTypeArg("password_change") EventTypeArg.password_reset = EventTypeArg("password_reset") EventTypeArg.password_reset_all = EventTypeArg("password_reset_all") EventTypeArg.protect_internal_domains_changed = EventTypeArg("protect_internal_domains_changed") EventTypeArg.classification_create_report = EventTypeArg("classification_create_report") EventTypeArg.classification_create_report_fail = EventTypeArg("classification_create_report_fail") EventTypeArg.emm_create_exceptions_report = EventTypeArg("emm_create_exceptions_report") EventTypeArg.emm_create_usage_report = EventTypeArg("emm_create_usage_report") EventTypeArg.export_members_report = EventTypeArg("export_members_report") EventTypeArg.export_members_report_fail = EventTypeArg("export_members_report_fail") EventTypeArg.external_sharing_create_report = EventTypeArg("external_sharing_create_report") EventTypeArg.external_sharing_report_failed = EventTypeArg("external_sharing_report_failed") EventTypeArg.member_access_details_create_report = EventTypeArg( "member_access_details_create_report" ) EventTypeArg.member_access_details_create_report_failed = EventTypeArg( "member_access_details_create_report_failed" ) EventTypeArg.no_expiration_link_gen_create_report = EventTypeArg( "no_expiration_link_gen_create_report" ) EventTypeArg.no_expiration_link_gen_report_failed = EventTypeArg( "no_expiration_link_gen_report_failed" ) EventTypeArg.no_password_link_gen_create_report = EventTypeArg("no_password_link_gen_create_report") EventTypeArg.no_password_link_gen_report_failed = EventTypeArg("no_password_link_gen_report_failed") EventTypeArg.no_password_link_view_create_report = EventTypeArg( "no_password_link_view_create_report" ) EventTypeArg.no_password_link_view_report_failed = EventTypeArg( "no_password_link_view_report_failed" ) EventTypeArg.outdated_link_view_create_report = EventTypeArg("outdated_link_view_create_report") EventTypeArg.outdated_link_view_report_failed = EventTypeArg("outdated_link_view_report_failed") EventTypeArg.paper_admin_export_start = EventTypeArg("paper_admin_export_start") EventTypeArg.ransomware_alert_create_report = EventTypeArg("ransomware_alert_create_report") EventTypeArg.ransomware_alert_create_report_failed = EventTypeArg( "ransomware_alert_create_report_failed" ) EventTypeArg.shared_folders_create_report = EventTypeArg("shared_folders_create_report") EventTypeArg.shared_folders_create_report_failed = EventTypeArg( "shared_folders_create_report_failed" ) EventTypeArg.smart_sync_create_admin_privilege_report = EventTypeArg( "smart_sync_create_admin_privilege_report" ) EventTypeArg.team_activity_create_report = EventTypeArg("team_activity_create_report") EventTypeArg.team_activity_create_report_fail = EventTypeArg("team_activity_create_report_fail") EventTypeArg.team_folders_create_report = EventTypeArg("team_folders_create_report") EventTypeArg.team_folders_create_report_failed = EventTypeArg("team_folders_create_report_failed") EventTypeArg.team_storage_create_report = EventTypeArg("team_storage_create_report") EventTypeArg.team_storage_create_report_failed = EventTypeArg("team_storage_create_report_failed") EventTypeArg.collection_share = EventTypeArg("collection_share") EventTypeArg.file_transfers_file_add = EventTypeArg("file_transfers_file_add") EventTypeArg.file_transfers_transfer_delete = EventTypeArg("file_transfers_transfer_delete") EventTypeArg.file_transfers_transfer_download = EventTypeArg("file_transfers_transfer_download") EventTypeArg.file_transfers_transfer_send = EventTypeArg("file_transfers_transfer_send") EventTypeArg.file_transfers_transfer_view = EventTypeArg("file_transfers_transfer_view") EventTypeArg.media_hub_project_team_add = EventTypeArg("media_hub_project_team_add") EventTypeArg.media_hub_project_team_delete = EventTypeArg("media_hub_project_team_delete") EventTypeArg.media_hub_project_team_role_changed = EventTypeArg( "media_hub_project_team_role_changed" ) EventTypeArg.media_hub_shared_link_audience_changed = EventTypeArg( "media_hub_shared_link_audience_changed" ) EventTypeArg.media_hub_shared_link_created = EventTypeArg("media_hub_shared_link_created") EventTypeArg.media_hub_shared_link_download_setting_changed = EventTypeArg( "media_hub_shared_link_download_setting_changed" ) EventTypeArg.media_hub_shared_link_revoked = EventTypeArg("media_hub_shared_link_revoked") EventTypeArg.note_acl_invite_only = EventTypeArg("note_acl_invite_only") EventTypeArg.note_acl_link = EventTypeArg("note_acl_link") EventTypeArg.note_acl_team_link = EventTypeArg("note_acl_team_link") EventTypeArg.note_shared = EventTypeArg("note_shared") EventTypeArg.note_share_receive = EventTypeArg("note_share_receive") EventTypeArg.open_note_shared = EventTypeArg("open_note_shared") EventTypeArg.replay_file_shared_link_created = EventTypeArg("replay_file_shared_link_created") EventTypeArg.replay_file_shared_link_modified = EventTypeArg("replay_file_shared_link_modified") EventTypeArg.replay_project_team_add = EventTypeArg("replay_project_team_add") EventTypeArg.replay_project_team_delete = EventTypeArg("replay_project_team_delete") EventTypeArg.send_and_track_file_added = EventTypeArg("send_and_track_file_added") EventTypeArg.send_and_track_file_renamed = EventTypeArg("send_and_track_file_renamed") EventTypeArg.send_and_track_file_updated = EventTypeArg("send_and_track_file_updated") EventTypeArg.send_and_track_link_created = EventTypeArg("send_and_track_link_created") EventTypeArg.send_and_track_link_deleted = EventTypeArg("send_and_track_link_deleted") EventTypeArg.send_and_track_link_updated = EventTypeArg("send_and_track_link_updated") EventTypeArg.send_and_track_link_viewed = EventTypeArg("send_and_track_link_viewed") EventTypeArg.send_and_track_removed_file_and_associated_links = EventTypeArg( "send_and_track_removed_file_and_associated_links" ) EventTypeArg.sf_add_group = EventTypeArg("sf_add_group") EventTypeArg.sf_allow_non_members_to_view_shared_links = EventTypeArg( "sf_allow_non_members_to_view_shared_links" ) EventTypeArg.sf_external_invite_warn = EventTypeArg("sf_external_invite_warn") EventTypeArg.sf_fb_invite = EventTypeArg("sf_fb_invite") EventTypeArg.sf_fb_invite_change_role = EventTypeArg("sf_fb_invite_change_role") EventTypeArg.sf_fb_uninvite = EventTypeArg("sf_fb_uninvite") EventTypeArg.sf_invite_group = EventTypeArg("sf_invite_group") EventTypeArg.sf_team_grant_access = EventTypeArg("sf_team_grant_access") EventTypeArg.sf_team_invite = EventTypeArg("sf_team_invite") EventTypeArg.sf_team_invite_change_role = EventTypeArg("sf_team_invite_change_role") EventTypeArg.sf_team_join = EventTypeArg("sf_team_join") EventTypeArg.sf_team_join_from_oob_link = EventTypeArg("sf_team_join_from_oob_link") EventTypeArg.sf_team_uninvite = EventTypeArg("sf_team_uninvite") EventTypeArg.shared_content_add_invitees = EventTypeArg("shared_content_add_invitees") EventTypeArg.shared_content_add_link_expiry = EventTypeArg("shared_content_add_link_expiry") EventTypeArg.shared_content_add_link_password = EventTypeArg("shared_content_add_link_password") EventTypeArg.shared_content_add_member = EventTypeArg("shared_content_add_member") EventTypeArg.shared_content_change_downloads_policy = EventTypeArg( "shared_content_change_downloads_policy" ) EventTypeArg.shared_content_change_invitee_role = EventTypeArg("shared_content_change_invitee_role") EventTypeArg.shared_content_change_link_audience = EventTypeArg( "shared_content_change_link_audience" ) EventTypeArg.shared_content_change_link_expiry = EventTypeArg("shared_content_change_link_expiry") EventTypeArg.shared_content_change_link_password = EventTypeArg( "shared_content_change_link_password" ) EventTypeArg.shared_content_change_member_role = EventTypeArg("shared_content_change_member_role") EventTypeArg.shared_content_change_viewer_info_policy = EventTypeArg( "shared_content_change_viewer_info_policy" ) EventTypeArg.shared_content_claim_invitation = EventTypeArg("shared_content_claim_invitation") EventTypeArg.shared_content_copy = EventTypeArg("shared_content_copy") EventTypeArg.shared_content_download = EventTypeArg("shared_content_download") EventTypeArg.shared_content_relinquish_membership = EventTypeArg( "shared_content_relinquish_membership" ) EventTypeArg.shared_content_remove_invitees = EventTypeArg("shared_content_remove_invitees") EventTypeArg.shared_content_remove_link_expiry = EventTypeArg("shared_content_remove_link_expiry") EventTypeArg.shared_content_remove_link_password = EventTypeArg( "shared_content_remove_link_password" ) EventTypeArg.shared_content_remove_member = EventTypeArg("shared_content_remove_member") EventTypeArg.shared_content_request_access = EventTypeArg("shared_content_request_access") EventTypeArg.shared_content_restore_invitees = EventTypeArg("shared_content_restore_invitees") EventTypeArg.shared_content_restore_member = EventTypeArg("shared_content_restore_member") EventTypeArg.shared_content_unshare = EventTypeArg("shared_content_unshare") EventTypeArg.shared_content_view = EventTypeArg("shared_content_view") EventTypeArg.shared_folder_change_link_policy = EventTypeArg("shared_folder_change_link_policy") EventTypeArg.shared_folder_change_members_inheritance_policy = EventTypeArg( "shared_folder_change_members_inheritance_policy" ) EventTypeArg.shared_folder_change_members_management_policy = EventTypeArg( "shared_folder_change_members_management_policy" ) EventTypeArg.shared_folder_change_members_policy = EventTypeArg( "shared_folder_change_members_policy" ) EventTypeArg.shared_folder_create = EventTypeArg("shared_folder_create") EventTypeArg.shared_folder_decline_invitation = EventTypeArg("shared_folder_decline_invitation") EventTypeArg.shared_folder_mount = EventTypeArg("shared_folder_mount") EventTypeArg.shared_folder_nest = EventTypeArg("shared_folder_nest") EventTypeArg.shared_folder_transfer_ownership = EventTypeArg("shared_folder_transfer_ownership") EventTypeArg.shared_folder_unmount = EventTypeArg("shared_folder_unmount") EventTypeArg.shared_link_add_expiry = EventTypeArg("shared_link_add_expiry") EventTypeArg.shared_link_change_expiry = EventTypeArg("shared_link_change_expiry") EventTypeArg.shared_link_change_visibility = EventTypeArg("shared_link_change_visibility") EventTypeArg.shared_link_copy = EventTypeArg("shared_link_copy") EventTypeArg.shared_link_create = EventTypeArg("shared_link_create") EventTypeArg.shared_link_disable = EventTypeArg("shared_link_disable") EventTypeArg.shared_link_download = EventTypeArg("shared_link_download") EventTypeArg.shared_link_remove_expiry = EventTypeArg("shared_link_remove_expiry") EventTypeArg.shared_link_remove_visitor = EventTypeArg("shared_link_remove_visitor") EventTypeArg.shared_link_settings_add_expiration = EventTypeArg( "shared_link_settings_add_expiration" ) EventTypeArg.shared_link_settings_add_password = EventTypeArg("shared_link_settings_add_password") EventTypeArg.shared_link_settings_allow_download_disabled = EventTypeArg( "shared_link_settings_allow_download_disabled" ) EventTypeArg.shared_link_settings_allow_download_enabled = EventTypeArg( "shared_link_settings_allow_download_enabled" ) EventTypeArg.shared_link_settings_change_audience = EventTypeArg( "shared_link_settings_change_audience" ) EventTypeArg.shared_link_settings_change_expiration = EventTypeArg( "shared_link_settings_change_expiration" ) EventTypeArg.shared_link_settings_change_password = EventTypeArg( "shared_link_settings_change_password" ) EventTypeArg.shared_link_settings_remove_expiration = EventTypeArg( "shared_link_settings_remove_expiration" ) EventTypeArg.shared_link_settings_remove_password = EventTypeArg( "shared_link_settings_remove_password" ) EventTypeArg.shared_link_share = EventTypeArg("shared_link_share") EventTypeArg.shared_link_view = EventTypeArg("shared_link_view") EventTypeArg.shared_note_opened = EventTypeArg("shared_note_opened") EventTypeArg.shmodel_disable_downloads = EventTypeArg("shmodel_disable_downloads") EventTypeArg.shmodel_enable_downloads = EventTypeArg("shmodel_enable_downloads") EventTypeArg.shmodel_group_share = EventTypeArg("shmodel_group_share") EventTypeArg.showcase_access_granted = EventTypeArg("showcase_access_granted") EventTypeArg.showcase_add_member = EventTypeArg("showcase_add_member") EventTypeArg.showcase_archived = EventTypeArg("showcase_archived") EventTypeArg.showcase_created = EventTypeArg("showcase_created") EventTypeArg.showcase_delete_comment = EventTypeArg("showcase_delete_comment") EventTypeArg.showcase_edited = EventTypeArg("showcase_edited") EventTypeArg.showcase_edit_comment = EventTypeArg("showcase_edit_comment") EventTypeArg.showcase_file_added = EventTypeArg("showcase_file_added") EventTypeArg.showcase_file_download = EventTypeArg("showcase_file_download") EventTypeArg.showcase_file_removed = EventTypeArg("showcase_file_removed") EventTypeArg.showcase_file_view = EventTypeArg("showcase_file_view") EventTypeArg.showcase_permanently_deleted = EventTypeArg("showcase_permanently_deleted") EventTypeArg.showcase_post_comment = EventTypeArg("showcase_post_comment") EventTypeArg.showcase_remove_member = EventTypeArg("showcase_remove_member") EventTypeArg.showcase_renamed = EventTypeArg("showcase_renamed") EventTypeArg.showcase_request_access = EventTypeArg("showcase_request_access") EventTypeArg.showcase_resolve_comment = EventTypeArg("showcase_resolve_comment") EventTypeArg.showcase_restored = EventTypeArg("showcase_restored") EventTypeArg.showcase_trashed = EventTypeArg("showcase_trashed") EventTypeArg.showcase_trashed_deprecated = EventTypeArg("showcase_trashed_deprecated") EventTypeArg.showcase_unresolve_comment = EventTypeArg("showcase_unresolve_comment") EventTypeArg.showcase_untrashed = EventTypeArg("showcase_untrashed") EventTypeArg.showcase_untrashed_deprecated = EventTypeArg("showcase_untrashed_deprecated") EventTypeArg.showcase_view = EventTypeArg("showcase_view") EventTypeArg.sign_signature_request_canceled = EventTypeArg("sign_signature_request_canceled") EventTypeArg.sign_signature_request_completed = EventTypeArg("sign_signature_request_completed") EventTypeArg.sign_signature_request_declined = EventTypeArg("sign_signature_request_declined") EventTypeArg.sign_signature_request_opened = EventTypeArg("sign_signature_request_opened") EventTypeArg.sign_signature_request_reminder_sent = EventTypeArg( "sign_signature_request_reminder_sent" ) EventTypeArg.sign_signature_request_sent = EventTypeArg("sign_signature_request_sent") EventTypeArg.sign_template_created = EventTypeArg("sign_template_created") EventTypeArg.sign_template_shared = EventTypeArg("sign_template_shared") EventTypeArg.risc_security_event = EventTypeArg("risc_security_event") EventTypeArg.sso_add_cert = EventTypeArg("sso_add_cert") EventTypeArg.sso_add_login_url = EventTypeArg("sso_add_login_url") EventTypeArg.sso_add_logout_url = EventTypeArg("sso_add_logout_url") EventTypeArg.sso_change_cert = EventTypeArg("sso_change_cert") EventTypeArg.sso_change_login_url = EventTypeArg("sso_change_login_url") EventTypeArg.sso_change_logout_url = EventTypeArg("sso_change_logout_url") EventTypeArg.sso_change_saml_identity_mode = EventTypeArg("sso_change_saml_identity_mode") EventTypeArg.sso_remove_cert = EventTypeArg("sso_remove_cert") EventTypeArg.sso_remove_login_url = EventTypeArg("sso_remove_login_url") EventTypeArg.sso_remove_logout_url = EventTypeArg("sso_remove_logout_url") EventTypeArg.team_folder_change_status = EventTypeArg("team_folder_change_status") EventTypeArg.team_folder_create = EventTypeArg("team_folder_create") EventTypeArg.team_folder_downgrade = EventTypeArg("team_folder_downgrade") EventTypeArg.team_folder_permanently_delete = EventTypeArg("team_folder_permanently_delete") EventTypeArg.team_folder_rename = EventTypeArg("team_folder_rename") EventTypeArg.team_folder_space_limits_change_caps_type = EventTypeArg( "team_folder_space_limits_change_caps_type" ) EventTypeArg.team_folder_space_limits_change_limit = EventTypeArg( "team_folder_space_limits_change_limit" ) EventTypeArg.team_folder_space_limits_change_notification_target = EventTypeArg( "team_folder_space_limits_change_notification_target" ) EventTypeArg.team_selective_sync_settings_changed = EventTypeArg( "team_selective_sync_settings_changed" ) EventTypeArg.account_capture_change_policy = EventTypeArg("account_capture_change_policy") EventTypeArg.admin_email_reminders_changed = EventTypeArg("admin_email_reminders_changed") EventTypeArg.ai_third_party_sharing_dropbox_base_policy_changed = EventTypeArg( "ai_third_party_sharing_dropbox_base_policy_changed" ) EventTypeArg.allow_download_disabled = EventTypeArg("allow_download_disabled") EventTypeArg.allow_download_enabled = EventTypeArg("allow_download_enabled") EventTypeArg.apple_login_change_policy = EventTypeArg("apple_login_change_policy") EventTypeArg.app_permissions_changed = EventTypeArg("app_permissions_changed") EventTypeArg.camera_uploads_policy_changed = EventTypeArg("camera_uploads_policy_changed") EventTypeArg.capture_team_space_policy_changed = EventTypeArg("capture_team_space_policy_changed") EventTypeArg.capture_transcript_policy_changed = EventTypeArg("capture_transcript_policy_changed") EventTypeArg.classification_change_policy = EventTypeArg("classification_change_policy") EventTypeArg.computer_backup_policy_changed = EventTypeArg("computer_backup_policy_changed") EventTypeArg.content_administration_policy_changed = EventTypeArg( "content_administration_policy_changed" ) EventTypeArg.content_deletion_protection_change_policy = EventTypeArg( "content_deletion_protection_change_policy" ) EventTypeArg.dash_external_sharing_policy_changed = EventTypeArg( "dash_external_sharing_policy_changed" ) EventTypeArg.data_placement_restriction_change_policy = EventTypeArg( "data_placement_restriction_change_policy" ) EventTypeArg.data_placement_restriction_satisfy_policy = EventTypeArg( "data_placement_restriction_satisfy_policy" ) EventTypeArg.device_approvals_add_exception = EventTypeArg("device_approvals_add_exception") EventTypeArg.device_approvals_change_desktop_policy = EventTypeArg( "device_approvals_change_desktop_policy" ) EventTypeArg.device_approvals_change_mobile_policy = EventTypeArg( "device_approvals_change_mobile_policy" ) EventTypeArg.device_approvals_change_overage_action = EventTypeArg( "device_approvals_change_overage_action" ) EventTypeArg.device_approvals_change_unlink_action = EventTypeArg( "device_approvals_change_unlink_action" ) EventTypeArg.device_approvals_remove_exception = EventTypeArg("device_approvals_remove_exception") EventTypeArg.directory_restrictions_add_members = EventTypeArg("directory_restrictions_add_members") EventTypeArg.directory_restrictions_remove_members = EventTypeArg( "directory_restrictions_remove_members" ) EventTypeArg.dropbox_passwords_policy_changed = EventTypeArg("dropbox_passwords_policy_changed") EventTypeArg.email_ingest_policy_changed = EventTypeArg("email_ingest_policy_changed") EventTypeArg.emm_add_exception = EventTypeArg("emm_add_exception") EventTypeArg.emm_change_policy = EventTypeArg("emm_change_policy") EventTypeArg.emm_remove_exception = EventTypeArg("emm_remove_exception") EventTypeArg.extended_version_history_change_policy = EventTypeArg( "extended_version_history_change_policy" ) EventTypeArg.external_drive_backup_policy_changed = EventTypeArg( "external_drive_backup_policy_changed" ) EventTypeArg.file_comments_change_policy = EventTypeArg("file_comments_change_policy") EventTypeArg.file_locking_policy_changed = EventTypeArg("file_locking_policy_changed") EventTypeArg.file_provider_migration_policy_changed = EventTypeArg( "file_provider_migration_policy_changed" ) EventTypeArg.file_requests_change_policy = EventTypeArg("file_requests_change_policy") EventTypeArg.file_requests_emails_enabled = EventTypeArg("file_requests_emails_enabled") EventTypeArg.file_requests_emails_restricted_to_team_only = EventTypeArg( "file_requests_emails_restricted_to_team_only" ) EventTypeArg.file_transfers_policy_changed = EventTypeArg("file_transfers_policy_changed") EventTypeArg.flexible_file_names_policy_changed = EventTypeArg("flexible_file_names_policy_changed") EventTypeArg.folder_link_restriction_policy_changed = EventTypeArg( "folder_link_restriction_policy_changed" ) EventTypeArg.google_sso_change_policy = EventTypeArg("google_sso_change_policy") EventTypeArg.group_user_management_change_policy = EventTypeArg( "group_user_management_change_policy" ) EventTypeArg.integration_policy_changed = EventTypeArg("integration_policy_changed") EventTypeArg.invite_acceptance_email_policy_changed = EventTypeArg( "invite_acceptance_email_policy_changed" ) EventTypeArg.media_hub_adding_people_policy_changed = EventTypeArg( "media_hub_adding_people_policy_changed" ) EventTypeArg.media_hub_download_policy_changed = EventTypeArg("media_hub_download_policy_changed") EventTypeArg.media_hub_link_sharing_policy_changed = EventTypeArg( "media_hub_link_sharing_policy_changed" ) EventTypeArg.member_requests_change_policy = EventTypeArg("member_requests_change_policy") EventTypeArg.member_send_invite_policy_changed = EventTypeArg("member_send_invite_policy_changed") EventTypeArg.member_space_limits_add_exception = EventTypeArg("member_space_limits_add_exception") EventTypeArg.member_space_limits_change_caps_type_policy = EventTypeArg( "member_space_limits_change_caps_type_policy" ) EventTypeArg.member_space_limits_change_policy = EventTypeArg("member_space_limits_change_policy") EventTypeArg.member_space_limits_remove_exception = EventTypeArg( "member_space_limits_remove_exception" ) EventTypeArg.member_suggestions_change_policy = EventTypeArg("member_suggestions_change_policy") EventTypeArg.microsoft_login_change_policy = EventTypeArg("microsoft_login_change_policy") EventTypeArg.microsoft_office_addin_change_policy = EventTypeArg( "microsoft_office_addin_change_policy" ) EventTypeArg.multi_team_identity_policy_changed = EventTypeArg("multi_team_identity_policy_changed") EventTypeArg.network_control_change_policy = EventTypeArg("network_control_change_policy") EventTypeArg.paper_change_deployment_policy = EventTypeArg("paper_change_deployment_policy") EventTypeArg.paper_change_member_link_policy = EventTypeArg("paper_change_member_link_policy") EventTypeArg.paper_change_member_policy = EventTypeArg("paper_change_member_policy") EventTypeArg.paper_change_policy = EventTypeArg("paper_change_policy") EventTypeArg.paper_default_folder_policy_changed = EventTypeArg( "paper_default_folder_policy_changed" ) EventTypeArg.paper_desktop_policy_changed = EventTypeArg("paper_desktop_policy_changed") EventTypeArg.paper_enabled_users_group_addition = EventTypeArg("paper_enabled_users_group_addition") EventTypeArg.paper_enabled_users_group_removal = EventTypeArg("paper_enabled_users_group_removal") EventTypeArg.passkey_login_policy_changed = EventTypeArg("passkey_login_policy_changed") EventTypeArg.password_strength_requirements_change_policy = EventTypeArg( "password_strength_requirements_change_policy" ) EventTypeArg.permanent_delete_change_policy = EventTypeArg("permanent_delete_change_policy") EventTypeArg.previews_ai_policy_changed = EventTypeArg("previews_ai_policy_changed") EventTypeArg.replay_adding_people_policy_changed = EventTypeArg( "replay_adding_people_policy_changed" ) EventTypeArg.replay_sharing_policy_changed = EventTypeArg("replay_sharing_policy_changed") EventTypeArg.reseller_support_change_policy = EventTypeArg("reseller_support_change_policy") EventTypeArg.rewind_policy_changed = EventTypeArg("rewind_policy_changed") EventTypeArg.send_and_track_policy_changed = EventTypeArg("send_and_track_policy_changed") EventTypeArg.send_external_sharing_policy_changed = EventTypeArg( "send_external_sharing_policy_changed" ) EventTypeArg.send_for_signature_policy_changed = EventTypeArg("send_for_signature_policy_changed") EventTypeArg.shared_link_default_permissions_policy_changed = EventTypeArg( "shared_link_default_permissions_policy_changed" ) EventTypeArg.sharing_change_folder_join_policy = EventTypeArg("sharing_change_folder_join_policy") EventTypeArg.sharing_change_link_allow_change_expiration_policy = EventTypeArg( "sharing_change_link_allow_change_expiration_policy" ) EventTypeArg.sharing_change_link_default_expiration_policy = EventTypeArg( "sharing_change_link_default_expiration_policy" ) EventTypeArg.sharing_change_link_enforce_password_policy = EventTypeArg( "sharing_change_link_enforce_password_policy" ) EventTypeArg.sharing_change_link_policy = EventTypeArg("sharing_change_link_policy") EventTypeArg.sharing_change_member_policy = EventTypeArg("sharing_change_member_policy") EventTypeArg.showcase_change_download_policy = EventTypeArg("showcase_change_download_policy") EventTypeArg.showcase_change_enabled_policy = EventTypeArg("showcase_change_enabled_policy") EventTypeArg.showcase_change_external_sharing_policy = EventTypeArg( "showcase_change_external_sharing_policy" ) EventTypeArg.sign_external_sharing_policy_changed = EventTypeArg( "sign_external_sharing_policy_changed" ) EventTypeArg.sign_template_creation_permission_changed = EventTypeArg( "sign_template_creation_permission_changed" ) EventTypeArg.smarter_smart_sync_policy_changed = EventTypeArg("smarter_smart_sync_policy_changed") EventTypeArg.smart_sync_change_policy = EventTypeArg("smart_sync_change_policy") EventTypeArg.smart_sync_not_opt_out = EventTypeArg("smart_sync_not_opt_out") EventTypeArg.smart_sync_opt_out = EventTypeArg("smart_sync_opt_out") EventTypeArg.sso_change_policy = EventTypeArg("sso_change_policy") EventTypeArg.stack_cross_team_access_policy_changed = EventTypeArg( "stack_cross_team_access_policy_changed" ) EventTypeArg.team_branding_policy_changed = EventTypeArg("team_branding_policy_changed") EventTypeArg.team_extensions_policy_changed = EventTypeArg("team_extensions_policy_changed") EventTypeArg.team_member_storage_request_policy_changed = EventTypeArg( "team_member_storage_request_policy_changed" ) EventTypeArg.team_selective_sync_policy_changed = EventTypeArg("team_selective_sync_policy_changed") EventTypeArg.team_sharing_whitelist_subjects_changed = EventTypeArg( "team_sharing_whitelist_subjects_changed" ) EventTypeArg.tfa_add_exception = EventTypeArg("tfa_add_exception") EventTypeArg.tfa_change_policy = EventTypeArg("tfa_change_policy") EventTypeArg.tfa_remove_exception = EventTypeArg("tfa_remove_exception") EventTypeArg.top_level_content_policy_changed = EventTypeArg("top_level_content_policy_changed") EventTypeArg.two_account_change_policy = EventTypeArg("two_account_change_policy") EventTypeArg.viewer_info_policy_changed = EventTypeArg("viewer_info_policy_changed") EventTypeArg.watermarking_policy_changed = EventTypeArg("watermarking_policy_changed") EventTypeArg.web_sessions_change_active_session_limit = EventTypeArg( "web_sessions_change_active_session_limit" ) EventTypeArg.web_sessions_change_fixed_length_policy = EventTypeArg( "web_sessions_change_fixed_length_policy" ) EventTypeArg.web_sessions_change_idle_length_policy = EventTypeArg( "web_sessions_change_idle_length_policy" ) EventTypeArg.data_residency_migration_request_successful = EventTypeArg( "data_residency_migration_request_successful" ) EventTypeArg.data_residency_migration_request_unsuccessful = EventTypeArg( "data_residency_migration_request_unsuccessful" ) EventTypeArg.team_merge_from = EventTypeArg("team_merge_from") EventTypeArg.team_merge_to = EventTypeArg("team_merge_to") EventTypeArg.team_profile_add_background = EventTypeArg("team_profile_add_background") EventTypeArg.team_profile_add_logo = EventTypeArg("team_profile_add_logo") EventTypeArg.team_profile_change_background = EventTypeArg("team_profile_change_background") EventTypeArg.team_profile_change_default_language = EventTypeArg( "team_profile_change_default_language" ) EventTypeArg.team_profile_change_logo = EventTypeArg("team_profile_change_logo") EventTypeArg.team_profile_change_name = EventTypeArg("team_profile_change_name") EventTypeArg.team_profile_remove_background = EventTypeArg("team_profile_remove_background") EventTypeArg.team_profile_remove_logo = EventTypeArg("team_profile_remove_logo") EventTypeArg.passkey_add = EventTypeArg("passkey_add") EventTypeArg.passkey_remove = EventTypeArg("passkey_remove") EventTypeArg.tfa_add_backup_phone = EventTypeArg("tfa_add_backup_phone") EventTypeArg.tfa_add_security_key = EventTypeArg("tfa_add_security_key") EventTypeArg.tfa_change_backup_phone = EventTypeArg("tfa_change_backup_phone") EventTypeArg.tfa_change_status = EventTypeArg("tfa_change_status") EventTypeArg.tfa_remove_backup_phone = EventTypeArg("tfa_remove_backup_phone") EventTypeArg.tfa_remove_security_key = EventTypeArg("tfa_remove_security_key") EventTypeArg.tfa_reset = EventTypeArg("tfa_reset") EventTypeArg.changed_enterprise_admin_role = EventTypeArg("changed_enterprise_admin_role") EventTypeArg.changed_enterprise_connected_team_status = EventTypeArg( "changed_enterprise_connected_team_status" ) EventTypeArg.ended_enterprise_admin_session = EventTypeArg("ended_enterprise_admin_session") EventTypeArg.ended_enterprise_admin_session_deprecated = EventTypeArg( "ended_enterprise_admin_session_deprecated" ) EventTypeArg.enterprise_settings_locking = EventTypeArg("enterprise_settings_locking") EventTypeArg.guest_admin_change_status = EventTypeArg("guest_admin_change_status") EventTypeArg.started_enterprise_admin_session = EventTypeArg("started_enterprise_admin_session") EventTypeArg.team_merge_request_accepted = EventTypeArg("team_merge_request_accepted") EventTypeArg.team_merge_request_accepted_shown_to_primary_team = EventTypeArg( "team_merge_request_accepted_shown_to_primary_team" ) EventTypeArg.team_merge_request_accepted_shown_to_secondary_team = EventTypeArg( "team_merge_request_accepted_shown_to_secondary_team" ) EventTypeArg.team_merge_request_auto_canceled = EventTypeArg("team_merge_request_auto_canceled") EventTypeArg.team_merge_request_canceled = EventTypeArg("team_merge_request_canceled") EventTypeArg.team_merge_request_canceled_shown_to_primary_team = EventTypeArg( "team_merge_request_canceled_shown_to_primary_team" ) EventTypeArg.team_merge_request_canceled_shown_to_secondary_team = EventTypeArg( "team_merge_request_canceled_shown_to_secondary_team" ) EventTypeArg.team_merge_request_expired = EventTypeArg("team_merge_request_expired") EventTypeArg.team_merge_request_expired_shown_to_primary_team = EventTypeArg( "team_merge_request_expired_shown_to_primary_team" ) EventTypeArg.team_merge_request_expired_shown_to_secondary_team = EventTypeArg( "team_merge_request_expired_shown_to_secondary_team" ) EventTypeArg.team_merge_request_rejected_shown_to_primary_team = EventTypeArg( "team_merge_request_rejected_shown_to_primary_team" ) EventTypeArg.team_merge_request_rejected_shown_to_secondary_team = EventTypeArg( "team_merge_request_rejected_shown_to_secondary_team" ) EventTypeArg.team_merge_request_reminder = EventTypeArg("team_merge_request_reminder") EventTypeArg.team_merge_request_reminder_shown_to_primary_team = EventTypeArg( "team_merge_request_reminder_shown_to_primary_team" ) EventTypeArg.team_merge_request_reminder_shown_to_secondary_team = EventTypeArg( "team_merge_request_reminder_shown_to_secondary_team" ) EventTypeArg.team_merge_request_revoked = EventTypeArg("team_merge_request_revoked") EventTypeArg.team_merge_request_sent_shown_to_primary_team = EventTypeArg( "team_merge_request_sent_shown_to_primary_team" ) EventTypeArg.team_merge_request_sent_shown_to_secondary_team = EventTypeArg( "team_merge_request_sent_shown_to_secondary_team" ) EventTypeArg.other = EventTypeArg("other") ExportMembersReportDetails._all_field_names_ = set([]) ExportMembersReportDetails._all_fields_ = [] ExportMembersReportFailDetails.failure_reason.validator = team.TeamReportFailureReason_validator ExportMembersReportFailDetails._all_field_names_ = set(["failure_reason"]) ExportMembersReportFailDetails._all_fields_ = [ ("failure_reason", ExportMembersReportFailDetails.failure_reason.validator) ] ExportMembersReportFailType.description.validator = bv.String() ExportMembersReportFailType._all_field_names_ = set(["description"]) ExportMembersReportFailType._all_fields_ = [ ("description", ExportMembersReportFailType.description.validator) ] 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") ExternalDriveBackupEligibilityStatus._exceed_license_cap_validator = bv.Void() ExternalDriveBackupEligibilityStatus._skip_validator = bv.Void() ExternalDriveBackupEligibilityStatus._success_validator = bv.Void() ExternalDriveBackupEligibilityStatus._other_validator = bv.Void() ExternalDriveBackupEligibilityStatus._tagmap = { "exceed_license_cap": ExternalDriveBackupEligibilityStatus._exceed_license_cap_validator, "skip": ExternalDriveBackupEligibilityStatus._skip_validator, "success": ExternalDriveBackupEligibilityStatus._success_validator, "other": ExternalDriveBackupEligibilityStatus._other_validator, } ExternalDriveBackupEligibilityStatus.exceed_license_cap = ExternalDriveBackupEligibilityStatus( "exceed_license_cap" ) ExternalDriveBackupEligibilityStatus.skip = ExternalDriveBackupEligibilityStatus("skip") ExternalDriveBackupEligibilityStatus.success = ExternalDriveBackupEligibilityStatus("success") ExternalDriveBackupEligibilityStatus.other = ExternalDriveBackupEligibilityStatus("other") ExternalDriveBackupEligibilityStatusCheckedDetails.desktop_device_session_info.validator = ( DesktopDeviceSessionLogInfo_validator ) ExternalDriveBackupEligibilityStatusCheckedDetails.status.validator = ( ExternalDriveBackupEligibilityStatus_validator ) ExternalDriveBackupEligibilityStatusCheckedDetails.number_of_external_drive_backup.validator = ( bv.UInt64() ) ExternalDriveBackupEligibilityStatusCheckedDetails._all_field_names_ = set( [ "desktop_device_session_info", "status", "number_of_external_drive_backup", ] ) ExternalDriveBackupEligibilityStatusCheckedDetails._all_fields_ = [ ( "desktop_device_session_info", ExternalDriveBackupEligibilityStatusCheckedDetails.desktop_device_session_info.validator, ), ("status", ExternalDriveBackupEligibilityStatusCheckedDetails.status.validator), ( "number_of_external_drive_backup", ExternalDriveBackupEligibilityStatusCheckedDetails.number_of_external_drive_backup.validator, ), ] ExternalDriveBackupEligibilityStatusCheckedType.description.validator = bv.String() ExternalDriveBackupEligibilityStatusCheckedType._all_field_names_ = set(["description"]) ExternalDriveBackupEligibilityStatusCheckedType._all_fields_ = [ ( "description", ExternalDriveBackupEligibilityStatusCheckedType.description.validator, ) ] ExternalDriveBackupPolicy._default_validator = bv.Void() ExternalDriveBackupPolicy._disabled_validator = bv.Void() ExternalDriveBackupPolicy._enabled_validator = bv.Void() ExternalDriveBackupPolicy._other_validator = bv.Void() ExternalDriveBackupPolicy._tagmap = { "default": ExternalDriveBackupPolicy._default_validator, "disabled": ExternalDriveBackupPolicy._disabled_validator, "enabled": ExternalDriveBackupPolicy._enabled_validator, "other": ExternalDriveBackupPolicy._other_validator, } ExternalDriveBackupPolicy.default = ExternalDriveBackupPolicy("default") ExternalDriveBackupPolicy.disabled = ExternalDriveBackupPolicy("disabled") ExternalDriveBackupPolicy.enabled = ExternalDriveBackupPolicy("enabled") ExternalDriveBackupPolicy.other = ExternalDriveBackupPolicy("other") ExternalDriveBackupPolicyChangedDetails.new_value.validator = ExternalDriveBackupPolicy_validator ExternalDriveBackupPolicyChangedDetails.previous_value.validator = ( ExternalDriveBackupPolicy_validator ) ExternalDriveBackupPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) ExternalDriveBackupPolicyChangedDetails._all_fields_ = [ ("new_value", ExternalDriveBackupPolicyChangedDetails.new_value.validator), ( "previous_value", ExternalDriveBackupPolicyChangedDetails.previous_value.validator, ), ] ExternalDriveBackupPolicyChangedType.description.validator = bv.String() ExternalDriveBackupPolicyChangedType._all_field_names_ = set(["description"]) ExternalDriveBackupPolicyChangedType._all_fields_ = [ ("description", ExternalDriveBackupPolicyChangedType.description.validator) ] ExternalDriveBackupStatus._broken_validator = bv.Void() ExternalDriveBackupStatus._created_validator = bv.Void() ExternalDriveBackupStatus._created_or_broken_validator = bv.Void() ExternalDriveBackupStatus._deleted_validator = bv.Void() ExternalDriveBackupStatus._empty_validator = bv.Void() ExternalDriveBackupStatus._unknown_validator = bv.Void() ExternalDriveBackupStatus._other_validator = bv.Void() ExternalDriveBackupStatus._tagmap = { "broken": ExternalDriveBackupStatus._broken_validator, "created": ExternalDriveBackupStatus._created_validator, "created_or_broken": ExternalDriveBackupStatus._created_or_broken_validator, "deleted": ExternalDriveBackupStatus._deleted_validator, "empty": ExternalDriveBackupStatus._empty_validator, "unknown": ExternalDriveBackupStatus._unknown_validator, "other": ExternalDriveBackupStatus._other_validator, } ExternalDriveBackupStatus.broken = ExternalDriveBackupStatus("broken") ExternalDriveBackupStatus.created = ExternalDriveBackupStatus("created") ExternalDriveBackupStatus.created_or_broken = ExternalDriveBackupStatus("created_or_broken") ExternalDriveBackupStatus.deleted = ExternalDriveBackupStatus("deleted") ExternalDriveBackupStatus.empty = ExternalDriveBackupStatus("empty") ExternalDriveBackupStatus.unknown = ExternalDriveBackupStatus("unknown") ExternalDriveBackupStatus.other = ExternalDriveBackupStatus("other") ExternalDriveBackupStatusChangedDetails.desktop_device_session_info.validator = ( DesktopDeviceSessionLogInfo_validator ) ExternalDriveBackupStatusChangedDetails.previous_value.validator = ( ExternalDriveBackupStatus_validator ) ExternalDriveBackupStatusChangedDetails.new_value.validator = ExternalDriveBackupStatus_validator ExternalDriveBackupStatusChangedDetails._all_field_names_ = set( [ "desktop_device_session_info", "previous_value", "new_value", ] ) ExternalDriveBackupStatusChangedDetails._all_fields_ = [ ( "desktop_device_session_info", ExternalDriveBackupStatusChangedDetails.desktop_device_session_info.validator, ), ( "previous_value", ExternalDriveBackupStatusChangedDetails.previous_value.validator, ), ("new_value", ExternalDriveBackupStatusChangedDetails.new_value.validator), ] ExternalDriveBackupStatusChangedType.description.validator = bv.String() ExternalDriveBackupStatusChangedType._all_field_names_ = set(["description"]) ExternalDriveBackupStatusChangedType._all_fields_ = [ ("description", ExternalDriveBackupStatusChangedType.description.validator) ] ExternalSharingCreateReportDetails._all_field_names_ = set([]) ExternalSharingCreateReportDetails._all_fields_ = [] ExternalSharingCreateReportType.description.validator = bv.String() ExternalSharingCreateReportType._all_field_names_ = set(["description"]) ExternalSharingCreateReportType._all_fields_ = [ ("description", ExternalSharingCreateReportType.description.validator) ] ExternalSharingReportFailedDetails.failure_reason.validator = team.TeamReportFailureReason_validator ExternalSharingReportFailedDetails._all_field_names_ = set(["failure_reason"]) ExternalSharingReportFailedDetails._all_fields_ = [ ("failure_reason", ExternalSharingReportFailedDetails.failure_reason.validator) ] ExternalSharingReportFailedType.description.validator = bv.String() ExternalSharingReportFailedType._all_field_names_ = set(["description"]) ExternalSharingReportFailedType._all_fields_ = [ ("description", ExternalSharingReportFailedType.description.validator) ] ExternalSharingSetting._allow_validator = bv.Void() ExternalSharingSetting._forbid_validator = bv.Void() ExternalSharingSetting._unset_validator = bv.Void() ExternalSharingSetting._other_validator = bv.Void() ExternalSharingSetting._tagmap = { "allow": ExternalSharingSetting._allow_validator, "forbid": ExternalSharingSetting._forbid_validator, "unset": ExternalSharingSetting._unset_validator, "other": ExternalSharingSetting._other_validator, } ExternalSharingSetting.allow = ExternalSharingSetting("allow") ExternalSharingSetting.forbid = ExternalSharingSetting("forbid") ExternalSharingSetting.unset = ExternalSharingSetting("unset") ExternalSharingSetting.other = ExternalSharingSetting("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, ), ] FedAdminRole._enterprise_admin_validator = bv.Void() FedAdminRole._not_enterprise_admin_validator = bv.Void() FedAdminRole._other_validator = bv.Void() FedAdminRole._tagmap = { "enterprise_admin": FedAdminRole._enterprise_admin_validator, "not_enterprise_admin": FedAdminRole._not_enterprise_admin_validator, "other": FedAdminRole._other_validator, } FedAdminRole.enterprise_admin = FedAdminRole("enterprise_admin") FedAdminRole.not_enterprise_admin = FedAdminRole("not_enterprise_admin") FedAdminRole.other = FedAdminRole("other") FedExtraDetails._organization_validator = OrganizationDetails_validator FedExtraDetails._team_validator = TeamDetails_validator FedExtraDetails._other_validator = bv.Void() FedExtraDetails._tagmap = { "organization": FedExtraDetails._organization_validator, "team": FedExtraDetails._team_validator, "other": FedExtraDetails._other_validator, } FedExtraDetails.other = FedExtraDetails("other") FedHandshakeAction._accepted_invite_validator = bv.Void() FedHandshakeAction._canceled_invite_validator = bv.Void() FedHandshakeAction._invite_expired_validator = bv.Void() FedHandshakeAction._invited_validator = bv.Void() FedHandshakeAction._rejected_invite_validator = bv.Void() FedHandshakeAction._removed_team_validator = bv.Void() FedHandshakeAction._other_validator = bv.Void() FedHandshakeAction._tagmap = { "accepted_invite": FedHandshakeAction._accepted_invite_validator, "canceled_invite": FedHandshakeAction._canceled_invite_validator, "invite_expired": FedHandshakeAction._invite_expired_validator, "invited": FedHandshakeAction._invited_validator, "rejected_invite": FedHandshakeAction._rejected_invite_validator, "removed_team": FedHandshakeAction._removed_team_validator, "other": FedHandshakeAction._other_validator, } FedHandshakeAction.accepted_invite = FedHandshakeAction("accepted_invite") FedHandshakeAction.canceled_invite = FedHandshakeAction("canceled_invite") FedHandshakeAction.invite_expired = FedHandshakeAction("invite_expired") FedHandshakeAction.invited = FedHandshakeAction("invited") FedHandshakeAction.rejected_invite = FedHandshakeAction("rejected_invite") FedHandshakeAction.removed_team = FedHandshakeAction("removed_team") FedHandshakeAction.other = FedHandshakeAction("other") FederationStatusChangeAdditionalInfo._connected_team_name_validator = ConnectedTeamName_validator FederationStatusChangeAdditionalInfo._non_trusted_team_details_validator = ( NonTrustedTeamDetails_validator ) FederationStatusChangeAdditionalInfo._organization_name_validator = OrganizationName_validator FederationStatusChangeAdditionalInfo._other_validator = bv.Void() FederationStatusChangeAdditionalInfo._tagmap = { "connected_team_name": FederationStatusChangeAdditionalInfo._connected_team_name_validator, "non_trusted_team_details": FederationStatusChangeAdditionalInfo._non_trusted_team_details_validator, "organization_name": FederationStatusChangeAdditionalInfo._organization_name_validator, "other": FederationStatusChangeAdditionalInfo._other_validator, } FederationStatusChangeAdditionalInfo.other = FederationStatusChangeAdditionalInfo("other") 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_ = [] FileAddFromAutomationDetails._all_field_names_ = set([]) FileAddFromAutomationDetails._all_fields_ = [] FileAddFromAutomationType.description.validator = bv.String() FileAddFromAutomationType._all_field_names_ = set(["description"]) FileAddFromAutomationType._all_fields_ = [ ("description", FileAddFromAutomationType.description.validator) ] 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)] FileLockingLockStatusChangedDetails.previous_value.validator = LockStatus_validator FileLockingLockStatusChangedDetails.new_value.validator = LockStatus_validator FileLockingLockStatusChangedDetails._all_field_names_ = set( [ "previous_value", "new_value", ] ) FileLockingLockStatusChangedDetails._all_fields_ = [ ("previous_value", FileLockingLockStatusChangedDetails.previous_value.validator), ("new_value", FileLockingLockStatusChangedDetails.new_value.validator), ] FileLockingLockStatusChangedType.description.validator = bv.String() FileLockingLockStatusChangedType._all_field_names_ = set(["description"]) FileLockingLockStatusChangedType._all_fields_ = [ ("description", FileLockingLockStatusChangedType.description.validator) ] FileLockingPolicyChangedDetails.new_value.validator = team_policies.FileLockingPolicyState_validator FileLockingPolicyChangedDetails.previous_value.validator = ( team_policies.FileLockingPolicyState_validator ) FileLockingPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) FileLockingPolicyChangedDetails._all_fields_ = [ ("new_value", FileLockingPolicyChangedDetails.new_value.validator), ("previous_value", FileLockingPolicyChangedDetails.previous_value.validator), ] FileLockingPolicyChangedType.description.validator = bv.String() FileLockingPolicyChangedType._all_field_names_ = set(["description"]) FileLockingPolicyChangedType._all_fields_ = [ ("description", FileLockingPolicyChangedType.description.validator) ] FileOrFolderLogInfo.path.validator = PathLogInfo_validator FileOrFolderLogInfo.display_name.validator = bv.Nullable(bv.String()) FileOrFolderLogInfo.file_id.validator = bv.Nullable(bv.String()) FileOrFolderLogInfo.file_size.validator = bv.Nullable(bv.UInt64()) FileOrFolderLogInfo._all_field_names_ = set( [ "path", "display_name", "file_id", "file_size", ] ) FileOrFolderLogInfo._all_fields_ = [ ("path", FileOrFolderLogInfo.path.validator), ("display_name", FileOrFolderLogInfo.display_name.validator), ("file_id", FileOrFolderLogInfo.file_id.validator), ("file_size", FileOrFolderLogInfo.file_size.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)] FileProviderMigrationPolicyChangedDetails.new_value.validator = ( team_policies.FileProviderMigrationPolicyState_validator ) FileProviderMigrationPolicyChangedDetails.previous_value.validator = ( team_policies.FileProviderMigrationPolicyState_validator ) FileProviderMigrationPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) FileProviderMigrationPolicyChangedDetails._all_fields_ = [ ("new_value", FileProviderMigrationPolicyChangedDetails.new_value.validator), ( "previous_value", FileProviderMigrationPolicyChangedDetails.previous_value.validator, ), ] FileProviderMigrationPolicyChangedType.description.validator = bv.String() FileProviderMigrationPolicyChangedType._all_field_names_ = set(["description"]) FileProviderMigrationPolicyChangedType._all_fields_ = [ ("description", FileProviderMigrationPolicyChangedType.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)] FileRequestAutoCloseDetails.file_request_id.validator = bv.Nullable( file_requests.FileRequestId_validator ) FileRequestAutoCloseDetails.reason.validator = bv.Nullable(bv.String()) FileRequestAutoCloseDetails.previous_details.validator = bv.Nullable(FileRequestDetails_validator) FileRequestAutoCloseDetails._all_field_names_ = set( [ "file_request_id", "reason", "previous_details", ] ) FileRequestAutoCloseDetails._all_fields_ = [ ("file_request_id", FileRequestAutoCloseDetails.file_request_id.validator), ("reason", FileRequestAutoCloseDetails.reason.validator), ("previous_details", FileRequestAutoCloseDetails.previous_details.validator), ] FileRequestAutoCloseType.description.validator = bv.String() FileRequestAutoCloseType._all_field_names_ = set(["description"]) FileRequestAutoCloseType._all_fields_ = [ ("description", FileRequestAutoCloseType.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.has_password.validator = bv.Nullable(bv.Boolean()) FileRequestDetails._all_field_names_ = set( [ "asset_index", "deadline", "has_password", ] ) FileRequestDetails._all_fields_ = [ ("asset_index", FileRequestDetails.asset_index.validator), ("deadline", FileRequestDetails.deadline.validator), ("has_password", FileRequestDetails.has_password.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) ] FileTransfersFileAddDetails.file_transfer_id.validator = bv.String() FileTransfersFileAddDetails._all_field_names_ = set(["file_transfer_id"]) FileTransfersFileAddDetails._all_fields_ = [ ("file_transfer_id", FileTransfersFileAddDetails.file_transfer_id.validator) ] FileTransfersFileAddType.description.validator = bv.String() FileTransfersFileAddType._all_field_names_ = set(["description"]) FileTransfersFileAddType._all_fields_ = [ ("description", FileTransfersFileAddType.description.validator) ] FileTransfersPolicy._disabled_validator = bv.Void() FileTransfersPolicy._enabled_validator = bv.Void() FileTransfersPolicy._other_validator = bv.Void() FileTransfersPolicy._tagmap = { "disabled": FileTransfersPolicy._disabled_validator, "enabled": FileTransfersPolicy._enabled_validator, "other": FileTransfersPolicy._other_validator, } FileTransfersPolicy.disabled = FileTransfersPolicy("disabled") FileTransfersPolicy.enabled = FileTransfersPolicy("enabled") FileTransfersPolicy.other = FileTransfersPolicy("other") FileTransfersPolicyChangedDetails.new_value.validator = FileTransfersPolicy_validator FileTransfersPolicyChangedDetails.previous_value.validator = FileTransfersPolicy_validator FileTransfersPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) FileTransfersPolicyChangedDetails._all_fields_ = [ ("new_value", FileTransfersPolicyChangedDetails.new_value.validator), ("previous_value", FileTransfersPolicyChangedDetails.previous_value.validator), ] FileTransfersPolicyChangedType.description.validator = bv.String() FileTransfersPolicyChangedType._all_field_names_ = set(["description"]) FileTransfersPolicyChangedType._all_fields_ = [ ("description", FileTransfersPolicyChangedType.description.validator) ] FileTransfersTransferDeleteDetails.file_transfer_id.validator = bv.String() FileTransfersTransferDeleteDetails._all_field_names_ = set(["file_transfer_id"]) FileTransfersTransferDeleteDetails._all_fields_ = [ ("file_transfer_id", FileTransfersTransferDeleteDetails.file_transfer_id.validator) ] FileTransfersTransferDeleteType.description.validator = bv.String() FileTransfersTransferDeleteType._all_field_names_ = set(["description"]) FileTransfersTransferDeleteType._all_fields_ = [ ("description", FileTransfersTransferDeleteType.description.validator) ] FileTransfersTransferDownloadDetails.file_transfer_id.validator = bv.String() FileTransfersTransferDownloadDetails._all_field_names_ = set(["file_transfer_id"]) FileTransfersTransferDownloadDetails._all_fields_ = [ ( "file_transfer_id", FileTransfersTransferDownloadDetails.file_transfer_id.validator, ) ] FileTransfersTransferDownloadType.description.validator = bv.String() FileTransfersTransferDownloadType._all_field_names_ = set(["description"]) FileTransfersTransferDownloadType._all_fields_ = [ ("description", FileTransfersTransferDownloadType.description.validator) ] FileTransfersTransferSendDetails.file_transfer_id.validator = bv.String() FileTransfersTransferSendDetails._all_field_names_ = set(["file_transfer_id"]) FileTransfersTransferSendDetails._all_fields_ = [ ("file_transfer_id", FileTransfersTransferSendDetails.file_transfer_id.validator) ] FileTransfersTransferSendType.description.validator = bv.String() FileTransfersTransferSendType._all_field_names_ = set(["description"]) FileTransfersTransferSendType._all_fields_ = [ ("description", FileTransfersTransferSendType.description.validator) ] FileTransfersTransferViewDetails.file_transfer_id.validator = bv.String() FileTransfersTransferViewDetails._all_field_names_ = set(["file_transfer_id"]) FileTransfersTransferViewDetails._all_fields_ = [ ("file_transfer_id", FileTransfersTransferViewDetails.file_transfer_id.validator) ] FileTransfersTransferViewType.description.validator = bv.String() FileTransfersTransferViewType._all_field_names_ = set(["description"]) FileTransfersTransferViewType._all_fields_ = [ ("description", FileTransfersTransferViewType.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) ] FlexibleFileNamesPolicy._off_validator = bv.Void() FlexibleFileNamesPolicy._off_default_validator = bv.Void() FlexibleFileNamesPolicy._optional_validator = bv.Void() FlexibleFileNamesPolicy._optional_default_validator = bv.Void() FlexibleFileNamesPolicy._required_validator = bv.Void() FlexibleFileNamesPolicy._required_default_validator = bv.Void() FlexibleFileNamesPolicy._other_validator = bv.Void() FlexibleFileNamesPolicy._tagmap = { "off": FlexibleFileNamesPolicy._off_validator, "off_default": FlexibleFileNamesPolicy._off_default_validator, "optional": FlexibleFileNamesPolicy._optional_validator, "optional_default": FlexibleFileNamesPolicy._optional_default_validator, "required": FlexibleFileNamesPolicy._required_validator, "required_default": FlexibleFileNamesPolicy._required_default_validator, "other": FlexibleFileNamesPolicy._other_validator, } FlexibleFileNamesPolicy.off = FlexibleFileNamesPolicy("off") FlexibleFileNamesPolicy.off_default = FlexibleFileNamesPolicy("off_default") FlexibleFileNamesPolicy.optional = FlexibleFileNamesPolicy("optional") FlexibleFileNamesPolicy.optional_default = FlexibleFileNamesPolicy("optional_default") FlexibleFileNamesPolicy.required = FlexibleFileNamesPolicy("required") FlexibleFileNamesPolicy.required_default = FlexibleFileNamesPolicy("required_default") FlexibleFileNamesPolicy.other = FlexibleFileNamesPolicy("other") FlexibleFileNamesPolicyChangedDetails.new_value.validator = FlexibleFileNamesPolicy_validator FlexibleFileNamesPolicyChangedDetails.previous_value.validator = bv.Nullable( FlexibleFileNamesPolicy_validator ) FlexibleFileNamesPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) FlexibleFileNamesPolicyChangedDetails._all_fields_ = [ ("new_value", FlexibleFileNamesPolicyChangedDetails.new_value.validator), ("previous_value", FlexibleFileNamesPolicyChangedDetails.previous_value.validator), ] FlexibleFileNamesPolicyChangedType.description.validator = bv.String() FlexibleFileNamesPolicyChangedType._all_field_names_ = set(["description"]) FlexibleFileNamesPolicyChangedType._all_fields_ = [ ("description", FlexibleFileNamesPolicyChangedType.description.validator) ] FolderLinkRestrictionPolicy._disabled_validator = bv.Void() FolderLinkRestrictionPolicy._enabled_validator = bv.Void() FolderLinkRestrictionPolicy._other_validator = bv.Void() FolderLinkRestrictionPolicy._tagmap = { "disabled": FolderLinkRestrictionPolicy._disabled_validator, "enabled": FolderLinkRestrictionPolicy._enabled_validator, "other": FolderLinkRestrictionPolicy._other_validator, } FolderLinkRestrictionPolicy.disabled = FolderLinkRestrictionPolicy("disabled") FolderLinkRestrictionPolicy.enabled = FolderLinkRestrictionPolicy("enabled") FolderLinkRestrictionPolicy.other = FolderLinkRestrictionPolicy("other") FolderLinkRestrictionPolicyChangedDetails.new_value.validator = ( FolderLinkRestrictionPolicy_validator ) FolderLinkRestrictionPolicyChangedDetails.previous_value.validator = ( FolderLinkRestrictionPolicy_validator ) FolderLinkRestrictionPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) FolderLinkRestrictionPolicyChangedDetails._all_fields_ = [ ("new_value", FolderLinkRestrictionPolicyChangedDetails.new_value.validator), ( "previous_value", FolderLinkRestrictionPolicyChangedDetails.previous_value.validator, ), ] FolderLinkRestrictionPolicyChangedType.description.validator = bv.String() FolderLinkRestrictionPolicyChangedType._all_field_names_ = set(["description"]) FolderLinkRestrictionPolicyChangedType._all_fields_ = [ ("description", FolderLinkRestrictionPolicyChangedType.description.validator) ] FolderLogInfo.file_count.validator = bv.Nullable(bv.UInt64()) FolderLogInfo._all_field_names_ = FileOrFolderLogInfo._all_field_names_.union(set(["file_count"])) FolderLogInfo._all_fields_ = FileOrFolderLogInfo._all_fields_ + [ ("file_count", FolderLogInfo.file_count.validator) ] FolderOverviewDescriptionChangedDetails.folder_overview_location_asset.validator = bv.UInt64() FolderOverviewDescriptionChangedDetails._all_field_names_ = set(["folder_overview_location_asset"]) FolderOverviewDescriptionChangedDetails._all_fields_ = [ ( "folder_overview_location_asset", FolderOverviewDescriptionChangedDetails.folder_overview_location_asset.validator, ) ] FolderOverviewDescriptionChangedType.description.validator = bv.String() FolderOverviewDescriptionChangedType._all_field_names_ = set(["description"]) FolderOverviewDescriptionChangedType._all_fields_ = [ ("description", FolderOverviewDescriptionChangedType.description.validator) ] FolderOverviewItemPinnedDetails.folder_overview_location_asset.validator = bv.UInt64() FolderOverviewItemPinnedDetails.pinned_items_asset_indices.validator = bv.List(bv.UInt64()) FolderOverviewItemPinnedDetails._all_field_names_ = set( [ "folder_overview_location_asset", "pinned_items_asset_indices", ] ) FolderOverviewItemPinnedDetails._all_fields_ = [ ( "folder_overview_location_asset", FolderOverviewItemPinnedDetails.folder_overview_location_asset.validator, ), ( "pinned_items_asset_indices", FolderOverviewItemPinnedDetails.pinned_items_asset_indices.validator, ), ] FolderOverviewItemPinnedType.description.validator = bv.String() FolderOverviewItemPinnedType._all_field_names_ = set(["description"]) FolderOverviewItemPinnedType._all_fields_ = [ ("description", FolderOverviewItemPinnedType.description.validator) ] FolderOverviewItemUnpinnedDetails.folder_overview_location_asset.validator = bv.UInt64() FolderOverviewItemUnpinnedDetails.pinned_items_asset_indices.validator = bv.List(bv.UInt64()) FolderOverviewItemUnpinnedDetails._all_field_names_ = set( [ "folder_overview_location_asset", "pinned_items_asset_indices", ] ) FolderOverviewItemUnpinnedDetails._all_fields_ = [ ( "folder_overview_location_asset", FolderOverviewItemUnpinnedDetails.folder_overview_location_asset.validator, ), ( "pinned_items_asset_indices", FolderOverviewItemUnpinnedDetails.pinned_items_asset_indices.validator, ), ] FolderOverviewItemUnpinnedType.description.validator = bv.String() FolderOverviewItemUnpinnedType._all_field_names_ = set(["description"]) FolderOverviewItemUnpinnedType._all_fields_ = [ ("description", FolderOverviewItemUnpinnedType.description.validator) ] 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.event_type.validator = bv.Nullable(EventTypeArg_validator) GetTeamEventsArg._all_field_names_ = set( [ "limit", "account_id", "time", "category", "event_type", ] ) GetTeamEventsArg._all_fields_ = [ ("limit", GetTeamEventsArg.limit.validator), ("account_id", GetTeamEventsArg.account_id.validator), ("time", GetTeamEventsArg.time.validator), ("category", GetTeamEventsArg.category.validator), ("event_type", GetTeamEventsArg.event_type.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._invalid_filters_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, "invalid_filters": GetTeamEventsError._invalid_filters_validator, "other": GetTeamEventsError._other_validator, } GetTeamEventsError.account_id_not_found = GetTeamEventsError("account_id_not_found") GetTeamEventsError.invalid_time_range = GetTeamEventsError("invalid_time_range") GetTeamEventsError.invalid_filters = GetTeamEventsError("invalid_filters") 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") GovernancePolicyAddFolderFailedDetails.governance_policy_id.validator = bv.String() GovernancePolicyAddFolderFailedDetails.name.validator = bv.String() GovernancePolicyAddFolderFailedDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyAddFolderFailedDetails.folder.validator = bv.String() GovernancePolicyAddFolderFailedDetails.reason.validator = bv.Nullable(bv.String()) GovernancePolicyAddFolderFailedDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "folder", "reason", ] ) GovernancePolicyAddFolderFailedDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyAddFolderFailedDetails.governance_policy_id.validator, ), ("name", GovernancePolicyAddFolderFailedDetails.name.validator), ("policy_type", GovernancePolicyAddFolderFailedDetails.policy_type.validator), ("folder", GovernancePolicyAddFolderFailedDetails.folder.validator), ("reason", GovernancePolicyAddFolderFailedDetails.reason.validator), ] GovernancePolicyAddFolderFailedType.description.validator = bv.String() GovernancePolicyAddFolderFailedType._all_field_names_ = set(["description"]) GovernancePolicyAddFolderFailedType._all_fields_ = [ ("description", GovernancePolicyAddFolderFailedType.description.validator) ] GovernancePolicyAddFoldersDetails.governance_policy_id.validator = bv.String() GovernancePolicyAddFoldersDetails.name.validator = bv.String() GovernancePolicyAddFoldersDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyAddFoldersDetails.folders.validator = bv.Nullable(bv.List(bv.String())) GovernancePolicyAddFoldersDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "folders", ] ) GovernancePolicyAddFoldersDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyAddFoldersDetails.governance_policy_id.validator, ), ("name", GovernancePolicyAddFoldersDetails.name.validator), ("policy_type", GovernancePolicyAddFoldersDetails.policy_type.validator), ("folders", GovernancePolicyAddFoldersDetails.folders.validator), ] GovernancePolicyAddFoldersType.description.validator = bv.String() GovernancePolicyAddFoldersType._all_field_names_ = set(["description"]) GovernancePolicyAddFoldersType._all_fields_ = [ ("description", GovernancePolicyAddFoldersType.description.validator) ] GovernancePolicyContentDisposedDetails.governance_policy_id.validator = bv.String() GovernancePolicyContentDisposedDetails.name.validator = bv.String() GovernancePolicyContentDisposedDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyContentDisposedDetails.disposition_type.validator = DispositionActionType_validator GovernancePolicyContentDisposedDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "disposition_type", ] ) GovernancePolicyContentDisposedDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyContentDisposedDetails.governance_policy_id.validator, ), ("name", GovernancePolicyContentDisposedDetails.name.validator), ("policy_type", GovernancePolicyContentDisposedDetails.policy_type.validator), ( "disposition_type", GovernancePolicyContentDisposedDetails.disposition_type.validator, ), ] GovernancePolicyContentDisposedType.description.validator = bv.String() GovernancePolicyContentDisposedType._all_field_names_ = set(["description"]) GovernancePolicyContentDisposedType._all_fields_ = [ ("description", GovernancePolicyContentDisposedType.description.validator) ] GovernancePolicyCreateDetails.governance_policy_id.validator = bv.String() GovernancePolicyCreateDetails.name.validator = bv.String() GovernancePolicyCreateDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyCreateDetails.duration.validator = DurationLogInfo_validator GovernancePolicyCreateDetails.folders.validator = bv.Nullable(bv.List(bv.String())) GovernancePolicyCreateDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "duration", "folders", ] ) GovernancePolicyCreateDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyCreateDetails.governance_policy_id.validator, ), ("name", GovernancePolicyCreateDetails.name.validator), ("policy_type", GovernancePolicyCreateDetails.policy_type.validator), ("duration", GovernancePolicyCreateDetails.duration.validator), ("folders", GovernancePolicyCreateDetails.folders.validator), ] GovernancePolicyCreateType.description.validator = bv.String() GovernancePolicyCreateType._all_field_names_ = set(["description"]) GovernancePolicyCreateType._all_fields_ = [ ("description", GovernancePolicyCreateType.description.validator) ] GovernancePolicyDeleteDetails.governance_policy_id.validator = bv.String() GovernancePolicyDeleteDetails.name.validator = bv.String() GovernancePolicyDeleteDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyDeleteDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", ] ) GovernancePolicyDeleteDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyDeleteDetails.governance_policy_id.validator, ), ("name", GovernancePolicyDeleteDetails.name.validator), ("policy_type", GovernancePolicyDeleteDetails.policy_type.validator), ] GovernancePolicyDeleteType.description.validator = bv.String() GovernancePolicyDeleteType._all_field_names_ = set(["description"]) GovernancePolicyDeleteType._all_fields_ = [ ("description", GovernancePolicyDeleteType.description.validator) ] GovernancePolicyEditDetailsDetails.governance_policy_id.validator = bv.String() GovernancePolicyEditDetailsDetails.name.validator = bv.String() GovernancePolicyEditDetailsDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyEditDetailsDetails.attribute.validator = bv.String() GovernancePolicyEditDetailsDetails.previous_value.validator = bv.String() GovernancePolicyEditDetailsDetails.new_value.validator = bv.String() GovernancePolicyEditDetailsDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "attribute", "previous_value", "new_value", ] ) GovernancePolicyEditDetailsDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyEditDetailsDetails.governance_policy_id.validator, ), ("name", GovernancePolicyEditDetailsDetails.name.validator), ("policy_type", GovernancePolicyEditDetailsDetails.policy_type.validator), ("attribute", GovernancePolicyEditDetailsDetails.attribute.validator), ("previous_value", GovernancePolicyEditDetailsDetails.previous_value.validator), ("new_value", GovernancePolicyEditDetailsDetails.new_value.validator), ] GovernancePolicyEditDetailsType.description.validator = bv.String() GovernancePolicyEditDetailsType._all_field_names_ = set(["description"]) GovernancePolicyEditDetailsType._all_fields_ = [ ("description", GovernancePolicyEditDetailsType.description.validator) ] GovernancePolicyEditDurationDetails.governance_policy_id.validator = bv.String() GovernancePolicyEditDurationDetails.name.validator = bv.String() GovernancePolicyEditDurationDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyEditDurationDetails.previous_value.validator = DurationLogInfo_validator GovernancePolicyEditDurationDetails.new_value.validator = DurationLogInfo_validator GovernancePolicyEditDurationDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "previous_value", "new_value", ] ) GovernancePolicyEditDurationDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyEditDurationDetails.governance_policy_id.validator, ), ("name", GovernancePolicyEditDurationDetails.name.validator), ("policy_type", GovernancePolicyEditDurationDetails.policy_type.validator), ("previous_value", GovernancePolicyEditDurationDetails.previous_value.validator), ("new_value", GovernancePolicyEditDurationDetails.new_value.validator), ] GovernancePolicyEditDurationType.description.validator = bv.String() GovernancePolicyEditDurationType._all_field_names_ = set(["description"]) GovernancePolicyEditDurationType._all_fields_ = [ ("description", GovernancePolicyEditDurationType.description.validator) ] GovernancePolicyExportCreatedDetails.governance_policy_id.validator = bv.String() GovernancePolicyExportCreatedDetails.name.validator = bv.String() GovernancePolicyExportCreatedDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyExportCreatedDetails.export_name.validator = bv.String() GovernancePolicyExportCreatedDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "export_name", ] ) GovernancePolicyExportCreatedDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyExportCreatedDetails.governance_policy_id.validator, ), ("name", GovernancePolicyExportCreatedDetails.name.validator), ("policy_type", GovernancePolicyExportCreatedDetails.policy_type.validator), ("export_name", GovernancePolicyExportCreatedDetails.export_name.validator), ] GovernancePolicyExportCreatedType.description.validator = bv.String() GovernancePolicyExportCreatedType._all_field_names_ = set(["description"]) GovernancePolicyExportCreatedType._all_fields_ = [ ("description", GovernancePolicyExportCreatedType.description.validator) ] GovernancePolicyExportRemovedDetails.governance_policy_id.validator = bv.String() GovernancePolicyExportRemovedDetails.name.validator = bv.String() GovernancePolicyExportRemovedDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyExportRemovedDetails.export_name.validator = bv.String() GovernancePolicyExportRemovedDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "export_name", ] ) GovernancePolicyExportRemovedDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyExportRemovedDetails.governance_policy_id.validator, ), ("name", GovernancePolicyExportRemovedDetails.name.validator), ("policy_type", GovernancePolicyExportRemovedDetails.policy_type.validator), ("export_name", GovernancePolicyExportRemovedDetails.export_name.validator), ] GovernancePolicyExportRemovedType.description.validator = bv.String() GovernancePolicyExportRemovedType._all_field_names_ = set(["description"]) GovernancePolicyExportRemovedType._all_fields_ = [ ("description", GovernancePolicyExportRemovedType.description.validator) ] GovernancePolicyRemoveFoldersDetails.governance_policy_id.validator = bv.String() GovernancePolicyRemoveFoldersDetails.name.validator = bv.String() GovernancePolicyRemoveFoldersDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyRemoveFoldersDetails.folders.validator = bv.Nullable(bv.List(bv.String())) GovernancePolicyRemoveFoldersDetails.reason.validator = bv.Nullable(bv.String()) GovernancePolicyRemoveFoldersDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "folders", "reason", ] ) GovernancePolicyRemoveFoldersDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyRemoveFoldersDetails.governance_policy_id.validator, ), ("name", GovernancePolicyRemoveFoldersDetails.name.validator), ("policy_type", GovernancePolicyRemoveFoldersDetails.policy_type.validator), ("folders", GovernancePolicyRemoveFoldersDetails.folders.validator), ("reason", GovernancePolicyRemoveFoldersDetails.reason.validator), ] GovernancePolicyRemoveFoldersType.description.validator = bv.String() GovernancePolicyRemoveFoldersType._all_field_names_ = set(["description"]) GovernancePolicyRemoveFoldersType._all_fields_ = [ ("description", GovernancePolicyRemoveFoldersType.description.validator) ] GovernancePolicyReportCreatedDetails.governance_policy_id.validator = bv.String() GovernancePolicyReportCreatedDetails.name.validator = bv.String() GovernancePolicyReportCreatedDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyReportCreatedDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", ] ) GovernancePolicyReportCreatedDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyReportCreatedDetails.governance_policy_id.validator, ), ("name", GovernancePolicyReportCreatedDetails.name.validator), ("policy_type", GovernancePolicyReportCreatedDetails.policy_type.validator), ] GovernancePolicyReportCreatedType.description.validator = bv.String() GovernancePolicyReportCreatedType._all_field_names_ = set(["description"]) GovernancePolicyReportCreatedType._all_fields_ = [ ("description", GovernancePolicyReportCreatedType.description.validator) ] GovernancePolicyZipPartDownloadedDetails.governance_policy_id.validator = bv.String() GovernancePolicyZipPartDownloadedDetails.name.validator = bv.String() GovernancePolicyZipPartDownloadedDetails.policy_type.validator = bv.Nullable(PolicyType_validator) GovernancePolicyZipPartDownloadedDetails.export_name.validator = bv.String() GovernancePolicyZipPartDownloadedDetails.part.validator = bv.Nullable(bv.String()) GovernancePolicyZipPartDownloadedDetails._all_field_names_ = set( [ "governance_policy_id", "name", "policy_type", "export_name", "part", ] ) GovernancePolicyZipPartDownloadedDetails._all_fields_ = [ ( "governance_policy_id", GovernancePolicyZipPartDownloadedDetails.governance_policy_id.validator, ), ("name", GovernancePolicyZipPartDownloadedDetails.name.validator), ("policy_type", GovernancePolicyZipPartDownloadedDetails.policy_type.validator), ("export_name", GovernancePolicyZipPartDownloadedDetails.export_name.validator), ("part", GovernancePolicyZipPartDownloadedDetails.part.validator), ] GovernancePolicyZipPartDownloadedType.description.validator = bv.String() GovernancePolicyZipPartDownloadedType._all_field_names_ = set(["description"]) GovernancePolicyZipPartDownloadedType._all_fields_ = [ ("description", GovernancePolicyZipPartDownloadedType.description.validator) ] 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) ] GroupExternalSharingSettingOverrideChangedDetails.new_value.validator = ( ExternalSharingSetting_validator ) GroupExternalSharingSettingOverrideChangedDetails.previous_value.validator = ( ExternalSharingSetting_validator ) GroupExternalSharingSettingOverrideChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) GroupExternalSharingSettingOverrideChangedDetails._all_fields_ = [ ( "new_value", GroupExternalSharingSettingOverrideChangedDetails.new_value.validator, ), ( "previous_value", GroupExternalSharingSettingOverrideChangedDetails.previous_value.validator, ), ] GroupExternalSharingSettingOverrideChangedType.description.validator = bv.String() GroupExternalSharingSettingOverrideChangedType._all_field_names_ = set(["description"]) GroupExternalSharingSettingOverrideChangedType._all_fields_ = [ ( "description", GroupExternalSharingSettingOverrideChangedType.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) ] InviteAcceptanceEmailPolicy._disabled_validator = bv.Void() InviteAcceptanceEmailPolicy._enabled_validator = bv.Void() InviteAcceptanceEmailPolicy._other_validator = bv.Void() InviteAcceptanceEmailPolicy._tagmap = { "disabled": InviteAcceptanceEmailPolicy._disabled_validator, "enabled": InviteAcceptanceEmailPolicy._enabled_validator, "other": InviteAcceptanceEmailPolicy._other_validator, } InviteAcceptanceEmailPolicy.disabled = InviteAcceptanceEmailPolicy("disabled") InviteAcceptanceEmailPolicy.enabled = InviteAcceptanceEmailPolicy("enabled") InviteAcceptanceEmailPolicy.other = InviteAcceptanceEmailPolicy("other") InviteAcceptanceEmailPolicyChangedDetails.new_value.validator = ( InviteAcceptanceEmailPolicy_validator ) InviteAcceptanceEmailPolicyChangedDetails.previous_value.validator = ( InviteAcceptanceEmailPolicy_validator ) InviteAcceptanceEmailPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) InviteAcceptanceEmailPolicyChangedDetails._all_fields_ = [ ("new_value", InviteAcceptanceEmailPolicyChangedDetails.new_value.validator), ( "previous_value", InviteAcceptanceEmailPolicyChangedDetails.previous_value.validator, ), ] InviteAcceptanceEmailPolicyChangedType.description.validator = bv.String() InviteAcceptanceEmailPolicyChangedType._all_field_names_ = set(["description"]) InviteAcceptanceEmailPolicyChangedType._all_fields_ = [ ("description", InviteAcceptanceEmailPolicyChangedType.description.validator) ] InviteMethod._auto_approve_validator = bv.Void() InviteMethod._invite_link_validator = bv.Void() InviteMethod._member_invite_validator = bv.Void() InviteMethod._moved_from_another_team_validator = bv.Void() InviteMethod._other_validator = bv.Void() InviteMethod._tagmap = { "auto_approve": InviteMethod._auto_approve_validator, "invite_link": InviteMethod._invite_link_validator, "member_invite": InviteMethod._member_invite_validator, "moved_from_another_team": InviteMethod._moved_from_another_team_validator, "other": InviteMethod._other_validator, } InviteMethod.auto_approve = InviteMethod("auto_approve") InviteMethod.invite_link = InviteMethod("invite_link") InviteMethod.member_invite = InviteMethod("member_invite") InviteMethod.moved_from_another_team = InviteMethod("moved_from_another_team") InviteMethod.other = InviteMethod("other") 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.was_linked_apps_truncated.validator = bv.Nullable(bv.Boolean()) JoinTeamDetails.was_linked_devices_truncated.validator = bv.Nullable(bv.Boolean()) JoinTeamDetails.was_linked_shared_folders_truncated.validator = bv.Nullable(bv.Boolean()) JoinTeamDetails.has_linked_apps.validator = bv.Nullable(bv.Boolean()) JoinTeamDetails.has_linked_devices.validator = bv.Nullable(bv.Boolean()) JoinTeamDetails.has_linked_shared_folders.validator = bv.Nullable(bv.Boolean()) JoinTeamDetails._all_field_names_ = set( [ "linked_apps", "linked_devices", "linked_shared_folders", "was_linked_apps_truncated", "was_linked_devices_truncated", "was_linked_shared_folders_truncated", "has_linked_apps", "has_linked_devices", "has_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), ("was_linked_apps_truncated", JoinTeamDetails.was_linked_apps_truncated.validator), ( "was_linked_devices_truncated", JoinTeamDetails.was_linked_devices_truncated.validator, ), ( "was_linked_shared_folders_truncated", JoinTeamDetails.was_linked_shared_folders_truncated.validator, ), ("has_linked_apps", JoinTeamDetails.has_linked_apps.validator), ("has_linked_devices", JoinTeamDetails.has_linked_devices.validator), ("has_linked_shared_folders", JoinTeamDetails.has_linked_shared_folders.validator), ] LabelType._personal_information_validator = bv.Void() LabelType._test_only_validator = bv.Void() LabelType._user_defined_tag_validator = bv.Void() LabelType._other_validator = bv.Void() LabelType._tagmap = { "personal_information": LabelType._personal_information_validator, "test_only": LabelType._test_only_validator, "user_defined_tag": LabelType._user_defined_tag_validator, "other": LabelType._other_validator, } LabelType.personal_information = LabelType("personal_information") LabelType.test_only = LabelType("test_only") LabelType.user_defined_tag = LabelType("user_defined_tag") LabelType.other = LabelType("other") 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_ ) LegalHoldsActivateAHoldDetails.legal_hold_id.validator = bv.String() LegalHoldsActivateAHoldDetails.name.validator = bv.String() LegalHoldsActivateAHoldDetails.start_date.validator = common.DropboxTimestamp_validator LegalHoldsActivateAHoldDetails.end_date.validator = bv.Nullable(common.DropboxTimestamp_validator) LegalHoldsActivateAHoldDetails._all_field_names_ = set( [ "legal_hold_id", "name", "start_date", "end_date", ] ) LegalHoldsActivateAHoldDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsActivateAHoldDetails.legal_hold_id.validator), ("name", LegalHoldsActivateAHoldDetails.name.validator), ("start_date", LegalHoldsActivateAHoldDetails.start_date.validator), ("end_date", LegalHoldsActivateAHoldDetails.end_date.validator), ] LegalHoldsActivateAHoldType.description.validator = bv.String() LegalHoldsActivateAHoldType._all_field_names_ = set(["description"]) LegalHoldsActivateAHoldType._all_fields_ = [ ("description", LegalHoldsActivateAHoldType.description.validator) ] LegalHoldsAddMembersDetails.legal_hold_id.validator = bv.String() LegalHoldsAddMembersDetails.name.validator = bv.String() LegalHoldsAddMembersDetails._all_field_names_ = set( [ "legal_hold_id", "name", ] ) LegalHoldsAddMembersDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsAddMembersDetails.legal_hold_id.validator), ("name", LegalHoldsAddMembersDetails.name.validator), ] LegalHoldsAddMembersType.description.validator = bv.String() LegalHoldsAddMembersType._all_field_names_ = set(["description"]) LegalHoldsAddMembersType._all_fields_ = [ ("description", LegalHoldsAddMembersType.description.validator) ] LegalHoldsChangeHoldDetailsDetails.legal_hold_id.validator = bv.String() LegalHoldsChangeHoldDetailsDetails.name.validator = bv.String() LegalHoldsChangeHoldDetailsDetails.previous_value.validator = bv.String() LegalHoldsChangeHoldDetailsDetails.new_value.validator = bv.String() LegalHoldsChangeHoldDetailsDetails._all_field_names_ = set( [ "legal_hold_id", "name", "previous_value", "new_value", ] ) LegalHoldsChangeHoldDetailsDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsChangeHoldDetailsDetails.legal_hold_id.validator), ("name", LegalHoldsChangeHoldDetailsDetails.name.validator), ("previous_value", LegalHoldsChangeHoldDetailsDetails.previous_value.validator), ("new_value", LegalHoldsChangeHoldDetailsDetails.new_value.validator), ] LegalHoldsChangeHoldDetailsType.description.validator = bv.String() LegalHoldsChangeHoldDetailsType._all_field_names_ = set(["description"]) LegalHoldsChangeHoldDetailsType._all_fields_ = [ ("description", LegalHoldsChangeHoldDetailsType.description.validator) ] LegalHoldsChangeHoldNameDetails.legal_hold_id.validator = bv.String() LegalHoldsChangeHoldNameDetails.previous_value.validator = bv.String() LegalHoldsChangeHoldNameDetails.new_value.validator = bv.String() LegalHoldsChangeHoldNameDetails._all_field_names_ = set( [ "legal_hold_id", "previous_value", "new_value", ] ) LegalHoldsChangeHoldNameDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsChangeHoldNameDetails.legal_hold_id.validator), ("previous_value", LegalHoldsChangeHoldNameDetails.previous_value.validator), ("new_value", LegalHoldsChangeHoldNameDetails.new_value.validator), ] LegalHoldsChangeHoldNameType.description.validator = bv.String() LegalHoldsChangeHoldNameType._all_field_names_ = set(["description"]) LegalHoldsChangeHoldNameType._all_fields_ = [ ("description", LegalHoldsChangeHoldNameType.description.validator) ] LegalHoldsExportAHoldDetails.legal_hold_id.validator = bv.String() LegalHoldsExportAHoldDetails.name.validator = bv.String() LegalHoldsExportAHoldDetails.export_name.validator = bv.Nullable(bv.String()) LegalHoldsExportAHoldDetails._all_field_names_ = set( [ "legal_hold_id", "name", "export_name", ] ) LegalHoldsExportAHoldDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsExportAHoldDetails.legal_hold_id.validator), ("name", LegalHoldsExportAHoldDetails.name.validator), ("export_name", LegalHoldsExportAHoldDetails.export_name.validator), ] LegalHoldsExportAHoldType.description.validator = bv.String() LegalHoldsExportAHoldType._all_field_names_ = set(["description"]) LegalHoldsExportAHoldType._all_fields_ = [ ("description", LegalHoldsExportAHoldType.description.validator) ] LegalHoldsExportCancelledDetails.legal_hold_id.validator = bv.String() LegalHoldsExportCancelledDetails.name.validator = bv.String() LegalHoldsExportCancelledDetails.export_name.validator = bv.String() LegalHoldsExportCancelledDetails._all_field_names_ = set( [ "legal_hold_id", "name", "export_name", ] ) LegalHoldsExportCancelledDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsExportCancelledDetails.legal_hold_id.validator), ("name", LegalHoldsExportCancelledDetails.name.validator), ("export_name", LegalHoldsExportCancelledDetails.export_name.validator), ] LegalHoldsExportCancelledType.description.validator = bv.String() LegalHoldsExportCancelledType._all_field_names_ = set(["description"]) LegalHoldsExportCancelledType._all_fields_ = [ ("description", LegalHoldsExportCancelledType.description.validator) ] LegalHoldsExportDownloadedDetails.legal_hold_id.validator = bv.String() LegalHoldsExportDownloadedDetails.name.validator = bv.String() LegalHoldsExportDownloadedDetails.export_name.validator = bv.String() LegalHoldsExportDownloadedDetails.part.validator = bv.Nullable(bv.String()) LegalHoldsExportDownloadedDetails.file_name.validator = bv.Nullable(bv.String()) LegalHoldsExportDownloadedDetails._all_field_names_ = set( [ "legal_hold_id", "name", "export_name", "part", "file_name", ] ) LegalHoldsExportDownloadedDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsExportDownloadedDetails.legal_hold_id.validator), ("name", LegalHoldsExportDownloadedDetails.name.validator), ("export_name", LegalHoldsExportDownloadedDetails.export_name.validator), ("part", LegalHoldsExportDownloadedDetails.part.validator), ("file_name", LegalHoldsExportDownloadedDetails.file_name.validator), ] LegalHoldsExportDownloadedType.description.validator = bv.String() LegalHoldsExportDownloadedType._all_field_names_ = set(["description"]) LegalHoldsExportDownloadedType._all_fields_ = [ ("description", LegalHoldsExportDownloadedType.description.validator) ] LegalHoldsExportRemovedDetails.legal_hold_id.validator = bv.String() LegalHoldsExportRemovedDetails.name.validator = bv.String() LegalHoldsExportRemovedDetails.export_name.validator = bv.String() LegalHoldsExportRemovedDetails._all_field_names_ = set( [ "legal_hold_id", "name", "export_name", ] ) LegalHoldsExportRemovedDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsExportRemovedDetails.legal_hold_id.validator), ("name", LegalHoldsExportRemovedDetails.name.validator), ("export_name", LegalHoldsExportRemovedDetails.export_name.validator), ] LegalHoldsExportRemovedType.description.validator = bv.String() LegalHoldsExportRemovedType._all_field_names_ = set(["description"]) LegalHoldsExportRemovedType._all_fields_ = [ ("description", LegalHoldsExportRemovedType.description.validator) ] LegalHoldsReleaseAHoldDetails.legal_hold_id.validator = bv.String() LegalHoldsReleaseAHoldDetails.name.validator = bv.String() LegalHoldsReleaseAHoldDetails._all_field_names_ = set( [ "legal_hold_id", "name", ] ) LegalHoldsReleaseAHoldDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsReleaseAHoldDetails.legal_hold_id.validator), ("name", LegalHoldsReleaseAHoldDetails.name.validator), ] LegalHoldsReleaseAHoldType.description.validator = bv.String() LegalHoldsReleaseAHoldType._all_field_names_ = set(["description"]) LegalHoldsReleaseAHoldType._all_fields_ = [ ("description", LegalHoldsReleaseAHoldType.description.validator) ] LegalHoldsRemoveMembersDetails.legal_hold_id.validator = bv.String() LegalHoldsRemoveMembersDetails.name.validator = bv.String() LegalHoldsRemoveMembersDetails._all_field_names_ = set( [ "legal_hold_id", "name", ] ) LegalHoldsRemoveMembersDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsRemoveMembersDetails.legal_hold_id.validator), ("name", LegalHoldsRemoveMembersDetails.name.validator), ] LegalHoldsRemoveMembersType.description.validator = bv.String() LegalHoldsRemoveMembersType._all_field_names_ = set(["description"]) LegalHoldsRemoveMembersType._all_fields_ = [ ("description", LegalHoldsRemoveMembersType.description.validator) ] LegalHoldsReportAHoldDetails.legal_hold_id.validator = bv.String() LegalHoldsReportAHoldDetails.name.validator = bv.String() LegalHoldsReportAHoldDetails._all_field_names_ = set( [ "legal_hold_id", "name", ] ) LegalHoldsReportAHoldDetails._all_fields_ = [ ("legal_hold_id", LegalHoldsReportAHoldDetails.legal_hold_id.validator), ("name", LegalHoldsReportAHoldDetails.name.validator), ] LegalHoldsReportAHoldType.description.validator = bv.String() LegalHoldsReportAHoldType._all_field_names_ = set(["description"]) LegalHoldsReportAHoldType._all_fields_ = [ ("description", LegalHoldsReportAHoldType.description.validator) ] LinkSettingsLogInfo.name.validator = bv.String() LinkSettingsLogInfo.require_email.validator = bv.Boolean() LinkSettingsLogInfo.downloadable.validator = bv.Boolean() LinkSettingsLogInfo.expire_at.validator = bv.Nullable(common.DropboxTimestamp_validator) LinkSettingsLogInfo.password_required.validator = bv.Boolean() LinkSettingsLogInfo.url.validator = bv.String() LinkSettingsLogInfo._all_field_names_ = set( [ "name", "require_email", "downloadable", "expire_at", "password_required", "url", ] ) LinkSettingsLogInfo._all_fields_ = [ ("name", LinkSettingsLogInfo.name.validator), ("require_email", LinkSettingsLogInfo.require_email.validator), ("downloadable", LinkSettingsLogInfo.downloadable.validator), ("expire_at", LinkSettingsLogInfo.expire_at.validator), ("password_required", LinkSettingsLogInfo.password_required.validator), ("url", LinkSettingsLogInfo.url.validator), ] LinkedDeviceLogInfo._desktop_device_session_validator = DesktopDeviceSessionLogInfo_validator LinkedDeviceLogInfo._legacy_device_session_validator = LegacyDeviceSessionLogInfo_validator LinkedDeviceLogInfo._mobile_device_session_validator = MobileDeviceSessionLogInfo_validator LinkedDeviceLogInfo._web_device_session_validator = WebDeviceSessionLogInfo_validator LinkedDeviceLogInfo._other_validator = bv.Void() LinkedDeviceLogInfo._tagmap = { "desktop_device_session": LinkedDeviceLogInfo._desktop_device_session_validator, "legacy_device_session": LinkedDeviceLogInfo._legacy_device_session_validator, "mobile_device_session": LinkedDeviceLogInfo._mobile_device_session_validator, "web_device_session": LinkedDeviceLogInfo._web_device_session_validator, "other": LinkedDeviceLogInfo._other_validator, } LinkedDeviceLogInfo.other = LinkedDeviceLogInfo("other") LockStatus._locked_validator = bv.Void() LockStatus._unlocked_validator = bv.Void() LockStatus._other_validator = bv.Void() LockStatus._tagmap = { "locked": LockStatus._locked_validator, "unlocked": LockStatus._unlocked_validator, "other": LockStatus._other_validator, } LockStatus.locked = LockStatus("locked") LockStatus.unlocked = LockStatus("unlocked") LockStatus.other = LockStatus("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._apple_oauth_validator = bv.Void() LoginMethod._first_party_token_exchange_validator = bv.Void() LoginMethod._google_oauth_validator = bv.Void() LoginMethod._kakao_oauth_validator = bv.Void() LoginMethod._lenovo_oauth_validator = bv.Void() LoginMethod._passkey_validator = bv.Void() LoginMethod._password_validator = bv.Void() LoginMethod._qr_code_validator = bv.Void() LoginMethod._saml_validator = bv.Void() LoginMethod._two_factor_authentication_validator = bv.Void() LoginMethod._web_session_validator = bv.Void() LoginMethod._microsoft_oauth_validator = bv.Void() LoginMethod._other_validator = bv.Void() LoginMethod._tagmap = { "apple_oauth": LoginMethod._apple_oauth_validator, "first_party_token_exchange": LoginMethod._first_party_token_exchange_validator, "google_oauth": LoginMethod._google_oauth_validator, "kakao_oauth": LoginMethod._kakao_oauth_validator, "lenovo_oauth": LoginMethod._lenovo_oauth_validator, "passkey": LoginMethod._passkey_validator, "password": LoginMethod._password_validator, "qr_code": LoginMethod._qr_code_validator, "saml": LoginMethod._saml_validator, "two_factor_authentication": LoginMethod._two_factor_authentication_validator, "web_session": LoginMethod._web_session_validator, "microsoft_oauth": LoginMethod._microsoft_oauth_validator, "other": LoginMethod._other_validator, } LoginMethod.apple_oauth = LoginMethod("apple_oauth") LoginMethod.first_party_token_exchange = LoginMethod("first_party_token_exchange") LoginMethod.google_oauth = LoginMethod("google_oauth") LoginMethod.kakao_oauth = LoginMethod("kakao_oauth") LoginMethod.lenovo_oauth = LoginMethod("lenovo_oauth") LoginMethod.passkey = LoginMethod("passkey") LoginMethod.password = LoginMethod("password") LoginMethod.qr_code = LoginMethod("qr_code") LoginMethod.saml = LoginMethod("saml") LoginMethod.two_factor_authentication = LoginMethod("two_factor_authentication") LoginMethod.web_session = LoginMethod("web_session") LoginMethod.microsoft_oauth = LoginMethod("microsoft_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.login_id.validator = bv.Nullable(bv.String()) LogoutDetails._all_field_names_ = set(["login_id"]) LogoutDetails._all_fields_ = [("login_id", LogoutDetails.login_id.validator)] LogoutType.description.validator = bv.String() LogoutType._all_field_names_ = set(["description"]) LogoutType._all_fields_ = [("description", LogoutType.description.validator)] MalwareExclusionState.excluded_file_hashes_count.validator = bv.Int64() MalwareExclusionState.file_path_from_last_exclusion.validator = bv.Nullable(bv.String()) MalwareExclusionState.file_path_from_last_inclusion.validator = bv.Nullable(bv.String()) MalwareExclusionState._all_field_names_ = set( [ "excluded_file_hashes_count", "file_path_from_last_exclusion", "file_path_from_last_inclusion", ] ) MalwareExclusionState._all_fields_ = [ ( "excluded_file_hashes_count", MalwareExclusionState.excluded_file_hashes_count.validator, ), ( "file_path_from_last_exclusion", MalwareExclusionState.file_path_from_last_exclusion.validator, ), ( "file_path_from_last_inclusion", MalwareExclusionState.file_path_from_last_inclusion.validator, ), ] MediaHubAddingPeoplePolicy._anyone_validator = bv.Void() MediaHubAddingPeoplePolicy._team_only_validator = bv.Void() MediaHubAddingPeoplePolicy._other_validator = bv.Void() MediaHubAddingPeoplePolicy._tagmap = { "anyone": MediaHubAddingPeoplePolicy._anyone_validator, "team_only": MediaHubAddingPeoplePolicy._team_only_validator, "other": MediaHubAddingPeoplePolicy._other_validator, } MediaHubAddingPeoplePolicy.anyone = MediaHubAddingPeoplePolicy("anyone") MediaHubAddingPeoplePolicy.team_only = MediaHubAddingPeoplePolicy("team_only") MediaHubAddingPeoplePolicy.other = MediaHubAddingPeoplePolicy("other") MediaHubAddingPeoplePolicyChangedDetails.new_value.validator = MediaHubAddingPeoplePolicy_validator MediaHubAddingPeoplePolicyChangedDetails.previous_value.validator = ( MediaHubAddingPeoplePolicy_validator ) MediaHubAddingPeoplePolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) MediaHubAddingPeoplePolicyChangedDetails._all_fields_ = [ ("new_value", MediaHubAddingPeoplePolicyChangedDetails.new_value.validator), ( "previous_value", MediaHubAddingPeoplePolicyChangedDetails.previous_value.validator, ), ] MediaHubAddingPeoplePolicyChangedType.description.validator = bv.String() MediaHubAddingPeoplePolicyChangedType._all_field_names_ = set(["description"]) MediaHubAddingPeoplePolicyChangedType._all_fields_ = [ ("description", MediaHubAddingPeoplePolicyChangedType.description.validator) ] MediaHubDownloadPolicy._disabled_validator = bv.Void() MediaHubDownloadPolicy._enabled_validator = bv.Void() MediaHubDownloadPolicy._other_validator = bv.Void() MediaHubDownloadPolicy._tagmap = { "disabled": MediaHubDownloadPolicy._disabled_validator, "enabled": MediaHubDownloadPolicy._enabled_validator, "other": MediaHubDownloadPolicy._other_validator, } MediaHubDownloadPolicy.disabled = MediaHubDownloadPolicy("disabled") MediaHubDownloadPolicy.enabled = MediaHubDownloadPolicy("enabled") MediaHubDownloadPolicy.other = MediaHubDownloadPolicy("other") MediaHubDownloadPolicyChangedDetails.new_value.validator = MediaHubDownloadPolicy_validator MediaHubDownloadPolicyChangedDetails.previous_value.validator = MediaHubDownloadPolicy_validator MediaHubDownloadPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) MediaHubDownloadPolicyChangedDetails._all_fields_ = [ ("new_value", MediaHubDownloadPolicyChangedDetails.new_value.validator), ("previous_value", MediaHubDownloadPolicyChangedDetails.previous_value.validator), ] MediaHubDownloadPolicyChangedType.description.validator = bv.String() MediaHubDownloadPolicyChangedType._all_field_names_ = set(["description"]) MediaHubDownloadPolicyChangedType._all_fields_ = [ ("description", MediaHubDownloadPolicyChangedType.description.validator) ] MediaHubFileDownloadedDetails._all_field_names_ = set([]) MediaHubFileDownloadedDetails._all_fields_ = [] MediaHubFileDownloadedType.description.validator = bv.String() MediaHubFileDownloadedType._all_field_names_ = set(["description"]) MediaHubFileDownloadedType._all_fields_ = [ ("description", MediaHubFileDownloadedType.description.validator) ] MediaHubLinkSharingPolicy._no_one_validator = bv.Void() MediaHubLinkSharingPolicy._public_validator = bv.Void() MediaHubLinkSharingPolicy._team_only_validator = bv.Void() MediaHubLinkSharingPolicy._other_validator = bv.Void() MediaHubLinkSharingPolicy._tagmap = { "no_one": MediaHubLinkSharingPolicy._no_one_validator, "public": MediaHubLinkSharingPolicy._public_validator, "team_only": MediaHubLinkSharingPolicy._team_only_validator, "other": MediaHubLinkSharingPolicy._other_validator, } MediaHubLinkSharingPolicy.no_one = MediaHubLinkSharingPolicy("no_one") MediaHubLinkSharingPolicy.public = MediaHubLinkSharingPolicy("public") MediaHubLinkSharingPolicy.team_only = MediaHubLinkSharingPolicy("team_only") MediaHubLinkSharingPolicy.other = MediaHubLinkSharingPolicy("other") MediaHubLinkSharingPolicyChangedDetails.new_value.validator = MediaHubLinkSharingPolicy_validator MediaHubLinkSharingPolicyChangedDetails.previous_value.validator = ( MediaHubLinkSharingPolicy_validator ) MediaHubLinkSharingPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) MediaHubLinkSharingPolicyChangedDetails._all_fields_ = [ ("new_value", MediaHubLinkSharingPolicyChangedDetails.new_value.validator), ( "previous_value", MediaHubLinkSharingPolicyChangedDetails.previous_value.validator, ), ] MediaHubLinkSharingPolicyChangedType.description.validator = bv.String() MediaHubLinkSharingPolicyChangedType._all_field_names_ = set(["description"]) MediaHubLinkSharingPolicyChangedType._all_fields_ = [ ("description", MediaHubLinkSharingPolicyChangedType.description.validator) ] MediaHubProjectRole._editor_validator = bv.Void() MediaHubProjectRole._owner_validator = bv.Void() MediaHubProjectRole._reviewer_validator = bv.Void() MediaHubProjectRole._other_validator = bv.Void() MediaHubProjectRole._tagmap = { "editor": MediaHubProjectRole._editor_validator, "owner": MediaHubProjectRole._owner_validator, "reviewer": MediaHubProjectRole._reviewer_validator, "other": MediaHubProjectRole._other_validator, } MediaHubProjectRole.editor = MediaHubProjectRole("editor") MediaHubProjectRole.owner = MediaHubProjectRole("owner") MediaHubProjectRole.reviewer = MediaHubProjectRole("reviewer") MediaHubProjectRole.other = MediaHubProjectRole("other") MediaHubProjectTeamAddDetails._all_field_names_ = set([]) MediaHubProjectTeamAddDetails._all_fields_ = [] MediaHubProjectTeamAddType.description.validator = bv.String() MediaHubProjectTeamAddType._all_field_names_ = set(["description"]) MediaHubProjectTeamAddType._all_fields_ = [ ("description", MediaHubProjectTeamAddType.description.validator) ] MediaHubProjectTeamDeleteDetails._all_field_names_ = set([]) MediaHubProjectTeamDeleteDetails._all_fields_ = [] MediaHubProjectTeamDeleteType.description.validator = bv.String() MediaHubProjectTeamDeleteType._all_field_names_ = set(["description"]) MediaHubProjectTeamDeleteType._all_fields_ = [ ("description", MediaHubProjectTeamDeleteType.description.validator) ] MediaHubProjectTeamRoleChangedDetails.previous_role.validator = MediaHubProjectRole_validator MediaHubProjectTeamRoleChangedDetails.new_role.validator = MediaHubProjectRole_validator MediaHubProjectTeamRoleChangedDetails._all_field_names_ = set( [ "previous_role", "new_role", ] ) MediaHubProjectTeamRoleChangedDetails._all_fields_ = [ ("previous_role", MediaHubProjectTeamRoleChangedDetails.previous_role.validator), ("new_role", MediaHubProjectTeamRoleChangedDetails.new_role.validator), ] MediaHubProjectTeamRoleChangedType.description.validator = bv.String() MediaHubProjectTeamRoleChangedType._all_field_names_ = set(["description"]) MediaHubProjectTeamRoleChangedType._all_fields_ = [ ("description", MediaHubProjectTeamRoleChangedType.description.validator) ] MediaHubSharedLinkAudience._no_one_validator = bv.Void() MediaHubSharedLinkAudience._public_validator = bv.Void() MediaHubSharedLinkAudience._team_only_validator = bv.Void() MediaHubSharedLinkAudience._other_validator = bv.Void() MediaHubSharedLinkAudience._tagmap = { "no_one": MediaHubSharedLinkAudience._no_one_validator, "public": MediaHubSharedLinkAudience._public_validator, "team_only": MediaHubSharedLinkAudience._team_only_validator, "other": MediaHubSharedLinkAudience._other_validator, } MediaHubSharedLinkAudience.no_one = MediaHubSharedLinkAudience("no_one") MediaHubSharedLinkAudience.public = MediaHubSharedLinkAudience("public") MediaHubSharedLinkAudience.team_only = MediaHubSharedLinkAudience("team_only") MediaHubSharedLinkAudience.other = MediaHubSharedLinkAudience("other") MediaHubSharedLinkAudienceChangedDetails.target_type.validator = ( MediaHubSharedLinkTargetType_validator ) MediaHubSharedLinkAudienceChangedDetails.previous_value.validator = ( MediaHubSharedLinkAudience_validator ) MediaHubSharedLinkAudienceChangedDetails.new_value.validator = MediaHubSharedLinkAudience_validator MediaHubSharedLinkAudienceChangedDetails._all_field_names_ = set( [ "target_type", "previous_value", "new_value", ] ) MediaHubSharedLinkAudienceChangedDetails._all_fields_ = [ ("target_type", MediaHubSharedLinkAudienceChangedDetails.target_type.validator), ( "previous_value", MediaHubSharedLinkAudienceChangedDetails.previous_value.validator, ), ("new_value", MediaHubSharedLinkAudienceChangedDetails.new_value.validator), ] MediaHubSharedLinkAudienceChangedType.description.validator = bv.String() MediaHubSharedLinkAudienceChangedType._all_field_names_ = set(["description"]) MediaHubSharedLinkAudienceChangedType._all_fields_ = [ ("description", MediaHubSharedLinkAudienceChangedType.description.validator) ] MediaHubSharedLinkCreatedDetails.target_type.validator = MediaHubSharedLinkTargetType_validator MediaHubSharedLinkCreatedDetails.audience.validator = MediaHubSharedLinkAudience_validator MediaHubSharedLinkCreatedDetails._all_field_names_ = set( [ "target_type", "audience", ] ) MediaHubSharedLinkCreatedDetails._all_fields_ = [ ("target_type", MediaHubSharedLinkCreatedDetails.target_type.validator), ("audience", MediaHubSharedLinkCreatedDetails.audience.validator), ] MediaHubSharedLinkCreatedType.description.validator = bv.String() MediaHubSharedLinkCreatedType._all_field_names_ = set(["description"]) MediaHubSharedLinkCreatedType._all_fields_ = [ ("description", MediaHubSharedLinkCreatedType.description.validator) ] MediaHubSharedLinkDownloadSetting._disabled_validator = bv.Void() MediaHubSharedLinkDownloadSetting._enabled_validator = bv.Void() MediaHubSharedLinkDownloadSetting._other_validator = bv.Void() MediaHubSharedLinkDownloadSetting._tagmap = { "disabled": MediaHubSharedLinkDownloadSetting._disabled_validator, "enabled": MediaHubSharedLinkDownloadSetting._enabled_validator, "other": MediaHubSharedLinkDownloadSetting._other_validator, } MediaHubSharedLinkDownloadSetting.disabled = MediaHubSharedLinkDownloadSetting("disabled") MediaHubSharedLinkDownloadSetting.enabled = MediaHubSharedLinkDownloadSetting("enabled") MediaHubSharedLinkDownloadSetting.other = MediaHubSharedLinkDownloadSetting("other") MediaHubSharedLinkDownloadSettingChangedDetails.target_type.validator = ( MediaHubSharedLinkTargetType_validator ) MediaHubSharedLinkDownloadSettingChangedDetails.previous_value.validator = ( MediaHubSharedLinkDownloadSetting_validator ) MediaHubSharedLinkDownloadSettingChangedDetails.new_value.validator = ( MediaHubSharedLinkDownloadSetting_validator ) MediaHubSharedLinkDownloadSettingChangedDetails._all_field_names_ = set( [ "target_type", "previous_value", "new_value", ] ) MediaHubSharedLinkDownloadSettingChangedDetails._all_fields_ = [ ( "target_type", MediaHubSharedLinkDownloadSettingChangedDetails.target_type.validator, ), ( "previous_value", MediaHubSharedLinkDownloadSettingChangedDetails.previous_value.validator, ), ("new_value", MediaHubSharedLinkDownloadSettingChangedDetails.new_value.validator), ] MediaHubSharedLinkDownloadSettingChangedType.description.validator = bv.String() MediaHubSharedLinkDownloadSettingChangedType._all_field_names_ = set(["description"]) MediaHubSharedLinkDownloadSettingChangedType._all_fields_ = [ ("description", MediaHubSharedLinkDownloadSettingChangedType.description.validator) ] MediaHubSharedLinkRevokedDetails.target_type.validator = MediaHubSharedLinkTargetType_validator MediaHubSharedLinkRevokedDetails._all_field_names_ = set(["target_type"]) MediaHubSharedLinkRevokedDetails._all_fields_ = [ ("target_type", MediaHubSharedLinkRevokedDetails.target_type.validator) ] MediaHubSharedLinkRevokedType.description.validator = bv.String() MediaHubSharedLinkRevokedType._all_field_names_ = set(["description"]) MediaHubSharedLinkRevokedType._all_fields_ = [ ("description", MediaHubSharedLinkRevokedType.description.validator) ] MediaHubSharedLinkTargetType._bundle_validator = bv.Void() MediaHubSharedLinkTargetType._project_validator = bv.Void() MediaHubSharedLinkTargetType._other_validator = bv.Void() MediaHubSharedLinkTargetType._tagmap = { "bundle": MediaHubSharedLinkTargetType._bundle_validator, "project": MediaHubSharedLinkTargetType._project_validator, "other": MediaHubSharedLinkTargetType._other_validator, } MediaHubSharedLinkTargetType.bundle = MediaHubSharedLinkTargetType("bundle") MediaHubSharedLinkTargetType.project = MediaHubSharedLinkTargetType("project") MediaHubSharedLinkTargetType.other = MediaHubSharedLinkTargetType("other") MemberAccessDetailsCreateReportDetails._all_field_names_ = set([]) MemberAccessDetailsCreateReportDetails._all_fields_ = [] MemberAccessDetailsCreateReportFailedDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) MemberAccessDetailsCreateReportFailedDetails._all_field_names_ = set(["failure_reason"]) MemberAccessDetailsCreateReportFailedDetails._all_fields_ = [ ( "failure_reason", MemberAccessDetailsCreateReportFailedDetails.failure_reason.validator, ) ] MemberAccessDetailsCreateReportFailedType.description.validator = bv.String() MemberAccessDetailsCreateReportFailedType._all_field_names_ = set(["description"]) MemberAccessDetailsCreateReportFailedType._all_fields_ = [ ("description", MemberAccessDetailsCreateReportFailedType.description.validator) ] MemberAccessDetailsCreateReportType.description.validator = bv.String() MemberAccessDetailsCreateReportType._all_field_names_ = set(["description"]) MemberAccessDetailsCreateReportType._all_fields_ = [ ("description", MemberAccessDetailsCreateReportType.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)] MemberChangeResellerRoleDetails.new_value.validator = ResellerRole_validator MemberChangeResellerRoleDetails.previous_value.validator = ResellerRole_validator MemberChangeResellerRoleDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) MemberChangeResellerRoleDetails._all_fields_ = [ ("new_value", MemberChangeResellerRoleDetails.new_value.validator), ("previous_value", MemberChangeResellerRoleDetails.previous_value.validator), ] MemberChangeResellerRoleType.description.validator = bv.String() MemberChangeResellerRoleType._all_field_names_ = set(["description"]) MemberChangeResellerRoleType._all_fields_ = [ ("description", MemberChangeResellerRoleType.description.validator) ] MemberChangeStatusDetails.previous_value.validator = bv.Nullable(MemberStatus_validator) MemberChangeStatusDetails.new_value.validator = MemberStatus_validator MemberChangeStatusDetails.action.validator = bv.Nullable(ActionDetails_validator) MemberChangeStatusDetails.new_team.validator = bv.Nullable(bv.String()) MemberChangeStatusDetails.previous_team.validator = bv.Nullable(bv.String()) MemberChangeStatusDetails._all_field_names_ = set( [ "previous_value", "new_value", "action", "new_team", "previous_team", ] ) MemberChangeStatusDetails._all_fields_ = [ ("previous_value", MemberChangeStatusDetails.previous_value.validator), ("new_value", MemberChangeStatusDetails.new_value.validator), ("action", MemberChangeStatusDetails.action.validator), ("new_team", MemberChangeStatusDetails.new_team.validator), ("previous_team", MemberChangeStatusDetails.previous_team.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) ] MemberDeleteProfilePhotoDetails._all_field_names_ = set([]) MemberDeleteProfilePhotoDetails._all_fields_ = [] MemberDeleteProfilePhotoType.description.validator = bv.String() MemberDeleteProfilePhotoType._all_field_names_ = set(["description"]) MemberDeleteProfilePhotoType._all_fields_ = [ ("description", MemberDeleteProfilePhotoType.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._leave_validator = bv.Void() MemberRemoveActionType._offboard_validator = bv.Void() MemberRemoveActionType._offboard_and_retain_team_folders_validator = bv.Void() MemberRemoveActionType._other_validator = bv.Void() MemberRemoveActionType._tagmap = { "delete": MemberRemoveActionType._delete_validator, "leave": MemberRemoveActionType._leave_validator, "offboard": MemberRemoveActionType._offboard_validator, "offboard_and_retain_team_folders": MemberRemoveActionType._offboard_and_retain_team_folders_validator, "other": MemberRemoveActionType._other_validator, } MemberRemoveActionType.delete = MemberRemoveActionType("delete") MemberRemoveActionType.leave = MemberRemoveActionType("leave") MemberRemoveActionType.offboard = MemberRemoveActionType("offboard") 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") MemberSendInvitePolicy._disabled_validator = bv.Void() MemberSendInvitePolicy._everyone_validator = bv.Void() MemberSendInvitePolicy._specific_members_validator = bv.Void() MemberSendInvitePolicy._other_validator = bv.Void() MemberSendInvitePolicy._tagmap = { "disabled": MemberSendInvitePolicy._disabled_validator, "everyone": MemberSendInvitePolicy._everyone_validator, "specific_members": MemberSendInvitePolicy._specific_members_validator, "other": MemberSendInvitePolicy._other_validator, } MemberSendInvitePolicy.disabled = MemberSendInvitePolicy("disabled") MemberSendInvitePolicy.everyone = MemberSendInvitePolicy("everyone") MemberSendInvitePolicy.specific_members = MemberSendInvitePolicy("specific_members") MemberSendInvitePolicy.other = MemberSendInvitePolicy("other") MemberSendInvitePolicyChangedDetails.new_value.validator = MemberSendInvitePolicy_validator MemberSendInvitePolicyChangedDetails.previous_value.validator = MemberSendInvitePolicy_validator MemberSendInvitePolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) MemberSendInvitePolicyChangedDetails._all_fields_ = [ ("new_value", MemberSendInvitePolicyChangedDetails.new_value.validator), ("previous_value", MemberSendInvitePolicyChangedDetails.previous_value.validator), ] MemberSendInvitePolicyChangedType.description.validator = bv.String() MemberSendInvitePolicyChangedType._all_field_names_ = set(["description"]) MemberSendInvitePolicyChangedType._all_fields_ = [ ("description", MemberSendInvitePolicyChangedType.description.validator) ] MemberSetProfilePhotoDetails._all_field_names_ = set([]) MemberSetProfilePhotoDetails._all_fields_ = [] MemberSetProfilePhotoType.description.validator = bv.String() MemberSetProfilePhotoType._all_field_names_ = set(["description"]) MemberSetProfilePhotoType._all_fields_ = [ ("description", MemberSetProfilePhotoType.description.validator) ] 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._active_validator = bv.Void() MemberStatus._invited_validator = bv.Void() MemberStatus._moved_to_another_team_validator = bv.Void() MemberStatus._not_joined_validator = bv.Void() MemberStatus._removed_validator = bv.Void() MemberStatus._suspended_validator = bv.Void() MemberStatus._other_validator = bv.Void() MemberStatus._tagmap = { "active": MemberStatus._active_validator, "invited": MemberStatus._invited_validator, "moved_to_another_team": MemberStatus._moved_to_another_team_validator, "not_joined": MemberStatus._not_joined_validator, "removed": MemberStatus._removed_validator, "suspended": MemberStatus._suspended_validator, "other": MemberStatus._other_validator, } MemberStatus.active = MemberStatus("active") MemberStatus.invited = MemberStatus("invited") MemberStatus.moved_to_another_team = MemberStatus("moved_to_another_team") MemberStatus.not_joined = MemberStatus("not_joined") MemberStatus.removed = MemberStatus("removed") MemberStatus.suspended = MemberStatus("suspended") 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) ] MemberTransferredInternalFields.source_team_id.validator = team_common.TeamId_validator MemberTransferredInternalFields.target_team_id.validator = team_common.TeamId_validator MemberTransferredInternalFields._all_field_names_ = set( [ "source_team_id", "target_team_id", ] ) MemberTransferredInternalFields._all_fields_ = [ ("source_team_id", MemberTransferredInternalFields.source_team_id.validator), ("target_team_id", MemberTransferredInternalFields.target_team_id.validator), ] MicrosoftLoginChangePolicyDetails.new_value.validator = MicrosoftLoginPolicy_validator MicrosoftLoginChangePolicyDetails.previous_value.validator = bv.Nullable( MicrosoftLoginPolicy_validator ) MicrosoftLoginChangePolicyDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) MicrosoftLoginChangePolicyDetails._all_fields_ = [ ("new_value", MicrosoftLoginChangePolicyDetails.new_value.validator), ("previous_value", MicrosoftLoginChangePolicyDetails.previous_value.validator), ] MicrosoftLoginChangePolicyType.description.validator = bv.String() MicrosoftLoginChangePolicyType._all_field_names_ = set(["description"]) MicrosoftLoginChangePolicyType._all_fields_ = [ ("description", MicrosoftLoginChangePolicyType.description.validator) ] MicrosoftLoginPolicy._default_validator = bv.Void() MicrosoftLoginPolicy._disabled_validator = bv.Void() MicrosoftLoginPolicy._enabled_validator = bv.Void() MicrosoftLoginPolicy._other_validator = bv.Void() MicrosoftLoginPolicy._tagmap = { "default": MicrosoftLoginPolicy._default_validator, "disabled": MicrosoftLoginPolicy._disabled_validator, "enabled": MicrosoftLoginPolicy._enabled_validator, "other": MicrosoftLoginPolicy._other_validator, } MicrosoftLoginPolicy.default = MicrosoftLoginPolicy("default") MicrosoftLoginPolicy.disabled = MicrosoftLoginPolicy("disabled") MicrosoftLoginPolicy.enabled = MicrosoftLoginPolicy("enabled") MicrosoftLoginPolicy.other = MicrosoftLoginPolicy("other") 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_ MultiTeamIdentityPolicy._default_validator = bv.Void() MultiTeamIdentityPolicy._disabled_validator = bv.Void() MultiTeamIdentityPolicy._enabled_validator = bv.Void() MultiTeamIdentityPolicy._other_validator = bv.Void() MultiTeamIdentityPolicy._tagmap = { "default": MultiTeamIdentityPolicy._default_validator, "disabled": MultiTeamIdentityPolicy._disabled_validator, "enabled": MultiTeamIdentityPolicy._enabled_validator, "other": MultiTeamIdentityPolicy._other_validator, } MultiTeamIdentityPolicy.default = MultiTeamIdentityPolicy("default") MultiTeamIdentityPolicy.disabled = MultiTeamIdentityPolicy("disabled") MultiTeamIdentityPolicy.enabled = MultiTeamIdentityPolicy("enabled") MultiTeamIdentityPolicy.other = MultiTeamIdentityPolicy("other") MultiTeamIdentityPolicyChangedDetails.new_value.validator = MultiTeamIdentityPolicy_validator MultiTeamIdentityPolicyChangedDetails.previous_value.validator = bv.Nullable( MultiTeamIdentityPolicy_validator ) MultiTeamIdentityPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) MultiTeamIdentityPolicyChangedDetails._all_fields_ = [ ("new_value", MultiTeamIdentityPolicyChangedDetails.new_value.validator), ("previous_value", MultiTeamIdentityPolicyChangedDetails.previous_value.validator), ] MultiTeamIdentityPolicyChangedType.description.validator = bv.String() MultiTeamIdentityPolicyChangedType._all_field_names_ = set(["description"]) MultiTeamIdentityPolicyChangedType._all_fields_ = [ ("description", MultiTeamIdentityPolicyChangedType.description.validator) ] NamespaceRelativePathLogInfo.ns_id.validator = bv.Nullable(NamespaceId_validator) NamespaceRelativePathLogInfo.relative_path.validator = bv.Nullable(FilePath_validator) NamespaceRelativePathLogInfo.is_shared_namespace.validator = bv.Nullable(bv.Boolean()) NamespaceRelativePathLogInfo._all_field_names_ = set( [ "ns_id", "relative_path", "is_shared_namespace", ] ) NamespaceRelativePathLogInfo._all_fields_ = [ ("ns_id", NamespaceRelativePathLogInfo.ns_id.validator), ("relative_path", NamespaceRelativePathLogInfo.relative_path.validator), ("is_shared_namespace", NamespaceRelativePathLogInfo.is_shared_namespace.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") NoExpirationLinkGenCreateReportDetails.start_date.validator = common.DropboxTimestamp_validator NoExpirationLinkGenCreateReportDetails.end_date.validator = common.DropboxTimestamp_validator NoExpirationLinkGenCreateReportDetails._all_field_names_ = set( [ "start_date", "end_date", ] ) NoExpirationLinkGenCreateReportDetails._all_fields_ = [ ("start_date", NoExpirationLinkGenCreateReportDetails.start_date.validator), ("end_date", NoExpirationLinkGenCreateReportDetails.end_date.validator), ] NoExpirationLinkGenCreateReportType.description.validator = bv.String() NoExpirationLinkGenCreateReportType._all_field_names_ = set(["description"]) NoExpirationLinkGenCreateReportType._all_fields_ = [ ("description", NoExpirationLinkGenCreateReportType.description.validator) ] NoExpirationLinkGenReportFailedDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) NoExpirationLinkGenReportFailedDetails._all_field_names_ = set(["failure_reason"]) NoExpirationLinkGenReportFailedDetails._all_fields_ = [ ("failure_reason", NoExpirationLinkGenReportFailedDetails.failure_reason.validator) ] NoExpirationLinkGenReportFailedType.description.validator = bv.String() NoExpirationLinkGenReportFailedType._all_field_names_ = set(["description"]) NoExpirationLinkGenReportFailedType._all_fields_ = [ ("description", NoExpirationLinkGenReportFailedType.description.validator) ] NoPasswordLinkGenCreateReportDetails.start_date.validator = common.DropboxTimestamp_validator NoPasswordLinkGenCreateReportDetails.end_date.validator = common.DropboxTimestamp_validator NoPasswordLinkGenCreateReportDetails._all_field_names_ = set( [ "start_date", "end_date", ] ) NoPasswordLinkGenCreateReportDetails._all_fields_ = [ ("start_date", NoPasswordLinkGenCreateReportDetails.start_date.validator), ("end_date", NoPasswordLinkGenCreateReportDetails.end_date.validator), ] NoPasswordLinkGenCreateReportType.description.validator = bv.String() NoPasswordLinkGenCreateReportType._all_field_names_ = set(["description"]) NoPasswordLinkGenCreateReportType._all_fields_ = [ ("description", NoPasswordLinkGenCreateReportType.description.validator) ] NoPasswordLinkGenReportFailedDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) NoPasswordLinkGenReportFailedDetails._all_field_names_ = set(["failure_reason"]) NoPasswordLinkGenReportFailedDetails._all_fields_ = [ ("failure_reason", NoPasswordLinkGenReportFailedDetails.failure_reason.validator) ] NoPasswordLinkGenReportFailedType.description.validator = bv.String() NoPasswordLinkGenReportFailedType._all_field_names_ = set(["description"]) NoPasswordLinkGenReportFailedType._all_fields_ = [ ("description", NoPasswordLinkGenReportFailedType.description.validator) ] NoPasswordLinkViewCreateReportDetails.start_date.validator = common.DropboxTimestamp_validator NoPasswordLinkViewCreateReportDetails.end_date.validator = common.DropboxTimestamp_validator NoPasswordLinkViewCreateReportDetails._all_field_names_ = set( [ "start_date", "end_date", ] ) NoPasswordLinkViewCreateReportDetails._all_fields_ = [ ("start_date", NoPasswordLinkViewCreateReportDetails.start_date.validator), ("end_date", NoPasswordLinkViewCreateReportDetails.end_date.validator), ] NoPasswordLinkViewCreateReportType.description.validator = bv.String() NoPasswordLinkViewCreateReportType._all_field_names_ = set(["description"]) NoPasswordLinkViewCreateReportType._all_fields_ = [ ("description", NoPasswordLinkViewCreateReportType.description.validator) ] NoPasswordLinkViewReportFailedDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) NoPasswordLinkViewReportFailedDetails._all_field_names_ = set(["failure_reason"]) NoPasswordLinkViewReportFailedDetails._all_fields_ = [ ("failure_reason", NoPasswordLinkViewReportFailedDetails.failure_reason.validator) ] NoPasswordLinkViewReportFailedType.description.validator = bv.String() NoPasswordLinkViewReportFailedType._all_field_names_ = set(["description"]) NoPasswordLinkViewReportFailedType._all_fields_ = [ ("description", NoPasswordLinkViewReportFailedType.description.validator) ] 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_ = { ("non_team_member",): NonTeamMemberLogInfo_validator, ("team_member",): TeamMemberLogInfo_validator, ("trusted_non_team_member",): TrustedNonTeamMemberLogInfo_validator, } UserLogInfo._pytype_to_tag_and_subtype_ = { NonTeamMemberLogInfo: (("non_team_member",), NonTeamMemberLogInfo_validator), TeamMemberLogInfo: (("team_member",), TeamMemberLogInfo_validator), TrustedNonTeamMemberLogInfo: ( ("trusted_non_team_member",), TrustedNonTeamMemberLogInfo_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_ NonTrustedTeamDetails.team.validator = bv.String() NonTrustedTeamDetails._all_field_names_ = set(["team"]) NonTrustedTeamDetails._all_fields_ = [("team", NonTrustedTeamDetails.team.validator)] 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)] ObjectLabelAddedDetails.label_type.validator = LabelType_validator ObjectLabelAddedDetails._all_field_names_ = set(["label_type"]) ObjectLabelAddedDetails._all_fields_ = [ ("label_type", ObjectLabelAddedDetails.label_type.validator) ] ObjectLabelAddedType.description.validator = bv.String() ObjectLabelAddedType._all_field_names_ = set(["description"]) ObjectLabelAddedType._all_fields_ = [("description", ObjectLabelAddedType.description.validator)] ObjectLabelRemovedDetails.label_type.validator = LabelType_validator ObjectLabelRemovedDetails._all_field_names_ = set(["label_type"]) ObjectLabelRemovedDetails._all_fields_ = [ ("label_type", ObjectLabelRemovedDetails.label_type.validator) ] ObjectLabelRemovedType.description.validator = bv.String() ObjectLabelRemovedType._all_field_names_ = set(["description"]) ObjectLabelRemovedType._all_fields_ = [ ("description", ObjectLabelRemovedType.description.validator) ] ObjectLabelUpdatedValueDetails.label_type.validator = LabelType_validator ObjectLabelUpdatedValueDetails._all_field_names_ = set(["label_type"]) ObjectLabelUpdatedValueDetails._all_fields_ = [ ("label_type", ObjectLabelUpdatedValueDetails.label_type.validator) ] ObjectLabelUpdatedValueType.description.validator = bv.String() ObjectLabelUpdatedValueType._all_field_names_ = set(["description"]) ObjectLabelUpdatedValueType._all_fields_ = [ ("description", ObjectLabelUpdatedValueType.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)] OrganizationDetails.organization.validator = bv.String() OrganizationDetails._all_field_names_ = set(["organization"]) OrganizationDetails._all_fields_ = [("organization", OrganizationDetails.organization.validator)] OrganizationName.organization.validator = bv.String() OrganizationName._all_field_names_ = set(["organization"]) OrganizationName._all_fields_ = [("organization", OrganizationName.organization.validator)] OrganizeFolderWithTidyDetails._all_field_names_ = set([]) OrganizeFolderWithTidyDetails._all_fields_ = [] OrganizeFolderWithTidyType.description.validator = bv.String() OrganizeFolderWithTidyType._all_field_names_ = set(["description"]) OrganizeFolderWithTidyType._all_fields_ = [ ("description", OrganizeFolderWithTidyType.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), ] OutdatedLinkViewCreateReportDetails.start_date.validator = common.DropboxTimestamp_validator OutdatedLinkViewCreateReportDetails.end_date.validator = common.DropboxTimestamp_validator OutdatedLinkViewCreateReportDetails._all_field_names_ = set( [ "start_date", "end_date", ] ) OutdatedLinkViewCreateReportDetails._all_fields_ = [ ("start_date", OutdatedLinkViewCreateReportDetails.start_date.validator), ("end_date", OutdatedLinkViewCreateReportDetails.end_date.validator), ] OutdatedLinkViewCreateReportType.description.validator = bv.String() OutdatedLinkViewCreateReportType._all_field_names_ = set(["description"]) OutdatedLinkViewCreateReportType._all_fields_ = [ ("description", OutdatedLinkViewCreateReportType.description.validator) ] OutdatedLinkViewReportFailedDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) OutdatedLinkViewReportFailedDetails._all_field_names_ = set(["failure_reason"]) OutdatedLinkViewReportFailedDetails._all_fields_ = [ ("failure_reason", OutdatedLinkViewReportFailedDetails.failure_reason.validator) ] OutdatedLinkViewReportFailedType.description.validator = bv.String() OutdatedLinkViewReportFailedType._all_field_names_ = set(["description"]) OutdatedLinkViewReportFailedType._all_fields_ = [ ("description", OutdatedLinkViewReportFailedType.description.validator) ] PaperAccessType._commenter_validator = bv.Void() PaperAccessType._editor_validator = bv.Void() PaperAccessType._viewer_validator = bv.Void() PaperAccessType._other_validator = bv.Void() PaperAccessType._tagmap = { "commenter": PaperAccessType._commenter_validator, "editor": PaperAccessType._editor_validator, "viewer": PaperAccessType._viewer_validator, "other": PaperAccessType._other_validator, } PaperAccessType.commenter = PaperAccessType("commenter") PaperAccessType.editor = PaperAccessType("editor") PaperAccessType.viewer = PaperAccessType("viewer") 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.Nullable(bv.UInt64()) PaperContentRemoveFromFolderDetails.parent_asset_index.validator = bv.Nullable(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") PaperPublishedLinkChangePermissionDetails.event_uuid.validator = bv.String() PaperPublishedLinkChangePermissionDetails.new_permission_level.validator = bv.String() PaperPublishedLinkChangePermissionDetails.previous_permission_level.validator = bv.String() PaperPublishedLinkChangePermissionDetails._all_field_names_ = set( [ "event_uuid", "new_permission_level", "previous_permission_level", ] ) PaperPublishedLinkChangePermissionDetails._all_fields_ = [ ("event_uuid", PaperPublishedLinkChangePermissionDetails.event_uuid.validator), ( "new_permission_level", PaperPublishedLinkChangePermissionDetails.new_permission_level.validator, ), ( "previous_permission_level", PaperPublishedLinkChangePermissionDetails.previous_permission_level.validator, ), ] PaperPublishedLinkChangePermissionType.description.validator = bv.String() PaperPublishedLinkChangePermissionType._all_field_names_ = set(["description"]) PaperPublishedLinkChangePermissionType._all_fields_ = [ ("description", PaperPublishedLinkChangePermissionType.description.validator) ] 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._group_validator = GroupLogInfo_validator ParticipantLogInfo._user_validator = UserLogInfo_validator ParticipantLogInfo._other_validator = bv.Void() ParticipantLogInfo._tagmap = { "group": ParticipantLogInfo._group_validator, "user": ParticipantLogInfo._user_validator, "other": ParticipantLogInfo._other_validator, } ParticipantLogInfo.other = ParticipantLogInfo("other") PassPolicy._allow_validator = bv.Void() PassPolicy._disabled_validator = bv.Void() PassPolicy._enabled_validator = bv.Void() PassPolicy._other_validator = bv.Void() PassPolicy._tagmap = { "allow": PassPolicy._allow_validator, "disabled": PassPolicy._disabled_validator, "enabled": PassPolicy._enabled_validator, "other": PassPolicy._other_validator, } PassPolicy.allow = PassPolicy("allow") PassPolicy.disabled = PassPolicy("disabled") PassPolicy.enabled = PassPolicy("enabled") PassPolicy.other = PassPolicy("other") PasskeyAddDetails._all_field_names_ = set([]) PasskeyAddDetails._all_fields_ = [] PasskeyAddType.description.validator = bv.String() PasskeyAddType._all_field_names_ = set(["description"]) PasskeyAddType._all_fields_ = [("description", PasskeyAddType.description.validator)] PasskeyLoginPolicy._default_validator = bv.Void() PasskeyLoginPolicy._disabled_validator = bv.Void() PasskeyLoginPolicy._enabled_validator = bv.Void() PasskeyLoginPolicy._other_validator = bv.Void() PasskeyLoginPolicy._tagmap = { "default": PasskeyLoginPolicy._default_validator, "disabled": PasskeyLoginPolicy._disabled_validator, "enabled": PasskeyLoginPolicy._enabled_validator, "other": PasskeyLoginPolicy._other_validator, } PasskeyLoginPolicy.default = PasskeyLoginPolicy("default") PasskeyLoginPolicy.disabled = PasskeyLoginPolicy("disabled") PasskeyLoginPolicy.enabled = PasskeyLoginPolicy("enabled") PasskeyLoginPolicy.other = PasskeyLoginPolicy("other") PasskeyLoginPolicyChangedDetails.new_value.validator = PasskeyLoginPolicy_validator PasskeyLoginPolicyChangedDetails.previous_value.validator = bv.Nullable( PasskeyLoginPolicy_validator ) PasskeyLoginPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) PasskeyLoginPolicyChangedDetails._all_fields_ = [ ("new_value", PasskeyLoginPolicyChangedDetails.new_value.validator), ("previous_value", PasskeyLoginPolicyChangedDetails.previous_value.validator), ] PasskeyLoginPolicyChangedType.description.validator = bv.String() PasskeyLoginPolicyChangedType._all_field_names_ = set(["description"]) PasskeyLoginPolicyChangedType._all_fields_ = [ ("description", PasskeyLoginPolicyChangedType.description.validator) ] PasskeyRemoveDetails._all_field_names_ = set([]) PasskeyRemoveDetails._all_fields_ = [] PasskeyRemoveType.description.validator = bv.String() PasskeyRemoveType._all_field_names_ = set(["description"]) PasskeyRemoveType._all_fields_ = [("description", PasskeyRemoveType.description.validator)] 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)] PasswordStrengthRequirementsChangePolicyDetails.previous_value.validator = ( team_policies.PasswordStrengthPolicy_validator ) PasswordStrengthRequirementsChangePolicyDetails.new_value.validator = ( team_policies.PasswordStrengthPolicy_validator ) PasswordStrengthRequirementsChangePolicyDetails._all_field_names_ = set( [ "previous_value", "new_value", ] ) PasswordStrengthRequirementsChangePolicyDetails._all_fields_ = [ ( "previous_value", PasswordStrengthRequirementsChangePolicyDetails.previous_value.validator, ), ("new_value", PasswordStrengthRequirementsChangePolicyDetails.new_value.validator), ] PasswordStrengthRequirementsChangePolicyType.description.validator = bv.String() PasswordStrengthRequirementsChangePolicyType._all_field_names_ = set(["description"]) PasswordStrengthRequirementsChangePolicyType._all_fields_ = [ ("description", PasswordStrengthRequirementsChangePolicyType.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), ] PendingSecondaryEmailAddedDetails.secondary_email.validator = EmailAddress_validator PendingSecondaryEmailAddedDetails._all_field_names_ = set(["secondary_email"]) PendingSecondaryEmailAddedDetails._all_fields_ = [ ("secondary_email", PendingSecondaryEmailAddedDetails.secondary_email.validator) ] PendingSecondaryEmailAddedType.description.validator = bv.String() PendingSecondaryEmailAddedType._all_field_names_ = set(["description"]) PendingSecondaryEmailAddedType._all_fields_ = [ ("description", PendingSecondaryEmailAddedType.description.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._canada_only_validator = bv.Void() PlacementRestriction._europe_only_validator = bv.Void() PlacementRestriction._japan_only_validator = bv.Void() PlacementRestriction._none_validator = bv.Void() PlacementRestriction._uk_only_validator = bv.Void() PlacementRestriction._us_s3_only_validator = bv.Void() PlacementRestriction._other_validator = bv.Void() PlacementRestriction._tagmap = { "australia_only": PlacementRestriction._australia_only_validator, "canada_only": PlacementRestriction._canada_only_validator, "europe_only": PlacementRestriction._europe_only_validator, "japan_only": PlacementRestriction._japan_only_validator, "none": PlacementRestriction._none_validator, "uk_only": PlacementRestriction._uk_only_validator, "us_s3_only": PlacementRestriction._us_s3_only_validator, "other": PlacementRestriction._other_validator, } PlacementRestriction.australia_only = PlacementRestriction("australia_only") PlacementRestriction.canada_only = PlacementRestriction("canada_only") PlacementRestriction.europe_only = PlacementRestriction("europe_only") PlacementRestriction.japan_only = PlacementRestriction("japan_only") PlacementRestriction.none = PlacementRestriction("none") PlacementRestriction.uk_only = PlacementRestriction("uk_only") PlacementRestriction.us_s3_only = PlacementRestriction("us_s3_only") PlacementRestriction.other = PlacementRestriction("other") PolicyType._disposition_validator = bv.Void() PolicyType._retention_validator = bv.Void() PolicyType._other_validator = bv.Void() PolicyType._tagmap = { "disposition": PolicyType._disposition_validator, "retention": PolicyType._retention_validator, "other": PolicyType._other_validator, } PolicyType.disposition = PolicyType("disposition") PolicyType.retention = PolicyType("retention") PolicyType.other = PolicyType("other") PreviewsAiPolicy._default_validator = bv.Void() PreviewsAiPolicy._disabled_validator = bv.Void() PreviewsAiPolicy._enabled_validator = bv.Void() PreviewsAiPolicy._other_validator = bv.Void() PreviewsAiPolicy._tagmap = { "default": PreviewsAiPolicy._default_validator, "disabled": PreviewsAiPolicy._disabled_validator, "enabled": PreviewsAiPolicy._enabled_validator, "other": PreviewsAiPolicy._other_validator, } PreviewsAiPolicy.default = PreviewsAiPolicy("default") PreviewsAiPolicy.disabled = PreviewsAiPolicy("disabled") PreviewsAiPolicy.enabled = PreviewsAiPolicy("enabled") PreviewsAiPolicy.other = PreviewsAiPolicy("other") PreviewsAiPolicyChangedDetails.new_value.validator = PreviewsAiPolicy_validator PreviewsAiPolicyChangedDetails.previous_value.validator = PreviewsAiPolicy_validator PreviewsAiPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) PreviewsAiPolicyChangedDetails._all_fields_ = [ ("new_value", PreviewsAiPolicyChangedDetails.new_value.validator), ("previous_value", PreviewsAiPolicyChangedDetails.previous_value.validator), ] PreviewsAiPolicyChangedType.description.validator = bv.String() PreviewsAiPolicyChangedType._all_field_names_ = set(["description"]) PreviewsAiPolicyChangedType._all_fields_ = [ ("description", PreviewsAiPolicyChangedType.description.validator) ] 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), ] ProductAssignedToMemberDetails.user_name.validator = UserNameLogInfo_validator ProductAssignedToMemberDetails.product_name.validator = ProductLogInfo_validator ProductAssignedToMemberDetails._all_field_names_ = set( [ "user_name", "product_name", ] ) ProductAssignedToMemberDetails._all_fields_ = [ ("user_name", ProductAssignedToMemberDetails.user_name.validator), ("product_name", ProductAssignedToMemberDetails.product_name.validator), ] ProductAssignedToMemberType.description.validator = bv.String() ProductAssignedToMemberType._all_field_names_ = set(["description"]) ProductAssignedToMemberType._all_fields_ = [ ("description", ProductAssignedToMemberType.description.validator) ] ProductLogInfo.product_name.validator = bv.String() ProductLogInfo._all_field_names_ = set(["product_name"]) ProductLogInfo._all_fields_ = [("product_name", ProductLogInfo.product_name.validator)] ProductRemovedFromMemberDetails.user_name.validator = UserNameLogInfo_validator ProductRemovedFromMemberDetails.product_name.validator = ProductLogInfo_validator ProductRemovedFromMemberDetails._all_field_names_ = set( [ "user_name", "product_name", ] ) ProductRemovedFromMemberDetails._all_fields_ = [ ("user_name", ProductRemovedFromMemberDetails.user_name.validator), ("product_name", ProductRemovedFromMemberDetails.product_name.validator), ] ProductRemovedFromMemberType.description.validator = bv.String() ProductRemovedFromMemberType._all_field_names_ = set(["description"]) ProductRemovedFromMemberType._all_fields_ = [ ("description", ProductRemovedFromMemberType.description.validator) ] ProtectInternalDomainsChangedDetails.domains_added.validator = bv.Nullable(bv.List(bv.String())) ProtectInternalDomainsChangedDetails.domains_removed.validator = bv.Nullable(bv.List(bv.String())) ProtectInternalDomainsChangedDetails._all_field_names_ = set( [ "domains_added", "domains_removed", ] ) ProtectInternalDomainsChangedDetails._all_fields_ = [ ("domains_added", ProtectInternalDomainsChangedDetails.domains_added.validator), ("domains_removed", ProtectInternalDomainsChangedDetails.domains_removed.validator), ] ProtectInternalDomainsChangedType.description.validator = bv.String() ProtectInternalDomainsChangedType._all_field_names_ = set(["description"]) ProtectInternalDomainsChangedType._all_fields_ = [ ("description", ProtectInternalDomainsChangedType.description.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_device_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_device": QuickActionType._unlink_device_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_device = QuickActionType("unlink_device") QuickActionType.unlink_session = QuickActionType("unlink_session") QuickActionType.other = QuickActionType("other") RansomwareAlertCreateReportDetails._all_field_names_ = set([]) RansomwareAlertCreateReportDetails._all_fields_ = [] RansomwareAlertCreateReportFailedDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) RansomwareAlertCreateReportFailedDetails._all_field_names_ = set(["failure_reason"]) RansomwareAlertCreateReportFailedDetails._all_fields_ = [ ( "failure_reason", RansomwareAlertCreateReportFailedDetails.failure_reason.validator, ) ] RansomwareAlertCreateReportFailedType.description.validator = bv.String() RansomwareAlertCreateReportFailedType._all_field_names_ = set(["description"]) RansomwareAlertCreateReportFailedType._all_fields_ = [ ("description", RansomwareAlertCreateReportFailedType.description.validator) ] RansomwareAlertCreateReportType.description.validator = bv.String() RansomwareAlertCreateReportType._all_field_names_ = set(["description"]) RansomwareAlertCreateReportType._all_fields_ = [ ("description", RansomwareAlertCreateReportType.description.validator) ] RansomwareRestoreProcessCompletedDetails.status.validator = bv.String() RansomwareRestoreProcessCompletedDetails.restored_files_count.validator = bv.Int64() RansomwareRestoreProcessCompletedDetails.restored_files_failed_count.validator = bv.Int64() RansomwareRestoreProcessCompletedDetails._all_field_names_ = set( [ "status", "restored_files_count", "restored_files_failed_count", ] ) RansomwareRestoreProcessCompletedDetails._all_fields_ = [ ("status", RansomwareRestoreProcessCompletedDetails.status.validator), ( "restored_files_count", RansomwareRestoreProcessCompletedDetails.restored_files_count.validator, ), ( "restored_files_failed_count", RansomwareRestoreProcessCompletedDetails.restored_files_failed_count.validator, ), ] RansomwareRestoreProcessCompletedType.description.validator = bv.String() RansomwareRestoreProcessCompletedType._all_field_names_ = set(["description"]) RansomwareRestoreProcessCompletedType._all_fields_ = [ ("description", RansomwareRestoreProcessCompletedType.description.validator) ] RansomwareRestoreProcessStartedDetails.extension.validator = bv.String() RansomwareRestoreProcessStartedDetails._all_field_names_ = set(["extension"]) RansomwareRestoreProcessStartedDetails._all_fields_ = [ ("extension", RansomwareRestoreProcessStartedDetails.extension.validator) ] RansomwareRestoreProcessStartedType.description.validator = bv.String() RansomwareRestoreProcessStartedType._all_field_names_ = set(["description"]) RansomwareRestoreProcessStartedType._all_fields_ = [ ("description", RansomwareRestoreProcessStartedType.description.validator) ] RecipientsConfiguration.recipient_setting_type.validator = bv.Nullable( AlertRecipientsSettingType_validator ) RecipientsConfiguration.emails.validator = bv.Nullable(bv.List(EmailAddress_validator)) RecipientsConfiguration.groups.validator = bv.Nullable(bv.List(bv.String())) RecipientsConfiguration._all_field_names_ = set( [ "recipient_setting_type", "emails", "groups", ] ) RecipientsConfiguration._all_fields_ = [ ( "recipient_setting_type", RecipientsConfiguration.recipient_setting_type.validator, ), ("emails", RecipientsConfiguration.emails.validator), ("groups", RecipientsConfiguration.groups.validator), ] 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), ] ReplayAddingPeoplePolicy._anyone_validator = bv.Void() ReplayAddingPeoplePolicy._team_and_allowlist_validator = bv.Void() ReplayAddingPeoplePolicy._team_only_validator = bv.Void() ReplayAddingPeoplePolicy._other_validator = bv.Void() ReplayAddingPeoplePolicy._tagmap = { "anyone": ReplayAddingPeoplePolicy._anyone_validator, "team_and_allowlist": ReplayAddingPeoplePolicy._team_and_allowlist_validator, "team_only": ReplayAddingPeoplePolicy._team_only_validator, "other": ReplayAddingPeoplePolicy._other_validator, } ReplayAddingPeoplePolicy.anyone = ReplayAddingPeoplePolicy("anyone") ReplayAddingPeoplePolicy.team_and_allowlist = ReplayAddingPeoplePolicy("team_and_allowlist") ReplayAddingPeoplePolicy.team_only = ReplayAddingPeoplePolicy("team_only") ReplayAddingPeoplePolicy.other = ReplayAddingPeoplePolicy("other") ReplayAddingPeoplePolicyChangedDetails.new_value.validator = ReplayAddingPeoplePolicy_validator ReplayAddingPeoplePolicyChangedDetails.previous_value.validator = ReplayAddingPeoplePolicy_validator ReplayAddingPeoplePolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) ReplayAddingPeoplePolicyChangedDetails._all_fields_ = [ ("new_value", ReplayAddingPeoplePolicyChangedDetails.new_value.validator), ("previous_value", ReplayAddingPeoplePolicyChangedDetails.previous_value.validator), ] ReplayAddingPeoplePolicyChangedType.description.validator = bv.String() ReplayAddingPeoplePolicyChangedType._all_field_names_ = set(["description"]) ReplayAddingPeoplePolicyChangedType._all_fields_ = [ ("description", ReplayAddingPeoplePolicyChangedType.description.validator) ] ReplayFileDeleteDetails._all_field_names_ = set([]) ReplayFileDeleteDetails._all_fields_ = [] ReplayFileDeleteType.description.validator = bv.String() ReplayFileDeleteType._all_field_names_ = set(["description"]) ReplayFileDeleteType._all_fields_ = [("description", ReplayFileDeleteType.description.validator)] ReplayFileDownloadedDetails._all_field_names_ = set([]) ReplayFileDownloadedDetails._all_fields_ = [] ReplayFileDownloadedType.description.validator = bv.String() ReplayFileDownloadedType._all_field_names_ = set(["description"]) ReplayFileDownloadedType._all_fields_ = [ ("description", ReplayFileDownloadedType.description.validator) ] ReplayFileSharedLinkCreatedDetails.is_watermarked.validator = bv.Nullable(bv.Boolean()) ReplayFileSharedLinkCreatedDetails.access.validator = bv.Nullable(ReplayLinkAccess_validator) ReplayFileSharedLinkCreatedDetails._all_field_names_ = set( [ "is_watermarked", "access", ] ) ReplayFileSharedLinkCreatedDetails._all_fields_ = [ ("is_watermarked", ReplayFileSharedLinkCreatedDetails.is_watermarked.validator), ("access", ReplayFileSharedLinkCreatedDetails.access.validator), ] ReplayFileSharedLinkCreatedType.description.validator = bv.String() ReplayFileSharedLinkCreatedType._all_field_names_ = set(["description"]) ReplayFileSharedLinkCreatedType._all_fields_ = [ ("description", ReplayFileSharedLinkCreatedType.description.validator) ] ReplayFileSharedLinkModifiedDetails.is_watermarked.validator = bv.Nullable(bv.Boolean()) ReplayFileSharedLinkModifiedDetails.access.validator = bv.Nullable(ReplayLinkAccess_validator) ReplayFileSharedLinkModifiedDetails._all_field_names_ = set( [ "is_watermarked", "access", ] ) ReplayFileSharedLinkModifiedDetails._all_fields_ = [ ("is_watermarked", ReplayFileSharedLinkModifiedDetails.is_watermarked.validator), ("access", ReplayFileSharedLinkModifiedDetails.access.validator), ] ReplayFileSharedLinkModifiedType.description.validator = bv.String() ReplayFileSharedLinkModifiedType._all_field_names_ = set(["description"]) ReplayFileSharedLinkModifiedType._all_fields_ = [ ("description", ReplayFileSharedLinkModifiedType.description.validator) ] ReplayLinkAccess._anyone_logged_in_validator = bv.Void() ReplayLinkAccess._no_login_required_validator = bv.Void() ReplayLinkAccess._team_and_approved_validator = bv.Void() ReplayLinkAccess._team_only_validator = bv.Void() ReplayLinkAccess._other_validator = bv.Void() ReplayLinkAccess._tagmap = { "anyone_logged_in": ReplayLinkAccess._anyone_logged_in_validator, "no_login_required": ReplayLinkAccess._no_login_required_validator, "team_and_approved": ReplayLinkAccess._team_and_approved_validator, "team_only": ReplayLinkAccess._team_only_validator, "other": ReplayLinkAccess._other_validator, } ReplayLinkAccess.anyone_logged_in = ReplayLinkAccess("anyone_logged_in") ReplayLinkAccess.no_login_required = ReplayLinkAccess("no_login_required") ReplayLinkAccess.team_and_approved = ReplayLinkAccess("team_and_approved") ReplayLinkAccess.team_only = ReplayLinkAccess("team_only") ReplayLinkAccess.other = ReplayLinkAccess("other") ReplayProjectTeamAddDetails._all_field_names_ = set([]) ReplayProjectTeamAddDetails._all_fields_ = [] ReplayProjectTeamAddType.description.validator = bv.String() ReplayProjectTeamAddType._all_field_names_ = set(["description"]) ReplayProjectTeamAddType._all_fields_ = [ ("description", ReplayProjectTeamAddType.description.validator) ] ReplayProjectTeamDeleteDetails._all_field_names_ = set([]) ReplayProjectTeamDeleteDetails._all_fields_ = [] ReplayProjectTeamDeleteType.description.validator = bv.String() ReplayProjectTeamDeleteType._all_field_names_ = set(["description"]) ReplayProjectTeamDeleteType._all_fields_ = [ ("description", ReplayProjectTeamDeleteType.description.validator) ] ReplaySharingPolicy._anyone_validator = bv.Void() ReplaySharingPolicy._team_and_allowlist_validator = bv.Void() ReplaySharingPolicy._team_only_validator = bv.Void() ReplaySharingPolicy._other_validator = bv.Void() ReplaySharingPolicy._tagmap = { "anyone": ReplaySharingPolicy._anyone_validator, "team_and_allowlist": ReplaySharingPolicy._team_and_allowlist_validator, "team_only": ReplaySharingPolicy._team_only_validator, "other": ReplaySharingPolicy._other_validator, } ReplaySharingPolicy.anyone = ReplaySharingPolicy("anyone") ReplaySharingPolicy.team_and_allowlist = ReplaySharingPolicy("team_and_allowlist") ReplaySharingPolicy.team_only = ReplaySharingPolicy("team_only") ReplaySharingPolicy.other = ReplaySharingPolicy("other") ReplaySharingPolicyChangedDetails.new_value.validator = ReplaySharingPolicy_validator ReplaySharingPolicyChangedDetails.previous_value.validator = ReplaySharingPolicy_validator ReplaySharingPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) ReplaySharingPolicyChangedDetails._all_fields_ = [ ("new_value", ReplaySharingPolicyChangedDetails.new_value.validator), ("previous_value", ReplaySharingPolicyChangedDetails.previous_value.validator), ] ReplaySharingPolicyChangedType.description.validator = bv.String() ReplaySharingPolicyChangedType._all_field_names_ = set(["description"]) ReplaySharingPolicyChangedType._all_fields_ = [ ("description", ReplaySharingPolicyChangedType.description.validator) ] ReplayTeamProjectCreatedDetails.name.validator = bv.String() ReplayTeamProjectCreatedDetails._all_field_names_ = set(["name"]) ReplayTeamProjectCreatedDetails._all_fields_ = [ ("name", ReplayTeamProjectCreatedDetails.name.validator) ] ReplayTeamProjectCreatedType.description.validator = bv.String() ReplayTeamProjectCreatedType._all_field_names_ = set(["description"]) ReplayTeamProjectCreatedType._all_fields_ = [ ("description", ReplayTeamProjectCreatedType.description.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), ] ResellerRole._not_reseller_validator = bv.Void() ResellerRole._reseller_admin_validator = bv.Void() ResellerRole._other_validator = bv.Void() ResellerRole._tagmap = { "not_reseller": ResellerRole._not_reseller_validator, "reseller_admin": ResellerRole._reseller_admin_validator, "other": ResellerRole._other_validator, } ResellerRole.not_reseller = ResellerRole("not_reseller") ResellerRole.reseller_admin = ResellerRole("reseller_admin") ResellerRole.other = ResellerRole("other") 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) ] RewindFolderDetails.rewind_folder_target_ts_ms.validator = common.DropboxTimestamp_validator RewindFolderDetails._all_field_names_ = set(["rewind_folder_target_ts_ms"]) RewindFolderDetails._all_fields_ = [ ( "rewind_folder_target_ts_ms", RewindFolderDetails.rewind_folder_target_ts_ms.validator, ) ] RewindFolderType.description.validator = bv.String() RewindFolderType._all_field_names_ = set(["description"]) RewindFolderType._all_fields_ = [("description", RewindFolderType.description.validator)] RewindPolicy._admins_only_validator = bv.Void() RewindPolicy._everyone_validator = bv.Void() RewindPolicy._other_validator = bv.Void() RewindPolicy._tagmap = { "admins_only": RewindPolicy._admins_only_validator, "everyone": RewindPolicy._everyone_validator, "other": RewindPolicy._other_validator, } RewindPolicy.admins_only = RewindPolicy("admins_only") RewindPolicy.everyone = RewindPolicy("everyone") RewindPolicy.other = RewindPolicy("other") RewindPolicyChangedDetails.new_value.validator = RewindPolicy_validator RewindPolicyChangedDetails.previous_value.validator = RewindPolicy_validator RewindPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) RewindPolicyChangedDetails._all_fields_ = [ ("new_value", RewindPolicyChangedDetails.new_value.validator), ("previous_value", RewindPolicyChangedDetails.previous_value.validator), ] RewindPolicyChangedType.description.validator = bv.String() RewindPolicyChangedType._all_field_names_ = set(["description"]) RewindPolicyChangedType._all_fields_ = [ ("description", RewindPolicyChangedType.description.validator) ] RiscSecurityEventDetails.event_type.validator = bv.String() RiscSecurityEventDetails.reason.validator = bv.String() RiscSecurityEventDetails.issuer.validator = bv.String() RiscSecurityEventDetails._all_field_names_ = set( [ "event_type", "reason", "issuer", ] ) RiscSecurityEventDetails._all_fields_ = [ ("event_type", RiscSecurityEventDetails.event_type.validator), ("reason", RiscSecurityEventDetails.reason.validator), ("issuer", RiscSecurityEventDetails.issuer.validator), ] RiscSecurityEventType.description.validator = bv.String() RiscSecurityEventType._all_field_names_ = set(["description"]) RiscSecurityEventType._all_fields_ = [("description", RiscSecurityEventType.description.validator)] SecondaryEmailDeletedDetails.secondary_email.validator = EmailAddress_validator SecondaryEmailDeletedDetails._all_field_names_ = set(["secondary_email"]) SecondaryEmailDeletedDetails._all_fields_ = [ ("secondary_email", SecondaryEmailDeletedDetails.secondary_email.validator) ] SecondaryEmailDeletedType.description.validator = bv.String() SecondaryEmailDeletedType._all_field_names_ = set(["description"]) SecondaryEmailDeletedType._all_fields_ = [ ("description", SecondaryEmailDeletedType.description.validator) ] SecondaryEmailVerifiedDetails.secondary_email.validator = EmailAddress_validator SecondaryEmailVerifiedDetails._all_field_names_ = set(["secondary_email"]) SecondaryEmailVerifiedDetails._all_fields_ = [ ("secondary_email", SecondaryEmailVerifiedDetails.secondary_email.validator) ] SecondaryEmailVerifiedType.description.validator = bv.String() SecondaryEmailVerifiedType._all_field_names_ = set(["description"]) SecondaryEmailVerifiedType._all_fields_ = [ ("description", SecondaryEmailVerifiedType.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) ] SendAndTrackFileAddedDetails._all_field_names_ = set([]) SendAndTrackFileAddedDetails._all_fields_ = [] SendAndTrackFileAddedType.description.validator = bv.String() SendAndTrackFileAddedType._all_field_names_ = set(["description"]) SendAndTrackFileAddedType._all_fields_ = [ ("description", SendAndTrackFileAddedType.description.validator) ] SendAndTrackFileRenamedDetails.previous_value.validator = bv.Nullable(bv.String()) SendAndTrackFileRenamedDetails._all_field_names_ = set(["previous_value"]) SendAndTrackFileRenamedDetails._all_fields_ = [ ("previous_value", SendAndTrackFileRenamedDetails.previous_value.validator) ] SendAndTrackFileRenamedType.description.validator = bv.String() SendAndTrackFileRenamedType._all_field_names_ = set(["description"]) SendAndTrackFileRenamedType._all_fields_ = [ ("description", SendAndTrackFileRenamedType.description.validator) ] SendAndTrackFileUpdatedDetails._all_field_names_ = set([]) SendAndTrackFileUpdatedDetails._all_fields_ = [] SendAndTrackFileUpdatedType.description.validator = bv.String() SendAndTrackFileUpdatedType._all_field_names_ = set(["description"]) SendAndTrackFileUpdatedType._all_fields_ = [ ("description", SendAndTrackFileUpdatedType.description.validator) ] SendAndTrackLinkCreatedDetails.link_settings.validator = LinkSettingsLogInfo_validator SendAndTrackLinkCreatedDetails._all_field_names_ = set(["link_settings"]) SendAndTrackLinkCreatedDetails._all_fields_ = [ ("link_settings", SendAndTrackLinkCreatedDetails.link_settings.validator) ] SendAndTrackLinkCreatedType.description.validator = bv.String() SendAndTrackLinkCreatedType._all_field_names_ = set(["description"]) SendAndTrackLinkCreatedType._all_fields_ = [ ("description", SendAndTrackLinkCreatedType.description.validator) ] SendAndTrackLinkDeletedDetails.shared_content_link.validator = bv.String() SendAndTrackLinkDeletedDetails._all_field_names_ = set(["shared_content_link"]) SendAndTrackLinkDeletedDetails._all_fields_ = [ ( "shared_content_link", SendAndTrackLinkDeletedDetails.shared_content_link.validator, ) ] SendAndTrackLinkDeletedType.description.validator = bv.String() SendAndTrackLinkDeletedType._all_field_names_ = set(["description"]) SendAndTrackLinkDeletedType._all_fields_ = [ ("description", SendAndTrackLinkDeletedType.description.validator) ] SendAndTrackLinkUpdatedDetails.link_settings.validator = LinkSettingsLogInfo_validator SendAndTrackLinkUpdatedDetails.previous_link_name.validator = bv.Nullable(bv.String()) SendAndTrackLinkUpdatedDetails._all_field_names_ = set( [ "link_settings", "previous_link_name", ] ) SendAndTrackLinkUpdatedDetails._all_fields_ = [ ("link_settings", SendAndTrackLinkUpdatedDetails.link_settings.validator), ("previous_link_name", SendAndTrackLinkUpdatedDetails.previous_link_name.validator), ] SendAndTrackLinkUpdatedType.description.validator = bv.String() SendAndTrackLinkUpdatedType._all_field_names_ = set(["description"]) SendAndTrackLinkUpdatedType._all_fields_ = [ ("description", SendAndTrackLinkUpdatedType.description.validator) ] SendAndTrackLinkViewedDetails.link_settings.validator = LinkSettingsLogInfo_validator SendAndTrackLinkViewedDetails.email_address.validator = bv.Nullable(bv.String()) SendAndTrackLinkViewedDetails.link_owner.validator = bv.Nullable(bv.String()) SendAndTrackLinkViewedDetails._all_field_names_ = set( [ "link_settings", "email_address", "link_owner", ] ) SendAndTrackLinkViewedDetails._all_fields_ = [ ("link_settings", SendAndTrackLinkViewedDetails.link_settings.validator), ("email_address", SendAndTrackLinkViewedDetails.email_address.validator), ("link_owner", SendAndTrackLinkViewedDetails.link_owner.validator), ] SendAndTrackLinkViewedType.description.validator = bv.String() SendAndTrackLinkViewedType._all_field_names_ = set(["description"]) SendAndTrackLinkViewedType._all_fields_ = [ ("description", SendAndTrackLinkViewedType.description.validator) ] SendAndTrackPolicy._default_validator = bv.Void() SendAndTrackPolicy._disabled_validator = bv.Void() SendAndTrackPolicy._enabled_validator = bv.Void() SendAndTrackPolicy._other_validator = bv.Void() SendAndTrackPolicy._tagmap = { "default": SendAndTrackPolicy._default_validator, "disabled": SendAndTrackPolicy._disabled_validator, "enabled": SendAndTrackPolicy._enabled_validator, "other": SendAndTrackPolicy._other_validator, } SendAndTrackPolicy.default = SendAndTrackPolicy("default") SendAndTrackPolicy.disabled = SendAndTrackPolicy("disabled") SendAndTrackPolicy.enabled = SendAndTrackPolicy("enabled") SendAndTrackPolicy.other = SendAndTrackPolicy("other") SendAndTrackPolicyChangedDetails.new_value.validator = SendAndTrackPolicy_validator SendAndTrackPolicyChangedDetails.previous_value.validator = SendAndTrackPolicy_validator SendAndTrackPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) SendAndTrackPolicyChangedDetails._all_fields_ = [ ("new_value", SendAndTrackPolicyChangedDetails.new_value.validator), ("previous_value", SendAndTrackPolicyChangedDetails.previous_value.validator), ] SendAndTrackPolicyChangedType.description.validator = bv.String() SendAndTrackPolicyChangedType._all_field_names_ = set(["description"]) SendAndTrackPolicyChangedType._all_fields_ = [ ("description", SendAndTrackPolicyChangedType.description.validator) ] SendAndTrackRemovedFileAndAssociatedLinksDetails._all_field_names_ = set([]) SendAndTrackRemovedFileAndAssociatedLinksDetails._all_fields_ = [] SendAndTrackRemovedFileAndAssociatedLinksType.description.validator = bv.String() SendAndTrackRemovedFileAndAssociatedLinksType._all_field_names_ = set(["description"]) SendAndTrackRemovedFileAndAssociatedLinksType._all_fields_ = [ ("description", SendAndTrackRemovedFileAndAssociatedLinksType.description.validator) ] SendExternalSharingPolicy._default_validator = bv.Void() SendExternalSharingPolicy._disabled_validator = bv.Void() SendExternalSharingPolicy._enabled_validator = bv.Void() SendExternalSharingPolicy._other_validator = bv.Void() SendExternalSharingPolicy._tagmap = { "default": SendExternalSharingPolicy._default_validator, "disabled": SendExternalSharingPolicy._disabled_validator, "enabled": SendExternalSharingPolicy._enabled_validator, "other": SendExternalSharingPolicy._other_validator, } SendExternalSharingPolicy.default = SendExternalSharingPolicy("default") SendExternalSharingPolicy.disabled = SendExternalSharingPolicy("disabled") SendExternalSharingPolicy.enabled = SendExternalSharingPolicy("enabled") SendExternalSharingPolicy.other = SendExternalSharingPolicy("other") SendExternalSharingPolicyChangedDetails.new_value.validator = SendExternalSharingPolicy_validator SendExternalSharingPolicyChangedDetails.previous_value.validator = ( SendExternalSharingPolicy_validator ) SendExternalSharingPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) SendExternalSharingPolicyChangedDetails._all_fields_ = [ ("new_value", SendExternalSharingPolicyChangedDetails.new_value.validator), ( "previous_value", SendExternalSharingPolicyChangedDetails.previous_value.validator, ), ] SendExternalSharingPolicyChangedType.description.validator = bv.String() SendExternalSharingPolicyChangedType._all_field_names_ = set(["description"]) SendExternalSharingPolicyChangedType._all_fields_ = [ ("description", SendExternalSharingPolicyChangedType.description.validator) ] SendForSignaturePolicy._disabled_validator = bv.Void() SendForSignaturePolicy._enabled_validator = bv.Void() SendForSignaturePolicy._other_validator = bv.Void() SendForSignaturePolicy._tagmap = { "disabled": SendForSignaturePolicy._disabled_validator, "enabled": SendForSignaturePolicy._enabled_validator, "other": SendForSignaturePolicy._other_validator, } SendForSignaturePolicy.disabled = SendForSignaturePolicy("disabled") SendForSignaturePolicy.enabled = SendForSignaturePolicy("enabled") SendForSignaturePolicy.other = SendForSignaturePolicy("other") SendForSignaturePolicyChangedDetails.new_value.validator = SendForSignaturePolicy_validator SendForSignaturePolicyChangedDetails.previous_value.validator = SendForSignaturePolicy_validator SendForSignaturePolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) SendForSignaturePolicyChangedDetails._all_fields_ = [ ("new_value", SendForSignaturePolicyChangedDetails.new_value.validator), ("previous_value", SendForSignaturePolicyChangedDetails.previous_value.validator), ] SendForSignaturePolicyChangedType.description.validator = bv.String() SendForSignaturePolicyChangedType._all_field_names_ = set(["description"]) SendForSignaturePolicyChangedType._all_fields_ = [ ("description", SendForSignaturePolicyChangedType.description.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) ] SharedContentRestoreInviteesDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedContentRestoreInviteesDetails.invitees.validator = bv.List(EmailAddress_validator) SharedContentRestoreInviteesDetails._all_field_names_ = set( [ "shared_content_access_level", "invitees", ] ) SharedContentRestoreInviteesDetails._all_fields_ = [ ( "shared_content_access_level", SharedContentRestoreInviteesDetails.shared_content_access_level.validator, ), ("invitees", SharedContentRestoreInviteesDetails.invitees.validator), ] SharedContentRestoreInviteesType.description.validator = bv.String() SharedContentRestoreInviteesType._all_field_names_ = set(["description"]) SharedContentRestoreInviteesType._all_fields_ = [ ("description", SharedContentRestoreInviteesType.description.validator) ] SharedContentRestoreMemberDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedContentRestoreMemberDetails._all_field_names_ = set(["shared_content_access_level"]) SharedContentRestoreMemberDetails._all_fields_ = [ ( "shared_content_access_level", SharedContentRestoreMemberDetails.shared_content_access_level.validator, ) ] SharedContentRestoreMemberType.description.validator = bv.String() SharedContentRestoreMemberType._all_field_names_ = set(["description"]) SharedContentRestoreMemberType._all_fields_ = [ ("description", SharedContentRestoreMemberType.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._dont_inherit_members_validator = bv.Void() SharedFolderMembersInheritancePolicy._inherit_members_validator = bv.Void() SharedFolderMembersInheritancePolicy._other_validator = bv.Void() SharedFolderMembersInheritancePolicy._tagmap = { "dont_inherit_members": SharedFolderMembersInheritancePolicy._dont_inherit_members_validator, "inherit_members": SharedFolderMembersInheritancePolicy._inherit_members_validator, "other": SharedFolderMembersInheritancePolicy._other_validator, } SharedFolderMembersInheritancePolicy.dont_inherit_members = SharedFolderMembersInheritancePolicy( "dont_inherit_members" ) SharedFolderMembersInheritancePolicy.inherit_members = SharedFolderMembersInheritancePolicy( "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) ] SharedFoldersCreateReportDetails._all_field_names_ = set([]) SharedFoldersCreateReportDetails._all_fields_ = [] SharedFoldersCreateReportFailedDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) SharedFoldersCreateReportFailedDetails._all_field_names_ = set(["failure_reason"]) SharedFoldersCreateReportFailedDetails._all_fields_ = [ ("failure_reason", SharedFoldersCreateReportFailedDetails.failure_reason.validator) ] SharedFoldersCreateReportFailedType.description.validator = bv.String() SharedFoldersCreateReportFailedType._all_field_names_ = set(["description"]) SharedFoldersCreateReportFailedType._all_fields_ = [ ("description", SharedFoldersCreateReportFailedType.description.validator) ] SharedFoldersCreateReportType.description.validator = bv.String() SharedFoldersCreateReportType._all_field_names_ = set(["description"]) SharedFoldersCreateReportType._all_fields_ = [ ("description", SharedFoldersCreateReportType.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.is_consolidation_action.validator = bv.Nullable(bv.Boolean()) SharedLinkAddExpiryDetails._all_field_names_ = set( [ "new_value", "is_consolidation_action", ] ) SharedLinkAddExpiryDetails._all_fields_ = [ ("new_value", SharedLinkAddExpiryDetails.new_value.validator), ( "is_consolidation_action", SharedLinkAddExpiryDetails.is_consolidation_action.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.is_consolidation_action.validator = bv.Nullable(bv.Boolean()) SharedLinkChangeExpiryDetails._all_field_names_ = set( [ "new_value", "previous_value", "is_consolidation_action", ] ) SharedLinkChangeExpiryDetails._all_fields_ = [ ("new_value", SharedLinkChangeExpiryDetails.new_value.validator), ("previous_value", SharedLinkChangeExpiryDetails.previous_value.validator), ( "is_consolidation_action", SharedLinkChangeExpiryDetails.is_consolidation_action.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.is_consolidation_action.validator = bv.Nullable(bv.Boolean()) SharedLinkChangeVisibilityDetails._all_field_names_ = set( [ "new_value", "previous_value", "is_consolidation_action", ] ) SharedLinkChangeVisibilityDetails._all_fields_ = [ ("new_value", SharedLinkChangeVisibilityDetails.new_value.validator), ("previous_value", SharedLinkChangeVisibilityDetails.previous_value.validator), ( "is_consolidation_action", SharedLinkChangeVisibilityDetails.is_consolidation_action.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)] SharedLinkDefaultPermissionsPolicy._default_validator = bv.Void() SharedLinkDefaultPermissionsPolicy._edit_validator = bv.Void() SharedLinkDefaultPermissionsPolicy._view_validator = bv.Void() SharedLinkDefaultPermissionsPolicy._other_validator = bv.Void() SharedLinkDefaultPermissionsPolicy._tagmap = { "default": SharedLinkDefaultPermissionsPolicy._default_validator, "edit": SharedLinkDefaultPermissionsPolicy._edit_validator, "view": SharedLinkDefaultPermissionsPolicy._view_validator, "other": SharedLinkDefaultPermissionsPolicy._other_validator, } SharedLinkDefaultPermissionsPolicy.default = SharedLinkDefaultPermissionsPolicy("default") SharedLinkDefaultPermissionsPolicy.edit = SharedLinkDefaultPermissionsPolicy("edit") SharedLinkDefaultPermissionsPolicy.view = SharedLinkDefaultPermissionsPolicy("view") SharedLinkDefaultPermissionsPolicy.other = SharedLinkDefaultPermissionsPolicy("other") SharedLinkDefaultPermissionsPolicyChangedDetails.new_value.validator = ( SharedLinkDefaultPermissionsPolicy_validator ) SharedLinkDefaultPermissionsPolicyChangedDetails.previous_value.validator = ( SharedLinkDefaultPermissionsPolicy_validator ) SharedLinkDefaultPermissionsPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) SharedLinkDefaultPermissionsPolicyChangedDetails._all_fields_ = [ ("new_value", SharedLinkDefaultPermissionsPolicyChangedDetails.new_value.validator), ( "previous_value", SharedLinkDefaultPermissionsPolicyChangedDetails.previous_value.validator, ), ] SharedLinkDefaultPermissionsPolicyChangedType.description.validator = bv.String() SharedLinkDefaultPermissionsPolicyChangedType._all_field_names_ = set(["description"]) SharedLinkDefaultPermissionsPolicyChangedType._all_fields_ = [ ("description", SharedLinkDefaultPermissionsPolicyChangedType.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) ] SharedLinkRemoveVisitorDetails._all_field_names_ = set([]) SharedLinkRemoveVisitorDetails._all_fields_ = [] SharedLinkRemoveVisitorType.description.validator = bv.String() SharedLinkRemoveVisitorType._all_field_names_ = set(["description"]) SharedLinkRemoveVisitorType._all_fields_ = [ ("description", SharedLinkRemoveVisitorType.description.validator) ] SharedLinkSettingsAddExpirationDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedLinkSettingsAddExpirationDetails.shared_content_link.validator = bv.Nullable(bv.String()) SharedLinkSettingsAddExpirationDetails.new_value.validator = bv.Nullable( common.DropboxTimestamp_validator ) SharedLinkSettingsAddExpirationDetails._all_field_names_ = set( [ "shared_content_access_level", "shared_content_link", "new_value", ] ) SharedLinkSettingsAddExpirationDetails._all_fields_ = [ ( "shared_content_access_level", SharedLinkSettingsAddExpirationDetails.shared_content_access_level.validator, ), ( "shared_content_link", SharedLinkSettingsAddExpirationDetails.shared_content_link.validator, ), ("new_value", SharedLinkSettingsAddExpirationDetails.new_value.validator), ] SharedLinkSettingsAddExpirationType.description.validator = bv.String() SharedLinkSettingsAddExpirationType._all_field_names_ = set(["description"]) SharedLinkSettingsAddExpirationType._all_fields_ = [ ("description", SharedLinkSettingsAddExpirationType.description.validator) ] SharedLinkSettingsAddPasswordDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedLinkSettingsAddPasswordDetails.shared_content_link.validator = bv.Nullable(bv.String()) SharedLinkSettingsAddPasswordDetails._all_field_names_ = set( [ "shared_content_access_level", "shared_content_link", ] ) SharedLinkSettingsAddPasswordDetails._all_fields_ = [ ( "shared_content_access_level", SharedLinkSettingsAddPasswordDetails.shared_content_access_level.validator, ), ( "shared_content_link", SharedLinkSettingsAddPasswordDetails.shared_content_link.validator, ), ] SharedLinkSettingsAddPasswordType.description.validator = bv.String() SharedLinkSettingsAddPasswordType._all_field_names_ = set(["description"]) SharedLinkSettingsAddPasswordType._all_fields_ = [ ("description", SharedLinkSettingsAddPasswordType.description.validator) ] SharedLinkSettingsAllowDownloadDisabledDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedLinkSettingsAllowDownloadDisabledDetails.shared_content_link.validator = bv.Nullable( bv.String() ) SharedLinkSettingsAllowDownloadDisabledDetails._all_field_names_ = set( [ "shared_content_access_level", "shared_content_link", ] ) SharedLinkSettingsAllowDownloadDisabledDetails._all_fields_ = [ ( "shared_content_access_level", SharedLinkSettingsAllowDownloadDisabledDetails.shared_content_access_level.validator, ), ( "shared_content_link", SharedLinkSettingsAllowDownloadDisabledDetails.shared_content_link.validator, ), ] SharedLinkSettingsAllowDownloadDisabledType.description.validator = bv.String() SharedLinkSettingsAllowDownloadDisabledType._all_field_names_ = set(["description"]) SharedLinkSettingsAllowDownloadDisabledType._all_fields_ = [ ("description", SharedLinkSettingsAllowDownloadDisabledType.description.validator) ] SharedLinkSettingsAllowDownloadEnabledDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedLinkSettingsAllowDownloadEnabledDetails.shared_content_link.validator = bv.Nullable( bv.String() ) SharedLinkSettingsAllowDownloadEnabledDetails._all_field_names_ = set( [ "shared_content_access_level", "shared_content_link", ] ) SharedLinkSettingsAllowDownloadEnabledDetails._all_fields_ = [ ( "shared_content_access_level", SharedLinkSettingsAllowDownloadEnabledDetails.shared_content_access_level.validator, ), ( "shared_content_link", SharedLinkSettingsAllowDownloadEnabledDetails.shared_content_link.validator, ), ] SharedLinkSettingsAllowDownloadEnabledType.description.validator = bv.String() SharedLinkSettingsAllowDownloadEnabledType._all_field_names_ = set(["description"]) SharedLinkSettingsAllowDownloadEnabledType._all_fields_ = [ ("description", SharedLinkSettingsAllowDownloadEnabledType.description.validator) ] SharedLinkSettingsChangeAudienceDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedLinkSettingsChangeAudienceDetails.shared_content_link.validator = bv.Nullable(bv.String()) SharedLinkSettingsChangeAudienceDetails.new_value.validator = sharing.LinkAudience_validator SharedLinkSettingsChangeAudienceDetails.previous_value.validator = bv.Nullable( sharing.LinkAudience_validator ) SharedLinkSettingsChangeAudienceDetails._all_field_names_ = set( [ "shared_content_access_level", "shared_content_link", "new_value", "previous_value", ] ) SharedLinkSettingsChangeAudienceDetails._all_fields_ = [ ( "shared_content_access_level", SharedLinkSettingsChangeAudienceDetails.shared_content_access_level.validator, ), ( "shared_content_link", SharedLinkSettingsChangeAudienceDetails.shared_content_link.validator, ), ("new_value", SharedLinkSettingsChangeAudienceDetails.new_value.validator), ( "previous_value", SharedLinkSettingsChangeAudienceDetails.previous_value.validator, ), ] SharedLinkSettingsChangeAudienceType.description.validator = bv.String() SharedLinkSettingsChangeAudienceType._all_field_names_ = set(["description"]) SharedLinkSettingsChangeAudienceType._all_fields_ = [ ("description", SharedLinkSettingsChangeAudienceType.description.validator) ] SharedLinkSettingsChangeExpirationDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedLinkSettingsChangeExpirationDetails.shared_content_link.validator = bv.Nullable(bv.String()) SharedLinkSettingsChangeExpirationDetails.new_value.validator = bv.Nullable( common.DropboxTimestamp_validator ) SharedLinkSettingsChangeExpirationDetails.previous_value.validator = bv.Nullable( common.DropboxTimestamp_validator ) SharedLinkSettingsChangeExpirationDetails._all_field_names_ = set( [ "shared_content_access_level", "shared_content_link", "new_value", "previous_value", ] ) SharedLinkSettingsChangeExpirationDetails._all_fields_ = [ ( "shared_content_access_level", SharedLinkSettingsChangeExpirationDetails.shared_content_access_level.validator, ), ( "shared_content_link", SharedLinkSettingsChangeExpirationDetails.shared_content_link.validator, ), ("new_value", SharedLinkSettingsChangeExpirationDetails.new_value.validator), ( "previous_value", SharedLinkSettingsChangeExpirationDetails.previous_value.validator, ), ] SharedLinkSettingsChangeExpirationType.description.validator = bv.String() SharedLinkSettingsChangeExpirationType._all_field_names_ = set(["description"]) SharedLinkSettingsChangeExpirationType._all_fields_ = [ ("description", SharedLinkSettingsChangeExpirationType.description.validator) ] SharedLinkSettingsChangePasswordDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedLinkSettingsChangePasswordDetails.shared_content_link.validator = bv.Nullable(bv.String()) SharedLinkSettingsChangePasswordDetails._all_field_names_ = set( [ "shared_content_access_level", "shared_content_link", ] ) SharedLinkSettingsChangePasswordDetails._all_fields_ = [ ( "shared_content_access_level", SharedLinkSettingsChangePasswordDetails.shared_content_access_level.validator, ), ( "shared_content_link", SharedLinkSettingsChangePasswordDetails.shared_content_link.validator, ), ] SharedLinkSettingsChangePasswordType.description.validator = bv.String() SharedLinkSettingsChangePasswordType._all_field_names_ = set(["description"]) SharedLinkSettingsChangePasswordType._all_fields_ = [ ("description", SharedLinkSettingsChangePasswordType.description.validator) ] SharedLinkSettingsRemoveExpirationDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedLinkSettingsRemoveExpirationDetails.shared_content_link.validator = bv.Nullable(bv.String()) SharedLinkSettingsRemoveExpirationDetails.previous_value.validator = bv.Nullable( common.DropboxTimestamp_validator ) SharedLinkSettingsRemoveExpirationDetails._all_field_names_ = set( [ "shared_content_access_level", "shared_content_link", "previous_value", ] ) SharedLinkSettingsRemoveExpirationDetails._all_fields_ = [ ( "shared_content_access_level", SharedLinkSettingsRemoveExpirationDetails.shared_content_access_level.validator, ), ( "shared_content_link", SharedLinkSettingsRemoveExpirationDetails.shared_content_link.validator, ), ( "previous_value", SharedLinkSettingsRemoveExpirationDetails.previous_value.validator, ), ] SharedLinkSettingsRemoveExpirationType.description.validator = bv.String() SharedLinkSettingsRemoveExpirationType._all_field_names_ = set(["description"]) SharedLinkSettingsRemoveExpirationType._all_fields_ = [ ("description", SharedLinkSettingsRemoveExpirationType.description.validator) ] SharedLinkSettingsRemovePasswordDetails.shared_content_access_level.validator = ( sharing.AccessLevel_validator ) SharedLinkSettingsRemovePasswordDetails.shared_content_link.validator = bv.Nullable(bv.String()) SharedLinkSettingsRemovePasswordDetails._all_field_names_ = set( [ "shared_content_access_level", "shared_content_link", ] ) SharedLinkSettingsRemovePasswordDetails._all_fields_ = [ ( "shared_content_access_level", SharedLinkSettingsRemovePasswordDetails.shared_content_access_level.validator, ), ( "shared_content_link", SharedLinkSettingsRemovePasswordDetails.shared_content_link.validator, ), ] SharedLinkSettingsRemovePasswordType.description.validator = bv.String() SharedLinkSettingsRemovePasswordType._all_field_names_ = set(["description"]) SharedLinkSettingsRemovePasswordType._all_fields_ = [ ("description", SharedLinkSettingsRemovePasswordType.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._no_one_validator = bv.Void() SharedLinkVisibility._password_validator = bv.Void() SharedLinkVisibility._public_validator = bv.Void() SharedLinkVisibility._team_only_validator = bv.Void() SharedLinkVisibility._other_validator = bv.Void() SharedLinkVisibility._tagmap = { "no_one": SharedLinkVisibility._no_one_validator, "password": SharedLinkVisibility._password_validator, "public": SharedLinkVisibility._public_validator, "team_only": SharedLinkVisibility._team_only_validator, "other": SharedLinkVisibility._other_validator, } SharedLinkVisibility.no_one = SharedLinkVisibility("no_one") 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) ] SharingChangeLinkAllowChangeExpirationPolicyDetails.new_value.validator = ( EnforceLinkPasswordPolicy_validator ) SharingChangeLinkAllowChangeExpirationPolicyDetails.previous_value.validator = bv.Nullable( EnforceLinkPasswordPolicy_validator ) SharingChangeLinkAllowChangeExpirationPolicyDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) SharingChangeLinkAllowChangeExpirationPolicyDetails._all_fields_ = [ ( "new_value", SharingChangeLinkAllowChangeExpirationPolicyDetails.new_value.validator, ), ( "previous_value", SharingChangeLinkAllowChangeExpirationPolicyDetails.previous_value.validator, ), ] SharingChangeLinkAllowChangeExpirationPolicyType.description.validator = bv.String() SharingChangeLinkAllowChangeExpirationPolicyType._all_field_names_ = set(["description"]) SharingChangeLinkAllowChangeExpirationPolicyType._all_fields_ = [ ( "description", SharingChangeLinkAllowChangeExpirationPolicyType.description.validator, ) ] SharingChangeLinkDefaultExpirationPolicyDetails.new_value.validator = ( DefaultLinkExpirationDaysPolicy_validator ) SharingChangeLinkDefaultExpirationPolicyDetails.previous_value.validator = bv.Nullable( DefaultLinkExpirationDaysPolicy_validator ) SharingChangeLinkDefaultExpirationPolicyDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) SharingChangeLinkDefaultExpirationPolicyDetails._all_fields_ = [ ("new_value", SharingChangeLinkDefaultExpirationPolicyDetails.new_value.validator), ( "previous_value", SharingChangeLinkDefaultExpirationPolicyDetails.previous_value.validator, ), ] SharingChangeLinkDefaultExpirationPolicyType.description.validator = bv.String() SharingChangeLinkDefaultExpirationPolicyType._all_field_names_ = set(["description"]) SharingChangeLinkDefaultExpirationPolicyType._all_fields_ = [ ("description", SharingChangeLinkDefaultExpirationPolicyType.description.validator) ] SharingChangeLinkEnforcePasswordPolicyDetails.new_value.validator = ( ChangeLinkExpirationPolicy_validator ) SharingChangeLinkEnforcePasswordPolicyDetails.previous_value.validator = bv.Nullable( ChangeLinkExpirationPolicy_validator ) SharingChangeLinkEnforcePasswordPolicyDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) SharingChangeLinkEnforcePasswordPolicyDetails._all_fields_ = [ ("new_value", SharingChangeLinkEnforcePasswordPolicyDetails.new_value.validator), ( "previous_value", SharingChangeLinkEnforcePasswordPolicyDetails.previous_value.validator, ), ] SharingChangeLinkEnforcePasswordPolicyType.description.validator = bv.String() SharingChangeLinkEnforcePasswordPolicyType._all_field_names_ = set(["description"]) SharingChangeLinkEnforcePasswordPolicyType._all_fields_ = [ ("description", SharingChangeLinkEnforcePasswordPolicyType.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_no_one_validator = bv.Void() 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_no_one": SharingLinkPolicy._default_no_one_validator, "default_private": SharingLinkPolicy._default_private_validator, "default_public": SharingLinkPolicy._default_public_validator, "only_private": SharingLinkPolicy._only_private_validator, "other": SharingLinkPolicy._other_validator, } SharingLinkPolicy.default_no_one = SharingLinkPolicy("default_no_one") 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._forbid_with_exclusions_validator = bv.Void() SharingMemberPolicy._other_validator = bv.Void() SharingMemberPolicy._tagmap = { "allow": SharingMemberPolicy._allow_validator, "forbid": SharingMemberPolicy._forbid_validator, "forbid_with_exclusions": SharingMemberPolicy._forbid_with_exclusions_validator, "other": SharingMemberPolicy._other_validator, } SharingMemberPolicy.allow = SharingMemberPolicy("allow") SharingMemberPolicy.forbid = SharingMemberPolicy("forbid") SharingMemberPolicy.forbid_with_exclusions = SharingMemberPolicy("forbid_with_exclusions") SharingMemberPolicy.other = SharingMemberPolicy("other") ShmodelDisableDownloadsDetails.shared_link_owner.validator = bv.Nullable(UserLogInfo_validator) ShmodelDisableDownloadsDetails._all_field_names_ = set(["shared_link_owner"]) ShmodelDisableDownloadsDetails._all_fields_ = [ ("shared_link_owner", ShmodelDisableDownloadsDetails.shared_link_owner.validator) ] ShmodelDisableDownloadsType.description.validator = bv.String() ShmodelDisableDownloadsType._all_field_names_ = set(["description"]) ShmodelDisableDownloadsType._all_fields_ = [ ("description", ShmodelDisableDownloadsType.description.validator) ] ShmodelEnableDownloadsDetails.shared_link_owner.validator = bv.Nullable(UserLogInfo_validator) ShmodelEnableDownloadsDetails._all_field_names_ = set(["shared_link_owner"]) ShmodelEnableDownloadsDetails._all_fields_ = [ ("shared_link_owner", ShmodelEnableDownloadsDetails.shared_link_owner.validator) ] ShmodelEnableDownloadsType.description.validator = bv.String() ShmodelEnableDownloadsType._all_field_names_ = set(["description"]) ShmodelEnableDownloadsType._all_fields_ = [ ("description", ShmodelEnableDownloadsType.description.validator) ] 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)] SignExternalSharingPolicy._default_validator = bv.Void() SignExternalSharingPolicy._disabled_validator = bv.Void() SignExternalSharingPolicy._enabled_validator = bv.Void() SignExternalSharingPolicy._other_validator = bv.Void() SignExternalSharingPolicy._tagmap = { "default": SignExternalSharingPolicy._default_validator, "disabled": SignExternalSharingPolicy._disabled_validator, "enabled": SignExternalSharingPolicy._enabled_validator, "other": SignExternalSharingPolicy._other_validator, } SignExternalSharingPolicy.default = SignExternalSharingPolicy("default") SignExternalSharingPolicy.disabled = SignExternalSharingPolicy("disabled") SignExternalSharingPolicy.enabled = SignExternalSharingPolicy("enabled") SignExternalSharingPolicy.other = SignExternalSharingPolicy("other") SignExternalSharingPolicyChangedDetails.new_value.validator = SignExternalSharingPolicy_validator SignExternalSharingPolicyChangedDetails.previous_value.validator = ( SignExternalSharingPolicy_validator ) SignExternalSharingPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) SignExternalSharingPolicyChangedDetails._all_fields_ = [ ("new_value", SignExternalSharingPolicyChangedDetails.new_value.validator), ( "previous_value", SignExternalSharingPolicyChangedDetails.previous_value.validator, ), ] SignExternalSharingPolicyChangedType.description.validator = bv.String() SignExternalSharingPolicyChangedType._all_field_names_ = set(["description"]) SignExternalSharingPolicyChangedType._all_fields_ = [ ("description", SignExternalSharingPolicyChangedType.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) ] SignSignatureRequestCanceledDetails.recipient.validator = bv.String() SignSignatureRequestCanceledDetails.file_name.validator = bv.String() SignSignatureRequestCanceledDetails._all_field_names_ = set( [ "recipient", "file_name", ] ) SignSignatureRequestCanceledDetails._all_fields_ = [ ("recipient", SignSignatureRequestCanceledDetails.recipient.validator), ("file_name", SignSignatureRequestCanceledDetails.file_name.validator), ] SignSignatureRequestCanceledType.description.validator = bv.String() SignSignatureRequestCanceledType._all_field_names_ = set(["description"]) SignSignatureRequestCanceledType._all_fields_ = [ ("description", SignSignatureRequestCanceledType.description.validator) ] SignSignatureRequestCompletedDetails.recipient.validator = bv.String() SignSignatureRequestCompletedDetails.file_name.validator = bv.String() SignSignatureRequestCompletedDetails._all_field_names_ = set( [ "recipient", "file_name", ] ) SignSignatureRequestCompletedDetails._all_fields_ = [ ("recipient", SignSignatureRequestCompletedDetails.recipient.validator), ("file_name", SignSignatureRequestCompletedDetails.file_name.validator), ] SignSignatureRequestCompletedType.description.validator = bv.String() SignSignatureRequestCompletedType._all_field_names_ = set(["description"]) SignSignatureRequestCompletedType._all_fields_ = [ ("description", SignSignatureRequestCompletedType.description.validator) ] SignSignatureRequestDeclinedDetails.recipient.validator = bv.String() SignSignatureRequestDeclinedDetails.file_name.validator = bv.String() SignSignatureRequestDeclinedDetails._all_field_names_ = set( [ "recipient", "file_name", ] ) SignSignatureRequestDeclinedDetails._all_fields_ = [ ("recipient", SignSignatureRequestDeclinedDetails.recipient.validator), ("file_name", SignSignatureRequestDeclinedDetails.file_name.validator), ] SignSignatureRequestDeclinedType.description.validator = bv.String() SignSignatureRequestDeclinedType._all_field_names_ = set(["description"]) SignSignatureRequestDeclinedType._all_fields_ = [ ("description", SignSignatureRequestDeclinedType.description.validator) ] SignSignatureRequestOpenedDetails.recipient.validator = bv.String() SignSignatureRequestOpenedDetails.file_name.validator = bv.String() SignSignatureRequestOpenedDetails._all_field_names_ = set( [ "recipient", "file_name", ] ) SignSignatureRequestOpenedDetails._all_fields_ = [ ("recipient", SignSignatureRequestOpenedDetails.recipient.validator), ("file_name", SignSignatureRequestOpenedDetails.file_name.validator), ] SignSignatureRequestOpenedType.description.validator = bv.String() SignSignatureRequestOpenedType._all_field_names_ = set(["description"]) SignSignatureRequestOpenedType._all_fields_ = [ ("description", SignSignatureRequestOpenedType.description.validator) ] SignSignatureRequestReminderSentDetails.recipient.validator = bv.String() SignSignatureRequestReminderSentDetails.file_name.validator = bv.String() SignSignatureRequestReminderSentDetails._all_field_names_ = set( [ "recipient", "file_name", ] ) SignSignatureRequestReminderSentDetails._all_fields_ = [ ("recipient", SignSignatureRequestReminderSentDetails.recipient.validator), ("file_name", SignSignatureRequestReminderSentDetails.file_name.validator), ] SignSignatureRequestReminderSentType.description.validator = bv.String() SignSignatureRequestReminderSentType._all_field_names_ = set(["description"]) SignSignatureRequestReminderSentType._all_fields_ = [ ("description", SignSignatureRequestReminderSentType.description.validator) ] SignSignatureRequestSentDetails.recipient.validator = bv.String() SignSignatureRequestSentDetails.file_name.validator = bv.String() SignSignatureRequestSentDetails._all_field_names_ = set( [ "recipient", "file_name", ] ) SignSignatureRequestSentDetails._all_fields_ = [ ("recipient", SignSignatureRequestSentDetails.recipient.validator), ("file_name", SignSignatureRequestSentDetails.file_name.validator), ] SignSignatureRequestSentType.description.validator = bv.String() SignSignatureRequestSentType._all_field_names_ = set(["description"]) SignSignatureRequestSentType._all_fields_ = [ ("description", SignSignatureRequestSentType.description.validator) ] SignTemplateCreatedDetails.access_level.validator = bv.String() SignTemplateCreatedDetails.file_name.validator = bv.String() SignTemplateCreatedDetails._all_field_names_ = set( [ "access_level", "file_name", ] ) SignTemplateCreatedDetails._all_fields_ = [ ("access_level", SignTemplateCreatedDetails.access_level.validator), ("file_name", SignTemplateCreatedDetails.file_name.validator), ] SignTemplateCreatedType.description.validator = bv.String() SignTemplateCreatedType._all_field_names_ = set(["description"]) SignTemplateCreatedType._all_fields_ = [ ("description", SignTemplateCreatedType.description.validator) ] SignTemplateCreationPermissionChangedDetails.new_value.validator = ( SignTemplateCreationPermissionPolicy_validator ) SignTemplateCreationPermissionChangedDetails.previous_value.validator = ( SignTemplateCreationPermissionPolicy_validator ) SignTemplateCreationPermissionChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) SignTemplateCreationPermissionChangedDetails._all_fields_ = [ ("new_value", SignTemplateCreationPermissionChangedDetails.new_value.validator), ( "previous_value", SignTemplateCreationPermissionChangedDetails.previous_value.validator, ), ] SignTemplateCreationPermissionChangedType.description.validator = bv.String() SignTemplateCreationPermissionChangedType._all_field_names_ = set(["description"]) SignTemplateCreationPermissionChangedType._all_fields_ = [ ("description", SignTemplateCreationPermissionChangedType.description.validator) ] SignTemplateCreationPermissionPolicy._disabled_validator = bv.Void() SignTemplateCreationPermissionPolicy._enabled_validator = bv.Void() SignTemplateCreationPermissionPolicy._other_validator = bv.Void() SignTemplateCreationPermissionPolicy._tagmap = { "disabled": SignTemplateCreationPermissionPolicy._disabled_validator, "enabled": SignTemplateCreationPermissionPolicy._enabled_validator, "other": SignTemplateCreationPermissionPolicy._other_validator, } SignTemplateCreationPermissionPolicy.disabled = SignTemplateCreationPermissionPolicy("disabled") SignTemplateCreationPermissionPolicy.enabled = SignTemplateCreationPermissionPolicy("enabled") SignTemplateCreationPermissionPolicy.other = SignTemplateCreationPermissionPolicy("other") SignTemplateSharedDetails.access_level.validator = bv.String() SignTemplateSharedDetails.file_name.validator = bv.String() SignTemplateSharedDetails._all_field_names_ = set( [ "access_level", "file_name", ] ) SignTemplateSharedDetails._all_fields_ = [ ("access_level", SignTemplateSharedDetails.access_level.validator), ("file_name", SignTemplateSharedDetails.file_name.validator), ] SignTemplateSharedType.description.validator = bv.String() SignTemplateSharedType._all_field_names_ = set(["description"]) SignTemplateSharedType._all_fields_ = [ ("description", SignTemplateSharedType.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)] SmarterSmartSyncPolicyChangedDetails.previous_value.validator = ( team_policies.SmarterSmartSyncPolicyState_validator ) SmarterSmartSyncPolicyChangedDetails.new_value.validator = ( team_policies.SmarterSmartSyncPolicyState_validator ) SmarterSmartSyncPolicyChangedDetails._all_field_names_ = set( [ "previous_value", "new_value", ] ) SmarterSmartSyncPolicyChangedDetails._all_fields_ = [ ("previous_value", SmarterSmartSyncPolicyChangedDetails.previous_value.validator), ("new_value", SmarterSmartSyncPolicyChangedDetails.new_value.validator), ] SmarterSmartSyncPolicyChangedType.description.validator = bv.String() SmarterSmartSyncPolicyChangedType._all_field_names_ = set(["description"]) SmarterSmartSyncPolicyChangedType._all_fields_ = [ ("description", SmarterSmartSyncPolicyChangedType.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._near_quota_validator = bv.Void() SpaceLimitsStatus._over_quota_validator = bv.Void() SpaceLimitsStatus._within_quota_validator = bv.Void() SpaceLimitsStatus._other_validator = bv.Void() SpaceLimitsStatus._tagmap = { "near_quota": SpaceLimitsStatus._near_quota_validator, "over_quota": SpaceLimitsStatus._over_quota_validator, "within_quota": SpaceLimitsStatus._within_quota_validator, "other": SpaceLimitsStatus._other_validator, } SpaceLimitsStatus.near_quota = SpaceLimitsStatus("near_quota") SpaceLimitsStatus.over_quota = SpaceLimitsStatus("over_quota") SpaceLimitsStatus.within_quota = SpaceLimitsStatus("within_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) ] StackCrossTeamAccessPolicy._allowed_validator = bv.Void() StackCrossTeamAccessPolicy._default_validator = bv.Void() StackCrossTeamAccessPolicy._disallowed_validator = bv.Void() StackCrossTeamAccessPolicy._other_validator = bv.Void() StackCrossTeamAccessPolicy._tagmap = { "allowed": StackCrossTeamAccessPolicy._allowed_validator, "default": StackCrossTeamAccessPolicy._default_validator, "disallowed": StackCrossTeamAccessPolicy._disallowed_validator, "other": StackCrossTeamAccessPolicy._other_validator, } StackCrossTeamAccessPolicy.allowed = StackCrossTeamAccessPolicy("allowed") StackCrossTeamAccessPolicy.default = StackCrossTeamAccessPolicy("default") StackCrossTeamAccessPolicy.disallowed = StackCrossTeamAccessPolicy("disallowed") StackCrossTeamAccessPolicy.other = StackCrossTeamAccessPolicy("other") StackCrossTeamAccessPolicyChangedDetails.new_value.validator = StackCrossTeamAccessPolicy_validator StackCrossTeamAccessPolicyChangedDetails.previous_value.validator = bv.Nullable( StackCrossTeamAccessPolicy_validator ) StackCrossTeamAccessPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) StackCrossTeamAccessPolicyChangedDetails._all_fields_ = [ ("new_value", StackCrossTeamAccessPolicyChangedDetails.new_value.validator), ( "previous_value", StackCrossTeamAccessPolicyChangedDetails.previous_value.validator, ), ] StackCrossTeamAccessPolicyChangedType.description.validator = bv.String() StackCrossTeamAccessPolicyChangedType._all_field_names_ = set(["description"]) StackCrossTeamAccessPolicyChangedType._all_fields_ = [ ("description", StackCrossTeamAccessPolicyChangedType.description.validator) ] StartedEnterpriseAdminSessionDetails.federation_extra_details.validator = FedExtraDetails_validator StartedEnterpriseAdminSessionDetails._all_field_names_ = set(["federation_extra_details"]) StartedEnterpriseAdminSessionDetails._all_fields_ = [ ( "federation_extra_details", StartedEnterpriseAdminSessionDetails.federation_extra_details.validator, ) ] StartedEnterpriseAdminSessionType.description.validator = bv.String() StartedEnterpriseAdminSessionType._all_field_names_ = set(["description"]) StartedEnterpriseAdminSessionType._all_fields_ = [ ("description", StartedEnterpriseAdminSessionType.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) ] TeamBrandingPolicy._disabled_validator = bv.Void() TeamBrandingPolicy._enabled_validator = bv.Void() TeamBrandingPolicy._other_validator = bv.Void() TeamBrandingPolicy._tagmap = { "disabled": TeamBrandingPolicy._disabled_validator, "enabled": TeamBrandingPolicy._enabled_validator, "other": TeamBrandingPolicy._other_validator, } TeamBrandingPolicy.disabled = TeamBrandingPolicy("disabled") TeamBrandingPolicy.enabled = TeamBrandingPolicy("enabled") TeamBrandingPolicy.other = TeamBrandingPolicy("other") TeamBrandingPolicyChangedDetails.new_value.validator = TeamBrandingPolicy_validator TeamBrandingPolicyChangedDetails.previous_value.validator = TeamBrandingPolicy_validator TeamBrandingPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) TeamBrandingPolicyChangedDetails._all_fields_ = [ ("new_value", TeamBrandingPolicyChangedDetails.new_value.validator), ("previous_value", TeamBrandingPolicyChangedDetails.previous_value.validator), ] TeamBrandingPolicyChangedType.description.validator = bv.String() TeamBrandingPolicyChangedType._all_field_names_ = set(["description"]) TeamBrandingPolicyChangedType._all_fields_ = [ ("description", TeamBrandingPolicyChangedType.description.validator) ] TeamDetails.team.validator = bv.String() TeamDetails._all_field_names_ = set(["team"]) TeamDetails._all_fields_ = [("team", TeamDetails.team.validator)] TeamEncryptionKeyActivateKeyDetails.key_management_type.validator = bv.String() TeamEncryptionKeyActivateKeyDetails._all_field_names_ = set(["key_management_type"]) TeamEncryptionKeyActivateKeyDetails._all_fields_ = [ ( "key_management_type", TeamEncryptionKeyActivateKeyDetails.key_management_type.validator, ) ] TeamEncryptionKeyActivateKeyType.description.validator = bv.String() TeamEncryptionKeyActivateKeyType._all_field_names_ = set(["description"]) TeamEncryptionKeyActivateKeyType._all_fields_ = [ ("description", TeamEncryptionKeyActivateKeyType.description.validator) ] TeamEncryptionKeyCancelKeyDeletionDetails._all_field_names_ = set([]) TeamEncryptionKeyCancelKeyDeletionDetails._all_fields_ = [] TeamEncryptionKeyCancelKeyDeletionType.description.validator = bv.String() TeamEncryptionKeyCancelKeyDeletionType._all_field_names_ = set(["description"]) TeamEncryptionKeyCancelKeyDeletionType._all_fields_ = [ ("description", TeamEncryptionKeyCancelKeyDeletionType.description.validator) ] TeamEncryptionKeyCreateKeyDetails._all_field_names_ = set([]) TeamEncryptionKeyCreateKeyDetails._all_fields_ = [] TeamEncryptionKeyCreateKeyType.description.validator = bv.String() TeamEncryptionKeyCreateKeyType._all_field_names_ = set(["description"]) TeamEncryptionKeyCreateKeyType._all_fields_ = [ ("description", TeamEncryptionKeyCreateKeyType.description.validator) ] TeamEncryptionKeyDeactivateKeyDetails._all_field_names_ = set([]) TeamEncryptionKeyDeactivateKeyDetails._all_fields_ = [] TeamEncryptionKeyDeactivateKeyType.description.validator = bv.String() TeamEncryptionKeyDeactivateKeyType._all_field_names_ = set(["description"]) TeamEncryptionKeyDeactivateKeyType._all_fields_ = [ ("description", TeamEncryptionKeyDeactivateKeyType.description.validator) ] TeamEncryptionKeyDeleteKeyDetails._all_field_names_ = set([]) TeamEncryptionKeyDeleteKeyDetails._all_fields_ = [] TeamEncryptionKeyDeleteKeyType.description.validator = bv.String() TeamEncryptionKeyDeleteKeyType._all_field_names_ = set(["description"]) TeamEncryptionKeyDeleteKeyType._all_fields_ = [ ("description", TeamEncryptionKeyDeleteKeyType.description.validator) ] TeamEncryptionKeyDisableKeyDetails._all_field_names_ = set([]) TeamEncryptionKeyDisableKeyDetails._all_fields_ = [] TeamEncryptionKeyDisableKeyType.description.validator = bv.String() TeamEncryptionKeyDisableKeyType._all_field_names_ = set(["description"]) TeamEncryptionKeyDisableKeyType._all_fields_ = [ ("description", TeamEncryptionKeyDisableKeyType.description.validator) ] TeamEncryptionKeyEnableKeyDetails._all_field_names_ = set([]) TeamEncryptionKeyEnableKeyDetails._all_fields_ = [] TeamEncryptionKeyEnableKeyType.description.validator = bv.String() TeamEncryptionKeyEnableKeyType._all_field_names_ = set(["description"]) TeamEncryptionKeyEnableKeyType._all_fields_ = [ ("description", TeamEncryptionKeyEnableKeyType.description.validator) ] TeamEncryptionKeyRotateKeyDetails._all_field_names_ = set([]) TeamEncryptionKeyRotateKeyDetails._all_fields_ = [] TeamEncryptionKeyRotateKeyType.description.validator = bv.String() TeamEncryptionKeyRotateKeyType._all_field_names_ = set(["description"]) TeamEncryptionKeyRotateKeyType._all_fields_ = [ ("description", TeamEncryptionKeyRotateKeyType.description.validator) ] TeamEncryptionKeyScheduleKeyDeletionDetails._all_field_names_ = set([]) TeamEncryptionKeyScheduleKeyDeletionDetails._all_fields_ = [] TeamEncryptionKeyScheduleKeyDeletionType.description.validator = bv.String() TeamEncryptionKeyScheduleKeyDeletionType._all_field_names_ = set(["description"]) TeamEncryptionKeyScheduleKeyDeletionType._all_fields_ = [ ("description", TeamEncryptionKeyScheduleKeyDeletionType.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) ] TeamFolderNotificationTarget._admins_validator = bv.Void() TeamFolderNotificationTarget._both_validator = bv.Void() TeamFolderNotificationTarget._editors_validator = bv.Void() TeamFolderNotificationTarget._silent_validator = bv.Void() TeamFolderNotificationTarget._other_validator = bv.Void() TeamFolderNotificationTarget._tagmap = { "admins": TeamFolderNotificationTarget._admins_validator, "both": TeamFolderNotificationTarget._both_validator, "editors": TeamFolderNotificationTarget._editors_validator, "silent": TeamFolderNotificationTarget._silent_validator, "other": TeamFolderNotificationTarget._other_validator, } TeamFolderNotificationTarget.admins = TeamFolderNotificationTarget("admins") TeamFolderNotificationTarget.both = TeamFolderNotificationTarget("both") TeamFolderNotificationTarget.editors = TeamFolderNotificationTarget("editors") TeamFolderNotificationTarget.silent = TeamFolderNotificationTarget("silent") TeamFolderNotificationTarget.other = TeamFolderNotificationTarget("other") 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)] TeamFolderSpaceCapsType._hard_validator = bv.Void() TeamFolderSpaceCapsType._off_validator = bv.Void() TeamFolderSpaceCapsType._soft_validator = bv.Void() TeamFolderSpaceCapsType._other_validator = bv.Void() TeamFolderSpaceCapsType._tagmap = { "hard": TeamFolderSpaceCapsType._hard_validator, "off": TeamFolderSpaceCapsType._off_validator, "soft": TeamFolderSpaceCapsType._soft_validator, "other": TeamFolderSpaceCapsType._other_validator, } TeamFolderSpaceCapsType.hard = TeamFolderSpaceCapsType("hard") TeamFolderSpaceCapsType.off = TeamFolderSpaceCapsType("off") TeamFolderSpaceCapsType.soft = TeamFolderSpaceCapsType("soft") TeamFolderSpaceCapsType.other = TeamFolderSpaceCapsType("other") TeamFolderSpaceLimitsChangeCapsTypeDetails.previous_caps_type.validator = bv.Nullable( TeamFolderSpaceCapsType_validator ) TeamFolderSpaceLimitsChangeCapsTypeDetails.new_caps_type.validator = ( TeamFolderSpaceCapsType_validator ) TeamFolderSpaceLimitsChangeCapsTypeDetails._all_field_names_ = set( [ "previous_caps_type", "new_caps_type", ] ) TeamFolderSpaceLimitsChangeCapsTypeDetails._all_fields_ = [ ( "previous_caps_type", TeamFolderSpaceLimitsChangeCapsTypeDetails.previous_caps_type.validator, ), ( "new_caps_type", TeamFolderSpaceLimitsChangeCapsTypeDetails.new_caps_type.validator, ), ] TeamFolderSpaceLimitsChangeCapsTypeType.description.validator = bv.String() TeamFolderSpaceLimitsChangeCapsTypeType._all_field_names_ = set(["description"]) TeamFolderSpaceLimitsChangeCapsTypeType._all_fields_ = [ ("description", TeamFolderSpaceLimitsChangeCapsTypeType.description.validator) ] TeamFolderSpaceLimitsChangeLimitDetails.previous_limit_bytes.validator = bv.Nullable(bv.Int64()) TeamFolderSpaceLimitsChangeLimitDetails.new_limit_bytes.validator = bv.Int64() TeamFolderSpaceLimitsChangeLimitDetails._all_field_names_ = set( [ "previous_limit_bytes", "new_limit_bytes", ] ) TeamFolderSpaceLimitsChangeLimitDetails._all_fields_ = [ ( "previous_limit_bytes", TeamFolderSpaceLimitsChangeLimitDetails.previous_limit_bytes.validator, ), ( "new_limit_bytes", TeamFolderSpaceLimitsChangeLimitDetails.new_limit_bytes.validator, ), ] TeamFolderSpaceLimitsChangeLimitType.description.validator = bv.String() TeamFolderSpaceLimitsChangeLimitType._all_field_names_ = set(["description"]) TeamFolderSpaceLimitsChangeLimitType._all_fields_ = [ ("description", TeamFolderSpaceLimitsChangeLimitType.description.validator) ] TeamFolderSpaceLimitsChangeNotificationTargetDetails.previous_target.validator = bv.Nullable( TeamFolderNotificationTarget_validator ) TeamFolderSpaceLimitsChangeNotificationTargetDetails.new_target.validator = ( TeamFolderNotificationTarget_validator ) TeamFolderSpaceLimitsChangeNotificationTargetDetails._all_field_names_ = set( [ "previous_target", "new_target", ] ) TeamFolderSpaceLimitsChangeNotificationTargetDetails._all_fields_ = [ ( "previous_target", TeamFolderSpaceLimitsChangeNotificationTargetDetails.previous_target.validator, ), ( "new_target", TeamFolderSpaceLimitsChangeNotificationTargetDetails.new_target.validator, ), ] TeamFolderSpaceLimitsChangeNotificationTargetType.description.validator = bv.String() TeamFolderSpaceLimitsChangeNotificationTargetType._all_field_names_ = set(["description"]) TeamFolderSpaceLimitsChangeNotificationTargetType._all_fields_ = [ ( "description", TeamFolderSpaceLimitsChangeNotificationTargetType.description.validator, ) ] TeamFoldersCreateReportDetails._all_field_names_ = set([]) TeamFoldersCreateReportDetails._all_fields_ = [] TeamFoldersCreateReportFailedDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) TeamFoldersCreateReportFailedDetails._all_field_names_ = set(["failure_reason"]) TeamFoldersCreateReportFailedDetails._all_fields_ = [ ("failure_reason", TeamFoldersCreateReportFailedDetails.failure_reason.validator) ] TeamFoldersCreateReportFailedType.description.validator = bv.String() TeamFoldersCreateReportFailedType._all_field_names_ = set(["description"]) TeamFoldersCreateReportFailedType._all_fields_ = [ ("description", TeamFoldersCreateReportFailedType.description.validator) ] TeamFoldersCreateReportType.description.validator = bv.String() TeamFoldersCreateReportType._all_field_names_ = set(["description"]) TeamFoldersCreateReportType._all_fields_ = [ ("description", TeamFoldersCreateReportType.description.validator) ] TeamInviteDetails.invite_method.validator = InviteMethod_validator TeamInviteDetails.additional_license_purchase.validator = bv.Nullable(bv.Boolean()) TeamInviteDetails._all_field_names_ = set( [ "invite_method", "additional_license_purchase", ] ) TeamInviteDetails._all_fields_ = [ ("invite_method", TeamInviteDetails.invite_method.validator), ( "additional_license_purchase", TeamInviteDetails.additional_license_purchase.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_ TeamLogInfo.display_name.validator = bv.String() TeamLogInfo._all_field_names_ = set(["display_name"]) TeamLogInfo._all_fields_ = [("display_name", TeamLogInfo.display_name.validator)] TeamMemberLogInfo.team_member_id.validator = bv.Nullable(team_common.TeamMemberId_validator) TeamMemberLogInfo.member_external_id.validator = bv.Nullable(team_common.MemberExternalId_validator) TeamMemberLogInfo.team.validator = bv.Nullable(TeamLogInfo_validator) TeamMemberLogInfo._field_names_ = set( [ "team_member_id", "member_external_id", "team", ] ) 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), ("team", TeamMemberLogInfo.team.validator), ] TeamMemberLogInfo._all_fields_ = UserLogInfo._all_fields_ + TeamMemberLogInfo._fields_ TeamMemberStorageRequestPolicy._default_validator = bv.Void() TeamMemberStorageRequestPolicy._disabled_validator = bv.Void() TeamMemberStorageRequestPolicy._enabled_validator = bv.Void() TeamMemberStorageRequestPolicy._other_validator = bv.Void() TeamMemberStorageRequestPolicy._tagmap = { "default": TeamMemberStorageRequestPolicy._default_validator, "disabled": TeamMemberStorageRequestPolicy._disabled_validator, "enabled": TeamMemberStorageRequestPolicy._enabled_validator, "other": TeamMemberStorageRequestPolicy._other_validator, } TeamMemberStorageRequestPolicy.default = TeamMemberStorageRequestPolicy("default") TeamMemberStorageRequestPolicy.disabled = TeamMemberStorageRequestPolicy("disabled") TeamMemberStorageRequestPolicy.enabled = TeamMemberStorageRequestPolicy("enabled") TeamMemberStorageRequestPolicy.other = TeamMemberStorageRequestPolicy("other") TeamMemberStorageRequestPolicyChangedDetails.new_value.validator = ( TeamMemberStorageRequestPolicy_validator ) TeamMemberStorageRequestPolicyChangedDetails.previous_value.validator = bv.Nullable( TeamMemberStorageRequestPolicy_validator ) TeamMemberStorageRequestPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) TeamMemberStorageRequestPolicyChangedDetails._all_fields_ = [ ("new_value", TeamMemberStorageRequestPolicyChangedDetails.new_value.validator), ( "previous_value", TeamMemberStorageRequestPolicyChangedDetails.previous_value.validator, ), ] TeamMemberStorageRequestPolicyChangedType.description.validator = bv.String() TeamMemberStorageRequestPolicyChangedType._all_field_names_ = set(["description"]) TeamMemberStorageRequestPolicyChangedType._all_fields_ = [ ("description", TeamMemberStorageRequestPolicyChangedType.description.validator) ] TeamMembershipType._free_validator = bv.Void() TeamMembershipType._full_validator = bv.Void() TeamMembershipType._guest_validator = bv.Void() TeamMembershipType._other_validator = bv.Void() TeamMembershipType._tagmap = { "free": TeamMembershipType._free_validator, "full": TeamMembershipType._full_validator, "guest": TeamMembershipType._guest_validator, "other": TeamMembershipType._other_validator, } TeamMembershipType.free = TeamMembershipType("free") TeamMembershipType.full = TeamMembershipType("full") TeamMembershipType.guest = TeamMembershipType("guest") 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), ] TeamProfileAddBackgroundDetails._all_field_names_ = set([]) TeamProfileAddBackgroundDetails._all_fields_ = [] TeamProfileAddBackgroundType.description.validator = bv.String() TeamProfileAddBackgroundType._all_field_names_ = set(["description"]) TeamProfileAddBackgroundType._all_fields_ = [ ("description", TeamProfileAddBackgroundType.description.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) ] TeamProfileChangeBackgroundDetails._all_field_names_ = set([]) TeamProfileChangeBackgroundDetails._all_fields_ = [] TeamProfileChangeBackgroundType.description.validator = bv.String() TeamProfileChangeBackgroundType._all_field_names_ = set(["description"]) TeamProfileChangeBackgroundType._all_fields_ = [ ("description", TeamProfileChangeBackgroundType.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) ] TeamProfileRemoveBackgroundDetails._all_field_names_ = set([]) TeamProfileRemoveBackgroundDetails._all_fields_ = [] TeamProfileRemoveBackgroundType.description.validator = bv.String() TeamProfileRemoveBackgroundType._all_field_names_ = set(["description"]) TeamProfileRemoveBackgroundType._all_fields_ = [ ("description", TeamProfileRemoveBackgroundType.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) ] TeamSharingWhitelistSubjectsChangedDetails.added_whitelist_subjects.validator = bv.List(bv.String()) TeamSharingWhitelistSubjectsChangedDetails.removed_whitelist_subjects.validator = bv.List( bv.String() ) TeamSharingWhitelistSubjectsChangedDetails._all_field_names_ = set( [ "added_whitelist_subjects", "removed_whitelist_subjects", ] ) TeamSharingWhitelistSubjectsChangedDetails._all_fields_ = [ ( "added_whitelist_subjects", TeamSharingWhitelistSubjectsChangedDetails.added_whitelist_subjects.validator, ), ( "removed_whitelist_subjects", TeamSharingWhitelistSubjectsChangedDetails.removed_whitelist_subjects.validator, ), ] TeamSharingWhitelistSubjectsChangedType.description.validator = bv.String() TeamSharingWhitelistSubjectsChangedType._all_field_names_ = set(["description"]) TeamSharingWhitelistSubjectsChangedType._all_fields_ = [ ("description", TeamSharingWhitelistSubjectsChangedType.description.validator) ] TeamStorageCreateReportDetails._all_field_names_ = set([]) TeamStorageCreateReportDetails._all_fields_ = [] TeamStorageCreateReportFailedDetails.failure_reason.validator = ( team.TeamReportFailureReason_validator ) TeamStorageCreateReportFailedDetails._all_field_names_ = set(["failure_reason"]) TeamStorageCreateReportFailedDetails._all_fields_ = [ ("failure_reason", TeamStorageCreateReportFailedDetails.failure_reason.validator) ] TeamStorageCreateReportFailedType.description.validator = bv.String() TeamStorageCreateReportFailedType._all_field_names_ = set(["description"]) TeamStorageCreateReportFailedType._all_fields_ = [ ("description", TeamStorageCreateReportFailedType.description.validator) ] TeamStorageCreateReportType.description.validator = bv.String() TeamStorageCreateReportType._all_field_names_ = set(["description"]) TeamStorageCreateReportType._all_fields_ = [ ("description", TeamStorageCreateReportType.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)] TfaAddExceptionDetails._all_field_names_ = set([]) TfaAddExceptionDetails._all_fields_ = [] TfaAddExceptionType.description.validator = bv.String() TfaAddExceptionType._all_field_names_ = set(["description"]) TfaAddExceptionType._all_fields_ = [("description", TfaAddExceptionType.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._authenticator_validator = bv.Void() TfaConfiguration._disabled_validator = bv.Void() TfaConfiguration._enabled_validator = bv.Void() TfaConfiguration._sms_validator = bv.Void() TfaConfiguration._other_validator = bv.Void() TfaConfiguration._tagmap = { "authenticator": TfaConfiguration._authenticator_validator, "disabled": TfaConfiguration._disabled_validator, "enabled": TfaConfiguration._enabled_validator, "sms": TfaConfiguration._sms_validator, "other": TfaConfiguration._other_validator, } TfaConfiguration.authenticator = TfaConfiguration("authenticator") TfaConfiguration.disabled = TfaConfiguration("disabled") TfaConfiguration.enabled = TfaConfiguration("enabled") TfaConfiguration.sms = TfaConfiguration("sms") 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) ] TfaRemoveExceptionDetails._all_field_names_ = set([]) TfaRemoveExceptionDetails._all_fields_ = [] TfaRemoveExceptionType.description.validator = bv.String() TfaRemoveExceptionType._all_field_names_ = set(["description"]) TfaRemoveExceptionType._all_fields_ = [ ("description", TfaRemoveExceptionType.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._days_validator = bv.Void() TimeUnit._hours_validator = bv.Void() TimeUnit._milliseconds_validator = bv.Void() TimeUnit._minutes_validator = bv.Void() TimeUnit._months_validator = bv.Void() TimeUnit._seconds_validator = bv.Void() TimeUnit._weeks_validator = bv.Void() TimeUnit._years_validator = bv.Void() TimeUnit._other_validator = bv.Void() TimeUnit._tagmap = { "days": TimeUnit._days_validator, "hours": TimeUnit._hours_validator, "milliseconds": TimeUnit._milliseconds_validator, "minutes": TimeUnit._minutes_validator, "months": TimeUnit._months_validator, "seconds": TimeUnit._seconds_validator, "weeks": TimeUnit._weeks_validator, "years": TimeUnit._years_validator, "other": TimeUnit._other_validator, } TimeUnit.days = TimeUnit("days") TimeUnit.hours = TimeUnit("hours") TimeUnit.milliseconds = TimeUnit("milliseconds") TimeUnit.minutes = TimeUnit("minutes") TimeUnit.months = TimeUnit("months") TimeUnit.seconds = TimeUnit("seconds") TimeUnit.weeks = TimeUnit("weeks") TimeUnit.years = TimeUnit("years") TimeUnit.other = TimeUnit("other") TopLevelContentPolicy._admins_only_validator = bv.Void() TopLevelContentPolicy._everyone_validator = bv.Void() TopLevelContentPolicy._other_validator = bv.Void() TopLevelContentPolicy._tagmap = { "admins_only": TopLevelContentPolicy._admins_only_validator, "everyone": TopLevelContentPolicy._everyone_validator, "other": TopLevelContentPolicy._other_validator, } TopLevelContentPolicy.admins_only = TopLevelContentPolicy("admins_only") TopLevelContentPolicy.everyone = TopLevelContentPolicy("everyone") TopLevelContentPolicy.other = TopLevelContentPolicy("other") TopLevelContentPolicyChangedDetails.new_value.validator = TopLevelContentPolicy_validator TopLevelContentPolicyChangedDetails.previous_value.validator = TopLevelContentPolicy_validator TopLevelContentPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) TopLevelContentPolicyChangedDetails._all_fields_ = [ ("new_value", TopLevelContentPolicyChangedDetails.new_value.validator), ("previous_value", TopLevelContentPolicyChangedDetails.previous_value.validator), ] TopLevelContentPolicyChangedType.description.validator = bv.String() TopLevelContentPolicyChangedType._all_field_names_ = set(["description"]) TopLevelContentPolicyChangedType._all_fields_ = [ ("description", TopLevelContentPolicyChangedType.description.validator) ] TrustedNonTeamMemberLogInfo.trusted_non_team_member_type.validator = ( TrustedNonTeamMemberType_validator ) TrustedNonTeamMemberLogInfo.team.validator = bv.Nullable(TeamLogInfo_validator) TrustedNonTeamMemberLogInfo._field_names_ = set( [ "trusted_non_team_member_type", "team", ] ) 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, ), ("team", TrustedNonTeamMemberLogInfo.team.validator), ] TrustedNonTeamMemberLogInfo._all_fields_ = ( UserLogInfo._all_fields_ + TrustedNonTeamMemberLogInfo._fields_ ) TrustedNonTeamMemberType._enterprise_admin_validator = bv.Void() TrustedNonTeamMemberType._multi_instance_admin_validator = bv.Void() TrustedNonTeamMemberType._other_validator = bv.Void() TrustedNonTeamMemberType._tagmap = { "enterprise_admin": TrustedNonTeamMemberType._enterprise_admin_validator, "multi_instance_admin": TrustedNonTeamMemberType._multi_instance_admin_validator, "other": TrustedNonTeamMemberType._other_validator, } TrustedNonTeamMemberType.enterprise_admin = TrustedNonTeamMemberType("enterprise_admin") TrustedNonTeamMemberType.multi_instance_admin = TrustedNonTeamMemberType("multi_instance_admin") TrustedNonTeamMemberType.other = TrustedNonTeamMemberType("other") TrustedTeamsRequestAction._accepted_validator = bv.Void() TrustedTeamsRequestAction._declined_validator = bv.Void() TrustedTeamsRequestAction._expired_validator = bv.Void() TrustedTeamsRequestAction._invited_validator = bv.Void() TrustedTeamsRequestAction._revoked_validator = bv.Void() TrustedTeamsRequestAction._other_validator = bv.Void() TrustedTeamsRequestAction._tagmap = { "accepted": TrustedTeamsRequestAction._accepted_validator, "declined": TrustedTeamsRequestAction._declined_validator, "expired": TrustedTeamsRequestAction._expired_validator, "invited": TrustedTeamsRequestAction._invited_validator, "revoked": TrustedTeamsRequestAction._revoked_validator, "other": TrustedTeamsRequestAction._other_validator, } TrustedTeamsRequestAction.accepted = TrustedTeamsRequestAction("accepted") TrustedTeamsRequestAction.declined = TrustedTeamsRequestAction("declined") TrustedTeamsRequestAction.expired = TrustedTeamsRequestAction("expired") TrustedTeamsRequestAction.invited = TrustedTeamsRequestAction("invited") TrustedTeamsRequestAction.revoked = TrustedTeamsRequestAction("revoked") 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") UndoNamingConventionDetails._all_field_names_ = set([]) UndoNamingConventionDetails._all_fields_ = [] UndoNamingConventionType.description.validator = bv.String() UndoNamingConventionType._all_field_names_ = set(["description"]) UndoNamingConventionType._all_fields_ = [ ("description", UndoNamingConventionType.description.validator) ] UndoOrganizeFolderWithTidyDetails._all_field_names_ = set([]) UndoOrganizeFolderWithTidyDetails._all_fields_ = [] UndoOrganizeFolderWithTidyType.description.validator = bv.String() UndoOrganizeFolderWithTidyType._all_field_names_ = set(["description"]) UndoOrganizeFolderWithTidyType._all_fields_ = [ ("description", UndoOrganizeFolderWithTidyType.description.validator) ] UserLinkedAppLogInfo._field_names_ = set([]) UserLinkedAppLogInfo._all_field_names_ = AppLogInfo._all_field_names_.union( UserLinkedAppLogInfo._field_names_ ) UserLinkedAppLogInfo._fields_ = [] UserLinkedAppLogInfo._all_fields_ = AppLogInfo._all_fields_ + UserLinkedAppLogInfo._fields_ UserNameLogInfo.given_name.validator = bv.String() UserNameLogInfo.surname.validator = bv.String() UserNameLogInfo.locale.validator = bv.Nullable(bv.String()) UserNameLogInfo._all_field_names_ = set( [ "given_name", "surname", "locale", ] ) UserNameLogInfo._all_fields_ = [ ("given_name", UserNameLogInfo.given_name.validator), ("surname", UserNameLogInfo.surname.validator), ("locale", UserNameLogInfo.locale.validator), ] UserOrTeamLinkedAppLogInfo._field_names_ = set([]) UserOrTeamLinkedAppLogInfo._all_field_names_ = AppLogInfo._all_field_names_.union( UserOrTeamLinkedAppLogInfo._field_names_ ) UserOrTeamLinkedAppLogInfo._fields_ = [] UserOrTeamLinkedAppLogInfo._all_fields_ = ( AppLogInfo._all_fields_ + UserOrTeamLinkedAppLogInfo._fields_ ) UserTagsAddedDetails.values.validator = bv.List(bv.String()) UserTagsAddedDetails._all_field_names_ = set(["values"]) UserTagsAddedDetails._all_fields_ = [("values", UserTagsAddedDetails.values.validator)] UserTagsAddedType.description.validator = bv.String() UserTagsAddedType._all_field_names_ = set(["description"]) UserTagsAddedType._all_fields_ = [("description", UserTagsAddedType.description.validator)] UserTagsRemovedDetails.values.validator = bv.List(bv.String()) UserTagsRemovedDetails._all_field_names_ = set(["values"]) UserTagsRemovedDetails._all_fields_ = [("values", UserTagsRemovedDetails.values.validator)] UserTagsRemovedType.description.validator = bv.String() UserTagsRemovedType._all_field_names_ = set(["description"]) UserTagsRemovedType._all_fields_ = [("description", UserTagsRemovedType.description.validator)] 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) ] WatermarkingPolicy._disabled_validator = bv.Void() WatermarkingPolicy._enabled_validator = bv.Void() WatermarkingPolicy._other_validator = bv.Void() WatermarkingPolicy._tagmap = { "disabled": WatermarkingPolicy._disabled_validator, "enabled": WatermarkingPolicy._enabled_validator, "other": WatermarkingPolicy._other_validator, } WatermarkingPolicy.disabled = WatermarkingPolicy("disabled") WatermarkingPolicy.enabled = WatermarkingPolicy("enabled") WatermarkingPolicy.other = WatermarkingPolicy("other") WatermarkingPolicyChangedDetails.new_value.validator = WatermarkingPolicy_validator WatermarkingPolicyChangedDetails.previous_value.validator = WatermarkingPolicy_validator WatermarkingPolicyChangedDetails._all_field_names_ = set( [ "new_value", "previous_value", ] ) WatermarkingPolicyChangedDetails._all_fields_ = [ ("new_value", WatermarkingPolicyChangedDetails.new_value.validator), ("previous_value", WatermarkingPolicyChangedDetails.previous_value.validator), ] WatermarkingPolicyChangedType.description.validator = bv.String() WatermarkingPolicyChangedType._all_field_names_ = set(["description"]) WatermarkingPolicyChangedType._all_fields_ = [ ("description", WatermarkingPolicyChangedType.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_ WebSessionsChangeActiveSessionLimitDetails.previous_value.validator = bv.String() WebSessionsChangeActiveSessionLimitDetails.new_value.validator = bv.String() WebSessionsChangeActiveSessionLimitDetails._all_field_names_ = set( [ "previous_value", "new_value", ] ) WebSessionsChangeActiveSessionLimitDetails._all_fields_ = [ ( "previous_value", WebSessionsChangeActiveSessionLimitDetails.previous_value.validator, ), ("new_value", WebSessionsChangeActiveSessionLimitDetails.new_value.validator), ] WebSessionsChangeActiveSessionLimitType.description.validator = bv.String() WebSessionsChangeActiveSessionLimitType._all_field_names_ = set(["description"]) WebSessionsChangeActiveSessionLimitType._all_fields_ = [ ("description", WebSessionsChangeActiveSessionLimitType.description.validator) ] 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") GetTeamEventsArg.limit.default = 1000 get_events = bb.Route( "get_events", 1, False, GetTeamEventsArg_validator, GetTeamEventsResult_validator, GetTeamEventsError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) get_events_continue = bb.Route( "get_events/continue", 1, False, GetTeamEventsContinueArg_validator, GetTeamEventsResult_validator, GetTeamEventsContinueError_validator, {"auth": "team", "host": "api", "style": "rpc"}, ) ROUTES = { "get_events": get_events, "get_events/continue": get_events_continue, } dropbox-dropbox-sdk-python-6064f79/dropbox/team_policies.py000066400000000000000000002576311522735175000241200ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. # @generated # flake8: noqa # pylint: skip-file from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv 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 CameraUploadsPolicyState.disabled: Background camera uploads are disabled. :ivar 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 ) CameraUploadsPolicyState_validator = bv.Union(CameraUploadsPolicyState) class ComputerBackupPolicyState(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar ComputerBackupPolicyState.disabled: Computer Backup feature is disabled. :ivar ComputerBackupPolicyState.enabled: Computer Backup feature is enabled. :ivar ComputerBackupPolicyState.default: Computer Backup defaults to ON for SSB teams, and OFF for Enterprise teams. """ _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 default = 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(ComputerBackupPolicyState, self)._process_custom_annotations( annotation_type, field_path, processor ) ComputerBackupPolicyState_validator = bv.Union(ComputerBackupPolicyState) class DefaultLinkExpirationDaysPolicy(bb.Union): """ Policy governing default expiration date for new links shared outside 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. :ivar DefaultLinkExpirationDaysPolicy.none: New links shared outside the team default to no expiration date. :ivar DefaultLinkExpirationDaysPolicy.day_1: New links shared outside the team default to expire in one day. :ivar DefaultLinkExpirationDaysPolicy.day_3: New links shared outside the team default to expire in three days. :ivar DefaultLinkExpirationDaysPolicy.day_7: New links shared outside the team default to expire in seven days. :ivar DefaultLinkExpirationDaysPolicy.day_30: New links shared outside the team default to expire in 30 days. :ivar DefaultLinkExpirationDaysPolicy.day_90: New links shared outside the team default to expire in 90 days. :ivar DefaultLinkExpirationDaysPolicy.day_180: New links shared outside the team default to expire in 180 days. :ivar DefaultLinkExpirationDaysPolicy.year_1: New links shared outside the team default to expire in 365 days. """ _catch_all = "other" # Attribute is overwritten below the class definition none = None # Attribute is overwritten below the class definition day_1 = None # Attribute is overwritten below the class definition day_3 = None # Attribute is overwritten below the class definition day_7 = None # Attribute is overwritten below the class definition day_30 = None # Attribute is overwritten below the class definition day_90 = None # Attribute is overwritten below the class definition day_180 = None # Attribute is overwritten below the class definition year_1 = 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_day_1(self): """ Check if the union tag is ``day_1``. :rtype: bool """ return self._tag == "day_1" def is_day_3(self): """ Check if the union tag is ``day_3``. :rtype: bool """ return self._tag == "day_3" def is_day_7(self): """ Check if the union tag is ``day_7``. :rtype: bool """ return self._tag == "day_7" def is_day_30(self): """ Check if the union tag is ``day_30``. :rtype: bool """ return self._tag == "day_30" def is_day_90(self): """ Check if the union tag is ``day_90``. :rtype: bool """ return self._tag == "day_90" def is_day_180(self): """ Check if the union tag is ``day_180``. :rtype: bool """ return self._tag == "day_180" def is_year_1(self): """ Check if the union tag is ``year_1``. :rtype: bool """ return self._tag == "year_1" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def _process_custom_annotations(self, annotation_type, field_path, processor): super(DefaultLinkExpirationDaysPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) DefaultLinkExpirationDaysPolicy_validator = bv.Union(DefaultLinkExpirationDaysPolicy) 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 EmmState.disabled: Emm token is disabled. :ivar EmmState.optional: Emm token is optional. :ivar 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) EmmState_validator = bv.Union(EmmState) class EnforceLinkPasswordPolicy(bb.Union): """ Policy governing whether new links shared outside the team require passwords. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar EnforceLinkPasswordPolicy.optional: New links shared outside the team do not require passwords. :ivar EnforceLinkPasswordPolicy.required: New links shared outside the team require passwords. """ _catch_all = "other" # 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_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(EnforceLinkPasswordPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) EnforceLinkPasswordPolicy_validator = bv.Union(EnforceLinkPasswordPolicy) class ExternalDriveBackupPolicyState(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar ExternalDriveBackupPolicyState.disabled: External Drive Backup feature is disabled. :ivar ExternalDriveBackupPolicyState.enabled: External Drive Backup feature is enabled. :ivar ExternalDriveBackupPolicyState.default: External Drive Backup default value based on team tier. """ _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 default = 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" 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(ExternalDriveBackupPolicyState, self)._process_custom_annotations( annotation_type, field_path, processor ) ExternalDriveBackupPolicyState_validator = bv.Union(ExternalDriveBackupPolicyState) class FileLockingPolicyState(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar FileLockingPolicyState.disabled: File locking feature is disabled. :ivar FileLockingPolicyState.enabled: File locking feature is 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(FileLockingPolicyState, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLockingPolicyState_validator = bv.Union(FileLockingPolicyState) class FileProviderMigrationPolicyState(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar FileProviderMigrationPolicyState.disabled: Team admin has opted out of File Provider Migration for team members. :ivar FileProviderMigrationPolicyState.enabled: Team admin has not opted out of File Provider Migration for team members. :ivar FileProviderMigrationPolicyState.default: Team admin has default value based on team tier. :ivar FileProviderMigrationPolicyState.immediate: Team admin has chosen to do File Provider Migration immediately for 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 default = None # Attribute is overwritten below the class definition immediate = 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_default(self): """ Check if the union tag is ``default``. :rtype: bool """ return self._tag == "default" def is_immediate(self): """ Check if the union tag is ``immediate``. :rtype: bool """ return self._tag == "immediate" 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(FileProviderMigrationPolicyState, self)._process_custom_annotations( annotation_type, field_path, processor ) FileProviderMigrationPolicyState_validator = bv.Union(FileProviderMigrationPolicyState) 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 GroupCreation.admins_and_members: Team admins and members can create groups. :ivar 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 ) 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 OfficeAddInPolicy.disabled: Office Add-In is disabled. :ivar 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 ) 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 PaperDefaultFolderPolicy.everyone_in_team: Everyone in team will be the default option when creating a folder in Paper. :ivar 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 ) 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 PaperDeploymentPolicy.full: All team members have access to Paper. :ivar 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 ) 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 PaperDesktopPolicy.disabled: Do not allow team members to use Paper Desktop. :ivar 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 ) 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 PaperEnabledPolicy.disabled: Paper is disabled. :ivar PaperEnabledPolicy.enabled: Paper is enabled. :ivar 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 ) PaperEnabledPolicy_validator = bv.Union(PaperEnabledPolicy) class PasswordControlMode(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar PasswordControlMode.disabled: Password is disabled. :ivar PasswordControlMode.enabled: Password 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(PasswordControlMode, self)._process_custom_annotations( annotation_type, field_path, processor ) PasswordControlMode_validator = bv.Union(PasswordControlMode) 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 PasswordStrengthPolicy.minimal_requirements: User passwords will not adhere to a password strength policy. :ivar PasswordStrengthPolicy.moderate_password: User passwords will adhere to the strong password strength policy. Note that product surfaces refer to this as the strong policy but the value must be kept as is for backwards compatability. :ivar PasswordStrengthPolicy.strong_password: User passwords will adhere to the very strong password strength policy. Note that product surfaces refer to this as the very strong policy but the value must be kept as is for backwards compatability. """ _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 ) 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 RolloutMethod.unlink_all: Unlink all. :ivar RolloutMethod.unlink_most_inactive: Unlink devices with the most inactivity. :ivar 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 ) RolloutMethod_validator = bv.Union(RolloutMethod) class SharedFolderBlanketLinkRestrictionPolicy(bb.Union): """ Policy governing whether shared folder membership is required to access 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 SharedFolderBlanketLinkRestrictionPolicy.members: Only members of shared folders can access folder content via shared link. :ivar SharedFolderBlanketLinkRestrictionPolicy.anyone: Anyone can access folder content via shared link. """ _catch_all = "other" # Attribute is overwritten below the class definition members = None # Attribute is overwritten below the class definition anyone = None # Attribute is overwritten below the class definition other = None def is_members(self): """ Check if the union tag is ``members``. :rtype: bool """ return self._tag == "members" 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(SharedFolderBlanketLinkRestrictionPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedFolderBlanketLinkRestrictionPolicy_validator = bv.Union( SharedFolderBlanketLinkRestrictionPolicy ) 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 SharedFolderJoinPolicy.from_team_only: Team members can only join folders shared by teammates. :ivar 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 ) 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 SharedFolderMemberPolicy.team: Only a teammate can be a member of a folder shared by a team member. :ivar SharedFolderMemberPolicy.anyone: Anyone can be a member of a folder shared by a team member. :ivar SharedFolderMemberPolicy.team_and_approved: Only a teammate and approved people 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 team_and_approved = 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_team_and_approved(self): """ Check if the union tag is ``team_and_approved``. :rtype: bool """ return self._tag == "team_and_approved" 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 ) 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 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 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 SharedLinkCreatePolicy.team_only: Only members of the same team can access all shared links. Login will be required to access all shared links. :ivar SharedLinkCreatePolicy.default_no_one: Only people invited can access newly created links. Login will be required to access the shared links unless overridden. """ _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 default_no_one = 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_default_no_one(self): """ Check if the union tag is ``default_no_one``. :rtype: bool """ return self._tag == "default_no_one" 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 ) SharedLinkCreatePolicy_validator = bv.Union(SharedLinkCreatePolicy) class SharedLinkDefaultPermissionsPolicy(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar SharedLinkDefaultPermissionsPolicy.default: No team default. Member defaults used instead. :ivar SharedLinkDefaultPermissionsPolicy.edit: Default to edit when creating new sharing links :ivar SharedLinkDefaultPermissionsPolicy.view: Default to view-only when creating new sharing links """ _catch_all = "other" # Attribute is overwritten below the class definition default = None # Attribute is overwritten below the class definition edit = None # Attribute is overwritten below the class definition view = 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_edit(self): """ Check if the union tag is ``edit``. :rtype: bool """ return self._tag == "edit" def is_view(self): """ Check if the union tag is ``view``. :rtype: bool """ return self._tag == "view" 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(SharedLinkDefaultPermissionsPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) SharedLinkDefaultPermissionsPolicy_validator = bv.Union(SharedLinkDefaultPermissionsPolicy) 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 ShowcaseDownloadPolicy.disabled: Do not allow files to be downloaded from Showcases. :ivar 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 ) 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 ShowcaseEnabledPolicy.disabled: Showcase is disabled. :ivar 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 ) 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 ShowcaseExternalSharingPolicy.disabled: Do not allow showcases to be shared with people not on the team. :ivar 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 ) 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 SmartSyncPolicy.local: The specified content will be synced as local files by default. :ivar 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 ) SmartSyncPolicy_validator = bv.Union(SmartSyncPolicy) class SmarterSmartSyncPolicyState(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar SmarterSmartSyncPolicyState.disabled: Smarter Smart Sync feature is disabled. :ivar SmarterSmartSyncPolicyState.enabled: Smarter Smart Sync feature 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(SmarterSmartSyncPolicyState, self)._process_custom_annotations( annotation_type, field_path, processor ) SmarterSmartSyncPolicyState_validator = bv.Union(SmarterSmartSyncPolicyState) 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 SsoPolicy.disabled: Users will be able to sign in with their Dropbox credentials. :ivar SsoPolicy.optional: Users will be able to sign in with either their Dropbox or single sign-on credentials. :ivar 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) SsoPolicy_validator = bv.Union(SsoPolicy) class SuggestMembersPolicy(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar SuggestMembersPolicy.disabled: Suggest members is disabled. :ivar SuggestMembersPolicy.enabled: Suggest members 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(SuggestMembersPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) SuggestMembersPolicy_validator = bv.Union(SuggestMembersPolicy) class TeamMemberPolicies(bb.Struct): """ Policies governing team members. :ivar TeamMemberPolicies.sharing: Policies governing sharing. :ivar 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 TeamMemberPolicies.office_addin: The admin policy around the Dropbox Office Add-In for this team. :ivar TeamMemberPolicies.suggest_members_policy: The team policy on if teammembers are allowed to suggest users for admins to invite to the team. :ivar TeamMemberPolicies.top_level_content_policy: Policy for deciding whether members can edit team folders at the top level of the team space. """ __slots__ = [ "_sharing_value", "_emm_state_value", "_office_addin_value", "_suggest_members_policy_value", "_top_level_content_policy_value", ] _has_required_fields = True def __init__( self, sharing=None, emm_state=None, office_addin=None, suggest_members_policy=None, top_level_content_policy=None, ): self._sharing_value = bb.NOT_SET self._emm_state_value = bb.NOT_SET self._office_addin_value = bb.NOT_SET self._suggest_members_policy_value = bb.NOT_SET self._top_level_content_policy_value = bb.NOT_SET 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 if suggest_members_policy is not None: self.suggest_members_policy = suggest_members_policy if top_level_content_policy is not None: self.top_level_content_policy = top_level_content_policy # Instance attribute type: TeamSharingPolicies (validator is set below) sharing = bb.Attribute("sharing", user_defined=True) # Instance attribute type: EmmState (validator is set below) emm_state = bb.Attribute("emm_state", user_defined=True) # Instance attribute type: OfficeAddInPolicy (validator is set below) office_addin = bb.Attribute("office_addin", user_defined=True) # Instance attribute type: SuggestMembersPolicy (validator is set below) suggest_members_policy = bb.Attribute("suggest_members_policy", user_defined=True) # Instance attribute type: TopLevelContentPolicy (validator is set below) top_level_content_policy = bb.Attribute("top_level_content_policy", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamMemberPolicies, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamMemberPolicies_validator = bv.Struct(TeamMemberPolicies) class TeamSharingPolicies(bb.Struct): """ Policies governing sharing within and outside of the team. :ivar TeamSharingPolicies.shared_folder_member_policy: Who can join folders shared by team members. :ivar TeamSharingPolicies.shared_folder_join_policy: Which shared folders team members can join. :ivar TeamSharingPolicies.shared_link_create_policy: Who can view shared links owned by team members. :ivar TeamSharingPolicies.group_creation_policy: Who can create groups. :ivar TeamSharingPolicies.shared_folder_link_restriction_policy: Who can view links to content in shared folders. :ivar TeamSharingPolicies.enforce_link_password_policy: If passwords are required for new links shared outside the team. :ivar TeamSharingPolicies.default_link_expiration_days_policy: Default expiration date for new links shared outside the team. :ivar TeamSharingPolicies.shared_link_default_permissions_policy: Default access level for new links shared by team members. """ __slots__ = [ "_shared_folder_member_policy_value", "_shared_folder_join_policy_value", "_shared_link_create_policy_value", "_group_creation_policy_value", "_shared_folder_link_restriction_policy_value", "_enforce_link_password_policy_value", "_default_link_expiration_days_policy_value", "_shared_link_default_permissions_policy_value", ] _has_required_fields = True def __init__( self, shared_folder_member_policy=None, shared_folder_join_policy=None, shared_link_create_policy=None, group_creation_policy=None, shared_folder_link_restriction_policy=None, enforce_link_password_policy=None, default_link_expiration_days_policy=None, shared_link_default_permissions_policy=None, ): self._shared_folder_member_policy_value = bb.NOT_SET self._shared_folder_join_policy_value = bb.NOT_SET self._shared_link_create_policy_value = bb.NOT_SET self._group_creation_policy_value = bb.NOT_SET self._shared_folder_link_restriction_policy_value = bb.NOT_SET self._enforce_link_password_policy_value = bb.NOT_SET self._default_link_expiration_days_policy_value = bb.NOT_SET self._shared_link_default_permissions_policy_value = bb.NOT_SET 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 if group_creation_policy is not None: self.group_creation_policy = group_creation_policy if shared_folder_link_restriction_policy is not None: self.shared_folder_link_restriction_policy = shared_folder_link_restriction_policy if enforce_link_password_policy is not None: self.enforce_link_password_policy = enforce_link_password_policy if default_link_expiration_days_policy is not None: self.default_link_expiration_days_policy = default_link_expiration_days_policy if shared_link_default_permissions_policy is not None: self.shared_link_default_permissions_policy = shared_link_default_permissions_policy # Instance attribute type: SharedFolderMemberPolicy (validator is set below) shared_folder_member_policy = bb.Attribute("shared_folder_member_policy", user_defined=True) # Instance attribute type: SharedFolderJoinPolicy (validator is set below) shared_folder_join_policy = bb.Attribute("shared_folder_join_policy", user_defined=True) # Instance attribute type: SharedLinkCreatePolicy (validator is set below) shared_link_create_policy = bb.Attribute("shared_link_create_policy", user_defined=True) # Instance attribute type: GroupCreation (validator is set below) group_creation_policy = bb.Attribute("group_creation_policy", user_defined=True) # Instance attribute type: SharedFolderBlanketLinkRestrictionPolicy (validator is set below) shared_folder_link_restriction_policy = bb.Attribute( "shared_folder_link_restriction_policy", user_defined=True ) # Instance attribute type: EnforceLinkPasswordPolicy (validator is set below) enforce_link_password_policy = bb.Attribute("enforce_link_password_policy", user_defined=True) # Instance attribute type: DefaultLinkExpirationDaysPolicy (validator is set below) default_link_expiration_days_policy = bb.Attribute( "default_link_expiration_days_policy", user_defined=True ) # Instance attribute type: SharedLinkDefaultPermissionsPolicy (validator is set below) shared_link_default_permissions_policy = bb.Attribute( "shared_link_default_permissions_policy", user_defined=True ) def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamSharingPolicies, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamSharingPolicies_validator = bv.Struct(TeamSharingPolicies) class TopLevelContentPolicy(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar TopLevelContentPolicy.admin_only: Only admins can edit team folders at the top level of the team space. :ivar TopLevelContentPolicy.everyone: Everyone on the team can edit team folders at the top level of the team space. """ _catch_all = "other" # Attribute is overwritten below the class definition admin_only = None # Attribute is overwritten below the class definition everyone = None # Attribute is overwritten below the class definition other = None def is_admin_only(self): """ Check if the union tag is ``admin_only``. :rtype: bool """ return self._tag == "admin_only" def is_everyone(self): """ Check if the union tag is ``everyone``. :rtype: bool """ return self._tag == "everyone" 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(TopLevelContentPolicy, self)._process_custom_annotations( annotation_type, field_path, processor ) TopLevelContentPolicy_validator = bv.Union(TopLevelContentPolicy) 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 TwoStepVerificationPolicy.require_tfa_enable: Enabled require two factor authorization. :ivar 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 ) 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 TwoStepVerificationState.required: Enabled require two factor authorization. :ivar TwoStepVerificationState.optional: Optional require two factor authorization. :ivar TwoStepVerificationState.disabled: Disabled 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 disabled = 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_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(TwoStepVerificationState, self)._process_custom_annotations( annotation_type, field_path, processor ) 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") ComputerBackupPolicyState._disabled_validator = bv.Void() ComputerBackupPolicyState._enabled_validator = bv.Void() ComputerBackupPolicyState._default_validator = bv.Void() ComputerBackupPolicyState._other_validator = bv.Void() ComputerBackupPolicyState._tagmap = { "disabled": ComputerBackupPolicyState._disabled_validator, "enabled": ComputerBackupPolicyState._enabled_validator, "default": ComputerBackupPolicyState._default_validator, "other": ComputerBackupPolicyState._other_validator, } ComputerBackupPolicyState.disabled = ComputerBackupPolicyState("disabled") ComputerBackupPolicyState.enabled = ComputerBackupPolicyState("enabled") ComputerBackupPolicyState.default = ComputerBackupPolicyState("default") ComputerBackupPolicyState.other = ComputerBackupPolicyState("other") DefaultLinkExpirationDaysPolicy._none_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_1_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_3_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_7_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_30_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_90_validator = bv.Void() DefaultLinkExpirationDaysPolicy._day_180_validator = bv.Void() DefaultLinkExpirationDaysPolicy._year_1_validator = bv.Void() DefaultLinkExpirationDaysPolicy._other_validator = bv.Void() DefaultLinkExpirationDaysPolicy._tagmap = { "none": DefaultLinkExpirationDaysPolicy._none_validator, "day_1": DefaultLinkExpirationDaysPolicy._day_1_validator, "day_3": DefaultLinkExpirationDaysPolicy._day_3_validator, "day_7": DefaultLinkExpirationDaysPolicy._day_7_validator, "day_30": DefaultLinkExpirationDaysPolicy._day_30_validator, "day_90": DefaultLinkExpirationDaysPolicy._day_90_validator, "day_180": DefaultLinkExpirationDaysPolicy._day_180_validator, "year_1": DefaultLinkExpirationDaysPolicy._year_1_validator, "other": DefaultLinkExpirationDaysPolicy._other_validator, } DefaultLinkExpirationDaysPolicy.none = DefaultLinkExpirationDaysPolicy("none") DefaultLinkExpirationDaysPolicy.day_1 = DefaultLinkExpirationDaysPolicy("day_1") DefaultLinkExpirationDaysPolicy.day_3 = DefaultLinkExpirationDaysPolicy("day_3") DefaultLinkExpirationDaysPolicy.day_7 = DefaultLinkExpirationDaysPolicy("day_7") DefaultLinkExpirationDaysPolicy.day_30 = DefaultLinkExpirationDaysPolicy("day_30") DefaultLinkExpirationDaysPolicy.day_90 = DefaultLinkExpirationDaysPolicy("day_90") DefaultLinkExpirationDaysPolicy.day_180 = DefaultLinkExpirationDaysPolicy("day_180") DefaultLinkExpirationDaysPolicy.year_1 = DefaultLinkExpirationDaysPolicy("year_1") DefaultLinkExpirationDaysPolicy.other = DefaultLinkExpirationDaysPolicy("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") EnforceLinkPasswordPolicy._optional_validator = bv.Void() EnforceLinkPasswordPolicy._required_validator = bv.Void() EnforceLinkPasswordPolicy._other_validator = bv.Void() EnforceLinkPasswordPolicy._tagmap = { "optional": EnforceLinkPasswordPolicy._optional_validator, "required": EnforceLinkPasswordPolicy._required_validator, "other": EnforceLinkPasswordPolicy._other_validator, } EnforceLinkPasswordPolicy.optional = EnforceLinkPasswordPolicy("optional") EnforceLinkPasswordPolicy.required = EnforceLinkPasswordPolicy("required") EnforceLinkPasswordPolicy.other = EnforceLinkPasswordPolicy("other") ExternalDriveBackupPolicyState._disabled_validator = bv.Void() ExternalDriveBackupPolicyState._enabled_validator = bv.Void() ExternalDriveBackupPolicyState._default_validator = bv.Void() ExternalDriveBackupPolicyState._other_validator = bv.Void() ExternalDriveBackupPolicyState._tagmap = { "disabled": ExternalDriveBackupPolicyState._disabled_validator, "enabled": ExternalDriveBackupPolicyState._enabled_validator, "default": ExternalDriveBackupPolicyState._default_validator, "other": ExternalDriveBackupPolicyState._other_validator, } ExternalDriveBackupPolicyState.disabled = ExternalDriveBackupPolicyState("disabled") ExternalDriveBackupPolicyState.enabled = ExternalDriveBackupPolicyState("enabled") ExternalDriveBackupPolicyState.default = ExternalDriveBackupPolicyState("default") ExternalDriveBackupPolicyState.other = ExternalDriveBackupPolicyState("other") FileLockingPolicyState._disabled_validator = bv.Void() FileLockingPolicyState._enabled_validator = bv.Void() FileLockingPolicyState._other_validator = bv.Void() FileLockingPolicyState._tagmap = { "disabled": FileLockingPolicyState._disabled_validator, "enabled": FileLockingPolicyState._enabled_validator, "other": FileLockingPolicyState._other_validator, } FileLockingPolicyState.disabled = FileLockingPolicyState("disabled") FileLockingPolicyState.enabled = FileLockingPolicyState("enabled") FileLockingPolicyState.other = FileLockingPolicyState("other") FileProviderMigrationPolicyState._disabled_validator = bv.Void() FileProviderMigrationPolicyState._enabled_validator = bv.Void() FileProviderMigrationPolicyState._default_validator = bv.Void() FileProviderMigrationPolicyState._immediate_validator = bv.Void() FileProviderMigrationPolicyState._other_validator = bv.Void() FileProviderMigrationPolicyState._tagmap = { "disabled": FileProviderMigrationPolicyState._disabled_validator, "enabled": FileProviderMigrationPolicyState._enabled_validator, "default": FileProviderMigrationPolicyState._default_validator, "immediate": FileProviderMigrationPolicyState._immediate_validator, "other": FileProviderMigrationPolicyState._other_validator, } FileProviderMigrationPolicyState.disabled = FileProviderMigrationPolicyState("disabled") FileProviderMigrationPolicyState.enabled = FileProviderMigrationPolicyState("enabled") FileProviderMigrationPolicyState.default = FileProviderMigrationPolicyState("default") FileProviderMigrationPolicyState.immediate = FileProviderMigrationPolicyState("immediate") FileProviderMigrationPolicyState.other = FileProviderMigrationPolicyState("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") PasswordControlMode._disabled_validator = bv.Void() PasswordControlMode._enabled_validator = bv.Void() PasswordControlMode._other_validator = bv.Void() PasswordControlMode._tagmap = { "disabled": PasswordControlMode._disabled_validator, "enabled": PasswordControlMode._enabled_validator, "other": PasswordControlMode._other_validator, } PasswordControlMode.disabled = PasswordControlMode("disabled") PasswordControlMode.enabled = PasswordControlMode("enabled") PasswordControlMode.other = PasswordControlMode("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") SharedFolderBlanketLinkRestrictionPolicy._members_validator = bv.Void() SharedFolderBlanketLinkRestrictionPolicy._anyone_validator = bv.Void() SharedFolderBlanketLinkRestrictionPolicy._other_validator = bv.Void() SharedFolderBlanketLinkRestrictionPolicy._tagmap = { "members": SharedFolderBlanketLinkRestrictionPolicy._members_validator, "anyone": SharedFolderBlanketLinkRestrictionPolicy._anyone_validator, "other": SharedFolderBlanketLinkRestrictionPolicy._other_validator, } SharedFolderBlanketLinkRestrictionPolicy.members = SharedFolderBlanketLinkRestrictionPolicy( "members" ) SharedFolderBlanketLinkRestrictionPolicy.anyone = SharedFolderBlanketLinkRestrictionPolicy("anyone") SharedFolderBlanketLinkRestrictionPolicy.other = SharedFolderBlanketLinkRestrictionPolicy("other") 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._team_and_approved_validator = bv.Void() SharedFolderMemberPolicy._other_validator = bv.Void() SharedFolderMemberPolicy._tagmap = { "team": SharedFolderMemberPolicy._team_validator, "anyone": SharedFolderMemberPolicy._anyone_validator, "team_and_approved": SharedFolderMemberPolicy._team_and_approved_validator, "other": SharedFolderMemberPolicy._other_validator, } SharedFolderMemberPolicy.team = SharedFolderMemberPolicy("team") SharedFolderMemberPolicy.anyone = SharedFolderMemberPolicy("anyone") SharedFolderMemberPolicy.team_and_approved = SharedFolderMemberPolicy("team_and_approved") SharedFolderMemberPolicy.other = SharedFolderMemberPolicy("other") SharedLinkCreatePolicy._default_public_validator = bv.Void() SharedLinkCreatePolicy._default_team_only_validator = bv.Void() SharedLinkCreatePolicy._team_only_validator = bv.Void() SharedLinkCreatePolicy._default_no_one_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, "default_no_one": SharedLinkCreatePolicy._default_no_one_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.default_no_one = SharedLinkCreatePolicy("default_no_one") SharedLinkCreatePolicy.other = SharedLinkCreatePolicy("other") SharedLinkDefaultPermissionsPolicy._default_validator = bv.Void() SharedLinkDefaultPermissionsPolicy._edit_validator = bv.Void() SharedLinkDefaultPermissionsPolicy._view_validator = bv.Void() SharedLinkDefaultPermissionsPolicy._other_validator = bv.Void() SharedLinkDefaultPermissionsPolicy._tagmap = { "default": SharedLinkDefaultPermissionsPolicy._default_validator, "edit": SharedLinkDefaultPermissionsPolicy._edit_validator, "view": SharedLinkDefaultPermissionsPolicy._view_validator, "other": SharedLinkDefaultPermissionsPolicy._other_validator, } SharedLinkDefaultPermissionsPolicy.default = SharedLinkDefaultPermissionsPolicy("default") SharedLinkDefaultPermissionsPolicy.edit = SharedLinkDefaultPermissionsPolicy("edit") SharedLinkDefaultPermissionsPolicy.view = SharedLinkDefaultPermissionsPolicy("view") SharedLinkDefaultPermissionsPolicy.other = SharedLinkDefaultPermissionsPolicy("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") SmarterSmartSyncPolicyState._disabled_validator = bv.Void() SmarterSmartSyncPolicyState._enabled_validator = bv.Void() SmarterSmartSyncPolicyState._other_validator = bv.Void() SmarterSmartSyncPolicyState._tagmap = { "disabled": SmarterSmartSyncPolicyState._disabled_validator, "enabled": SmarterSmartSyncPolicyState._enabled_validator, "other": SmarterSmartSyncPolicyState._other_validator, } SmarterSmartSyncPolicyState.disabled = SmarterSmartSyncPolicyState("disabled") SmarterSmartSyncPolicyState.enabled = SmarterSmartSyncPolicyState("enabled") SmarterSmartSyncPolicyState.other = SmarterSmartSyncPolicyState("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") SuggestMembersPolicy._disabled_validator = bv.Void() SuggestMembersPolicy._enabled_validator = bv.Void() SuggestMembersPolicy._other_validator = bv.Void() SuggestMembersPolicy._tagmap = { "disabled": SuggestMembersPolicy._disabled_validator, "enabled": SuggestMembersPolicy._enabled_validator, "other": SuggestMembersPolicy._other_validator, } SuggestMembersPolicy.disabled = SuggestMembersPolicy("disabled") SuggestMembersPolicy.enabled = SuggestMembersPolicy("enabled") SuggestMembersPolicy.other = SuggestMembersPolicy("other") TeamMemberPolicies.sharing.validator = TeamSharingPolicies_validator TeamMemberPolicies.emm_state.validator = EmmState_validator TeamMemberPolicies.office_addin.validator = OfficeAddInPolicy_validator TeamMemberPolicies.suggest_members_policy.validator = SuggestMembersPolicy_validator TeamMemberPolicies.top_level_content_policy.validator = TopLevelContentPolicy_validator TeamMemberPolicies._all_field_names_ = set( [ "sharing", "emm_state", "office_addin", "suggest_members_policy", "top_level_content_policy", ] ) TeamMemberPolicies._all_fields_ = [ ("sharing", TeamMemberPolicies.sharing.validator), ("emm_state", TeamMemberPolicies.emm_state.validator), ("office_addin", TeamMemberPolicies.office_addin.validator), ("suggest_members_policy", TeamMemberPolicies.suggest_members_policy.validator), ("top_level_content_policy", TeamMemberPolicies.top_level_content_policy.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.group_creation_policy.validator = GroupCreation_validator TeamSharingPolicies.shared_folder_link_restriction_policy.validator = ( SharedFolderBlanketLinkRestrictionPolicy_validator ) TeamSharingPolicies.enforce_link_password_policy.validator = EnforceLinkPasswordPolicy_validator TeamSharingPolicies.default_link_expiration_days_policy.validator = ( DefaultLinkExpirationDaysPolicy_validator ) TeamSharingPolicies.shared_link_default_permissions_policy.validator = ( SharedLinkDefaultPermissionsPolicy_validator ) TeamSharingPolicies._all_field_names_ = set( [ "shared_folder_member_policy", "shared_folder_join_policy", "shared_link_create_policy", "group_creation_policy", "shared_folder_link_restriction_policy", "enforce_link_password_policy", "default_link_expiration_days_policy", "shared_link_default_permissions_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, ), ("group_creation_policy", TeamSharingPolicies.group_creation_policy.validator), ( "shared_folder_link_restriction_policy", TeamSharingPolicies.shared_folder_link_restriction_policy.validator, ), ( "enforce_link_password_policy", TeamSharingPolicies.enforce_link_password_policy.validator, ), ( "default_link_expiration_days_policy", TeamSharingPolicies.default_link_expiration_days_policy.validator, ), ( "shared_link_default_permissions_policy", TeamSharingPolicies.shared_link_default_permissions_policy.validator, ), ] TopLevelContentPolicy._admin_only_validator = bv.Void() TopLevelContentPolicy._everyone_validator = bv.Void() TopLevelContentPolicy._other_validator = bv.Void() TopLevelContentPolicy._tagmap = { "admin_only": TopLevelContentPolicy._admin_only_validator, "everyone": TopLevelContentPolicy._everyone_validator, "other": TopLevelContentPolicy._other_validator, } TopLevelContentPolicy.admin_only = TopLevelContentPolicy("admin_only") TopLevelContentPolicy.everyone = TopLevelContentPolicy("everyone") TopLevelContentPolicy.other = TopLevelContentPolicy("other") 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._disabled_validator = bv.Void() TwoStepVerificationState._other_validator = bv.Void() TwoStepVerificationState._tagmap = { "required": TwoStepVerificationState._required_validator, "optional": TwoStepVerificationState._optional_validator, "disabled": TwoStepVerificationState._disabled_validator, "other": TwoStepVerificationState._other_validator, } TwoStepVerificationState.required = TwoStepVerificationState("required") TwoStepVerificationState.optional = TwoStepVerificationState("optional") TwoStepVerificationState.disabled = TwoStepVerificationState("disabled") TwoStepVerificationState.other = TwoStepVerificationState("other") ROUTES = {} dropbox-dropbox-sdk-python-6064f79/dropbox/users.py000066400000000000000000001572111522735175000224350ustar00rootroot00000000000000# -*- 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. """ from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv from dropbox import common from dropbox import team_common from dropbox import team_policies from dropbox 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 Account.account_id: The user's unique Dropbox ID. :ivar Account.name: Details of a user's name. :ivar Account.email: The user's email 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 email. :ivar Account.email_verified: Whether the user has verified their email address. :ivar Account.profile_photo_url: URL for the photo representing the user, if one is set. :ivar Account.disabled: Whether the user has been disabled. """ __slots__ = [ "_account_id_value", "_name_value", "_email_value", "_email_verified_value", "_profile_photo_url_value", "_disabled_value", ] _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 = bb.NOT_SET self._name_value = bb.NOT_SET self._email_value = bb.NOT_SET self._email_verified_value = bb.NOT_SET self._profile_photo_url_value = bb.NOT_SET self._disabled_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) account_id = bb.Attribute("account_id") # Instance attribute type: Name (validator is set below) name = bb.Attribute("name", user_defined=True) # Instance attribute type: str (validator is set below) email = bb.Attribute("email") # Instance attribute type: bool (validator is set below) email_verified = bb.Attribute("email_verified") # Instance attribute type: str (validator is set below) profile_photo_url = bb.Attribute("profile_photo_url", nullable=True) # Instance attribute type: bool (validator is set below) disabled = bb.Attribute("disabled") def _process_custom_annotations(self, annotation_type, field_path, processor): super(Account, self)._process_custom_annotations(annotation_type, field_path, processor) Account_validator = bv.Struct(Account) class BasicAccount(Account): """ Basic information about any account. :ivar 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 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", "_team_member_id_value", ] _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 = bb.NOT_SET self._team_member_id_value = bb.NOT_SET 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 # Instance attribute type: bool (validator is set below) is_teammate = bb.Attribute("is_teammate") # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id", nullable=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(BasicAccount, self)._process_custom_annotations( annotation_type, field_path, processor ) BasicAccount_validator = bv.Struct(BasicAccount) class DistinctMemberHomeValue(bb.Union): """ The value for ``UserFeature.distinct_member_home``. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar DistinctMemberHomeValue.enabled: When this value is True, the user have distinct home and root ns. When the value is False the user's home ns and root ns are the same. :vartype DistinctMemberHomeValue.enabled: bool """ _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: DistinctMemberHomeValue """ 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): """ When this value is True, the user have distinct home and root ns. When the value is False the user's home ns and root ns are the same. 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(DistinctMemberHomeValue, self)._process_custom_annotations( annotation_type, field_path, processor ) DistinctMemberHomeValue_validator = bv.Union(DistinctMemberHomeValue) class FileLockingValue(bb.Union): """ The value for ``UserFeature.file_locking``. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar FileLockingValue.enabled: When this value is True, the user can lock files in shared directories. When the value is False the user can unlock the files they have locked or request to unlock files locked by others. :vartype FileLockingValue.enabled: bool """ _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: FileLockingValue """ 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): """ When this value is True, the user can lock files in shared directories. When the value is False the user can unlock the files they have locked or request to unlock files locked by others. 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(FileLockingValue, self)._process_custom_annotations( annotation_type, field_path, processor ) FileLockingValue_validator = bv.Union(FileLockingValue) class FullAccount(Account): """ Detailed information about the current user's account. :ivar FullAccount.country: The user's two-letter country code, if available. Country codes are based on `ISO 3166-1 `_. :ivar FullAccount.locale: The language that the user specified. Locale tags will be `IETF language tags `_. :ivar FullAccount.referral_link: The user's `referral link `_. :ivar FullAccount.team: If this account is a member of a team, information about that team. :ivar FullAccount.team_member_id: This account's unique team member id. This field will only be present if ``team`` is present. :ivar 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 FullAccount.account_type: What type of account this user has. :ivar FullAccount.root_info: The root info for this account. """ __slots__ = [ "_country_value", "_locale_value", "_referral_link_value", "_team_value", "_team_member_id_value", "_is_paired_value", "_account_type_value", "_root_info_value", ] _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 = bb.NOT_SET self._locale_value = bb.NOT_SET self._referral_link_value = bb.NOT_SET self._team_value = bb.NOT_SET self._team_member_id_value = bb.NOT_SET self._is_paired_value = bb.NOT_SET self._account_type_value = bb.NOT_SET self._root_info_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) country = bb.Attribute("country", nullable=True) # Instance attribute type: str (validator is set below) locale = bb.Attribute("locale") # Instance attribute type: str (validator is set below) referral_link = bb.Attribute("referral_link") # Instance attribute type: FullTeam (validator is set below) team = bb.Attribute("team", nullable=True, user_defined=True) # Instance attribute type: str (validator is set below) team_member_id = bb.Attribute("team_member_id", nullable=True) # Instance attribute type: bool (validator is set below) is_paired = bb.Attribute("is_paired") # Instance attribute type: users_common.AccountType (validator is set below) account_type = bb.Attribute("account_type", user_defined=True) # Instance attribute type: common.RootInfo (validator is set below) root_info = bb.Attribute("root_info", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FullAccount, self)._process_custom_annotations(annotation_type, field_path, processor) FullAccount_validator = bv.Struct(FullAccount) class Team(bb.Struct): """ Information about a team. :ivar Team.id: The team's unique ID. :ivar Team.name: The name of the team. """ __slots__ = [ "_id_value", "_name_value", ] _has_required_fields = True def __init__(self, id=None, name=None): self._id_value = bb.NOT_SET self._name_value = bb.NOT_SET if id is not None: self.id = id if name is not None: self.name = name # Instance attribute type: str (validator is set below) id = bb.Attribute("id") # Instance attribute type: str (validator is set below) name = bb.Attribute("name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(Team, self)._process_custom_annotations(annotation_type, field_path, processor) Team_validator = bv.Struct(Team) class FullTeam(Team): """ Detailed information about a team. :ivar FullTeam.sharing_policies: Team policies governing sharing. :ivar FullTeam.office_addin_policy: Team policy governing the use of the Office Add-In. :ivar FullTeam.top_level_content_policy: Team policy governing whether members can edit team folders at the top level of the team space. """ __slots__ = [ "_sharing_policies_value", "_office_addin_policy_value", "_top_level_content_policy_value", ] _has_required_fields = True def __init__( self, id=None, name=None, sharing_policies=None, office_addin_policy=None, top_level_content_policy=None, ): super(FullTeam, self).__init__(id, name) self._sharing_policies_value = bb.NOT_SET self._office_addin_policy_value = bb.NOT_SET self._top_level_content_policy_value = bb.NOT_SET 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 if top_level_content_policy is not None: self.top_level_content_policy = top_level_content_policy # Instance attribute type: team_policies.TeamSharingPolicies (validator is set below) sharing_policies = bb.Attribute("sharing_policies", user_defined=True) # Instance attribute type: team_policies.OfficeAddInPolicy (validator is set below) office_addin_policy = bb.Attribute("office_addin_policy", user_defined=True) # Instance attribute type: team_policies.TopLevelContentPolicy (validator is set below) top_level_content_policy = bb.Attribute("top_level_content_policy", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(FullTeam, self)._process_custom_annotations(annotation_type, field_path, processor) FullTeam_validator = bv.Struct(FullTeam) class GetAccountArg(bb.Struct): """ :ivar GetAccountArg.account_id: A user's account identifier. """ __slots__ = [ "_account_id_value", ] _has_required_fields = True def __init__(self, account_id=None): self._account_id_value = bb.NOT_SET if account_id is not None: self.account_id = account_id # Instance attribute type: str (validator is set below) account_id = bb.Attribute("account_id") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetAccountArg, self)._process_custom_annotations( annotation_type, field_path, processor ) GetAccountArg_validator = bv.Struct(GetAccountArg) class GetAccountBatchArg(bb.Struct): """ :ivar GetAccountBatchArg.account_ids: List of user account identifiers. Should not contain any duplicate account IDs. """ __slots__ = [ "_account_ids_value", ] _has_required_fields = True def __init__(self, account_ids=None): self._account_ids_value = bb.NOT_SET if account_ids is not None: self.account_ids = account_ids # Instance attribute type: list of [str] (validator is set below) account_ids = bb.Attribute("account_ids") def _process_custom_annotations(self, annotation_type, field_path, processor): super(GetAccountBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) 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 GetAccountBatchError.no_account: The value is an account ID specified in ``GetAccountBatchArg.account_ids`` that does not exist. :vartype GetAccountBatchError.no_account: str """ _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 ) 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 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 ) GetAccountError_validator = bv.Union(GetAccountError) class IndividualSpaceAllocation(bb.Struct): """ :ivar IndividualSpaceAllocation.allocated: The total space allocated to the user's account (bytes). """ __slots__ = [ "_allocated_value", ] _has_required_fields = True def __init__(self, allocated=None): self._allocated_value = bb.NOT_SET if allocated is not None: self.allocated = allocated # Instance attribute type: int (validator is set below) allocated = bb.Attribute("allocated") def _process_custom_annotations(self, annotation_type, field_path, processor): super(IndividualSpaceAllocation, self)._process_custom_annotations( annotation_type, field_path, processor ) IndividualSpaceAllocation_validator = bv.Struct(IndividualSpaceAllocation) class Name(bb.Struct): """ Representations for a person's name to assist with internationalization. :ivar Name.given_name: Also known as a first name. :ivar Name.surname: Also known as a last name or family name. :ivar 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 Name.display_name: A name that can be used directly to represent the name of a user's Dropbox account. :ivar Name.abbreviated_name: An abbreviated form of the person's name. Their initials in most locales. """ __slots__ = [ "_given_name_value", "_surname_value", "_familiar_name_value", "_display_name_value", "_abbreviated_name_value", ] _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 = bb.NOT_SET self._surname_value = bb.NOT_SET self._familiar_name_value = bb.NOT_SET self._display_name_value = bb.NOT_SET self._abbreviated_name_value = bb.NOT_SET 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 # Instance attribute type: str (validator is set below) given_name = bb.Attribute("given_name") # Instance attribute type: str (validator is set below) surname = bb.Attribute("surname") # Instance attribute type: str (validator is set below) familiar_name = bb.Attribute("familiar_name") # Instance attribute type: str (validator is set below) display_name = bb.Attribute("display_name") # Instance attribute type: str (validator is set below) abbreviated_name = bb.Attribute("abbreviated_name") def _process_custom_annotations(self, annotation_type, field_path, processor): super(Name, self)._process_custom_annotations(annotation_type, field_path, processor) Name_validator = bv.Struct(Name) class PaperAsFilesValue(bb.Union): """ The value for ``UserFeature.paper_as_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 PaperAsFilesValue.enabled: When this value is true, the user's Paper docs are accessible in Dropbox with the .paper extension and must be accessed via the /files endpoints. When this value is false, the user's Paper docs are stored separate from Dropbox files and folders and should be accessed via the /paper endpoints. :vartype PaperAsFilesValue.enabled: bool """ _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: PaperAsFilesValue """ 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): """ When this value is true, the user's Paper docs are accessible in Dropbox with the .paper extension and must be accessed via the /files endpoints. When this value is false, the user's Paper docs are stored separate from Dropbox files and folders and should be accessed via the /paper endpoints. 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(PaperAsFilesValue, self)._process_custom_annotations( annotation_type, field_path, processor ) PaperAsFilesValue_validator = bv.Union(PaperAsFilesValue) 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 SpaceAllocation.individual: The user's space allocation applies only to their individual account. :vartype SpaceAllocation.individual: IndividualSpaceAllocation :ivar SpaceAllocation.team: The user shares space with other members of their team. :vartype SpaceAllocation.team: TeamSpaceAllocation """ _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 ) SpaceAllocation_validator = bv.Union(SpaceAllocation) class SpaceUsage(bb.Struct): """ Information about a user's space usage and quota. :ivar SpaceUsage.used: The user's total space usage (bytes). :ivar SpaceUsage.allocation: The user's space allocation. """ __slots__ = [ "_used_value", "_allocation_value", ] _has_required_fields = True def __init__(self, used=None, allocation=None): self._used_value = bb.NOT_SET self._allocation_value = bb.NOT_SET if used is not None: self.used = used if allocation is not None: self.allocation = allocation # Instance attribute type: int (validator is set below) used = bb.Attribute("used") # Instance attribute type: SpaceAllocation (validator is set below) allocation = bb.Attribute("allocation", user_defined=True) def _process_custom_annotations(self, annotation_type, field_path, processor): super(SpaceUsage, self)._process_custom_annotations(annotation_type, field_path, processor) SpaceUsage_validator = bv.Struct(SpaceUsage) class TeamSharedDropboxValue(bb.Union): """ The value for ``UserFeature.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 TeamSharedDropboxValue.enabled: When this value is True, the user have a shared team root. When the value is False the user have distinct root. :vartype TeamSharedDropboxValue.enabled: bool """ _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: TeamSharedDropboxValue """ 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): """ When this value is True, the user have a shared team root. When the value is False the user have distinct root. 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(TeamSharedDropboxValue, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamSharedDropboxValue_validator = bv.Union(TeamSharedDropboxValue) class TeamSpaceAllocation(bb.Struct): """ :ivar TeamSpaceAllocation.used: The total space currently used by the user's team (bytes). :ivar TeamSpaceAllocation.allocated: The total space allocated to the user's team (bytes). :ivar 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 TeamSpaceAllocation.user_within_team_space_limit_type: The type of the space limit imposed on the team member (off, alert_only, stop_sync). :ivar TeamSpaceAllocation.user_within_team_space_used_cached: An accurate cached calculation of a team member's total space usage (bytes). """ __slots__ = [ "_used_value", "_allocated_value", "_user_within_team_space_allocated_value", "_user_within_team_space_limit_type_value", "_user_within_team_space_used_cached_value", ] _has_required_fields = True def __init__( self, used=None, allocated=None, user_within_team_space_allocated=None, user_within_team_space_limit_type=None, user_within_team_space_used_cached=None, ): self._used_value = bb.NOT_SET self._allocated_value = bb.NOT_SET self._user_within_team_space_allocated_value = bb.NOT_SET self._user_within_team_space_limit_type_value = bb.NOT_SET self._user_within_team_space_used_cached_value = bb.NOT_SET 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 if user_within_team_space_used_cached is not None: self.user_within_team_space_used_cached = user_within_team_space_used_cached # Instance attribute type: int (validator is set below) used = bb.Attribute("used") # Instance attribute type: int (validator is set below) allocated = bb.Attribute("allocated") # Instance attribute type: int (validator is set below) user_within_team_space_allocated = bb.Attribute("user_within_team_space_allocated") # Instance attribute type: team_common.MemberSpaceLimitType (validator is set below) user_within_team_space_limit_type = bb.Attribute( "user_within_team_space_limit_type", user_defined=True ) # Instance attribute type: int (validator is set below) user_within_team_space_used_cached = bb.Attribute("user_within_team_space_used_cached") def _process_custom_annotations(self, annotation_type, field_path, processor): super(TeamSpaceAllocation, self)._process_custom_annotations( annotation_type, field_path, processor ) TeamSpaceAllocation_validator = bv.Struct(TeamSpaceAllocation) class UserFeature(bb.Union): """ A set of features that a Dropbox User account may have configured. This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UserFeature.paper_as_files: This feature contains information about how the user's Paper files are stored. :ivar UserFeature.file_locking: This feature allows users to lock files in order to restrict other users from editing them. :ivar UserFeature.team_shared_dropbox: This feature contains information about whether or not the user is part of a team with a shared team root. :ivar UserFeature.distinct_member_home: This feature contains information about whether or not the user's home namespace is distinct from their root namespace. """ _catch_all = "other" # Attribute is overwritten below the class definition paper_as_files = None # Attribute is overwritten below the class definition file_locking = None # Attribute is overwritten below the class definition team_shared_dropbox = None # Attribute is overwritten below the class definition distinct_member_home = None # Attribute is overwritten below the class definition other = None def is_paper_as_files(self): """ Check if the union tag is ``paper_as_files``. :rtype: bool """ return self._tag == "paper_as_files" def is_file_locking(self): """ Check if the union tag is ``file_locking``. :rtype: bool """ return self._tag == "file_locking" def is_team_shared_dropbox(self): """ Check if the union tag is ``team_shared_dropbox``. :rtype: bool """ return self._tag == "team_shared_dropbox" def is_distinct_member_home(self): """ Check if the union tag is ``distinct_member_home``. :rtype: bool """ return self._tag == "distinct_member_home" 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(UserFeature, self)._process_custom_annotations(annotation_type, field_path, processor) UserFeature_validator = bv.Union(UserFeature) class UserFeatureValue(bb.Union): """ Values that correspond to entries in :class:`UserFeature`. This class acts as a tagged union. Only 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 paper_as_files(cls, val): """ Create an instance of this class set to the ``paper_as_files`` tag with value ``val``. :param PaperAsFilesValue val: :rtype: UserFeatureValue """ return cls("paper_as_files", val) @classmethod def file_locking(cls, val): """ Create an instance of this class set to the ``file_locking`` tag with value ``val``. :param FileLockingValue val: :rtype: UserFeatureValue """ return cls("file_locking", val) @classmethod def team_shared_dropbox(cls, val): """ Create an instance of this class set to the ``team_shared_dropbox`` tag with value ``val``. :param TeamSharedDropboxValue val: :rtype: UserFeatureValue """ return cls("team_shared_dropbox", val) @classmethod def distinct_member_home(cls, val): """ Create an instance of this class set to the ``distinct_member_home`` tag with value ``val``. :param DistinctMemberHomeValue val: :rtype: UserFeatureValue """ return cls("distinct_member_home", val) def is_paper_as_files(self): """ Check if the union tag is ``paper_as_files``. :rtype: bool """ return self._tag == "paper_as_files" def is_file_locking(self): """ Check if the union tag is ``file_locking``. :rtype: bool """ return self._tag == "file_locking" def is_team_shared_dropbox(self): """ Check if the union tag is ``team_shared_dropbox``. :rtype: bool """ return self._tag == "team_shared_dropbox" def is_distinct_member_home(self): """ Check if the union tag is ``distinct_member_home``. :rtype: bool """ return self._tag == "distinct_member_home" def is_other(self): """ Check if the union tag is ``other``. :rtype: bool """ return self._tag == "other" def get_paper_as_files(self): """ Only call this if :meth:`is_paper_as_files` is true. :rtype: PaperAsFilesValue """ if not self.is_paper_as_files(): raise AttributeError("tag 'paper_as_files' not set") return self._value def get_file_locking(self): """ Only call this if :meth:`is_file_locking` is true. :rtype: FileLockingValue """ if not self.is_file_locking(): raise AttributeError("tag 'file_locking' not set") return self._value def get_team_shared_dropbox(self): """ Only call this if :meth:`is_team_shared_dropbox` is true. :rtype: TeamSharedDropboxValue """ if not self.is_team_shared_dropbox(): raise AttributeError("tag 'team_shared_dropbox' not set") return self._value def get_distinct_member_home(self): """ Only call this if :meth:`is_distinct_member_home` is true. :rtype: DistinctMemberHomeValue """ if not self.is_distinct_member_home(): raise AttributeError("tag 'distinct_member_home' not set") return self._value def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserFeatureValue, self)._process_custom_annotations( annotation_type, field_path, processor ) UserFeatureValue_validator = bv.Union(UserFeatureValue) class UserFeaturesGetValuesBatchArg(bb.Struct): """ :ivar UserFeaturesGetValuesBatchArg.features: A list of features in :class:`UserFeature`. If the list is empty, this route will return :class:`UserFeaturesGetValuesBatchError`. """ __slots__ = [ "_features_value", ] _has_required_fields = True def __init__(self, features=None): self._features_value = bb.NOT_SET if features is not None: self.features = features # Instance attribute type: list of [UserFeature] (validator is set below) features = bb.Attribute("features") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserFeaturesGetValuesBatchArg, self)._process_custom_annotations( annotation_type, field_path, processor ) UserFeaturesGetValuesBatchArg_validator = bv.Struct(UserFeaturesGetValuesBatchArg) class UserFeaturesGetValuesBatchError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. :ivar UserFeaturesGetValuesBatchError.empty_features_list: At least one :class:`UserFeature` must be included in the :class:`UserFeaturesGetValuesBatchArg`.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(UserFeaturesGetValuesBatchError, self)._process_custom_annotations( annotation_type, field_path, processor ) UserFeaturesGetValuesBatchError_validator = bv.Union(UserFeaturesGetValuesBatchError) class UserFeaturesGetValuesBatchResult(bb.Struct): __slots__ = [ "_values_value", ] _has_required_fields = True def __init__(self, values=None): self._values_value = bb.NOT_SET if values is not None: self.values = values # Instance attribute type: list of [UserFeatureValue] (validator is set below) values = bb.Attribute("values") def _process_custom_annotations(self, annotation_type, field_path, processor): super(UserFeaturesGetValuesBatchResult, self)._process_custom_annotations( annotation_type, field_path, processor ) UserFeaturesGetValuesBatchResult_validator = bv.Struct(UserFeaturesGetValuesBatchResult) 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), ] DistinctMemberHomeValue._enabled_validator = bv.Boolean() DistinctMemberHomeValue._other_validator = bv.Void() DistinctMemberHomeValue._tagmap = { "enabled": DistinctMemberHomeValue._enabled_validator, "other": DistinctMemberHomeValue._other_validator, } DistinctMemberHomeValue.other = DistinctMemberHomeValue("other") FileLockingValue._enabled_validator = bv.Boolean() FileLockingValue._other_validator = bv.Void() FileLockingValue._tagmap = { "enabled": FileLockingValue._enabled_validator, "other": FileLockingValue._other_validator, } FileLockingValue.other = FileLockingValue("other") 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.top_level_content_policy.validator = team_policies.TopLevelContentPolicy_validator FullTeam._all_field_names_ = Team._all_field_names_.union( set( [ "sharing_policies", "office_addin_policy", "top_level_content_policy", ] ) ) FullTeam._all_fields_ = Team._all_fields_ + [ ("sharing_policies", FullTeam.sharing_policies.validator), ("office_addin_policy", FullTeam.office_addin_policy.validator), ("top_level_content_policy", FullTeam.top_level_content_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), ] PaperAsFilesValue._enabled_validator = bv.Boolean() PaperAsFilesValue._other_validator = bv.Void() PaperAsFilesValue._tagmap = { "enabled": PaperAsFilesValue._enabled_validator, "other": PaperAsFilesValue._other_validator, } PaperAsFilesValue.other = PaperAsFilesValue("other") 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), ] TeamSharedDropboxValue._enabled_validator = bv.Boolean() TeamSharedDropboxValue._other_validator = bv.Void() TeamSharedDropboxValue._tagmap = { "enabled": TeamSharedDropboxValue._enabled_validator, "other": TeamSharedDropboxValue._other_validator, } TeamSharedDropboxValue.other = TeamSharedDropboxValue("other") 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.user_within_team_space_used_cached.validator = bv.UInt64() TeamSpaceAllocation._all_field_names_ = set( [ "used", "allocated", "user_within_team_space_allocated", "user_within_team_space_limit_type", "user_within_team_space_used_cached", ] ) 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, ), ( "user_within_team_space_used_cached", TeamSpaceAllocation.user_within_team_space_used_cached.validator, ), ] UserFeature._paper_as_files_validator = bv.Void() UserFeature._file_locking_validator = bv.Void() UserFeature._team_shared_dropbox_validator = bv.Void() UserFeature._distinct_member_home_validator = bv.Void() UserFeature._other_validator = bv.Void() UserFeature._tagmap = { "paper_as_files": UserFeature._paper_as_files_validator, "file_locking": UserFeature._file_locking_validator, "team_shared_dropbox": UserFeature._team_shared_dropbox_validator, "distinct_member_home": UserFeature._distinct_member_home_validator, "other": UserFeature._other_validator, } UserFeature.paper_as_files = UserFeature("paper_as_files") UserFeature.file_locking = UserFeature("file_locking") UserFeature.team_shared_dropbox = UserFeature("team_shared_dropbox") UserFeature.distinct_member_home = UserFeature("distinct_member_home") UserFeature.other = UserFeature("other") UserFeatureValue._paper_as_files_validator = PaperAsFilesValue_validator UserFeatureValue._file_locking_validator = FileLockingValue_validator UserFeatureValue._team_shared_dropbox_validator = TeamSharedDropboxValue_validator UserFeatureValue._distinct_member_home_validator = DistinctMemberHomeValue_validator UserFeatureValue._other_validator = bv.Void() UserFeatureValue._tagmap = { "paper_as_files": UserFeatureValue._paper_as_files_validator, "file_locking": UserFeatureValue._file_locking_validator, "team_shared_dropbox": UserFeatureValue._team_shared_dropbox_validator, "distinct_member_home": UserFeatureValue._distinct_member_home_validator, "other": UserFeatureValue._other_validator, } UserFeatureValue.other = UserFeatureValue("other") UserFeaturesGetValuesBatchArg.features.validator = bv.List(UserFeature_validator) UserFeaturesGetValuesBatchArg._all_field_names_ = set(["features"]) UserFeaturesGetValuesBatchArg._all_fields_ = [ ("features", UserFeaturesGetValuesBatchArg.features.validator) ] UserFeaturesGetValuesBatchError._empty_features_list_validator = bv.Void() UserFeaturesGetValuesBatchError._other_validator = bv.Void() UserFeaturesGetValuesBatchError._tagmap = { "empty_features_list": UserFeaturesGetValuesBatchError._empty_features_list_validator, "other": UserFeaturesGetValuesBatchError._other_validator, } UserFeaturesGetValuesBatchError.empty_features_list = UserFeaturesGetValuesBatchError( "empty_features_list" ) UserFeaturesGetValuesBatchError.other = UserFeaturesGetValuesBatchError("other") UserFeaturesGetValuesBatchResult.values.validator = bv.List(UserFeatureValue_validator) UserFeaturesGetValuesBatchResult._all_field_names_ = set(["values"]) UserFeaturesGetValuesBatchResult._all_fields_ = [ ("values", UserFeaturesGetValuesBatchResult.values.validator) ] features_get_values = bb.Route( "features/get_values", 1, False, UserFeaturesGetValuesBatchArg_validator, UserFeaturesGetValuesBatchResult_validator, UserFeaturesGetValuesBatchError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_account = bb.Route( "get_account", 1, False, GetAccountArg_validator, BasicAccount_validator, GetAccountError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_account_batch = bb.Route( "get_account_batch", 1, False, GetAccountBatchArg_validator, GetAccountBatchResult_validator, GetAccountBatchError_validator, {"auth": "user", "host": "api", "style": "rpc"}, ) get_current_account = bb.Route( "get_current_account", 1, False, bv.Void(), FullAccount_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) get_space_usage = bb.Route( "get_space_usage", 1, False, bv.Void(), SpaceUsage_validator, bv.Void(), {"auth": "user", "host": "api", "style": "rpc"}, ) ROUTES = { "features/get_values": features_get_values, "get_account": get_account, "get_account_batch": get_account_batch, "get_current_account": get_current_account, "get_space_usage": get_space_usage, } dropbox-dropbox-sdk-python-6064f79/dropbox/users_common.py000066400000000000000000000043261522735175000240030ustar00rootroot00000000000000# -*- 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. """ from __future__ import unicode_literals from stone.backends.python_rsrc import stone_base as bb from stone.backends.python_rsrc import stone_validators as bv 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 AccountType.basic: The basic account type. :ivar AccountType.pro: The Dropbox Pro account type. :ivar 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) 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-dropbox-sdk-python-6064f79/example/000077500000000000000000000000001522735175000206715ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/example/back-up-and-restore/000077500000000000000000000000001522735175000244345ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/example/back-up-and-restore/README.md000066400000000000000000000024061522735175000257150ustar00rootroot00000000000000# 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: https://dropbox-sdk-python.readthedocs.io/en/latest/ ## 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-dropbox-sdk-python-6064f79/example/back-up-and-restore/backup-and-restore-example.py000066400000000000000000000073551522735175000321370ustar00rootroot00000000000000""" 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...") with dropbox.Dropbox(TOKEN) as dbx: # 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(b"updated") backup() # Restore the local and Dropbox files to a certain revision to_rev = select_revision() restore(to_rev) print("Done!") dropbox-dropbox-sdk-python-6064f79/example/back-up-and-restore/my-file.txt000066400000000000000000000000101522735175000265260ustar00rootroot00000000000000originaldropbox-dropbox-sdk-python-6064f79/example/oauth/000077500000000000000000000000001522735175000220115ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/example/oauth/commandline-oauth-pkce.py000066400000000000000000000014161522735175000267110ustar00rootroot00000000000000#!/usr/bin/env python3 import dropbox from dropbox import DropboxOAuth2FlowNoRedirect """ Populate your app key in order to run this locally """ APP_KEY = "" auth_flow = DropboxOAuth2FlowNoRedirect(APP_KEY, use_pkce=True, token_access_type="offline") 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 = input("Enter the authorization code here: ").strip() try: oauth_result = auth_flow.finish(auth_code) except Exception as e: print("Error: %s" % (e,)) exit(1) with dropbox.Dropbox(oauth2_refresh_token=oauth_result.refresh_token, app_key=APP_KEY) as dbx: dbx.users_get_current_account() print("Successfully set up client!") dropbox-dropbox-sdk-python-6064f79/example/oauth/commandline-oauth-scopes.py000066400000000000000000000055501522735175000272660ustar00rootroot00000000000000#!/usr/bin/env python3 import dropbox from dropbox import DropboxOAuth2FlowNoRedirect """ It goes through an example of requesting a starting scope, and requesting more throughout the process """ APP_KEY = "" APP_SECRET = "" auth_flow = DropboxOAuth2FlowNoRedirect( APP_KEY, consumer_secret=APP_SECRET, token_access_type="offline", scope=["files.metadata.read"], ) 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 = input("Enter the authorization code here: ").strip() try: oauth_result = auth_flow.finish(auth_code) # authorization has files.metadata.read scope only assert oauth_result.scope == "files.metadata.read" except Exception as e: print("Error: %s" % (e,)) exit(1) # If an application needs write scopes now we can request the new scope with the auth flow auth_flow2 = DropboxOAuth2FlowNoRedirect( APP_KEY, consumer_secret=APP_SECRET, token_access_type="offline", scope=["account_info.read"], ) authorize_url = auth_flow2.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 = input("Enter the authorization code here: ").strip() try: oauth_result = auth_flow2.finish(auth_code) # authorization has account_info.read scope only assert oauth_result.scope == "account_info.read" except Exception as e: print("Error: %s" % (e,)) exit(1) # If an application needs a new scope but wants to keep the existing scopes, # you can add include_granted_scopes parameter auth_flow3 = DropboxOAuth2FlowNoRedirect( APP_KEY, consumer_secret=APP_SECRET, token_access_type="offline", scope=["files.content.read", "files.content.write"], include_granted_scopes="user", ) authorize_url = auth_flow3.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 = input("Enter the authorization code here: ").strip() try: oauth_result = auth_flow3.finish(auth_code) print(oauth_result) # authorization has all granted user scopes assert "account_info.read" in oauth_result.scope assert "files.metadata.read" in oauth_result.scope assert "files.content.read" in oauth_result.scope assert "files.content.write" in oauth_result.scope print(oauth_result.scope) # Printing for example except Exception as e: print("Error: %s" % (e,)) exit(1) with dropbox.Dropbox( oauth2_access_token=oauth_result.access_token, oauth2_access_token_expiration=oauth_result.expires_at, oauth2_refresh_token=oauth_result.refresh_token, app_key=APP_KEY, app_secret=APP_SECRET, ) as dbx: dbx.users_get_current_account() print("Successfully set up client!") dropbox-dropbox-sdk-python-6064f79/example/oauth/commandline-oauth.py000066400000000000000000000015211522735175000257660ustar00rootroot00000000000000#!/usr/bin/env python3 import dropbox from dropbox import DropboxOAuth2FlowNoRedirect """ This example walks through a basic oauth flow using the existing long-lived token type Populate your app key and app secret in order to run this locally """ APP_KEY = "" APP_SECRET = "" 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 = input("Enter the authorization code here: ").strip() try: oauth_result = auth_flow.finish(auth_code) except Exception as e: print("Error: %s" % (e,)) exit(1) with dropbox.Dropbox(oauth2_access_token=oauth_result.access_token) as dbx: dbx.users_get_current_account() print("Successfully set up client!") dropbox-dropbox-sdk-python-6064f79/example/updown.py000066400000000000000000000205041522735175000225600ustar00rootroot00000000000000"""Upload the contents of your Downloads folder to Dropbox. This is an example app for API v2. """ import argparse import contextlib import datetime import os import sys import time import unicodedata if sys.version.startswith("2"): input = raw_input # noqa: 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, str): 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, "rb") 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 dbx.close() 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-dropbox-sdk-python-6064f79/generate_base_client.py000077500000000000000000000054651522735175000237470ustar00rootroot00000000000000#!/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.", ) 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] 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", "-a", "auth"] + [ "--", "-r", "dropbox.dropbox_client.Dropbox.{ns}_{route}", "-p", "dropbox", ] ) ) 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", "-a", "scope"] + [ "--", "-w", "user,app,noauth", "-m", "base", "-c", "DropboxBase", "-t", "dropbox", "-a", "scope", ] ) ) 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", "-a", "scope"] + [ "--", "-w", "team", "-m", "base_team", "-c", "DropboxTeamBase", "-t", "dropbox", "-a", "scope", ] ) ) if o: print("Output:", o) if __name__ == "__main__": main() dropbox-dropbox-sdk-python-6064f79/pyproject.toml000066400000000000000000000037471522735175000221650ustar00rootroot00000000000000[build-system] requires = ["setuptools>=77", "setuptools-scm>=8,<9"] build-backend = "setuptools.build_meta" [project] name = "dropbox" dynamic = ["version"] description = "Official Dropbox API Client" readme = { file = "README.rst", content-type = "text/x-rst" } requires-python = ">=3.11" license = "MIT" license-files = ["LICENSE"] authors = [{ name = "Dropbox", email = "dev-platform@dropbox.com" }] dependencies = [ "requests>=2.16.2", "stone>=3.5.3,<4", ] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules", ] [project.urls] Homepage = "http://www.dropbox.com/developers" Source = "https://github.com/dropbox/dropbox-sdk-python" [project.optional-dependencies] test = ["pytest", "mock", "pytest-mock", "coverage", "stone>=3.5.3,<4"] docs = ["sphinx", "sphinx_rtd_theme"] dev = ["flake8", "twine", "wheel", "build"] [tool.setuptools] packages = ["dropbox"] zip-safe = false [tool.setuptools_scm] version_file = "dropbox/_version.py" parentdir_prefix_version = "dropbox-" [tool.pytest.ini_options] norecursedirs = [".tox", ".venv", ".venv-*", "stone"] [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E4", "E7", "E9", "F"] ignore = [ "E301", "E302", "E305", "E402", ] [tool.ruff.lint.per-file-ignores] "dropbox/stone_base.py" = ["F401", "F403"] "dropbox/stone_validators.py" = ["F401", "F403"] "dropbox/stone_serializers.py" = ["F401", "F403"] [tool.ruff.format] quote-style = "double" line-ending = "auto" exclude = [ "dropbox/", ] dropbox-dropbox-sdk-python-6064f79/requirements.txt000066400000000000000000000002751522735175000225260ustar00rootroot00000000000000# Dependencies required for installation (keep in sync with pyproject.toml) requests>=2.16.2 stone>=3.5.3,<4 # Other dependencies for development pytest sphinx sphinx_rtd_theme twine wheel dropbox-dropbox-sdk-python-6064f79/scripts/000077500000000000000000000000001522735175000207255ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/scripts/release_note_generator.sh000066400000000000000000000007461522735175000260030ustar00rootroot00000000000000#!/bin/sh git fetch origin --tags last_version=$(git tag --sort v:refname | tail -n 2 | head -n 1) echo "Getting commit history since $last_version" num_commits=$(git rev-list --count $last_version..HEAD) echo "Found $num_commits commits since last revision" git_log=$(git log -n $num_commits --pretty="format:* %s %n") linked_log=$(echo "Release Notes: \n\n$git_log" | sed -e 's/#\([0-9]*\)/[#\1](https:\/\/github.com\/dropbox\/dropbox-sdk-python\/pull\/\1)/g') echo "\n\n$linked_log"dropbox-dropbox-sdk-python-6064f79/scripts/update_version.sh000077500000000000000000000016171522735175000243200ustar00rootroot00000000000000#!/bin/sh # The script is meant for SDK release on Github. You need write permission on https://github.com/dropbox/dropbox-sdk-python to run this script properly. if [ -z $1 ]; then echo "error: $0 needs a version number as argument."; exit 1 else set -ex NEW_VERSION=$1 git checkout main git reset --hard HEAD git checkout -b "tmp-release-${NEW_VERSION}" perl -pi -e "s/^__version__ = .*$/__version__ = '$1'/g" dropbox/dropbox_client.py perl -pi -e 's/(\?branch=)main$/\1\v'$1'/g ;' -e 's/(\?version=)latest$/\1\stable/g ;' -e 's/(\/en\/)latest(\/)$/\1\stable\2/g ;' -e 's/(\[Latest) (Documentation\])$/\1 Release \2/g ;' README.rst git add -u git commit -m "${NEW_VERSION} release" git tag "v${NEW_VERSION}" -m "${NEW_VERSION} release" git checkout main git branch -D "tmp-release-${NEW_VERSION}" git push origin git push origin --tags fi dropbox-dropbox-sdk-python-6064f79/spec/000077500000000000000000000000001522735175000201705ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/test/000077500000000000000000000000001522735175000202155ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/test/fixtures/000077500000000000000000000000001522735175000220665ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/test/fixtures/Costa Rican Frog.jpg000066400000000000000000012645111522735175000255460ustar00rootroot00000000000000ÿØÿàJFIFHHÿÛC   ÿÛCÿÀÿÄ ÿÄF!1AQ"aq�‘ð2¡±ÁÑ#Bá Rñ3$b Cr4S‚’%¢DÿÄ ÿÄB !1A"Qaq�‘2¡±ð#BÁÑáRñ$3b rC4c‚’ÿÚ ?üI€¬«f-}…ž½øÈXäû&ô($Æú’Ä7@£èã­ä,”¡@Ô-sÛö¿<≲^'ËwKƃ¯C†N¢T½w˜P:4´o~jwôýqZM;]ÈH“HÇŒ­›‘{\Írù9ÏÞ!s;v8ÍÔô€ì· *n’.Ú¶ÆQíw+©pŽâÖPuÛå}űAú70yAYÒtÇ74¶†UÆPMµ%lr¨`tßqî°�<¬"ʧ#hm«•7ESQΈ\•±Uåën˜ºÎ¢×¯ì’e“m³,5JÒG¦"»ßücJ"×3Š[e �Ô=F_­T�ÈM‡ööúõÂD ¶Î º}l¨©(@d`CÇco¯Ëب[‡ê¢Yš8ì‚’’)™WÃf�+öÀµÛ�50HËíûû ¤Ê´$³¬†= ‹Û¦b5œÍ 5Ä[”>˜:ÎQ6ªÆO«w݇Cê}Øàî˜Hp±Â©_iÑt±k 1÷_ßÓçŽßB’ hÞBTuu1xä­pv·îvÅ n!4È*”Í>l‘]eM'kµï¹½ùuµ°li&›‘òJºÍe²ÁRˤ’w°ôï¿Çé}T`fV ”pö©ô=wÃKÜï(á’݃Jz µ“^ö¸è1ÄžxVC�×eZ«ËŠI²¥‡Uéñ;x{N-”Œ*ìÔlX‡F^¶í¿ÈØ ·„F„’áH;�ãž~}Ñø—“ÂgJH�â¨QÏW[t¿®$¸Ý„ « $¦ÒH²·Kö¿Ç kÏ!“Õ7ÍN6 FÆÇ{�ðŒDŒå<V”xªÎ·�®IoîúçŽáq'<$l9Y`?yФhÌDùd[o}ñ¤$kð?.ÉŽ7e_#I%›á°¹åîÄ8ø)Ūå}�Çf I !tî <½øMÛ)±†UžTeâhÀþ¬3ßÍs°é¶ÛZØ76À-6–%²HQse"†‰lG;þè?œÛÉÚã~eôO �²“k”÷�ý0¡Ž¾m9Ï!)Ll»}Þ]ƒ÷ôïƒ4M…Qmª@OIM;B´¥Ìƒbïè;ÿÖ$Íš#„[øPÏHã@xÚ@ÞQµ¬=‚m¼§0×(QNJJÃd^vÞçÝ�sˆå0¿ûŠe©ä¸’4ðÔ‚¤æ¨ùá¦Àó.2ÆÐOj²‘ÅÀ:¶&ü°àëÊnãXMÓ3ª˜�››î{†!ÙåvóTS² z‚<T˜ï¤†¿o—,K^挮'± 1éü Á�ßþ7ØûýybÄo0:ÆFˆ(¼WIN®Ö·[üqÝò™¿±Â­¶fPÝmÔûðou )m ÒK") %Ü·á6÷ÛŸ\@qìš9IòѸSR7·¼`ÌŽ´-x옒 t,VÚE¹|¹÷ÃãÝCˆ&©3$i¤‚„?=º®˜c\x  ×%-ȳÝ;·B/õþ0{‘G”À�ÒG6,Ö™NÄ�¹a�‘�臒"5H ‚Aœý{à‹Ñµ»‚2“5«Ëd&2/ø:{‡×\&h�&H,QFøhÀ/„.&ê}ß Eå '�ÂlFP°*5\[ºÐò®¦BìÀÛÊ0[°¸…�»jfPWFý:ߟ¡Ä‡)®SfgÔ€`oîí‰Þˆ’L ]ŽÅyØ~#ÖßÎ rãžW‹H— ¸'rTóýð'<£Ú¥hx‡0Ë™$‚¢E7Û{÷ço~+É£c� »ôlwâ['ö¯™Ò�µÕŒ Zû“È�ùc:n–´¬¹úH³±mܧÚõHІ0Y®@ß­öøÿÖ)?I# .m hËml:.¥¬îµq¨ÿˆqõÿg Žwƒæ*¢7*näI#©‡"§Ý{}~ظޢdÒ1Ñ»âKÊlÈ Ÿ0Ô6õïðôİß(žTËEgE{ò#�÷vÈ»U› .ªÈCµ@<·±å{ó=yàV�¨ ç 1²á,�˜+!#r¸·¦8X4x(œi¶ÛE¶DЬ¨^JM€Ûk_++=Љ g” M !¼Ýr|(5×h·7¸üÕn±ô²Üìn ¿¥úÿœF¢ÿ´.±{B(\9‘””$(©÷…µ‚ì¦;ÿ¤ÖM,­¤Z×$| ; ­/¸KAf Ð:�È#s‚ñ\šXÞèURäÁì,{ý{°-`ÔX8OxÏ�Ü äFâÛoŽ“ÍÁ¥ �GtÓ<^Q¬Ý�¹ûÿ?ñ€ŽQ½î½©2úÒÈVÇV߈úàÜNáö@טûZH–DЪ·äM†ÜíßIN�¸Š7¤qåŽÁok_qüán§#•чdvAšE e‰¬Æû‹ï‰Ú{%okSS=Ûm'm ¿¿»æ÷#)‘8’TwÝöÒáO˜\ƒkóØÿŒu÷¤˜ßŠO,¨9TS{÷ �,Ú<ɬ}»hhvDÝF¯cv"÷Þý>¹bAî¹Ôë)�BË#2‹…ûÖØ6¤±®Â6›3’™‘HÜ€6Ðà% ŠK …&3:YŠ­Ù_k¯Æø—Ù+•ˆ`§!×Y1Õkì½0[ÍeDƒ|¡§�‚»FÀ`“Ì�Û7x9ì¡ÝÃIÿ¹gXýû’ì®�\a5à-DÃÛ©¿NwÀ‡Ú[Iº 楔ª¶Ø¹ºõÛÓ§«_Öe³-Á¹Ü¤®6ü­‹ì˜÷McÎì¨ié€ £òÛØ?DRos½½ß,7Äo<¦5ä (ù©å¼IXÆwÛ¹µ°m‘¾”Q’ê9MˆÕÔ�@ ]ƒoñ œ^;‹L‘�æÓl¾¥ æ$I;ú^¸�¦ì!k‰Å¦Þtù¹_—¯Æø2J`y¦–[Ü·øõÆlZ¢ÚcÅ9SØA·-EšAZRÎ`«#S£·3ÊÞëœkÅ©Sþê Ò.¦, ˜HûMî»}ðç4:ÃxJi>¨Þ"Kd zwæmq�Ž08w–ò˜ª£–ë'ˆ†Û]ë9“ZÓcº¯VÑ1*Ûð®äßôÿ€â2á_å¨IV¥’ä‹Ý”\2ô¿|5„òÔaÕ�›e1XÞ&ŽàzmŽâ^—ÞBKÅâÚ$±±¸'U�¹cƒ¨Ó‘µÄ(·€3*0:IµÏ{txrhvì5"„[F¼û·çn�0–›*³XÞSa@}®ÛÜó8âToRX© cÓo­† ½Tù»¡‚’t±+¸îoõßšZ@Â!ÖáEÇ ¯mûâ)mÇ')��-r QÛoñ‰LÜSZ®š€ÖÖÜ`ràPÙM£M'M÷6ì:z`üEÛŠÆ‹›¯‰m�ïϰõÇgº/¯+N…X @s¹˜ƒG²ÖžT­>s˜Q�pÔL<Ñܟ¯Žý;]‚”èxWŒ£ÚVeFm.™{ÚßßeéM»gMÒƒ�ŽVÉʽ«RÎÑŠ²!"å�ö—íÛÝ¢•¦ÍRªíoÍ_©8¿,®hš–¥C}ùoÓ¡Â$%¹¥Ÿ0ã�” ƒ’r�ðx‰äcrw=oÔã‹ÁAžü¬ }$Ê.Wn½z›|F~qÂ`u7)E4jº„7ØÜoëÏdÒKºí+hR»�-`6¸n4´ÞAè‚h Á=ý¾Xz(h¬�h:…Œ¶Wµ¯aµ·¸ÛÓ ®AÂàhnzgÀüK©üÏøÁl aP¢P²'€iÒHÉÉ{ÿ“޾ç)6Zy ac*—B¥oskðÄ‹GºøÂËÅâ�d–;^ê?Œ©ïm´8r’" ¦M"+�±~×8Š<9 d·”4”�) À«¦à|z_¶;sIßgÊñÇ,jd `ˆW ù`�¦'X XCI[[>.�ˆ Õ~°·0ß²cZà0*Ò"™g·‹#(Ìç·/^˜�†¹Jh¢B’†–*À°]DóÚöÆ&3Œ,f pÂ�ðÔÙ¬‰ÚÇ‘¾ÆÜ¹`ü¼دTÂ4áÏžÝÇv� i¯o=ÔWÝ×S§„¶Ô|ýÿ~¸’ð9)-~ìÒhÀ é'}��=N×^IE3°L4 ¶.»î:ÿ]ððïíFE5<´†Á ßku>ü ÊèË»¢sfxÈbltôõõÂû¢9ü)³••ƒ›s¸WÃev2†jvem!M® µÅþ­‚¢c¿òg¤_3ør�ùËŸ?^¸–Ø K›F¦Ö \v>þ×Û/ºkg#„Ü�€I•ú[Ÿ×Zm*F��mŽ÷øÿ8� „`ÒH�ˆ]¬T_—{wÁ‰]Ý9í±„‚¤µÊÈGO-ž¿L0;ÓºQ¦œ”‚mÙ ¸eÜ{° ɱÊh{‡(wo&Bv$oË•þ»áìuàòˆ<Ž8L eT!ÿ°CÓ·\M_�Þë&1(y�ç¾ãùéŽ(šâ,vAJAð�‘…¬uŽcãÐâ[ÎSûH¾¤"Tvký#Ee±€˜’%±Õ¨séîúõÁ5ÅrVE �ó¶¾ü�Ë÷ÃìZi6›Ð¬‰uò÷Øíæè…#Ô¬•Bt·ôÆ«†ãO[ã·B‡8žòƬDzJžv-k‹wÁ€Š7ú¡çC Yðac{_»˜åX2n&­Êj¢xåtS}€:O¿Óõ==�m÷H| ö[Ó%⌫?TxT¹€·2,Ã÷Çœ’ÀMð±ç…Ã^©3™iXC›Ä΄iGàÛ{Ø·§Ö‚)£ìªÖdÉVŽ•ÒŠ=�ü÷°=±«Å{%^ï+¸AOF5 #,$°V�wÔI±ÂŸU¸pˆEg(ŠØU�Yã0;¨ßü (±¬Ç?¾É´ã—Œ{(:š9Ž€°*›ó6k�^˜çÞÌ`{©„ÞʽQTJ耛l?‡m¿œ C†µ`†ß›E:x³#H�ˆk�ýدi·a7p"‚X&ˆI0 c#ð‹‘~\�ë† «Bé\~‰·Ž„Dž&½BÊÝïÒø kl!k‹�œ^¬‰¢,eЧpָ߯×,9�Ü,ržÓnQ…—hßñ-È;Xߟ§l4Ý[°9åGšrí'†Ò“·—ŸçÛl0?ÕðE3�KÌZ6½õ €Þ–Ú,as½½O4ðNUUSqk�A½?< ƒN-K™c)`G3¿†þ û��Ï+M¯ˆ§ÂçGCÍÂHd…ä`ª‘nŒ6÷ áÍ YAøJ ­ôÚÂÊy©½ú}o‚±Á\7LÚ•‚Ç%·aÈ‹öúçŽeA¤ ì™’ˆ1fÖH¹¸ÛMöÃCÏ! &ŠJ†Ôñ‘ÐÞßæÆø’{ŽQåyã?ù‘šDµ·»†‘ÁRêí [+©u`ÛV7ôÁµÄ<&¶K!ü]ˆdþÞ}Éíþ1`;UÍu”O‚És"‰Hßr-ñ·Ç9Kl—”9•ˆþž�WÊÝœ†.Ê,dÐ&]ÙM‰Óµýø:®;%2Çkù7ö¿åˆÞP°“�™*ÃPV ¡¹­× ÁwNÃp’j½ÁæA÷`EÖQXì˜Gö0¹·_çJ*^!cܓ˟NƒóÄ(¢³veVcf;‹ì~”F’O„×[\Z߀»9|±%�Ar‘¢Ìd¦‘uO"‘ÜZçÐa/„;²LÑ5Ã![h8ÿ4¤ŸY—RÞÞoN˜¡7Jk‚¥ÿknÜ-�–{T‚M0Ô±‰I±7#ëüc5ý Ž2¨jz{‹pó-âê €ºjT’m§žÞ¿,!ÁíâÖtºB?µc^!‹ø÷ÈÖ¯<Ží¾d>”¿÷™¢c ¾«–#c‡G©67 ™‚8�%ÒB0okß¿Ï(¹ª`%�í"h`eÙ¬¢7 za®Û€-Ê1Ò1Ø&’Û_}÷ßß�q ÐLcŽËu¡.åE—�#—ùþ0¶×áEºÎ³ÂLˆÁ ^Öß¶ ¬oKÅ¡`Á†úv½zœ-Ì£d©ŽÇ9K]¬ ¹’=ýºÿŒO%)ÆÍµ*Øö6Þçèãƒ6žKI«ÂâY¦ë{�×üû±>j¤^S‹´ÆÑÿâ:­{Xß§o~ø`v,œ¨psFSL÷AùÒýÇóˆÙcÕvâÖÚô{ÆT„ÜZßÇM°ÙÊ\ôJzu�£‡}Zv¿Aû{°Ö�xM ;Ê0ƒš™cM!@b»[·¯óÏb³Hwm6]I¨éN�äk�–¢AéÌöçl�yÊKDñ2]¼$Hú½þ­…¶3ÝtŽà„ÜkLOp9úÞÊCKßtp‰juTmú›|/Öø’õÖÐ=Ud7e�B©Ünvþ˜]ÙÉÊéFG µ¦VHÊ.ã ñ.ã"Ô�¸YLý×À]hO2¹Ÿñ‰§UÒàX4å8µ5*¢êþ¢ ¹�‡}­…>"îëšFÓݹ˜k™U¢mVól=¿LMÚÒvŠQ 4R+1•çk_{w¿lˆ­ÎÂ!ˆÚ ¢D!? ÿQ…¬@ßlpØEƒhß»°á60URƒ%œªåU1;5ÔnÆ÷Á³½ ) ÎT|ôÌ”Ž|ˆúú¾Ç´‹ Ͱh]! d€Vú}7¿¯\ Œw–�(`B�6IÜ[Ÿ¥½Øa®èž,e$(V to}ímþ­ôqY¢ƒe4ñap£˜$t¾&Ñ6ªÊIº¿¹i!G#ÊÆØŠDÙ=W¼;Ü…Ò×òXÛӗþ†Tš8F�F³}-¨Û¯^¾ýöôÁY¬#pÊxÍæa!66=ÿ�ñ8«!p’Vê@±…Ô ­¸ß­ñ R\9% Cè¸q½Îö?Gëlq¾êw ^E*Î@æ:žØãÂîÈÃv²î.Ak�ñ€#(A#&» †áæ[w†½¡®�ºgTRØgPôÛÐyýOH-;áÇ·e™¨ÑVBÜ´”‘•Y=bÖП mC½±Ÿ¶VºŸ…–ø‹M?E=c24‚¤ÛXÓæCÜ‹òõÝŠv;žRM�š¬ËI•¦y�6·cûŒÓ‡pˆ7w "¡<9.a ¹_Âê0/†xLvцPS’2<(åQɯb¿Ç\(ÉfŠ‘€²£&¢»þbMÇ›uÏäÆð@§Æ9ÍÏDHÓÒ�}2G}´› ›òýpÙÍášNÞy*°»Ê³22©¾–Qb§­þ»bY(&‡+˜\M¢ê�%’ÒÆDw½ì.½ìzû±-‰�hï…% Ñš$PØŽ¦Ý}÷Á¹ÇvSC¨eBËwÖ¼_N_÷}¿ë7c~ì”ÓÆÒ³†g¶ Ã ·QŽÇeîiöLÍ„Êd7^@Güa¬vìQø˜Âa´ü¢Êm£•úïŽ`ì�Ò^·¹3(–!}Åî�0Ñtv…Ðq‚‡’˜”×fŒþ#}ð-É¢ˆ?9@²²ª‡*uSÎÛuù{°Ó·±Edþ“ \ Á?òn·|þSNáɨ“:H:EíËŸÇü`›}ÊçHÚ®é“e{é‘VüöÛ¯ÇáƒužToIÀ‚RD ø¼îZÀ_Æ$:±hŒˆI¢ ©e_`Pýo¶Šj;¬„�÷j:›*ƈÖ:GEùâ_¦-áCbp$„÷Ýá•|…Wkn_ç$p4„<ŽS-HȾP¾2o{õú`�wFÙo²L‘´wi�ðî ï½íúàÁ±…ÆB0S@m{ Á¹¹÷~øì®`+Úu‡!vµïïüñ%Àrˆ&0ÚúO›}½þ˜›M‰m˜jè:}oˆPx¢–@Sf,¬[ûºŸñŽ]Á¢›Ô# ¶ 7±µ�½qʈµ¿¶˜åÉ,?·Y7ÞÚ­Ó]k€ôHi¥¸±ÚÄ‹o×ôĶéÂBi¾žW&ÆÆÿ]7ÁÒæ‚ÔÐ�Á"÷°äß[`‰DОB«b·{_Ÿ<,Tîÿ :ýR·jÐRµìu7gÕæ¹ß§¿öÂü=ÇÔ¦Œ!£¥(¬á.¢6öÛ—¦ØçPvÕÎþÑIØã,K!Uçkž~ïÿ¤m這—Îâ×då5>çÌ£Q±#¥Ç.x‚ý¼ð¬JY·Ê?$à‹R©V÷¸ÓØz}z`‰)EÞ\p‡¨¦ �E¬;ü=1 yv{®¼mjé˜5ÄdBǘ;ìGÖøq¯ª6¸nÈIXQ¼Ë©@6°n›ì6ôå…5íÝNM°ïÂ-5$ry­fßVÄÛ|vÛ4Rì{§‘–ì¿âßb?}ðq¶ï)‚S·u!§‚9 nØ×#�sîè ›ýÀåe(ƒ„!„f÷üBæß ²¡ åYh|1!K�È7é„É0¥ß!Q’DŸÄ»µï°ÀÄöAµßˆÒv(Á¬ »t'sïôßY´ÍävLÉNÀ# ‚Tö÷Á~!å(7Ù±…éi‚†Ö¿Ôa{ߦÏ‘5€{‚„je:J–Û¥ºÛmþæ8”°æ^™¢¸ T[¾ÿçZ8<©ßœ”úMQ…*Å@qÌ\.GP šìQ+W ‹HMÇ+�‡» s\<ÀãÑÉó'ÂD哽�ØbDÂû¨'s¼É‡¤�)»ÚÄí¸Úø°ä¡ã4˜ju „ )ÌŸÞÞì$»4a62P…H$Fı$\%î-¿>½qÛÏuÁͺjF„*RĨ7ÕÈòç€ ôGÀÊa¡½È»í¸pÂ÷U¡ee÷tµœù vÚßãž@Rhmòšh€ÄvUÛÜ}~˜nÛÂ’ðÞM$ÔÀ…acæ7=Aåþ1Ñ0ŽJ'êxì�zp Ýtµì-Óµþ¹á‰qÊ8nmJI$ì·7¯óòÁ +Myîr™ðMŠÝbÖ$c‹‰ÉEwÆòÄlÖ½Æûr?_Î ®öFçQ5á‚1ß{Üö;›ãœîÈ·WtÓÂT5ÖÏøm}‡ÕÎÒ´ƒÊâ'`EˆÔm±Ãwû£Áá!Lñ-Ô,%¸9Ö•fËx¢º‰ìíª5µìz~ø§6„…Jmãalœ£‹¨êY­±$õ÷zã&x^Ò;Ÿ¨Òä­‹K] ÊoáÈR íÏùÂãÕ{åUðÁI3}ÞA®åÉ òŽþïÏ |Ê(W6TM#æÎžÝ½Ã–&š›¼ÝJ·[JÚÒ0„’EÇuô?Æ:@@»Â1!‰PòÑZB®Ûò¯»éÀî�óz‚¡ª©dS«™Û¯¨ýðQ¼Õ)aÜîTy‰˜`�67Å‚õ`.Ä®¯;)¶Û¿¾9¯ÍU#ˆºªÒ7e’êP¥À¸ëÞÿ,1΂¹î¢—§NÈÁ9|¯ßçõ|$’NT°Ùå4ÈX†- Û™Øÿ�°uÚ‘µÇ›L8ÒëÆüÏÃüaÃ…/5’°"‘™´„ÑªÛ ×~¿G‰AKI acI¸n/mï}±;¬"{¨ßd›\é¡°#Ð_ürÇ\( rž)亅¶ûߦö<ë(�®JñÔ@çkõ÷ÿ82…·XD4ƒPÒªÀ‚ÚHÜúþ¸ ©!ÙY`)Œµíåÿ�­Ï[|£m�Ä“©‡•A~WØZý=ý0u!—iÑ6‘ua«’ÜnOoúÀRȳ�¬yoæYc/ƒ<ºÌ�×åËߌíF‰®7I2i÷ù­n<ƒŒrüÚ5ŽwX§+kƒ\Ï\`j4Žˆ÷¥Fx ]EIfTLÏeknä/ÜÛÑk wt–‚ÞU*¯(’�ä€vèA×ë|mE3qê˜\OP2D÷`ÄÅ®9uïl.»Ó£ºÜ…š{É (0êq {÷Q8[-šqQ�OŸ;"-ü¤/#õ¶‡èŸæ¡Ý 4Z#>gv7Úçç‰/Μp†:�~&½Çá7±éÏ÷Á¸ú„Öý�íùµØo~}9ôþ0ì�„.yÉ(OçpÖü[~Øa%8?L²²XºEaa«p-ïõü±ÍwpšÊvJóBº–Dm~[\X2âpˆ02’[ܰ"âç¯é€! æˆMʾ%ép‡K¼P <ˆ¶ÒJs6ßã†4Úe“�‚Ó#>»¾ã}ÇÏá¶ ››M«¯ Ï"=×`w¾Øã€¤6Âò7Ò…[™ß—­¯¾ØF.© ,à�Y‹¾þ_�» kû-’�ñ:y‹ÉµÍÏ1îÃÁ±]“¶Š²¬¹æYMD^ ΉmÁ7Wôÿ8£«Ð6FÐUæ�½–÷ȸƋˆˆþ±ËsqÉÒß+õÆоUabj4ÏÎB¿ÓfÌÚbÍ×îò€ ›š[ôl]ÒëÉýÚÆ�q‘©‚*ðþ²_b¤‹�SÈãH¼€Oä”Ç“å*Õ}éB<ëºÙ�î¿•ùáf2 8Mp Z…Œ‡ñ¦×àMÌë~ Ÿ®xª\CI]´;Ù+Æì·A$öP[ zóùÿ8TQØÎ}•�¾Šž–HÏöDÌÆúyrï‚6J¯øS½¡¾eô‘ܨ‹r¿6Ã�½zá®9°Ùä ¥‡Ã"vÅJݯßü`Þï/˜YGºû ä€¢¼vØi#ã¶ 9IˆRǹ¼•4j£xj ×$¶¿Ð÷á­uŸtëîJ QË”­üAqmˆ·”à�ÆS\Ñ´‘‚²‘¡¶ �}ôö'Ó¿4¥¤¡4:YΛ\Ý Ž_®×"¶…i]$�Á{(ÚÅv7<¿|Gª!IÅÍbU!©  ¸b;ܰ$‘î¹®Úl¦„^ 2¼„î¶«õ¾x&¿v ,œ¦jKÉ$“c½ºn9aÄåAÁÊnD%´Èº.K/fõúí�ºá00}Ï!>$eïÍÍ·ôÛ® §ÝëÛaMuå+Ãn(œÔHk¨[Bü—¹÷ÿ³ÝsãnÞ)2Ç­ÊZûúúŒH([% ¤…^ö)bUßßõÓè�~‰=Ñ1B×gÕ¾÷6÷aM (….­Ç€ž0V¡¿á�ž ´“`à.d—å >HˆeVñµŠÛ—ϼ8–ž<ŽÁ559ñ‘~c—×|-ÎxòŽTÅ9=ÓÜjë¿.xdrÜäM�¡Ôx�³iI$Ø6ß!küpovEqù¦šÛ”Ï„ér @lBۯϦæ‚q”. ¬§Òª¤y—@m{õïïľ7´„"ëpNŠ¸Ù´:…$ ‹òõ¹ë¾\Z( ©Œ’yE²ÓÈ— ¤pׯïŽl§‹ Ęe¤VTeæHß¯Ï ˜–»¹DKŽov�O‡¤µÂ€@ø[µÎ%¬$PE‹C�r%]€v~gkíÏ|ÂE™$$ ¸PuT„±Ô.Nëe·ÌâZâ8åc¯ ¢•neå¿×å‰ñÝZ�樕5~"B°\{ú|°ÆKGD £Z�WpØ‚H;ù}vÅ ëï„À/„ÛjdU[Ø›¡ç~Ø‚á–;(¿îoÛó?‚ÙcBµù_˜ÿ®ø-Õ„[‹°t³ùË’Á­«VÄ{»mŽ‚ À{¥ ²)`þHÛ¿Ï]è�±âŠÃÄCOu¹søté�2f‚[y§:yy–°;`Ï ]DðœeÀ�®EïuÄ4„E¥£„¡±ŽêA<ÈÞÇlân� #Ì–c'Jé®uoµðf€Âìä¯A…ÔÛpGqðÀ5ÖXJó^C –·¿Hî÷þx›î¢«ñp’×½Á]íÏ�ô;ûðÒWÚ¶”ü²H’C®�R.-ë~Ø«$[°Qµ·øÍ­�Üw-0ZLÉŒ�_N»\¨=q‡«é=ÛÙgË[J è3zpÐM jæò¿LeÅ3ã'ÄUfcÜr«9†Iá30Ê¿ò½ùò nA©ÜÁê¦9hÒ¬TÒ29Ô®M¶6?ç®-ì±ä(ÜÑÙGM$Å(�çþp’Úã”bBãC�£äŒE”˜±ï¾.€)�å߈R‹š9�†�˜�@\mï,"Óh÷Âa¡2N¢Â×[~¸|NÙÍ#y¦ç„<…vb×6#—Ç߆n¡•ˆÂh¯•Vàß¡éòø ^@ÁDÁe "°!•BØÞæü¬6>ì5¯qQ—5ص†U’åc´–H<‡a‚w¾W@Z L±$‘T¯>DüíˆÚ’[» %™#I½®|§®ø�Äð˜,¡e€ë�ß{ëËüa�‘ßܘ\t,‰¹"ûu¿¡·»5•-w`°–‘Š“`èyo¾àjÑäŒ'/­�dÐ,n¶åé¶ û(°ƒ‘†m ï·.F×퇴…#„”zQB°uÛ{�rï%Ó‘]yJM5UE#ê_F Ź€,2HZàˆ†»ÊVÜá®;²%nRJb4êbI‰·äqçu]8°ï�•Ÿ.ˆŽ ÙñVÉ }ë(©3ѹŽ÷ß°#ß…7RN$4VsÍ9 vŠ8s`&Ž#[y•ü¦âý9õÆ”;'”·¿j¼¦$$E—¡åkó¸ýðÉÚ8”âÒãèTI§¨€H²‰´‘»¸÷u=7À˜œÒH¡H·Ôä鄈àyn5z(ý°—>òp L2xA5>¨@’HÁ±]Ã(õúé�{AËÀÏu <-wfOé[fT¹C~¿ž"šyRÀÓæ*ji" ³4€ùƒƒøvÜ^Ûò&K鄯µÕæá0щVAPÂ$ÿä0e¤Rd °‚ª¡ ÓxjQ ¬7`á–Å8®‡(ᨶ}טÜõüÆH¥`y4“6•€…Ômk‹lmanX€îã(¡m] ¦Š0¥UM”�@Ûc×á‰cÉ)Œ�žÂ쑆%•wSa°ì~X±ºŽáÊaå8$Œ¢¥COÂ$µÙyóøã‹k7”f|¼¯T VY#ÔÑÞä¯/«þø(Ü8*X{!Ì(a0@úA[ ߥýãž Èm5ήPî%YUg£¸$�É>½\nmw˜,h ‡š/ÄJ�˜]9__éÊ!dåkRd`‹îGS�‡`ái´XÊò2°6 #bBßslI’¦�d¿5‚€±°æN¡�8Jð¬`-¿ï—σ$§!yë­ÑH#rp&Š�¨´«ž6kë(9wç·¿X 5a­OŒ– 9Ûá'Oè–c†ž)¨'kÜùqÛ0¹ÀÒCDˆXéSap¶”8ã ¢Œ¥…£Kóºî}9a2Xƒýç­í²ÿ>üÜ.hÎA·��k ˆ>üK[…É ×lÔÛæ?Š"¢�ƒ?™™�^ãêø6–’[‰q9XŽá?n—Ûóí·_–!ÆÂkl3qD.�ÙRäž·ÖøTPí÷A—'ÐÄö�×±·k}|qÏ¿•iô¥†ŠãW†º3~_[`Ã[TBí…¹¬&$ŽÅáÔ �9�ÿ<+Ä ®yÛ„D F@ÈæF×î7Ämk�.sŽãßúw vô?|Ú<­4�‚-ܬ=8Rì=%vë|ÚÊ $í^ë,ñH5a­zm½0bnüFÆ´Ä”äknºA77ß݆7p8ãæ�@ )–ƒûŽç¦÷ßµ°a÷ÁPá|”#ÀÀ\¦×ØŸ®øæ¸nÀš8ÜSN¥MA@bMÉ:úœxqò…ͳÊaôÙ‚,lÚÈÞþ–øß ÃyFàëÁ@ø$X¨ón.6>Ÿ®uþ.5¤r˜xP-cÓ—.æÿ?v¸Vß- y¢`¬ŠÁï¸å·ó|"Ê&;jXЇº…{Üö^__,êá¸á é¢9.­m&ÜïïúÛ-Xœ&¥äÊc^ÜÆþûá­'²&P8á4z? ºØnàÞ¸pi#”gœ$*(rãW.ý‡¿HôDÒk Ñxˆìc, òóúß® ÂÅ."Ç Á”ñ%m$Þgñ"Ú×çÏúôÅ)ôMw ¬šPF9[*âhjõ.²Œ<¶Õ±÷þXÉv™ÑÚË~™×�­"¢T ÂçbÛ|ð¶Î•ÆÕy*¨&ç§Yy>°IØuíïÿ8'ÈÒAADbÔtÔ!ƒøhYo¾Âà`Ý ÈÜG­(9èYYG„ [rÃ÷éƒS£iuœ¨)©’2èn‡›–¯PzôÃÈÚâãsÒÇç‚.”{ÅXXÐɺ—;“åéóø }¥¼´ãÑ.ÌB£\fí{œ®iO½¦YBÉxÏ/-ÇOžÃÜ®ñ/„âê`VÆÅzò?—=íˆ�›DÒÛÇ+#‘+¨7.|ûWÄß< /ÚS‘ f³ï{ÒØ<�åáuŽêy2Wj/½4máù¶öÆß®:'.ÒÜçúXP˜deRÄj ïϵ¾¹[Xó.gÍLe9õnS –)d[µ¬{õñŸªéâLÒQ�·åån,‹‹¨³†HªÙ!”�)¾ÇnýñççÑÉB¤í9qÀáY*2zyÕ] "á†êNµ§çÓºSØíÙ*£_–4> ÒX[±òý_p–÷LŽZÇ¢¨ÔÁákvÔßqsÊÖï‡2‰áª¼ñ5Ü-ç‘q&[ŸD ƒAZà½Ç|y×Ã4»z¬©!sI ûKšˆGYÈÀ‚g·•ŽÖ¾÷ÐÒkÚæ�B£dYEÕSKR$‘P­×ûWUů·ç�0Ö–óòDgàbjEP©pUÆÂÖëë·,WÚë¾Q2G®°ðæ Æa¾¤lyòÀ8E¡€&Ü™(°§?ÔRIìyó'·í…;Mn²m6¡Þ›PI‰>-†Çu¸íð8†–ÙmÒ³B…¨Ã½qÝ£Ap‹…õðqÊlò¹ï7Hth£j"’X,BØ‹}wÁw<.Ûæ¥-?ÞCMˆc*ªžÛòï‹ ipõLÞæšE4rd,Ì Éõÿ?Æ:ͧ®ËÊà°YWNäêQ»tù�ˆºáÜ“Q*Ò¤„³o«U¯·">x&ÂLIªQR«GbH.lnÊà k«…a¤v^WðÃ)C½ÒÿŠÝ}?l8Û²¡¬)mÍýh‘¿žia¸ïÛü`�Ó—‹ ¡Äk;;ì|¤‘º�·a\$.á3r·+m$¢×$õùâD&²�ÍjàKH¥€gû·\o `-T°¦Èì˜�7&û_—øÀî¾Wa,¨±<�ùtý±Êî‘ÉÉK�sÞøå �—øÈBöM»¯ß„ã+&Ĩ,c¸ëÓn_ž"—ù¥±Tµ¶¿§3ÒøàWR÷áhäPJžb÷¿»T¿ŸDêÔJ®@‘Jß™½=øÑV �Â.:âªË(!Àç¨òßÓ˜Äû„¿Î~óÚà)øüþºàv•%…=híp aÏÔ÷Än()'‰wò‘èM÷¾ì\Tí$&ÚnªÛm�÷~x‹*EV •>[ �¬6aÛõÄµÈ¹á ƒä’â ò6Þøš*l�”†Ü1ÁG>öëlsE.$ZÁ@Và›ž¶ØïÿxçrˆÒKTm\ÉÔ-õ|\.Ö¢\&ÍsÌ^Þ¾ìAjŸ’Akå1©<¯°ÁRsIÍL YšüöåïôåŽS„ ^ÁF’nz[êØT:“‹·"lºçë÷Ç¥¼'�l ½È é<ð²Ô¢Þö�y]zrßúÀ×bƒ`RôyÞgJcðç”5€¹mˆéñÅit‘¿�«Ë¥iWŒ·Ú5e?†&´ºzÞÛtþ}ø þ”9j¥/L «õ´˜ª´¬�aÌm{óøc*^œFB¢þžá…|¢ãj2 ‘a¤nvçolšñAR~˜ŒR±AŸDÁIe-Ø©ùuÃ"œŒ„°ÙNw*B:´™�R$aæÛo¯N˜xÔ4ä”Â7ymcTr’„±a±¿ov&9åU.Ú*é¢7V²’y{Àýùb_`p‰îÜl ^¬ND—ß$ôTŽs•‘J·½ÓsmÏ-¹;qç|Óâ´¦ •¡‘øo½ùžØ[Áîp€r-y©€P¤"*Þ÷æéˆiþ़ÞS!d�ÊÒaabyà‰eŒÖSfBËåX.ÇОØŠîm¶”Ä…]•Ô�FàÈ`w‚„FG)¦AnAmkÜòúÛiYDâ ™ê6Ôm¿;|0§W­©q$m¤Ã GÁˆcn¦Ö털íî‰4 çN“±?ÉÄ[\)¡Ia¬ÃÂÌÛ3ZÚ·Ç円¸þ �††dÂáË­¸^ÚºŒ$’<—HÞÑÈ£d¦r(gsßm€ßᆆ†¶ªÊ&d¡¼Rˆ21ßf¿/NÛcƒAÁåhd/ Ê„�Xµ­¿÷¾˜ÂpWxuæÈëXÊ0»_qa¹ìpÙ…7hAdœ¢dx]‡Îý¯r®ß÷ˆ_âDÑ·$‹iÕ¨ Øßç‰io)[Nìå ,-–`¥�šãmþ ± ÊinÒk²¼ÄÙAÞÂþ£·§sƒÃÉÂiŽÚ˜9� n@¶ÜÏ}ñßTf7~´ÑŒÖ+où¶Ýïˆuv%ìäa1÷{ê#Rmkž›ÿœ1Ï¡Œ© ��·U%m{w öÛ eLr�Ô2R€…�{ýtÃw„ðñ~é‰!ú€){ݶ·óîÄTÍÆü¡ceRÚP)ëkméòÚ}S�­¤º�ŸÌ/r>ŸŽå$ÒnMîHÔ{�bG§ó‚  ¦ý°K*ŸéÉËrE�§ï…¸ê6îÉVl»Š*©š8¤"¡#Û²èr0U)´¶-l̯=¥¬i•cf¸7"öô8Ë’ÃeeÍb¶Óµ4þrí¶×õ?§ËÉÉå/¶b«.†§uo¸µ¯õË lí7\þK·ž«Väæ6� `º|Ö?‡êý0ñ-Œq–Œ¡ê2Û•à7¿”ïÛâ?�*KÀÈ ™"±#A`¸rÿº°�„#‘àe`ÁX�NÛíˆ0‚2¤�E±¸s�ªé^(jú;)�UoÓë¶0õÝ-®ó5RÔiñÅ-ÃHùvsN’ÀñI!]À潬qŽÝcâvÉÕg>šheS³‹D¤Â—kûßã�A§ÖFð/ â{@U‰éäBÑ:é°·Qß¾.FIü&Â`-8QŽŠÊë !n$›â ’EÚp-#- m%Ü1ÑqÖÂødn-ÀüйâÀ´,”úc³ hùÛöÁ[‘ &ŠÀ/ÖÀòÛ®8�;£åµ™ÚOpÞýÿL«L96å‰ïo(nb×øÜŒ0N:PáG%6HPÁ‚¼<½ÂÝ»sÀ¹÷øT†4VSB%å€jŒÂEŠžZ¿LHy‹”d�SVÆìtŽ»ËsÛ¦ÏdOÀSŒ#ºÊÇnØŠ7aA%,o›�}[m¾ ›åO�ØáUÑYT+ßrÞ»~˜žêË*°†ð‚¸ð]öÜÝ·Ã7�ï<†%õ¿�l=À`þ¨žA CÂò†gU-¿˜�˜þÇ×R,UZX ± ¶±ïø}pÁ%¢Ž� új©)Þ+ŽÌ$ÚØ‡Â2HVÕáÎ?jm4y’<Ðþ@ò÷Œ`êú]�ÌåfO¥;NзW˜¦§.˜×Ð5‹BHºØ z[×öÅ5c¶‘ÂË1vSPÕÚ KFc¹"ôRycqºÒò–�ÑŒ¨:ê`Ú‘™Â éïúbÄÂòWDìùUi©Y£:HeoËVöØá;�GháXk_ýÅG¥Z¦¹bHç·_–+Sœ-¸)¯ hÀôÑT§#"’ ¹ �·=6ý1.ÜOšç–€åGÔS°h„®J(m@۾߾$�_š‚Û;PUHçñ´H¾U!lÛ¨Ä5Û°àšì‹iá$S,ë'Œ‘GPX2†äÇÓ±÷ü0ýÍhÊ€Gºˆ©¦–‘š){0+míßH#áq#” jEU‰UÐ’»Ø_±÷wÇ(à«7ž~HAT`Uu6Ü�oÏX+�¡’†zvUŒÃ"Ë«)[mÿòŸ‡®8:Ï �‚�ÂBŠÌ�©÷+`vúåë‹PFXÞè�K;¸`"š×ü ëéÓo\,¸¥ºÚ/²`G*¾ÅUú‚=ûöÁÛ6åx"‚ÔÊ,I°;››r¾7Vá$ ²�1 Ô}{ñÊœ2®¢ÊFâÇr}qÁFÚK[€^öÚØëPs‚�F¹pyoû[®ø€ê–B(Rì ù¹b-H5€’P±$iû‰é¶ @>éLÙ�Œ5ï¿öýl04§pî±xÒÈE˾çòçŽ ¨Ý|$×»( NËÓ¦ä`©vÓÊ]¹é7“ª›ÚÿG/ºâåeHÊ–yäëõ¾; @„ø¨–=!X8ÜÚüûØŸ×Y|(p�ûÏ�–`¶çø®vÛ¿¦aKh%:4Éf.AbÜöôÄQ  ÒÃG�‚«_kíú~øà}PÙÝT’ësxÁnc·×åŽ�=ÊÁB Õ$›oªçŸ¯ñë‰iLÓ’B’ɵî/|*¼ZãÊ'BFÞëýsÄ`’.T�©ok rúç‚5ÝKixM„d±¹6¸=m߅ά'ôD5Ó}ì/|+ƒþéå@Ýl×ÜvÄmGÁ²²5_U€^‚÷ÁPBâidÜó¸"Âý??Ž%¦Ðœ'ÂÁ¼ª9Ü\[ w* —�Îê.FÃ~cׄ%«é*ÂFú8‚ä}>gSLWÁžuÓÙˆÛÝòÂÝ ]ÈJ’»*ÙEÆy„>Y]$E>kž_/¯ž(»§ ¶•Fmr½å~Ñ!"?¼¿]®}ØÎ—§¼^-S~„³!]¨8®šm.²¡Q¹!ù“ÔTq{p,ùt†Õæ—ˆ)¥QgUnm·è1ÂbÓIOe åÌažä½ÍŽÀÞØdZ�NN˜Ö¹¾p�õIbK°µ‡QÛë¾GwnS�fÜ&ae™Ã²1æBßs¿?×ÖÎRl"Þ C( ϧ¿ë®: .‰ásN(ªÀI{\)µïqŽ`h9¥!õ”2Äѵ�«(­ÈzËæ‘ý×JZüúË¢ÆñÇ!‚-³|.$`á!#c‚·àz_sñÂC‰å7ÄPB˜P� «Bö7èáòI·²Øï„<ÔÚÀ!|6ÜÞܽ0.6ê �sxBÉTC«_.¼¾Æ î )4{¦Èß{ß`9(÷üp©AJ6àY9J(Yƒâ)ÖçnÿW¾ Ä–í"“Ç”‡$�¼+‚t�¶¶å¿§ñ|"œÑ‘jXCŠJ¨»;»Ø�îÆëÏü|ñÌ�ö— 7V’3atú¹‹ÿñÖ^háKC\.ÓÃ]•ÈÛ}‡øÃŽìžEåð ºäMí¿¸Ø/ ×a ;'²¢‘X:«n7s¿lA¼e4�9COÎÅ|¢Ã¥ì=Û‹m‚e‘oS]ÈC4+&Ýúâ@ÍÔO Å®hÃxÈÁUwÞãëžÃY´³a*©ì·Ò�m®n7üþ8Xin´â-Ä�š)\#^ûlHøa¡à„ ÛIŸ»Ý›úšA¸ó_ž9ŵd"sïÒlê[é*ÇðßçßæØ Àp"©΂áž�¿Sè1 }`%x.”Þ÷Π66ÛëüCE›µÁäa6Éw*mqøK^íÒþ»~£ y ]¦1ô2Ï Ù®Ê„ïk“êzb%œÌy< š!·õ!Ý›ôë�Ÿ’yB´¤igm¹}lpÆIJÁ(2-µµ=ïÌa›�+‰(ŒT«!ç`÷â!OeîE�E�;|~Vß츧éj&‚E(ú¡äp¹#^ÀpB½ä¼a4 �ÏØ‘Üã#Q ¼·•Mú1{‚ÙùVyEXŠ#‘|@/m\Ç팹暥“±ÁÄp¦š8§Ð5ÃbGN¿,XŽz*ûä *²Ä7Ò¬£—+Ü}Ïb•ý�EÌsB©UÑhE��CÐé�ŽÞƒ 7òVö�a@½#6«j±Än·þ7Ç ˆ4¥ùó$ %‹+3†óm{žÃ×�’š×ö!,ÁÈ7¹-�»ŒZŽPNŒ„—@nŠZ×µû{ÿ,C¯$ͽ’B–"ú¤þÑcËÝõlM»nWd8ÑPÕ¶À‚ßëõÀŒcºcE Bj‘Zè×}Ý}7·Äáä- ä§ÖìcUboÿxTŽD× ´ÑF× �.ï`pB@[eÁO"°sâ�Dó±ßáò8^;p’û>Pœ1»NêH7ýÿ!ˆã*XÑÁN—I‹S<ÅÿËë|CÞÓ”·[BÁ�F¢?‹ì/ïøž$Ê*‘¶*¬¬kAbwmDØ ƒµþ½ø‡ ØCI»+"²°¥ ÚåG—ßóÇ_r¢Íá5¢Pv#Ä µþ_^˜+‰ÁÕÆU›%âÃ.›TriÒ-ÔwÆv«§µê¤°´ä ­Í“qjV9ßè<ˆ;«ŒyÉôÆ,�Afì,ù©<Æá¨F’&2±Ã4]H4Ò˜ä±eP+ò‰é˜‚„zÿwË‘í�è¹¶Ò¬6[  Ñ•$±kïqÐÛ¿çùã¬Ý÷N4ÛQó�W ÀÜ:Ûë÷Ü?LŽk XêÑØ‘ÈŽÇôíƒs‡ªg&€C’R[A2ö<­ßó]%ž;/!-®0 XIÜûñ^HMŠ€°|¤fp M�l@D =�†)å]Qdt·¿©Ã[بÏtì O3aá˾ä ¶Ç·[b-þš —… ‘6»~&ß~ÿžÈ|&:ê¯)¸ÁG ›ÿu¹ú|°`ƒ� â·!^YK.’HÞý~¹bL¡¸NÜmÐ2ê‘5“µÀQu/ñÁƒœ¦þ ™*Œº jfÞ׸6<�Á• w HAÇá¾ý»þ¸âI\yµ†U`×°rúú8F^k„ÔèÛ‹�{òÛøúôÚò�¥FÙéä!››0¶ûóÃyÃC¹V¾âšìš¥%†M*ZÌ®råŠ:½_ÊDú0îùÈ8“-ÏQ„)k�®ü»|ñç�à4F=VdÚ}£#![a1#ÉG˜¼Þ+W?€ío)6¾4tÚæç6¨xž�blµ Gî£Àùny¤ú}m�� á:79¹*«* O©Ã ‰çkj]7ÂË yxF%Ûd›UšÚyà–S×°;z›tï¶€4Z†€]N*)ä/$¾:Ú]í~V·_®Ø¸´p›+ü<„Ë¡1Úá�&ëÏó<°1 Í¢ññ‘•ð‰t™Üs¿5ìE½Ø7:²Rh“MJ, C÷Äi�ÇÌŽŸ›vÇ5€yšŒ8òp£ª²·…’H›ÊÝo³ÛÖÃàGº|sqÊ�4È��9W*E¶¸?¡ÇQ±áß‹²•eb æäéab{]†T2�â@ˆô— ê}'Réü6<Ï~|°N--ÂcMàËDBui  »n-× a¡€ H ³ÿ iR$Rµ âA‰¹CÖþ�mˆ6r5�i>Ô" n XƒÌsäãzÖÉvm$§šÖõ°óĦ¸ ÅÖ ¿—(™ú¾9+Ër\(C¶�í{ã­q«ÊQ! ., l-îÇ.Ú,BX$_~ø‹]~©Õ¬Uö"Þ£·»£„àµÎÍqØïlrë£Ê@ ýV›•·߉*m.Ê —f¿]†åM�I Åc}7·.X�… k,Be'Ÿ›ŸýïˆQ•æ�ÁPKX_q¹·|H>Š\å�‹2ì¯ÿ n~_]qÔ¤ á;ÏK ÚÚM¹òÄ-@æ–cf<À¨ôç¿lAotNuâ–YäØèò�ˆ~_ŽØ†‡<²‚ªì`zôúåñÀ8Y¤¦ð�ñ`À³ €Øü¾x’ÏE¥%—]Â’Ïo~Ûsý1Ùå@M!U>&ܼÊ1 }'5É`1+¿¼b W6­x7"FÂÛNýýØ…Ïå:›s¹'¥¿Ë€‘öX*·e7Uä‘ÈŒr&‹O! úÃXsåÏ€²ùOÓÖÔC%Ñå‡ÜNÿ[anˆyK0‡r«/ã,ÆšHˆ”H9Y�Õ±BNšÒoº¡&�´k®´}8I�Û®Æäí½ñ�7M<Ö#ÓèSU÷/âÊ*•U©&ö&ú�¥±M‘=¤ŽË:M)ŠVªÖ)ƒk5¹_~Gu/ôBÖâœ�M �¾‹ìpbjË©@hº&Í÷vf6=O[zL=ÍË4Ô— s¦ê¦ûŽgöÿ¬5€(”—àEÚAa’–Õîél*JîršÂF)F%´‡LŒÀ››olfóÉR^]„#@€# ¤ïÔïô1î». µ6èìŵw ¹ìq8Pè™–$»i$°óFöõ·1üá{�ùû©cˆ*=`$ c¹‡÷Ø&ÙÃÏúNÞ\yH1Úè f…­cõóÀãŸÍ1§`ò¡t²£BO"/¾!­.î˜ü‹õLHMؘ‘µ÷ý9õé‚s��rµìÛ\&äL‹m:H½ÿ�žžTlÀB3ÎYG;í�rŒ´z;:—VÖ d­¬=ÿ\ðMivIJÊö¦ÒUm}�Áµ¾·À¶#Àå“8IäîÂÇÌ\lOClwƒ”XàÿÏÝ14wPcG-¬:㌘Sds +­Y™@¶£{Üí¶8í´!öi -061رt¾÷0ò«x¼~hpÏ£¡W<ÀÒE¶=þ‡FIšKLÄ�i5ß­Žû�Öø[£q¸Rá»ñ'R 5î…£&Źê±çŽpNP8ÄË^I )îl6µúàÚê>ÈØI6S èH¿._Ü;Œ™¡s›»„‹�w+­/e%uX}uÄÒ“@e2KÿpU=,-aôml ÀÊëôL„2iÖÈE€6½ÿ|�K‹œr…”ÙU{’=Ý>Xhʳbð…dJ�¤\·ëße3p'(yRö:‚÷·Cþy`ƒ×›H )PÖc{óß¾Ê) Òl1µ™À¸6Ûâq(p)vÓrÒ{ßüc­[ÝM_=‚H¥}ö;íëóÅi à“,A–ÆÉøÅôÇ `^ÇŸ¿òÆLÝ3’Õ“¨Ò ¥²hóxª®CÇm�¾ý�ÏIsUôîj&ªš9ÁpŽÜź@âÌZ‘VW ]Åҭ˓ŊK{ òíõ{bËå'‚™¸^r *h m¢K‚AÖßëòÄ9… Wui¯ðò¡ª)ÌZ£¶ÀlEì;{±ÛIú&:Ȳ¡æPÌÀ"ò·`Ÿ¶,ó)cïð¤J­¨ŽF÷#cm­ð牵גÞCb‡rñ!ÙÂpx!$BÙØÜ›Üžxc]a*N,$è¹%Èf^cP·/S‰öÊá(pµã©o{‚÷7ÔÝùcƒ9Û”ÂãXYðÝÊ¢4–"äm±[ëÓÙ+ ~éQ).ª±¦¢ß|¯Íl"µ‚€;X[sõüadW(iìBpÂàêYJlwµºœ­|>ªZîá` rŠÂ5cµÏ!îèy[â@õ\š¥�40VW6¾«îü»bCϪ�—ÀIÓ`X÷ maò÷cœî‹c€È^Ž_@ñÓn£ëèã¯ÝsXkÌV¶zz§–)]Gâçkr·ïˆ’´îmeSVÉáŸhÀÑÓW¬’Çn¢Öú¶0u}!Ìó0*Ú�'vœ-¸_-ÏèËFc}~í»õÓqë_¶¹g[›`ä*&m’ËK4ŒÆö$XžWåîÇ¢‡P$J{$‡uLž�ÁÖUõ^×ý°êÜyÂ{Nëþ¨v§*$§T€~3°;þ]0ç?Ô`&µÄb�sSi <ÄØïß|Lo¼Ž¹ÙÈÊ¡ — ÚÚy^þ¸ã#‡É.‰BéÐHeÒ:0æ½Éü¶Ãz¦–�”…ÑeF�µØ`Ï·,× ‚ˆ½®9L4&@¢öój[Z÷ëûíƒl„åAo,cXª# ‚úMÍïÓÞ9â7:—´R�š4Éê¾×½¶ë¶Ù–’¥£|êßñ°½¹æÿ¾ ¸UZx`ª ·D$~c{_øÇ1Ç…Ê-Ôà‹’B-kmsÜúá»û#ß]ÐVME,À�`ÖßëÓ >¡4e%#‘ÝLŠÞbyï`.}†#p(û"žч>får¦Äß ÝæC¸üÐ_wgìÊùWMÉ>žîXnà0Š9@6-=8d`£oíÓ·1×מ,Fò›§6•E˜ÕPKË+ÆßPî03@×¶ˆ@èCÖèáßh0ÖˆèóŸE°Q#ZéÓŸ\yÝ_M1ùÚN£Bïí[f‚I©Ù³ ¾ÖçæEçŸÎØN—¨m;j½–pÓ�2xF½-i Íia-m>§Ÿ­ñ¹ Íp!¼£l§ƒÂ‚¨ÊÚ6x.ìûvãbÅMæ�ÁT+(Ü™ “[e y�+�ñ]�·nD$5œ{(áI-+¤³E þÿíÄNÂ*Ä.†=ÐGé}>‹*ÛfÒÿý0.Ф—ëG†A³³'#ât#±õ8˜Ã‡©Ž>TÒT< «ÿH-´ßÊMúým‡<6ì¦Ù¾P/i"”�EÂó#{íéŽ.#•.û¨ú¨c^Yô½¬}æØ=Ç€¬;·G�d ò�͈ÚÞ—ç¸ÁÙšë84˜1Oâ¡m(„Ôìl:Ÿxç‰Lg“Gw2¨ðÞà0¸å¸6ÁðÚMˆiÅjˆë©%@„·”ÎÿGîa iÃÑ«I%¤ÞÀ,6�Å)°³÷4ßA±6Æö÷®¸�Ë·ÐH9{Æ™}Ýþ¯‰ñG õM)1kÞœ¾¿|vôl”)§u vÇçoŽpR|¬ølBÂÃðÛkzŸËOtAeT�Ieb­u¶öà¹Î‰ho`#Û¨6éŽ!̤°F�Ô»)Þû|ð{£!(Ÿ3uaØveGÑeІ ÊÂÄêoÊØíÈŠC)`6xÈÿzû±Ò€BP]Àbd¹·`:~øš¢$ÿjφɵäésk_I`Ù^_)©HÅù÷øbTãºÀ»ùHÑmíóþqĨ r”4<¾B 7ï�¥ ÚÉE d`7 îÛû€øc·)¬% [b›ü_r…­®ÒV †[ÇÏP=pvBZ P)¡mw6¿—}ýýñº³”áK½ÀÜ�NŸºâ >d.�L¾•*Á]½¶Âž;ÙFÂ@© \Þí•[ò–À“”V aã@ñIÎä[{ìz~˜î¾S� d§WRÙ‰%”ôúí‹^%cºK\@ó Z“I-4dö鈑e0J8Iñž¤†$õ¿>g–±‚xÊ=­)ÁXH`âËmV·1m…ñ€X Z6•˜ìêÖ¹Þݾ¶ÃH¼Ò®7~±$YL^qÌ_¯<@y´W_ò†*IRT ï¾ÀœHpµ,º´×31~[Ø›óú킾ÒNäè mhTùwçÌb@îS‹ˆÝÉ …:@öí‚!seÝ”4±½Öí¿E¿Oã c©4a4l'ËÐY¹Øz|°eÞˆƒC°R;�HQ2m¹ôœ±å@¨…åWqr·þÒ > …®Â+t,÷e]VÛÝÿXoCI9SnoYDâH¤$0Ÿ?ÂØ«6˜;¶R%�®Á[;&âx'Ð&“KÜ©¿^þ˜Å—Læ:ÎVd°–Œ+ý5DSØØÜt=Ž*>}¸ÕO7žPµ´QÌ©z›¿{í|h3QBˆK‰ä’{ª^a–³16fFåÖø{K@¡•i²’(*ËÂêÒd ÖÂà×ë‚a[hnS”5ì$¸ÜZàmŽ�Ïí q< �0RÁF�ûsú·åƒ$Ú/!ü+¨E6; —Ó�=ïs€ånð�ñ�@¡É½Ç¯\9¾]gax+ t³Ý:`‹]ÉP\t±N#g ØÜ6abKƒ#8´äc[€‘œZö]�Ïñ×÷�„�VÞQ"šRl‚ê,<;l>¶ÇÓÊȧZÒM¹`mÎß_Gk­Ùá qà#irLƺ©c¢§živ*�¡$¿ËçÖ±ƒsð—Eèú½l‚4N{ÏOä¶vUì?�3b²ÍE\r™´“Ï’ôÇ•Öüs¢…»K·W¢ýEðgý|iÕÚü¿‚Óÿ™¯Ë%OÕû^[]šg_¸Â76®¸PÝG˜YAH-«Ì7$0mÏ 9ç Àx€A²“vFanwú8-Øó&8CFÍãªÖ"úv·OñŽ}ÕwA&<ÉR„TLš5\vüýû{ð-~h¨k÷ œ¡ h`®¦öÔ‰ý°ëßìš6�ÂgÀñC:)[{òúßåNÇ7”Ì—‹K8P·;ß .¼.i;¬$y˜’bÔ£~·}¹`Ã+ä™%—{¡ž&?Õ³¥µ¼ÆÜ½9ã¬p˜ÙÁC(d �œØ‹íÏò<þXnâÐ+Æ[!Ò ¯båè{òÂëÕw´éauðå�ˆÕn¿Ç×|O=—7ÚéãêÃ}^mùnyývÁ¸Û ŠW7Dkø@ÕùŒ=’ú£ñEð£ZšHO‰ öèlFßöpÖ¾ðxN{ð¯|/Ç9ŽC:EPÄÓs)ro¿LfkºCd›Ê£6�®VúÈsÊ<ÙEnUX‰RGš#{ê1矾°°¤Ó‘‡«ÕýþCLiþéU«ÍæüC¡ßŸA�ý<æAŸºí´+*Ê7ŽUhá,àI[\õ¿Ïá‡u”pNo0¦œÈâ4™j�ŽÿÜ7ïŽ{ˆç…Δ8UZ€––a*Ca ÀùÜ Úû�¿L­¹á¿’iéÄŠÉ5È+c«•þ¿\)킇Äs²F,°€XÕLFãC\Û°¡ùáÑñd£t®4ç ( ¼­¥Ù¬-·íõËá‰sìí��)÷­1ÕFÂA{JVàíµþ#Ï/#n°£¦¡ju,“ î ½öÞÇçòÅ�ëÉÂèˆ8¥¥¡o*«-¬Àÿhþa‚Ù0·Õ ªe6B ¹‹zÞãà0?„å›À\Þo«Jsu>üzú^…¢ðŠŠy†—•M÷'÷ù`v„F5#kP¤f+pzáFv–èÇKSgØH7>cc¶軥x#²—‡1¦©¹Ò�ÇoÏ t&²’ø6ÔðZY¤öß‘=­ë|@$7„³¸&žŽ#øt‡åïøü±-�¦‰ˆ‚4®Ài¸ó;ŸKa›ýÑo¼&d‹fþÞGëáŽÝî˜Ã\å`�-.Ü»“·ðqεÉzv{é�ˆ½÷ý@…!Ç„€4€Aµúïk`÷GŒ¤ÙwÔ’FIÜm·_–ø�/” ú$¥Ü–R‰·µ‘m±&ÜÇk~ø/‚š÷žI âD&ÅJm¸Áµ„‹Eº�„.� ÅF‚E·;ßB¬›Q`î²A)#ÏØ�×÷À5€æÔ1À{!Y<ÊΊP\‘Èoûsåû㶃–áûa0b[ò!�<¹èwú–»¹9På<$¾˜„gŽÏdmu ([J„ª³ªs$ío�çþq5Œ…À´Ý”^¢SYI j÷r·lWswpi)€_²C`¯” Íùuøá‘ð�Ç) ˆwP_}ûŸÏÇ) ÃYÔBõ _p;ýwÁú£q®JCé¾›ënß_¾ ¦ò¥Ô7ºkÁ,?˜‘åÔ¿‘øbwvFÎ)cÀ�€SrkíŽ.¥ÇšµƒJ . ,wµ�`-ŽÞ‡Qç Â�!‰Ü_çk�ÐÂö”¶¯ÀA;‚Ÿž%v’”",¦êüWîøë¾¸“‘Â\nÊYÃX®’«�OéϲùHpõW«‰jhÌqMvN–æ{ßõÆLú çÔ§Ä9ú-•AžÒÖ¢hxÙ‰¶ÝýGíŒç°·…™,Tr¤¥�*A-͉å¯\\�Xá�É(´Õr«¹hbŸÓ*^ߟÇ£�®g-áF½�T©[lè9wƒg!9Žk€•,b«s)Þûô?\Îç¸a¦“‡”ÒŒž™΢ ‡e®ý?œ#Æ ˆÍä!ÌR•Ò@S»_×øÇ;Ð"sìÓS-‡´Š¦ì@6å·øÄîÕ®{#£ŒVìÈn4•½¾/û %áÔH ${GJåù=neSMAAK5Md®‘Æ�¡f•™€Pª%‰ “¶)É;Â÷œRu:Ʊ…îò´w_mþÎèéÇÜYuíû‰)ýše¾uF‚�Vc¥íde¾ˆØ‚vbmÖÖÇÊz÷ñcM-Ò çß…à5išïÿUõ(ÿH/±F]FôuqûXÍkBù§“5� {~&T‹O.›ãÈÃü]êŽÍ…•õCÿïO¥0Û¡{‡»‚Ù9WúX}”©¨¼Ï} ðœ‘EýI-§­žD±(ÃãsŒWüi>´«„¼{8�_Uú—øWÿ\_‡!étÑÆGÿãÜOÿívVžâôÉÏ2ÿ÷DàLãƒ8ÖŠí"$±½%L– YVA¤1½ìÛñŸªÖéeÚa.‹ç‘÷ ÷¿ðŸÿÕáÝCÛXhk�$ üŠàïl¿cŸi^Ìêqo³úÊ\ºEf�É’;XRÊy÷¶5to™Í¶¸îWô3à/ã¯Á¿7ÿ�4o¿í$~…rîcìOÙ>a¥Î¸&i ˆO Dc×Rò÷ï‡;⎥§?Ò�¾£ó^»«~ ê­­gN‰Û»†€~â–žâ±/³^"†iøK4Ìr íõA) n\�ˆ�ΛüiêÚlêÀ‘¿b¿7|{ÿ@¿ëØçô²í3ûQÜÛùýŠã¾<û4{TöZ“ÖQÃä u©‰‘B÷*F¤ùcë]ø©Òz±È|9®?> þ~ÿÿèûâ‡CäŠ1ª€whÍü<�¥­= �VT§’ „_êDû8=ý×¾=³¡s3vuøãªôGÆIŒG Œ�šU4ÕT³R<‰b,À~£4"AµÁyÉ#$ÒÜü-íïH)3Ñ!!Cø�×ë�-­é/a¶åeK§«¡õWÉòÊlÂ1*(•rÀvé„é5¡žUEÒ–¿Í2v�ÜF+� _†-`pÚxO‚à«3#D¾óG{ZÜþ8cb¶¬‡m4äÁ‰$Õ¤(��,-b-�Û·�ŒüÀAˆT¶¨6sÈ`võÃË�m q7‘a3=6¿$ÚCô 6÷ß¾‹E„eà 3¬Š¾•VÛ§=ðÐE‚„@´‡•DŠIeMÁ²íñßוm \÷}ˆÅʤ1 ¾ü1ÄpB`$ µ‚!©Ñâ ‡á"Öm¹~£|ÉKK‚ jwPGŒ_¦Â÷¿\9…ÔœÉ=S!˜±hÅ�õº½ÿ<‡º‡`YY)­�„g [~C¶:€Ê¾³ÂǨ>“frèÁa5¯«Å‡+#sk‹íû_hü>í *YêùôÿÏY\Û<`'DjãJÚ@Äê°çÚߟå�Ý”%ÔE„À Ÿ [@!t±¹ra‚B ‰|(jŠe¤««ÚÊ6±ôÅÈÞÊ##®ÑùnoY•4oNòG ó«r©ýzâ¾£JÇ„2F‚·ÿ ñÝ.l#¥ÍPGY«Jʼ‰õß½Ž<ö§Lè�¸p±õ:i†ð¶“WÓ¬A«ÞZ›Æ ßàÖ‚)Ág–�»TvaM�)D’Â_ªú]ñvÅ]ãÒ•€ë {*Ý};"É“(`¾v¨í·ë…øwæ8^0ªòRUD†6xü.E’Ç@±°Ç>€Ü”9 xB”>S+xŠÒáw½¿]°¦À ܬ‰ <åWFf›R%ÒlWpMú�®¸?%]£ÚQ’Å8tŽ¡@�F«)ÿÊ7æzzŒ2Åó…À¸ádNʉ¯æu÷|/‰h|”ç0žê2zO˜Å#JÄù˜nèn|þ�ö(à Ü/ÍÂŒ’”�Øëp.†û ~öhp§ž�¹ 9Ò6–=1ì v^�)^>Eîר[sðÀ£iõ)ðŃi]EKý|±ËœÿEãf¾ÂÃ~¸å»'ƒ½Ù˜Yy}‡ó�pôB}�TÍ d² u<ûan�+¹GA›J�N±¤l,×¹ïnxS¡ÒŸ¢�‹5W*X€ûs•ð&28@ÖŸ1>¦ ¶ÝMÛÊ"° ÄOtBˆ¤——[úõ?®¹ »‚°"RF¢��Ëlu¢ß\&ÒžAmGPS¹úßÝŽ°¥¯Êñˆ-—J‡6¸ïñ뎢¢óI¶�:ãµ��÷tüñ �¦×¤ŽÊÀÁO>�{òÇk’Y7$ª²½¯küq"»®³Ù*ì ­ðÄw\�„Ú0X‘±üÁùâI‘RQñåU¾=±ËœO!!Xy }Oksçˆ(�ÖS�u-¼¡lv;ƒ{oˆÚZl [ÛÔ à»¦‡^›Q Xm{n·Ã\T�ÿŠÁ¿ôÉÒÀŽ—·Ï+ºpVEÀÔÖ;r;|0+�žR•F¶Ú׃Ëj ÒÌ…J®¥6Ú÷¿Ïº�,¹'Ä`¤Ø’v,w��c�³kk›óó[ë݈]EfFÕ'œ’9ßnXŠ6¡Ù8^Ø«yÁ½¯O˶%rÎ’K’<ÄØ?ýbI\° þ#æÔMÀ;ÚøäUê’CØ\[Ò܇×\r‘K •1’Üó½�ßK¬7§Ò ˜¹ÜvåŽBM¤îEÕ—W"m~Ûc”›)@Yœ¨@°½±Ê7ž‘Æ÷Ô›mq¿ÀuÀ¹«¶¥ gó‹¹^÷ÀѬ .#ˆ7ôÕF®œ¾?Æa¨ ZUÏ �£••÷¿»êø[¢mp�øÿòVz)«€ ±u½·¸üñFmð©;DÐM+®]ÇHZ1.¥a±ë§¹ùÆkºiÕgèï…°i8ª˜ÄάHü&×?Î)I§{MµS– +Í=J¨¾ ,n/qÛ—,‘Ì9áR’º�,€0&ä“nd[°üð>&o±ì¡­ÑRUÈ`£ZÚÆüþŽãã€ÞÛ¤‹¥ÿ¶¡aco«áÁÎÛ`¢Y¾PÒÒ++lî#­¿ë kÀçôB€®ÈE�ŽÖbÀÿùðü¾8`~02¬º@[G”Ù§*ª,¯·Q½¾·ùâ|QÇt†Ë· ôº®ª¶#rŸ;p¬« }ò0£ä�Ie çksÀáljðŒ å§:Š›¡6$óýp/ü«œâ™a,Yu\9¸¶ ÓÃ_TÀFÐOf�£¶¦¸ÕÈ›méé‚ Õ 4x �1¶¥rÌÖäw¹õé†_Õ4tÉf _�6Þûú_l €Â� Á]Q±Ðêä‡#ðÁFäa1®%¥2ÚÁüLÇkÜò=9`ÝÜa A5¹)o6µRÀØ|þ·ÁÖü¡ö3Hr�–E.Ø›�ÛùÁ�®¸ ¶ èÂDtÜ cüõÀ9 cmš!gRK²»7kÛ‡l{o…†iF—{°¾Ã‘LÚÂàÒO¢ðtJÞÚI;ß~^›Œw eä�%Ü�C~dXØ}_ìrW‚’¯ÄÂ÷<Èëúbú< kˆâ©>|ˬï{�7ýz`û<%½¦í¥9á†B$ ºËø,¢ä‹HxÃj±PöòƒkÛŸLCd-Š­Ô{!š Æ’­ÿåaõÈáÛñ”ÍÍ>ËÄ•çkž½G;ì}?\pgpQø‚©,…RÃKX—¾çáÈâ7öPóåȲœ ¸U¹æ@å…9ùÈK.%£Ù?OWSNìñÈ ?Çñ逓NÇ … €8el^âÒ\AU£^ƒ¹‹øèvÆV£G°ùVtúJ8á]¢­ÒÑ÷ìw‰åm¾8\R¶©W{cì…9q�òìysè~,iA©ÅÍ®Ûj*«/P\i¹smÆ%ûNJæ‚yPެÁG›{�†%$g�efèPPÒÒ0`þŸ­½Ã¡í醵¥µ´áKn°°”Ö³j`§‘ç}½zmƒ�ãŠLNGÅ$€¤°;ò½¯Ð V’]­·‡´4qKôWþ�Ÿb¬‹ÙÞA“ûpö¡’O™ñµQ’jJÂ”Ê WSQ¿õå:nÜÐ\ îqù«ã²wèá5{ƒÏü/„üiñL“IàDiƒóù¯´ñTÖd””Ù”j•5õQ<¤/‰kÞöÓÐ@ß—¿)˜n#û+å“ å·2Ö¢¨£i²ª´«ŠY¦1\ii�t©.:*±°ôŒ0Ç:ïÓ½¬¡Û–›ÊÙ‘Uµñ[–æÙhÙ=Bô4ºÙ¢ëíþbÜþ >e|…öÛöwö�ìG9z<Ú�ä§V½%m12Gªw·1†º(ge°ü×÷ø ÿV_ üy¥é³-e„ä}9+DÅŸSæ~%ejjÀ9µ¼þáÈ›ÛlyýgNtTèó_uúªÁ¡‡\Ÿí¯ìýÜ\gÏø}!ɳøÉÓ<(rËÎΣ¡åq�¨| üKÔèÈÓj¼ÑžÝþ‹ðwñëþšúoUÕé@�Qê ÿò®~k‚s<“0Ê«ª²¼æ’JÆ ¤Ð·!×R‘ÍHÜ~‰Òu§Œ>Xwï>ëùüDøYÑu†-[6›>µóÅU¤‘36’9rÛ¦ý1ªÁŒ¯œ6`9^øS�ë²@�ÔÎe¥noµöÛåŒ�wK%ÌÇÑTÔiAkrÙPgôÉ4D aË¿_–<ûC¢vÒ1ì²<¹áV3<…ÖãÃ{X‘ׯç�È5m<®ñ1œ•Wz5…XYË‹–»‡m±l‘ÈVc�»RDÂâ5�e bF÷úýpº­5Îÿhia‰�œI«©caï÷àÀ`©hsȤ¡b{~knÕ°-~l§5„œ¢Œx\jêæu_¯+aåÍ-²,¶ÐŽ–[¯šæá¯Ëß·®&Å]¡c\(�›hì ÚÄuýØo?…8ÛFR–GxôÌ<ƒðµ¹\K�.°xAÏJc�êÿÆ6÷nX(ÞÚSâ:ý“KT¢²ÈMˆvï†îp™âQ°–#Žâú� �Fã­¬p°sÊá¶Ú-752’.Ácߟ,e ÐDkpL4I¼Õ \Ÿ~ «Nm¸XMj’) +’�m¾¹[hñ‚§p8pÊX)!Gu}÷<ǧ[ãƒO Év)b�ÓP@Ì.o½š÷Û¸<°ÀâÔm�!%§°ÓiIó-ùõùoo†×gšóV†¼ÔoâÂÏ•6ûH·Ë  ü99ÎÝ‚0¶— {D¨£hèó$ôÖ¿âMùŽøÅÖôóD±gI¢ ²Áô[ª‚ ×²Õe3­U4¦òFH»ïäqV)ÜŸªÉ|UÎTÜ´ôÓ 8IÜ$VR·Ä›Þåb7HéE4s!3D%’#ý6Vb4ŸN{ï…½ƒw˜PÊ{qþRC…ŽQ®ýÄy’Ç~Gëáƒ>©ŒaFÔÑ�0Ô…—š2›’;›té†Â^UqéábœXŽj ƒÈrÇO)í$„€´ò(ˆIŠî#ÓçüâC\üÔ‡–Œsô\|…®5>¤þ¿ž=ˈ¬/\Z8O¤Î5!<Þÿ«`Bæ%£€î¦ÛXmóÄ.Ú;¢¶ Ý@¿,r†‚2R�� ,ŠI½®|£×¾9CŽl/35†›ØrAFáv�W¬IV"ü¯|r€Vu‘¨&BAÚÿ Wnœ:�!ˆnKm�°E¡¸FGW*(“¾â÷¿øÂ wÊ2<ÇÎ ×ÓÈ6=puψ‘aI%zÝHf“¸ìoÎø^Ê@#G‰ƒ#’Cíp.oÓ·)/`»)í(ÄìºwØŽC‘–Îì�AöYX “sÏ þøXœVS·ú¦~ê@+e~£c¸ú¹Ã[(&‚“1¿@šd ±·™NÖÚÿãj!q¾É n/ëqù~›âi<5a‚±$�îG_¡Ž¤/m/(F«{Ø‹[åˆB( ¼Ã_1}Èùc”¦YGœ�ÂÜ”‹ï}ðHö•�&ÆþPFÇ·nxâ=ZHT³yl½S‰Ü§qJ6+ý;�¯ïÓß�¥Çœ,€¬§Qfn\ìNÝ1 Ù5 @ }==ø•%Àr°n3\°Qsóùã‘]à/j]€¿ÏEA±„»i7VÔÜ€nBà[Í­½;ç¦Ò€ºÝK)6°'®'æ  ÉJÉ ÓnCßß„EÖ“kïõ$ B¼±qá� pvøüñÄŽê-(.¦mAœŽ¤mŽÜ žÑ¤j#ÍÍoÔÿÖã_ —Ž÷ÒJ�É ÛtnÑ6� 6Ô�íÌö£âê]·2m§sòň£-4€¸»þPl÷,ÊÌMØïqÛaˆ #ñÛa du¦¡È¶¿>GG�¸‘ÝaŒ„Ù�Æö÷õ?]ñØ$¢È5ÙÚ™UTÖwt'PMfé2À›[S[mö¶�™Òt�Û§oã® ¯Í¡ïE!K,€“kÇoÓÏàšߪ4Ëv`_§ÎüÆ+¸¸$€.Òüº˜€\鯮Þó�vWE<> ¢ê,{Ûß�ÜF-sª—‘×feÚüí¿»¾!Î#!sZ<Ø o#�.×°<ï~Ø=‡û—^Þ8M˜TY›È{vÛ—® ‡VxD\â±àÔ»i>S½÷¶Á<¢6? QŒÔá Ý>­úâ\Âqk¼p 9d0[\($|}>å�l`7`‘¦ä¶ÿñÞý¹â<·FÑ;pʲå¹ýF] Õ,žûì1^m6ûÚ)W{AÉ[W'Ïèë VCX{žøÎs\Ã…Jh¨ò§ž™eBáò ôúú¶„ñÊCM qPuY87!…ï±½€8³È±Êæ? …W«Ë @ÖØtÛøßîrn•†Œ`¨Ïº�ÙVêÆÜïc~‡¶ÖÇ �ÑsZH³’º¿ìmìJol~×ò´©¤Š«…²)³|â7ü2B%òC¶÷v[{�8ù÷ñâ ÑPüR`•å~,êMÓiÈfåú§Ê  ¢Ééâz˜ô3,ÄîPCPM”ZZNûÚøü¶^Ö‚÷`ü—ç-v§{èsê·®Už§ çÍÙυ]J t´õkøÔøaÈP7æÄzØâóí6Ùã;šG—è²KªØqïê¤3LºS%nDõy¦_2xUçÂJ§ñu³¤†m'à:bô½(ÎàúߪË/ $3+z¬³g5-œÕM˜åõÓ#RMA/�á0Õý7Ö ¹<¯Û®Øô1iƒ¢d’äñ‚l¬#k‹^ëì—K™æ¹å.[—eÙìÒfÿî2¥«ˆ$RpÌÍå n9v;On7=Û¯E¿R„Ͻ¡ ‹¾u\så™Úf9¼¹­,søb–YšÄÚàªo{÷ÛšgÜö—_ÿˆÀùú&éZ÷eÙLÁQSS›VR4mT‹%, QC:Ìä*‚·7m#ñ_kXã"bÝL»\æŸJä{)ÖiËœ\áG×�¡ý­û.¤qU“æY.WœpÜ&Z¬�õ :›P¹!ô±ó)ò’;`¾%ø>huWûšÂ÷ŸüwÕ¾ê ×ôé ^Ü‚;ü×ö'ÙƒƒDÜuìÎ:ªœ…ªìÔ›É-. X:ŸîŒ€ÂüÁ·q�'Ñz³õOtnÇ¢þñÑ×ÿ¨3>$•�âR¨¯+ì}�ºù}˜ÍS–N`«$Dn§ûýžxÜ“DÒÛo꿨�GÁÔÆÃ`…Ï^ØøV‡>¥Œªæ0†Ô Ƚ½Û‹cßüÖŸ¦pc¿ _†?êøNΫ¥yhÚ0WTÒxr:ºké*A¹<ùì9cïY‰fë_ÆÎ³Ó_¥Ô¾†Zh¨Y)�Ô –Û�Ûóüñy¯u¬ï—”g5ù4É%<„CpÚ9ƒõûb5:fÈ22�ñ±ù+ypïÒç0ªN‰ÿû¯ß{U¤tn«ÂÉ~�Ì'ºš¯Ê–± Ð nÆÛŒtzšª5μªuF_-9.ñµîA ßOKý_ážÛií”ú(É`ñK™+±æzí‰n²œf‰ SDVë*+/ Û-ן©Ãœë4B`;��hü9.¤„6 uåÿx�ÛM•ª“B5MØž^››÷Áx„ŠüÑû!Y#°»F¤€>¿W÷á­yâÐË/—“ � QY o½Ï_\_`’¹� Óiu7hËFntÞß.Ý1!¶<§)¾ çôI–��Áñ!ÿ¿´¤JH®ÉL®¶„ê Ø�Üú \i5À×++ ,$bĪE¯æ^J‚C(%…£q$eí°ÿh÷aÅÅØF&¹ÁXÙ´®›�ÊÇ¿éÓò*âJѬ~$®»y�_v¿ÙNÖŽèy�#fÎå·mÔoðÁ³ä˜É,á4zYµ¡Þê÷ß±ÃcÍÚeÖTSS²^Q(±fåvCÙ;xv\¬ü;ÅYŽEP’,¡T‘¯{!íç5º!#p‘6�?+¡ò~$ƒˆ`I¨j…d �¤ ì=éŒg¼Â|7, 4…®ÚB’\Ñ*å’*øb¢Ì-eEå.üÇñÏ–6 •¥´Mû¤¸>3[¾ÈÊA¬ÉQ!¶ z±åË×D`ð¬ø¯4 ¿-“² %"âí³s¹õålUxý ßôQF©ý8™c{ÂÿŒzú:1@ÑÂa·´!áY,ˆI+Ñ»Xú^ÿ÷„’E ÏÉ ;GÑFTRO–ÃØ@\ާo×q¨â~çÐÿ…4 $ GˆŒI)ks×·¼þø0טLp Ø\rkŸKìvÛëóǹ,ô^À’yO®“æ(OrÃ{ßüœFÒ¸Òt¨I~w·/úÀßdð‘B‘{©öÇ ³Âp0°aªÆÖýˆÇ.¡YO)W+æP×Õaßöÿ¬r�µKͬÛÌL„Þãb·ÇZ&‚ �ž Ê ‹n»x‹Pìá«7×pB›±Øn~¶Äšíƒ” 4µØØê¹'~¦9Ü.Êñ(n’£õ÷c�MÒ!J(²¾‰=ý{o€-²‘ŸD¿£ÒáÎæç{ü0%¥s½QÐ×Ì—ÔÎ@æNèíöRf›ÙîÀõüþxSá–tâ”´uðÈTÚ2ÿ–ãáß €2’`<§RxŸSFB‹4€ëaÎPÕóC›”Ò-¾ûà˽CÈXû­Ø´eK÷í�Žè·é¡Fö¡·+ï¾Øƒ2~û8CýØ‚¦À›~Xh}‹L´�Qr 5�¹uÄï ë„Û+±Cw³aÓ¦8-õM[`ev>üHpá48RòÇ¡Èu67½ÿLJáxJ°¿…‘“�8”V’Dƒk µÎÿ Bà}DD1*5ZæÝÄc�ƒ·ñ,¨²›ïqÝF ú©&ò¼Uƒ��FÚÜûb BñŽé¥u®mý¿Î8ÉgJßwÓ{ú‚+�ºÈßI$éåØ_èâ+ºë¹J¶áB›‹›ZÖÛþ¿,@ rWk C:ù7çr¼�[b åã)Ò¥‡0y�cõëŽi¼ ÝYKÓ¤\1¿;iØŒ…a ’� ȦÀZã}º{° {"ÝFŠÁˆ)  _¯ß¸W9\(æ—†¡&¢t¨ß•Ííß#„mpI‰æ×÷æ1ÎiÁ[v{%óµâ’6˜âp,¢i¥�¨±Òì=ý×鈣ê…à”á*÷²²ò<°-»ôQâ7ºÊ†Ón‚öØžWç‚qj‚œD å ̽ˆØzþøSœIÊŠ$å8²…_ê2\ØX ý[hð¹Ì(Èkeˆ’®Öç­�\.H{¥º&EX(ø–º¤Ld^cWQïÅ9t-9î«�86²��iñu…'’�‡Ç¦3géï8 ‹ô@e¹W:'†Pª �, ¯ô1Ÿ.™íã ±…íÉ Íg ¨Œd:ln-kŽ_YItvmKFñH.›5ÿ>ÿž,X÷@Öú' 0æBí¿¯Ó„´þ$Fƒhá !kXhÛ}V6üúcžâ ì^JYn_k–aÔ÷ôÁ¼·Ÿø\CsTuDI%¡f È~¿¦ ¹ö Ì—ÿ.Td�xelNbÀ_ã‚ÜÃ’48»Ô|” +Y÷åîõÛe¬«{kF˜· ·¹76_pÇ9—Np´&LùJ �²ƒ®àòô¹íŽ! ó„oy°I@<-"ÞÊÄ)%wÛhå§„os† �‘¯‹¡ ÍÁ�ý=÷ÃÚMyŠY,ÁB+wS©EÀ¹°#¹Áb•‚ÃxÊI>_0;Zäò=}øu©À ’ Õ£c±,=×ú¢qÈåx¸ºò�m¨ú_‡óŽØ9(c)``™Jé¹ÞÞ£ç�uú®ÈN�F˜Úɹˆ°ú¾p« Ly³_ð�F ¹¹ X›[s·>ÛáDúðˆ2óÝ8XIeåËr}FÀ^¿³¹OˆÊ…u¸ßc¾ÝHôÁƒ´Óð’m†JÃBªÊ׿wæ0¢lØRÈ«åe€ÙBë6æ;ŒsøŠ çT¼Ml"Øs"Üýïë�u8)ßšI–;k>v°€Ïâ€7�S:Bê@×qskØÛ®Ý0l&ï²fyÊÂpÊÑŸ5îOâøœHpR¬¥°)¨+/+ ¹tí€ ’¹­o-DÃ<´¬$YH7Ê9áRÂÇcº7`…±rN+m’¯W3}¯lgɧxË9tÔ,-“OQOX‰àÈŒ l t÷â ÕѮ꜑Ëpš©ËõǧÔ�»\bËg[ŽJQ.¼p &ʆ¦r˜Ô»o¶ã±·\¤¸9VDî¯Uö_ý:}›e¹þC¥â|×5†µ&7èá!"ˆz¹ï¬ØüáüN×ÿ1¯ðµ‚¾¥|kã}pv£Ù«ê[Ÿ¦i‘çtYžG&\òL"š¤Ç­.T�-ïrA¿`í�–_ mζú/–ë$ñdÝǺ߹#æqO eyâåÙõ]zG"T$¶X�¢Ó»þ(ßÔòæԴÉx ?pxiÝm‰û-͹Œ)šfÑe¼O�Ã_DfËáËg¥2ÇS%ŠÈ#mÂÞÿ‹¥ï�ŽŸ­† i/y„�`üÓÃÖî4+‘ÏÙHeYîU]–qå9vuKÄ3Vè§dœµ=4‹pIÿ‘öÛŸÕ®wE,Yw~9î«=ÌÙá°I¿eiÊ3¼çˆ2šÜ»>ËrÚ”SI4qËLY�•Ô-mÙ–ÚºÜcG¢�\aÚ-Mäƒ\�ªtÌ3ŠÚÔŸöžâlºƒ7û‚fi-e>YZæn›É{±¾Ö±¿¦5ú|ðLÐÒÐç7‘�J[´­ k²G±S\‘C�A÷ÿfy\4ÙÂA%Nc,ÓŠ¹¨©ov×(PÇȉÜ7]ñE¥†IÒFÖJ=óùŠ*ΕŽpüógêï®a-VOÂõwå•ÏI•ÕpܹVYOJ¹þqW†®öh Õ«Ti¿0�¨ÇÆ:ÏCn�Õ§<Ÿ\®‹Yª‚VÉö‘�G?uñïí_ö[–²n*ãOgü= ¢¤x–ªŠ� xlè]¤„ ʤ9~Ò§–¬#<þWö³þ†ÿë—Å�Ÿ üM-žóùOuòˆ¢ž*LÂ’xOއH ¬ÇËž=Ö‰¤<ð¿©ŸlÕéüXÍ‚;eqÇÑ¢f³hP…�/KFØû�Ãz�ú}·Âþ,Ô·An‡â¹¢ƒóþÕ2Xô\ï~VÙ¿Œzº²WçæTLÔ �%oK‘¶ÜúbÛfž9(8^ª†dž'– ½†Ä�QÓ¶êp¢žòÜr¶ç ñªÕ2ÁVU$Õq©¬úcÏkzynFV\Úr3ElÖ§¦Ì©î·ñ÷7Û•�×ϱK#xYåî²ìª>e”ÍÒ4Ü‹GJ9M…Ì#*±Xè‹¡ŠsÛ{_á‹b¹V»ú$C,l\1†?ç½ÇÝ1ä9LBêŽFVS°½ì}?,7yªv>JÉÞGkA”2¨<¤7¶ö¿×l-æÍò–ʼ&¬ÀL‡¥¶8—YÏe;©ÔBh¨vmJÛpv¹úhq».ÎxLâD‘õ5ºïkò=ðQ°×²ç¹¶[FerbUI‰ÂÅ[ÜO¼[ eŽM„ë3ÆRS*èn¦Ý ÷Ø. ]¦Ú9 Éá#pHsµ·±Î”wK- àa%Ð0_E�³Dî-ùâAǸL´<ÔË´…XH¤¯âü^ŸããöLlž¢ÂP€ÅT«nnLwý0ãb‚âæ8[$©" jV•/{�ģ׿=p,$’˜IM²¤é»ZÄlu|pc› q@¼7UPd$ îtÚÿ_–׌<ÞT°Þ•`FÊFÇüòÅ–¼Ðòm?E˜×e¬�¼Ñ°Ø~wßã�›NÉFWI ]Ýo>âÊ$‚lÑ–ž´RAËW=ºßrMôî%¼,iôŦé^ä¯ðBE›—P@ðä ø½1Ûà×Üä*�Ž€pI«Bª“Ô“4 —ÃåkŽ^¾˜g†w7ºhÍn*6J’�ša(:EŽãÓµöúå†DËm°ýæ4ÐP“CN„c {eØ-ù}};àâë¯dÈÝ}Ô[Ôi}5(±±H¶OsóÁ8?ðŒüÐ[G˜d}“Uô ëЮ_H%ÉØ­¹û±;‚1ëiÑ‘ø­pЄ¸þ«XíÏç�¼¯a¼$ˆË5ô†÷?¦#yC¼¬”Õ`ŠYÍÛ�îq ·žéK *€.-u=}?œI®Èñý©@�pOÃmýwï�S¶Ç™¤•s°á¿Õ±ÉDçä�† <¬œˆµì=q ©ÞS¡Åüɤþ!qq‰DÐIÜRµX ê Nößo‡½1 vJiå`¡0@�¹mÓóÀØ¢ù"Ry":RK“¹=¾?¶"”Ð(سcÒJ‚çͽ½ØK¢ôH0–‡5S`AX­Êܾ¿|)ÐÂKôÅKÇ[—VŒåòÂØÝ¸UÃ9O†Y͹›^Þ¸A°l í„á¤�šà›m¸Û¯ùÇ5Äò¤¿ ‰hµÓtÜ(ÿ?½Ô²CÊ\±×Í`  ®}{�vÙ(U¦3PoÐÍš€ó•Ø('�ùí‰l‚²¤Éf‰Âeâ(YJÊwýpÃ&w ÂhÆ¢«ú[Óèúc„‹¼e‰•@PA#co¯«à·&6Náy�†Üƒ~FÞn˜�‡Å²’ÂÀqµ¾x’QKÊ.@±`wØZÂü¾»ar].Çt° °ØƒÐÜbw¨“„†Ø^6$tßáéÏïJ[Œ'µ&ÃIKóëÿxòW¤ p/bm¾ÆØ' )ñ@K½µ)bôl+3iÍÀ,@ ~G¶ÆÎ‚²®�Aü…ÎØcr¹µvSà5ŠŸ=šæÃ{ÿÕ°—IGI—™Ž´:�"I;ÛáŽײ‡´å7¤ƒ ,+o¸ BšK'Ê¥ô±¹ÔZ÷ÃAÎ0‰ÇÔ/[E¯« QÛ×çˆÙ@# *TÚÄ—¹½0$¶ê×{„°X�|ú¶ë졀 Ð4÷YxسNûÞý6ü±‚’ÃYHÔYI�*Üé3ÛÍ Ú“g(Ùm¿˜ípwÄ¢xÅZw[…Ò–»X÷¶øƒH¬ê± 5;4œõr¸·ËZ{  ‹Xê,¬È×µ¾·Â� {„ŽÔÍUN@YC­¯f7ß·?LR—D×`*ÎÒƇ�dŒ€Ìñ.Ú˜5Ç?úÅèOöªrhMPWz>(Š},³DT�”ž{~x¦øtª;NG¸ ÁM™ÒN]œnW{­n¿tÝ‘A €n­ÓøÃËxOŒçf”l›–BåºóQîí‰ „ãºÂŠ™@EºÜƒqÓøÃØ&x„`œ¡å]jÅ|­m…»Û¶ ¸åúL’¤±ìNö‡»âïTB3îÞb¾½½>X³(CÀÀOÁŠxŒ£bGCïÄÀ¼»²P6Mã:ú(Ûôèp·€�îØNª¶¥7~¤¿¦ËE¢¡yNG%™Ã¸fñwý0HÊ‚;‚}ɤ³ÿŽß‹Þ?,uPò„�]ÒÆ�&Ò0Dµ¯½ýmóÇdöÊ[©Ø¼'•N½¼½¿·ë|,“Å'5»G+ÚK!@,ý€ØŽÝñ|.´—€*ê�¬2î§r,0ÈFw�AêÛ’B ¶�‰ÁŒð‰� éhÌ¥‘ƒ"âÆÇÞ6À½ƒ�˜ X?”·`lv6[ ºÂ�/' Å�C¨=‡=Ç×|©È˜í¿%tÊsJºâ4ˆ6›êëËòý1–ø[dÒ[˜u³2Î §ª!@Ø÷øb‹�ˆØ 6m#›€¾“.\Õé(éî*&q cvv·Äï|UÔõAâ*�XúŸ#\óÙ~‘½—û;¥É8+ƒ2ž˪²l›/¤§¥ÿs'K¼‚>«êÃã|~M×u?goç~Ëà}fm÷1v>Kgdé<ôY„9ueRÁXí(©º¤Pº‘¥yj%ŠßµŽ<ܲɸ°ò>ße‚ëí�~‹i¿póp· ñ¸¯Ì)²÷†Ëåže/�¨i&úžë&Ç`½ŽØÔÒ>-F‘óüÍ>Š»´e”A$ŸÉMe¼CIÁ™½6uOšKÄy y‚›À){G{Iͅɵï¸sÅW¸¿ÍÓÚìVçî�‡)qãòú­ÏQSQí#Í8ƒ%ͨ2<[/¡òIQb_Ä�ÉPtãÕè¤gS�Ú}c¶=¹åúe(Å#ÿùÐ ñÝX2:\ÛŽrš~#â7­ªhi$§�c¬Ž*ª‚²‘®Dþâþñ‹Z72XD§5Û8Þo¿t>$�v÷ŠùR¡qä•iQW NY–Ï¢ÉL‚™@ùt¹��?Žªü?©1 "ËG`r>}éV–1nß^?E²ò ¬àÜ‹(¨É³ Ê�Õ¥­ZWÑWWqÿŠC½•IÛnbãž,t­[á‡f�ÖðrÊý¨$@DNTþS–qM}M^cIÅE•N´ÓÏ—ÓÕ+‰£@b“ŽD†ÒþkžäãÔÁ¥l®ñ§s¢w#6Ûùöµn6Ë#ŽÃ÷çî�ÉøW/Ìû³ä³S=eL9R Šåw¦.U�Jrþ¥£}šËgâ"k'̾6’1“wïóY°é)¤»¾)k?mÙOˆfáØÆyOV’§�AñÒÆèöØ=À'µ±ó/âÃŽ’O¤øx¢½Bs´e¦plá|+ûd}š‡ å²q§ 䬵”1$H9ƒgµŽÖ¸ï¶%”Óe4yEŒýÒ<;kY"°¹;›ïÁ—î)à À@K fóêòƒ{m|5€<ªwX &5 �+ù°Ö9_Ô`[Ž\Â\‘ÙSHÕ{ÚÃÓòåˆaÎ{®làŠ –hHœhVµØ-È·{sÃv�q”æ¼MÿiSÑÍãðŒ't“kO‡óˆ/k�›P1„ÐU,¢Ñ…ü@[f<öùs¶¶²¡ïÑI•2¬£X½•”؃ëÐ D`ƒ„1¸‘c„ Ð#(ŽGvnjÄìÝuv=0ؤ«wdÁ¹§'ŠDÓÞfÜ‚ ͽmél;x9 lx' ešáQI¾ú9mÓå€u+ƒÊãg.B8n�~[ÿpÀbÓÚHÓS‚,U�¹ ìÄý~˜8äÏÍuâÊ�’$�>ÖŽö$�þ¿3`÷Bk’‚XÝ_LCÌ+[kí× xT†î¶ÿ qñ¨PgŸûˆŽÊäÞÆÛn~ãU |yŒ¬�F˜ƒ¹™[*)~í=ßx ”ܨ ››rÛ—#Û£”’K°B¬[\ñù©C,4+÷’<¬o°Û•Çk¸ò`-~Þ½±]ÑUgiÉ÷ Z*ؤ×!gmíÒ÷¼=©R1ã„OôgU!Hk�vÞý-Ü`áÂSÑE%Êé!Aßžý½1ÌyîˆI\!¤¢ �|§¨¿+~Üñ`¼|“|Bƒ0ob½tÜÛßË #”aÝÊÂÂlEÆžC—.Øqs‚-Ù°SN£š›“Îàò¿ÖØ›'•!æè%”©EÀØ[–ÆÍ $Ý’°Š¥€#¾Ûîylqq¾Sø”ÙlKµÉÞ÷÷z`œk6“¿Êl¡ƒn„ìq;‡nQÐ"Ê^–Õ¯VöµïÓÝϨ\@ô^P¤‘ƒwÑ·Ëà´©è–-©®o[ƒë�weá …&Ím}çðTã”´ mE†‚EÀ?\±ÎªÇ*I‚²`KÞ×ߟ¿Ý…�JJ£Ýx…X^ÆæÜ�½qÀ´óÊ7žÁyTåå�#§¿¦º²€ú¢€ Ò|3¾ý0­ç„TW)½[[ácêzâ5…ÆPyK‘ Õõ“ÒðïòÀ¶ŽíK*ëm™½ï~}†%ÀP—˜Ô]Šª†çÏ‘ìqÁÄa€° ^HÉ$ޤïî÷bhòœ`¬�î,F’;½O¿„AÄ„’Ê]n (ߗÔÒn‚Ègg²±PwÜÚâý>ºâAFyÂÁ�’›2\[Ý{ØâZ=µÙ:$*Ÿ#Þß< hº@[‹´bUJŒÕFãoÃÚýð—Â/„åX(¸ŽªšÖ�IÀ“¿=º|qVM%ð«Í§Ü­Ô<`$DF2F¾®öïŒÝF…ˆTä„�@+Î[ÄñO`’(�qËë÷Å/åü3žJHfs….+)ªC±°ç¸?ŠÇãÈÓ’–ìž2–ó'™ºò÷ŧÉG‹\O• -+YôÚöµÇæ=1$´�®5òDXI°eD ¯ô¯cmƒà‹w­Pe#FONHFêA†d pŠ2’h¨Úˆ¬Bm{\Øòüð"Á±ÝXŽ«'*u#ÄÙÕ�Q{[tw…ÍyºáG¨I#ó¡¹Rvç¸ëËLkÀ&Ö=Z�éV$ïÁnôF\k"ÖBù‚ª±ßè`È@^Sæ0€³ W½ìqÈⳋŽ-K¥¡@$2JziîA#ƒ•{#ìöÊßÝú�ºm€{o„.}9AØ5®ÜÛ�°ôÂmÔW6=Øì±à´d¨÷½ùw·Ç\\rT½¡¢¹�ýTBAA¿!®˜Þjå&F� Vb+# ïpO[o¿¦ ¼T0y°0½÷ íæbzŸN~þ¿<—(q¼å?/‡%—JµÍΣ±Và}”¶gœ9 à "ÀÜ­É ìoËМÃb�) Kº•W[žEÿ/×xì–àm<� ¨!¯p Ü|I@î¹�?Ü�ZPçÈRçK^àü1 �íõL OÀ\BD¬·âüVÿ<°­ý€ ¥ÌÂ"4R£¡Õ!$^æýGM¯ùàdi"’H…ߟa?fYŸµ¯k™uNe–Õf ’^³5¨Uò¤žšx}YäQ·e'¶>UüHêÃI£,�Þwñòî¼—Åš¦C§Ø2â¿IÜODZ“,¦ËO UfòOQXÚ!IL$¢Æ-r +÷^øüÑ$L{¿˜kÈ#ŸO²ø>§/1R–³…!£ÍaÏ[6¦¨æTµbм¡Àu&ÇJ€±66=ñ[Q¤l·#ow°üéfˆÄn‹5¼)r! ÐfõœDœ[“ÕMUW&XP·ÊC°�©ä4ÈÖ t·3‹½#ùW³ù�öû¢Û«÷¤™™)vÞˆÊê3Á’RÕURfI”-b,¹†^˪há]´Âo° ¨¹~5ôHö½ñÓ½·S¾Š´º‚Ý ®HWNËx?5̸€fóÅAݘ^�ï*Юbò±v2�†°€.Û]½7¶z†–9ökpÒ<»…çÜ÷J�›˜çwýUÊŸƒ)¡Ñ4»‡é*ä3A˜Sx’TQ6hü1¾�°îyß ‰-8¡ø¾mU›¡-!Í;o¿ø*ëÂY‘¥¡­É›/âJºª¹VIê$§Ô:±´¥œô߸žØÒèú�FžRÈC‹O_™M—R6ŸR�¢à¼Ÿ‡3DÌóc—K*=ášV"(Ô²’¬[QÒT^˜õg§±²xÄn¾ä5F=­v9ü”�¥£Îi>êô/be¼rOTV&K Y6ÒßbFÕ%cÀ�ÕþÑ8‹4w|ð¥$áÊ,›‡ë¥œ.i%CÂZC·ÝcÚŒN¤¡[ 1°¶Ø¶4‘²à˱Øcéè¢o,7!Ý’ÕìNmeE­t/ i¶}—+q7³§Ï³º9k},¤Hèê N¢9AbH�‹Ž›vÇÍFèŸDS—Ñ:WU|/l°IµÀ‚¡Q_�_·WÙÊOg™®SÅü9G ð–fÒ˜–œ´2­µBäïýÀ‚yù€ü8ý=ü$ëþ4NŠsçhÁõ õ¦§øã7^Ðiô=A×4xÜMî æ¼‰*P¨þ½yÛm¼”d±µ¹r  œ–7Ý]¾¹ágh4P²JÅ!YMí%�Ç;o¯Ž½ÇžÈã~H*=Ð;3;ƤÜiéòúç‚VXçD Þì¤'mÿ;rúå‹»ÑàæÊ“ɸޝ)‘`©Vš”u½ôÛcó¯«Ñ ŽP¿L l-Á—½w IJÊÚ¼ºn;s?,yyšæâ–Ñš¢ª¸¹iÆÌ ù}zaº}Q#ÌyKþc9R…¨Éå¦}Ha¤ l}?_

‹‡ ÁªöÞü»âP£Éux¡½ÀàE¨)wFñ4øfÃnƒëlAaõF³`N¡ûõ,G¡(TY—ÝúâI…;–NÅÁ׫ =÷µ¾»av¤ 'Ky­À�ßë¶ !ÒÊ5™By­�Ç,qÊš´¢@mîÊ/r˜|1 ¨VÔ*’4¸õo�*6ƒÊ}_fÕvSbyíÞþ¿ž9ÁAöOE4¨ìêÄ�­ÒÛísÌâ åƒ F,ÊeeÔ-®mÎþüV~œ%Éw|£ Í™ô�,¶ “¨ZßWÀ0çºSá¥%f¬" à‘Ëa·>½°§C_ˆ$˜�`'ÖDbTó"×µ¹áv{¨ <¬4qùvñ¹:Mˆ×k‡4- z€i7°Û‰±!ò3¸á÷y®•E�'�ÁïÅÅÔ2²Ð”¾°X‚ý-¿¢[RXÏoLw¨Úo”•Jê¹#û­Ë¸×eæé7ÿM‰õ± "Þo :#³t�Áæ ¹Ò(‚ªAkw¾ÿ\½1ÅÖ‰„ók,›…µ†÷¸æ9“ÿ]±! eCIî�T‹zl/kÿç]k¶VSŒ¤ *±ç×—ùÄm#*7ƒ‚¤6±kn!‚4B‚Äôo ê$i=Ï\® õD$šl¤e·™IÛëož#C…‹OÁY"?•Â�Îç˜þ/l!ÐZW† œ‡ˆë `ZW•Nıý-ïÅWh†k(éìR·RqŠ1`êÀ�ï°¶3µ==ÜóúªÓ¸a[(øŽX?ޤ]MºŸŽ+–lä%:ðxRm_O(:‚iÜvÕÞçÂãÁ¥-a)© i:N´ü\î õŸ¦ À na "¦›Åb Ùl,:;ãƒÝyÂµÏ Z6‘¿ê$X›“òÃ@ÅŒ¢oãH(ÉШ¬ê.#–€ÑÂ'v�Â’“Ìm}ÿ|,’<Á §ÎBîò¯™�!Þí‡×,3ÅÅ% ÂÓf7[XßžøâçÀBÁ„"»èE�ÅcˆÝïk„—ÊEˆF¾¢Û�Çâß§ç‰vJ6ÈОßS€Èóô?Îø‚䛕ÒCó¿ýáE¢¼ª[Y´èä3¤�E�QÓãltÅÍ«BIº Ã5«5öåÏ㊎p”$^IE 3<ªá�úoîÁ2�¥†“Á¢žHüI‘Ï•¹‚=ÿVÀ´bлŽJñŒ‘È($où{ð¯²anÃde*85i ­£mØßNü½Ø:#ä”÷€h¢RÊ©T÷ä9[üïˆt½‰Â™㆜%}ÓIÐm-›Ôèzƒ¶%î´"iäò¢Ú5NÜù_½ð—Hn¸\à<¹O-0ÔjuºÿÖ½½”µÝÕÓƒ}ŸñWçÔœ=™~u›ÌÁRxËsk±è7“¶(õ©™»æ4-oRŽîy¥úƒÿOß²}oÙ¿ÙÉE©óN¨�ƘßÎu/^÷øcÑG¬Õv AW)ØÈ“)(“x÷÷îů)Éå=­.48QS:ùB1brôß~Ø`² p‚Ó2±:‹%� |Þ–ù`ËÏdHA´<±ê'Ã@²ßrlþ0 "¨÷\ÀO™6X«+ªŸ0oéûàÙ¼Ƽ·ÌPíïdÃþ¿ŒA=“fóeËfB£±;^öí~ÖÁ1÷å%1²�Ä ¢CZ‚Ó ¦ý|¯ê;ŽÇ${|ÅCç0£¦¤d ÒFCqk>žìSbÚ0Œ3°°‚˜X’|VkßnD[Ž à´ò‰œy¿$�Q‹0;¡^{n}Æ$¼’DÛþäÃ,Kâ!»ïxÉÝ�ÑÅ¿;E¼m¤ükº  „_¥ÏQo‡L$�Þr‹ì˜’eÒFƒ¶ýù}z`„€dp…ã6BE:Jº�cÈ’»›ÛÓÐÛ°r˜^ïìQµ-‰V"3s{Ÿ7ÿ‹LcÊlrã*&¦Ö3¦@9›n?nclYc�ç*ÛM‹!–g•YUJ=<„0]÷ÚÞî£Ôè› ¢gÓ‡³­ûüG–ç’ÓË$ßpÌGQýÇ­»‚?|a:ŽË QÚ(«úÔ%T‰JŠf[ÍÒOß§»`™�8HŒùš䥑¢q³"ï{yyôô¾-20Ü«™æƒœ¾a®ÂFTÜž·Ûà1í¹/õ *ÌJ®›=¼Þž¶Ç(mwYP�!M··øÇ|—e”,T(¿—û‡¥ùvÇ!kO a‰»=•ˆµùðëŽRc#„ã„áÏåŽLù¯k&ày ‘Î÷èqÉ•„/0H#Ÿ+ý~¸äÆ» j©r ˆæWköÇ.w%:”]TmV¶äâPïTàub’Mî}~Œ¨²¼¬ž[j$.܇|M(´³³~Îä¶>ÿ¯v%BQÐnÌ‘î@°µÅ°�Ö¥dµØÛmºžç·\0c•ÉJ°IÕkõ¶îQ5žéÅ`@w+±æ£—® ÕXQ»±I¶§BoË�ì~X]!p´ë"éC§n›nyý|1É–.©'C,`Lçñÿ¼p#²€�R.-a{1kƒ{§€6à‹ ûÿ?v% ¼á)A ê6æ9c”Ø# ÅÑ¥‰¸¸åÓ×ICóA8EÉ*¶^Cß…´Ú2=V@’ ·b6Á9ž‰d'×[k_LEz ‰Y¥MµÜ�öÂÈÔ�9E¥l¶,÷*6ØØü°¯ „—ÃÙz(ɧ7šÖ>ã…:']!">ð$_,ŠI¿#ÈrßZGd’(ð‰ñ‘ÿ¦tè·!Èí× Pæw)WR£TŠc<ï¾ÝÉÇ&a7A�‹5‰éñÇR‚óÙdÄI:VÕíÌß™Ç%ø”mdÃ!�€7¹µìGLsˆ°§wb¼¨5¤›Ø±÷b µ¨ÚJÅvPéä$òÜóîq€p˜×àÚl.¡k£†×Û.ÈK±ê’±í§ÊM®H; HmIrQ[¶]Ès‡r y^� xc@ŽC±7ëÔcž{.¡Ý?f¹ŽìñÞÆë}ý€¤ÐeJ¥ï¨•$Üœ¢¹®ex]š×xî-¿SõÓãB‘߈¥%d@U@ÞÚ¹[¾ap¿Ä°‹¥ÁTóm<îzâAAIVóƒEšû_¶‚šÆVByU÷-¸Ûõ¶ †/Ù{H �CH_ñŽ@Bh—`t»`7ýÞ˜êGWÊXk�#—'k‘¶ ¥ãºJ ˆPTm�;�­ò8'RÚå6ÚNžg•ˆ_¯«â-NÞé`�‚–X܃°ùüqTÝ/"†T,®w¾Ý¾ºbWVBö½Ê‹¹öµ…ÿŒM ý—–A»0:Š›zzâ)0“IàÖ Uˆó?ׯlEqWÉm22ÜÜ&Ç× | w)NfmIÓñÈB7‹ b6${ý6ÅI4#�„ÄŠŸ‹SC£³… ÚܶýO튲h_vª)íLÓq†ÖÁXòaë„I¦~ê”Ý)h ©Êy©¤‹�ºµ�ÀÐîä%><`©H©©™’Š Û¯×ç‡ K@äÒǵ ž }òÅo2ªé;ì9wì äiïIrŽ�¨Ê�¿ ]<‰ü>x‡1Õ„×Nu&XÈèbFâÖ�ç\=ÚâãeCÏDèÐÄ(ÚÃ˜í¶ø]¢œoÊ„’6¶ánn,m¤ö¿ç†ã‚ˆšŽ=ÿ Öv°è:XüñÇŒ)fNQ²m©2,-‰{‰8ŽÈ´[já°åߥ'•Ä)€Ø:�{ÚûÛ·.˜ í?úKÝ$´ˆ K§\gûo}ýÿ<žÈ87Ü¢@F]…´�¿<)ä>ˆ·o0Ÿ5c=oÏùÁ Há-ò�Ù<´Úl±j {•Ïé„=Î&Ú¢…Ýå>!v[©“P6¯ðæ-Žk�.+ŸŒ„ZSúBH-®?\}óÙ qaù¢£¢‘€eBu]¹züp—Ñ)¯p4Bé³ßÙƒÚ_ÚŠèx{ƒ²YÍóUæ!ZzHú±knø�Î<Äÿéºd%ò8v•�ÔúôPš»wï•ú¦û ýˆ=—ý›87ý²—î™ïÖÉÕ¼ñy¶ÐœÊÆ öævÇå߈~0Ÿ¬j?¬v³°å|«­u¹äy’Çúù.Óã\º‘ê))'Êæ©¤J£�ux0©gVwoa¥ÈIÆ4š‰[c´~kÊ8ßÏ'쨹æA?ÜóÂù<4ÕÒ¼°šxŸúu©”k{ml:=•»` Hñ‹�µ¼öSÞÑx^<ò—ŠióªhäÍ2¼»ïðÖÐØ¥xfQPD»`�ȱÆ=4oðûãŸBªI €5ƒù-]Eäù†k ä9åNm¤ËM]^¢±Î± Lú¬ Ÿ=…¯Ó¶<÷TƒQ âÛ´g=×E+Ešål¯…²¶âìÇ5\Ÿˆaá úÈ£û””Ž®V…D‰)áK+±6ä,='W©tïdû*¨8Þ}Õ˜ØÖFo¿ Í•d™P8zœ¿ÿQpÒSÔÑýÖ`J`N¨�“ûnŒtó7¹ß2j†™âHóŸÃœ„ˆf$%PÎm^(ò•eyŽY˜ÒÑÁ›S¬•sÉ"ûªoÉi%Å‚õ&ý1¿Ò`tV KlØÏcج¹åS…;Ô¢aË Ë)2ß¹MGUÁž]r�d¨±PA-¤3 ÚàX_ …û|?ÄNBªw6œ? SuD1Ìa�x”óGâˆ'õtǤ¡oŸÚÃaµñ¡ª-ŠË]ÿ´€âo÷Qf‹0¥£É-©\ÁV‘KÝš%C`¬ÛãÐùoÏc�,ÙÜ)ÖnÀõZO$�³$7K$û¡áÓB¨¢¢yY´Í)¹Š3p|Ä“as{ÞøÓgU/X6�’MªFœ å][˜ÐԬȵµ*‘#�àÕ �áŸÄ¤osr7½ñ.×NAšWžÆ°«Y�ÞQ¢†¥H¢ŠJFjÜÞDˆÔB”J_ê7ˆ%„�ÂtêØß~Øóz�^��.÷»éGÖ‚Ði&ÛÍ}�÷QË6_C%jA÷겯#øÁD ¹ÙnFâÄÛ}‡,fí„ÛˆÜóÝÜ}uQÒì¢ÑŸÉDP‡ ¨–¦d«¥‘ló,S´O¾ä3.Áˆ<­°¶öKÀ¼G L O,•ù\sKW&ÑÊà07$êç¾64Ý[TN{£>Ä×ÖÍ+�uIÚ/u7·eòûÛOú9{öƒÄ_}ösÅÊiËxrÃ$ [LÒn.£Pu¾Û\ŽxúFþ-õ+¼-eIó4%ízoDzÄÑcpù¯ŸœQþŠ^Ýálý¸{‰}Ÿçf™ØRÄ*^9ë#èÖdЗìÍ�¥AügÑ8µ’Fá"½D_Ę�K�sïôÔû[d?Þ*«¥¤kI54i*�vt1,O ÷ãÓAüOè䆸´ãØÚôñ|o¢pÞ¹ç‹þÍžÙ82ªš—‰ýœq~MS9ÓTåò£Iè ®ýöÇ ÐüQ ž=ðÊÒ9[uí4ÂØðVµ¯öYÅôÊæ§‡óXó?‰®‘ëq¶ûœjÇÖtΛ#Hù«c©ÃøC…Ÿuÿ¤ø£!©Ž­2ÜšÜÃFWQ‹W ­«BœýS]†œ-­ÂÜ`µ–£Ì•©ªv ó¿L`j´[½¼$I¦h†}Uò|µ+R*Ê-{ó v¿l$k u1Tk‹Où­{šdBÓ;!Q{Õ¿qñ�­4áÜòžÉÝ~UQ›-ð˜ ø„l1‹qÊ °œeÍê&ZUWuUU{ó<Æ×_!Z3š¥ôêu©e�FävõÇOd�{&Õ!©þ”„‹ó{óÛ¾nN×Át£Ü4z’E½ƒƒp‡5·¹H‘ö¼ò…Ó¦`.O×ÇÒÞU†í¬ L~'šëNA¹ë}ú ZñZê\×^8N¬ñÔi¦«º½¶�‹\v=ð·‡G„Ðêm]ü�“ShyãRÄXËŸ1éëîÅ€C‚†` ˜2¡Õ37ßqïí΋„N˜æî“2Äö[ƒ.­œÄ;_¡Ä1ÎÔ(iÚlð£çŽ__§WâUÕ¹Q}­kaí“ÍeY‰â¬*<Ó4E4ø€{ö<°Ouе/{jí !P .þïÊß¿®8¶‹˜TŸ(*û½õ^ÿ–Çs·r–é/œ"€T¿0pM9§Oòµ*Kÿq;�‡1ùa2ŽÔ�œß>ÈÊx�ÉT�—¥€ä=-õ¶¸4YÂç‡¸Ø ~“ ­¨Ôa‚YŸ(‡{}~ø¨ýK°mji´8[Z¥‡ æÔñ�ÔÒ‘kÜ©<û ,N\wÏé“´m{SM–H…VXm¨Ù¿Îe5\¬é4Ï!Nðï g\G˜Á”dmvmšHl�@�#¹÷{n1[Q©Ž&Hkê³uÆÂÝÒ ì§Ù+ý+¸Ï‰³‡�}¹Q/pÛ0¨‡'˜Ú¢´øW–ݱñ/�БěG—åÛéî¼GVøœÉb^çýúád<-ÀyE.GÂY&Q�Ã$6�haTD ÉnÉÛžõ·êd™Ä¸÷ÿÚùÆ£\çÂ)o¦¡�ïÕÕOE,aidh£Hî ê7<±gO¡h}HðûþK]`o™®$þJÏL‰Y[+M÷¸Ö�)ê6ÈE‡›ûl6Ř¡;·Fß(ìª2@çdŒýÑ4| O—Så4u�Å_Âg2ûì!¢Œa ÒÝÔž]ì5£ÖIædTØÏý@j…%"å±°ŽI!|BysÜßùÆ®�Dd¾0ÏAGî©H^ÖáĨxr*)V6zÌ¿-!J\“q½œØ›�¾*»¦é§q81½¨çê› ²44åBO”eY[ESOI]š&é$ºµR¦ãúdì/¿-ùc,é≎ %Ç·+KMÔMXT)à̲²Šž¯9ÈrzÈDŽ_’'‘wBÛ˜6´ºì.i;{¥EÔeÄÝFÔw{ö[œä|OEļÂ5f)$ÑÏQ”ÇâæqÙC&»\9µ€ÛZ= ºvÜOx ÿ�e½§ëÚ†8¿~>kà¿Û›ý28*‹ ν£{ Ëê2 ➘VÇ�¢³­Z ø‚Mà»7¸vÇÕ¾ þ!ÏÛ¤ês]�×Á÷_Bè_¹äÔ/†3Æ•9E[äÙÑx*´ © ‘¸ÇØuÝ?{D±e}4¹¶Ñ’¶�H¦Îi¼T Ì@7°ß¿éŠš}Ao�Œ¤9¤r2¨UÙÆd*¥›UÀ#k÷åùßQ½ÀeC)ÆÏ*©[AšU];ü»nqr9Aí\#„ª£RRNRF«�'oS‹1œm=×9»ëϺ…–œ4ä²¶‘Ê㧦؉M•ÎaÖ%VE$z£¹[õNÖ;_�Ç6C·hÂtd�5(©©;+32rÔz�Äá—bÇ)‘ÝÐÊe Y?£39°°py_Ó-®Ü{ð0…xHˆ‹7½‰¿aþpö²òâ�¥¼D.£RTÇ$ê›t,½ˆô烓ÈPì妗§ tež&G„›£(&æÜ°½ö==‘îg¨Ùc‰µ/…¡ssm]ˆíïĶGv*/¸6†Zi4ÉøI¶çð‹s–f¡î˜=ÔmL KFÒGÏZ“·M�»À’i5¯ËÊTqŒ×a~«ÒøkX9C¸ÉŠ‚c,Ë©'ðï¨s7þpt[G=ÒY- 2G,�꾑±SoÏZAÊ€}Tl±¼�"©Þär'¶ýGLZc« �p.®d‘³ÄÊ4ßK`zsÞÝpæ»ÕZ42P*e§y FaAå#}»9Œ:Á „Äá¾8«Ë(*eÐê ¥î@=þ;c#UÓAó µB}(4irjiòŸ2’çÎߦ=âôÞ!^$—¹Ó¿@~¯Ï¡¸áxYöbB€Ývúþ1黄 \Ÿá�?}øä%¤/: SFÃ}ÿ‰Ck ’=ß–8´)v)Q€°Ø^ÞìA¡.%*ìªüÎæÿ–'pP—w[¢‹_Ÿ»øÂ‹hZ"Ò2VUÈkžw¾ã+ºIÕ»^÷÷÷w¶9rZùöó6¶ß– ÁÂ}D‡vor?-»bTߪ[]|—óyl>½ØŸDè�C¡ÒYºÚûíÌŒ ‘ÊžÔ¼áƒ0u×n¿[c‚ÊÈ(Ö@5:‹mÍpeq _€�J�· žŸž´vRë)@“øm¤€·!~ß�!oªtXX¨ò¹åÌâ—”Ul·ÔW•­ˆQº¸Ju (!œõ·N¸›Ayå.À7‘T¿»üc”YY¨$y ‹ò·Ñà{#Ý)c6m íp ÷¾8„ §/~W+k� ÷'G¹P-.Ú‡’âÆý½O爫åCÚO‘1U;þ é[mç -ÐJ{6‰Ž¬¨*Öß`FäïÏôÂöY ¢F#R¶àùµDEµt߯.XK¢¼%«²=&:oÿ#Òýûaniî–æ‘‹Â&Ñ ÝumkÌ}m-†0–°Æ„Ü€¸Çòíë…<›Â“%sÊv:C%Úå—q²òúï‰ÜWˆA²’a1UbA Ï–;ÄM<”#S16üFÖ¿FéÊþì�…!àð†h$Ô›Ûͱ×þzá¢JMv0 iã},ñ�'Ÿ ·L4<(k‰å £ê#a·oñ‰¿EÙXT62H7±µ­ÒâßãÂawtÕØ%tƒp ¹û¿,2”“Œ,@H» üËcËž! ºÊpÙX75;^æÃŒŽá!•´ó;îÝ}<@I¼”â* ©ó5C–ß_,C½@Á^°s¬h }�ÏnXë¥×Œ¯2‰b@÷"ÛvÀ‡Â2�%!D �7Ô7÷ú_ãb‘?ÊšDðÄŠû›Û�ôü±Äú)¼âê2¦Æ×è=oõÏK›¸,:YÔ¯›}Ç»kß–@„—]’™1ùwC½�ÎÞìGÉFüÚó—�ÈRv"ß¾9‹Üh«Øª‚G¯ÏËÚî‹k®Çu� ‡ÈmÐêéñüïˆw”¨nFJx,�¤Ð]¯Óožºò„"aSK‡ôß�þ0³D®sh©gšŽH¤tk�;ôúß •�"’j³PñM0ÐþsaqÚÖ¿­±Ÿ&”aTšEv*õ—ñ-<ÚUÞ×"ú�¯õûã1úww*3iÈVøk ©@Ks¤t÷áAÍn8H�ͦ䠉ÕÝI?óïÀNÔ9¼RŒ—);°KïrGO~â29RÉGÕDÏ—²¿‘®,@õ;þؖɵ¤Öx¤Š»L½1.ÌÖ�PùûûÿŒëå0áÛ­)©ˆf*ªEÇ&°øàCÜy(þê4ˆJf$ @Ø _òH»DÐo yð'³×Í3ÌŽc`×~¦<_]ø€Em¾Ò¾ø6Md‚Ûå+®x+ÙV\®Ÿz¦D]­ßç×–>_'ÆÉ@¯Ò�øqq íè·Ý7±¼«6‰â¥¡Ô°º$bíïcÐtÏ‹XÓR;î©uŸ„4q4¹Ôîå{$ÿOjÒxŽ�-ʸz§#Ë$‘ME}T&8éâ'soînÃóÅî«ñö“K‹»qô~Oþ!uþ•¡Ü4¯w +ìÿÙ�ì'ìÓìÁ—ÖfY[ÿêÞ(ªO\Òª*·Ñè œ~uø¯ãÝWS“kCG`W枯Õ%ÕIâ<Ðü‚ìºLº¢V«©jµ�bTÓ£ v¹ü¾ñÀïòïߪÀÕj@5ÛÖÖÊ¤Ž JŠq÷¯¼:F±È\ù#r±' ì=;âÔPǽ }ÚÛTãe¼"ã]<¬µµm)ŠGQ¥ ­`¶ù_ècÐO$Q¶š û²àl�;H¬Õ$f�*ÞUÄ q‘ýE[–MVÜždŽ@az·I´徃ý«šwµ®§ �e1�ñrf)W Erö6*‹éó7èøö¶¨ÕÅ'–WÝhɬw%Ê•[œUf,³É÷˜¤¼uJt´¬M› ÎÝví„Ê$uHì�ꪺjÁ9=Ôd¹EUuOO3�8`-!¹ÒÅ®uùn¢1·%ÅÝŒ0Ùçç_u›«”—í«ke•RðõvA•òÀ#•ë´•( øî -ÖÀÛ}ñèúKÌL|P°=Ç$žß+ý¹e&:a SYQ 1ey�´”•`M¡aC4—}JU‰¿Aµñiõ1»dÎÚÇq@YýüÒß h¢9BÍU ¹Ì0ÔVed̺¦K Â{ØžÚ�ºª€A-¿llMu1ø‘°–7ãÊI�àø�ü'º­q=cQqG]4UçˆÌˆâ)×ÊäÿN>|ì9“½€ïŒ½Ip N¬�xöç”VàðZ|ÞáX3Hê)³Lß-ÿzËÙ'¨Ygš•Ä]#$_c¸ E·<ù\×uE&æL pÍV=¾$‡9áæ7 ¸PÔT”f|¾j̾ úXçx"�:¬ºIkÈá®nH,; “¹Ïl‘:¯ðßsE\64:¾^èHþ÷Y-6uMUM—TeÎÓH@"iÚö3½�-;ZÀúáqÄÃ#Ã¥�‹»û¤ø‚ÃÃÚn²†¢<×.hYëÖŠÈZ¦Ÿ4–ޝ2‹'¬$È*f‘•†æÑ7ÜõÀiúcü]’Lž ¼|“t—g9 ‘N+rÜξ�©¦šš±Õx€:²·àXŽír,I¹é× Òt§¶yh~ÜÙ4~ž§æº÷FH4m˜TfµË5T¢Yë¿«¢;!„£�Å•FÆà€v±¶65Ú�g‚$‘˜<söTß§p%ÀÙ>ØP9mMx†{ÔÈ´ÆvžQ#‚³lG”7âe½îzïÏ éZ0àd.-õ³ùeWŽGùTE!¨¨_¼IW˜EA$ºUÆæ`2 ü^˜í?M�ÅÎq  ã÷ù#låÎÁVHjiÓÂ1Ö=KË9DñâPªØ$éØo°Ø÷Àê'‚/# 7ëþÓ8uîü–+é( ­åŸ1‰«[ÅÝN×õ÷b†£I¥-/u—ûvVØK‡„gÔ ë«i�>c-„NTçTŠËk¶£¸Sm€°ÃÇSÓmm5Vv©Ê÷4³ Ê–ŸÆ2ʵ�äx^;©†Ö¾£ú -t-»!Õé‚«´ù¿¸ªæk™ÓæÔ땹•ž’A*Jdb·áß}¶ëŠmêåÌtr6Ïc•aÍ òsß䵎s+ñ>ašg�÷Ùã×ßqîÛ≯-QÚBJÜž#Ó¿¡‘Á²»`û§ÄîPî¦!âDÓÜEˆå·?úÃèÖJæH×:©3o3j a¬©Úç ½¦ÉV8w(E³â–•#rMñi¯Iì‚xe{¹ ïm`ùI=~'÷ǘ]X*:x%BÖ·ˆ<Çÿ‘÷ÿ8p#è˜ß~•d%‡™n9¯kt¹Ç¦ák–ÖVz™”i mk_qº†“Ù$¦›³‚M¬EÅÇÖøäGqåe(µÆ‹û¯ëlr�“’–ë«ÌÄF¼ù~g¶9AÂR­Ãë:·7ýñȨsi@–`³ZÖÜr0GªË1`M†«¤¯ûÇ(//Ki²¨Q¹;Ž@c�·!gA$VklIæ|OjRqÊðFáuŸ¶Ø }O��Ä_{Jê¾Wµ7�X®žgm�Ãç�sm¸å$'›“ê½ö;òý1À®2vKl@N÷ío¡‰![}ÒÅ�´šM¿¸®˜ov—Q:Ð^À~˜'¥§²Ë!,;›‹‹Ü‘ûáD)[UŠ­·ç{â0áUIÁ°M¿OúÇ!J ̤ 9/šÖ$û±ÞèÃë ÐáÔ -¤mÞâã§Ï|A´6 D‡€.Û7ëõÓHv“Âp•P4ض›’?vŒ¢ ÖRz5œÈ7ísƒ(99N„&!§I~¶÷áeÊB\va«U‰î-¾:’Ï+1½®…J¿ü¯ÏŸÏ–"‘š)ñkë±Ð{u?âØŠ@\?µ)mm@1¿O_Ï…¦¹^åu+¨n%u¥ª6’Tè‹Ðì7éûav/Ý M¥ùEŸY¶æûŽßU^VÚÇž#Ò�…„Y5Zö#Ó¡‰°S ¨ZX�oâ1•ì=ü�\5„'䔂G-pˆÓ}®Ûó¿À`KEã)ØÜƒcm†Àooú‹@m…orpJÚN†uRlMíÿXìpT9ׄdU¬Ì×å~^—é…–Htc¸GÇ\4ÛXBA¾’>^ü Ä{( %JSÖ[êQ¼ÌZÚwéõúâ³£!Vv˜”P¨Y|R¥‘÷6Ü0 aÒæoªQX¤Q¥m`/sõòÀ‹´{qåCËRºxw¿®ÀÞÛõL4&b€ ÍÁ·3Ûë× Ü9æüà †ˆ –Ui7c¿/ç×£ù!žÎä1±îv߸Œ…;�å%âÔn¾ncaÏ®þ˜–H)ze�.Åoº“o®Xk^Ý&°XZâ÷�¾¶Á®ÝÙ8T,�¨6Úý=öÀ´¢kqi*¤·áÕÏŸ÷mùòå‰!C[‹*à‡�ƒ¾û¹~x]ŠŒƒ”�1ÙN H6n‚Ø,£ît�.6µ–ÛÛÝðÄŒ)+Êu�@ AäzŸw×·Áî—Dµ=d©$(kƒry º«K§Õ+ Œùm}ÿŒ 8‡WáE\–êöçém¾y=ГÂy® È^æû þ# ù¡&ÏÕ½ÕU¹[�€ßòÀ–ŽR^/ v�6«¤’ÈòØØž–%Óî‚©#[TUÏ.âåQÙCÜ][{ÛsiÈÍcÙTz6Ò¯TUñLZMýºÛß„ï<�vù‚�9X©f`¢åAµÈÜt>œð~8à% MÚ‰ªÉ%]$]‰åò?®â¸ð” QoG"Ð :,vëÈžû 0’FB{¤KdYx“2¥„¥”°ß˜åÛãùâ¶±ûc$ð¯tøÚùFü¯ ¾Í¸l-L‘ `¾[oÏô>ü~qøÇª8JA_·ÿ†š2ðeûöÆþÒóš,»‡òš‰"wêYŠ1Ü·k ãå¬ê.7°n¯Éz�ÿŠ+ éÌš·�ÆÞ~Ëí·ÙÃì½Â~ÅÞ«6Ï©ix·‰ç�DZÓË ;� ò|YÀÇx„’¿šÅÏãÞ»â)¼(?§àϹ]7šËK/ƒ/ƒE;E¥cò) scééÏcªê!_ƒÄq·'¹U8iW:jÕg‚(ˆ‰#’àÊÄò r$y­î¿,giÜ\wHžö9Û]EOB©GšM�A*,Óÿ]ä�MUl¡l7`-õ¾6ÀsH$Ñ+-ò‡XWˆU#CW÷(%óº¼Ìà3°K°[þ${±étÑÅáXäwïôXSê]ý�Uô†x¾èή²0ž v€°�üÞ`»n=ç ;ŸMg¯qû´ÇnŒÛ†Tß ÃOšUEMá&lÔ°;TA<¾R–ÖÀž@– n@'¨Å­žG¿c›uôU,�™¦ý�ÃCZ2ºŠ€�U0yª‡†@$"Æ·¹ngžûásõ`FÖSï'%»G½ÖNkýYÝm ¡û—Ý©$•já¢�£6¶»‡‘¶ó1½�ä.msl?ù‘á—µ ´ |ýÐÊKÈgl)òªÜŸÇ€Ñe’ýÖ†KhžàˆÐ^Åùwmí¶øÐþJHâ‘­8õaî�Ïs\æŒÒ?‡ÁÌ¡¢ŠZ%”ÿï%‰W[HÆåå–CfcrXwÆ¿LÐ�K™·nOä”QM½µB‡¢75¡ÿnË Fa>[O%L�¥f:õY‡þ×HÜò8V«¦²¼ø ÀæÿÒ³.˜¶+uQíÉûöZë%§jÜ®­ÌÒ’Ž‘Ù)`w=7º­¬ ±$¤úcÊ·Iª›tNŸklªð–±¡×�ÙJæYu(b–3)â�3 âtyd�رæB¢�û[•Íñdˆtä0Ûï’AÊ´6Iæý¤eÕ´ùJ¦S eFtÔÕKáTSÙuHËg@XnD\mbzãQº¸tí#NÍÀæÆ(ûr«Z68ü”\N±¾f“ê�/§rÈð £* P[r×Ò/Ìîya¾ó$¸g8õô²©½�‹•˜×5Fa”ePS¶_”ÕUC©£±Ò-`ìä]€ÔÆÛ{±�¯êcRÏNY2UÈáfí•JêhirI«+2Iéž+)­¨²´Ô�Š»�vòØžbØô�?£3GýH^Ü—oÑÚe‡«YÉ›L8†L·4Š:êpZ:‰cÚW*EÕ îÛ�/Öݰ©õ;õXd²;ûü•õ¤—ö»ú rÚT�Õ’¡cË ’jªÂ¨D±±`zÛñAakÛQÅÝÛÔ$Û1Èå.QmÝIú¬öš ¬º<’ž¢ž2ì|yÚï*°e;h�½çÔõxœ£&Ç÷ð�ŸÚ?<«|º¦»:�3®£Ë)©ãXãû²‰>ñ!$¾öº�†©Y¦ ÔÈ»{üÕˆàiÞ×y}~9èòÊUC:ž¨]#¤te€¸û›mÿ]±—¨–vÄý÷Ù.@c`mÝ¢é"†jZ Ì´YÂ;x�+iPœ÷ÇéŠMÓÇàº9šá'gv¯’—yÛ±�”¬�^$�)êüJúuw—b7[XÛ¿,7C©tOÂwûùªz‚æù�ó"×Ö==TÓËK0Hš0Œ—r’tõÕrO¦4¿›Ô¹ÔkäFQ6î')üž²ª”åE¨ÄðE(oHÁ§{Û ÑhõLxsbøQ¦–�d~Š·›åßíSf¯YIyœÑ3ŃýP[f]<�¾Ûê?Þ;ã .ãШsKÜ\+_æ•’d<-˜ÕO5v[›DC§…"U°Ô„þÝqå&øqÌ�Òû¸aîÅèµþ.†Ì *eF]"£,‘DZéÍ{_®4#y4öÙÊŒjUF²2©7S¦þ›û»âËe'€™á¶ì¨×�c�Jy¹µ‹óí{c�µÃÝO©7,&SâF¥N‹ê9ôÄï¦å4£Ú+¿†\ þÛvý0Ö<Ðåvœù­0ð4@:ºÚÇKí¿»§\CHq¢Šy 5zš�ühÕ£aÓkG">7Á¾|¥IyxÛ`¢�a¯F’Ž)ñÇÌÚÜÔöÛá€d…£cÎ`!@Ë wF+ø��Èï¿\ZaàØFÁYBÔ+!“úa™� l¾xQÜEÝ"i·b©iÕWÇ¥* \°·˜†ùˆóý�ü åCRðË pêté¸[¯|àÑN 8 ¤Œ Lz£$×MþX`x¬¦6¯ †Œ0WvW`HØX·{úôï†Æ û#/ 4 JwçqÚáHééÛd¼…Í}s”@ *YI¶û¸µÿï<÷Ok³“… ®¬Qœ½€çÈrÿõ¤‚·É5••Xi[±¹7ÿ¾X•Wƒ"–ÖÀ“·©ôÇ)+>9 û\râ�ƒ6ß•±%×”–Vyö7°·×®%�`iÔÌHÒooQþ1ÈH¥æìê`v¹¶9K@¤â«16VV'åŽEá÷+’G•;›úwÇ(Ø=R�¼ÌX å·>ûc”†{¥w>fr #~¿G§iõO BFždíŽ@ðmyA6S6Ë{°4PØî–n,Ì·ë¶×APIJ!ê:µéµ‡SëˆÚºÊU÷ÛPk�wëŽåqöYó7›c¶ã½­é€²$¥*ê6‚noõ¾Êš NUÀk•¶çQæ;_†–X6c½ˆëñÇZà”/溩[íå·mñˆ¼Q•³�×çbmµÇ»¥¤0šm!šÒn`Î8¨p7E:$c©@Ó¨u·;zc©Aº|¦Ä�v¾ß˜ å.1¥Ù1=ŽÀžƒü`k �dpŸeóI!Ð_u½0¤žSÈÖPÆüÎ×äqÔ‰ëÄ.À EîFÜñÕ O¶ÞÚ·#Ë¿ý`I=”HãxXEó KârktíñÇ1kœle:l ^Üü¶ÛžÈXï\%®–µü€ï~_¦憕âӚǗN¹7$ÿ¸’/* \0½å!dÖŸ�÷ž#ÍÇeÎu`¥G;èoÌàZ V!d"èd]ï¸ [Oøõ¶se4Á,Æ�µÛ•¹{ÿ,öBâW¢ÔÄ ±­ý?,qº÷vÊÊ_Ê ¸Éð$úpšÖúå­î¤µå½‰Ÿ.x‘ŽRÞÒx^I¥]õ�Ôß{/m°.¥ïGCUv¼ŠJÛ–âÃÓ 0ÚEFÑ©^›xjÉsÏUÿ/�ç€0Rí„‚yD%J8RdeÛ`¿Æc  ,Åð•]‘ΛXÞøž‰e•Â@xÉ!Dб±µ­¾çuÊâÌÚñKÜ‹õ°ÕÛhˆ'!`�˜ÞæÀ›m†áwˆFI(FÔÛ~[ÿ-ɾé¶Aº•éºúýtÁ5ÂÓZ.Xyˆ¸Ø5´à¬rQFS,±î¤Æ;�ÓùÁƒ…;ð²X¶° +ýÆþîxžW6‡!%#  u'×´‘•ÅÄ$‘¡¤V×plXïc~ø% p!)v,¸½÷;‡Z9ÕÊxÜÈêIÑ~×#á‰o m¦Î6Û`=?¿÷:ªY*&2FWý¬3c<쬠±Û}¯Ï$±iØ VÞÆ+Ôe*@àyÜOåôP5$³4¹%wðˆ 3ùMŽû·,oõ›ªaÙâ×â. òõ(Ö¢À¼­y5fZ*`†²Ḛ̂ ¥£eñdEo,Qê/3¾äóÇŠ‹S �È'ר*q�Ø}€¥ãϲºHs:JL™¾õaÉͯDÁ¦„XUÚ.-– ³:¬²F ¥§™dU••¦ÜI#K1Ú÷€äqçâê­ÜekÃhwçéÙ—U±¥¬ákm u�T#æŸÛNš‡�å¸óff'ßµ±^nªé}�ÞŸæø) �Á{"J¼Â¢L°šÊ�XŒÐ¦�~<Ê<ä)½¬Üïm±[ÅtŽ Ó—:ù§ä¬ibÜ<Åb³ïf�®c=U5|R-‚"Z�SUÛH± ¶Ã�ç½±9ñH°�áǧúFØ÷ÑÏtmQK5¡4Fèÿ…³^‘jc.€Ê•ô7ùÛøÂ]¨kÅÖU^C³ÏÑV³ŒŽ2Žñ›ÎÜ Üú�®X±¥êvSª#+\TQš}I0þ˜¶¥'ã‚=Q—7•u’=T%M"‹x~x¶åÌw¸ùsņ?{*Äow*.¢bÝ5<€lw"Öµ‰ín˜ë$ì¤^-š=“/N*?« ð'C¸<Ÿ�Èôõ醗mÂ` ºÆÎ5±M)÷<­n@õëŽsû”Í<ýÐSÆ[O€ö6ó)çcúãšúE¶øA²²J<d››=÷Sßëžæh¢¢¨Ur¤ãZ,Å£„”LÈp¢Ë(í~‡ãúâY!nŒŽo< 5,”Òè©„©»+†Ø ù®ⶬPù,_d-DJ÷’"ñ¢£–ö¹Â´ÔT´o¢ª`ªa“Á—’²òb}þüXkù á;y8< 壎i"<õOùƒÐ’NבÆB ïa%"�›DÑé“ðë ç¡#¿ÖØ`ž;d$ÔSIxk1ÂãÌôøà™!áp¢ÜŽTcSÝ€i¡±î¶ÜÓÓé pœ&ò×uÌì[Ê|FQ±;ÜcܯLAN«êmAÜ‘¿3}»ŸÛ¹�¾VSao!ý|qÈö§tÚëÌ�ÅïÇ( àYA$Ølo~cëôÄHlBÉdØ�tüö¶Ø”[�Âó¯çÓk\9íŽBEr²,m°#•ºc—5�׊ºÝ|«¸ß×¶9s‰+"ÀêpJ ƒtÇ. Ç¢PØ®€9u/;÷ r-€à ¥”.‘ß`@¿ùÄ8Ò å+H \©‰?Ï,sWnee@$M¹_Ӏ‚¥•WIóXŽGöÄ©Ùct_(€ØõÀ�TR¼¥‹Ÿ(~Cµ­úa~Fð¡Ô–]Ezl1;@@¼b xwØÞãñÀ8ú)uvNjf*Tß§SŽQY^º�6òM¾Øák“ +� U”žœúzuÇ&1˜ÊÊ“¥”ƒ{w½ÏáíJP‚7Òµ¶¿Æ% %qs¸7çÛ߈°ƒœ�ˆÌt8¯c‰F@Ê ,ÚRâöø|{àK‚^ïUï3OüC­È°ú¾ ¸ÒsSF€E¶·;û±(Û|'õ~2×Q{‘q�¼®Çdá•OAr@¿+ý[D¡ 5Iå’ä?ákóÀ�ŠPGdê« í¤¤€m�uÚ‹u§F“åXØ&ÀXáD“Ï]ŽÆ×+v<‰6Ü÷ßÙ(Weð{¯65ÅùÚ×ÚøáÊY�MرmÏKrúüñ%×ÀR×W%eVåÌv±&רòµ±Î…Í£›K"Á‡6ç{÷À Bà9+Ķ[‹íb9üúâA¥~mx! ¡ìäK�ñ 4Q=Ç‹NFYl|ÂC°³/ð1.q(X•*ÈŒº÷ú8m5ÅÍÁK¹žwú¾:’�Ž2±w*/ª÷¹¸¾øêS~©ÍD*½Î܇;uå‰o�ŸÈŠá®F×½ð½¢ÔÐ<¢£­-ç+!î9ÛÓ¶öY ‡aO­_žàê}6Û­Çé…:" ·‰Še�ƒ!P†÷ú¶!Ì!-äŽW•Uˆóªí{“·+œH~<;¾ kdQ³s¸ÚÄõü° ÷Nn9Lv°)v°Ùˆ½Ç]»_âE'iÅå1"i¹MzJìHŸûÃXAÊàà9C„BálmÐ[§]úŽXi¾È‹¯!!U.«Xó¿×<†¼ ,S7üF!Å4Åe+£ŒÄo~‹nŸž%¼] Þ ò„UrÓ{^üö·ïˆ´VR´¡IÔ¼í~X€Rò{'Ñc!¯‰Üƒ·»ŽCÙq>ÉÁk�Á�í¯«awèT¹ô(/*²¹–¸ �}Ïk}|°7Y(J!aeÐ� w½ý-ûà ï”úÅ¥ž÷ŽÍsèly`wÚYçÙ:ˆ®Xipwµ�ϧ°–MŒ¨à,ªI}ˆ÷ã {ð�_N=ÔŒ0é:™|—¹Û·l)Ï5aCÙÝJSÒiŒƒÅ6¹ÇáŠïyà ˜Ù z*DbÍåßa~¸ªë&Çe^`Ñ‚ÜrG¢HU‘–æÚ†Çèþx¨eÑIsIa[òzéi´,ªA&çaŠòGgp*£¡ nåRA™F‘'âµ­¾Ç©÷røâ�ó\ì€ö辿}ŠÿÓW‰¸Ç5á_kžÓ²˜x]eŽº‹*xÏ‹[âJ9,|��?Ë"øãø€Ñ´ÚGY<•âú¿Zs­¬8ýWè¿+à÷¡£¡ ¨‹E;§ƒ ÑTyPv[Zç¯L~u0=í/»=׊Õê·~UÖ*œ²„KKFUë]<þ�@-kÞÀwÅwt‡ÎGï•YÚæµ vTŠijj³�OøtµA€�íͤ'o(v¹·Lmét-Ýçûî°õZ·<€ çÇS˜Ve�C—Ô£Á+ªö»»±+¨›:ŸKccO¢c¥kvÝ,É$”ƒáµOåÔ¯U]2Ô+MÓÔÓHÎm®W,.¶ÚʪXy•ØâÍE åç5Û²«¦2¸ ⯠¥–Ë ‰ErÒ7Þ!%+FÌ×DrT$kЖô'‘½²¼>B/ß [S§dmŽkä¥)"-”äli*&¢j™æ˜¡¥‘‚ž` v7½ï°žöŽ7ø$Ë¡†@©u+TÀêEé¡ÂTuÑÎØÚþkY Õ‡oÃù÷…õއ¬•Àšªü¸ñfBÙvaYDêYãb:ÜXòÇêÈd X6¾‘iT¤«Ë*bª‚iiåPÍ{Þüöõ±6×´‡hÆ× ¡½ŸûI†xÒ‚¼´R€Ì‡0qãú‡J�ý–V«GY }XLë¡©ÛÌM�¿/Ž3Ä>+A–c�nMý•?ˆ8v:ß,I¦BvòíË¿\[ÒÈøü§>ÉÑ¿m�,-U˜åuk4{†êßksÇ£�ÛǺÐ’Úà¨sOFP¬Œ§{r:ü;a®Ë·8å7v0£*)Ä.¾éÒNýöÃZð;#d¦éɵ—VŒÃRkê÷aïÔ5ÃhãóDH³·6£Ìí«eM®;{ðˆÈ?–9r}âñ4j È‹óõôÄß*G)å•×X$èGíðÂ�¢[Ú-+UîŒ-¾ûØü»aNŽ—jÓÞ2žŠ �íç½öß•!dÿŒÇg;ô傳T µ5áåA66¿-ÿ.x—p»x%!£tðÀ rH6Úßu…4bvRÑ‚Aß®÷üñ%Þˆƒ©eaæò Vç·?‡Ï¾†oî›ðAR¬n ™n¸Ç5é­”³bARPïÎÝ>†¾²RÉ@%af[•[Xž½¾>¸Qu¡qO¨�N´[�Éåîúé�4–}ÊwZ¢¥Ã_vúç�Râ €u‚€Mÿ·×J-¹ÜQž1EšÇ‘åþyoŽ{+ºqhKH|÷Ýzo¯¡„¼zª²0;£�]žE±Rw¨å|.F·²ªíÀp¥©â w »ìÂý»ã>I2–dÜ,ž¤t‰&òt6 ïïù`ÄäöUL™ºSSÑ¥NüØÛŸ®üð¹fw o¢/ºŸ¥¦%�ª‹ï¸äl;wÅS}’üÔ­4ôŒB§0NçüwÅgrªK»Õ\8{‚sN)Íòü�(Ëë3Þ²d‚šš-$ò1°U©8¥ªÖÁ{Í5R›Qm2Hp¾ý}ˆ?Ó;àÎ Ë}¡ûq§¢¨Ì)™>å�5¤Hæa}U ËȦú}qðß�¾4’PtºL{¯ Ô¾" aƒî¿Cü='û.MA�RT�i¡Lˆ£`˜‹[°å�–x@µÖ\~ëÃ˯3;uáEç³H~øjä"¢âž9CéHwb=ÃË—,bjD¥ôê¹Ä‘žU6Õ•y�@T ª+Z…•·•7#±7 ü9âÆ’vÇj¤„ñ·%Oðï VÕSåóÍQTÑK2L‰§ún‘±o/FФ±¹Üž¸öš],ˆî»?eˆèeq (“˜4�Îë`vçq‹TÆÈ\"¿\šÆvñÊØuÒd9X²QQ!š)ý%vu-æy«\`1êañÛ§ÜÖ€×q‹û÷EfW€«ÕÙ|oU7ƒO6`ôªj× Ü+{olVÖøú‡ø�°Qíj¡Óã›^ŽcN´´ôO]¬VÔ¼1€R  �·¹Hë¹À¾Yæp†ÆãéØtæD ºÀCÑÔÄj¿Ú(ª�-ÌIšYíy µÈ½�_¡å½±Ÿ¨/2l�ô×`—WêŠ')\²èêóŠªÖ¨¦£ê•4¤wó*"°ûßv=‚S;›dXwo¦í.{�W¯H8®–hĺáºÑÔHo,ÌÖr4Øj·›Oa¾Õ!�š‚ýAã±î~œ%Gd9*–'5U9¥lQÕ;Å[S© 5\ ·Û¶(ôøÿ˜‘Á¬œ„± KËhü”\ü{“RÓÁ<UÉ—ÖćŪF ,€…b¬?´zv8·£êQ2VÛAo6QIÍ ¿DåGeòS=yÎiòŒ¶x`�MžµÇeæú¯å\ÍÏp{e›O19B‰Ì}¯pvW”et¹†q•SgN¦8v§„þ/߈úcº8!.&ÜîÕÀ[zm ”[.–­â^<É$Ëó2üÊYòg™Z”cÊýÄßß� Ô4$¼º!ä÷ ðÀY.й½8šºË7œÍ–fðS)¦†(šök½û€ßž2ú{[÷±Ü-=f‡vÆQ¾Qù-nS™fRÉ-f4tʵ„ù…ìÀƒPÛÓžºé©¯ì²_ ðÝm)As\ç2£ûœu9VZ±Ô g‡ÿ"˜ÛTmëk“ñÆ×Âz6Ù$âÿ%ô.‡«cÑÂü {Kð*x³ˆ•£½dÛì󱱿ëé�Ö‚0Ö¢ú~—RÒlðµÔ^+�*ÂÄ^Û_–÷÷†F×;ÍJã&eSFT E<”3$±HU”ëM<¯Ì\úÿ8´× ®+›&àA] Â>ÚÞX)2ŒÎŠ:yãP«ÊAÊýÇøÆ·Fcm²ˆµ[S¡kš Wù[ò–jlÒ„Tј››)Ü›vÆ\o.7yù,‰`4h*>s�G?‹*##3Ø‹l}/ÐÛ…ÒFÿ6B[[ýÕóZ¾¿(–HU’3k�7ïÒݱ­ìsH%kDòñ¸p«òQ»X¢D$ùºïñýo‹np*ÄNƒAèg݃$›ª5ùa­fåœíá.Þ,jµzvoÇÿ%¿#ù`!Dm.ü' 6® ö a±;ÛÖûï¾Û»ÊfwÙGëpóBm¥Ï5—ÿÇ$¢upÒ‘Q´LáVA}ab½¿.~ümap‘Ü4§á© ¦ž¹Óó°)s¹R:z°;¼Þ…1­ÜPõùdKšÒjV‰vß/ŽâîçÝ-=ÔdÞ-I+)ÖÃñz9Ï40„>‰!4c"!©ÂRü'Óq'eE Ü(ÿº¸*® Rق­±[ñ;)ÔÚR‹,Q…!^ók;é6ééé‚€ë® Ý“k�ÁÓ¥RBÂÀßž>ŠyµìĆè¬iÓ©M˜{�ɶØå%Þ‹-µ˜�­ü�Ó–yNí¨ª×7Ç#c½R, ¦ýHß1È\Ë÷KU#ÊX…æn6·Lr`!%ÈI`-æëëŽBþË ao-ȸå w²ó×°±þÓ~xä%¤$¯2Kt [oN˜‚i24­.¾Ùz6øã‚4ò¸6ä›m‰I£vR‘™‰¸‘ËsLE!ÙÊR°Ô�`oÜ~ø’˜çvK T_Èl¼ºßá�>ÉnrŸ ¬w_.÷oóÀl*�Ô¸-ˆ·a°õÿ8}QãÉXVA,…�;Øì{c”tê©$»\rëðêqÔ™f—™T�wò�}ùÛÖãêØŠK)Ñæe`MµmÿË߉#¤SͰ;µûßåñÀ€WJF�€-¯rm§ó¿^˜*=—U'˜À°ÕÈlv?VÄZšK)>P®Nü¶'ãˆS»vSˆBPÀK\zbTl¤æÆÀƒr·Û™ÄmS”Pó} ~D·?]ðªKàÑ+ ØÜMÍÛpq$¨4‚Ä[Nƒ·3ˆRæ÷´ê¾íÛòþ1Ê0˜¨$Ü"l/Êß[cˆPìåeQ@&ÌÿkrÀ9Ô¡¢øN€AÙ|¼Ç2Ÿ¢‹õ^UÔF•…ïÙvùÞ!À!a=ÒÕJrƒëoËß…X¼ u’–$“U÷ÓÒÛ’{úãœÌak²!\r…E÷îØ¯J\l£Rª/C¤ô¦ ²Ð½</­V6¸¹ßŸ¯¾ø‡7²BÈuº‘r¤†òõôë¶:€]áÖR«±2¨î7ÛëÓc€¸¶ò‘¡|¡†«ò·CŽÚ5Á!âÔX¾âÆÇü`Á‘ï…ã U ÖcýçÏjp•áì¡<;íkžý°;…¡Þ⽤iuÜ‹Øút牵Åßu‘¥Á*“r¡y_÷8•V<¾]+½ˆß|vk(÷€Sa’;ùН/O¯çm'„äwü,6½­òåùbW8z%%˜=�ïÏó8ìRvœGÐ,€c{óý0mð—YD fW$ô&Üý×í…:4e­åå›N‚/ø¹[þ·ÂÌ}Ð8W(„+¤£<¾`7¶Š 7Œ%(Cæ]:Oâ ô·ëˆ8PIá—RNúwÖ6>˜ò>IdŠJ4h<¶ ß~Æã¯§øÀ¶kádÛ—!¾äà•6Ô6#·¯éƒt…�ê°iK躔{ó'û»uwEĤ˜¶¡Ï•Å�¡8ì‹y?‰8#}`ùºs~¾ï«c‡TfŠ^™o -mô‚§ õüñ p<#iÚ�Y™dPÚŠƒb X�O×ÜŒ£ñ�ã„z; Ú‰èI·!ÔtÂÞãÉåV‘í&‚•¤‰Üxm¬ 6=lqVSjœ¹ì¬T´ÌP0[½¯¨óÅ'í*³ä-9ù)èhYYA,Fä\žßçߌ¹Žð,©ºl½—Rª¸`@:FÌ:o„8VR_ùªVz<­ØHô Þǧ»]»”R‡yW@ûöÇÚx®‹ƒø/'š»0“Ï#‘ý8#ÿ›·A�=ñUf‘ž$§=—œê½V=<{œhúz¯Ð7Ù'ì#”ýŸ3¼¯‹³úº%ö�}T¬¨ ysX�é“{¹¸ß¦?>|SñŒº³áiÍóŽ¡×7šJ°_YxR€ÑWÖCQQW-6¹¿®žyk;ØîN ¯»+ÁÚñŸžW—�“dðUçÄœf‘ÔÀ&Xš“ȇ¹5,¡bWn›$ôá#dŽÝšöçê»Ã ÅR°eŸu9„ro¿äôÏ­ �IJ‚ºT%Ç$y\±<ô'1|XÑëálž`K[õ¿²lZw1ãÝ/‡òºaĹmv+3 ”SÎÒµ$ê"ò37 îÄ[¢*ò|oŸWªk#ò·½É:(£ff ëQ4tÖPeô�Å“»RÀŒQJùK’¢¦ìTóP£{ãwNcš`Æ ÍhÈ<ïÆR50ínç >° ª�þïWaWLùlò8Ñ÷²ë#ɯmix²;]‘÷ÆN°E¸:Ã/ËÚ줃 qÏjZ¾(_6¨Í2ºYsÍ#UE¨3DC¯På`ÌH亯{Û[I­|³ `þð«já ŽÛ•+’ÑøYUÙ­oƒ•TULb1Éuû±cpŒUT5¬AsllÇÒÜX7•¤öÏä9u­°Üþý´ÑEWQ—øôbO»ÇNÒ4ɦ?Ä�Þ3ÿòª–>gPÝ4¤ˆµ†€æÆ>Êœ“àþJ#Š|jé2Û½5 l9…L±/€<—Gcÿ{:[Óºö¡¯m=ÂÁÀꛣŽBþ©Z::Á’E–hðê–‹îMS;2Ù$>"³±>iÎ@>Pª ·ÚÐjZ"´ÓUgå;S ­k_÷ Ê¡-X’iJ(HãKé[ao2Øu,I8ó/|��°»ËÚ»û…YÒC‹lþ‹rIC—¶WD2š‰k”@k¥D,�É*ô éùÈãÑ�†Øèavç‘ÅzÚÛ¦ç @ÇM—f@åb™i( XRœÝ¢«�[Ä�¯¹½­«ktÄë� ÃZÎk «�Œ±åÀåO.jõRJ“GQKY;¤ÑÅ K¡ÑMî{XÞØ¯?VîדÀhÂ(Æã@y�µùƒ@3 Ùë3}s!Tg¶¦!Õ!½´mÔàµ=Hµ¢]CœàžW9€µ×ì ÛÂðòŸšlº‘ã3µ<`êšK2?ÚIÄÛ�±ãÙÔ˜ÛñC÷wÉ=ÚvРײ�§«¥¨ûÝEDâ™#+ 4Z J„CªÏc{Ôp½£F^éÜòÐ8`ûªŽsƒv÷Q*Ô×çÏWD³ISºÓ cOíÛÙEΟv¦•ºíHŒÇwx’XÍ–ðiX²wi(kk+©ÓmZ¹úïÏÖõD¼/¥Ù«Ëœ å#.¥–š¦¶Iiµ$,D±Ti*m{P}NŽžX+Ù .>gòŸËJAICTäŠ'…$qtV'Qf½îMÈ÷ãZ=Tþ.nÂ5cêŽ=COá)Š)¨©¨©j!»�Ðx±·žSÿãÈ}yaZml»€óÞHïôì­3pe“„4ùœÔÈ™{ÓF«IIÖÎÝÎüùíÏ´îsC¢™¹w~ÿU/�ÍevQ™þnÿìôRI˜ÓÁ“øb9�õûX/+^ÛúcOQ³NÖ¹¤Yûªïl³7"Ú¡[Œ¸3€ážQF,¥”,ž$²¹R캀ÛŠ­ždãÛ?úL…�t—Ø-#ÄžÔòÃ�*3Lß3¬áüõ–´1Q¤µÆ‘Ê݇»‹­èß �YÚoiUω¹ÎfOÉj Ã<¨~Ëi3h.¥�Ä“çQQ`ÿäyl@æq^ÆÈ|8OôÝë“^É€½äxíì´VcÆÜc’f9�¦Í³ž§ñ,ˆDÞ%a ¼€ys¶Ûc[Ñ$‰Þ,áúÝ/I‰®{buü­iÅžßø~�„ói¼]š×ÑÔ‰ž›(Ëâui+_úÎ ¬¤©Ã`¤ßq�]ð¿J—\׺Ag�ŸÝ¯¨ôÏ�☶6‹=Ï¢øKíoíãí«0ö¶Ù¿®Ž�ì¹~‚ë4Z·¹‚@°õ¾>¿¥þiæÐ–ÌNúÁúáÏ€ºl†¹€ß?ð¾ÆÑ}¡i8�Ù�q,”ÕÐF`„Ë—©ÒêÌ£`å€'sÜããZþ’Y ôÒÑs5ñÿŽ>ÑÇ©?É6©Vrn(’JlÖ#UþÛ˜øˆ”´1›/bKÌéµÉë�¥†&´ø™¾ƒÖ1þ%°dÔ<N°Ë˜6\òø’§ˆèR¡?…[Ü>;c Ïh™®¥æu›œërßÙŒ™tPTçµ[%©ü²@m ‡ïÞÞü}wá­\OsNÛuû+]2)7�µò_‘oi´ê8Ó‰#gV?~©ßr?'Ô_|}ûvê‘¡}�DÐÈ€ºZ¶he[¢ƒ ŠÛo–â�Û*è²®�ÆŸ0;zúÛㆉË�Z)@ʇ§É£¬¨‘…BA"Æ].ms×~ç,‡ƒÂ³Cñ¹l ö�Q�ÔÃA]-à ¤åo_Óúþ›ct\ªÚ�0õÏÙtîUYIÄToQNñx¤@k化H÷»k©¥cj#p˅ڮ晌‡Ti®C¸<¶õç‹L˜´åp[‚µŽe—2TL­”µ®¾Ü÷¾8Ú‡S»±ZíÚ-@ÔRÇPU£Q⨂6?Î4[%´1Ü'2P0D”áCýTß{úaaÔvÞذuƒãÿÜùàä�}ÆüýóŠù» A£Š´Ð4e´kxÎä/Qïúå‡5­>jÿ£ÀÅ_t/‡¢èÚ´\Xžq››ð3€ �•Ü”ÛÒ‡Ž-1Ùnlèm·¿¯»Óåì)IàºM=L¹TäÆÁÕÍŠ7á;vé‹8“媴MMDfª†KF?òBy§øÂÄ®áù÷H2UdÒ†sáFл³­ïkoäoé¾fì{§ÅžBW€=:\éØü6Ÿ"íL{AôQrм-3FòK2�¿]°aÀÕœ…h»`6¸Ü­¼ÛÓoÅ�¤/VÒ=´Ø°b¨I¸·ç±çðÇ uŸ ‚Ò­ck]ýØåÁ8AÑ`,ÛG¿®øä{Aá!£�¬ƒðsnŸr:„�7@ÅÕ·½Ôßo£ŽJ«4¼§˜{›ì/ŽRãÙ)ƒ( ™'fåŽRÆ»Y%·ÚãkõíۥαT’I` 6ÛQÇ!i®VB1_ı{_ÖØä{{ÚuìÛ·—p[sëŽCÈ¥…ÝË~’ ¾Ÿ,áJ8*óÙÅëë�ló)ïÑyãóï^ë:ž¦ÿø�’ù‡PÕ>sâËÊê<»ƒæ¢9Ff³E4Ñ ÐË%ßúo¨EÿãwKïÐzãQÓYù¾÷Àù,wŸØüžɄÐÔ¦y ³Á—;ýÒ¥£{ªï Ê§ i”ÉŠ²BÇ€ø»wCáƒ�·¾WÃù†U(ɳ�YeA¯ÌžªÐˆéNˆµL›ú›s¾5Ÿ€ïðE¸ ÇÕ7Ã{ŸµÃ‘dÙo UCGG,SRÆ•ú€fi]µØóDº '™¿üq�.™£c¡9»ªç?šÓ…À ü)šù)2lï=£¥©¦ª ªÍuÏE’š/3øNÞ`‚½ÍÆ=&¯ªÃïðˆÍd çžSôíÝá·"ýEXÈ&¨Ë²<ó‡óšóMRF�Oˆ®&�²›�—ÃCaê s8É�¨1Ž{‹ƒë5Íüý5„˜öW•C†¸_>ã ÈZšŠººD¢tq«TCæâÎWH'm�¯a|dtÞ“>¦]šk9YÎŽJ/µŠŽ¨Ê²óœ¿�MtõÔ%ä7m*ÎÆuQø£ÕŒ¬ël2/‡]¦{¤Ôg=Ïéêº0é¼7ºŽˆá¡¤‚*(é2¨i®ò†hYt´ƒS x �6éU6½ï‹£]à¹�Ó²ýlþ~Ê'k7û ÙC $ñÐQMTí—UÁ=uzD…�1�¦ˆ£f¹&È ±>PJŽdâãúÄN-Üóg�U/�·å–s|²·3Îi©ªèå’ŽÁ³ Ò(¹,ºŠÞûªèŒ*“¶ý1SVÙõÖÛ¼ * ZCÆ}SŸí•9Í>sM= |ù‹xo#Ç%Ž™c´1"ÿüG#sý¨ °Æ¨éƒk›# ‰ïéôHò¹¤žL|u•ù&c<îhE3R¬�…]rˆÌ@ôPÀyçŒVM&æ»P—)-Ñí�íà©á•A›ätôµ•+-,�SW€�Ój/inä°QcÿƾšWj`0Ä”úUUaº`3^ŠÉ •išTÔnÐUÉ&…�'QŒw¸²ˆ×©$à´Ï´µÆ…sT1òã丂Ç]a`ç:%Ÿ‹5Ô}æ$.ËÓO­•cüš×²Ûc¹;â]¨•ÎñXÛÛǰB÷4YTù�õ¥TÕ4ó-Qwñ-ø±½ÖÛõLjëÐÏ5Ï3ŽJ®×�ûZUmTí™ÑÊ“=D%”C¹ÐÑØ\k€@á�',ŽnÈìU¦¶�¸à¬,ŒÙœ‡Ã¥£XRI TaÚÁ@­ƒmßÍ$¼FÖ÷õ ¬‡kŒŽ(œ¶šžÝ¢ªig d˜sôë¶64:h÷SÕGjìÖ<Æ)j|šóQ–Œ^à³trߙŠ%ðå-�ãoß+œÝí¶Ú(J\¶)&2Ï<¦V:î*y‹ôm…i56múý¥ÀXwà£Îy–f/(Š$€—E`Žt»+&ýcÙè¾&hu˜ÀxõU¤�<ù Æx�˜QSLµ™�3�ôàéð´‚.Ûr°¿¯Ç—ù¹:Œ`‡ƒ\�…ÎÒ†æ÷åTé¸ß‡2ܺ“)YÒZ*)¤˜L´åã™Ü A®²Ø rÆ·MÙ£‰Ñ{¯È«?Í‚ÐÁÛÕDäùÖSÿ¦¤ÏcŠš™"iµÉ,�…w¸¾ä›òÆ~˜3Q–FŒZE·cm•©«8ó â~0Ἒl¡€�<ÏWTÆ8&vkôKüï„j5ñX¦ú•n) ›ÊæÞ'͢˳:Ìš¾ŽÇ&†¯Æ©ª{3»}¨¹ÓÏk¨u Ɉ†¶}ÕÝ·k¹ì´§ûOâ4Ï2Š>.ÈYÀUjòµ:€Z%E ®t“ÎÛªM#[â Ìo ãÄÓ°¼÷ì«UÙ´YüùUn_Æ5÷)Ô•lToÿ"më|a3K+ˆv q]– �­óŸ’«ûKâJáÜó¬Jy¥sIpº˜�û{ÇäMç ˆò€`[bmûÿÞ9C›XX@IÀô¾90ÒVÀƒ¦Âü­üûñµ±`.ÄtçùbPî=—ˆ&æãM¹ �XåÁ„$ÛPMôž†ÿ–øå/¾écQFÇm‹c—i`^à(r§sm¾˜ä&’Ôè#[0K¤›‘ëŽ\[IL ¶d ínV÷Ž97`YФ·–F~[[êøä² x)EˆmkztÇ#ñ“Rƒ«M¶Ø o¢V—#ñ[˜þ{õÄתêYü \޼ö°õ?Š×“pÄõõ0ÓSÒKSRí ,[±7µ­×¦3u: Ñ¹Ç ”ÚæÄÒçðØÿ²gú~ÖK_�ñï´šs:2KM—´{´‡‘pzu¶>Eñ—ÇtÓó_7ëŸÝü¼6ëûÂû©Âþ˲|¶¨£t÷B@Ž; ‡á¶ùžeÎq'Ñdh´ç/”Ñýý·.áøÆOœÖ½Q«Š¶ZjX$k¬ÍmïküHÆ·OÓ"t¯$Ž?~©]OT÷¸œ*I¯Ÿ&©Ë²©$˦žŠÔ5°È¶gÊñÄJŸÄSMÿøßÕ5Ío…_‡óöUtñ;|Ÿ‰Dp—eM‘ÔÓäHuɬխW%1jØóòì?ùzãK¸‡`ð¬j¿µ¬àòºÏ�kò\Ç‚rèkê|CP*s*º™MÃÈQÙRÜÉ É½öÑêp]&Hfbr{WÉ^ÔÑÛ·ÝX ¬¯Éò|�4ÌEe&6‘îi# —þd²Ø}°ÖDa>àHº�=iV’]¤3º¨qgõµts Šº-1JÒ‹r›ÿÉÝ�øÓÚç¾g_|÷RùšÑŽ{©E†8:š’…ëŠSDÅôéXŽ�ÉØ¹ätãgGÐÌ®¦²ÈÇåfIªnväizʾ§Ìb¤ËbZø¨tÏ�uºT–ü:¬n/Ô ¹cÜt½L½& ØÚ «¸±÷UwÈé7mZÿˆikaªƒ7â8e�-–ž~ëò�*Ì‘�ù[Q±æ\µ�†<·T‡Yªÿäj ô @ÎÈÛNî¡r ’LÊ�7‹/ަz‚^zšÅb•G’ÃûµÍ�íëŒÞ‹¤.Óßü­Qž_çq¯ecŽŽXcÑJ4‰b§—ɼEpN¥Y6»>•_ ä'¶=AéM�¡»IÆrhüÒϘr³Ã™…\™54q½=EOÞ™$hìP6¨ír ±BH÷c_E¬h�Ã�›]yì’Xì^GªÍ\Æ�,«-L)b£š±ŠJª÷Ê­+ßf;ùŽ1%ÖÈ Xþ,àýJ¹$´�>ª©Æ5”9åf-5URfPÍ[(KÖ ­ô…Þç»›ôÅ N­ŽÓ¸ÅFNO·²˜ãþéÌÓ,«¢Ë8Ã'§Œ¬µôQVSEk°Ñs²•�î å…ÿ5,L·¶¼AÙ :z%Ï8¾ÊÓ›æÕ#5Ëò¼²Z¹²4I!Ë�X\Id´Œ9}[óoŒî¥Ötà2KG=²¬9²KeüKáÇXh‚hœ´tñB¶¨Ó¨_¹»j;�¹cWñsâÝáÐ?š(âsÛ‘…\‚¦š¢¢‚J´2¸F€E¨êOs�)]ñ_ý_5¥ê!`ÈåQ˜e SIŠ­¼6[‚wDS{_±$âü�[IÚÂhð‡ÂaÊ30¨JŠñiä%˜+n¢÷ûmˆê=EÓÍp´7åè«Ê2APèUg’&ºYµê×±FM£>#œ~‹>M@ª ¥ ,áªgTrˆÏeœŽ£snÞO°*”Ï ¥7—eñæ±Òå°T¬uo%•K’[¦ýMùcè=/K Ãdˆð³ ]!ÚóJ¡”ç‘åy•loJ+êhêhÙ¢ÁXêSovE¢9 ¦ŠÞ ›á#qd”N;¬tùö[S‘æÕë˜Â�#™~äö³FÛéFî;ØúÇÃ3h'k¦eFãÚ°ŠgÊÖYÊæ+öŸYM˜C•Ñe’Ã’S̲�\4Åm»u±#[¯ë¤ÒK´e–®è¡lŒ…Z«›=㌷‰*³<Ç(Z ¼ϠƬêBu${c H�Ï.{Aô6ý£n�ÌÀ‹VqÏ´Joi™îUÃÞÏ2ꌮž–C$èå–H³¶ÃÝÒØ©ÕuòO‚8ƒ@å^þH2¦yç�þÖ¹]~AU�äóq %MNY*FõbA+×HEØ¡;h±‹&›NÇ‹ïÒ­;W�h{[ŸÉV8ŸíÂ\kYMÂù>S—pöF!Ž“4¯ûDˆwdñ;�.obq²ív§`k˜6ñ�šK=0ǶGåǵ­]Ÿ?ñÍ•{3¨g…ü8æÏg*²Qø™@ØmÛ©Õ@ÂïÉÿKR2è²ÿ ìµßPd\šæñäÕù–yšCNÆ«81}GûÆ›ÛkmµöÁ ‚¢»¶4ñ¾O3¼ƒÒ«õNðu6kÅ“' d9mY7Þ?ÜZ,Ê"­9Ü«’ßÛvcël69ä�á¥Õ~‹A±C w›Ü…/œ7C¹neõTuL¯0¥Šð©XÄdr¹ä9sÆì:ṳ̀€ßÞRã�6ËCµ­mCìç+¡#ÿT._Ù¨§”ÐÄ#2TT³n Œz›‹m†jõ’ƒ´‚Z}9z�“pŒß©&‡Ùv_û1ÉrzXslÆ®®©f¦ŽQO­(Q©œ‘sýÛL/I¦cš&Iû¯­êݵ¢½íY½¡ñ¾W•fÔÙvG”å –ÓFÓMÿqˆv;–7¹Æî¥Ä†xC��^—¤tŸæ@² áï´eô¾Íx㈳ßgRD)é À¼Á†°¼Î�·ìqôOƒºc¤œK#rÕöN‰Ñ†š!òýתÐ#©vÆlÞnW¿ç|}3PòóÂxâ¿ÂY„ ͧm=½Fü°‡ñ@e5­ÚÚ%3:«)Vak^ã‘÷�^XƒT�²a #º„‘µ%¯{XrÛ߃l—øB'tTTÐ=;8]$!mÛÔ|0aômê@hj±]–,ŽòÄ,AÔ{žØ¼Ù[Áîš$)ÆY‡ ×Aÿ»“•¿!·1ÓþñŸÔ:k%Á”2ÄÇä¢ìÞâ쿉òôo$˜‹)yý=((mfµ®MïÊÞð9âJæPXS 6åAß•¾XåΤ‹•f"ÇsØúŒr–‚YÖ/bÄ‹òå×üã“}—µ’YÅ´Üm}‰Ç%8N+*�Î@ÛÍÓÐã‘XÊöû ¬,£k{±Ê€á$1wF½Æ÷쾿®;„'”ê�ø ÅºŽŸB6|’F¢5@z^ö·|J"Ûå,®RÜǦ9"èå™X­Å­Ë}ñȃIå`�@ź œÜRQ J¶ÖY°Øüz`“Iw)Ð-©B�VäŸÛT–]ir-Ž– ~|¹íËóÇeNâ$©°!$;~ž�±�“”âÜ.žCÿæ¸{®^Ýt±ap/øy`oÑrqB�æü{yº\B�êY0Äzßq•4NSºX±¹!y^÷Ø_ùÇ.Ùì–ƒK‹)°·#¸>ï}±Ê²XvÒW[;ÛOÏã¾!AŽÅ¢õÛf�Êï×Þp²ÌÚÙNø„�6�ÀÈ¿OË–r0ŸÔ»¥÷¿”ó°÷àH@a<¬ 2Ê9Ž»_ž$Ú‹¤ï=Ê®’M‰¹ú,(¸ Þ{ðž $bUÙzÜ›…¸Ñó Ýyå"@ˆ7bORv6í‚5wÙsle8‘6¤ÁµôíÈm|Ÿc »�å8n„³ ú^Ãî2•Ç !H&ÌTó÷}}sÀá¹åE›KT@UnàXŸ£‰¾ [¹õY/dPYQ. ¿1òÁQå²�O#/2}¯C…m(‰ì”²†(Ú‰Ù�ëÛ¢³V¼<× H.w~8å.qœ”USr0<Åö¿| @áx«%î ’vßêܰœRÔ3(:HoÅqù}mŽQÂ|± £Nöäú¾ø¥ŽQwÐÚ\\bGaûzaEµÊU¢åh‰Ù®Þ¾¸o¡sèe<" ¥LmÈŸSô?L-æÔ6KÉ)ÏÌ«ç½È €y |q Ñ¥Ϋ+> ¨Õ§{X6uÛáñÀ¼‹Ê!!#Ù,E¯�f[‹‘oϾ û(í€�Š6±µ–Çmíï¶Û×t¢êvŠDˆÁ,îm§]]­(Mf­”LLúX£X_á€s‰ÁáKÝxi¤©è�Œ„ªØìÜ·?W÷ar?I ©èhÁ)Vç°"ãݶ*ýԗٱ”L¸³]F»ím7?ç˜h”‰\1�¤à ÖQÌNü—áÓž'hŒ¨tÜ 4�‹( ³�‰+¨ ϦØCf£î†GÓní.LµéÌ(UO=ÉéõlNñv—º›uÊ•Ë2µ‘Ð’Y»sßÝóÄ·V,%—P÷W:~´`ì@½�¦í@i¢yUƒîÀ”‡%òøj¤¦ÞkóìFد3ýÒ|[À FŸ%.@ý:|ºa^%14’Û6Oea¡ÉÎã½Æ*6a–·•ÂK žÿul¥Éχ«ÃØXƒ§~ûzáqÈì‡R¥ÜA¢Öà?f|OÇ™Õ6O�e³×UÍ"ÇtM�kŸO\cõ.«™¥ó #YÕ·ú/»dÿ± û8­ÊóÞ*¤¥â1'ÄT•C%9Û¡ÇÂ>!øæ]T¢O•|ë¬ëe�¦Î?}—ÖNឥX*slÖ,¾ ¬Ó„1!*,9]ˆ°ôó:NšÙˆt®³ì°cpkIvú«�(J>2Ëiká§«Ëé]Þ/hY¥€4a�P£cêÚ¨„r5̳›ÿk´ï’íç”G–p½~[G[U™.OH´9Ù„ s9k4Œ lT[U½Ɔ­�Œ1„Â/´@¿i²¹“ˆ³ šˆ²l×+βú§‚‚,ƵÖg‰¦¯™[Ì9„Fûû»cÊêu¡ïò8““ò¥ ÈÓ0µg³ìÖ£.Ì’X4¾ª–UŠ.LóA'†mÎáËßÿÇžãVW¸[ÎMÝpœøËM4W½®ÁöqMO’ç¹uLªÐÓ¨†–�¤½Á)qÍQ[7­±§¡Š7<¹çhôõ*„Ò>6ÿ‹×Ñ\³\òZÔ¥¢ŽjŠˆª•kæ–¡G£ùÏ=ZFʦÂ÷¾'S9œlŒ€?ûIŒfBUf$Zß¼KU$”µ áTLÏåjp"iZýAãPw$€{aÝ/DKü7PTuÝI¶]-›‘ÕN‰ÅÕµ&&4ô�ÐÃðê*Xü[ùŠ &÷ÜõÇÑúKD6÷<4è2RYý`íÆ¸Çª˜Ì«ã¤YëhaŸ8¥¨†i6ÿîÉi™Ü*‚vï°#ýW^w7ÌÈö[šM1`¾ÅT3Ãýæxèf­i¥žd–ŽíàFu<¬`u>˜¶„kX[o_¯sÙ·uªŽ„Þ×f’1K–g³R"ÐçU´pÏ4h®€x.b†ž1Îíwf~W : z¨z„,ˆù\G§§Rcb$²óÊ’Ì£©§JÏ—<™i¥XäIT†[Åw¨v_ïWž�¾)kuÒŒqØ#4ÉO“LƲܠr S2ž� ^&‡Þ„¦6¬¥š7òmËQ�Qמ3º3¤ÝÀ&ïq9ù Ueƒ`;”¥ÔðÊÒEIIG™¥CÉM#Çý9´j,ÎÍÏË`Ý}w«¨×Dàö‘G±¬}ʳ§Ó¼´ÉT+2iéòÚl¢“-WˆOG]T�/õ#��Õßñp­Ü œdž¡›JCG�ÜþýÕ£¢{Ÿì={*å_Ñeë ¥C}ö$©‹AuI¨Žç}“kúœxÍWÄ’ï¸EÚò=²­œ#akÜ£©+åTgŒËO’~'~—<±–'šlþ�6¥€zÒ’¤¦H©j +$†ëµ€÷c_EС /œ[ŠÆ—]!ü×ä½MBùQZèd�Çɾ­ôÆÄ=1ºëFYî; £çɤi(êfÒµ ÚÛkŸ]±:­#ŸýyõM‹G!pÚîQÜCG4õqÆ=$3o‡éˆêš&¾JZOÐHÓW…¬~çYUOQSMá¶Š�1�WcðëÈŒeGÓµˆ�2‡OßíV+’ALõõ/™Â9ÿøDô8ÍŽ'FApÏd·hI`È÷€ÌsÊj¹)(¥’¢º” WD–+Ô0÷bÛõÚ¨�3pUOû)ÿìáS©8Šlæƒ4žjŸöy]�ÔÊä’O3·Ïθó¦/�ÛœGÝyÉôR7Q±Ÿ_e§³�i;“ð^]•ÔT$ÕqW¬e{ÔËr= ‰`úÄ"˜Øºìÿ¥³Oß Þ£Îý¦p¾eÅ¢› œåT”sª ,X2éòƒ~ƒ¿\z©×cêîsvH8Z:n‹,>bm¥k �+ãÏiÙ¡jó•Ê¡ŠjšØè“PÈv~‰k×l`éº6£]&ØÅ¹½ï f9m%´¥i)óªši%…ÆWÃô«©ËèZï ƒ§TÏ̱Òp ‰ò=Ì ç3µ×þÑI;|1Mç¿üvZó0â<“ЧЇ g2poÞš�Ê<�p]‚Ü1R7뀆wPùZµ G†dÏïè‹Ï³Î ã™3Qìóƒh8g*¥ÕWQW0µ‘Oþ$ŒîÁ}q³?P–FÔŒk~\«nÐäó:ÉôájYhè3L«?ªn-�,¦©+…ª+TtT_Â9züñP5»Úçh}̆7Ñuß°S¹o²Ž+Èx~›.É3 ²L£9W–·Äfj´¦Vêè··+ž`b5ŽÓÉSÆ|ðDÞ©â”îÎ[s%öeKœÒf“pèj Š–#$•U2¾¬ÂD]Ñ\›é½‡a¾.裊wo—È=û¤³PøÜw’O·ï( Nã^áªy(òÚ_ö|á¢ÑQ;¬žŒŸüi{Øj S‹nЇF5 ~ÞÔJOóq»¶Ïnßu°ò¾ÿ`‹)Ïs¶ âÎ)¯Ö¢0úCb9òVßëc—8É@ó,÷Ûž9@¬•�‰ƒkï·ålrc¸ÂF–Ø •¶ÃëׄÝ-î Ê�ÆýǦ9 !d6¦SÈZæâØäDmaPد”w¿·LrˆÚ”ÈÒ†ö¶çsˆ°¸´Þ° Éi7ë{ïϸ‚ÑŸv o¾ã§\rŒŽJò–Ô§R›ƒåêN9~BZ°Fmý/aîï�r.xJ¹+asµÎ܇¯ç‰j�Ý8«…W¶¢ íóÄ¥n÷Yp�I  :ývÀ¸©£Ù8öF*Ú€°åõúã€Â6´ŽVun`ÿùm¶#i\Z+”´~d–Ø�ë¾°¡ÒË‹ug#`Ïæ÷DZ=R[P[ob-¿Cû`P OøQ²+Y#as×J1óNH Ú–æÖ -­±Ô�Î'4¶<ÿ/£ŽÊHÈ´¨Ð ‹=Ç"7¶Ý1Ö¥·KÌX”R¶ÖíéŽqâé,1þÀº¬˜òåoÏà„ O)ØêsÌ‘¿!ôpPê<'RöØ‘qbOCŽp¤% "„úÈÔßžY e‚°Ÿ€¤&�¾?_õ€twÊÇ÷E¬šºµ÷Ø�¹áNe·�Â~2¶rzn6úç…B‡6²t 'bMùÛ¡î1Ê$ñ„ݬŸÓBÌ@͉ù`AõDH+ÚASp¶Ö×¹ü°@× t �•‰ ’.Hµù^ÖÄ�ÎáK)/A]Nu•æ¶é¿Nýq7„Ð=Ñ pY‘�üOš÷øýuÄ!-á:O”{ û�ß® ÚY68N�ÚN†:A$¶ãèíˆÛê…�pî½c¹xÐ5¯±¶¬"AJ06­JÆNB÷Û ŠÊÈV qâ €¿Nøç!°Ê!‡f-¹f Îþ¾ì)×Ê ìŠŽ0Ì-ng—¡A&­A ò¤#_Ä�A[^êvúç€s‚ªÃì‰XƨÔ3# ·¿l.û%]æÑ«K¨eæ ­ŸÖØSˆ&Ô’à9)õËÊ3£Å6°½Å½-ïĹÞ\e ¡“Ê)räswU°ùm„:BFÛC¸òB•†…“U®K Á¹ÔOO‡|KK[ÊíÕÀÂ’Š…cÒ…žwè úzí‰tŒiå^xpÂ: Ræ=-c¸Ø[l-£¨3fˆRtôƒJØ7çÈýo�y.<þHü¿5+ (   ‹òÜíôp‡¸‘æHpvÑ•J+*i[úÚÖýp‡?Ù måIÁFÄ*P/a~CÝé…<‘XUä{O•.zCáêAvô6¶Ø¥¸nÆïk²#(@²²jÑ!"âÜ¿ÆçÓ�Yú’2¶ö]—,±Æè¢F&äó¿øü°^)-²)%§rœ\¥£*N§¹ÞÖÜü9œ)çp;î�ùIÁe!X‚îPaøm„’(¢ŽgQ*{/Ê¥‘Ñ#]lv;öÛצÓ±ƒ} s‹x8õ]§ö{ûû@öÓ›Ó–Tdü:„4õ³)Q§Ó¿é�×~2ƒJ 'μ¿Uø‚(¿¦Ì•öÏÙ�°N ö?AMEÂy%,ù€+µ,å’Ö¿ Ççψ¾-—U1g7ö^I²I3Œ�8]#–ÒIEÃôù¬´’iÛMIˆÞMÎÇÜ./ŒfCmÎ9÷U·n°ÕZ¢¢Ïó�#+ªËj¼:7HbwóºG#\z“¨v¾4!Õ:„1¸_¼ª-дùä9ô[çÙß´ÎâÃ(ÊøÖ‚|´¦Zž%)"ÌÐ+) u!Ÿ™æ1ÍêáŽ`Ô‹õÑz‘§‰Í;xôî·ža—fíy æ‘6Ãóð´�Í,0ôÎï®8Ù¹�ôߨ†=Ófš8c‘Ž20ƒc»G¥¬9�i-<¸§‰\=5 tÙ5fW_K)¤«JEÿÙÌŠU�7Ý””Së¾>WÕõ "ÀÈ<ŒcÝ_Ò±ífÞãí÷PPðì0çtYuY’Gñ ¦’O Âí¬.”ßÛmÏ!¿l!ÛÈnr¬Âñ²ßþ—Bd™nZjê„ÕëKw©¨ Sï‘ T"+��Xì3°æN6tú`^Óõ«^NI¤{Üâh~û«jÓG¢›2�ljQªjÚÞ2B2FÀ6¨£¿EŠÞý]6’@w¹·ì==Ôlc�kÍMet3æ<|™•.[5pªš ’+âL…ð[“*ªÈ/ÿ!�S¡ —xÍm‘�Oºè‰iimþû%‰éø9Ëè3³™§û`¦­¥Ö‹rϤ©E{gó_ž�OL/];´´$$Eʹ§ÑmpÝÈáEfy·û=u-TŸpδfO,We–’Z„Š3ušgp-Оƒ[T×:_æ3¹Ù¿e±»h-<„w•ÇM>YœfI=j(!†ŠpBµ®§¸ÚèRÚ¹�N1 t:!& Ú±Ayý|­c¼˜%lúŠj'ÑZj¦©€Ë4ñ’©áDX¨ðǘ]Éó·¨Ã5b9â4î¸Å}?Ê»A´^yDæTÓ5KdïJÐÕKâC ¬¼ÎÛªµîöU]ÍúŒU�Î4â)§Ó¹ú£’/í(êY„õˆñé£ñée¦Š}!oN§C™9é:�PæÇ¦+jú“á 3ä/÷V!Ò‡dÅþе[˜å™z¦-;EP•ÊÌ]dmGʴظð�S\X Q‹<ûZ¹Œ8 ¨üKÅ“WEU4óSçGúG]ô(=mÿóm†1õ2É«§Ì|ÃÑUÕëÄ7³…EÊ2jÌÚº:ºŠHåju$„ìû÷ÃtÝ9ò‹`Èå`»ZNâïÂ{+ŠR¥\“ËaÏÁ™•þö¦14&Ì$"å{†4&еÍðã ìß 5sH¤PZ—7¨ÈógÏR³ˆ`Ê2жEiT"÷;û°Øþ—"…õMGð67ŒÉr�{gö]ìóÅ�xÏ)�£‘dÒÓ­Á|)ªŒFâÿ§¥ùvº»ÐZ�ímì¿<Ìsܺ£Š2ƒQS2˜cñ† w§øÇ�Õü=­k ›nÒ~%ÿ§>£AÑÆï/¨+eGG˜æY}FKG�ÍO«Æ»-úßs¨ô'ÈàéN}Âz‡ÁzÎží²°þ«Rq ô¼Ù†uZñº‰\¼ltµÙ´†÷\ lé4ìŠ6ÆÑÕ|·­tG2w=¦»åi~ÊòÜÞZfã)aŠ:T£)üCÍbè¸ÄÈÈØ|F›öYQÉ+›°GÀœœÕ×=|Ϊ¿3©‰B× eˆƒ‚Ò>Iç ϢчQ(òfþ|ýÑTÑqO³Ì²\« ⣑T×:ÓOOTºM<(ü=EÉñ©©/Ó8�¸;¸ð�¥yq/p³ìµÕ/ûÅ•YYÅ0ÓåÕs¤5õñCâ.n׿bl<þ¢X̡䕱¢sÒei÷*Ñ‘ð\ÔY¯��q ©¢vjH+ÈH·ÔÐ\üp¹u1¹ô8õî­Ä÷ íP5>sO•É›UÄ™Lu¬µRж–Ìl×m@r^{vÃôz«'k®½UwËGi>«fC”pÄùoå”Ô:,æ†8D $4ÞQ}÷ w8Ôf§}‰A*®d»®÷Él¢ö} [„¡Ìóì겕#‘µø†“–½!vU?¹Ç¥Òi´Ú˜›ü¼~p9IÔºqø�5Ä4û[RîcË Ü„[þ-ÚÝí¾Øõ ˆóƒú+0é÷%�}ðµq–_Ã5ÿâ#Ieðy‘czr¼¶µŠ�·õí�Í.’g;g$~‹è_ü?#Ü õµ§xw„fö�™Tñ/F™³œº_‘´Š Š,Ìã±÷�ùcì] HøZ݆‰ä/ÐßôVi£Üñe|–ûKñ~WÇþÔ8š³!p¹$s}Ö‡NÚ¡ŒiGK�Gódzê/cèÕsó^?®êšéÈsñýÜ”`w Û™üg±”1�r±|0Ž xË«G"¸`‰Ø~+H42Shµ´F+Á.²Zþa`9Ã#a'9Q㺩ű«Ç¡´£n}m|V²Nr�ûj²˜Xü ¨ÄÁ;Ø|¯†84fÒØìY ÓÓÜj25­ÿ˾ØèÉ»jwŠ+*¦™ÄBHÏ[‹_­¿,3~Çd%5Àä*þc•xÀ•Ò¦ÿ‚û\uùâë_xä+QËÙÊ/$Îs.Ì#ª§yì6*6wü~x©¯Ñ6Ví"Š c'ð®Ùöí#.â:(âÌe-Q¡U_n}ˆëþ1åX—qcøX³ést صÙTÆ’Ø�k�"ú‡qòƃ@•¶ÅY±�Àä-c�䈈ÖIàé·çˆÓêˆãI°L6I¢ÖÙ¥�ž6BR÷Ô?žÞëcU�%¸9W¨•�³LÐGÃIÊ¿­ÆÂšÇæ™…à†•‰ÃÄ-©Ù®_ÐâKsÆòÐåGI‹½v+«Ì­Ü|:Öà€ì”¸�¸Ò�©YRD(¬\�¹íÛ¾øvÖU`&ø›MR$ QÝYÜ/0./ËÖ4œ`'¶†_’£¦¦†òÑÝXHŽVåëÏòŦ?iÇ×”ÈîÉ_ *¢¯&²›“ËUùØãs©u¦ê›[ŠÁÇûù¯8ÃŽ/µ²fzyhb4õùŒ¼+#S�,¬÷6!W§_7\N©‘ÉccœXÞIãìŒr–´¹‡¹+/˦¬\Î.$ûŒÎ•"2ň¼w7­ðÛ|yíïŒIgÿŽ=@<-AbÚhªˆâ©òjŠ#,/$’ø‰m)áßRùwæqäß©’›6ãûû­ "/0Z‹‰x�²ì¢‘žG–¬ÊR$Ÿ nK[µñçd|Ž;C–kÚwÈÜ*þK•Tf´Ðf3Gáx—TbÛjê}ØÑÓèèoXÉLŽ-Kbðäµ¹Li–ÕÐK÷F]M"‚KãÔô� œ6öw{H -ÊÙùnZ•𙨣i#'Lª9ü±éúoBÙçoÖÊÛÒBã€9[.à©jrÆ©�ÒšžÚÜÛ÷¿ŽmLA›/·Õ}£àßá&¯Zá$ÞV~es‡´¿µÏ±ÿ`p×Цe{Æ¥J¬p�ÚHïÛúoGšsoÇ¿eûCøkü½±é¢³ò6WÊm_okÜgRðÞdrªIµ$e7 wƤúÎ�¡Óâ?ç…ûËàúH›PæÉ®É×Ïn(âi5ï=^s퉫ª*Zú ª¯ÁycÁj>4ÔºBcý{ðïý7|?¤m½Èµ©8�„)Lx©žjúÇó‘Ù‹ü÷Åþ%ÕNï18_GéßÃ^“5�ô �˜ðD¾{ 9‚ëGW³èzX–õÍOöºÂî£ü;éz†–[_%»¸gÛ· È¢¢á~7¯Í²5†µ‹•PnU_�½ø«3´Ò�Ú†Ó½Bü[üaÿ¤Þ‹¯{¥Ž=Žö >Ë鯰~5Ë~Ñ|--3Å–K“QÈÕ¹läx¾!±¸î.¤‚;œ=%ïs¤Ú8!?�ÿôï'I‘Íkrx5…šÈý›eÍ›IšU´Ï4^mãV:�äA8Á…�%Î�¼ªüÖú&£E?ƒTV¬È³ì‡‡³l·7à™j(3,žžY–¦Cxõt yjoË ÒNøåöŸ^긅ÌhsüÄží'â^=Í8³Úm*TÓ¬ÉO*�`Ú´;uS{›sƑ֘5 šF—g×?U³à»fÈk*B—?ɳ³]šdYM%$æ ­ &˜ÊN²9Xô¾2:Æ©º‰KËhö Ð½ŸýŽò…l à¸Ó-ÍäâaZü@ˆjªf‰ŒqR@¿ý¡k]�¿þªÑk©¾3°y[Þ³…8 xš“/à‰©x£<©§Òj+Q)u x…oe{cÚÉü«£ktÎóuª2K yüZÚ’‹„²ú”à8²Ì›=ª#.ª çz·ŸzîÀn¸Ô¨áo… ýˆî±d‘î·d�ßeOΪbâÚÉhxg&Íòy(éPf,‘PYަµË0½‡-ñ}ûçhˆ05àsy)%ŒiiÇ¢¨¸ŠŸ&ËòÆ0Ï‘xÑK\T)xœ� ‹þ#§kÛ¶A !’î;+±7p­¶›ã.;Ê=šAœVåÙ@­«ªŠA<³� #6>ºj6¹¶ü±êtzY €`ÿ•ìºF’cýC^‹‘8;…ómùÝFq›ŠŠ_gô²xõ3MvûÔ€UIµ“vü;ãé�¤É`´e~“øWá³§ce’¯·ü­eöºûQdc„_Ù/³Y:PDuSÁe œ´ÝyÞÖ÷ {˜X!a~%³Öú Ž?3“ÎWÈŠé'gyQ€ˆ�û÷éÚø§âw%|·Å;²<sˆ²Å(Üï}^€ü9àÃËG¨N�Íy&ò¡äO Ý$ðäRI½í§Xâ70#ÚZê´#ÇC-Üxfà·¿Ëâ¶Œ¡‘�»r[S!buïk�ÍŽø—Ñ£K®…„Ì´¨Ñ©ºÍvúïÏý£!sË… Lijp`}Oƒ}ÇÄóþ0©öÝÃÊ’Âzv”’0€5[ l àŒ¥¸b­QM$м±.¦UŸ+ïÛ k€ä£†GEUë2¨ê¤_$¹¿b?^g›0NkèÙPù]veòÏM#ª†ó ¬ã¯<+S¤ŽQh§k^.—hû<ö©C›Ò¥|ÀÆl»°¼DãɈ�›¸ +S§ dalÚܽ%C=4 "8 h7Rq Cdnà0³‰Úï' Sæ™Lrû†$�?ˆÿ8fžPÃÆZIòªL¢É ªRU>`T¿ÿ/,jxÇð¸­ägePé4D£obF›Øá)½§ê‰Ò6­¼¡æ£ÒÂXjLLz¨Ül?,0ÆÃÁÊI²rP•0Ç[²³xÄÝ�Þì½Æ#kÁóp­ÄÊJ…™g‡ÊF›¥íÏùøâÀ‚†ãÂv@÷NFZIü±•fNBÄkÜzòÇx¶8¯âÙ¢Í� ¥|§±±éÚØú‰_IÜ;,ÇÉa­‚›ØØâO@÷R]þbHêúß=Ñœ`,(°µµoË™­‰BEÛ»þ�˜¯p1È…wNY Ó°ØXtôÇ#–”¶¢ÀYO¨ÿ«biAºÁ² Tl ƒ¿»šÂàÔÐQ¤;´ŠøŽ]°J HÊÊ�´Æ �ßòéÛ¸8wX‹·”›†$^ßã�‘…ƒ`¡¼­m¬w¶9,´„»!k8]�QclràGt¥U7`B©ÙI‡Õ°$&m)6k©[“×oÖØ$'ÍÂp²°Gš×¾÷�ÿ\r6ŠX¾¡çò­€XÛÓåŽ@×›N©T�ÛÛ¯æqÊ^x^`Ü×Ê›íkã”’jÂV›‚³°n{ž8!ß|„“ø Øîy†:×5*ä30n–Ü~#üïˆÜ¡Äðœ HP üÛ(è}oÓ|Jµì¡ØŽþì )>§ð‚\ŽBÆçç…Rçsœ§C:“XAÎããqú`J`³„JÈ,²é³{ÚßVÄ„Ñ.9n|Å[k€GnŸ¾ ¨"ÒÐëSç@¶~‡n¸KšÜ%êÖN°€–²‚mnø‚'ãap ”ßmÿnX5BÒô¨U:ZÀÞöåÓëߎJ¢ržE{°þ@\Œ ®ëƒˆN¬háˆÂÇËÊß\ð.}Ý9¥”’.nÅÆþ·Ä‡;©8V«j»^Öú<Î ŽP8ÈE]ôßbA¸7·>˜VÎé.¾ }j\iBÖ$Ø~~ƒž¶ð…­'„¤WëxÇ{nmë�®éƒœ§’#X�` ^_¯~;×>_E� ˆÞêNü…ÿ.Ø�Þ¨ëÍ'cVª lu Å¯× åx!Z�%ˆ=m¿Ðý°§ŠK±tœDlt6ç–ßãòB 4‹H”é¨CÊý½F� z"b€Órw¸åéÿX—2‡uå3W‘Và–Ó¾ÂÜÿLú6…¢Á±„ø¦-©’ÎØ\gß%/·”p¦)¨A#ÌÅùíÌ{ÇÇ Í”™€pºÊ�¥£U*� .úíþ1YÌÉwuÐÊš¦¥xÞÊîys1]€‡[ÐK…9OJž ŸYk[¯m÷ç…HìåSsÉáHýÎ9 ¤¯m­ëŽuqú ÜêS]TF[ï± 8<¡ p‹Ž‘uþ�¹ö=npEÕÀ@$v‰ZG”†ß™ÚçoË ñlf— Gâ´dy”`-¾û_¶ ¼ŒÈr�Šœx�@›{n;b¤³’vÒáC%LSÂu*¹`‚ãáîÂŒµ@r=U)ãv¦à¤@€ÒÃkÛ¥—q·`¨y¶ü-KI±[º±±ÞÇ§ÖøF£'�K5ϱIÊŒ¬:‘¦ò7;r—ÖøÌ•öì_²O9r”È ‰Ò'Ý�åÈxÅG–ƒe 8m# ¡8W'ªÏj¨²ì¾žL²RR5»9>ï† uâisÝAWÔÈØ†é¡ô_h~ÈÿaÉiŸ.âŸhSTæ/$m1[ø`ÚÚ»�ñò¿‰þ-‘ïð4ö/ Ãõ°ù_WM î�å™w³\�-È8~¥"$Ц(Å· ºøðÿÂ4®l6\÷r©´ÛKÇeÏqP‰ë)j(èDÙ”ù�� c©m¶<{!§lîJ^™âG‡k¬óxsJÚ|¿&Íh#lÎ:¨œ¶ñMƒè#“·ÇÑÎ’H dr7ä{[Æ2Ͳ—>•¬�…óÿXi3ª*ŠH¦ðAð³1,²°O=ØvÛ[Yª�ÑŽ;^Û ·¾{­6ÀâÁ¸Õ=UÓ+ËG ft³PÅ<œ?÷ñšS5ä—I�6èC¬¬£­¯× ‚q „Íó4רöS«a£ÀB{>àì›8Ìó|¡¦¨Ì®c%|q‰š Ú%”ÿÇÍ1=vÆ.µó¾s°yŸô¿š»¢ÓFcó»m^9¬3­= D '�J!ÙoL‰°ä50÷Ÿ~<çS|³N ÀÁý…v)ZÖ–ÅýßšÐey�uVc]KF™¯å�L+[ÈÞ¯U·ènâÞìotí$š©vÀÛ íòî³uq %β÷!²zÚ|ú|Ó/Ì%–¢zJœÃ;BiìõrبM=¤Ô‡aÌcØé^ù$ð'À6GÌv^NG8Îôµ´)#‡<̳©±æO«¨1²è̤K±@¢å˜*�Ì©¾5¥>,¢Ük6; ÏâŒþHž#â4š1¨§Ÿ=¦ÏidE#Ö(dZoºÈú¤ ¶Úê1·­ñ‰æ�àÑXv°½”Òw_¢†Ë3x[ƒóŒâŒÊX²\ÊŽ-oH·¡ðÕ–4Ôy.©ˆµ¾VÆ™Î0I�ÄŒð-jÂÉv‰~œ/q:Uåt©J™EsyERM$o¢jxjª"Ž7™n|ã[.û‹žVÍ×jÉcXЂObÕÓÉáj«Ñk,ê§;ª­¨â–¦¥Î"«¥®ÎL5"ˆiõ¼Jª}fD�ŽÞ¸M2½Í|X=‰ôYýFfÊ"•Ç„3n%à\ωi*8G/Ì83ýÖX*fV*¶–²i%€óÒÝðýóyÎ¥”ñýÁWifß àQ['&£“)Ëks~Uͨ뫫r�G$¥Ò3æðŒl%M¹}1¤ÙØ]&¦€.«·ïè¯Å£ð˜X?—ûUÑÅy†[˜QæYvS>I~^òL|F–iS­TóQ·{ãÁuMvÒÆæóyûz-¸´Æ¨pµþsŸÕqd•TpýÞ&fXÝm"À›+=ö¹ Xö¾)4øŽÜŸÏä±uÚ’O‡ÛÙk�Åu9þcUGþßâ«Þ0Á|¨£`îw8ˆžsBÉ׳lA�vJ²ä3г,‹2«tôü™�Ù=Ãë¦5z}‘M=–e9Ûo.[¿.âîÍrŠmU4qˆU�[S_kãÚi:“KDbšÝjéôd¾È;–ïá »,áL¢^-«c6L±xî]ÀQmï¿Lnèt¦L37ŸšýKü/þ0°jµ Éãºù‹í—í�ľݸ÷0ö_ìvváÎ¥/þåš-‚�éï¸ß¦>ßð§ðÞ8£Ýv4¿kü ð—ó¶&‹Î|GÇÙ GdµuyÔŸy–9#�‰”…;µÏ1sùc®ôIz¤oþLÓZpþ› ôýáÉ#ÒêXŽî®þ‹�³Îâ\“‹é¸~JJ³*ºÃ *¦ò9kXc㚟ƒµp¶¥i•ûK¨ÒK§ñ˜á´fÕ×ÚO±>=àzJÃ;ÈçËèê�:°Ü  lmÈã_© õPi†  ù,®‡ñwOÖH`Ó¼8…Í™¼ôÙtÒÄšªjÀ·™¯¿a�œ7A+ÏœP^ÐiÉmž¶Ì3 égšâÊÅq±ž>¨M–qMfYVFÆ"@kó¡–®éaâÅÚóÝ[@ÉØZà¶_ûHâ^ Ω8—„s§Ëx‚šåZËT—Þ)U?‘ßâÔº'’WãOã?ðÒ v™à²ì~Êú’gÙ'µ~ÊøáèaË`rï™30 R‹4Mn{ƒð¶Ô\æ�ü¯óýÿPÃYú_Svã@Ý)Zì«$ƒÙõDÑÏO&Gþã¨v°p ‹é¿ºØÁcíÖë¿EùmŒ›Æ§UºÌ‹Œ+Ÿ2áªÎ¸W*‰EJK ¼²ܱØ} j¥‘µ|ÍÎV´ZB<Ò¾‰ô[{†«sÈ8�¤ötkêêÜIGâ¨ñh‚��ÿŠù�øbŒ"O6÷ï_tR˜Ýä.ãóPõ9�´¹r7Ër,º¢²«5³U7ôÑ#¸wî¸âþ‹§»ap>^ê´Š78d­ÝÃÏþŒàZ:Lç�貜‹3®¦žJÚxÒIª–3¥À"ì¬2o�QÓõú¨4D€×F~èõp´¸×ìTÑáÜ‚lÞ»4ɸ2¿#áìÂu•UŠ•¥ŽÅ´_q±;õŽD/Ô裦žÞ¾«:yÇT‡ ÚÌë€x›�ã á8òÞÓ$QM9vû³X–}¹»X_®þ¸f¶7ÌÈv4 ãºé´ýÚlákÔÊøƒ4Ë3lÇ+Ìæ£’ ¥Ij•R _ð€w<þÒéš[{˜ã�ÞÕhaÚíટðßHs g÷è¿Aü'ð{XÑ<—C·¨h´æOœ˜{öe@rÄð…5LÑ®�]ùÜŽ¸÷ðêÆÞJõ?u†Ãc?ì;/“¹¤sUI$ì\±$³†µÎäßóÇHíä½Ç%|®f—ÙUÉ#xË‘åe ‘ÿ+{½:b¾x)qÉX%FɤÊΡƒs6#ëöÄÅC$'� QKš•+mû€¶ÜØ6ü�熱΋¼Š4S¿ Ä+_Uír¡ÂÌuÊã0 ®Oï쇨€ÄTÈ �°aÓ îýRÜIÂhH ~Öæ{cœëã(·�€•-:Ù.ÇÍÈ“ÏÞq׋¤ívO)–…éÑ‘€`GU鄽›¿ Qxc›Q³@c4cR�¬9�¹s}~‰ÆPîB�–™åU‘£E6ß}Áþ0ê5EKæÚëP•ÙkIª¶¥6ù°èå Åa4 ŪÅ<Ù†K[ôÓLª^é`Hµp±ìÚÚʳ fHú®¿öeíN Ú‹ýº¾ )f�ÅÙ=AÿŽ<±kô¯"±ú¬ F�[f¾‰'Ñ"’°Wébw÷bôe²6ÆJ¡$NŒä­sÄYBP´%å$›“ùß™&Æ—œÉ›uÝkªŠyb`Ó&äòºíÔص ¬¬ä«¾`8Bør%:»*ÊÖ[ùýèqf!gÌžfkÅ;²„”¬:‚­äbVàJ{Ëç†Ó®¿e Úª •1¤S*ø®»¶£Ó~ø¸ƒt˜Gþ* 4ò¼gRö¸éq××[Y9*\ç`á|àxY®‚à_—^˜úhq_Iñ Y…¤%ˆSf$€7>¸6¿Õ,Re $ì|0Öµ€ß݃°Q YhP`\ZÆÖåñÇŽ) ˆH)²ª’£}±8Dç{&ü  °.»ØÐóþ1Ë�ôKeq¨ Ϟ㺹D^S†°nyïëÈ}uÁ.$�.ºÊ¨Óµ¬ÿ]ýqÉÅ%úÀ±†Ü¹ß‚ÿòH(AU/p/Ϲ�ÀY ÂÚ”tæœJOdlJÚçßð¾9IaìÞQ¥:úâ@´Áu”’ŒÌâÜÇKöÀÚ�R”Æ{/1~¸”Í�dpÅ/0-b¿¾9KüWy^o\râ +ŽÈRã­öµ†á5d’‰fF;Üß—å‚7ÙA ¥ �;–æàž^¸”¢8X�0kN»rÇ mz%@˪à°µñÈÚHá9¤�nfþQaˆ%Avr²Zâä-¬o·,Jâ+”ùfÒm¯ouùuøaTÕÖi:<äj  [n˜{%$±m$®À�Ë–#h\–ŒJ”;5Í�­·Õ±$áq´új:È[±îmo«`wή˜�4Ù´ oËrp²ÚÊHèÕX„sïÏž“Ù-ØÈF"i#ËcËn˜Kåì¸áxÃ"ÿUt\�¯Ëç�o9K"Òü;*è$ çÜôqÆKÉBæ×tèV¹ñ–#{‹oßõœák€+R…PI¼Û]~¯‚j‡ºðSš/b¬�yoŽ{ÅáAwOÛX;�@9­ùúaT9Pé}2¥"ÞWP wæp§<Œ„¢âpŒx—˜ÚÍn[öø.Ïd-pYû¸I:ä ¹tôÄ îºG6·”BÓÙÐøN®>X}“�0D$Që‘€Ûûw;~˜âE�“âcø©TH®ö¸±»}Zæ�»yª´t4ÎêY."Ýð¦Ì Js\2¤"¤:φêM¬yƒÛ|C�Š(ˆ++((ÆÄmð÷bZl¨$š¼)xhʼn¸ ¹*½ú`ãÛ”©7^ªV*UR,�¢×;~ž¸_†ò’Ù@™‚™¶oÌ€>ºb¼…·è€“Ûøã)¤Ù´Ûc{û† b †pÝ,lä—67ܱJW•s-áHš!ª1a–×;[ánØód“i}ôT‚ávkÜò¿,5ò�.¦‘`e”?ÒÙ�P/ߘÂ_!ñ·ÊœJp¬ÄªÞö¹¶ÇÝ¿|Dn-š[äóPå0,u*�¹ïõòÀíw!~<ÅLÓÓwÚûanç¦ö‡qá&HÃŽM�¢°ÒÓRJ‘ÚöØ{†øªNÂk…ZI´¶”êÒùU´Ü Zö7Ú÷üñVR+Usä Ï’q©M‚6ëÚö·»§²A€õIòP4ôr èâ…ÈM”!½Ï»ž);Ê-Ç sL¾íÿ§oÙw5†§)ö“ÅYZ´•zR‚žeÿÇr7 õëîÇÊþ*ø�ô´ëç�_Xg}3/ÐE.Qÿ¡(¨¨�àz©&:´�2�­aÛøÇ– :& æ6ãÙbJâO‚ÎÝÕ¿9«­¯Îës ‰¥–I£1¾›éTmͺrÇ�‹_î~¢bI<{R)£” —ûù)bü–ñ´j Ê™ªê((g9«,M{ó²‘ê×ùa½&(õZ¶‡‹ã•¯Ò -c�Ír¶¿æ.œK3å³VÓÌL’e0–ºë`U…ÎÛxöÝRIF¦É-`üÜú¬ÈLOysl-SUSA–æíœSAO˜QeÒRæ4º‰yÛÊR`:2‰”ƒÒ×ï�$OdÄJpäö´Ú÷´+u%-Up¥µI•ÒÓÖ6eM‚’; ±;�ï¡Ä–ä ¿Q�ÔÌb…­Æbù¿š†Dâêu8SÞϦϲxëëf¤¡ ’¶h誧ѠG³±èw7õõÆ>ŠG6GÌç}Sõ³½ÍðX( ÄYŽo©&¢� ™¶ªR\øM1ÕSH9Ón¤)è+J%ÔMq·d­þŸ£l) ¸êŸÚÏp‡q_ ,QSpæhÙЊ!(ña2Pš”YÚÆ) êËmºm°Ï¢‰§ÆïOp³5"=CrNÒᎠª«uÌ)ä–³4§¬�-1F-á„Á¯ÍPGn÷¾,i%q¹Ä¸/#«²ûn;.„AÆ0ñ— Ï�ÓRäÙßûe<ÔÑJ¥Ì¡ægG'‘sªÖì=yÓjät‘üƒÜ¥5òiäü9<'òzœç�s®-È$©¡—Š35†zg¤‹Âû¥m<º­ >P…^V#©Øô‘u _¨t3�é(v §è§v¡Ï±“ù}Ó-–qåÕ³}ÀK?RUÀ]*‹ª“ÔL£™!z6cÍO¦Õ[¤sAs�mƒæÇê¶ô{ÈÝdõê©Ùöo™gZ3\Ò„Säùõlœ? ¥%ÿÚ¢L,Íø^FRAêGÃN]F©Ñ™0<§6@KÛBÕG�×+¥ÏèjGVes? ×R¿ûvuïp@1�¯ðF‡Lßç5_„pô_ø]ü?Ôõ9†ŸNÜëSû7©öÀ¾Ì³Êœ®*Zêó@æt1ÿP9[s;“sùãézÏ‹¢ÔéÉÝMƒ…ûGàOá,�;ZËa»çÕu²Ü’‡/öuÃ’Å[=6a-:Í!FßsqË­±CàHZ ¾A6¾•ñ|î~±áíF2%W û?ã/ZX§É3.%ÊäYy(ž A¾ýýÇ×ýfM4ò-#Eò¬tÓÔ4?îlRc¾Òóâ>á<Égá~)¡�ÖXôÝ”_Pq¯ |^Û�Eä4zýn‚q«Ò;ƒê¾!}©>Ì2{!âƒWD’MÃUn^–~v¿ö߸Çç_â¯ÂCL?šÓ Å/Û_Âïâ,]gKRbVà…Ãùß U>ƒ¢É¹f·L| OÕ"‚r¾›4í!iìã$©‰õŸ8w;~7ôýU�«VñÙVᚢ‚²&ym&¢Ã~c Ô1’4šº_<ø‹FÉ¢u…оÏ=£OÃI¯n\_Â>Á½Ÿžàú¸dâOPJ14�Ô‘ë×¾>� M„XÉ^ë¬õôñãØw_ ³jªŠÚ©ªêä’i¥‘™Ý·,{ß÷ÅgLwg…ñ}V¡Îy{�ŸuX©¦é*i ê6°úç…NóX)s=3óPÓS¬öqÔìצ9“—7ÄimšµÔ%‰¦0y�¯ÒÖ,NÐ8#GŸ%|�›ôŽ õ?=¾8=®ÑÇÍ0ÌÐv„JÑCU©�´8ßUÁ +~˜vŸmíG´°ØÂ è¶)"®�w!éõ× sö ${¹гPŠ/‚�°?À7Ußoe&\S–!ËÕ£$¬ŠG0:Žûb¬RŸÄßÍ+~v”ƒKá#SÊ|h÷Òàߟ§1†ùˆ±’¤ ¦‚‰¨¥šh®¥­¬€§K ó'øÂÜHÅ©È5yQzœ> #Õ¿ ßmùà„e2Goït™x’C,nïÌV·Cƒ2€EåCxÅ(jü°ø%ž%Õo+ßËÜ c#ÏÙX.,Me徬jG3»pŸõ ¨×ŒÈ…¶pz�æåÈýrÅ—g$+q¸ÿjn(ã(@�ƒp—¹îýNØŠ{ –´–ò„ªEvY]5C{‚7í~‡|Wpº7⻕óa¡FÒJ‚£scÏël}(8¯¤Y”ÃxAw$sèq4T–šÊm´YU®Üͺ 0´ŽD-DÁn´‹üÇoÈ㛞9‡ºA�X“Ã:NÀ��>x/ @#€˜iî…6�·7Ãauá4ò“¹‹z¡Ž\ÖwMB’±"ä_ëmñ ¹­ÎBP‘…��øEÍúû·Ç{.w±IÔ ü/Ìùyôýñ(ƒAä, V*šˆ Ž§×†ˆÅ¬‰ ‚‚¦æû‘±øc‘6ÂÉk3fa` öùb-p^.­}E˜�~{û±ÍÊ·Ý%ù�"Kr½ù{ñ˃kÝ$�,“¶ý/‰\[‹N빊…ä �¶9+ÁȱdPlG;�v;(¶÷8Kb<ÖM¹µñÀZ�w앦ú…ØÛŸ3ééˆ*L‹ 5±6Û·\sW4‚*ÖA6¶Ä��ûc‰¤K Y@-ÿ ·O\@z6�·Õf*À ®¼¿�Î(}Þ’ÇUÔµ®=-×óÀ†ÒäZZ­îJ‚§¹åþvÀz.<"î.ÁØ_—ÏàpÊ–¿Ù/J‚ª€h]ƒ~Xäêœ lPEÏqŽMaÆ1Í©šû_mý>xYwd.$§ÔPxBãÊßÀÀZ[Ñч¶¦ ½lzwÀ9-ñEEø“{)åõlV‘¹®én"²�(å­É�˜‹ó¿l.Ê[†0—eµõ6äyõ¶"ÒÅrS%@ØÈEºì;c€îš;§Eô©`wØn-Óãb� üE:ˆu\l-ñ#ož ãs³”TP„ePBJŽ·À8ãeHBƒPÒ¶ÒopùŸÈb½ÐPçv ^ž2ÇUõwkØŽ¿¹Àn•Hº�úRÉ@1'†Àõa¿§×LviæÕ÷Xû¤�€®Íâò¿[àwP°�îq6xO-0ÒŒÈ꥿nx#¸¢áÙ5Š�ªO.W¿ CåÁJÅH5h:@\\_®ã¦6žQÉ&y F uhÁ[›ÄbCÈ^¡îWu+*” w*FÀ�õðÄK%yBAxª&Š’†>ÖëÈ÷·ÇÝ„¶cy‡HKr±Ób2Ü ±Û ñ‹†J®\=T¥-1*n§�‡oÏ xà”Q8EËÕ[ðÇë¸ÅWËd�RCE€p¥h�ÝUVÃmÀùòÅ"{¤ÊNï)VúzU–$*Îö ›í…Dq•QÒ»på,R3@:µcÓn˜—=À]á¤Ýžèè©A:�J\ï¶ÄvÁ84‚P7&Š|Q�$�$ò[ßêÃå‰k[ÝwˆZÌ YZVBïØŽ_Æ$I]Ò·{~þJJ(EÍÒà[qÓÓ¾â9â†ïºéháX©)F·P°íxéËdsF;ªïv(´�óåM­9r �ZÄ\õíîÅ)(6œj£jË�p®oÄÕÔ¹fKCS˜WÊÁQ¡$Ÿ£Œ¹µQB žh*Ú½SXÓ!á}¨û)ÿ§•- .IÇ^Ó)<\áä #¯–1sanøø§Å¿8ŸNh/¬×>qnã°ÿkî§{<¤áÊ\�ÒåÈßq¥*-€Nç;§É.¢pç Ûr±u-lQï¼ú)Þ8βî âÇ4èÔž qøfÖdÓß‹¿ëcÕÎ NÐЩ@æï#*0jwËésxS€æ ”¨$ŒÀXü1ã§ÔìŽíEßÔ­M{3QAšñ~S•ÖÍ‘ñµh(45L:nmè7ÆçÃ&I$òׂ9[“~9rF}Õä³.jµ1çT9ƒ<Ãr%‡AÖä ómé�­~¢_ ðê,�pV‹Nšò=C3ʨ«³>0û¯‹>k÷zÈ k+÷˜ÞHüäõuPO©íŒ7Îý±ù�ºÕ,c|ädú(~1ª’²zª¨ó&›+š¾ÓHÌtýæ9Ð[o`�–ßüTb¿PcäcmØýkÙXÒ UÂÚ”ÜS÷ôÈrz¹§ÍFcILèG‡K�ÀæËMv%›¶[¬�±Û�Ê¥©ŠêY žr =¯åÜG“ÒåÓd4�ñMkf/´¾8‰gŽLšH"�~Mà´®™6�H´3DÐçy¸®Ãåì®êµ"Hi´ ùÃíÏ2¦«¹œTï“e„cˆ2X&]aª£ıÜ'‹ DzO&d]¶ÁõžÖn  y‹HÒè�Ïù[GÙÆk˜fÕ9ukfTlfßxhnM mø„¨¾[ílTÑkD­§ú/!Ö4"I#äWÐîÎ3 ã,â×:áèóŒæ’–’›MLÆ#MO`±ºÛv滎Dƒ�¤t}L�³¨ƒF/Y¹ÒùÜ7Ñ/ ÐPq•Pj*è'“/Tw�Gâ‚Ò<ŽÖÞ÷F ^åTbÇRé†YØÈð\,dùM† ®ÚPÙïÔd™× çy'SÒdqÒÎ�Ïl±Ô,d�@êür7°7Çšê�"XZÉ#’ˆ'?¼­f¶Ž”ð´�ÒæuüÃÙ.cCE—ÖFÐÕÁ[ ¾$QÔÔ1ÕÊ ÄÂû×Üpz›çþWd”ë²Hçê=Ù Ñ…J¥Ì¢û¥mGMOŸÕ,�‰Û[I j¢<¶°# îŒzŒcè´’*\çŽ=?ågÁ(ÓF\·Ö]QA?çUù ÙeFS˜QUÍUË¡e„é2ë0fÒ6°÷ãCM¨gŽÉ"u(ÿÊ܉¦ž×޼9˜ÑPðUSÄ™$ù†W,tC"›Kí)jçø¬n9…\fu KY •£pÈ>¡lè⦶AÅ.gö Èîi)åÊ^‘Иã±Ñ Š€¿Ru.ßymÀ9ª·W�¾]-´\º¨Ã–Ï•MS2HC£/þBH],l3sG+Ãj#�;}à-ƒåPÈÖÌd¤­ áGså°ä/�¸4Øâ[�É"xL„ø{•ÐY.GšævC•։墙ՒhFñµ÷"ØÖéúIË9iü–ÿCéCUªdz€U�íSíS-û/ûÏsêŒúJŠßº”¦F{É<¤Y@Mñõ/„þÞñ+òþ‡> oô´:fyÝ…ù½àî-Ìç¯Ì½©ñídO›æ5 Rí1U¹²y ±�ñGÆÒêgþ[JÖš_Ú?áðR• �Ä#?U±ó¿µÅÃù½=&^ï-SÇ ÐƒÌ ‚H=ùÆ´Z§;Má¼ÓŠûLøM±êÚâ,5u§}¨ý˜ÉÙ3gyµ.O_á�á ‹XkÛ§,}{àn«ŸJ&Ê~4ø_¨?Xá¤as=ÂùÕ“}¡ó®ûAg|q•ç¢t|Âv‘d{%DLÜ·Û—,xŽúñ�]üÜ#Ñ~ŠÐô«¡3§ëQô+êÿ }¹ø/=šžÏ%Ÿî¥iT†*zíÓ Ñám2v¯ƒuàcÀ.Òjú*7Ú¿Û7{Cá<·†2)Û2’9EJËoü]Öø£ñßñ;EªÐ¢uî kø_ü>×ôÍSµZ‘··<×uóG3 ‚!x¦¥ÏâSòøãòŸóÍ{ˆh£íþרú—Y iôZ³ˆò˜äIüHÖ;¡ÚܽØÔÑjêš2Wš“¯n7…ÌùýM<ŽÍM3>Pz‘üï¶=¶–'�*¶³PÇ2¹¿Döm›TUðm™äZé³|¾3_ ¿ûoÖT{ÀañÅþ“f­­›-vÕ~"ÿ¨î€ÙôRªµÝ>Ê8ë1ö�œ3[44U‹QOÆtÙÕ´\�¼Àæzû±ãú¦“ù=d�‚Ezz/à¯ñ¤ˆu/ Á¿šëJd Ë8b£7­Jš.YièLt­¤Ô1ˆÝî7#R�ñ†Ý$¥Þ ƒ÷_ ´³¼Ë'âlñkøÂ‚ᬺ�£ÊÑÀ>#ŽLרúŽv<ñ·£kaÒùš}�f™§É]ßœü–Þ¼}•dü9™Sq ,y0G9dL¦ì$$xšAäA'Hç\^lž›Ä‰ÄÀYB&nðœÞ>ÊçÃü#TEnf™Îq]B<Ì+Õ4„/rc"ö™zâÔZGNÀèÚ\=ˆÿià¸I¸Š–º�³tÎa­ö™fl³I=-7Þe%4‚²9€|Æþž¸çA�:6–V?ä«QïÏN f‡…²Ž¬¬Î8®¶,ÊJY^J§�H…º¨�yÜúï�Q¦èçpÜwËW¦Æu¨¼£ÑsÞcÄSíûŠéø3€LFñ×9¢…·bOW6]¯Ì�×>éEÞP)Ëîü \ïæ&Ñßý-ÅÆœ]ì³ìÃÀu+@aФS#)=DçrÄó$žg×^éú1 îW×µz¸áˆ¹Ø/„kÅÜ_Ÿæ¹ÞgPÕ•4€1¶�O”K[ ÖI=½—Å:·SvªRû ʊIÓbMïÔc-±;!eHâFÁʉšRJ]�?õƒ/ó¥¸�åQmK; AÓ¥ïÛ#uÙp¦Ïl!¦¡R¨èrÀé·>�ñ]ÐmÅ$·W*¯U–¸}ލÉ7<Ç,0Æ?PÇÙÊn*3Ü¿”Ü î:öåŽ $Ó…+M�yR‹M÷†´DG0#Ì9ž¤ûðr ¦ò Ê�„¨ 1 îÀÿc �úø`\B’]ds’£Y ¾rO™@<»r™žÚòr•'�S’Þ™$“ËfŒØ� ­îWóVáŠ+†âw7²àÝ ±1­…ÁŒŸ×#Àq-ÏÕIp~eNR°1D “æÚm¿×|qysw„mü4ƒh˜é7ÿ�?ƼÔ�îqöQ¹�;¦Ê¬‹^×Ö:Úã …öoÿIñ–î «æ˜<¥4¸æÝysé|Y1°gè­‡íáUsª¦–¥j)Á* Z…–æüÁþq6FÑ”bk×Gû'ö´dž›'Î¥+:¯† r�zv?®<¦·Cü¼¾,g ¤âÁaìºf»-Šº˜ÖR·�ͪýÆ®¼Æ2 àþ‹<‚Ñu•¨øƒ �W�Žd\�ñwK©7ŽÈ`sA;�_U®M:ÂÈŽÀH¤ZæýÖøÓdÛ†U¸ÃKsô@µ’óSkÔvÔNàn~½Øæ€MŸ±Fd¡„Âå“™�À»j+ÒýÆ>¿{)p¶¯”͘³’]‚1¹*6±ôõÇÕ<:4¾£á€²ÊÇYfƒÏov `\P�XÌ»»Ü�…½,NÔB«À›²Ý®/Ëž9p`õ^6¥!t0¸±æ1Ê_}’|BÆËåsp:‘ôqÉWex³²J“Ð[öÇ&¬, ,Å—S ó{ÿÎ&Ò’õ8Ó}#kƒˆ\°$Qo)5­nXäÖ;Õeä@9n ‡¡øbº]á'ÆP]ZA¿-ýø”;�ªsÇmCV ,uË�¤¥‡n€Úÿ&|z&´éü®<úÒËp.7KNeyLuùUm[My娻2›‘}ôöÛPˆü/QøŽ~Hba>Ãæ¬UvI_šÐdõKþßOYY÷‹»�) yCÆãtPjælQùZãÜß ôNsn(ŒÎ¢—/â†'‹/̲ʉڒ¦(Á5K(ðü7=€±ìz¦Çü´ÍÓ³ a½Àsì•>µÎ`üG…VÍ³Šº¬ŠXåŽCž,ÒÆ”Ѱ-ƒG©€ëmýwÆGUœÈò/$¢Ó¼ÆÏêš:š,ªLÖ<¾{³*è«4�GK�Ä®�¥}:ß´Â\Dcs�ç¶B|U+¶ƒôT~Ê*hk—4p$Éâ§šhæ•.Ô1M$$ÅÇAšPG;¸ß˵nŸ¦W¾V7p�kî­ëuB&ˆ>ßågÙ'Œ¯‹=¤e³Öä•9þIY<"J›·f:Vü†�*]±ådŠM?Q'xÝÍž®ÒCâh·á=íb¯‰dÿpâh¡Ê3\ªš¾š¢¿$¤”Šš ³`IxÖ+ÞÜ•¬v÷o|º¨ïG™OÃùe¦{ �ÿ…¢9áå«J�À5À`àÜb·F^ó îvpBL²¹åÅß„wZö‹+â\‡0ž©sI¥ §ÉbÎiŠ-I+ª 'ö‚‰#ûo늒ô²ãåq®jýtè‹$#%l%Éh  „É3¨Í$Ÿí¹Ž– "rႲ�à ¾ü··,y�S&l&]¾`sî õx¢Ïù­—›ç”ÜQ"Í8£Éëj†)­ªàS†Î:Y»N3º÷WÞ[bÛ€}¿~ËwM¢ö•ÁþÔ8ØŽ8›(šºì•EjˆÛN¢Yšê¶$“ñÅ­Ù”ýiy~¸Èžê7j‘š×pàÍ*ã•£¤žHFv–-D÷‡œ¯:bqÒ¶Î[Ÿ{>âËøK8’™k /r0ºž�Ž=Hë^’L´ýQéw]Vöö=Ä™÷I]”TIåÈ5Ò̤6•ì}ØÚéá²jj�E÷Ïá7O�Q/ŒN â×úŸý¢j}¡û`á¯gfp¹Mß«¡�®MÂ+oñ·¦>ɨÔI¤éd4y�…ýoÿ¤¯€†¿©c¸�‹_8àš^!›ýÇ6ÌedÿíéUÎ�:mË™Æ"[Éä¯ìIéű‹VX²öªY" °Ñ§-@[’kÞÃî·<Š ™˜ðÔÕ�ŽyÔ©* ömñétÿ>02iXgLŒ =×Ìÿ¶�ñ׳n/¡ Ê3jÜ®'¦ñ5+�¯—†>éü#Óé:¬O“RÐâ=Wò×þº¿ˆ}w j`�¥LèØñ’2ð—ÛÛ¯² .-«¨§´s›ò??Ž>›Õ¿„�X)ÑWÉ~èõ_ñ–�ÁßÌøžÎ]§ì›ýMsQšRPûE¡¶_%•ª#7 ïíë�ŽüUÿMð>"t¢;ú‹à_úûÔ9â³Öÿä2>«éŸ {uöíG)ü/›RÖHÖeÒÂë¿\~oëëºTŽf¡”=Wìÿ„¿‹=;¯Æ&ÒJ¸Kϳ¦rð´fTæIäKá:61ÂÛÔÌ!$Ð\éÆw”®¸Æ 5[ ?Íñ¿Ó@ÊÚÑꃛMʯðµTÓG˜ep�3ºHžÿÔÔ¤÷îq²Ø[âµ×Y_þ?DÒÞæóK«>Ëùg´Ú_f95N_ÁT“e4`ÑÂ*¥iªt¾‹ïµ·_xÆ÷ÄŸ éõ“:heÕ�Wð›ø¥¢Ò6g¹Î§Å.Á¦ÎsJJÊ93ZÓ*ŠaLùL¬BÞyes#~§9ê ƈZì¯ÌóiZ^ArÚüÆ'íZ,¯ŒxRZÊ£X©V(·t–meîûÿ/pÁôýT±–i§ó7ÐPYÚ½'†íðºÏ|•¿(çà ȳŽ+á*öªÉ²c±ÖÍä2,C‘mÉôèôrMPù G~åUtSîóà{-u?µ^2ö-NcCKŸpÜ’-UTTsøžŒ|�—‘æö劚6É~6�âÇ"ÓaѱÇÃ�‘}Ï ''|¾·/¥âÓ1̲©IäqÏÝC=Ñ;q³?Ìà¸Ú×Ñh^Ç´=ÂÔQľѳȽ“ð»Wfy­n¹kk*/ÿ±Œ[ÎHÚÜÇrM½ßQø£·pqô_iøáê� ò�¢ê÷ËxìãÀ™ž[—ÖÅ Tqëj6ñ*eµÙÜü1öÞ—¥ƒNËþãê¾äZÖÐkWÁÿmÞÓëýªq¶kÄ3Ÿ¸ S¡;…�¼óü±£,�íÉÂøßÅ\Ï) ËBÒ3BÌÀºM¹ûÆ\º7ñkË4æÝ…{7á#`§˜ôýqWcH½ØôO.Úï8¯É $Aa"Ø‹�Mïn¾ý¯Ž--ò°%Ë  »î€øEË _–þìL‘V`kºe$ðÜ—µÅü¤ƒlpŒÒ8ÝŒs虫X¦ÔUPÆäÜËoúà ^\p§pÍú(Š0·[îÄ “Ôví9ºÙ\÷š±Êe ä¹uña½Åí¸¿Ç ŒäòRÁ»þøS ‹]Jì² �,M~˜yç!6á´�º…–š8üUv C°¿^ýp‡‡*¨¨ÜÒÓ}�R*Òª‘ëek�-sp-ÏØ«NèÚúH±;|yÛ¦:Ð;'J]J€‡Í¸êm€.7T¥¤wOˆÅ‹‘¤ÞÄ)rÛüan.náÙ:ºl ^çcÿ]Nù³h_�œ¢‘Pè¹µÂóúß u„žQñXÌÚäóÇ Y–:6EYï‹Ê’¬t¶›-Ï—¡úéŠî&·5Nà×m~?5�H§V•–B,#a¾  ¹ÙS$�x¡ÂÚ^ÍýšqG´ž'Ë8G„²º¬Ï:«p‘¢! _©=ç:¿Wfš=Ï ³§ÚÑwò¥úrû"}„2³× ?ñŽYOYƲÀ¯38Ãq{ ûÎ?5üGÖõºÙœ[åŒ~‹ËuxÝ»sÇ›ô]ÕùY–cŠ)…Ø*þéaß–<¤]<8†¸ä•çÁ{ßÊß^Ì©2 ¾.%Îs˜¦Šx Šÿ‡Q�mðn‡O ’w‚Cx¾V³ö¹›%9öZ›Ú*¾{›¥5ñ§5_Ó‰[wMöøœx¾½+õº³  ;Ò¬4Â&›“Í©n¢Ž–*š8ÑLÔð´4ñɰf#¯®«‹a�JÆ?«ìÊ-&ŽÇ°V*¾¥ƒ6¤†§.£26W"4®ÖDšßÕ@OP [ׯ§tà™’5¢ÈÍàì‘®1…¥sjÌÒJ8ê)Z‹î=<ñÔË»±&Âÿµ±D¾w5ìoà”—²2@а�Ér)8—�%É*&Z ø+[-«�[Ë BÆ “_[.£nç�ÏÕ¶©§æ>êÛ´¥î v@ýTgçÍ’UñÙMVª˜3ª…3F Yjª#”°Ø®™ýËÇ ø‚wÆé#cócæV÷N1†‚[kX{6âÜó/áÿhY¦q ÖpæY—Våï�$Ô±É×8V¹ +ÆTžmn¼ô~Æ È-óh~¯+�¸ºƒˆ8{ÚØg‘khx† êéêòäf5¤1³²[ñ+éÛpÀm�!Öúsg�jK­®Ç¸ö^˜<ø�¤‚>ËmQæüq–ðçTe5ù5',Ÿ0ÊbFÙÔfšX*!C»jQP?¦þƒ¨8³¥ÒM #”5‡�[÷UúlíÚÅžýðµ/gòq†K•¥8ÊxÞ.--8’H¶b2Ç¥–'¿š7b¢Ec¶§SÌcyçkÚæ<8Ý‘ù¯Va›FoŠãè´G².3fG.yÅÕ|µt“ÍáM`Âdvò²ô*Ñ–s¹øÛéòîycÅ퀼ï[fÈ÷;‘÷]mÀíEÄy]u4Õã-âJ|ª*Ø*æ}|m"OŸ–ë¨_¾œoéŸ�á¼V9_+˜o�¾CCÑm98WýÃ0Ï姮ɤ¡®£ûÓÍ4ºZšC. óVN­‚ÕDã Øá‘ô ¦˜`�@*ÁW’Te™uÐd™EfJõ»Ìjzh)C¢.²|‘³¼—k�oa‡G¤|�™! #îqÉ^ž9^ÀìKLçŽx{7Ïk£¨Ê]�GQÓOWªÒǤˆàs�é•Á*G;â˜M¾‰Ç*ÔøƒkOÊ)âÞ!ã¡Ì²|©rüºŠ©rìÂŽIBI,H†VKæÕ {ÆÜñ†u³†Ép§î·$е¯l£‚ºEÌrN"ÏèkÚ:‚¶’‡2Ž¢�µWhõnzù% ïlQÓÉdÒå�½––ž8žK{ÞV„ãìò�2­AÃuUR‘Y^iÑKiŠÚÉV<÷ýIÇ�ÕÊÇL|?Ã~«walxô\Æm$¼Bi*Œt¹å•j"ñ,± Q¦Öî1éºp-m…â5þ&ó¿-üÓ¶Êë*Úª²š¶\½"ŒMR[W„{{¶?,[ÓÁ,˜`ªì²Ø÷ÊØÔ|)�ÖS 삤ϔÂÊï*µÊžÇÓö»~Ú£Ý+KÃIu›ú.žáy¤à~Î8І¶ ƧiIp .>�ð¯Hß3HÀ_­?ƒ�E¥ñN ½WäÛ�øï6ö•í{Ž8¦¾ »f9¤ÎV÷Ó¹ ¾ë-þ8ú—ÇW Y~¿¹?ô‡Ð=0OÜ«ö],Å;ËáÔ#bÖ -o¡�…jõ8žá~öÒº……u¡¨EÖ'«2Dàó'Z‡Aª¯u¦&°§òÏi=ÀCtë~)kf ná:YÀ®ÿRgôùÏd|e—Ò¬•T�¦f^z¶øû'ý:u³Pv–C‡Œ/ç7ýw|"þ¥Ðα‚ÌFÇ˺øM9egRÀn í¶?väÕ/â­ @,ÌQõ.ÄòôÃ6ÖÅöuí[‹½™gÔÙß æÓ…ei`ÖBL¼ô°îxÁëÿ麄Clí>øï¨t[uZ‘G#± îW²nyGµþ¦Î¨*Jf TïÍ–ÝHýúí�Å?| /JÕ^CÁ_Öá'ñsIñGNl„ÿTr ü”†}˜ •“PÕ(òîop/·Ç[KºÂý Ó ,ò𡽟˜£âØuTòŸ)¹mϦ7%ŒÉì-|søÙ© é2¹ý‚û7ö^ö;ÃÙW±ª<Å8ç=š¶®STiÞ5Zj$�³ÚãÌÒmÛ{ãè_§BÍÅ®¼×jœÖ´6¨<_ÇñÅÆoNr9fá•™¬”¤+Ô°_ o훟†>-ÕtÞ˜5KäpD$�}Ñ>¿éufGKe.k”Õe2憚9óK�,Ò�) ŽntÜ÷8LZcµºˆßno< Xú†4¿c¯j6á^ƒ†(³“]B¯QShhšB"šfÙ]�nÚ‰;aå¾$~,‡úžÊ4F’cÑê¢fḲ¬¨¦ÍDÔ™S¤Xñfu,ÆÚ�›X_oAßš^œ×VÌßzÊÛ‚r$ÂÔ¹÷ñGñ >Ëø+j¼Þ¡–"ÑÈZ(€2³J ‚BN>‡Ñ:Üp¿¢ú×Àß »WN—ðw+´8g‡}Ÿ}™xY3ŒÙjøÆª?²¾R5Îã˜=�néëÏoèi¢�/¿A¥Š&xL Ð¾${lûPÃí[�x�!ʳÙ$áõ�£‰õYjm±¹æWõƆ¯Wœw æŸ|FMéôç•͹œoG!’;˜ZÖ`?NÜùãVXœZ6Ñ|íÎ OÍAUÖlcm˜�ˉߧÇ~,@z)ŽFXÜÛ÷A3*°¾–csËðœg‘ÜðŠFµØHpîÆEÖAÜïûo…66¿=¾É.fGY˜8!u뵎ö<¿Î€e]¡ÚÑž\ôîl ‹v·ÇçË 1ð/þOïü¡ã&$d$5Øj¦÷°í¶"1æØ†DçÌ” [�¡;›nGÇß‹l‡½ÒKd7d}P ¤²äa~|½/„¹�ÖOHÚü ÃMI%ÖÚ¯`÷\3 Â7n»¤t�¥Rx‘°Žû²�p=Þ˜˜éôÖ÷A46prP†v�¬l<§öÀI§ÛžPªweP�˜Êxl{�lAÅgiÜ?U‰|,E*¨F«Úû[×ð8}¿TÈÈÛg)åTˆÚä#l:èç‰14Ÿ06’NÀÊŠ©¥u”´&Æ×$0Ä:"FæÚr¢¤üê¾ä“k[Ó¯\-îÐŒ°ÿq¤òÒ±Dgd6#~„v¿ïƒË0oóMc^æØ@½ðÝÀGÜ�üž zbè“k¬r¤–“Í*•vVc%ÂU{#‹]O×\@!à‚AÓ�Sò[»Ùµ9rªˆøoˆjdŒ1´2±òȧ¡'‘ýqçõzC ÃáËE]Úr/>UÖut”¾T²ÓÆÎX_Ä·áÛòÿ¬iéÃ$~÷C±´sê¹Ë‰2é ­” + È ÂÛzŒhÅ­ÍÈ] ¨ç€«fŒN“VM÷�NÛu¡Å·yжíƒÌ9ü—Ç¿ýœ¨ ´Ìw6þqô!Ôâ=ø_Mv¶;É 1ðfr,D ·÷_;âORŠð‹ùøÚ.ÑÔü�Nʾ©¨òµ÷í„¿­DÓÊWýâ.mYaöQ›Èºž3cklvøb¤ŸGj´�^0h&*ý™æ0’G‰{Üm½ÿL2>ºÒ¸u`}•^³ƒ³ÕŸM®zíðÅÆõ6Ú´ÍsTÙ&g’ißYæ:Zf¥‡º²Ù˜F ¨ê!?øÛP&À%Àß 4ðS['`˜’0¤��v·Ï £s� •d:X6 zí‰K  *öt¿#~_Î97x8ít±s=1Ö¸>Æ9M�^{ zŽ^Ÿ¿Çíär�.VÃúwßm¬;œJââ³ÈIªÇ¶û›uÇ.Zà¨p@<÷è~ä¢{¤©’t$òÇ. ÆåA¸*ýùý|ñÊ@¾[S72oéŽNà%�<�QÐêþqË�ÅÚ@¹ëm…¹c””þ¢F•g¿!·Lr�]’Á'Ì“ùóõ޵Ïq ûI}Zt›\_¯loªàãÙ”,‹¥wß|IµÅ€#T8u!˜\„VW] "VþUó½­îößRÆrŒF¾””êEý>8^Òße"ª .ž—µÎãáߌ¥¾é";¶¦½�÷—Ûzªà^V zt‚2=1CÈDë% ^UÒÇ}î9ûúàh»<.Æ˰,š™¬66ÛæQJßëÊ-"Të;MÈïÓ\AJ8GE Ü0B-~[êôôD�P^F­:dQªÌwÜn=p‡½)â7 cºeöþF<ª²ùJ>(Jyˆ×c¿Qp]‡Ër„;ûŠ&:d(º¢v­«—mû`;¡’QéHÅMm* ìlA±ë�’AHZyô*r–œi-}l9ì{ŽØ\“ Èû¤9Äš”Ô4²Ü¹:Uo·->½¿ë]œ¥‰¬VTœ ]®u¸RTonþþXCÍŒò•#©Ôr¥a€Éæ›]N›%’ØÂâîÆ“�Ó‚ä�P—ëë€6B!«ôˆÙIä,§Í×añ¾Ä6ZE‰$(ÑJYT–±ö½ÇÃåúⳈ<„@6½š+M¬@q-�rU]î‡*IišåEõ~-…íë¾9ÒŽ \ •1ILYÕîŠH�|W–fº€áVÞᛵ1 Z;Zûž{öÂ& mW:GrQK È£vúýp½£7ÂC‹©ôÍá3*7[5¬¤éõ¶*¼º¬”�ÿÊ7$Œ,ÁB´k|P™çmÚ¥¹ÁÛŽÖ¤¦× Fò‹[W^Ûï†Ú°RÝ3³EgÁPO^˜²â\<€#…›OœŸºyh‚èܬz�^\°ly  µ3xe×ûù©$€ˆs¿?wùçŠò8WGÙ ^\Ï ±î®Üìû8ãÎ$Ëøs"¥zšÉØ ¼Ú7æ}7猎§Õ[~#ŸgóUõZŸ…ô¿Fcϲž[ìLðÏ&\“q,©ýi$[•b9ƒ�ÏßuýF®QxÍ{/*î¤âKï+êV}šËžŠ,²Hdmý)ÈØInØÄêz�ìl%¤8`‘ÝP:—È-ÅY8’ «lÇHÛÂ8dˆäkû�ùµ�&Gî ™ê`—†39fª†ׇêê#I2ïÆ–¢8”¶�MØþWÇ�Öj™ÊÇ[N }Ö¼4 "ÈVÞ­‚³=ãY ÂW%lrF·ŠxäÑ»7=:‰»uÛ¾-tøã–Wš·U·Óöw=îsH8­CÅÊùeY†e5DÜ8õô±W4Q›ÒQ†0´þ M3­ÏAÚØñ·<ú‚çðÞkÓØ¯W¬¡ÉZꃆ¤~ âœÃ‡$¨®â„ ®§­€É­k¥Z„‰#˜ï",EIëÓý¸ôºxbs‰ŠAyïŸkù¬m;ã9›sêB�¬Ì8WÚN^xb‡ˆø[:�1¤“.©Ë¢±Êê*¢zvV®¤†EN›�Ʋ�C66cê´íÑpOoBµ³q ®GÙÎ_‘ç/µš÷FK˜')2ÇS%0;ÆÊ %�Ay /_·Ã:icÙ àŽÿ?uSHÚöðy¥¨øžŽHò(ã¾ʪøG9£ÿÞñ SÒWÁXÑÖ‰Ù˜Ã28a°|xÍS�{¤{êúüý×¾ép0±ÆÇ+PCG2q}U&m=M?ÂÏWêHŒªÓxÈÅNö}zî§ão¥@×3{]~‹Í|SBèZì¿gõ´TT¦U˜e´y›Ô­%bìÂ3Q"ln¶. ›mËž5™ ™y£ê¾GÕHÌmoþ ¤áþ"ªÊ²ÿö¹ó*éZ¤KJÚ8¤ub?ù–ÒtÒyÛtñn‘±çÔwIд<^Ûù«²ú*Y2ÜÇ&¨–¢« ÏɤJº�&1$ed°øk}C¨`0þ–ÖiõsFÑtEú¯EÊà¯ÍžÈbË`âÉ2‡âJúLÆ£*¢©ª”(–ž¦�Þ Ü`ca¨ò¸¿lmuŸ‡XÀá§!ÕYí•é:=4“~ËHGžÅ—"âoölº�Öl£3�ÔHYé™? íø£�Vßñ?ß�¼¶Ëè�´z†›ƒöWi*jæÌÇ æÏS_GœÑEX-º@ñx†5¾À£›[¿¿šÉ¤3FáæiìÝ&�¢ Í­MÅ ›p–Yþ÷Ù|òÓÔ5fÕ2Ft–žÕOü #{ˆß®4µ¿ Íàÿ;4|-WNÖ�ÀWq¶y=>s–Öæô«E˜B4Ô™MÞ¡6(Àÿøíˆ…¥°Ñä¯)®Ó‡ÈC8öT‰ý¢fùdµ”qµ<ù.jR7Ž2voB1±¤‘ñH&mߺÇf…»lò8®TÇgœO‘VÖdyFsL¹ ¨yžâ_w勚›y߀ãûá_…Œ™¡òÏ¢ìÎ0ãüšƒìׯÑŠ¢<®¡Ý�ß}ž>¿ü'€ºfÇ#ÒýðŸüéµÂü�{;Íþû_SW#—2HÒlw݉<ýÿž6Š›†¨³Õrÿé…퇡Æ*¬.—¤®¢¨ŠÒ»#°²©Ï{ãá%Ži£À_­ôúË•ž‚®…@KŽT5t×ÙWÚ5O{F˲æ�Ó)ÌÜSÉ; ?´óØÿŒxOâí×h(n_jþ|lþ�Öã;ˆcð}Õ¾%Ì!e�Ã–Í /å<͹cò&�Hæ<µÝ—ö;¦ëšø­vNqòFû¢¬Î¸¾ŽtÉ3ºÃd½·çËÒøÚ×±‘Æ `¯Ìõñ!Ótߺð¾ÃÍí§Ùÿ ´YytHËN‘Júb�Bé}¬¾=W^‘²é¢ˆ E¯à_IJN¡ÆN{ek>Ëó.5¬ˆÖWREHíät6w.®À�ËH€í�„õ¹c�P;ß·è³ç‘†VEe¼IÃ\'U’É[–Ë=¸ÌåšF”T°´Ÿ}î9mˆ€óoÕq‡Ä`Ï?d‰²|Ÿ=ªÿÖ™�MT2-U&\²èLºšà$Ž?µîââ×ßlzm�³G¹à�ÇJÆø ãÖ¹TìËŒ3®0Ìòogü“ŠÎ)y�#hÁÓ+ë³]Çþ5U’yƒÞÀû¾‹Ò¤ *‡¯uõƒþv²@÷›ŸEôgÙ_±Îû4û?Íx�‰óJÎ3ž0®˜ÀÛð-÷TP@âqõÞ‹Ò| /ú{Êý¦ÓÅ "8…4/ÏÿÛ×ísµJêŽàÚ©FUŽ+*éÉÿÇ®Øôá߈ž ÃüQÖØ� ÏrÉØóJ¬¦¶*Èe‘]á·c6m?Š,v_7™¤Š×Sð/QqFW %Cëoo~#I¯1¯ú*Þ"¨£3<¾Jy -ͺ\}zãqñ5ãx lqi¢)7ðœùm¶ûú~˜£,`f†&��á²XŽýˆ;}záfí$ ´�(ü‹Ø1½›~GøÁÁÚ$ý;¦—ØÚë?¢¨³‘¥@ -·LL®%Ôp–Öµ™¤#Äâì °±µ…ñ(ã(ƒÜ2R§dR#·0/oxÁF H'„· Íÿ…oÈTKBëâ»D‘©b°Ù·í‚tGnîþÉaæö¸&˜¤ÚÕ-X^ÀØ5°›'pÐ+HÆ7bj,9ò¡‰sY)Ìn*�²Q•�4pÆãm]¾xkZ,®lÎü$*>w–Éø %ˆå"›ènþ�7ÃÞÖ–�G)¬£ÿ+|ûöË]—ÕÓp÷0”’#:ÚÞ "Ããož<Ö¢'éº1a"X\Ó¼Œ.…㦖µÍUŠŠ&Uk¯$Ûû½úõç�[Ó'ñc¸À?ª£$Òßð´ívT‘³@ÓËKyš÷±ï�|o³\•2;Ͷ«Õh¶ö}•IgHQÁÛdŒx×u=¼œ*rõWŽn“�û9Ë]–è¨|Þm„tµðóÕ�”Ⱥ£˜q›FK 9yÊ7¿øåËŸÕ¤8%œœòUn®L˜–DM`\¤½^˜ éI´lռЍ)(òú²C@½Â¶ãübñÕ<df=YhÎT$ü#AUehʧD¶ßðÃÙÕÜ ;òE¹Íó=o³º!`°)Ü�W·çùvÅÈzÛî�ÀVÛÕ\ÑyTêïfð5×ÂR Xß×õÆŒ}~δQÇ ª�_³"ISYÊ›¯ãz~¸â­Ž¸nЍÕ{6pˆNís¾¡Ïnßç°õÐìm�c>eXªàY¨U‘To{öÅøú¨+A�Q¤aCÍÁ³«\£· ;öÅ–kÚSÛ®gr¢åáºØÖÖ!m±äOö5l¾S¿˜iî£Û)¨’Œ× mòëÏôÃí)â`p™“-ž �Ó–öøa�áC€ ƒM)mâÒ/¹µ¾ºbA´b«)·�‹*¨'¶ÇM)ÁM¤,•´±þßC‰RÐW„lK(¹nW·,rüÒE¬² 3k_¦9K�®UJ‚v׿ wåŽPÖå¹ìr#¾9A�E fat“_A(¸DGS¥•¯¹î1ÅÉ{Š'ú ü¾¾8Måq"²žTR ¥.m·á?VÄ!Ü8E†× ’24¶àÜ‹[Ý�q¥ÀQ6ˆ ×Àï¿/­°»CŽm°6 ¬›­ñ�?IÅ ),.6ë„9—�‘ÆJ#J1 ¹¶±°·ëÏkó”7èm)c Ižä‹îAÁîQ»Ô'‚ê( ˆënŸ?Ë  ¹£°GA$QÙ¿´ŸWÂì³Ïe)O锨<íò|÷z¤9ú’§ˆ_qaµ®/r?Ïs‰>T’àT¬0 acVï`?< �A%òö¥:)¤d ЬÜ�‡¯2;á$�‚�KÏä£$(1—n=>½ØKK�±ÇºçÈ}Ñ�ÒlPÄ·˜çËçŠ#(á£Â—‚š1d1¹éksëË|c±P\Ð)MÃL0I"K÷¹â¯\ Í Ö�çöOGO¥˜Vè9ã=³´‰G`¦©aÙB–6½Ï_ó†‰\Ó¸wU+;â‘‚€Ϙµ´ýoˆ’HȻʖ?ˆ¨õ6’¥OBO?‡×,V‘Î.ñʘ††VÒJ^£â0©©^!<`"–�¨�vòŸ~çù¾h&md"ã¡%•W@]ÿ×åùàŒ œàû*û�P4=Ô­=1Q¥�µ�Ø}|ñ_Ųmsd-óº@Ì órÍï킊bpyK.ÝøyF}Ü YA6ÜvG òÙº\àÖâQMä?Ó‹žàzŒ!í£ì�éhg ŠJÔÉ ­‹y·oqëÛ³î$íU €ó [w'óÁp¤0^Øè¥ft¯ñp¥¾çç |57Ø {öÅ�dS\ÐM0ý z:^«`úE•Fäv†+<Ñ!Âïº�D 2í_`¿bojÞØk²ª¸²Jœ»‡¦!�LƒN¤î«ly«ñ:r[ø«íþÖ>£«�< “î¾Òûûð/±¼Î’®–‰3åP$ó¾ççðÇÇzïÄSk$Ú Ûó^WU­“u;'ÝwÛQRåü5]$1LjXbŽØóz½\LÓ¹¬ºþÉPÀl“�UµxC!ŒÁ“æ•qI\<0T+Xêm†¯ž4:v†W9†O7ü¨:˜Î ÊŒ¶5ÌkèjÚ9'ñ<W�’lIúSéOl†2ëw¸Ÿ§{O*±S–ÕÐ}æ9áY䥣»�\¤f Û–×88úSàfŒ`]Ž}­!Ú�¸‹ÈFpvp¹T¼GE5�IX¯4’æ)<¤›{¯î¾.|=¨:MÏ‘˜xû�­•û©9Nq“Qq�&e˜ÑÉ\t¦-øa¨g ܯuãŒÎŸ«lº�ÇŽqöZsBØb µ×¹UU'pó×PIYe3Ÿ¼I ,�í»{ùXãØÛf‰Ïhvñë–­m›ÄŒž9+OæPfÒä’ÅW—ǘµ_ßT²†ó$RF±•~"Á÷êlx¸Ú÷âQ7ÉíôVµPÛlSY' åððÕL„µUy„u•©€> ,‰ g‘Þ@¯oþ¾6!Ši÷¸¸¹Ø¦öÿÚÉÓ苸ãºÕYäRp½GfùE|FkæšÑ–±Z÷tV]‰�Á‚%ÓÈksÓᮂ ;›ÿ•»¥{d~æš#•Ë¢<·…8ëˆx$ñÑW²¤¼5›@ÅS2E«J¨L× 5ØÅÏ•¶?‡�OÓE%¼îkÆ;Oý¤u§—èŒ÷÷^Í(=¤VÓñNAò-SLj$ÿíSñq�¼QO¤Ùd%Œ±]cšÛ·CÓ¥Ûà¹á»¸=�²Ä2n û-­gÆœ?îõ9œùoÇ—Îh³èÅT†ž¢*—eJúx€º—už³¶<ÿYip &…jýA Òè  hØ( …AöŸÆüSÂO]•Q�Ìå>ñ�åp„\݈`¬[ÍH¼Xw¿ ¼ZgY.ã…dáÌ“Šøö�6¢áœæ¢>'¢¥›6¢©]’±Œ`´ }µŸ ~�qKEÕLas�qõEz-e®f)^r ìûˆrºßˆ£É«gÏa¤L²goG àÆçu2ºï¿›ÔÛ/[÷º$-wœ¯_¢Ð°†¼ ³6n<θÏ,›%‹,–|ÀAYJ¢+M$š9nl¸ã>Y¤lÅŽh.¥w]¢ñ@p8åFðµ6cÃRp~y›/ûûÇB�/ÝÈ£y6 ?´ùüq‰+Lu+9ãÑhÀÖ—Ô†°¬žÖdÏSÙõM6Tôu™eTsKI µ¤¢jZ‚V3ËÈb—P·3~Øú¦‹©»SÓ÷Do±çäžÈ7¯j×ÉßjyzÍ“ˆ*ë¡“ˆ©H²0·‰NVÚ ÷º�^ü' ôŸ.÷6¾kÎuÉ>×3Òq% }Jä4t?î�<3�r$@m·®.O¤{(ÒÉŠ܇Ó~ksp¶ké™~YUG9ŠRÂÙÝOöýwÂ"†VKg+wM§{äo‡�ù~K ½£M–Göqã¯»Ñ }y=G’ÀÿöÏÏ–>çü;Ô�3[Y_®>�ÑéXÛ¾å«Ù¾n°ÑC-1à år ¯úâïñ'D_ª6¿°?ôÏÖúD`výWEå9ƒJDIJ�ì9câš�>Ûhå~ÌéúÂæƒjåO˜ÊäIûî/aŒ¹áòÙKj-@»S´y––!¬Ïø¬Eöí_çÄâlp“ªÕéœÇ2”»Jd’nj6ãŽdT|ͥ㵮…òãí…ì¡j*Ÿ�rXŸÿú•{Ëçl~¶þ ü\òSŽòÛþ¯¿„…²ÿÞ4mùÒù³4l £C{sÇ覺×óÈ·Õz(¤fWßI7°�~&‚X+Ô6]Äy Ldø‘VBú”ŽŒ?Î(k™q8(­š÷3Q›È#õ_asLæI…;ÈY[B‹„­ÿ†?#Ë 3‡9_Ùo„:Ùÿ´Æ÷œí¢ë²g °Ï¿õb4´ˆç™ßS)±€ÜßÖØqé±ÏÿÛøY•ø þ±¾? Ó�üîÏÉnÞ<ö™ÂÙídœ1Q«ýžixèàÔÛ¥Á¾Vn±Ú‡Ëám°§¨x‹ˆ³¼Ê|¢|ŒäSN†«8x|ÕG^£e?†=­{tۢчÉLqvªMŠ6°›ô°US4¨§â~#§àþ÷®0¬«ye–™�CWkße‰9ÜìÜãèݤ o+è |36ª[vù.ôöi�pGÙ7„êø³ˆkaθ¶¥ZZÚ·¶¥7¹HÇö¥÷îyœ}{¥ôxâþ«ÆWÞàÒǧg‡É¶Û£‹ý¬fŸ pÆg.]ÃnLrœ�^ÚAù‹õÆá˜âA�¼oÄ_îr{¯—ÕìX^_ �îFÿ;Ž^m|òIÈ;»ª&eGâFïtÔûvňœÐ2øŽÆî ˆÊ3z욺é¤ðœ:ÜùìqWY¥f½­qµØ-ÅÔ\[–DŒÀÔ_q}ïßlwMê&3áÉ÷Uµ›c”ömK-#‘ø‡cqµ½Þ¿Æ6¦ÓµãwuH¸‚(YõA‚HUÎÖ 4ÿŸ«âˆ›û@Xp<€›.„¸v7å}íÿx9Ðsò@\ZA!$9ñN««¨6^};an’üÇñ#óƒºêÒ�YI»+o°'ñ~ž˜°ãå§wH }ùÖY‚¹ùïÏÔà‹Z´óì„ÇæÉBIÔÊÉ-”vߟ»ŸÃ@b—=çu¸ä þé+2†-bûïè~?®$Â}pœdc‡é3áE ³$ƒaå÷úœHp{êð �¬O>¨|&�jp¼îI·Õ±Þoæ„01¶H¿d©iRhÞeþ¦ãaÌÿÖ*±…Æ�ŠCÖ�ÄÙù •¤e[”^íÊÿÎ Ñ ¾n=‚{K»œ&Ö—}r‚êÇ’“å¨b}8Ji 8?’"¦(€Œ�qbwï¶ØÀÐË Ò¸ä ~J}Q‘F¦˜óåËøÇm°Î;û¨-ucDÓS¬DDm[_{«á--#qÇÉk·E,�ª¤�á2¶£¹7ÓîôÁ±‚oŸU;ˆqpB‘<‰à¾Ÿ’Ö«¯0=ûà15J»!-o¯Õ@š>îãRêØÞå=ã¶,7pM�î°«YæGá‘4i4’ ~7SЋr=�¿ø·¶�ʲX_‡-éì—Û M5Jðç.t«‘¼‚ÖæzÛ§_~3áqÑ¿{E°öUe‡k�oL÷"¤«VÌ ´C-¹¨=O[o�o§tZ†øÑ#· ®�Êçñ%=*Ú¦dS¹ }ïÚøø ÏaGÝyý¹ÉÏ¥*Ž}ÆÔÔ¿Ó�’âû›ÝztÛ"Ó´¬Á§|­g˜ç•uÍýIN’wØïÿX¿•¢ˆçòZ�Ó‘È™K’î_Q>—ê=1iÌò…àŽÙV HymsÈ›íoN˜¦ÖðA¼¸©Xà[Xéc}ùol)ÇpP0hp“*µ�€ —¸õcc�ÍIÝt�xDŠUÐj‘‹ÞybÛ|�F× ÔæIÑ*Gkmnž£¿IdVJ:84X„”ò½íÎ÷øœ,½Õ”�UŽT¼0+"+i¬ ïc{uïþ0§öª½ä¶ÔÌP)ÓªéqaÎÄz)ï’’Çß•NSÒ¡ÒE€¶ú…‡»lT2YÊIjVzEu+hÉÂÇ�±-&ù´¹¯ÁKv1eëk߯Ožº�Oº÷Be-R J5—Ü ‰Ûr;v<ð-—88J4¤¢¤_c#Aémÿë¾&b("2¥ …‚hÐı¶ýO>�¯ŠRfÁ¥ZJþÒŠjK(ŒO÷È{�lUeíã .«R±’C !�€-ÈÛë—®Cÿ‚C¥påMÁ@ÒXÙ�÷)é{þXYÔXÚ9@×ARQeͤù4‹u°6?÷€{Ã[´œ¥¾@ ²¥ã v@¡9\Â?l)Õ`fÿ$;Üü‹ûˆ%Ë_b'òOáÍ.ñ‰N­*ë²®“`,H»rÄ:z÷Jd�?„'OJ «y|29séùà\æ8ز–&XR©Lc1�/ 7íîÀo åCÈiÁN-2ܱ•¹ý[8±_4°ö›´ëC©H¹Ønom·ß¾)Êêó–û#qÊ�h9ƒTž|ïðË”“ÉU\1@-—Ã…$ �-åå}þ¹àc�Õ ViÉ[_!à¼ëˆ¥H2ܺ¢­»…ØoŽÔë™þ§+¦×Åÿg+½>Ëa®2ö§ÆytùÝ0§áêYÕ A&Qptû¶ç�Öþ.k"1Gß¶Vf¯«nm€>u•ú]3�û1á<Ÿ!áØbŽhéV0ª€�nxùGVÕ–€æ›s—•Õêw» \'“­md�Ô“EH®FËa½ÿ!ˆéqÆïé¿ß’Ë��‘ÖJ’¦Êj鸎.‘–¢9gA­¬ŒnXúmŒ}^œ¶S¥"À8+{G§!û®íoæŒðþ¼³/eÈÒGÞÛLz�\KŽ7ß«‡øYrîñKZ0µ¿ÖÒÒæÔôù¼áåá´§û�ˆ7#Ý PF¤xî'Ôþ––´5Ë<\’U"¥ŠZÇHÜ•ÛÅxÅÔ7£q‹Ýyî3=�÷ äpÛ‹ª•"n¡»œš½ÒJ–§Š”³é’#4D²Úü‰R=-Œù€l;˜=<‡K¢¹<¦ÉU¨n'OlÔ•ò˜s(ª"JW§‘e‹Eü¼ô‘©®:œi|)¥l‘j"—ŒU(ê?Ó”5ëÿ {Oϸhq¦EOQ=gKB)ßRŸÄ�—ÿ€‘á„iµš�$¥Œmµâ°W¦é²0iÍ`;ÑsÏq~]XÙ~s.e™ð‡ÓÕSE2À¿Ó–šD” T¿ûzOÿ+öÇœÔJÙAþi»^8¬ VŸ ÚÛ„ß²·ðïñ.OÂ\EÃù]LéšåÍŒBšút�e§Û¬„TFÀ¿ XÑÈ#q…�Ú‘ïJ‹Ì®‡}WªÜ<=íG,â:H¨óø)òܦ£"¯£†V’ž­iY™&�¹–Žg;\w\{>™Õ£ðšÝM‘}ïÝbè&{5|˜Æ=þ‹HûBáUáîË3Z ·‡3¬¯(j)•Z!3ÅC˜S%LmÔ4sR$㨹a¾*j4oŠ#à–áÀV}ízh'�WÉ 8{.tö¿M›ð� ¥_ñûI¯Ëj©ò<ׇ²Ð­Y?ÞÁ5tÓ~E‚¥¦ÔA3ZÇ�h´Zyà½ä»�Ñ‘^ÅDZ8ƒÁx¦pO4{cÑN¦ešÁ êÊž<à\Û/’ФÏOà�(¦XÄR0eZ¢ T�‘µñ˜$09ÎÒHvðC‡Ýò¹ôÒnò„ã|“1á¾Èé(óq›V¾hfš�4Œ¥RUªÍ÷y€è�¢U’2FÍ!òÇ™êÆ]¶�Áú¯EÒfŽ]>ç�ïê´ç´98o‹sâ/gùbSѦI˜TUS'”JchäZi0À=RÛ�ímÔb¿Lc¼@‚y°—Öb�ù|f•g�ª³z©òÚ˜UæRT3}Ú’T:)È_$Ë}Ž¢tÓs×¥Úv7�ø_)ê Èì� z-ÏAÇTë‘dÙýaQIÅÙ4ˆ•1ů½Åã’QúÜj`t ßý1â#…ŒÉݼSm¥Xcö�Ÿä‡´\»‡ªeÈèÌM˜Ð¬i©¢fÕ Œv U€±7ålfêׇ0ÓŠô: ‘8¹¶oê¬YGˆs~ ÏháͦÎy–fõi)eð„¨©­oËSÉ{þ÷Çžê~$’�ã²÷]�†0âÿU¼ý•æ©í £Š¨óÌ–§*â¨2¸gY¼/¼ÔÅã#j¾Ír4¾Uô½}4²:vøÔ}Ö¤Ð1�»n@R4†5ጻ‰øny'¦)Wô•-»,.< žG˜·Rpý?M¿ü­fjµŒ`kýVÇ“ˆ¨³¢§Ì²¨о²e§sdðäXC=¦;ûŽ>‹ð”2‰ƒZ<§“]×x¸Þ÷gÓÙ|¼ûBÐRqm=\Í–}ή˜K 4'Ã!Á³,–épHùãôgLéлJí0¢á•ZPÃýNo÷Âùw_ŸTpg½&[0Ÿ­õY5ŸŠî‚×é›p§ñåd­.]”}Þô•s|l¨9<†Û_©ôÇœêe͈mÜä#ÒêÂAϧû]Iìÿ‡rø¸Ÿ‰)³®?¤4BHãÌŸÁŠ ƒ{,jFàr¾ÛyÝ>›|€ÀÝ£¿r”w=›vŸe&Üe[ÅùôϽ™ðËOÅÍPH­£a÷Ze¹#{D®cskcÞtކ÷H 6ßNëÖü'ðtº“â¼ÓoÑuW ä<öfá|ß?ÎóJ<ÛŽg]uuŽ@gêR>ѯAóÇÕô=-�Æü¾ñ¥Òéô̰S}—̵Úû5ö³ÙP$¡Éˆy Á–Ç�ücnmÜóÊñ_üNÚ0Aõ+çü³´–bÏ*’¹¹#�ðÓÕ8å|Ù³8œQÓ`å�QÓ/‡qê™`:ÕvdQ.âç`}q`ì$VQFÓ‡ÉR³8%º’Àž`sþ9âÑi«!;hk­c…¸¶¯‡s8ª‘"Õ¤éo‘ß–35ZB µD‘ƒæ ²ò~#¢â\’ QÃLÃIÒ|ÃÜq{§ë¬xO?’ÍÔFjÀ´ Y iîÀ\«sÃLD>Ú6F‘N4S YHn äoÌúúcŸ0wL~ÐäüÓqÏæbv#ÊA7÷â¦Ðd`¨ŠW;<ŒŽG–0ÄFob7Ü|{òÃ6vÚ¤–†ïjqÛÂSâ-�Vþÿ¿ß‹Žc¶Š &FŒ‘d¦á 1N ëpÊß]†à-¥%¥…Ùá‘V [p >_­±,sw_)ò9¼7) eqP¢Ä’lv·1¶†‡Ø6”Æ¢�)ÑA�� j*m}­éîzà �0‘çÕ=�¥ 0U/B’,f@Âá¬×jN˜\Guº²Us¾pSÆ&FŒ…#—Ã?€öù§ìc�ƒH9 (÷`¬E­r~\û|púP9IvÛ¡Â à,×T´5‰ÕqîÂ<MŽÈãsšîibJeÐ-‹�#kc¶H!)'¨Y`x•˼dÝ€ÛI=¯ÊØçÆZ77 â}… @:ø>6sÛô½°šÁåsò qô@N)Òž:€]À<�Ï;{ÿLCÞ ÙDqÛ,ýÖ§š't„¸‹0úýp {ïÙ$0Çä£^/EG Ñ0°r½ï±ëñþq;ÉO€X¬…T̲0Ò�OŠ<Èö±îìvÄï¦ñƒù+ vòZ·w²�jóCPœ'År,^2x4õ¯â6Ø×oÏúwI£—{N NÆÇÈ»ö\åœqe]tæ$i.NêÄsåŒX48Ür{,¸´Å¦œmVUª*u»c¹µ”_åé‹qÆ|Ü+ìs@Rt´�*)$)¿6½É÷b¼Á¤daU’@NTÄ4ï aÌõ·Ã¿OžK\æÕbʘ�‚ °(9:ÿ@ŒoÂAÙ‘JQKiF;ÜÞüÏùÿ8—�tT5‡‘ù¬˜ôkÔH[j·C·ù8ÌæšOŽRp‡’/2•×bH÷ÿ|1ï�ÝÍ®Œ»ºŽ�kØlíé�%Û¸Â�ö¡ª bMšÇpFÖÿ½É´eÍÝ좧ÚX1@åcõ¶.FGÛþUÀâ9Qò fü ›ÜvÄ€jÉV� ØH* 0ÒÆ÷äGÈ}tÁ²JÇ)²SMNÎÌΠE¶ÿL:)¨Ó¿4žo :j-‡‘íÓùúï‡G¨Ý��‡–…Q—¤›x {··n^¸´'¡Î¶ê3eBO’«¨o»©-c°ÜƒÜ‹úY�Tî ½ÚmÜ(ére¾Æ÷òîHï‹#SfÑÇ;ZpT<¹" .’,.¤\|¿Qæ½öý±ÈœAGDÈA#Qú_ x)D-N€s ‰°>ÿL&GVR¬ênƒ›++‹yAúôÅa~ª´¯T¥c§vöÒH¿.½ð§ÊFHÜk NRt®–×ßžãò÷b¼’ú*Ζ¹R±QŽfã·qëož¾’šüTÅ-¾'õ‘k-¯ˆÜR3Vìt6�WA~ÄFǦâ/8\_y!KALw@ ËnC–ئH²Ô‰I# ÁKLºuÀîà:÷ÂZö€«‰ ÀR±Ñ³Õ¤ž ¯/—L(�rÞPÈòyÈD¬$¡Iê.?o– ÀÖä“«¯Âlû)8 i[Ì/¸;ã뮹¤]Ú’òhžTšQ u»±Ï®5©&CfÓµá°Y-úÿ8 émò Odõ$Ä·˜ #§×Ë 2ÑóŸâ}ÕÚš�� ކ"Çnž˜�Ù#+ƲIÍ)h¨užVüG{r¾ÿÏn©Êe•¥ÖÅ!”j¹Þç®ßWùàiÍ86Ÿ1qÚ‚RùŠ�*{ºwÁp2P—jÒM± <¿ð#˜í†ik Â72Ç4�¦…™–ÁP, ·ü÷8ªw@~þj»M€/ f:Qµ†…¯oO˜Å�“æ(Ý+xb{ÀC0UŒî,lø_ˆ,ìP&?t¸¨™Ø¢,‚çe¦+I-¶�ƒî«Í6ÜZÙÜ!ì?�¸Ö¢!”åuQÂÛk‘HçÛo[ÕXÌ€±õ]XFÊi¿—+貯°n|Ë Fè¸mkŽÝñ⺇Å%¤‘€°OR‘ÞQ…õ+اÙ!ʪ©iªrô‚Ÿ@$è±fljÖ|\é�Mûû¥1¢ÜmÞËëϰÏfœ9Á9.mz2ã¤T »íÌà40é¤c§Ö8´Ž=ýÔ²zio©||ºø’†šWCIbn»•Ç‘—|šª&ÙÙfêtâ6nä•%F’eÒPV}Õüá °ä[•ýø¹#ä�ÁÌe�ß²è#. žèl¾jìÃÚv²Å2SLºÂbä·Ë~.¢mkeyÃOÌ|–ô. i5k£8Ÿ'«0¾qP¦ §þ¥5:�œóµ±ôÙz#Èþnc³ÿê²u�oºåipÔLsh¨’¦ƒ3ˆÅ:²ýWe7ß¡ßôÇ…êî|rîp!å3/àU-Ÿ™Ñµ|YEL9•0Ï� Íã FÕF6OÿЍ¿¼cÛë´FfG �o×Ý ™­àåBGO–q%Q÷šZª–¾–•Ú1qÈæ4m·òésÿóøÂtv#D=-hté]w•ʾÏkó>ö½žWç1ÓåRUKH¢þ¾vn¶¸ôôÆ/MÕ¿GÔËcàëºËc{[5ä.ˆÏòÊh3Þ&®Ë³Ë*òššy#o édž¦'hÂíhÏâ±än:âÿ\†'êd§m#Í�ôµú|ŽlgxÀZ£‹›*ͪsŽÎà§\¯<È’¿$p,ÅsÈÑÌ*’ýµŒöÈ+|ÿýo wSã½®¡ÈóúŠš,³…ꤩ’�5¢|»!Î+!()êÊS%¤°üHa„ÒàŽvÆ+AŒ±Ãÿ¬šõ£ÿ*óct�Ö¿Íl>ö‹'¿q~l(hsYê³,Ц Šÿk/Ý$R¬Ü˜Ù§°;›¾=‹©Ów>ŽÃU^½ý-aM¡px{I$úð¶ŸÓ>m˜qL4Ôôü=ìÖ·(‚Žª¢/05Q�1Hà ‹È±yÿµ�¾ÇË©†jbdñ³ÃnÚ'׿©iµN§ÆpÚíê‹ÈsÜ‹+ÉNY˜dyþS“ÒPRPq,ñm—È¥ÚŠ±$qsxäxÉ!‘Õb&ã–KÔ¿J~”sÅ–ö ú¯C.­²hëßÓÑiOigüG�åõ9T™.yCœPf³å4ÂÐK8_ +é›*TC2ÈTlJ»a“×d•ŽÇnìÿüCµû©s àþËþ¥ö�ÇÉ펣8¦âÉeáÎ#Ë*òÑ`TÖTG’0Žmxå…Åÿ¸Z÷¾$ÚÉ'�f©Øíëÿ¥¯Ó Ì ‘ù}—A[Q_ÄtÙ·çù‡Ýë³j6ŽŸXm$J…¾×C¨ÚÚ˜0;›b”Z¨œ~«cVÇ»hàÿ¥bɸ®+pÞE˜M÷(òû,“Ç`ÓE{£Æm¸?–×å�W #ÉϺùgRÑ»sF}ûɸ‚¬âÉ2þJÈ“ï4+àÞi ™D©)ê�Án—=ï€�3w9÷^jRðÀ+ê­ÿ{nâFÏ8s/¬™Œô3HŽK¼xÚ^k�𷉘ÖÇU†a$*�6#úmP³�uú ák?–Ù| Ϊ[�=¶qÎAXúaÿr–Dfmô3 ì7ü±ú¬iŸÐ5ñäÒ÷¿üZþ�ÖÛ©® VþºÖQS˜¥YU�Õ”ò¾>¨éÎÉŠö_Ô…>1k lÑ›ÌY…dH±Th–-VP»ŸççŒÝN�§ÿ­}WIñxx§; Ù3Û[Á6#˨óÞû\QgLþçŒ-sñ0ÉBOŸTS‚5#K¶äþîü±bœÒ|…VÔ|TÐß2Ž«â©–5eœ•ÙlÆßCž:>—n+[ñ0#¢Š¬Ïè3^�1Ž9éJêö#óÆŽ›E$¶²ñg]¤×4éhsJçž5ö9À¡’¯,šL¦¤ùˆÕåô÷ßl}?¢ük¯Ž£‘»€î¿(ügüéšÉ ºGxgéJƒÃ^̠ȳêjª*Ç«¨[øfÀi<¿œz½_Ä’j¡,"—ÌúoðÇMÐõCY,»‹r8ì»ãÙ•%' $uÕ¢3_)´ M™ß¦ŸÏõÇ‚Öh‹²_ þ3æêÓ% �†9[K>âɸ«7ÊxJ»0¬¯£rHhSPw¿áÚú­Ë�¾xóz­ÌŒÍ@pîÂüôÍ Œ:H†ÑêWVû$àŽ È£¢ƒŠ8Z¨ÖÓÃ$´ßyþ©fÕdg‹û@n`úãÉ>MD¯2w첤”þ+[ž†¯ÚOµÞƒÙ¿³ñO@€IS^€0¥ ÏYä^ײooKcÕ|9ðàÜf®}x^ãá߄̯k§Pº~¶·ÙŸÙ+�&xV�óöþ¥M\À4µ2éÜ�¾@rÇÒ´=)±ñ[�ï ìÑ/¥Ž¬5¡|uöùö‹âOk™Åd¢ªzlžä,Jtë÷ŽƒÓŽŸs­î²>Ëæýâ³01é¬7×ý.Užw`ÂM`õ±æ{o‡‹ºà/ç < $wb PI± ^Ý¿\t‘Šòœ."�™Fê^WÔys·©åˆð[TRK�ùù(é­! Øô$g =¹NÞã*¹˜ÃVW�uòï¿¿¶9¶@V#®U2‚Ä>« »-º|q`á´ý‘ÛOepà>4©Ék’šWÓM®À7ëŒÍd;sT±Ûv‚»?*Z\û,JÈ&@ÅIoÄ>¿liô‰ÃÚXAeKšppª5i÷i„E:¶-ùm†N\ÇS†ˆÚ,ò…Š{­Ë:¯kvë„6awþ9ÅÆš¤â¨°}R�År:7Ãå‚'hóRCŠ´äò ÈU,\£ñzb×-Üü’7“~Ÿ¿ÞÔKãWqß݈ òÙ»J ¸¢üIPìIß®¯�ÇÇîmj3Nýµ<%ÓúÄêÚÿÛé¿LQ`óÙ,7'„4ÔÖéeå·SÏô¶çKGÝC‹Þ,ÚŠ¼Ò"–#Hòö'•ýý0ØÉ½R\Aò€ýýÑ‘¥€Sf'm:º_Ÿí醺6¶Œû§�q]‘&‘•A R/¿nÿ¶C·~R¥�¤ùE9EÔGó­ô�,Cioúàßh·øBvÛ…|��“ XI~âü·åËŽG¾ÃN݃DçóQòR²–§ž5Ó§fksæ0~ä} èTdk©Ý\‹u±ô·¿ÞÂ`Ò³Õ–ÿ´ÝV^K-€¾›níñ8æã¿d¶î')º|¶ŠhLU5,¤Í�nv=ºûí„=αœû&xŽw�Š÷Qµ¦]/*K%¬@ˆmŽ|&ó›Qe¸¼û&¤¢Ž4¥õGÉìIìÀûºáÛè–‘_%Î �ÀýU9Ê&v7ñ ux€ì§˜¿å¾”ï(ÈLgiîµÍ=—F ûŽ–SéqƤ5��UNGšÜ ž¥ËÃh �Êֵǻ¯\RséÖUoæ�&²§©©cˆèÒ#��ÀØïß犛‹�ªKßå«ú,,»j`-µÆøe,á àÓ’¡R¬Ì5X¸åsËÜœ”N ôRѶ”Mîomºm…™A-P\B-�½ÙUˆó\žç t–l”b&œ�šxÀ±%•?k½±Þ#œhMh9 PuMOµ†®X¸"óU¢�€’4ÊÇÄ»°bvÔqeÍ*XÐÌžT{\7�¬°ßã‘}“Úüû¨é#o#_’�Hë¿SÓ‘üý0È�jWZ AbœÐ-£Ër~¶ÃK‡-@çÿhÂ$F4¤‘a¹»üqVY|Ö9(#p9(i#è·$Ô�¿žxs%ïÝ1³ ¡Ê Ó—bî$úm×óÃLư9VÞàii€×Ê×½ŠŸÌ|°öË\¢�áÂÎ|¹z»…häQÿ+mßäFØtRÿu§x¤ ¼¡NVúOôΫØ]>c·Ç=›F&mß²j$[_FÂÀžöíî¶ ÏÍÙMn¡·J¯_ Fò6’äË¿+mðÅÍ;É4V€¢SêÓR®…€µù_ÝóÆ”N¥z1|() V`Ö’Ö܇ùÅÖ¼•gurP²R�)¸6 ^Øs&ìQø¸õByVËk©'òlZ ðîyC=:é,n Ü�¯oA†#ñHÂX/{ó7¦ :ŠvëBµ3²¥•JŽš·ç¾'vQø˜¤m4(K)êHÜmúâãV�}UŠ `,Ø€FÝ1Mòú*ÏpáY ¥{*2ù¹Ó—?v(x§žUid=”ºSl«§UÆÖ?¦âÚ¨\઒‚”o �ÙAí³tøõü±\¿%§+žà)Ô¤á�ê kìyzá‡ä–×l;C&çñ'p#¨PÂCÜÒ(«%%5¿;ž¤mÞß/Ïß)(±”dtŒÌí{rç×3ª=ûrJ±ÑS+8ºy½6çµñYÏòª½ÀºˆÂ˜Z`w.SNÛ�±åbqΓiÀEM#ÊQkJ5  p{Ø7ºH�æGAMoí•Q# þ{aBa�¡Cœßí‘Z`ÀX¶ØŽxS¦ð½­ÍåT‚ê¡H&ûµìN(K#nÒü]Ø9 G,¥¼ªºHísmý1N&7Ǻ\²Ð¶ž礽‰†Ûc§ó¶-4´à[}-JÃF¤ QØîí�‘ÏcI.NiÜAv–JXƒ†6öåÛáÏŽÛ8UÞ@q#º)i‚wÕÈØ_·|'ÝÈÈÇ¢ô´; !Q-q¾ö¿;a;w’Xxú¨t›Nê|ÓqSª° ¡S©tøòï‚Óù†E|×M+[ïûõSÐÒ£lUÔ3_H¾ãòÁ˨¶ÊqIl-¿1ç·ü«_pNqÅU�ÑäôVNÇM‘M¬}q—ª×1€ï4PÏ;cÀ+êÿÙ¯ý=sLÙ2üûŒrö¬É­ÇÂøÎl3jšé‰¦/3©t“» ë·}™¸[€é©ÃeTÆB6²€>[ñv¹º(åQï�ƒ8>ëvÑpf_@!¤Fa¹°Ç s,ι^Z]a{½–äʲEË*èÙ)£K‘pâÚG3úaïш�µ¼û­·5áÅoøž:œŒfp}ÞhÍÓBŸÀ<_“§HøÌ‹x¥²øÃÀp¥Ï´Ùræ5‹]4�*’×Õ·Ï}§y„ƒ9î±uònvËÀV òqftÏI!Š:"'¨ÄcG_ªlos%m Àÿ)¬aªZ×*Ì¡áOj™>kWãO�ÖD$eµm¹6ÆCØ"�²Úh­½8hnã•Ö¹ÅY�i³µ�˜1§Ô÷ðÇO�Lzùõ…íþa™¾-dêã©õ\Õ˜ÑÔœ÷3†y„°V¬tn oNäßĨsé|yM3ç—Téd¢N9À÷M`Eá“nLæÍm>m],2C/�œu+gŒ&¢£kn­éÏ΢ö\q5Ž{váVf—Íâõ#ÁÂô”TÕù™ÑuE`4ÌñðÅ´gQ¬|¥¼ÖAÿŒs©¹ŒkYyVZ†Ï¸—>Ès:|Ó/‚D”-ª ÉF’BŒz^Ve¿_®.uIã›Vbx¶¸Uÿvªµá9¬ºï²Õ1Š> á:xÓ‰r7£û´í £.��%>;é&/Ëro�=.¢8CDwbÓÈù"n™þ^ꟘpfyY�äÙ|¨ÒR-YöY,gS£M0Ï"�ø R@ß…ÚøÌÕifkh›kó@Y TbKÛÂÖ3&g›VÖðþm=/ñÒñNYSL|&о0Vjx ØIÞœúmc³bÔJØ‹�¶?Åd{*=Bo»"²+…±¸:ÏO ÐÑÕÍSÅM=K5u5DfòAã„!†Þ@Jþ]q·Òd˜Ç±¾j姸^K\üHÏp¶¬¼ –ñUnwå_e§,H!¦ÌÈi)e��èÌÛ¶!£vü7‹cÕÿÚôz¹|Î1 áÜ_ 7€RâÕ�ŤÚç8álÓ(ÏŸˆhj«ò'Õ“dÙ±ªÕ­dCTtuJ¤«Ó´¬¶`7écq�Ö´ÑÀ+nø®²|Í>Çÿí:<¾0.m_Cÿ+Ef¼˜UœÓŠøg+‡!¥¥¤s]”Të™¡Í üt½Ìa…úù]Ac·Iâƒ#ÆÂÞiké¤|ryÛ‚´¶A—å©�dÜE[’ÒSæ5kO™SÀЦ£)¨GxÖks1­DFüõGkùv§£ÒxÒxv Wõz™@¶ a\ð¹ž[UÅ-U“ä5–f µ*Åã¿�ry›ÿÈ¥Ï;ãщ|Û5ãuúJqy8¥¼²ÿiñquNišÇOþÙ%41Õ!²ÊÍ‘±Ø²²Øÿü­‹îÐ�‡‹^FX@vlß¶?%Ôf¯…³û'È’ž¢§$â<˜AL‹7þI„çHû˜SpéŒ)§p©OÊ©WÓÀZâÁ^¹µ§gL¿‡h8~®l÷1ª9M5m.eORm;¼l«,-mÖË&µëý;cQ£© vÑ»¾ËÝèµR=—&A…5Ź�³êŽ"§Ï)*�—$2xz×2¸°’ܵy ç€Ö´˜Zç ß -m<Ît-ZüÖ¶âþ1âìƒ'¢bÔ™¥X€MK˜¢”²:ù£�_ñ);÷Ûø{MÙ¿ò‹X߀8Uvõ\¿ík�†¸~ƒ5¬ËéáuÕM5M5BÇ;Jß…Õ›¨Þã|z�£Jcä{…·ÐtÎsCÁ¥ó£ÛwÚ‚Û.¤Éé2”¥âø‹2ÌHU$³Õ�Àî>ú7¿ ê¤Ø ì£=8îÝwkæìù¡â®!«ÿaJì¾–f»–Ö$~6÷úúcì@4ñÍXôZ§o…°rº¬Ó' ¥jŠVZW:ˆvVÒtú ñ•¨Jûo+Y¤l‡pÂê?e>Ó*E;ä­]Ç%Øim>kr8ñ]k§IÄ�Í-¯‡5®�ÁŽ\WöÄàúú¾#¢âìª&Vª‰¢¨k^W#¾>Ãü=ë-’åÜp=W´ÖJàû²´—³~7®3ÿ³×Ï=5d'@%¯«Þ>XµñOÃ{ÿ¬Ákô_ð{ø¿ü“†�\¦x'²ÞÌs¶¨Š¸;Í_+!ÚÖ=½qóá�žR(¯Û}'â(&!ðœ²�’¶ºœ;•—]ìåî#‰�á]ÕuÙ+sM &Ïj|>ëkKbÙé­i¢¼þ§â\2à£+³wxÙuØ�ÓûoÓ´Ý4dabÏñšÏ1µ™�Dìѳy‹�ïn£ë¾.7§´;…�'ÄoÛm4>j¿šæTjÒævë£ñ3uöÆÞ‹@\h5|ãâ?Ž£Ò·tò}Ç€å“1œTŠ©i˜©×3Øi½õ¤Ûp=Ø×ÕDØK²}—äï�?‰²jî8ÜZßnJÜUr7×Qe¹MI°¡$ê=[rüùãÍM«sX_'Û·Õ|5ÏØÓ!<®ÇàLŠŸÙÍ&W™Ôø<;žÁ$õvi'b¶°Q²�ö=>ùæµ®Ô½Ív[v Íê5~$›bó�@·—Sq§µ#|»"ͧCfdˆ4eµâ'ñ“­‰n—¸×ÒtÀmgüû¯ üð�ˆÓ>¥»Gk]íKíOØÏÙ¿ÙýfYF�eï fE]¼iå"åœó$›ïÖø÷šA´ˆÈ·/¥K¤Gâà0/‰ÞÚý»ñ¶$©Ís ç‡*2OM¬Ù÷¹ç×òǤtw‡Œ¯˜uî»üÃö±ÔÕ ¦�Q�ƒyÈéÔÌâ¼e£ZòÌóϲŒ¨”¶¦VÜ­~W8™ì_úM1†¶ŠÄiEB]×a~_\°@ ©† 0‹æÖ6ÜîqÞk©ßð’Ö¸à,;¢¸oÄü¹Û·»×‘àU#amØPUqøò9>&�€¸>¿ž!Ãzh’�—*1§‰ÙP u¶ÄîFý0øœ=2�p&Ç …™ÒÉ ž,!ÖAÏHýpÉ22˜ n‡u¸½”{FªËjaËëæ+·ä÷¶1^ÇÂðæÝ$º,€TæQæTî”;\½ïÜþxß�Þ;lvY> i4©�LEõ[‹iµð™´ØÚ{+PCN‚EÒKíÚû›ál‰Äç„[Ë0�WW@�"á€#é…m%Ä4ù³îŽ ³@�e7;[¾,‹sãÕU‘ý”Pue‘Hb¸¸åŠûƒð@HuóR4Æþt>a»Æß­°P¸8ÕRkAä”džÀ<‹�í¨�É÷vÀ†šotNž‡ª Á‡ú‘��ØÃëß p×YáCZÓæM0#Q¸3-‰[é7ïëËÍ�“h#˜¿½Rz ĆU”3)ç§¡ÂuŒ•ÙKbiÉ9H©¦×khFаëß×cùàö‚êê׌‘g²‚<‹³¥üרŸ¯®X¯%5Û{#—ç&¤O¼�©ðµì@ã ܨ²á´P 4S/‘VÄØ�êoËó˜y7ûû¥:B ׿™[!+0I<¤W;õüñYì7d!d›G˜Õ¯MA¡Z3$‚ãZÓ¸›aÚñQ�¯º†¼Œ’IP³Q4lB-Ü^ÎÝ0ßî²{£{$d}“Š)£’S¼ �Iê1€kMí"‚–�Eš´<ô;4¾$mº“ÓÐŽx0ðÖ‡ªdmôZr–ˆn[ÿÄì@¿=¹cÈ8’w4¬‰f>ajbUef¸sm€µïÛ >'s÷K{Ú¸R# úŠÞ÷òøß!£´Š\H¼¬øQÚ;’¦×¹·3úâ6–ÝX4²ï¢îáÕm­G&6ßè 6MŒ#cZ{§£XÚËåmɵ¶ÞðA¦Œ •€žQÂ!�9Üíóß¾ ¤‚lþJ| `!¦$ƒäg�÷<±£i6Ü(w 4M$Gð¸¯Ã¦%§*Ë^9P’Ó²H$EKv½O»|2 V¥ÔN桞”8 ufl=×Á5Õø…«TÖ�§%GÍGå7A<ùŽ×ïÿxn Ñ¢˜ÉëÌíB6*Ný…‡OÈHÜ@Ú&ÍY)Ö�T «v¹;Ÿó„4÷<'9ö+1Ƥ"�°ßßõ½ðo ­ÆÒ7ù»„Ü�éV.ÆöåéùcŒ¾Š\hÝ ÔîÂÖÔüÆ¡¶Ø³Í7h�9äðšÿo%Iav¿¯¦ø�ÖyÂhœÐ¼&&†$�T!l|¼€?>˜dmƒ•n0x9U,Ò©#W!UÜ€¿¿oOž4¢9Wãer¨U’5LÌCº‚÷"Û_ѵ£%h1ÕÂÓê9W=noÆþûa¦@Ü.d÷øS E¬j²¯K�Áøa¢Ei²šÊZ@5`rÚãâ~'#“º&È.�-HªG Ä•ß�ëÛ z§‰½Ð©Id „‹Ûd)ïT‰(‰FÒ Õ½¯ë½½Ý±"Nëšì!’Þ&Ìæöç¿,˜žè·¢à£ßR«l76±ßÓùwasœ{•`¡¢µ…¼§e6¿Ä�®˜¥#¼Ô©K(jµSQ±[³Þþ½?‘ðÿÁ'[䉠D8$œ«2ôùæ‡ÆèªÞÖxO Èør†¢ª*†Í#[αŸ0Sî: ƒlÅ�¦ôÞžØÚ*kãº-LAµ¸ù½£Éòù«=¢ÖS<´ù«Ã4PVF�už6¦�ÃbyƒøoÚÇ<èÚ7;ª·Çàvú.ÕêH�Ã¥‰žzüÉ[1§¡\Ç.�¡H|=ë–WXôoÅ}½qWUz³ØÐZqî­ôØ¿§oácÙõ<?ñ WÌÕ”¹œyÆg”+¨ÉQšfU=À]kë¾7>�ÃÔ¸j¸uÐí¹"fƒ%ŠÂ¨pÞiÅ´~ÓóœÆZ¯÷¼·'–jŠtMÃM '†Öü^›Úçjuõ3vö·ûHÍ{+½RB"c�ø…$g´9._Çï¥Gݦš‹=Ž8‡ôUü:íq5öÅ-€êÍng¾$l'PÝTxÜ1]«Õjé,CçÈ9Ê—L—9àÌ¿…$©Š³7ád§Éçf;¾O]sF?¼$»_§ˆzc_[еZm;.�Ì8>ÝÕhu‘ÈNk+—½¤ðÝ.]Ä™bgÜAE™ðfo™O_”æK €åuÈcôuIŠJ‡¡-½¶ò÷2ùC÷±üŠª+b�+àŽ�د¶ÚN9ÿñ5vI>j¢®Z4E×jz—"JrÍøÂÅn. âšÏj™²qG³Ê �sLÊš:<ÂŽh„LÕ )‰f$ÅgPÇ®�Ûã5ó9ÎÈxÀ>«Ñé¡t$–T¥â4ÎÎEÀ™†O qVTµYDæj`É+šH¼6ås [bÓ ™¯ˆx/ðVÇò¢BÙc6~qÇ< žåõ\9ž½&E”6\‘æòŤÇ0,T~‡˜=´Ž˜Þ‚´ h$6 G�¸ù—Â/¶‡ÐdWK“ ×*§¬`+ iÈ7[E{¶ÆØû7À½?ù© –Áßå}/¤h¹ÎäpÍÚþ1âŽ;�.iQGXõÚÎ�ê�ÚöØü1õ¦t�6”nŒU-—ÂÈÿÊèÎà.¤«Èrù$ÍksŠ?DH‹K ²« Ü�ɹíë�!Õ:¾©à–°??’¡3ž­©›ða™ðæcÄñÑåðåÑJ"ZxdÇGã&ÿ„Ünׯ~Ÿ¯27øoJÌŽ`×BÑiUEnqrÅ¡C²evï¶=5Í »î›<� 5¢½)l ¸«#ÏrƒGÅyß²æ@K�ÙAíüâ4úéŸâiÝGÑkôî³Gd™\»Ç¾ÉrˆYóžΩ倱þ‹¸Ö‹Ø½vÇÒz']ñ›áêNü–û\]Njçú./âÌ%¦ÿt®TBCA+Ó�¿,jë>Óê[¹Í¾¥ð�ñ[ªô¯#¹ž…]SÛ�ðÔf‘#)Ù˜ ·å¾<´ÿ8Ÿé/¼ô�ú‡Ñ½¿ü˜ËIôO7¶®Ÿ.6úy‹Ž<$üª•«7ñÏ£Öæî?ETÌ=³åL޹nFÎÜ€bO§Ç¦4´ÿ<‘Áxþ±ütÓ8ñc'çATë¸ÿгpôÔð®W/ö \[½±¹§øO\l¯˜õŸâ·PÕåo²²pG Õf• ˜æÍ>Í!-¬û½7Àu=s"nØû¯‘õ®»$™.²º ,wy$ u ‰æ«· :ú Î<”Ó,ð¼Ã‰­î]Á”ÍÁñVæPªÕ·�gŒ¤“Mq²�ÿÛ‡S�-«aÔ¼ìv=8 ‹´ÃS `®ÎöY쓉=¦ëÎxÃ4Ìrn”\A=üj±}¿º)·]Ïl�MD2!GÕ{î‡ðTpŸTÐ]Ø{{ú•¿8ßÚÇ{à¡“ðô”,#L4ð�­Û—1¹=}q½Œ9þOÄW³Öka�§x 8_)= ûOÏ}¢fÕ9–eU0�Q ½AEþ]yãÔhúx`ÜE»Õ|“­u©5VÑåg¢×{*Vä�ü¾–Å·°8î a ÃV~øJêXŽæÅî7Å:h&’ÚÊ”Óãb$ ïÎß?× kÔ –bÒšÃÉ`÷?Ûm½ø-­aC�- 2›yK`�v±nØ ¸—R²(!ô’v$ŒÚyN8v8L3¬·DUÖžw°8ˆÜoº[Þ{šQµ1ƒÉ 7æ·ïÛþña®Ú,d§FEyB€«§GM%4�6ûާ só^¨˜áwJ¡:==KTÆJ�Ý€¸ô–:h±·”Ù"Ün²º�Ù?´S<)�æ’ÆÀ‹!-`H·ÏPÊí< ŸÂ~«.}1`;3kiçTJoQFuÂ@óO_LzG‚È50X~ ^˜ò„AVFr0Ê xvmo2߯» Œ;ue-¯nê)+¹1EâÛO yž�pù_ø „ê9`I�•'F–1"ZÌEØõ¨øâ¼2;~â->°m¿·ûEÌðË&ºH@æt‘È}rÃ䙇ÊÒãºëe‚šò¡\G{{Øúw`%4,å(2‡—ì’b!õ2¤m¤�Iæzr8še`Õ£kˆï÷CJ‚P¬É½÷aÍ}ãã…Äf�?4/§�Õ„êSG6¨ƒ.µ7Úû›våðÅj,�oá ,]Çﲎ–•’@ìC2îl·Û+îp†7÷ p°‹qÍá·™9wµ°mahá(’çã…YJ8SÈ)Nx&•’š”ÆŠÄXÛa§a¶ØLψÒ\®ssÝKÇ(ˆkü'Ôó犧TááVsÉQpQ†sª-*/~Z—�ú÷âŒò�NR¤%¢©Zh©”^þ! Ì¿_]ýØ® ¢WÌÑß*JrØ…]­asò>˜±ã‚6~ˆ¡`#–”ª(P ë·AÓâЫ³ò\Çk€ŠŽ�ÊŠ÷Û‘ߦòy)/œ9ÔM×Ñ U ª¤0oëÈýuÅYÉ#( ÁÃSRS�e‚Þà‹tøõÅ #s†Ò4©%ÛÿØÞ]ÆcÒ†E;‹ØßóÂX9 …Vi®€à«t(Å W&ç·M¹âö�Âù´S<´ R°Â [ ¿ö‚vnØcœÖÝœöÂá.óLíûåOAHHUЋ«‘±$ü>¶ÀKa£4�‘ áMÁGab¤±±;ýsÃ$�nk\-DbšHÉKû‹Ï H£g'`½O»$kAÜkæ¢Gwа»ìùöPÏý¤f”uÙ}D9k0:9ƒ½íõÓ/¬üJÆÜqóê¯^r¿Fÿf?±Wðm- m^W jмÐ\íúã/¢ô‰uÒÙà¬'ùœ;®àâŒîƒ„2ÕË2ÈQX(EUè1ìþ#ë0t}(‰”d®êub!±¨ïgY"f™t¹£:Í4ò ]HøÓƒç&gþ"{%2Ydò‘�e�.s,ÌT0Qsý¸ÂÔDøž\ÆÐµ‘É(¥Ë+gÌ£I ¨¢H™\_K+\0éËl}>ák_©%¤Žý/J”܇�t7湟³üÆogm™Ä¹aŠ:ªP|Á¢•I6ìAÅn¹Ô59ÃE¤”¤÷€Î~ŠßÄE\ñ xŽzgŠXü8¼Cs¡® •þãca~øó[F]›\ào‹ýWŸ`”ʃ•Ïœ/”Í’{C⚪I*’ª Qi�@j˜‚èW'¡ úœy_„Üí>²G0œã${…¡Õã!¬laLUÔ@8º‘cûýl4)-zV„6¨ˆ¹_þ.Öüûbœ…³kvµÅÛlÝgä¬jÜýëî-јÚöw¹‡Žòͳ¾ϸ{/‡.§Ìa&…)¢o½d¹ªCÔÓÉÜÅ,š% ¸%ØŽXµ%:!&ÕSë:IA»ã ióü¥xo8©ñ²èk´FùŒPxgÆ)g¥$ض–@Ë~©ïÓéÑÊ#ñyÎO¢ùž·KN1?æ±[Ä9¶{�UqM›åïCI%$ðVȱ%RBºRB¬ ëd`€þ"çc‚žY&Ô‡9Ôæñxû•«£Ó�»Á;H¥¨=£CO ¬âNÍ"á)i²CG,P“4)PÆ#r#¢–,·Ë{ZÂØÌê’2Y06‘Ízÿ¯’õ=? sAý®Nã\Þ¶†³‰kón�*É2„Ëé^8cG†I–­Z9buþÍE�·ö±]V¿•š79ÔÇ}—Ð4:{„´zwì®\IÄ<3Ošä™§æÖpÀ¢©‰¾©„…\2Ü Ï‡Q87äÁO»o§JÐñæöì¼_XÐIá‘Ûæª¹~]–å9•|^Mp©‚áJ2ºMjvæ†ÆÝEí�T`�³ÊÎ^A6ºÈ[W Êrìû1¥â>ª\Òåbž©ª�ã‘.ÊÈãûœ ;ž—Ž`Ü\ZïÓ…Ùmúr„\ã=¯¢§â>ÈIƼ8†*¨ ˆªÖÆ¡‘ìþe/¸ß¶0µºv’)Çb½N×Qk¿´ò ^2ß ÐqZôÉÄy…`ªÌ`’Pßv�@ž–HÛ˜$#(ìN“×ÛœvUÜú{/VøÃ\Ë{vûªµ/k(”D} ä°pög zŠ …� :÷pTjÕ`}1í:>‡PZÝžk?TphCäÚÓwͯÍ�·¼â¯:â*¨W+޳+©’Y㨀è¼a¬§@üæ@ßž?Iü%¦ðáΧBú~Š1M xi2š ²�'žª®TFY¬ôrƒ²·],Hm†õ d�» |&jš0y]Ñ—Wq~GAQÄkE�=~QO—e̶JŠ?>ä7áˆ�÷Ò:�œÃ,oy‰�&¹ôû¬=V‡†»¾Š?Ú‡ g9w ÑfuIWMKU$>Qδí2èfyjúF²ãq{ñoA¨3ID êþÉ)Z_µŽÈöZÒš‚‚Ž8 ‚_LÑæÓ¨ ÞçÔlM‰ë|h2Ye%­ÅqX(õ°7“•¡ý§Ô®GYSþÚÕ”ê%hï4ZD‘‚9¯+�øÇ¯ézW9�®G¢Óx�óÑ �%=yE T`,L@V±VRñ}…ñ;”¸õ2FâÖž>ËXçþÎé3j¹ª¦–¥¥6 F÷ÚÖô÷cÐéºóÚ(-ÈzÑ pµFkìËîó•�ÈAm˜Ûkö¾7týt¼ehEÕA÷QËÀ¥ y½ÚÖ7 ÖÿXR YÂ?û˜ìp¬”œ >ì–¤Ô׈°ßÛž(¿ªAKv¾ÉÏ ×MÃÔÔ+iD Ø�¬z\R~»vmRvµÎ8ý§)×JY2Ùµ¢j-è:|qOQ&ñ|”²Ë6rº'ÙgxCŽÐTÎoBô3ã%ã?ñÙmkþŸ±¬èZ3ÊTO-%¶‡�µè±ØØè×?@|° "¶÷B,›ÿ Fšë)ˆ-–ö¾Þ˜™$pÀÆà_åS@›jTóݘ‚Û�õ¾$¶77<ú)s¹ÚtÕ^I[ˆI&×ü8‡;ËÈýv4 œŸšr�üâg]r-cø‡Ã×àá¼z&8œ†.Ì|DC±ì0½ä�ÜÕ ¼Ý¸%ˆÔVM*|æÃôùb|Pãè~HöXÜÞ�2´ŠæOé…°½†¡ÏÍߟåˆ26ö‘ea#yÀ^�db¤ƒ½�8c£›K&Í»ý$DņFV;3^Àú÷Ã\Æ»èšéfÒ2Që°#D�äÎñ4AÇè–Š4²m©<6º†Il5o¿¿Ý�òµ”3éÝDî ñHybWhÊ¡FÞþþà÷ÿ8[åóòR\Ð@pî£k)$Ž"ê»Ë{ wü°€âAVdÜв‡qX1Füû—nGüàCHrIác”%DR¢ò­ìÀtöÛ¶0ÜÝÍÏËŸÕ.¹¹î£îº��…À7¹{¯ºã–Ã�Ä(†ºï+WÃI   =‡MÍϩǎsÑ$�Éb�ÈÇêˆX‰_ *×¹÷u?ç< ,´ªÒ`zvî²°øl%U ‡ó|9̿ł=Ñ=à¸mJž0Š€ûØrõ dvRß)q¢�}—Ã*é7݇ëˆ�¤;”Ö4ò™‡k…õnŸ†�çñœ'FEPN+0 ‘ÙFä�yŽŸ¦à8[5Ûˆ ¤V_-…ïè=ÿ—Ï d”ê5žÔˆ±¤dp¤ÐW!•¶ëÐþ¸‡UR$¯º°+e{ò¸7õË×[+çòCîòƒIŸ­ÉklOåéÛý9wáDÉÀÔ|”évk™ù¹ÚÞìtaÌÇdQ¹®ä¨·§Ôå¬ ÷ço£‹!áØ +‹¶›(�ûh¹6<ïnWù`Ÿ°¶ÀVb�ŽLt†@l5¸å~Cå‰ kZ¤É»6¥"¥1+øì…ÍÏëþ1>5·ü¡k /<(¼Âµ @á´Øy o˾ëB(lÙZÇ5Îd�Ùi�ô×ÊÄlNÿ®6ôšzäaiBÌó®øHÌÀëŽã·Ç÷Åæ<Žþ,'M"Ÿ *…ßo5ïÛ¸^Q°V<KÆÁ”�þcôqÅÕ…ÆGé¯7K\¬H¿§åˆ°{®ÞäÂÓ±e Ô, ùw탺À)횆VŠÂæ5Qb/Ó¿±)Aàå2ô€òÛqÈséùá¢@;&‰�V›—-ÔL® ¨kÛ·¦ ²¸ÐñI+I(JÛcã'#Ùš¿ÿí:”˜Ãsi ûá?Íê»P5¬Ò‘§Ê$†›€y¤÷ÂeÔ^D¹ ¥bË–&o+¥�¶üûüñ]ò7!|…Ç…•¥‘Ø¡PT›)^‚ÿ_–m-±Ê^çÕ…%OBÇIq{ÚÀ›}|q>#@€ïüÔ¥5 žÛ”îE»sÂû÷Pé6Ù줡¥ÿ` Í®-ôq$ŠHز¦ ‚Þ[Xnm~ãĹ#”ÉºŠ’Š˜ØéK�~ø¾*Lý§8U‹…_u1IF‡f[9¦Æý;ûýØ¡â9ƆUY5¬•jJ[™†Nû_žøkesqJ”¯`©i¬À;(ßr�±;š]@Ò�ûˆ±õE}Ø39»m¿¸à÷Ñ®þ¨Äàþ�DX¦ (@G2»éoùã¼fU„‡Ýò)Ôí¤)Qµ¿ ͇ó¾3åÔÐȯÕq�»·]þˆ)i»»(@ó/çÿ~¸ÍÔ¸€<5Ï`w¢”¡„]$ÒÁï{ždúÿŒ�û�wTdqa«Ê²Ó#é ,l/}½>»cN1ÂÜ)0Jç ¬�Ud¢‡p�f éç˦ø ZK¹í… ÕYUš p‹d�·¿!Û߀ì«j—º2 yVZ7‘ÀEñ�AÏâ‚ ¸ú«µ¬ìüû}—m}›þÌÙ¿æÙvc[—J2ý`¢•6'¾øñüDAðâÐsìέrÌ£-6�e5k1ßO¨ÛåŒO�¾3›Q+tz_Ãyùî©Ôä,,`«Ÿ½¡=BÕä9Œ¿x¥‚ 9`5jwÔ³^&Uÿ�®„cÁ>xä%³‹k2 ý£› kðÖc˜ñO ¾G™Êa¬¨ ÕÏ‹(z�ZE½øÎéRn„Å( ë£Î}•�3w»Ìr©¹V}-g¶®Íi*rüÒH+©*écKºI�€ïbϸ팾‡Ô¤P™†×EVVÿS |@–ðr ¦ãJþ¬à<Ö* Z±˜Ï(~ÆHêÁ»©ÙC+mÿãn˜L:·é5 Öm9Õÿ±Ù#Y¥ñà Å…Ðùí$™m]4BEá*¦£šxà³$2„uk„Ù.=>‡ñN¼ø@Æßè¸Y¬Ñ ?§vÆ;ZÑ|A‘ÕÃÅ‘üë5c\ÐÒEYàŸuò’`¶ðmzý_tmhxϺãïgœ=M\&yLB¢’6š¸y`¨Ú‘Æàr<±ô¥­{Z×·ð»·uêfxsµhËòLÖZ¢› —7â|òUš¥é¼&0BÂáš.bE76#ßÓä‘„—8ÍQ|Ť¶C…uÎx'Úd8jŸ3œUeª´tf¨HJª£AØ­÷½×ŵðG»nöÿ “]á›omNâ,»ƒ²‰ö™uUkWCJ%SzWÎß]ɺã|.—Åú÷Ue‘�$.@ûNq2æù½[SCOKá*90K¨FÛy_­ÆÜúœ{ß„ô®c|Rnû-n—k3’µu Ïà­-8šžž@<Ë{6û_—Ï’ùœ\yôU§vKˆú!+ªó®¦zÊQPö°ðZá¹ôç{`â„9¤°ÑH‡N×óܢªFiÙ‘�ÁY]GbqcÀ�µoÂpcQ5E\ÓTÎÇvg»Ì\ýsÆüPÆÁM¼´Ò:Sn6TqŸkh±¾Ä/!ËêøsñšUƒ@±y+Rñ Wr6¸'r-Ë[†JY/j(TêRl¡-ºòý0€Üí¼)™à³)QÍ`9f¸°½¶÷tÁ< [€-ÈEË�cýNW'×ë—|V’6 ­@’CN¤e6^ëË¡øíÏáqŒš´’ujk1kïs±¶ Þa´P(æiÊP}‰$*žv¾‘E&<›³¡HÓønmÓ©ÁDíÜ#cšvº›RKá»*òÜŸÓ‹qè‹ÄÍœ¬dGS’fP”wW ±ÕÈ[ZÝ>ñžPê".®Ïá~! â¼”*Ȧ¢ÞkîI÷Ÿ~Òu yÊÌ{@œ&&¦š’s¨F!cÈצ‰öDà? *)‘o¹Pȵ…ûþ¦ü»Ž{¡ ÆûSt® ]Ã2¼ˆ>ï†9Ì’÷$3i±ßä�‰]4‚,,nn ì~’êíZ……£*TY|+T‹ëû{ñÆ2ü�$/™¿$ëjˆ+2É"·#î#ö1„�»¿»÷OŸ:]c¼D‹Xuõ~\xoÊ:�k@ �4Ú@#ˆ­{†ãxϲ-Åͧ#c†&hCXóÜ€}߯ ÍÎBCã±n©74:±a%ìÂËr¤zvü±&78ípǪ†ÉD–§#‘T,%¼ÃucrOÇÜ+F #Ñ4ïâ‰Æ]WÍ·=¶Ã ]CÙ ÙFî”sÕ…Ø2…-ÎÛƒo_~+º1Tå10»#(I I–a.ãb/¿NWøáM€öÀôõ\öðIµ‡ FçÂ×úüðn,�´p œ´ƒhTpTßXkyX®Äö¿kâ£Y‚F~\§Áî�’'msƺmOÈY¯Ó¯ÃûXO§¢AüV®ðÿh ÛÌ7ؘñAÄšróÒ4^àå:P-´>ö¸æ=>x Ový’©ôãIz5)DM%@üDüýiฎ=QxŽÈ9 .VeñÔ’H �𠈑TŸš?ÙGø,ÀÓÔØ›ïòõÁ5ä £!{…ÝZðU/eì,v·Äýzàop&ðŽ7È^zFPÄS¦ GÑÂ-ÄÙ(©í8ãÝ)”¡ µ‰ä¼½{5ÇÊ—¼JeT!È"ä‘Ï×øÀ0¼]à)²æÊ‘…AÞÎasq냅ǀúuVf�E�@ïÌû‡k`|F“äå5’†ŒÒŒ–ÔQˆ uõ¾u`ås[»ŽoO!_ ¨Y´‘n~ü8¼òßÍsÍÙ Ù}Á–_(�ŸéˆÛhSÜK�…‡@¥l-b¦çcðÞI41ìœÐHòçä©™¾}OhãxÍšúy†-A -6@Ê×Ù�][j_)Ü®Öú8ÒŠ÷V¢>d@|ªË¯~·ž½>x»HÌ¢­¼¢Ö% b¨ÖåË~WøáæÚ†Ilm²"€U�7<ˆçõ|�qÂ8Þi%c»³�å°ìMï¾ ³7耒‚�� ±6°$‹‹ò¿çŽkÀÍap��(œcÉå*Aê}7ĶBNµãºÉ¡a¤=�ÞÖ<€ë‚”ã•ã•å¡.A 5)¶ã�ïîßêØ�1ªî¡²‚m=_ ÞÄ^�/Žl¢¹ÊÍh´Ë‚Ý™UØ ‚‹“î¾+>sÇêˆLáø²=Ðå–@ ·õ_óóKtæê”³e¡T8Qcò½»aeä�7¼W ¹%-üÀ¢�ÅÀßø¿< ;›PýE6¸OÁ@ÚK !?ŽäŒ1ïÅ%ø–2iIÇ@ov@/ÎÂÜ¿,@ÔVG²W6�Jma‰E‹’v>üOŒ\pP6pìvRч*°n|þ½0࡯Pì¦!¥V*äk¾öý°‡ê‡âͪFw^°S¹¹;�k«ŒP’Gº­¦¡J~ŽŽÚuF ¼ß¶+6Kòð©È<êÅ+ጠXÚü±r3T.Ò�p$ŽŒTÞPI*ÂÄ‹ÜêONxïìâ¿4.m¢RÇIò¹7¹Û�uiÍs²8KXœ@7ø#|ΈU?úÍ4Q÷á8ð†ÚS¶ N×8¨íäoý‘¾ª†&!$¥ØZ@:žž–øoŠ3Jh¸}’ž8#ŸU%K�EH"×'¸í× Žc¶ÛJ Émt§è©É*º‹)±äÜöý1«\æ‚Õ\Kâ!\)b‘G•Á·=¯ëóÁÊÚü<"}WæVêI'+q4ŒNÂà lá¬ØÑõOcÇãx»ÇìÙö`θç7¡Ìs*)….¡`TãÅuþ¸Èÿ¥=ÊÅÖu'8–¶è¯Ò§ÙËìã”ðÎ_@«G vQ¨”ÜcÍtO‡f×j/÷K:2^6»W;â<›�2Èè)$­"ɓԜ}¯¨u­/CÒø0Ñ–»#ÔjbÓ¶»®[¬­¨âÜÆi+ç‘%gµ�%¿¡÷ãó÷Qêu9wÍ'š×•ÔjœçwDVeíÕ0e±U4¨ÂÄt\yýn‹Â—Ât›¯ì¤X Çìñ%›&‘I}ܰÿ�|VŽf¶ôàŸÉ^é‘9ïóem¾9ʩǃ'ŒF� ÉAñ=L6šÈ •©ªÑí’ø*FUCâžrѸ6iE#ðà´úrÑ9úûz,bCM�¡²,Û9ʳ> Ì©j�hÑ•Z07�˜€zZø¯Ð+5’O¼€ñþBÔwPs"Ûtù¼-™ÐÍK”»GR"jšwQ¼ÒÜ‘ðå�dò]�8;¹Çr³vïò‡-¹�Ñ­Kd™¯@ ®_hAºI¬íêo|}¯áÎŒÇÍýA´êÀ¾«U®hp2Œqè®^Ò§9 © $q®`�$Š.ð†ÜŽÛñÇÐ>.Õ�>‰Ó3²õ=FàÓð¹Sˆ¸Ÿ7Ÿ‰rüøSÄ2Ih¡¨˜B,ô ±FfNÞBN?*K­v£Vé6^îãGÉy>¦@c_e/ÅÙUfV2šÙÌ3ÔÓÉ5LžXÕŽanͤâÏ^Ó�AÄ)Prêfj¦¥zºVbèõ±M+�‡¶©É:Ù…ôÆ£{ƒŒ(°SAÊ©ÖañZ\ÜZÎx†_÷Q[ÂÒ­U±Bµ…+CN#töe‹_¡O\{}™ “�¾M«…Ïyk…+Mœg™N[’IBh%Žz†¢Sx«!Dý@pU÷Ü\ô\kCŠÿ(>÷’ª)ÂË}1…Œ—‹©rj ë0›0¤ªJŒº¢eŽ‚{y ¨‡r‹ØÛo[î©ô…òî`ù㕱 AÍ gnçý­gœûAÍ8¿6†§+áܧ…a-O–΂*ƒ\9Œî$Q·âRA¶.�h+¯çþôûÒZëûÿ¥§ý¢pÅ]vm[œUp¸áª¢ñ'›DrÂä›�Ü[ñwÜcwG)F[]=ñ€ŸEªë%â\ã&¦áŽJjØö_Ó„xmÇÕ åk@çÒÕË<É«Vš‚©b¤ËXÚ6ûm°¾ý·Æ^žVYuy‡ºÌŠfߪ¤çyN]O$Ï[WWC*F$Xíy$¿¨ÜtÛ×tú‰d4À*Õˆ¦þ¥v+_®KS f Uó*»îÌy)'¨ÆÛg Ö»dnìp‚\½ELÑÓKSQ,„…,MÏ>[ ü±©@€0šÈÜãƒÇÙNey1—Á¨©‡îYp%�+’Gðêþ;`$˜4‹ÉLd­aÿÊÕ×,�&¢ ’±Ú·)’/4@7õ[‚ _r9û¶Å7Èç»h¡Ó<»'úÏi™…-Ô^cQ ’þ$’(¸÷zúúà è-ݹâ“N­€S¿u¯ê³¬ÂºE’²®z©ùK\Øw·+ýtÆì0²?+@.GÈñ¹æÓkV@$Ü‹Ø_cõÏ ,¬ªn®\³÷Æm ú@탬Ý"p©Å˜èšÐ’;|÷ØcˆÍ�äŠ)Ptß[W{vãÏ £ÍÊcˆ 1Ôh1¨�ÏPçË[bÆC()*co;j±æG!ûâÕ(ñüAŽ4 ’Æß§¯ñˆ|xBמ[ÊY”ƒ 6³¾úy‹b»a³|(y±»”B²im%ÆßòÄøxµ\ÈK¯”ʳ+9XîR.-oß| À°>˪É$ÑJiU•Ò£r ½9al�{®l„Ž-�é•(Ø��Ãevßt[O¦=ó-™dUÞä�ú~ÿ†#‰ÂæÓD] ˜sf:˜Ž½~±0ÊZß0Â[ž]äC4%£•t#c¨íÛÎS×7«UÔ­#ƒªU¹ÛVáB­O•ƈ¥jà~3Ÿ#¯‰ÌŒ‘1 ëØ}_ך˜(î‚“3Aò®ÃËf¦ÏòªjØZ¨�l¤X_Ž4º_P2×,–í�Ôd^*Jë,k Ÿ1ÛçúâÆ¡¤#ý.ñK�]›¦�,Š…�B4Ü�ß§ùÇI À(€sÏ—òR²Ü²•eS`;Ÿw¿ ‘墚0‚QNÚyRС’3.‡OKZÞÿQü`"˜ŠÅ#iÆÛÊ>;ødUµÍ‰ç{õü±lÉ´U_Í,HA²4Úaò3j Ûpý¿ÿßÒIì« ¼Òˆ-áH"•�µØl ßßÛòÀ9®-á9²z)ù%p¬¥N»o¸ß¥Ïà kq¶íLcpâ�ÆI‰$½¯aa`à ‰´ÒÚ)ÄØçì•mnº’Ò ølFÇ~^ÿãƵ†Ãl$¹¥íé0èË*FР•—ÌnÐà¥�s #kö»7ŽPêDŒB‹¯u7|ÿL%�‚mÕeVÔjÐ :§Þ>`¢Öøó�¦"]%&±Â@ OïõATSÜJ£h¹Kî=o‰/¶×6�ÏpCÕ2ˆ¤4N#[\†6?®+K€ÜÑ2Æöùœµ¼Tk�…‡—ßéúãÄ9„Šº Ì=ì Šýü“ïÓä B÷¶Ûþ» U`!Çï_òˆ¹¥€“hy"(¤&°í¾×å‰ð¯ÊÓ…†å—_5-8Ôk›~ÞØ(ãÁ _=ù« =éô“­P/×èÆÛ(nÅ»„ø�Ô_J¸ä©= úb¡`°Q½Ïq¶`z¥i 亵ö6mö?/†"FP 8´ÒÓø’Zăs¶à}oùà ŸÓå‰#ÌQ8‡pxYî5ºØµ¹ïü�°p¡î6žŽ•Ô/œu'ÿ�ìwúèp‘+°ZžÚN¦c««_ËîùâÃÞþ9w�tŒJSrEÝ�± ~à»’Ù)æÓ‹D.?¤IÛr-éËëž ºÿ´&\ã”ôTCuXɸµ¹rýq_Æ-už]ŠpRb‚ÚY¢dSæ¹?®íQã¯#Ã"cËT”Ö’_Ÿ#xì1YÚËËO)bQÝHEB¯–ÄÜ`onû|p"BMð¡å®PSD±ÜìÀØv½º÷Ř�qõª¡T™†€¥Ã\î9ö;`¤’³do‘Ä`)Xrí �‡àܾxª±V¸Ìá”jÐw#“:Û “_%Í”Œ”TTlÚ4ª†ê)ß¶ Ö×W! ^–áIABŃÌ5ÃPztÂwy’$‘Ín2¦£¡]؇Uî:ÞØLòš°8JkJv:Ké)qr¹¿l*GÝÝþIH7`Úš¢€iR¤‘}¯½þ<)°—MQËWeNÓÒìI,ÁäF-ºš b’C{ùGÅ‹ *¬-¿?�ùatݹ$îÜBtS³1°Øm~¿_Î'ÛÉåZ•�«�+ÁPEÃ;’èÂÞÑvЫx‚¨e<ô¬bb.Hç·Öü±AÄÙ á%ÅÄn )阻�·ê.m¿ó„=�ܨdŽ=ÓÔêÊ»ê{ž½p¨kˆj6i¦Â´åÑiEkº·kþüiºf¿Ú—0ãh¶'äõ™�U=>]JóT± ª«ÈŸO®ø§©Ô66ø›¿4©5@ vÔÿ³د<âZª ë:¡”ÆHm ‡a±ýF<7Zø�ûNÚ¥‰©Ö:O/!~…ýƒý�2¦Š…"€[O᱑Ñz,ýFK£”†G#ÈŒeuq.[ÁT1åKFs66éêqôÞ¡ÔôýOàAÿÙܧu K4¬ÚßÄVŽÎ3:ŠêÊ\Æuie` '¯øß1êÝVWÌ%pç÷ÂòZ™D™< ó© ¥‚Zqª¬¾¹mÓ}±æú‹â?~ÈðE yÏ ÑbÚ�“æb“&»k…ßÝ;qk}‘¼1˜ ©¬2Ô,JÈ_”©«q|+H ¤t‘Œ�_egB »ºÞ|ÄT|[˜fYMJ§ÞxØf½Å‚75Û@á@Ðä9¥CÄŽMjhj’ž¤#­$Œ¯Vµ˜×ÇœŸáÝLpL¬4â±�B¶ô·8 ÷T7É©jNSWœPˆa”Šv5’)J[ûZË'º©Ç—×ø'cÄ@WcŸý/E ÒxEÖ«y^[•Gœñ«ÃfùFk]Ÿf'ô‘QàYgþ"žc!ÞÐÐ>—òõ_XÑH×Ä<3»·ªÓ^Ö}‹æÔù6Bkxï4ŽVµk._¬¨Jih™úÕJÀGâRO1rLÑ9’ÿåÜþ: XáU…ȹÒåõ?ûþ_Ÿð§¶ïÿg[ORßvÏ•AE”¥‚–“J�CK+ -½Æ6›ªw†ã+I=½S¿‘tY‚‡¯¿ÉjÞ2ËsŒÛ8â*ïfÔ)ŸWÏ�Ès2"*ó˜À�˜FEŒ�¨\~;‹ô¾­ ÉÇ•{NÂÒ\‚µ¡à¬Ã*¡â®Ž­2 ‡.¿2¨œýôÍ<@ÔÛ²+:óU&I4»ŒnïÛ·Ýji 6ŠÁû«œùÎ{—ç9?ÿéM9oûÍz˨ƙêŠtm,›Æpµ­ý�U%]UW´ysÕ¦e5e#Ü¡]F0×ü7ðØŽö*w¶5úîb’sÈ¥éµäËyâ¸átçÜò¼ç=£®âª\®¯55¦ŽJc{�œw¿?˜æ1�ò6=°YÝxÇn ­)-¾åCÏO±×qU�&Q‘Ó2ù–ª/¨"ÁNãWAËl-îŸ ³ìµ¡�Þ\üŸPµ?{AÿÓ¹}m¢†–9€dyù9;^6Xó±ï�/Nñd³’œÞ�â;w!hlã�2Y²ú &9•fk ¤dG¦Ûùú�ñì4}{;kiõZ,éîl7ýß6ÍT̾$QÙÇ‹ve`wæ.¸Ø�E -õM|q´‚E•&xz¾¦5I3³`À4’Óßú6¹�ñˆoR� Óv©ñZì7�§l³%ް-e<¤–3™ì÷°±Û~wÛ �²Êï-Ÿ¢¯+s•X©âÙE;RQ=Ʀu‘×ÌooÃùüñ¢Þ•¹Ûä ËYØÙµMYñ*ªZwäCµöíÎß¾4áÓFÏÄæ6‚@©Ö.Žö¸Ü�\41ÜZÒMŠNš²N‚O+X\ƒÓ$7œ”°áÂpOyÈß™<°‚/5„âÓ¤]­nÇû½Þ¸! Üp¢Cx¤ïŒ«FW•�½¿Îÿ–Тsc„�¼…k(qø€—þØ´Ø)`4Œ¬™|© Qe7å{áŘöPcþÓÊ]=ApRþ½�¦ûü0—c„&;ÏH¥Rˆãåô<È=qiq+ˆíK3èÅ–K÷ë~˜‹°’[NÆQ±ÔH·_™yÕn|¾ÆFypK‚RÌ$Ö¡„l—³|=p½›rxJ𳸧ãcº *5Šóç¶ q’¥À];…éƒho}öüþX p„´�ÃÂIJ“á3쵀ĆMp¡†É‚gó2² �îÃÜq ÞèšI9^`Ê˸-m-¤~+ú`6bÊç¼þƒxRrL‘…³l~ ?ïòÃc‡d!‘ÀUÌ©$�^` Ê%Eíë~÷870/(¼6¸ZÚÞË= Ë–Jrê§Õ Œ9‘îØbj7Àá' >HouƒEiEmIÜå¹ Ž¾˜Ýѽš†ÙY´p‚¢0Då]X·èO¿è‹lí62)KXì£KűR¤^Ý­ùâ»�ûWÙ9ÌïÙKC,F� lj~œ¿ÈåòÀ·a&Ž^Æ�ør‹Z¦d¶âÀ�í{ó¸,Lq»w”ãÝ¥"ƒ¸û¡�X,|[ÄÊ.¾kôpÖ�à1„-v×Û�ä*g&bdfµ¶ùm†¸–·ÛС5Ï2V$þ¦2øZ�€cëa¸ÀE6q•׸ÖÔb¹UµÒc²‹î}-ñÁ×e¨´ïÛnqÈC*ë$H Øß§Öø�@; íÛÉp4S prJ5Snx{¶nÒ›,Ü]µxT±—úæRmåuëÊ×ùo銲¢ÁO§;$ðŠx¼Ox;‹ A·[ÛëlHvþd»Ü)Ùq.³�#Ì ØZ㯻3ã“ù¨ðì€sDñH,IFÆÇÓ§×| šfškЈ톹QÕÔ¢2 HÉu%´›X÷œ°§BEo—DÂhp©ñSÝŒk ó\Ž^ñ��HàH¼//<Í<”ÔÌ Ê©@v6¹õëžc;N=R¥Ý´îM%9�r@äqnǯ®9î PšÉ-´xöK4ªCsŒžBà{¹b¹ap²29墟yAUP Úbl÷ýñΑÛr/ÙE­ù}Pm ŠáUI¹üVÝŽ(ø]ŠVC7 o¾`§Ð ‘¨@:G”ûûàÜX…Ù4½Hä±BÆ÷Ø�®xLÍ5]�=îÛæO:ˆµ4hI±;‘îÅmÍ!V'ÛÙ ©’êƒoÂ9_æwU•nÐhóòC*I+¼H|T7Úü‡§^ØsO®—9Îô qcŠ(WŰ@:› !ïÿÅ>ƒðU/>â:zex`e•ÏAßßîë‡A¢/§ËF(/ÊÒ´Þg˜TWÈÍsÎßñúß—K§Ú£" >e)ÜIÔçbA®-¶zù&´›å<‘(eèŒ-Ç\~ìÒ“ Ñ©Ô~V•‡¿á€|§•-sˆ+=X�¹ÜrÆÊÐyJsš2�‘ ŽÊÁçqõúaÎÁF¢‰X4ª7n w®ææéCµ Š(¤¯ ú¾!Ú“bÅ*Ï&¹çè�Z%$Åç˯ձ�<ÙÂïƒÊÓŸÍ#]•\Ýzr>¿ž Ä‘H]¨uŠŽ€»Ønºn{v)ÿ1´d¤É9¾QôÔHËå°+¿˜Úý¿| ºœQ f]ÙqÊ5(µi7Öÿ‡�ÖíÔrÅ'¹¥¤’€Jkœ#Ö�4Ô –Úã`p—:²Â–|ÙAT*F·`žëô÷lns¸NÚÓÂŽâeV I½®,Gç‹AäÚ›§§*–U%X“ryüFàNä’00ŽŠ•Ae tQ{ÛÍúaCé+þNŒJF` Þý9á�Ø¥Æc@Þ‰E¦áA¶àŸËâ?qù¢ñ 2xRtô€�yƒµÁ°ç·×¦+I©þ×a,ÈKwsûôRKNF¡!nzüGï‰ÞZÛp*±ŸÍ_ªôTÄ3lwéß¾(7 Ý "Ôõ"øbÉkßöúï‡ÂÖñYUå—pÊšŽ”-×έÈ2÷·\ƒÊæ8�¸¥ p ¸T_€Û l—†˜MÙs° ”¯”kzóçòÄ5å®;…¡ŽVŸÅv›ŽŸ^ƒ¸òß–Än-ß x³µ¼©…ýø´t�yAD‰äÃåùâ¦ÎÎásÈb‡1–”ÆWÎl¾QÌzbœ²�”Ò«Fö%>´vDFX±°#öÂà‘ü;•.i&¸WŽÈ«3zÚj ³ÈB…S{߯¿昱¤�uZ� ¹Ç½¯¾?b_±½”4Y×eñKPÚef‘}=qó¾­ÕZòY\/:àé^ïÂÞ¯ežÉò¬ª:j¾‚5ˆX\(Å^�Ó$ÕJ)ºxÝMÊÞüsŸäþÍ8|ÇEþå"¨Ý�¹ãìzÉ4ÝK´ö9z«4z->?\�Ãñf 7kb¶ªÛZ?NRa�]‘”jx5Y‚LéFÁ£ »è#mñ�¯�ŽˆEvºɜH�‚Ii©’®(æ†â^domÿlKËy¾êÁ˜E9ìÚZŠ5¥Ì dŸUÚÖÜÆX^þìWés8L$<Íotù¸ºcŠa|ÒId¢‰›V•*v#ßÓ«­u)evÖ°z(ÕÀÜÈÕ¥*áûœŽi¥hÃÚ#cfg {[ákã)¼<7yO#÷Ể�»*b»ˆ#¨‡!®hRWFw�Gÿq“Ê?þmÏË×Q¬ŽH˜ç7…fYƒH8ÏÝGðuZæõ9yÍë)e¡�?…ÖV!WÁUue=ަÜø7RÍQݯ D�JOÜÒZÒmlN(âÜ£%HÇ%4ñÕå³É`Ù¡:¿¦þ¾`ÀãÒü]ñ‡LÓO|vZîšâ¦w\ŸÄù‡ïOGU˜´×T<�°Ý)ëf€Éµøˆmчl~oŸP#~Û.c�“èRšö[ ’­¾Éxƒ9âû†r£Zÿ~Ìh¤¦žÅ…=U&•’+ÿÀ«)ó�mÒ¤ÔNèã…ö]‚jôYqèdcÏg{­™O]ü?šÃPÓÄóÔÌ̬„¨IF÷ëå ðÇ¢÷ø2hä}mõ•DLû�bÖ´ö•œåÐðöe›= b#ÌŽe©îQèÞWŠÊ½¯½¹í�—õ]|~q'µ/NÀ Goª¢æ.ùf|N`ͨ—†A¢†FÓ(*Û´_òhÌÎH<Õq·ÑôÁ©ð7n¶ß¡ú,¾®×Ê-³ºœÍsu—†[Œ Ï)é^™2ÜÂJTpÆZÈ��9°Ü2¨"5_ÝDå]$n ¡õ$w¯T¨$�çœái,÷ÚFGMMžg™Õ]V]Å55B|²­˜Ú&¶�@re’Ä7Û¯,|¯­õOŽ|¿ý‡ŽßUíz&•íy'ó\óÇÙæs•û2â Lõ²ª*®Í©ÊÓÒµßýÈH²FñÛÿ·43´FüÌ–é�é¦ -’ŽÞÿ¡^óL@Œ´÷ZË3Ëø>>(¢ÍòÎi8n£1Z7Er¿wŠx‰�È?ݤ‘²rÐÀÁÆö—VCØ Gï²ùçWÒ:ˆp\©ü£,âLÛ/N¢¦‡‡sü¦¬E%DƒSI¬×ßÏ+)¿ÇýBVIÖ’ªòº>ÃoìhŽßU³ëx†£‚3^Îxª£ïRê ¡–2y]tÏ Šv(QÔ‰Y;cÊjô¯Ü ®$;/©ô� oô±Ùs�¶P8«4̽�Öqõ}‹.[UKªjL¶��b¯Ùà’ õ Û¦wf›yü¾«gM¦-°ñ^ýŠ©TÇ�f•ßpÊrÜ»4㤈IU•æu+÷ê Â;TP³‹-Ƚ®6$|hicV¯Ä»\«‰Çд\KX(•âÞÀã»�oUOÊc¦­¬¿=7ðÁažbf’’ 4Bá�6 m¸éÏšƒA¢0\áù§B÷»—(|ï%ÈÖ§9¤ÍòÚ*„­dŠžº’q+³QIÝW•®:Xà´¾8ѺˆíŸð¶ôú¢@²Ö¯Âù”ô|?Ue—UÅO7�_å�ðÎQ–则¯æ9C\�¯»JÒE~«Œ)FwÁ^ÖMb!†:ÇEr_Hñ.5ù†Àê;1äw¿<} :=F“Ë’®aObòºó ãrÚjÁ™å0WÕS9{ÕI¦¢5?ÞŒ98 nÜñãõ:6æš^\Þì(þ1¨à)ç�3�?âšæ–ev�CC%­¤íç÷Ø¿¡�ü€{á6 dÛ¨°¹Û9¢­¯–𿲿¹¼#J²",Oá cÓi]y�´å³ Ô8¢—Y$r‚‚T¦š8%]"� °æÖånØc+‰sÏ6®AÓ7™§m¦sz£OHj¤x$�G£A[zØõÿ¼6-`áhiz+�•åj×â,þ½äY¥JW1Áä ¿üˆ7'ôÅØ´�å¶Gªµ7DØ,5W'wŠFF,7æ-s¶70²ÜÇn¯EèêICwPH:A¸þ:âAÔRÞÛr8T1$–Ós{ZæÿC–‘h¤¾ôál¾R-}þ^¸“\”$v)kT„‹º‡ µïæ&3Ý,y|¨˜ê5"»²† •k_HÃÞ !ƒiõr<êÊë¦à[sð턆à”—GŠJYî–DfP-Ϙç¶µí%¨Á?‰8MÂø­e½Éß\±ÎuŒ¨1ßãÂ͘¢³Y�æ ÜžÖëÏA"’wQ±Á^FßRé? ŽÅ»…%€rNy1®ß>¸çvS#1›(­VŒhÙ�™wçéòĽ¢¬¨dx²ŸI/°óÚÜ�»â*Š[±�”|sx�u9þ¸÷üþXKÀV†ïtñ�.̶ätìÖÀµÎºDîmɳ.²#;�WÛÞ š9åCd³E"]`jòé]¹mïÛᎶsÝžÊ3x� µù–&׿»®Ø l$Iv&À“Ћ[oÓ ‘ÎÚJc¼ÆÒ %Uc×m‡";íë‰{UÝsˆ£g**¦ŸPy ›Xwï·Ï_š <*J±QNÔ­U34D1%}c�’!(§f“žËhÒêc^Т–¢›'Í% �rß‹¥¯×|a¶gi_`yJÊÕé÷ è¼ó$Y |Š乺­í¾û[~§ɳG,XµEÑQÚ> ¥€ø2ë1ŸÄ/º¿¯,Vx5æDÖøM©šIÈDS"¹µÖÛuúùâðæÓpÙq±Ÿð¦a©P†BŒ-̾¡éùb³!`}4_Í-å®n磀I"]¼!¨‹�=¾X°lö¤©(°l,‰4‡@Ñ)^ 0"ÿ¡Ç€j°T9…€Äs$d©¾ @æ¿,H`¾©2»#4‹–D”¥M·$uôë¿/–"6²±Ý1ÎqÁÍ,3™!*QV¢×ý[l<¦ªÓá´›DGI)Gð›P¿÷XsçËé^Nèââ+�DôÄ��À°$�ùWùa�#fÛåæ—b𛦚H¥(Ä($ °°ù¸LÖ~!ǹRZN[•'÷‡hDQY†ìöÛŸqÛ×3Û#p)ApÚîßDŸ»«„’ʤ1`mrzXöÁÅmmÊ[‚k ùTþ)< ñ•—Õÿ,UŒjÑÍ *.€X!f»ØÛ•Žþ½qó7HÓ[JòM´›8Y²-ü0‘é;[cߥðòò†×è”Ó|e&:q!¦ŽLnvcï=}0¨ÚâíÀW²6{Ž?Di„D/§[�ô‘°÷ #Q/›Ý=þ\Œ¨úŠa;IfTµ€·o<"xÍáTcI7Ø(ö¢ecq¸Ø ÉåÔ`Ñ{ˆÿIÓIç…&&£ÒƒÃŒhÉ;ïÛóÂd“Í_¢úG ¨éJ*ëK›n·¿ë¦)g ¥ýï;e]7ÿò¿çË|pª§e6p³MBÓH¤P@;[b¼„ߣSby†Qu‹ 34®uj ž‡ÓóÄ4¸š\1’Eªø�‹ä ÷jY,GQ½ºcKIÒìƒ"ÓÓ´VkZ—¨™Ñ¥mhA$ß�¿çþ1»à5£«æM§!:iÃÝl}öÿ0m;O²T’ƒÊ|Ep̆[ÚÃ�úüñÎ+·‡yBð‰Ë¢r]»àÙ#½ifÿDE ¥nw;žwÀ ï ό֊)G¨�K6ä �°ç8I¸ô R€è‚%, Á¶Ãê»ÊçmÂ”Ž™ïdf(IçŠÓñ„ wÇæ¤b¢�”(PTó·×ï…x€ ò«>B‘Z"šRûóúé�š]øG‹¶œÔü4§Êª¢×žžž˜¯ò ù%l攌Tz€NûÌzwÅyfvêK¡dãæœZncK5…Îü¾,"Jæí/ù‚M€¥)è´l{ïcroÎøæD\Üp«‡—yK¨¡ç•Ó[6#¯ËŸÏçX¡Ê·öš¼ú‘j¶Áª¯fØ ý׎;@m“”O�riNSÒmpŒÂÂà\ÛêüñÞ#¯Ê2•eÙ V:=A fµÀµúàC¬ïz�ä�é”]=(Cº°c¹`:ÛÓ厌P>…äî�J3®CäPO”r±ôùœ6¹¼.{‰¢Þ?dtTªÚt�ÍÉv8ê]tJ‚æ¸ÙåLSR6­%‡+óùb‹Ë¹U¼SœØüÒÚÑYZÛm¸ú·ÕñÁä�t¸Ü@·,ÅH|M!X16Þ–Åf8¸çŠÜ«ú«,0ÆXР Ë~ؽ°¸œ¡ÜOáÂ’*OôâP¦ÖÜþ?>ø`§dŠRù;[ŸÍ2±‚,jHáî[XôFùq„ðˆª†¹ˆ¶û~Ø1=gw+¼mÍg蜊2䃨ƒÐ íõl.I ¬…V…Ù)¹Ñ‚jKر¾ûmÐ R{|¸)R½Ã.Qñ /æGßmÛøÅI\àp£u›è©f¨¨†™äbmn§}¯ú|0ïßxä–ŽãÀ_[¾Ãÿejþ&Ìòþ!Ï2å—Î + éïÏë|y�ˆú‹Ýˆê½—ŸÔëL®óvýö_§ßc¾ÊbËrú²‚˜DŠ«rnXÆè�m\›@åzwÎúhµ×5-”û8È娫1-V�(êOa�Ð:>—¦èºS4ÔØ/`Ö3Aéá.0Íó~3Ï*3 Á¡ÕhÐò�1ðOˆþ :ÝA’s@/”õ çÕL\T� M7 ¼µÐ6ŠRÁºƒûcÎi¢s§ 7ÝYÑk¦io6½YU&eÅ/2»TÂr;ãRSãjk–…ZYìÙî¦ó&ÿt«Ë*V8ƒ1а±[¨êŸ4­1�´í< åÈ(è#Xbž’­¼Zˆ¯§¥Ë~¸Ã—Hö³{Nâ{+-`±]ÓiT¹�}NTò dh<8Û–‰mý%�?R|2CEp�÷5Ž£•P�;̸K5¡â\©Œó(zZ˜HÙ<À?\UÓéßÄ‘�vòÎ�TàÒ_äÙ­M³”Ì%å+§ sæµÇ¥¯ÏEéÛY¡.uyÍg+]ÛÛ8` sþ…žš¢–žŸÃvªfÙXn3„k~cÀ0ºƒyqT&ad›˜p ûÍ4UQ I4³ÑÔ-M*Æ<¯â=ÛP=.¦1(a‘’>Ëxô´1P¿×•IY—åÔCG,èxŠV©à‘ªÁmØ•oq#š6Ř:¯Í‘þ“eˆ5§†¦jÒ¢irØé.­ˆjy "?¸ @ÕÚׯgR{fœ¹¶ÐÞoÐþª¾›GlÉR¨Ì(3Í2qN Fs%5@hõ|E•Så<ŽÇl+¨¼ !Óì¢=ϺÒé:reÚïÃê©™ÔéÃù•V_™ÍK›ä¹å.c-F�*ôu‘$^ 6èÊ€úß¾1ºWpc³OiÜ-­¡-ü.º[Ç ¤\拌æÊ³¤¬£ÍªgH&p¦Kƒ¨ÔîÛzúãÛÁÓå×xŽŠLƒwů4àHqiã±Z›Œrør´âl¢Ÿ]L� H�¬1jdªIŒC³hÖ÷cƼC£{£�ÃÎú­þŸsldóZß?«ÍãÊøGˆòêªLãŠrÜÕ¥Ëêep•Ùuj¬ÞQÄ,Trý1Ÿ¥Ñ7PÁ¹Í6NO·ºí¬–'@ P©ŸåyAât‡(Nöœµk ÑÊI¦1–ðêP«ÜâîÚẜzÝ4Úy7É#vjð}~ë"üé»Ö­Ró×΢|Ë‚ó.áŒëý·,aO+Ȧ¢©pÊôÒÄÀÙ­{©$÷Ç“ê1Oè¥�®uzà_¢öÚ/.×,ñgå”üC' q&m›STVåkÃùÝGŠ’Gj¬²Q;¿/5™U¹Š ß*×FÈ5F9ÛŽô{öϽÿNpš,›+RUûGáüÖ²^ âšÙ! ¯†9©ó04TdÕèHdNMáÎ’)¿Fßž,ô²Ö›uÑì{{áaõÞœ÷7¯*Áìâ£<âè㨩â\Þz¹bjJIà§T޹b‘Ñ”9= ;ô :cÑG«þ�áxó£ð­Îm8ý–̇€i³þÌèsœçˆrLû*�†Y�YJ¾´Øÿþ¬=ÛŒPŸO»sI!zŽ‹;ö ‹ª pýE7f¹³Lþ³‡ó ù+ÒiÉz<ñtØEæ$Ǩ±*} ð[¡/�´8ƒÚתf±îŒÐÇêµ{a£Í3ýq–ðŠÐð¯«ýê�MfK)REÞ3¾ /nv¶6™  qúp³[s7·¿ºù-/žqßqfoð½g߃É!“-¦‹MeJJØÉÍ‘XÑÊæ4—c±\a3M6Âfm¹ê¢ZSżOUK•ÁSÂ�O÷f¦ûÆ™)’²7Že‰?¹Džn… _¦Q¾0<ÇšÚÒÊMßäµÖcÃUÜ/Mšd9„¯--Mm49Ütõ¿×Ì"1°Irµ¼Œ6*Êm|Z�RÉ^)àc§Œ0¼U£‹h¸–§,–.(¨ûû)¥rÔࣄ+1Ùƒ†ä9<}Æ.ô¹bc÷€™êíñ‡'ŽëZÔp½4µ¢¢Ç4XÒ¢?½Bª ‚·"Ǩacb,{ž™¯ÞúÑx]x{<­àsÙkÚì¶£4Ëç¯ÌâjøÖ?ÁZ4ƒf0ΣÌk«ŽDŽcŸM1"#Gõù$7TE¸ ªÙL³ÏKK�dÕŸrŠžuž•¯øÐ“æµµ Áå‹„–߈ê>€emiõ 3vû áÚ*ŠÙ²È¿ôÏ çrÔ‡£D”Èà~8äCt“`NÖºâ[6Á¼Û€ç×þB¸mÞ/ôZÛÚVsžRf6KÇ9UÔ@Ρêw;:t‘s¿Aé�®� R4¿NâÛö¥{BÀò]¿òµFmÅT4Õ?äÐeòGSYâE}H ö½ÿ\né´/Û¶wî¿eµùŽGÊ—3q¼Òçnj&’*Љ*ÒGhÇœ À±<”�sҠ𩽗£Ð›;N>jF:ÌÏ-¥÷™dy¢ ¦gÔù6÷ìvÅ÷h·ŸAìçtf½Öåÿ¨Þ�å¦zJyQ#ÔUÏâ'¢û¯Ï݇?¦Ýmq íøn2w4¨³*º£Q 1†"ÚÕÙW—å‹ìÓGx²·ô½6…ú©u1F�<Æ pBßo\7~á…k5P3,ÄÕÕJ°­àþÝö#¡÷ïõlcêd40«éÚ =ܸú¡ ÔT¨ÍsµÆÖø{Î+²B.�«G¸dR�Í ŽXät!Sû”ìñ»£–Åâz§N«pUs;Ùµ9Uµ�Ç.]q®Ö ñ꼃¬FEQ¤…OĶÞäÞýû°vŠ9K"¸FEShÁühA؃ïù`c®O ^qæ)ãV4È È{Øï~þƒ Ú9"ÂKM§ã¨!B±½®wÀÈ(ç R2)î�òìTôn›Û®î´T—´d›FÂäT•Á$l9~Ýqq&ˆ¤“�u#âl�ˆÔvæÜÿœK^si�€Œ„‡žÀ-† .7¹ÓõÀ #Ê ‹v@N+\©&Àù­mϦüñ-ue¢”� mEd+{yyûÀÁ¼žR„a£ÚÁò•�ÿ‘²ÞÜ­×D·„‘eÈÅcw!˜5�ºók�­±]Ç6p˜èlpŸYÅü5ÔHµî é…< ÀULw†á#>¥”„eSn[{ÿœì¹ÆªÓzÖ÷Ö©¹ .G¼`Á¥–n±bÿ4¶“PR,À ›î9vøã¤66ÒàyGÝ-šÇk  {÷ÂdifݰŒr“å!£bmåéŽ/¡å ”qyD("×F~Z¶ê?lVp·y�*%u‹w > j§©&ÅmÒçå†5§h¦q�5]Aå=€[óGnX–8�tçJßÂ~Ž*¬º©jh¤xÕìÊIÛo–+ë kù¤¼ú}×n{ö‰À2|Þ¢%�vÄî}q�¥Ô?O'„ãå+2b*ŠÙœO«BME;(§Åµ½F=ˆ�îÊ£‘€ì~ýUT8Š(Ýî˜~8®ØÃ]î�äÙDWê�»h!µ�? í~¶÷â]1Ü}TÓÁRpµÂ+ª ˆ'kwÅxÜwô‚ÀM©©r²®�‰B£qßžÐÁÿ)ÓvÞV M`Zþ &ß;‚l š«\ÀâsUêT¨GYu-É 9žãÓ t;M4Pê�Ïá5+BATM&×$Zö¶ÿ aqÎØ€�#­»cNTÀˆUU Ó“bI±°?ŸÃÖ‚q�döšÉA´Òm[ŸÂ<ߘ?\ðn‹ÃvJ¦Ìƒ‚R"¤‰|•.DÄÜÅë±<º`¢%Îòà~ùNkÚÙùz$Ç/„ë Ÿþá|¥ˆ žÞó†8Ý`ý’M¹Û]Ϫ'F¤XüA&½ÙtÚÃoÏêØé5œhd#‡OBœûö^)2˜žfTon[Ó®+D’<È‹6�ÀªÓSG0vRÌ4‚vøcåï{�4~ËÄÅ ›d�÷´–¦×*G¾›‹-|D43iÉì»Åq}£¼#¨'±ÄÛ¿]°/{ÚAw 0ü4Ñ5<-&ìú‰¡ßm°eò�½õIMp¼„ �]ÁKÚ{·_Ït Ûš ° k!{î,NÎXnFÇë¶*n…¬·Pò R ¶sæ{ Â6»Œ n£aDV ‘æ7¹aNk]؃ëÙ `aÏï섆Œ>× I-r»®x©!nânŠ'H€oè—YUI”SHòH¡�ÚâÞnÃ×ö¶+DÂãkB&—ç…¢¸—‰*3t…ü8¯{ßðÜöÆÌ0ÜŸ²Ù‰¦¸±ê©Æ9Ò�<œ¶íߌcG ÁŤå:´÷*Bžü¯×¿L5î±I‡.´ZDşı[‚·ÖØVàÑ�ù@ñœ!5Ñl<ÂüºûÆ'y¼e yÈAKM`á–ñìy}wÃ÷�,÷dà/$O¬ÆæÃqÏ×ÓÜçaˆ9O¥6¦%´Úû�öÃ@äå$£E(M£Ö¡žÝqug”©œ\k•+O— À¨'Íe¿.ÞüUž[qÐ ¿eIEL¨MÍ�›1nØq¸$ÈàF4rÓ»¸Œ±·¥¾8ÀUò«¹î>g*”Š“X% 1mì:zŸ–ù@iÚ2‚]¸Úqè‹z ¾FEØî¤Ûá„>`ê „Ê?ªOÁG¥Àr�{ƒÀ$ÛxU7×áá.@±(`®½oÜÛמ‰òJàv0kä©ÕRýæY›¨ˆÝG¿¦4¢hiµhÄèªz%UóßË·¸ß4®&®Ô=ààd«$· ±[v§ŠÃpiV”µIGHÄÆÊ|!ÚÖ[á,sœv™%[]@z"à§ÍáX6×·â7ì0âC¥¶r[Gèø¨f» �=ïŽ ’3êœÇßZR±Qè‘5òþîVõü°�ý¦Î-&CéIÇLª�¹þÿLD²4¶¯ê‚L 8AH—b6]-ÎÆÞûb³_‚p¹»‰å;;êmùi$Û¯ÈÖ!¬nì×é�·uÚ™¦Œ¡Rll¹Üû¯ó;÷Å—~,çÙKÚlà¢t'™w}G`w>ó‚2€ê8`‡|¥xJÇñä‚[‘6<¶úÛ/þÑ™›GÝ9 ªßM�-­pwÛ ª ÏgßÉ9Ð^âäþo_vµµ¸Œ©ñÁàý¦§@xÏ.¼ùôªæ‚íÉ[S²³•åÒÕTÅOH¢ °P ¿§»¦(jÜÖ2É¥SÆŽm}:û*}‰8›�sl³?Ïò¹…¥uF_*›ãÅu²ê,�‚²µsnSWéóìûöyË8G)Ëèih"«]Æ;¤ô‡ê^Ðo*¾–Á¡}¦ É¸ #jÙü$u[‘°Çèî…Ðt�#MãÎ~ëéz=Z8|gò¸÷‹ø—2ö“ž«Óë1ɦ$¿ãõÇÆ~/ø­ÝB}Ñ À åÝc©Ë¯˜´p ³ÔðDT¹8Ô¨•Š5–?Ý�->•¢îÆUhœÜpV¥Ìò´�*�b™c2K¬¯¨=)µÛ4ßÓ¯ZYN„Y²¢¢�£&d‘/�©w^[s–2ߨi?ÌW›²¥ØÕ¨ÕÀ[ýÒXbx¼e:TئÛíÛÛ¡?Õ{l{'Ç1p%EK˜BŸwUQ 7IòµÏ!óÆF¯^ÐðÀ(š×žxQù™Ÿ*«–¾?»ËãÓ1éØÚ×èm½ý0�à8Èy#NÂÞe~RüIi“*I ]Q3Ò²ÿqXìÊ=M¯ðÆ<Ò™ä1Æš«ý+úqÉpáQøKÚßdqÈxˆ&aÃQhŒ±>xHkn:n»œ+K×f�¾Ç“¿²ß‹úŒ p»¿…ë‹8C-ϲ¤ûÜj¡›6¡kƒnØúŸGÒϪ€M¶·�8¯ª­6ŠØ^Átµ·e”µ9�d�ÉAUVÍCQ.�¤±H°ä5i7Ç�ë‰5 {-¤àšÇÙF•ä‹à•]©š’LžT�Þ“Š ®5µË"ÝTG0%ôÿrݵ{ˆÁÏ;bÒ[I3œpun6÷WÝT «û¾[šSgYh• <ÕÐMâ\ÏNÏ©•Gqrm錖7Ç�òNÏ9È7Šö b-®ØxR´¯uô™} ¿û�%<Ìa"HÖd1è]Z×ÖøÊÓ5±=­s=Áµ¥¤œÙ蕚äqq·TÕÎ)*3lº)è+á'IpÀû.µŽE,�‘†\ÛÇÉ[tö ŸúUfŽnŠ34UÀV1ð†¨œ@mCc`yâ‡[è�.éY ðþy¿DÞ�Ô(€Ñd|²¹Ú¿+¡â,Ÿ�2²œÖŸ&Íò̾jœÖ²Ò¦w²SÊÇû�9I‹î§•ñò-tF–5žZÉôÿ�Í};¦ê\)Î<Ž6ñÄùšf¹ƒç=%5 i§zŠ0Ñfx”E¤hݯDhN¥`$CÛ¸ßÖôíÄl5…æuÚÚ3f–ʧªÎ¸Š’–5ãz ¬ö¨÷LÊ6§S éxœ6Æöæ=9cµÜ<ØU´À±§hÁS¼g“Ðåë�缛浒”É6@“.¹|À¶�w#w:z1¸;ã&@q’=Öö�Ä4J2ßE¥«x‹„i8šN-ãâ,“.©Š:Jܱµ¢Ã*’Ó ¾•pUIåÜâÔ:‚évžã·ÎÃAÜ…T~+áÎ3Ž"Ë8j\²¦©>呿L<*G!µÂd{ ÊÖøÙÓ@éœ<Þ_ÑV‚PÏý.}«ûÕUDÜCQ‘diE[VºÏ�¡VHÇ;DWÏ¤í¨µ±ž ·n»Dùb²YWîšãH+*r\Φ‹‰¸Y&’wJêpÍjdå–27 {H¶MdôÅŽ�kËœÓK"X9Ϙ-Ç:VlÏ-χÞM<2C+'ãŽw!Õ£#ñloÙƒ±úG� ÿLcæ¼_Sˆ�ø�ÙhÌêŸ9ËršN*¥ÏÍ|s:ÁO<@‰¢H0Ê£�‰ Aà\m�¦h$ˆS\Ê>ž¿%—¥Ó4?�ßèªR甋—VåùŠVC›£%JA”Éå�Ýln¶Øßžžw8ÖwO•µ$"›ßvöµáÓ Þa…©3\Ú—‡à�ëüZ(š¤…È’M ›,‡fVÚýO{ŒZÒÃ,®%¹ŒsŒ_²ÔŠçli¡Ýj9ø£2ƒ0Z©3)d®SâA6«ê[ц=lNÝF=$zhvmh«ZÐǵ›) �qIYEàåÙL•U ªYŸÌ²‘qÊÖSÜnX=>†Pð^ëo`¬ÄtN³Í§0˜z¬Ì«¥˜^Ào�I£€oÝù-þž.K Œ¹¬ùœpEU$‘Ò€|3`¥˜lßž=LzpÓå^Ö8ÀóŒ zmU�X¶UR‡Ià~þü‘‘Fè«‘»|¸EÓÑ™„…)Ò••l {�ûbCÎì¤w ¤ÚªqNs<ƒ-§R�§K“Ì[þÎ*j$ 9^Ÿ¡ôðú{¸T˜« 6¡ÿâG;Û¯×lf‚,¯U�vJ2,Ëñ©¶ÿÝï¿®7Í�V—#NßP†Ì«ÂWfÑø‰æÔzãKLÚã•亡m¾UAç&Mjd±:o°o±õ¾7ã8Úx_?ÔÀÝħb˜[Wœ/æéúa»ØaTsÂ:7*. òÜrÜa ù¨ DØñ”òÍâ31qc°·_[a¢œnÒè*7‘»>öûüuÅw1ÀØ?¿’'<4R>l¥c,CoÜüpRœç”�„›¥#¤0`œÅ�›\úzŒAeä£mpQqË}(É̱sËôýð²H¼áb�Õ”�­`H¾8‘0¬¢Úï\ú§K¬n7@,:L 7žË„އ) 5 8K‹Üï\Hª²–ë5a*�Ù ½Ë Üà'™2«º=$ñ5‘!nÌ:âK †RÝLahÈ™tHá� ØtÒmÏûŠW6•–3+Œk~ÿ®øãÈ ;¼Þaõ^d`MµÝm¸6¹¾8”»hvÐwŠú޶ÚûGÇ®8·Õ Î×`ÑJR»‘ Ø�]}qÂ>åEw')ø�� ë¾Àt¿é…–�ot·~dnƒ(i+¦ÍÞݰ�…¼q>R–#*…�†ÃÓŸùÁÙ¯Bº¬íì”ÈegVWEƒi¸öøa—{�¤ÛrxPu´f&h㼈äAëñþpc"�Ê1¶íÔM_ÕÓMK;Ä@ ȃËov(ë4;ã°2]LYÚÙw¿²¾?Ëøã(j,ÉÓýô*è 7eµ�>÷‚é=Eñ¼G7…›&œ‚M]¤fÙtô•Ä#"5b@n9|:ã~RíÍ>Ê·Šá‚MÀŒ,vTkžßôqU‘Ûð8M;y#ìTÈŽ —Rùeêú»öÃH!®}зmnnJ.)iâ›W›Ã°=¿\Ðí§”©ZÄáÓª4†E’—7Õéž¼4`~þJekÜE;žÈņ6y¤Ž=oÌmm>ƒë¦9ÑH÷X?áK´UÙYñã+ *"�EΡý�yöüð·Ç@´r–-ÞP+Ý;©ŸIyî°#Ó×6µÕXL�ÄŠ?$܈¸-âîúzè9uå‰HÂ2 ïOO,‘Ƭ<۞׿Mÿ< ²I?—)~!4O²xà{¶5¶¿äGÄbá ¥.ÛtñÇ9!�ÈQÔnæ.:|¶Â%€0ØT~;HR Eý3 ?‹pä\ïÓÜOå‚�nàßÉC�FÆ>aQt±©Qc¹ç�’Åy²l¯!¤�Jy#Óá)$~uï¿Çö-E»ù }ÒÝT När6¿Oã%ˆB†¤°ð‡¹ F@ü7#ç¿Ï ¤ŠnSÌc¤|4ͦG®çðŸÃñôÇ=ø§2"Kpn�]c‘æOé~)J rUy\A±ŸÑ; !�{ZüÛÝß¶KMù®-7±U¹©Ä’5£c¿›˜±ç{_|¦·p¶S}ï÷ÝEf¹¥>S HÍr÷Ó–1%.‘ø?e£¤„´-ÄYþašÎÁu4_ñ÷�M Ð²6î<­–6…þJ($Œ°RA#a¹çþ1§+Ë…ž°ÍE`pž(é# *À‚¸Ûkÿ¶Í!ñEØá9 ‰ ý×±óßç…µ–MÛšÑo<£R3¥ ª€6óKwùBÚp¡‚²Q—ñ)AÏáîý±gqoJ-±G(¦�œ ¯QqÈbl÷Od¸ªM-fòÇ{‹-÷åkáÑ?4”\ë-JÃJT€InŒ¿¶gm�þÔ4çhRTÔ@‡ÃWì9\÷Â�89´‚Ð 2´Œ±®�.våÓ¾+?ñYIñ(h´¥G[8{›’m½þºàžÑÈ*#yبôi ¢Ã‘6#žÿ¾G ä •×ÇÊDBQu à?Ƕ)·pU©ûH&þ©ñ°Z̃™»m„M‘|”¸Á6]Ùzm4ªl·ߟ¿ è�ÂÆ¨æ5¦GX”¶€lEȾܿœXl!Ãpì¬0�á¤áb–”3#F¯¤�Æ�¿�ùöÃüK€¬HjíNSÑ•BÀ`AÜ~¿ sŸº‚¨×b¾ÁX`¥Óg�J’AçõÏOu-s®ˆ(奎Ä�fÇ}¹‹í{~˜[óÝ!ìpŸ¢ @@¹†ß.W#Óž$¹Û­æÂ'ÌÒÀÒnþêFÂ�"ƒðßümvù6b¹ô\çhRÆ­{ ,l@ßüsÀÉ pÝvUx›X ˆxvi {þ+Øvý0“@Wª˜·#BŽž6sb…ÈMþx[X+ û›‹Êx®¶[w¾þal7NÀÜ;ºi#'·µ©�&Ê€ Øé'™6ï‰#kÈ)o{Ç )eb4¹ O3‰ŽJò‘iLqá‚ѱ@t—:l»-Ë×òÄ6ê=’ã#u»ý¦Í9fTÐ_}öõß Ô5§„çÇc׿¤iid)©m%®ÛgêØ¯¹�ÂCËøïè—<:ˆ@ ÜqëÛ ’Vò’ë"Ý‚¾…ýˆ~Ì9‡´^% Îó\¾i¨•–é±ç�Ö:�{öaaOªkݶ±ù/Ö±¯dOäynW—e‘£ª�åK[a×´};Æ;[ÊlM{Üл_%Ë2ÞÊžª±b�ôì-¾>õð÷HÓô½)Ôj¨a}¥ôøt‘™¦åsï׿ÜK;™�2�{F w8ùÅ?ê:ƒéÎþŸaþ×Ïz÷V’y(*ªðå&[”g³À¦&h¢YPt78òPèÌÔ†ë *º ÚÀhemºù©sBR6Ñ"ÅwRp�^µ’ÍåÅ/C6Œ>"à2´ÿpÛˆ’rŒÌJË×un78ùJò2è‹Mµ×ûDt þêö‘—±¿|!ú@ÓxôY�£q®´§ßj?‚…ÉXˆ½ÁC¸·Ckˆö@ÆS°T? ±Î ,(õt÷ñ Î�É÷Œ½n©À¸^¸ãuÛF©éÒ|ƒ(Ìd4õ ©é&|Ñ|Ê Ü�xÍ¥ÿAóNÑiÍí-¡ù­7ŸEÄôç9¦eK÷š*öj9¤¬UxîC=K©ïn–# Õ˜å�]ÛF>ky¡ÍnèÂ×™^b¹ÞnrÉx¦“,áªyéÓ-Œ –eŒ #r½Ø©µÁï‹’é¼8ÿ ŸU�ùKd ê�‘\OìýrʺºìÊPiB³HÔëjOêcìX(�À÷¶4´Z�³hçÑdjØæ¾Ö˜âF9žU >g”S,òÃ(žó$bà |Ø +u;Ø6ǩ҇XÏ YsiÚüíÿ?u¤szÚúJxš†´ pˆe(Âá˜Þçÿ�n§±å�¢ô(kMæ¼SšNeÌj§f>UšHô ’+7OÃÌ`íQµ¾AMù­ˆ# m8¿ÉS�助¤‰¦žÅÊJ¾HÉæVÛoÏ× -Ø>ÞŠìNmg”$EVa;ŠzbѹXä:@>œ¾8±ÚÑûÿ+KK¤;{­}Ç›ý_¼W7ñp”d P8Q¼OžÅ’e&6�ÆCao.ž—Û¦$]`+Z7ˆmÇ Iš£Q/ˆ\É3E‰¹ßèáˆÏ+è:65”Â’‹/ñYBªà‹“sŒÂà´ZÁº›„ôykB®^F' µþvýpwyrƒ£ hØ ‘ÄU/O·þ�ùÜòåÓãoŽ6º|ex®µ …_ʫڡI$)¿_ç2ÆÖæ­|ÿR ©èåEÀîMǘzâckŽATߟ)FÄìSÿ†Û �ºž Lâ’^ݧÔqrJ°¸Ùµ7¿¿,(3u ¢"¼Ô�IAó-�sÛ–"PÖa©/Ê‘Œ5Õõn6;Øsç€sœEÞW_ôˆ j7åk�–h(NüH¨¤ÒÀ_S“ÑålF÷7‚–ÐÛ°ˆçxÑnT�^»î\ Úò©sÝuIÖ[ªYI÷¶ü¹àC…eu5Æ�„ê+EÛaÃÓ¿¿“Ê‘pp�( ÙYnÄ›�ç¯�¢x¬P?š\e´FÎ.€€ú…î;~|ñóhC $ae ¯¬#IPÃv-€yÜ«¹…§Ù§Ä�f"ÄOÒøŸÃ‚TÈ3Ê*)„€FY]­g¾ÛÞÛ÷ÂË;á!£s¬&€¯ÔÎÇm±Üa.‰²Sˆ4HÒ‡cÌéap~·÷â\ 4Q;Œ D«Ì@`­²‹î:ðº6Uw–÷Rt„¡eð™¬,·6c¹éß Ø@°ˆ?hÎT”1@8æ¦ÛŸ‡O\U|d0‡$—n40‰°•³�}€<¬Eÿœ ÛE2»¹<{ d£>$†KºÜß±Û—¿líÖÂtD‘Í _B�J ªo/—‘ňØG—�¹�³æ8Iá¬÷4áLÞ ø�‘�ߟâå{Œgu 7$g?¢©3AÂï> âZ?h9I*LUˆ„�n6ÞߨƧEê^%C)Èî³&€Ÿ�QyŽ_>_,€G"%¬‡UÃoé�Y!ØòZàGªSK hݧ`�Fwµ‰'­»âŽ×œ“„Èìy’Ѧ¨‰ä…ìIÒÑuOO\©Š¶•ƒrIõÛŸ\R§•YçÓôRtÔnïuFUV«Ø÷ıío”r¢Q»ÌÕ2!Æì†û ‡KïküñÛ€½à#kp6œ¨‡H·‘ô¨&ÃÔ÷Àˆ …�§—Íϯª¨|i#°pnzØa£ä4 ¸Ši §Ä5”¹,Ìæ/‹�÷$ãNÿÔÆiäü.÷\ížf5ÙÍTÒ�YlÇ—»ŸE¤cYuæ[pÄíÙu¨¤¢�Hc™^&[m{ß,q�¤aÎi(ÁNŠ..«{ê Ì[c€sÜ[om£k@Ŭ4$–¾žV°þߎÅP£¹îQÅ¥löÜo¦ÃþðØêð†J¥æYˬþ<êï·ÍCS‘Å{9k¾ýI¿m† ÉmºÂ8^Õ%M�µÅÚá—o‡çƒ|Ž"‚ TŠSÝ�( |¾QsÛ~Þžƒ½Î6Á”{ÃÂ=)ä:_ª¶­Ï~Ýp žB<©S=ƒ?¢˜†ÎÄt·[b&pc)Ö-¹ýQºN´ h#•‡?†+Æö¸’”ý§&þÈØ¡ üèH± sôíé€-oáT�€i# J†^]¶>£å€£MN:†°Z"(˲E«Y½®î Îh89P6ŒÞ !ôGÐ7ü7åëŠåÄ» !`*—œW±&'ÊÞb¤‹|¿,qÞ@ÂÐð7eE’îÇ~[^æß.˜½åÑü—=àU¦Žͤ3é¿]‡»l�nT�ñœa†1µ€$’¾¾¯Ž7Tî ²1óRÂní¯N¢M­ÈûöÛ|toÑKk]ØRÄ.»±±ÍÈ^ÇöÃ-÷Œ”%Ç8E¬DøZ’Þ¤î=}Ç~Ø‚ÐEÚâhØå 6`ªŽK?‡­ù`…9Çïæ�ã<þéJ¤…™l£˜Öÿ?ç$�­ãä“0òð‘,z�;µÀ þ_˜8&Ë»”Zf£¼ò�%ɱ½wùb³æ!ÜZé„xIÁ ïæ$ €@Ø ¹ãB#ýÉs8Šk±èˆ‚tжóÛ;ÃŽê!uœpŠ å6ˆ¶ö-Ïk~XW–ÆÜ.yó`„KDÑ�`7æ/k{ºá®yw”›ÜÊ7ÛÙz‘ ’-an@o¾! á’‹¾Ž( ¨!cµ»mÏ3®œà‚9O¢ê³·Ùë:ö¯Ä™iz9ŽX%R[EÁßëlyž­¯ òðV6³XAÚÃÊýQ}—>Ιopþ[KIAUQ ËG£:™6´d¬ÈÚç;kWÕáÚ>Ê~ýZ‰•½Ž?E| ð›ao�(É_Xøs¥·M�2Ӫ曼-ßÁÕT¼eÃÃ0y' ,‰k�zãw¡tÖêâ±€¶µ-ŽX÷]*¯püaa¤jg§µ�Š�ì¿?•±c«t�” W›vž…U-;¤ï_—ã0¥Ô#�]Û猧McšÛÜ;¬I";è"øqé©j¸qK,uík»�-ïoF…¬1‘‡:ïþUǼ6‡tO æއ/¡Ìh|:Zj†0ίu*dØö½±GS¯ii�í¦´ò;£Ó4‚B˜|±$�Œrêºxgšo›VÒi”»M‚0|XeÅ›ÏÙjÜEð=ÕB†I*êaËó*ø¨dx&ŽM>$z –3Þö6¨ÅM¤ñoèÑà|ŠãmZ×)â/ÿO¸Ë âÓy4Q/ÜsŠ[ßïF¸ªVݸ¿ñ…hõcNö“å®}ýÂÒÓ45Ù_Bx—;ʳÎËóÊ'C”Õš˜’@WÌA>—Ç×:ž²)ôCTÅn'êµõìÜÐêÛü®g­Í¨òꪊ¤›ý¸ÑÕ^-$˜�3é¤ê>e&¦8NÛ¶‘éGꀗР¾_ª�È©2êYòÙ+(kTÙm4NÀëHäü˜ê sºãÑtI4’0 M}|°¹²UR¦¦Í²éò³˜WMW“RÇ.Kœ¡…=;†H)ält‚æ;cÏHù0ï>ËUŒ%¤�EHã¼µ¨¸#ži z*,Â#&cã‘._2>�lœô¶˜É»gâ¡ Ò�:6ŸÅyE­ ð¨—?}Ö‘ö­]œñSKÅ”ž.Oí .ÊZLÂ8ä_®ŠþB€l]¶¨$uÆ$�SÇ„>¶Ì;ö!´�{‹• ›ñ†m™ªq_Uä™ÇGfôU.a›zH<Â瘷¦'PtŒhu _ª˜4;mÈ=”Ÿž,Î<?á§§à¬ù£¨03L|:–�ÄrÒÔ*Ÿ++Èý»‹ã´ºÇ¹£c½Aïî?Ê9º{Xã´]ö+BPPqFi_YÆt¼ECASAUW÷Ü¥›Åÿof}Âõ0°,Ãc¶œR“Q5ã’}4mgνDz­pÌYÇæÔüKU—e•õ3ËDóÁ°�—ŽÚç¿®+¶Ko‰vë¬-C&É[°áZ¨ ¥§Ír¬ƒ6Ìó³)¨ª•+³1 IfФ¨e<˜…>‡¾*êh0 ,4œ•nkÜýÞœ+÷¦_ÀÙ�äF~3 ‹*jhR$ñ¸,0˪ǣßÚ¸[„¬6 cM#ä#p¥Ï™”TùÍZù�¢Ïi*)äË2¡Ux�%+ ™tM½�Aè-nG"Õ88=ã…~Xš[vB¢œÛ9àŒò‡-â:ØæÍ–ékj'J:ª „Ç©Ç'üKs×á�Aµ¬pöXžœæ“vGªŒã(à^=\«/àª*š–žV2JJMW�Qñ?ñ‚ÀeXã+¢›{lêÖèv¹8ô]:Î+²8Á.Üo Kç‘fÕõmœJ™ÆgPÓx?íu„Ú� ÒÏ{“×�ÅùC v×ÓŸ¨kÝ’Be9f]˜£—,Ê"ûÂHÁ <ãV¸î´�Âö½±œÈ&pÉ´­cXÀÂ…Îó¼¶Š![Ÿ×-3i&Iï#ð²=î@ÛnAmq�A¡éO"äÀô^~Y·r´/q5MTï˜Ó˜Úm:ªš= �‰uR6#Cè4Ð8oº§$¯#ÍÊÒ™Æm:TÈV€È_i.¾YFÂÂÛËHéº ;9ùªlé²ÌÂÖ�—ª£çôU•…§Ž�´±ÔçJÖ¿+Ïï×ÆË±òVôRç[ÁÂÔYåg ðì‚·‰8‹&¤eüQ»0v=,îLPê'$iâ5ù/E¥ø}ýÊ£æÞÙ}”äñD2Š. Ïkœ!i<(É$ss¹]�¶5ô¿ëܨCGæ½ }2¹ÿ‰ý°q&n†Ž�âɲ·o5-âoÉÛbÝ; zþŸðäù¿÷Zš}+#hZu‘gŽ[é;ª©çûc`ÂÂ)^ºÊÛÙfŠÈ¬±®†ón|Ú�k÷÷c.Fðœ5Š<|”þ}Ä4\/•ɘהIÙJCÿ÷ß^§dOy¡ÂKÞ¹¦·‰k³¹Ú®²}r‚tÜÿãØ~X³&œ7mô½@<£ò©5ȱɥ†»òåéùc?S†š^ǧœ†¸«ö_%‚ $)!†ß1ïÇš•Îî½KŒq즦…'}˜m6~\±j)Mg�d´§ÉáÕxP©uï±·\z®‘¯™üE¨û[¡ÑUib Ë);«cb@ç/*ð°¯ÐN’"º1 p7õÆvZr©?•%ƒeavÖžék'…Whí,jªñÈÄ›¨{s¿ë€kØ{åÚIoÌÔ>†PQõ ¿â†¶bFЪ>,í+ rCÛP½�ïowçËwr €Ñc-‹‹T¡õÛð.ŠŸ7a„LZ¤F}2‚Ö½Íý{mŽÅR�Ô\&;´m 7ï¹<þ{[á\ŒªNqqÉD9k7Š@åÌ�½1Wx¼©'²2N|„)Û{Ûá‚{{Ò‡=—g OÕ ½»ÿ\pÆBW•ÜE4 ø`€Ê6Ü_¨ß~_÷€ Ú7fZÜpc°ðlEÇKóßáè’ɽ‘qivvƒrÜü6ÿ¦øÃJ‡›âŒJi|EY 0>fFûlp·¿Œå/nlpŒh OЦÆý{â¹.i¦r”ÇUÚ…«¥ƒNàsÜû°Ó«qå4šXP•¹rÔ$Œ©Ðm×·ç‡ÄËTS˜Ð[eIp朚ÓOò¬Eƒ6›€ÂøÉÖé¸r³51¹Ü]÷—WPq×A�ÐsV×Y£$ä×äw÷ãÑt^£ÑøoümY²C! GJTjŒºjYZ*½Tú_pvósüÿLY›LÛÇ %{Ãh'騣¥J1eýþ½p„<“ǯø\dz) â;[K@m¨ƒ}'Ýûa¯Œ¸R{Óxû#DJªb¿ƒ%¶föö¾+Ç#Á#·º´ÀÑÊz’]ì]ƒ‘¶Ínç��v„Ÿî"”‚š:mF|HÌš�—�·n÷·ÏØšö–ߘ#Q·}R/ ’^Y�CÙ‘Æà\ò83)üiWÃl¹Ô{R'[D¬®Ž –}_Ý…º†Õo±Beä5بV¶øhcüÓDÕçä”ëLž`€²Àߟç€ð Ò;-u~«Ì’x�áe7:‡QÞöÇjààŸO_ñÿ(¢™»²%®– $O£Qÿä-È|±òoê>÷/!(ÌÀ+çIêVvg æÚä•¡÷œ*5—J¡kO™Ü«,[Ø6¾gp¿_S|5¹ó4ÐJš@æØüÔÔ)U ‚¢E®{_®*ÌNï9µ n,µé$ Æ×d Þǯ¿ë¦¸4Û…ú*Íâr …ä!‹Ìt>˜©>¥ÍÁ5hr£sú|‡/zš—_\ZÖ =ݱç甹ÛY›G�×»¿ä¹g‰x‚£<¯–[™bV¥÷]±é´=(FËwuè4±ð,”.]xŠÚ¶6'aëúãb2`Òsž]�¤³»ËQO4Q°: ±ØF¡í'ËßÙù”#DÁ–Àº›�06øá x ó(\ w— ÿ0šÍµ§§¦;ešvm,Ëß„Ã%›K~+X‡ë‡44Š„Ox X3+}..£ý¿WÄIH¶’ž÷8Sr¤à§Œ©i‚mk Ï¥úwÁHæ´‡ s�”tp:®‚Lƒov*º@ã¸"cˆ4x(Ø)•/¶•ém�Üþ»aƒRÞä¥înG)0ÒXoÿÈuø`æ¬I±ŸÉw$þ&ë±?°§»)lÜFÞœqìÂìÛ ýylq.k¸*¹�hŸº$B#ü:{ìH·§×|sÛgËÂ1ÇÍIˆ.ÃYÛ¸ëûí…Ÿ|©�o÷ò¥¢‰! â^üÆüí…½ä ] ,y¢U_;ÍD!âI‘s~ [Ny~JÓ­6%"iåÖþ&¢å\h’vùB²Ãƒ]•’–•’Qq`ß1„o±•@Äšò¬Ô”Ãú`5ì 爿>x^Æ““IF·q|R›�B\Ûk Ÿ®ØC¥þÖåt®.6M£VÓæQ�¿nßøˆG%0Œ†`þ¨Øbvä�!ñÅ¿p¸<îRðDÄ-‘“{ËoÓ fÞ+)nÎT”Píe Û­ï×§ýáe¶h~þ¨§hÍšFY+€×ÛP½­€Ý�7oª7<<ßt$§PóHÎÀïå¾PàiEqÝ"( …./m¯q„éaÜiÜ¢;I¢ z)@7ÔnzcMÁÃeCÎ<§ì�EPQã]=¯ó#§Üsè€1t–¿ù ½½l>¹wÄÇ´šŒßª†49Ø)n÷ Q]FÖë‹/Ý·Í–½¥§Gæ¥(Ä\×W+�Á÷a-sxÂâXE’ºCØo±œëÚ—ÒQRQÌÔAÀfT;‹Ž§lbëú“åi¢²õú³ýƒ õ öNû1e’åš²ØÅR¢Üèë�%<¹ÊÄ4úåÀ\]OlñªB¢÷#gøá w� À_Fø_áÓÿß.µ×¶_i@Ãy€ÈÇK•þÑÈã{㟎aÐBtzlÈ$¿‹zÿ0ÀìV»á¼ž‘rdšgj©¦'P7ÇÂaÓ9í•Þg}WÍ�±ÑîqÊ«gº%­©¡ŽC$¨ !·_v1:�kIeå"69Ø¥WAPÑà ˆÄß‘ôÅxtÒ+$ÊH4V2¬½£zz´ÑºÜ‹ôÄI 80e–˨ð¯þÉrꬣ?Ï)c«cO+ˆ\Ü97o–=‡À2�4Ò5Üzv[pµäÓOš·çÑÔÕf1GPÒ†´v]ïþÛvÂ>-ên—P±êFqìC˪L•ÍœK—<C¹}U¦•bzÙ‰öÇÏäþe´yC&˜ -4Q5pÍ—Ö¼ÕѬ5t±$ŠöºÍfíÜïòǨê“`ZsšwÛ¾ê'7Š\¶<Ã/Šª*Š:™^F‡ñÕX1*~7øcÎk‘[EÆÈÿJׂAµqÌO]ÅÂõ"©i!«Ëªy—‘ Ù ê ¹¶ ©E¦—RÁ¿$ >ã²ÒŠ:$}”E|Ô4\Gœx殦¯y)ZA¢:”’ÃJŸO¾%Ú&pþûÇ¡öV§¯1Q¹ï Á›Ë“eÕ0e°g4y|�FgÝ*wXÉîåHþXl¯dR€Ç4wý� ­À…rö3Åç.Ês^›'©­ –Õ9\s©vVñêèUµ/ºÃ¾ë,ný4Œo`{-yß¶?;w±Ä9m}gË—×e¢wÍ2¹Rœ,¶ðÀ$‡©SÐᆰC'ó>Ä?Ú§§„¸m.ä-WÂy–k[—Öä:¿Üꆩä!czk„Y¿µÃ ÷_sáù¦;á¢\;Ef]9$jùʧçœE—RgµwœŒÚ¥òø‚™ü?÷J`Ä/‰mı¸*Nû¨ôÅ]N¦hõº“ŠÀþ~á[Ô22ÚŒYõ \æ9†u� ~­ácþúÔÓÑV»ƒýxŒ{Ìéÿñú»ÜuÇ•žwOÿÇ1îÄ÷ùÿ½¥Ü\×b»­w‘g\]áçùäyE.gOJ2÷ñÛH© AäeaèÞ˜­ Žf‡A3Ckׄþ CdõƧ¡Ï+ªiåâ.$à8ø§#1'Öšw¼é:ØxrüWUB²dúⲋœÝÕ�’toÚæ§ç4^ÑrÊÚN3á+¦Ë81F¥T«%~éP·E+Í% žW"ýpˆ¢|~nYö¯šô/³R0ðšöoœTgógyÙ¢J�i¬rùhéeòf£ñxÖäÊ ²Ÿx8¹‹üÇñ WªÄš_G9ãŸDfKÇÜeì³<ûÆuòf•ï,peô…d“,aæeqëÌ[¦Ý0�>Øe-w”»ŽéOÌÁ+5^Õ8j¢¦·9¨á:³›EV>õKZ€˜$]:cCµû{°¾ x?ˆ�Ñih —–àð¡rì“3ÈxÂ-ɳzî È3)�( `dÄ€u›ðù€"Ý�l`NLRXì ÜÒ¾ÁØJ¯Â™V};{$âØóá�e%þãž$e!,æ6*7g)Ûlhiâˆ7Â’Èík3Tâ_´~K_æ´¼žpX‚¦·Ãâºâùe8gAHÊ$ í¡´\©ÜcÑô½6èÍß—�ßûK•ò1õv=?xZ =¡âÞÌ$¡«Ë¨ò.ªGY¥Ê�÷™#µØ7öÜ\“�ÀÀͤœœ'iâñH Pî©¿ú÷4Ë’8². â<ƒˆäc_!ðæKYYЋ܎£ô½ ³É‘�^”ZÖA†ºÊ3‡2ZÌÞYfÎóŒæ�‹æ³ZJkF`…AäO÷cê=þ—áøã„†6�Ë?t¹z†÷‚çUú*/q=)¥IŸý¡ŠÀ PëhÑO9HÝEÇÀãÊAÒ¡‘å¯&Ö«Ý�³Ÿ’¦Òp®}ÅõUõU4òÐåLM †-9 ˆ‡š¶žWç�K¦é!€‡ HtÙçm–­Ã—Sp™J~Îrì·3ʵG<¶@ñ*\ÓÊQ°-¶®£z>–òàãbÏÝ^Ó|7Td´ßå¾Îr¯¾æT”´²€$€SÍ%ü½öm‰øãØÅ xu²Õ�û.•®°ÜþK‹¸÷Ú�pÙÌ©¨rÚ€Z �öØóØs½±è4}W�·)ƒDÆf{RûIMX%£á *êæuNw@-ÐÚûo�£tO‚Ë)ڎˤ”Q\]™fùŽmU&a™TÏ=D†å¤¸Ô}/˦>‡ ‰´ÁA+�•äÖŒÒ>²Ö‰mÆý±‚êò€í»ì‘f|2À긷%rÀ»ß ÜCËjÓ•A=lÑȤ¼Œ4µÅÉ?¿lV%£�¡îñ-­C™Ë*«³D@HZÌǰÇÔ4ÊàИ<¢Ü´?ñoÕÉSRÌ"ð�1ÓôùcNC©9ääð¨­Q$2PÚÀ·#a‹)ðÌZl+ŽCZd1³ Á#sÚÿ¶1õºz½ŸE×Fã…´¨ßÊ%�]t’M�íîí×>xÈ4WÑ4ÒÓwŠ Çá´’�™v·07ÿ«œ1�P±ÝP›Pvœö…-r=††$ÙM‰#™Çªé7¶—ÍúùK-pà°º5€=GOÖÛcm¾Ëιׂ¬9=jFÞ�q}ƒ8­4$ä$ÈÑÙ[biŠêB/ékvÂŽÇ ½Öl‘–åJÅ)bŽ¡Iæ,A?v pî8’w^’0]WÚǧ|)�,;œ’íÂ’§q¸‘"a·_ã¯Ë²�„O$ Â’�›F!µ÷äGo®ØZÓn �Å,§kJ¶å9[LàÙ—`Qµ¾Ž<ßRë!¸}'áï‚üRå³(x~=1¨]#e܆@öº®3å^iÏ#*j†�K0°'ñ[sîÂ÷4×*LÛ@±Ïº–Ž6XÛ–¢n}}ã Û[Õs&áíî��ÄJQ\“m€ä=ÇÀómJÁ{FüÑ*.‡RŽwåqo_Ž9ﱜ~ª›ƒ¹?…zGŽš7©™ŒpƼö7ñýu¿`q)°´ß¨\¿Ç¼Y.}™TCú` ¥Mùžœ¹c[¥hœÛ+sI�9äÐáR©èÀbIÔ½;ƒ~Øô®-¦šVä!¥KÁ%•Ž„Õ`Ìw>§㆚i²¥ Ÿ0Ây¢óÐÃ\ƒÈ{±Ñ¹Çñ%¼·²v8Tk€».Äú|ñNH©Õv�›nî�ò€äÆ4ª�ï¸ß{òõý°ð]·sxî“dâøM”`Û +a±<½-Ðà¡“¿!O•¶× ¢a¥{�1©°¶“ÓèûñfRAÂ]ö#óGD„Ü1B§ðß—_OOÓ]. ÛkÿjRž‘ÈX(cÈvÂ<…P—´ð~ª@Ò+u°ÓqaÓùç„5äÞÜ•^PK²-9k›ÞI·Ãç‚/¡Nå…m¶pާ�´®�ut¸ý}ø æ¼ÀZ¯¸·Ê@´b¨U%Iç¾ûËu‡¸RÇ—o…æ,̤8U¾äáL.94–ÀOâ(Új[ÙÌmá‹ÛSs?Ï,Cå 9Êx q°�Îs¤ŒˆãRòƒr9[Àé¸p­±„£�’ÖRI$Ó³¹Õæó[oLjµ¢Á³ìž" ãU/CX–ÔKwì{[–]ccÉìU¦8X ¡^§µ¾†Â̓ËxSt¨À‹X\ïºßè *GQÜRå~ÓENFŠBܾãO[ïïÿ }UZ(õŒ.AñØ�Ç»òÃ[uOnâ QñD¡—b7¶Ûs¿ë‰,',ýý‹ˆ¾ÃÐ)XiË P;�}»mÏ–ÙNBã56ËTœTöY ãaÞø9 sR#‹¬¥TÃá�”–åpo«}ýÚEîhÊ ÿîÁQJ£]ä^ãžÞ˜®ýA±b‘ÆÂ[½:ˆªÖ/wQ°ävÞøÑÓyIs2¸<“�þÔ„k{(Q‡§Ï3ËøõF„Ù&Äcÿ!nGøÛ cƒ}ÊU‹ÿK&Ä ,MöoNý°à÷;Ð E@_Õx ˜ßÿ%ÛmCöé€3g)�skÑo_dÌsOhœGC–eôòÈŒëâ7;zülgkº�‹%¹Y’ê@3ûü×é¯ì�öVË8+˪§Ë”USæQ{ó$ãÂj'“Q6Öð±¦yo”œ¯³þÍ8*xã–¢ÊßSø'àó,¡Ò7ʽ‡Â½Ævù? kÛµjN —"ÉåV®a  úœ}'ã‹`éO[J™ec/½D•~<…M:€ÌÄa€#®ýq_âY´Ò²âÜ%'>KG¤ê#.£Ì¹3Š« ͳŒò·€xŽZ^4í%l0@|ê»þ".@ënøùóç>5ôù wb|ú­}VŠ,K�EÏ':ÊWU^G›Tæù¥ª2zšÐC9f³A1ÔÞàó½»b®§PÁ!s^Ií}�úA Ónˆµ£Ž œÈ8�Œ³Ž-§âsÌ’‹‹+#–ŠX*j›Ã�Еñ­ÖÖ½¯`0C¨M©™² ߯T+ e?#ôVŽ;áüðS¯Ç›dœ}ÆA*ÖäÑOhj ‰ QŸÅP„°�RG01§&�ñ¼ê&x{È¢/ Œ-�¢=>;Ùáhl“ÚVEƹí8áÚáìÛ+˲øfÍ骢 ãL$ 0Skȶ ßüBœy§Êé؆ß_ùVtºf2¬ßÍQ8§‰x—;ãÍøÃˆ›)ÎäŽIãXõÓUHëo_”gPøÜ¸1A®aw?šØ�®¸ð ©VTñw±lƒ/Ïx~Nã)'û“F%Ñ]DT‘©ˆæqMð�ûLÂýÔê´¦GbÛÙY¸GŒ2\ƒ0Í=¡ðæqõ}r8Ì` ,tée;8ÙX‹ŒZÔé£.ß!6{ú*>$‚Ú<­W £/à¬×ˆgᚺ\Ï:šŸUn]›ÊŸ×¨M>Hõ ™•�>Âø ã^b›Íyh€AgÕ]8k3áœâlæ—Ûv]�ÁŠ)#Ô±~߆KØüp!­•Õ©kƒì›¾øDQä-EíB�ˆx?$HëçÌ3,Ç5f\§1I–9©©–ÇÀž;X†^§ò8°Ö¿OýI�-?„ò¬ÆöJ0´æyÂTÔy¶m”Òð†S�çQ먦ÌÉ–š|²Ã(äÏÔŽ½6Æì’úÚ(úv>ê«t¾zs¿ZZ^Ÿ„x«ˆèàŸ%â,σøn†oªPM4ë³¾íü»z8v½¡” ?‡`8…+]Å4y^^¯�ç�ñf|ÏQÕRQhŸ-ÒãÌ9ì-�WÑzYñwråî£Õ‡¶œßö¶[’ú‹0Ìi€×S2,ÓÊ5ÔÖÙ…· /ß–=™•ÎÜöd -.›¢‰6´qÝ šû5á~ZŒÄOàI)g™cX� hÓýÝïóÀô#%}?CðÄbŸ!Êæ.1ö‡7¼–W™MSKRëK)EpX… ^›wǼé<‚.–ƤGßÏ @qµŽ§I#|ë.¤¨3˜�(¼•.ý­ê~xôý?à}dòmk üŠÆÖõM3[µä4wµËÜeÄ~ÓxË=©á®áššxeazˆˆ•�dA»žß }çáúêz‡7Å�k{—a|»ªúV�Çï>Ù\ÇĞĸ§4£Ísî" â<Þh$XgG1Ææö á¾–¶ÛØŒ}òàfŸE¡n?eáñRIßlÃo•ΜQìÆ§*‰ä¬†Xé ±òÛ¸#w®|t†ÜÜ/WÐþ.n§¸¨ë²’fxØH‹}œ[nþ§,Öi×mjúD:¢X †J�©£H"‰¬|F`?.gùÆL†ŽSC�7HÌŸ,xên±ýâ3Ћÿã-5æ Ù&…uFÊxR�TæO&æ(‡÷7»Óö§¨a퀑1íÝj\ÿˆ+³ÊÖªª™´\i[ÙUGLt„�*».�Fä«5X’ úÛ®}‘X<(¹Ñ›},/s·"}ß,GÕ5ޱIü¶©©ç ¬2ž¨yŒ/U KUý…�[w,¬×M¯Zí`§ðû¾xñZí9³…ôݨlõVê`DO¯X~{}}oŠ õ' ÓáU1ˤ©ËÒ©T3)µ÷Üw¾7:n  )xî» $ÓÈ ½ù½ú�†=MÐ^%Þɤ`’]CÈy¶ûoûúbnÂ,e_²º“ËÎêØÆ�Δ>a•µ:“4o‹mØþ½ñj Fã@ÒÀÔÂ7ŽÊ�ÄyM5UD§ÃÔ¢Á‡?£Ó¯áÝkÛ(iº+ætÆ¿Ne�!˜¥­ptµ¹XßcõÓO²-|2G€Hä ä†7›²�ήƒ¡ÀƒœªÄ´vEÓ*½”Ùdu;ŸvÝñ2´ÑÊ�wò޳6÷E a±¿.W÷à!v¥QîsB- ]:”ÿ�'{Ó®dº¬¨20¥©ãW@U†“Ìí·Ðó„$³”Â*þ&Eíaõ¾.l·8‚�ŽªFek¶á­ø­¾çåŽsÀAÉ$'áo ön@�Û–ý‡=ñFf:ÿÊç<ŽM©†Ì %¶*‡¦�ÓYû¥·i;IÂ�X‡bȼ¶ÝOñË-á®8ÍØn“™(w÷QöDÃ6€Ê<ÂNÃu·¿¯ë„P6K°¹ÅÙpÀdYìÅÖ6<�öÿ¼tm.¢Ó„8þ>š�5:‘(Ag°ê9†FµæÜxḬ$Æñ²;G—Ø�E¯owLwˆ{ÁîÇ(•üñßËp}ûúþvÅ·A`¿e.yÓÊ$<¯"Á3* ¸W~]~Xsäq4A¤™74Ut!7ž9X:_NÊïÛ m8í4¹Äò ª©ád�! )»[}`^Ö&ÖØÂÿ#©/ð‹ºT x@]mcµ¬ÿC•Áߌü—Œ|–ëS°¢¢«µô�©‰7\°qô]±€\€þ©È¤hز¸$í¤õ¶øš/õHkÝf‰(Õ�d@àØìà`ÚÛuóPóE5;kQâj r÷ØÁÖê±ià{ÒÒ¾ÒøÀE«*ËÒÀ-˜©=íëŒîŸ£ñ߸ðýÇe£bŒÈìÅC5¹�íõGLKpim™ƒx«4€*–ðî×n[K­Æ"�mºJ™ÝÂ+Á,ŒÖ2³[{Nø†°ùIñ˰FSÞ �kk–å¹·Ã@kqÊ’{›ÿ 3jpà$mbnÖ¾×ÿ¼ .ªŽT™7ÕòB­0%€[õ#M×ëlCì�©d Á(È(–M冷˜ƒõùaΈ7,ýS€a"Ø… !7Ò?çá…8ö#óU\öø§9’á¦-#)°bl¬vø`[3�Ž8ìRœŠ-m7½�¯{Ôo|V8u4¤=Ž�TŠE¨�%¯°¹çõë€{|7a¼ªò¾€(ä§kù˰ì?œ ¸îÁ¤/{Éóô”´Š¨/fß¾íëîÀM+›ƒÊT¯Üph&$�WÅ*ˆGRv#üîqÑ2RöÙ«OSÄ%”*¥È·/KþØ=„«Æ ÷R‹ÅAJÏe»ù… ]µÃ*óE‚�Í3 ŠÊƒg, Òÿ�ñ�8¡¡NVØç4W+ð™]•½p.yVŠ)r<ðâ­”�!Û˜íoÈ}~˜à[»Ì>ʳ�c=ýJŸŠ #S£ÄÅ�_\V.ª²�ò¡ÂŸ†$#I’Û›^ß_¾�54Qú©$EÓ *ØXúŽØíÄ“}” ò>È¥[›_s±Ø›Ø2n¯….`±JZ™4*‰�{‹ÿh÷á€4ü¡•õláNÁ ‚ªáE·ò÷â³^H60«²PÐ?%*ˆ,¬¶Ô/°; Dä7. hÉåGÌ¢ú<ú-¾Û�[|<ˆ m¼ fÊ#?åG,V"GW[IäO¯ùÆcA‘÷ÊmŽa©(ArÇJ�Žä íþ1µtB­Ò(äüEÜ‹–bw¹Ü“¾ÿ–9í ÙB>`)4ë#-ôù®oaï¶)>B ‘…‚&ž‚V±1±›íÓ .k8=—6W^BØÜÀ¯çt™N_K-DÓ8):A¶ø©6«Ão·ºF«RÖ6�Ï¢ý"ýŠ~ÇyevošÐ+Ö²«Ý’űâµ2>g�ÆëÝyâv�ÝÊûoìï‚ÖôVRÛ�€¶=×ÁýÉ çMÐ>y/²¿û@ö±”p.FÙeÇS™°ÐІæøúÿÄßhú.“ÃŒî“Еîõ3A§0G’¸�59ŸUÖfUŒf¨“ÎÛþv?*õ£>²s4¹%|›W<“¸½ÝÕ†‚¢x²¬¬¹rѳ-ûûñ©üÇôZ8!UcÈÉFÐÖÊkR�J°$˜å%yòpŸ¤o¢¶ßÖf‘²¸áðéæ{™FÖõ½�­„Š×ÂÝÖ\è[áŠì}×›‹Bpw+‡ p’f9½VgIÆÔï{N§�óÚ6}IØ*—¦éú^ò-m5¤pÈФ/-+е$Üéè»üF/ü_#á!­[›^†h[vÂç®"Š6ˤ­…ŒÒTJõFû% ²Üzï�žLíð ì½Ù%œCZû¤¬öª)õÒÅ$ÉQ©’8îtnaÞË|më¢.`-þê5誖7q~j_îÑTÑ$ÓA6_3Ê·ÒBØÅ© ì{Î#¨:ËD”Gº±§Ñ–´ç n2º*I•èê–eŠc Ô#{ ôŽ„é8ò}F¡ŒˆÁ ¼÷ kBÆVT~E’f·6Èj(¤4S>a}>";h²ŽŒ ‹�éÅì2ÆC¬YôG!Œ8º3J±™G i�píMy¢Ìþè²åUöò%tnDqÊG/+­úóÆ”O„ÄÈe!®¯)ÉÏd‰¢Ü~Ÿ»TÄãˆ ÎøW?|–«-ãŠl⦓1šd Í© Ü’ >¡ÉÆ<Ý^8$l¯a:†œžÉ?Gäh9í?Ûeæ4y’ð½ –YU–Óe0Á]GEOýÒ�KH€sØ·\Y›N÷ŸØŸéQdâ0|1]�¹{AÇÍÇO“ðí)§Í4ž ¹D3kÖÚj(Û¡$5ùrß‚qm—zŸð†g´8‘øOßè ò̪ŸÙ}F}˜åùµnyÆ9b § –biëãtÝ�ä³5Ôìmë|=°lq2*CƒÆÆ`ªo´ÊŒÿŠ¥È¸³‡ò¾£¬®¤zLâŠIZUf ®Às`¦AqÌtÇku² vÖ>§æ¬Fã «¥FÈóÚü‚³0áôÉò,áºQOK@É5Tr‘¸“©¾×Æ>§¨1ݰ>ëE�§ ¥i˲þáZ9O´NÍ%¨†žÔÕˆ\¥C3� èÀ»óìD-cZD‚¯!Q|ßÔòऌφ¸.w“‡hdÌ8f¾œ Ú9ËM”Õ ‡—}*opzñňö7ÿɽý‘ëbq`{M+¦kí+2àÌ«%Ë2jƒ�' ˆWŒÃÅËÑêê@köAЗ çÓ<­¥“ɵÂýÔ…gÊ•¹•?p|mšhš® ²¤ÓÞ6î/5ïñ‹õIþPO–-WæñÇ[ÄÙ§qШKKRZXi­?†ÚB�yö# ÔiÄÑÓߟu{EŽÃøU*žâ‰$Ì*æÏ£áLîœH¦j×ñ)¦ˆîÈÔ¯¦ Ó:Gy…ïÏÑõmeµ¶V¼¢ö3œñ!‚lÚ¶¿,ÍóœÄ?ôë$Ü-¢¶’Øõ°Dò<�ó~Et:ÈGˆ ûÕ/±~-áüÀñÔ5eZÇ®9*" }öÓ§�‡|}Ká.“1>$í«ú/IÂóºœx[?"à\�%LésJ¨ef.—ú äntô¾=äú(Øí¬}°¾¥ÒúP°Ê®ñnEE�K%%6˜åd’/î¿a|UÐFÖË\èp°Ì_´·ýCMÂMD©šDž<˜Óld‘¯³ ì-׬¿„_ÍÕ¦lqdóì=WÇ?Š_EÒ¡ñµ'ËØw+Zd~ÈâÉ2ªå“.Š¿2„«ËS2ÞE}üÚ¹’n~Xþ™ü%ü.é]#JÖìÕ’y%?~%þ 뺖­Î¿•-óÀ>ËêÒl�6§«ÿoâ©+ z<Âp^\µÒí{#^ÜÎø½«Š6’hW¢Ï�îÜÖµÕïÈÿ„¶ogùžVg¨Lë.§‚«E>w˜åò´¨Ì¿õ"ä1fR=q“­`td4Qç+fMFÙZâëõ"ÿ0¾dñ÷ E˜µnMOÄ‘M 1’]s%šEr íê1ðÏŠ£dÑ–qûî¾±ð¾¹Ìp˜Gy¯ù\1ÅYe50§ZjÄ•¤C!PƒÈ í�Çç.´ÈÛ–�¿Ft—™9¨ì"¦%ªYEÝì#ò/-Ç-úcÆ0â)z†ùpÜ”Ne™e¼-Nh›2"Ñ¥ÿ·6·1oÛ‘×Â’þîåiÜÇ3«Ìª¦ª_Ÿð‹òÛ¦+€iI*!]Ê�^ü½q‚e’-2ú´ø� a{r;ûñeCOÝ P­á’WJÜÚçÍéûáŒh)€(ÐëBg{“Û {|´ˆI•·8lxˆ 0]Ç[v<Uòð¾�ÐcßÏü­“–*‘`»�½n:þ»cÏ:At½hÒ=Ôæ”¬ÂŽ9éj£:Š•6XuÅ�,´à±ú¶˜˜œ×.x®¥zjÙ¡Õ"‹òéûcÞÆðZÉçac¶•({UÒö±¿|4p“º¹G啦–R,�l.ÛáSF Råh¬­“š„ñ"�=4íŒàKIjÏxhµ+LC$Ô¡GK [¿®;6Øû±xRÑQOU  ©r#õôTó44—•¦ôÙg“lcoŸgþÏüÑOTšõ§××l|ׯõÍçmp¿Bô<]2眮òáÏcðÿ·Å%ez]ܯ§§¿ óËAù¢‰ßï�©ü«Ø~O%]pš?½¤„xe¹Zü…þ­�ˆº[µ:F¸c±^Å¿:HÃÊêßf|Gìç†xB~ÎòÚy* 3-É>¿ž'á¾­Ót¢Ö 'æ~ËÇõ}I{÷´´µná †jîhâ~¨ ÷íŠzýV’bN“ -š×±�²9q‡ð´¹6SRólY¬õ#þ˜¾P2HX?뉀ƒd.n­£ó_K$ˆÀ‘n½®zcìJH¾¨˜ÐIz1",±ù¹m«ŸçËž,åW.- ?@ñjpþKüélt„pyJ{RñÅ,i?”n-k\òúï„ÆµC³”TIi#g,æü¯èzŸçå¸@èÅù…*Š�Î÷:H'‘ۖئâM–öPEr¥ §RKª»8Ƚ÷ÿ¼”‘eU.qÀE²êKtZúoµûœ/p<¤4¸wGÅFÀ$ëæ¸î9þx@f,þªv�Š ‹ºï½€÷sÄøA¾eÏÔ’Àì¨Õò°° “úa¢# ÏC€«¤·DU[1,ÚçߊûšéŠÍšÇÑ2±�l·V67ó[èaþ[µ,yÈîVE3xH›H†Ú¶¶¢oþ0ž×{~HËüµy@TÆ’D1SºëQÈm¿Î#ÍÝr§w—•U¯¥q.¥f[±ÿ58æ¡¶œz®Žö)í›ý�¿ô_NGÎ4YÚë õ ã.-lÚ) ãàœªòG°ÕÐ+zñ‡ÓåëG›püUUù]J c•–Á»�o}ŽçÖcÔÇâFï7¢««„Wjµªom|Ͱä/koßS·n i?„Š>ŠlÈU4T–pÕÈm}°bȸU!º<£Ò¥ž(t¸OÆ 7$íÜŽC ÚÐëÚ2Z0ЦI!Sg[� °qÚøÉ�Õ Û·Ô'`‘ xÅIˆ›6ÿ‡ÓóÛžñ±ÛS\ £ÙVú\¼D�$\5‰ÿ¼ _¢’|ÍŠ‚5ðR-wr,­ÓAÜ{í{|qVÑ÷Póæ·ð°Ñ1Bôò‚yÞ×Q~ý¹áÏ%¬-zò‡mÑïîªAåÖB(ó_�÷cå‰d~kĉG ôV˜øú¬F›òÚüñ^v4ù³Iaî#k’–ŽEÀZûN~ïã Žx\ÀA#�”’øj]h;¸Üí|'W«,nT¥£ÌwgI‘dS¼­ÿ¾�]"ãÝé¾<\�tÒm`ù«0ÆjÀÉ\¡U4µõ�;ÊYÙŽ­Ms|zíœ1•KÒG˜Ðç#éiŽ´,š,/~dïé†ÝùE®t÷*~!Êà#¸>¯‚‚‹¼ýÕc9n覇ÄTj^VžwóFgZtˆn‚ýHÜàœ[°h d¡Ýÿ$C©Š¡&û‘¸¿Ç¯\2 ²TÈ+ åM ¦·Ðê ûÁ¾P<£Ÿ’ØÞHS)HŒŸÝk tô÷aeí¯0Q)$ù¾˜ÿ+4Y…Ôuú8Quš ½X·å!‹)±+rNÿ[b´ÕxåW.p ¸Z4.¦Ó¾Â×ÛdŽºp]©”¸yF½,E–a©wØ�:úã·fØÝW'‡Ê•ðÖ5Rt– ·!üb£ß»²^FÊHDÝÔ™ØvÃ$kv I�ïn5 Ä©_–Þ¸K”çòNhpFA D†FðÐnw¿ëƒÔêMm ZÛóáPø›5j‡’(Úê f‚&îV§ã…~j‰ ! Øö¶Æûþ‡¶Ðs”æÍC…;COg�·[“b6_òë�.œ$¼° qó+U-˜þO§¯~_¥±RÚÏ04U7»½«,;¨ÑqªÆÖ6Û˜ùâ_( ²«¹Ío˜Ù*R[&÷ç°ß¡ùá09—œ¡Þ¦T¢]�€.6½�¶ï‹, À{¶î¡�º’‰5€V¹¸ÿ¿~šNÚ!žúñ0¥ €‘v¹·[u#ç†H_vUWjK…œß¢±ÁL°3‚ž^ÿç$`¿5 ~ °ØG½3$gpE�ÁøK¿9ôì ]Ï**P¦S³¥Å¶çÓóÆf°�ý6R]´<´±¹Ü!f6·O~Øíu]#Ú×›xÊÄYc°Ó¥…ùëüuƈ`.$¥’IÁST™I bŒís·¥¹bdžûò‹\L›¶þÿ%7 RY•yí¿­ºã£Óî4÷cÝ(4’KFºp×Vgt¹u <²É!PO®ý0Ri˜Ðw:þ‰¢¶ùÉ¥÷—ì5ö,L©i8Ÿ‰rÐ*ˆV]iúcçý_Yã>ŽB«$cñ“ò_x8€`+MIGN°Ä€ðÕøw¡É;ÆÞèz{µ2†„qNO,¹K0MÎÈw¾.õž­©†gitÆ«¸W:ìÿÉ5ÍÕ”“ÖO5EA’©î ;þxñÓE#‰ñM’¾pùËÜO%HÐF°Ë>€ÎLw^ÛôÀ¹â'mnOÝ6(‰'qYÌ §¢�Úð”fºôc‹º]ÞZdá¦f±´Ü¨¬›.¯’0òT4mýMûcÙ˨��»……¦ÒHço&­t§²yW=Ë"¥–MQMNI'ûÈýq…Ót¯×Hæ3¼Úú—@…’F¿ Ü[zŒ¿2@|*HãÔ™»�\\Ó»Á,a \ò�0<-OšÌ�åtTPê©�#fiobyþxÀ×ÎÖÂÆÝ€2VA�ÎZÎö;4™^]š%MX“Ç�„v‹±÷ãKá¢!s¶wz¯UÒcˆ±Ç•dâ¸^¦›4¥D0Õ²ì×Ý�ØXußñ$ohm?æŒÇÉà®iÌë+¤ÌÑZUä¦xjcÔ,ä 3[�š8™Öæ¨ÿÂ¥$.ÓY U] UK‰¸Í°¯˜ˆŠ‚¬;‹\cÒhµR®ޥUÓ¶É+dåÔ+šM¬ò#SÍ¢Ä7† 09ñÆ éNÔ7d#yÏ+N’vƒJ6§!“)ƒ1¨--\²F ¤/¤ÆÑ>ÄüØòÚî—>•�d〭=.ž†öŸøZÏ5Š…ŽMA]@rŠ©}Þu{-`pXFÀvÖ¿CŒ!£�â8œÓw±öK”¸;€}Õe„œI’fü,ô•”\[–²G«Õ¢�Jò޵Ç<;ùWM§v‘�-™œ{üÂ=Þ}Ì<­=˜f\UÄ•yþkU”TÐæyl+WQG{5^“bè?¸² @�ÉcÎÄý\Ó–ÊÂÞmY’m*',¦€Ã˜ñÖ[Å&¹Äz©(ªÂ0ó\¢û_µ1Mß¼í»¢Ôâö‚¹OÚµ&CšÑ×ç<)Äù{Wм 3ئ%®%KtB#±8ñÝJÆï¹-^’'Höó…δ|J“CŸç|Q�f7œÖG�t2š€€ÛIé¾ÀúúbË^Ý@/sª¸Y{LN8Áî‹Ì= ð=nq˜?eüiõqPÓGI /$Lµ…Ïõ•FÌà•å~Ú±:m<[­¤ü»"Ô¹ã‘U÷V >ã*xò*ªªºÜ£(ÎQF`fe¨v•G÷‘º¤óåßcžV¿cÍìªÏªˆ´<7'H2ìÓƒs> ¡á*<§-zÇ�i'¨rò$š…„m¸ ìBúœfËÙv»¿uqš¿%�GÑXëóOhÙ�vwšC�ð}6kF‹”Ï J±ÆèÍ«Å[ ·c¿1†I›r·#‚ ½¦�Ûª©U)xËÚ' e•+�g~i*fåÕ â¼Äö„–ÒÊFàõëÏã€(�a/ÂÜìYCäÔ5’Ëy©Ìèé€×M)ÙSGüwøaš(m®k¿/’²È$—ÌÖײ½ðß²lÛ�D~ÂðÒ‡Ó—HiŒKRWqât+éë�íÚ‰Ú1ö^ß§ü;ª–šèé§Ùo ¯ìsSeÐp-C;d’�Yª4‘ýº¶žøö?àY÷(~åz�/À]ºWãÐaU&àá,ÌSp½wå}–™Œ°õ§bÞ¸¶ßƒbdä´ñê—¨þÆ_¸<�è­uœqÁðC÷,û)ɳ¼ÉZ…�¤rKòé�Q èšhÉ20_ä½Oèšm3vµ¹ùZ‡Ï¸«‡£¡ˆçïMI�ÐÓÆ«¢+~'öôǦÓ£joÑn¶64Ù •/ØMOx –‚Þ¬A>€ƒÌcoEÔš6û¥bÐ%Ró,âJ¨çXþàŽæÆ89Xmøzm…êúƒæ”ø_.ÊÔŒÜÑÿ¥¢ý§ñæ_ÁY5MvY÷l©-tn?­<�°D\’zôÇ£øCá9uS¶6d“ÂÆën= šR “)83«9—WªÔñf²Õ˲^�¹ˆÍ÷°½‡»Ù/àWÀZ‡:]ˉ_W§Ñ1Œ?O׺–ȱn‡ùNdšæÙÔSåYEuDȦ¢8üÅJŸ1pyÜ_×Mê½T<†ÞBñ½'¦½ – •×<5/ pÇæeIìΪ«Æ†háY‚}ø2[qæÚßy F­¥Þ5Ù^‚($ÓG´‹g~ù\qí{7ög–åümEMÃã$⼬”l’V(C Q\«½q…Öú˜ »GÓúwŒçFÖP+ãϵΠ¢Ì|tÑÈìúˆ“`ÐÆOB9í�†|W­»=¿%÷ß…:HŒ5¸Æ}íq½U4u•õ ,‘—�-%…®9Xúï�Î}^vøÄ7Š_¢zd.1îw*¯_�RQÂhè|'Ñ`è,<滪µƒÃg~ëÓhúCžwÉ…¨sÕ3™%y ÌImDîO»:}Aî­ë4,¬*[ É!Üj¹µ¾¶ÛÞ&êXˆ´¡5ò,–<‰äoõúà‚¤á4À–sNwúï‚”‹H �K­˜…ùm|u÷R#=”E@A#jæ/ØáÍ68[�†G‰N®å~Öõôúï�Õˆ}# YM9[O/Òî·±ÚäÜÛr]ËÚ²Vµ´T²Ä�âjŒ3�@S½þ'ë版Y©ZštF¿EÏ|[LÔù¤¤×sk{žŸ(s)|[ª@æLGeVm®o½÷y|^"–k�Æ6R ÍÊØq( ›JëÕڀ¤–Ì–Üß÷þ35mÆõ^H‰ál¼¿%«©uTWM·¸ü?_¶2¥ÖµŒ.¼­.—ðôú‡€ÖòºKÙW³ªœòºšš*w™º‹^ØùÿZëfL¾«¡ÑCÓoeô„½�SÁLs«l…çÅ+ËõoˆÝ14Véʸk‰ ¦¥›ÂA¥u >;u8d2Hæš|«Ïèœ<@\U2Xó¬«;ªJÄ14¯Èclwó†?)Èá}�§ëb|‚Îa_‚dk–÷cÊkmï²0~©ÌXÿ6 (iÒ“Ä­Ì*<ÄÛò傇H÷¸1�ל{Ý!·Pr�¶.<‡;Ìš‹/”Šh®˜Ûmø7¡ÿ.Íî>eâ>*ê�’¡gáõµ %V”Ɖ³€?¦>ŠÀ*ܾt^àjì$=4¨–Kü׳Œq"Îi 8e6‘°i�6½È$qùàXmÞË�®0Ÿ�™NûnAú9$e‡»$ÿ´dÈê—ðïµ¹a2Pˆ‚)L»IVÿãs€v2«µôê´ìaáÒèšEưMɾÖ87<¨œ‰$EâK ‘½È-{cšÛàð¹ñ�¶E%•EpQnŽ{ õí½ðkw÷ôU {¥E rU­¬òc¾£Ø|1/³žJTp–Œ"’f"ή?ÜÇo‡~x‡~”ï�NÂè¡Q3³° º¨ý_kÚâp¦8À9ÀUêêQ$Hú4í`Ä~?ŸO󆇸’ ~è‹@«P“ÑÈfÔÚwa}$ lG×l.z,-r™×~•Ú~Ã}³Á(¢öyÅúj(fP)Ù†¿±æ¾¿‡l'A­“@ëaõUÜv€Dz°q¿ 6O˜Ë5¹;1…Šé..Eíktçûã×=‚aã0’²eqdžAcÝk¨äºîÂ=&ímöï~]q€ç�hÙ+E’46Ç%LÇ"+€Â9!�õß§»øÅ³‹îP>ï”CÔØ®À6Ún/sðåß\ J0Æã‚—¬He¶‚,Èãfõ=pÀÏê‡qqM�#!uDÑN!äEùZÿ\·Ãšç iô*ÓáŽB’Z8QÜèµÕ€üÝnX3üÁD¬<´$É)f¾¡3ÞÀÛ�‡_•°rIch4¶bÝG÷ÙU"RþR¨7*cå i6b4‹h=JFLzu"­ù‚opy�¾!€¿É’¦K·”äÒ}¬À‹o¶þ€ïŽ1ÙC›{>éØÅ!,ÌSB¤¹;\ûñæ:¶£uŸDƆ˜ÁÏr¹¯�x‰ó|Ö¥b’Oº)*€m~C—×>¸gHÒ ñ ÒÒÆCì•N¦§g ×HéÌ|1¯- ­%:€VX”Eº‚ÖRÉ>ïË !ÍmQòÜ0SàYµ¡}vê ÿ�v&0â+²9Hw˜òމ¼ ²U ‹7__†æ¹®;ŠK�y)2JÒ0�ßÿ�;.ß[sÀ1Ô/÷öPÑÝÆÓqÓ³Rƒ0�úë‡8‹¾Ë„„{"Ö/0óYwa†¶;mú'G&(§ÐV=Zc¿"6ÇF1žT>G7'¿dúS�q P#[íkàep•HÊîÿ SÀÒ7ÖTs¡ú¶*÷G¼�²}T�>#ž¶¸Õm¯òÂ{�Xn¶‹÷RQ#2¨ó ›î7õ÷cˆ¡åQ!ÏåÐÛ�€Å7Ç»$aVòÝÚ ˜ÆéÛõúü°ÿv7óQ$dä• 1RC;�ÏS{ûðÓ±£q Ü4H³AGfù��LÈ’0�‚.wß l{�”áYŠ…4]-Y,�4¯©•ÔµÆâß÷�Ý¢¯è­Pá–ºµ‡÷¿Ïç…½¤e•Î5Ê–Š¨� ïÒ÷+ñþp€sC”‰'StЃ©lBî/Êã wíê¨Èæ8ùU†–+%�5AäÕ°©}Òwí9 n(nK_rí}ûà·W˜Q9à ÀÝ©8#k•»ÌZÿž-dYQñŒ§i©¹7÷t1`J/8+·sßè¬TôÁJ‚JËÓnø­ au—ÙûªN�8�øTõ<‹ _uîm�†S´““!>fàš°BÔv$Ÿ^‡àÒÝÇ%XkÀ* 4wu ÁÁÜŽ¿\ñ�<ƒ’éÇ.ÈSÔÔQ8ÙX\;Û•ÁÆœ1°är•¼“l ÙI“.ÇJÛ­Á¿?×ÐiÎàçŒ'ÌÇ6¶jÕI•,gK"‹uÓÌôÆ›Kå8© …À—w*ÅC”‡HÕ 1>P9“õÛý3hÞSYëuõµõïìQöb£­z^%ÍèÒGÔë[€=1ó_ˆúŸõl?d—9­³wKôìß‚¢ZzZ ºŒE¨k[å„ô^”ýC€`$•Ú¤Õ<4Ñ9ÕFWìû xÆ�÷)“J(üEŽ>ËÔ#Óô>ž]�Üz¯£øPôÍ=ÿy\«[IQâæuÁÚi†°ÌMÁ?¶>3¤‰ÅŽš_Äåñ޳¨2LK‡¬¥Žƒ/4öI¨®zz`5ÃÀÓ†U“Ýe2,Ú ™bD–I³²Ý=£u¸YOyhª×ÝÂo¼±1¤„zŽÄcCQ©  *piÃòåt¢Zz9&+ãS_\v7!°î�$PÜò�Á^ÞÚÛ¾Ìd¢¯y¥£sOSdÉk¥°¾“®qÔ™Y‹äz¯iÒ4ÂF—0ä%œe~"¬V‘£f`ѲÙG®¿¾>¡Ð`š&;W®¸±�uêYÐÜýSÇ QgœW“8Ìè¤�1›ˆy#Œ£ ¶3ÔÛqq{žøù—SÕi5ä¼—�±YS<°U´œœKšK5W³ìÊ’d ’F©Ë+ê­ª†e³¬i(Ü‹oÊøÀÐõ©#ŒéœÎ8'–Ÿd¶i�'ÉiçŠý¥f¿q ³ÀÜa@"�£‚£ú²F *À u‹ô8Û¨ë'—Æ$ïf,ÿÊ|ì�Ì.&�õ™ÞoÄ•Y'ÑÔq�Ó}ØÓ1x �ʱ&6^«v$uŽ+ä{¼W¸úY¿²®ÂààÀm¤-sÇy�³ÜÍ2º,“1Ÿ&΄Áké¡�Çã-¼Á�þ7Å©bŽ`(Xö^ƒLt×gÑrõyáIæÌ%¦Èóº,µ§û…%\ryÄï­º¡;ï°¾<¾·BÆÈK൴zš"ùESäàü²£‚,Õ-UKP²TR mA®ÁK�ܶ&�¦™#k¿6ž7âéM ÖæUtEÅ™mDhóÉXÅ HçyCm­Gov*ÚÝ$¥œ‚´l¼‚JÚ‰Ãtù|‡äÓ®mFó Êu^·BîH±÷cc¤|6áqÊõþ׬Ðü9<„9­òŸU-”ð²jJܺ²ª»9LÚ 3Izƒá;¨ ˆÔ ¶=—Kø_LÍ­&ÝÊ÷}?á}<×cì¬\iö‡5s6_]Ź^Y8ÑŒÎØü9c×O«2Tm! {ÒõŽŸÃr˜Í~ÓÜUS$4u9Óæ™dgJ̇I‘{‘îÅ9µó4†³�ÜfÓw Ü…Dã/´¥ÔmCM >"©™õ0oU<ò¾i_MW>T.6Ž/D^^XF–ê˜Üà­Ušý¥2úG‘¡Í©é!ßieô¸°Ý$®ÄL z¢—VÊš*™Uö£Š‰$’Ÿ2– ŽÒ€üþ8Õéš)ã–€6¦MweL{%öƒ'·/i4ö]—ýÂ�#§–ÔT°ÛUú€Ûv7Çïú]øM“j¶aåg¯ªü«ÿPÿÌ4ãK ×DfôùŽK,ÜC M!§“¬•]|¶ tk›‹tÇô ¨ë›+ƒÙ~<é]8¶7o»ùg9Áõ9KCÇG;Í¡È3ÙV:¨à£ie¦Ub5º�ôÙ…ûü1æßÔËä2¸VÜ|×£Òtéc‹Áe–žç�®üa•œ--KÄvStk,K•s˜•[peºy¶<¯Ú„ºö0[Z2¯j\ËÉ!Ç¢ùí{?‡"¯Ís ’X3̶8–XEl@Ï [Km��è:ãÇu�KFy^§¢išó³-_4=²æy6^$̨ó4’ÄCËÎI%G 6Çç¿�úà£8î¿BüÑ¥y'e¹ßVW¯ÝéïMNà/™Ïr}wÇçý^¬¾Ëpºý¥ÑÅ‘j¿IPÒÎC©ß¯?}±’à¤^c\ErÌpMÎ÷õÛ®øæHŽxEQZ÷2ŒG"é%zÆ6ôÎÂòZø¶�!Úö±Ûsõß]V²‹)&ëeò0ßP$±%Àá@6âÏtÿÄ9Û¿ïÏÃê§rŽœ–u.äõÞýM­†´®‚·‡R2ÑÇ¡HkƒïõÛÝ�Ö%óÐ_Vøb'™lÚÒÖ[¾Üþ¹cÏK#>«×˜›¶ëòSˆu®­¼×þ9â©Gü± µÜ*?pÈÍãŠx´G(쾿\lô¾¥á�§…óψz)w™¿‹Ñj¥á\ÏïmL#(Ú­°ÜŸ[{ñèÿîqíܼK:N »meXi}šf•RÂÒ•D¹Õe'†(Iñmn¢Òü «“$RÛü3ì®:6V4Í$ÂÇQÞ߆<οâQµ˜Ê»‰Pá›ú†À5Ï/Úøô-�ŒƒÔ=Ü”¦†E‘/©¶&ýwýqdF9Ut”q…%‘A@¶øþø^û48Kk…e %;’S ;ïßùÃ08B 'ÌœŒ> ©e"À£ëlq6l 4’ŒŽ™£`$»Æm Ž‡¹øþ¸D‘†Ñ%\,V)JÅéÒ^¶=yo¾9®¯Â‘,Àºî‘ˆ¯âˆ˜:¨£X|°¹vr¦Y›A¼« 4+b§RÊ6#Òý-Š�ÜG˜R-­òž=Ô”JšKÀZÄrßÓdìF}•s°mÒ¬¬-µÔ‹‘qÔbÌt29ïe•^kL-:6´‘I#ªþë~˜d›@Á¤-‘׿ÏÍ,Ba¶½ã'b½Ç—HýSßw¼Š£IŒ¿"oñÃ\VÈá[I¿²ó—Œ(TS.\¿�ŠíüÒ„Žh°p—–´Ž¬¤6àØß�<ùóIJ=à ÁîüA£³¶£±·A~¾œ·ÃôšFÜ´Ðçßý£|ª|3¤[¾÷ô¾#ßXôJ:z²Ð•=”«¡ï¿ë¿\sˆ"®‚Ï-y´t0iÐX•åî?x¯¹·c„艷sïÇÙ=#:KGÔ¹ê$÷ùá�Ý’ÝMu:�FA  H{,OxùâÛÜE;H9ãÑK¤?Ñ'SµÀØž‹Ï]ýUmüƒ‚Ÿ³+]T{¬6¿QŽ ÎR¢!ç<¡Þ�M¯�,l ÿ.þ˜\ŒWtÐ|æÅÒrxÒ–ŒÎÁÎÖ‹~£žØ¢ç€ìU¨H»ÊÓ9Í{ÔLñǺk[}»ôÆ‹ü+‚GU£ €º‚XóÜXí‡4¹¹q²ŽFŸÂ0í59K�VowNÞì Æãv•#àSPÓê³� µ‰ “nÿ\°³¿‡ ôT§eeªj™nM�.n¿Ï¦#¹AÆÚÏï²’…$K_W0}sÂ[,R¯1;nóöS3Et �6öÿ£†Aäp›”ÿ Ã@ hx‚…<Á°¹ôÁ¹¶jéµEÍ#ê­ÔÐØ*€ëÏþð;MUñ쨱ٻåOÓÓ w [iêO¿¶:6‡4Œò’ö– pGø~oÃ*›^ÂÃsÔúãœ7 §8X²+Ù"zo+]?´X Wú8¸í8Ùrd¢q¢'Ù IßÒ.�ƒ}} bJA}?¿ôŽˆà+NUL€†P¤�ÍýÝ/�A¢Ó²:ås²ˆ_Õ_)àŽÑlVñ¬Øï¬¸1´]šô±RÓ«‘µ”›ú�ƒ,hwóA¼oòÿµÙf/`ù—´' žª…þâ’‹6o\yo‰:Ï‚ @䪚�F㵫ô“ìgØí?eYv]GO¢Ê¢Ë·OLxN™Ñ¤ÕO¹ÀÚÏ0½ï jì:ÜÓ'öaÃòU±FÌôùSmDôÇ×¼Hº“Ç9“Ñ}LÓ™Nd+œáâœ×Ž8Š ÜÎS#ë²D Äk�‘õ‰µ=BoQ“Ø_ Æ;ªË®“t…l!Ë„0�3©K(Ç¢•Á°ÿWŠÂÅêšGò´uL¾!s_;ÇÍ#ÔqãLÏÕ:¯�U‘/ôÚw]–¯1¢­ËAp50Àæ>X÷Ý7¦5‘´º‹‚ósêå8*~ÙªëkäU©Ë_I*?¶ý@Ç›êš{{�·Éê½O?ÜJ"º˜SF°ÒW ©ª-"¡æ»ãH]°°?è®xVðZ9[;Ù£‡7Îëj*š9)Æ�&`6Û·Liü¦kõn|¤Ó}x4½oGsb%ò¥¹³üö<Ë$žª(#i„¿�y¯}±ê~#ê�›Ni�û-¹u‚x‹ë6µ†c%eE<’]©ä&÷"‹üödžv…²ÈÒMý)aÏ0<÷Uª3<Š<ɾ±²¿9Àˆl‘–ëîÃúpš'»ÌC/·ù)bGˆéªÍŸÉUþÓ˜eï7ßc$é,‹bÁ—`ß‹•xÓ�8Mª(c€ÉQÄÍ¥ª* rFM„‚Û�}F?/k5P— „øž á|éºWU^Žâ<ß,γø8C‹8ƒ3ª¨–¬-5tM¢6„¡*ÌG'ÊOq댧Ç.¢f±ò�ïUcÂdc`iú*ŒT|9ÇiMÁüA#TPFµ"¦w$É¥N¸\�аQcÐÛ¾=Œä±�Òz¤ê]U¢¿Ú>iÂYœÕ™5>wÄ9 trTKNc³SMøœÇ}аkÛ¡à×âoÛ¿®V“ø�çé‹tâä=’ôÒ9Ü~/ue¨áJ*Èrî Ì8V±8â¢/£0Ë A˜Óß_ˆPy\iaîÀGÒ·µ¢ C¾ßuv=î�µâÜVÉàO²ñ>iYšp¯q]¢M%lÌ{„Òwéb1ì:?Âú‰˜_wïK×ô��äÔI,�ß¿êºk†2ÿgœ) ÐgP®e�ÂÆ*Ye-8h×mïé�wÓ:6’Ô†Þ8µô>•ðö—F<Ãs½}�ý ð-#ÖLÔyvSœÆw¬Âû^ÛbÄóé7n-Úñù¯Jàvm_=½¯} è2ºzˆj£¤£¥¨b‰)kߨ8¥¥—Ç>VsöYÚÍK`�sŽ=×ÏŽ'öÃ]Åy…FQO=eÊöJ”Õã9¶ä[ûo|{-7J‰Ž·4;÷Ø/—uï�^˜ªÅwµéò¹)"ɳìêt¦]'ï pçc×ÜlkKÓã"ãm�Ñai¾&Ô½´\àGæ¨ù§¶ŠÊÚšÚüΫ.vHLKCçrv%Aýñ³Òt¬&› \u­Hžî|.â>5Y%u¥˜Ç=îR'¶£mýH;ãÑéú+ežÐªG­s\^×YUÄœoÇÙ”´Y6SžÖ(_ š2J›Z÷Ž}q|tÝœo’�[Ú}N®sLºZ‡�øÛ&O ªÍÿÜòÕÕ¨x­}o{t8ÖÐêú{†Ö öÿ FM&§ûÁö\é™ñgQÕͼA[ :´°.lÛtoØcVHt¥´ÆZÔÓÁ(m¼�>kô«ööaûà¬Ö±3J®$¬_÷ DZñÒÂKƒ{­ëÂ^Ì8 VWp¦Y�Óñ=©Q ÂÒĵ‰]�¿pm�Õ>>ÓÁ‘¯ØOÙzþ™Ñ¤{ÄOi£ß9\?훆¥Ê³¥àÞ#¡¨à¹#Z™(ª Ë„Lv*C)µÿ{^Í2ê: ášl“‰£–Zvk†¦spynm¾2ú§]!¥¯¼¯sÑþsdÞÚ¥ò£Û¶u;Óeù\&ŸîÅ�ÙRÁ…Û`Gnxüññn­îu8ò¿F|%¥Ù®Zœé±Šì¹ÚûßüãÅ�Œ¯py F–DÙ¥µnF×?ÈÅ9Uèv×4§!�J�…t¹½¾8¬|¹ ôa¤m&Õw?É—ï0ê n@èvüñG­£G…纷L~ÝíÊ×î(ÎU uøþ˜ßhÚòŽe`'T=�éÒ§µñ. &Ón¨6fZÖÓ§¦ Zìz¡#ŒÔÕÁ ^k½ÍºãçÂS"nçNpÍÅILžS©-¿ìqó.§¨.y-ì¾ÿðÖ„2‡aljjXH_,VZ[sþ1Ž×8 õ^‰úaa ¤ä� ™Ã ±ü7÷áñÌå@í+@>ê}xhU˜�6¹÷Ë×ËmöX§H\v»*Í�p}ncRݘnÃåñ늚�ep´#ÐA§îWIðϱ|Ò¥#?r›Ã°!ˆ¶Ý½1çµ]TF¾VRø¾Û@ðº{…>Ï~0TÔS¡�Ô×eÇœÔõZ8^¨|m#›l])�û9£¦ÉS+’�EÖ¼Û~˜Ë�­Üo^W’ŸªÍ0óu´²?f’eôMF®ÌZÅO-úàÙÓß /gçÂE¹ä2—Le©CÜ_Ë V¢î XÞܱô_‡:~Í1t†žV‹n´.GöÛí³#à,ž²Zº„“1(t¥Åïnøt=ò»q(dê-+âOµokú�·ùÛ,aË.]PvARÉ ó ¨ åØ“Ï¯<�šµEò•! Ùƒ¢üöø~G“<áTu^J”R«gÒ×n{üð賚C1ìoäˆXµ´,†;{\‘Û×üàO¥a(¸�”âÀž%Å„gžÂÞŸ÷ïIJ XyqÚ‹@Ö ²-Á<º{ð ð U.1S¨§DV n¶ÚÜ¯ß &‡”„© ÝÝ 3Æž …@9�w^Ÿ^¸C,ÅMp¤)áñ¨6¹ºžÃ°üñ׳ÌÓWê›${…µMx^]1H–â܉ån};²U|Õ´'£¥TƒµïÈ‹à'$ Ö�æi¢Ïª“Ž ÛPRH²· mÞÜð a>fØPü§’•cMzÔk�IÔ>¯‹LkÎ~j¹ äôá ÔÖÕb ´íÈuÿ¬c³¸bNj~DRŽö{ì9‘|WDåq!¼áKÓ“H„X6ÄXòúý6ÄN\]ä6†<Iº˜!‰ÕõŒ‹2ÊÝûíצ+†_põ¤—Ï\ÿ””ªQMÖK¶ÀØ—ËÆcüû';¹%‰¥X“ü¼ˆþØ´%à«ÛT0«õy{+M,,†C¹Úß¶"Û»rVçv$$åõU™oiE*Äc ä¡+s·n¿®U¦l� #(Ýsr-}öQíw†½£ðTù²Ož%’œÉmj€ÀtØon¿+i„ˆ›ð²‘pÛo±é·çˆÔF0âëFÝÌò·÷÷N¤~‹Ãˆ…£*í¿>ûí¾Ø6I¸�Á æÍ�~ê Ãå]fçо¸ù4,¶ê½ð)ÏÑLò,Œ¢5ÒM�'�¶ø°X$ '¹­¢ÛOŽ9^i f(W{¾g™ë�ÔõàS-Û¾{®eãLÒ£8Î*ZGv…XØsÒ/oßér¸œŸU§¦aq/ ½GFt»kþO¦=;[ŽTÿ1d·°VZ<5¶¤`,ªÆû_ –Y rX .£€ŽÔªŒ. \ RHÒ=ØQ²?ÚwŽBt"0&=$ô¡=¾8KI9ì�çÑx^Ð××M÷Ž,¾ÛîŒÀé£ >” vVÏÓoLOˆGÊ!qq®Oï²”¥¥fI��m¯–iÚÓµü¦vÒpž�I>"Ùƒ~ù`Á¦ÝZ. ÿÚ:�µh;y€¾ã¦�„ÐåUŽfÞr # ÒE÷?[áô D£i&“´p–`^B\‹_Óž8Åå•^Fm>l©šx‹»i—Íp9Þøkž@¿ÕÛ‹R~¡CjV?Ý×·ÃÜÀãiXà ´Û© ¥€F¿5Ü�ù|†- ¡·KŸ¿0¤i¼¢9€çÌuÿ¼QÕ¼±¸\f!ôÌ~jŸÇÙ’RB)AD ïÊÝ-Û~x¯¡kÉÏ M�(gºÑ¬þ<Í}%IäñÚØÝsÕcvh+_N¡b ¾½>½p§8ðyJžÉ¢>êÅ "2�¶õ—O®xCÞG*«‹)LEØ«+º‹?ëôôÀ˜ÛÝ(œÑRQ‹ltµõ^ÇßÔãœæƒw÷KÜîj­Hä.çûŽ3g„ gfÿÊ™†+6̧áØza¡ôêLhh¶Ž{+>Wò 5[¨µöïîåƒ!Àjœ¡£$ÚºRÂ_Ie-¿3ý¾¾ì!±8Ñ8*¦æ“T¬ô¥QXì/ïÅ–ÂÀ9Ê&‡qÙHŠ}e€P§xVÛUå]%µ¿šnºÕKØWæ}0­c<¤ 6œi¤Z€[‡m ž@y¿ý~|±ƒ¦Œ‰@?uT´n³…}Ê)œF²&öÚ�Öøö:aM¢Ÿø°Ó´@¬ºcREúÿÄ÷ã‰lž£Ç¯tédà~«ªý€ûÏ=§gTˆ´³}ÄH5¸C¾ý>­Œ®±ñÒ·nëµWQ1½«ôsötû?Pp^]–Á €:qó„šÝ@6H´ i>@»§5ÏrŸgy0}qÉ™‘dQÎøúKõÑtˆ7þÎËy‚-$>+¿æŒ÷ˆ³~(¯š³028c¥þU±òþ©Õ§ÖH]1µáº�R“S!{Í«§²Vn#–V„Z8ͯËnØÐøU¬v¤8‹ÕitF›­ÅÅÕƒOÞ´FÉäøõÿS¼àyBf®R÷nZ5ËÒ¾º*oº0ñ¶ÛN)Q3®#2�-â]JCDþ[èOì'­·ÇŽë³j �&ÞßJàvVa‚…‡aköö‹—p�V_žøIšfed ª§#e<õ|.wÄôž³”�N¢œêÛ]þk8Ÿ J�7ê ³)É`Î"Ís 7¬¢Öú‘fÔʆSaî"øóºŽ¢ý>¸ê"$FmzN�Õ ,8Z¯Œ}­p¾ER‘×V1£eZªtCuܧ˜a`-Š�_âu­ðõ2cÙoõ.³$€òq§µ^Ï2y¨2jÓGšG#ø´Þ J’Y¬î:ãÈêºqpñ!pÇÝfC¯kY¶AŸ’€Ê&Š£"ÏO…:RFRœ0g5Òº�½÷^êz!±<´»¸÷»Wãt_�Øù*ä“p¦EH8dñuuOGÔÿ¹䎢!^ VÞWC}ÿœmiZO˜»Í÷«õcn¿õî‡âø÷+’‡!ÉóùaÊ©©žzy§Ošuµ†™ÙoØöÆžÒÌãåþT‚@kê<ú�¿eË|KÇsÖdù~WÆù]5Ns,ÒOI˜ÒPÖ:˜ ^ÛoÛ |0º1´íw§ªç>Fë 'Ó?š Œ¨O”P䋯3T¸™'¥Ë¨‡p@ó6¸&ã×]ÊÝù¢ .Œï8ýVëöwœ×UäYVI>S�ç¿íÒ4ͦÕPè×òJÇñly�LXd2Íoµ£‡y †ïÓºÛüCìw„xâ�söËsά�¢J±ôÅC«w°ÚØ¿Ã>%H;×eî4Ï3-â‡æ‹Ís\³ØÎ]—e²qnQ™@öއ5YD“Ò¥…—Aü;mÛ¯OÒN�¢¨ßþ­é� ëºÔ|SöÂ<3 Ñp÷´HÞfR'I.»p±µñ­¦Õk#mFÿ¥-ßû„ùõZ?ÿî{‡s í™ñUNq)Ôöšß:b¤ý:oþÇÝ”qõˆ�äܼ\U•ñ ¬uë'OŹkï�+,;d"K'Ô¯I¦s\ÚBá_µ/Ë–e4ÙøÒÐÇ7™ 3F˧˜=Á°ÇÓ> þ]Ï<ü»âþ6éò:máp üWRÊb‰!¨]V�b%]O  �ý6ç�¶ÃÑ,p¿>OZÿ6U7ãš©3ijã‹+©¦Fi •Îûócß—Ëq|. ¬÷KH5´Ê×ù†w=ET”ÐUŠËǪ5ˆvõ# =ñè4? 807=ªÕ§ƒs°ßð«õA ÖQ×q%w�B¤;ÑÅ .Öèǧ3ðÇ­Ô|ü¼'Åpc�ÝGNÖ3S&ØÚH ©èÔsÙçpý.OÁ^Í£¥ÐŠ˜-Øéß~|í¿®>]«øN]þB>}ÊûOOê~A¥”¹ÚÏÛ7�=­UI IOCJÚ‰µŽ‘|Ÿá¢p’b´]Ödü-joìeöpÏþÐ~Þ¸6—:jŠ¬Šš²<Ã0‹új×T=gXô¾>‘ðgNn«¨2‡�OÉx�Ž:»´šÉ~b(/Ú¿ }œkr¶Èix:˜Ô$1¢ÈôâË#Zæ0½Á~?eê:ìZm0cù’üZÞ—$ò—‡�þWÑ`ÿg L¢‹4Î#Ì)¸š7ñD3B¬A6#}�Cë�ƒ|qüC�Fba¶žÝþëé üÙ¤·^ï^˦øƒ.È(òú‰«2ºqU†tÛK¯•�ê>ŸâVHu´¯¯hº;Xv¹—KóÛí»Øw´nžØ+xÙïTæÔ²Ô”¨«•XRåò ‰g#N’,ÀsÜŽ˜ú/Jþ't¾‘£­G™ý€ïþ—œÔ|©Ôj·Çågs胇ý2zªúŸÿP=®Í2ûz mk?ý½oÒÛ\ |ï©ÿÔ>¦Wº=4-k}òÒÝ'O§¡$…Äw»\Ýö†ÿBϲŽ~¹]UíŽxSˆÖ&V­…â�"ÿÉâaf±7çÊøù‡Pþ"Kª~ù佞ƒâˆ`‘›ëóçö«ÿI�m^ªsšÿgùÆ_í§…¨¥Í&_‡["êÆŸ}@Žª~ÐéA!Ù.?Õ{�\Šqý2¾Xœ·0Ë*ª2üÆ‚z:؉GŠXʼmÊÄÓoLzÑ4r7{ …é´ÄžE©86S!ÓÓ¾*Jh-V×HëÃÓ<~2ÅÞÞ˜®_dèâ­$¶ÕS<È„¢IéU•y\C¾5´�@�+ךê]ι"TÉi¤‡PuУÊ.=:m1ípÂò�a"�U´)e:mÊ÷¿k`âÒœÑjk…rÿ´JSÈ·µ¯~ßQêÚ�‘åz‡t-–PîÁt¾X‹Q©¸`±¶é~œ±ó kÈÈ_ÐÃ!Xâ•I(¶«ì~·Â¡ix´÷NÑ”üsÅ÷¨·’Dì~Ó㋱ÆÐ-—Äò…±øoƒ×:¯�’œøMrJ�¹â†»\+kp³ú�S�NË&Ší�fþÉ* ô2EDµ,B^ÞþÿàcÇË«8<å|Sâ/�ž\[+¸ø�ZÒË£ŽR‚¯3Üß™ôÆ ñ<;p6?5ó-_ÄNLnU°(òKJèÑx1ÊÞþ˜ªýY²Ú*†ŸÆ¢Ó³åY3˜mœŽBä 3KˆxÂÛéPÈÅ‚·ÝA–Q,5Ȫè<·åÊøúOHÒDY²×¯l!ƒ!p—ÚcÛîOÀ4y“SÕ!­B kX�‡^øõ°ôæ8�½–v«Q¶è¯ˆœ{í/<ö•›M™f5/³¡u\/­¾'ç�Í€ ¡y�LÅæÝ¦ALA®á—pFÖÄ8¹¼…œéý2¤á‹A%­mW½þ·Ç8Ѱ«ÈÐ|ÃòSž3WRI�D�,GoÛqžê;Ï”Zyi•Jku!wÖÛ­±Rh¯ða5¤Œ‹*B$ñ&‡’÷¿¸á;â’�ä]Ò%`�|¢-oÔ[f�¿Æ!‡`³TQ�C@ã*hú¼?ZC~ãêØ(Ç5ÂS^—g臑62"‘øOèzŽ˜`žU–º2@ýR¦ÅJ‚Oâ qùª‚âáuU\¬�â°µ—–Ǟݾ¹a®~áåL…Ïzƒ4ÌòЍjòýQ”‘�~ƒ`F*¾0u•[Rç!o‘kÈÁŠr|@ÆÌ Øõ¸>ëí�2àAÆUÐ g˜)ªY#HÁÜFÃH:M®M÷c‰q ”æQô¾ŠÊ¡ˆk(P2Üx„þß㠙厘߹§h¿ª\µ4Í4ˆ–’@n°Õ· ;lyöÅè|"v·Ÿr˜d 8gÙ¬ÑQ.ͦýë.„k—Î'Ü? A)Õ!//ö‘ÌuýN*ë5M9#Ù d¶X6Ug�kŽOÃëN%A$ä“m´­úãÅù_6E'±Î8~ÙsIŒÎ÷a©Íɱü_>Xô±BÂÚ€xl$ ©ˆ¡ò­Ôx«æÛkòßç‡4 ÖUYœËîT¬q†eP •Ý­k<ÿ\0¿sŠD ä¤Ì…IKmî ÎýOlW$oÚBvýß…¨ˆÀxȳ-{n>_sšhz.¡ø.‰XÒÒÄ2"÷$iÃbÝÉ6,ŽR¯ølšz›,0»„Ö·c·S-2$Š¢WåîõÅ"-þc�’T/nï*ÌwvUUYX˜ôĹØò¡•¢ì”tac ÁìA°$Ûß·Ç¥q¬Ÿ²‰#®xJ’EYÊë[žºKtÛ®Öƒƒú¥†åÁ b&P#ÛJp½°É7?ÊåΣø¸öáNÒ¨êA÷ç Ü ZLÆ<5®û'Ù—F›†@¿+òºb<2F ¿D£5 iN@!v`<ºŽ[oq‹ �Ç”zxÚ¸ßÌ„LP¢Šš¡ "î-×m·÷cÏõ Äy‘BæîµÏ\Qš¸fS——Q@ó\v5z6œ¶=ÄPZ‘ɸ—8‹QqS³Z>wÿ8Ñ{Ûý¤¦K(ì¬j�t³{‘b7>ü&Vdʨ(‹¼©hØ©[/†Iµ÷$ü1^8H$öJsüÖôSp(«¸³t7ýà4€’àlá¡•Q¬e, !€ç|`ôg¦ÓªÑ±ZÊðìíëc‹1�Ù)Ì2>ªr•t€šAçr7#üúbeÿËÑ7†Ùà«–V€”¸úž_ ;}ùœªìk®øWŠ(­m*qÛöÎÇbÁB )[ ˆ´€Ø…°÷bÓbò�Ϻ®Ñ@ßoº“‚f”�6ì}ø¶Æù}Ó¿—·£óHUbm']¯qÏz¤»c¶ò¡ÌÝçóûªŒ(x’úÞû]w¾0zK\÷¹ðAùþò¶N[ j¶½Æûrýqìhµ•iÒ4nþåÙ_gï³ûY̨dZ`É‹‚deÙ…úzzãÆõ®¶Ø¼¬å|’cÓ¿eúöötɽ–d°DÔq �£Q°çß6ÔŸæKûª’1ÂÇ+ªAÑ$t(5útÆŽ“«3N0Œ« ›Á‰T êj¸‹0¨¯Ì¥‘ØcSÈÃÈ|¯/›%yþ£Ô+®ÓqÁ$³ÓAn\‹‘ù⌭Ý0‹U!w’‰W~ñ¸o=ñ4¡�W·Æ®�<¶õ³Òµ>¼¹µµ8’S£+*JlÀrúãÛ9�–/ ¼Ý¢ê Ý» XVRÌ•UTÖVˆxJw¹@ǘ”º':FÃ…ˆæ[°¢èé¤ûÄ€¼:‰ˆ‹þ$¶(Eª-gŠ9=—3Krå0Ô¢T«†�ïé¬Óm69T&¨ZZªfÍ2ÁQ@f-â jÒO_�é�7¥”Dæºxè^å,Nàìð¥s,Þzº5Ì(+%¥«Ö ).Þ"_fôÛz�kžÓ,óYRçfÖ³Í븻#â::Ã]K6ZÕŠyPÿã ºêô¾À÷#tƒUî@ žS%@åncİIÕYLQSæ‘"³5Øiê=7Æ—SêPEÇ2ÝÈÊÛéŒ�ÄHÉ Sqg×OC—.]N2ÜÏÃðêÌbÉWæ6ê;ãÉõnºe�²iÙµßÝ]ÇûVØÑTî>kHgu–Ó­FFÑKNµR$ÊηtY·ôµ±™¢ÖE$oocëÊ©©†@À;…Câ^/9&YPùÎOCM=¡¦šBH� þ/[uÅ1Â[=Ö†’&M´q­n},42QåoII$f,Æ©wÞì:�VÁk�M,½ˆc5µ†«º€æ|O]“QçTùUÅ’J*èsí!aEü6õµ�<–j hSý{–<¸nçײ�©ÏxW?Í«ÓÚ‡Ã�ç4 R,Yc௠ukf^÷½Á¸$Þø»£ÑFé\Ç»eb‡ªa$ù}¸TÉê2_gÙ=7•*ÿÝ+¼J*æa'ß bU’[ÿÉ:ú &=9Šk/ì®5ìl^$ƒžê¥žfÔÎI™ÿèŒÃ‹rµ©‘`‡,Œ‰ÂØùÂ�ÎŽ}­|hêg1´†“·åjt‚7c${¤O{*âΠâ*8™rjäU‡ïìex¤êmÓ�ñU°ïsOµázN�£�¯òGm>¹[»ÙwÙn§'áx긢§*£•|W)>-PRn· ðµ±»Ò>s›ãÌqß¹^ã¦|h™�^Ô%VC™û6âgãz<ò�eÒ!ÕL÷9Çhì?ÚÔüEÇóTÿ¸ÔÅÃôÙE ”S™´™‘�Sv7»AÐ#k¶–ÿ•B>¤IåiN!Î+L¹žcO*BÓDKdçc¤p7µÿïAÒ|ã´³åK[MÖKFÀpVÇö9ö£Í}œfù~CŸ½$ùx�§Þd—Ä;zsÇ‹ø³øbûb�>‹ßü1ñI�ÊJúÑ”qw²/j<>�æ¼D8–¾x´ŠhKŽ–åÏž>%¨Ñͦ}Ëå#²û4:Í>¢:qÝkæ—ÚOìûíÙþeQŸ{>§Yòš‰) „x¯rvµúžXý ðñ®g‡¨Kñðüîß%¾�×fÞÉ=°IWU[Äœ/�epd–¦¢•„�×kŽVÇÝz“O¯~ñ#vŽJñ=@�½‡w`©0p¯ÔI- ðže î�;Ç`ÇÑ¿Œkë>2Ðèái²îîOÑ|3.±ÁúŒßoö³�ý˜øò³/lÇ8Ía¡šÞx‰»^Ã~Ãþñòí_ÆjeÜr¾�Óþ·cE.yÎý†ç´NÌk)ü,X›‹NܱÑõ¦‘æ MÝ%üwUü¯ƒk Ì©2\´¾kžTÈ´Ôô´ªZI¥bT}îFuFSM xzf™%8 ÷þ”ßéÊÞÇý“ä´œeIoiÙ¥bÕæõ)±J4‡H�·ö�½ãvøWKEÒ™µ½ËówÅ�oSÖ5>œ� ú/Ò—ûá¾ɨeÉSñ™wsÎàtç� ñÆò˼٥½Ò¾ d-NÛ+cUæÉE•6{’dðUÑS++'‰¢HEÈ óÇÆõ}nIØéái}{ä}·þa‘Ǿ(}Âãž5ɸ›Ú^Q™ço�OÃÜ5 Fšå£p*Y[`#=Ïâçp1á`Öêµaú˜ÅmÅô«·©Dçžêz“%á~ösô™Dßíœ?HïM[V¬ª$ íbÅØnýIÀktpI˜<ƒy?¿ð¼ïSëz�ÝÆœqí³6Š%Î(d¢§¢‰ãD–vÐ\コ‹[\yIåsƒ›°9+ž¢L—ºÊùií3ÛoñggsŠþé «¬o`b w$òåp=mŒgs^"-úÿ¥ºÉw€çpµç ÅÕ\AÄyÅ?ÜòhÜM5¤üR�ýÁÆ<ôº¹cq1’Gè½>‡ª¶2Ö· Tý ~Çßg´~YÁ”ÜQÁ‡½¡ÏêÎò½1Ï î„ =¯¶¬otÏŒ¦Ò49¦‰ôãê¾�Ò~,ðñ!ǺùÙíÏý } p>]{)ö••qV]#jy„~Ȥív[ƒòÇÑ´Ä (CA¿’ú›â­3ëi çµ°wÚ[Ù$uuWìó1—.€€õ4gÆM<®@ÞÛãÑÅñN˜‘¹Õ~¼}×¢Òõ­4½ésEg æ¹L�M�eµ¹tÀؤє*mê;iÁ­�þf Ñ1­™´Þ=•[7È)çUR¾sÐ�À·ë�h5Ňœ,}wCŽP@ä-]SÂõ 0V/á÷SktÚß[cÑÁÔšEÚñoèS5ÔUï‡r�¹¬K]­{u¶<ßUÕ—’+è}¦ ;Zâr¶Ý -e/­M¼¦öÛáõúcÉO}×Уãp¬tYy¬šÊ„¹ßm‰ï·Nx6H+µ#1Û·U-�ÁüU˜×�qHV÷¸]½×Âu:�,~±ÕcÒÆs•Þ¾Ì=�OIMJ$£]m{X‹ÚÇkW,a¶r¿?üIñ4º‡� ¥ôOÙ³uÈ© ^c eÿúGÇ—ïŒý/N�äW  æòõW5ÇÝmZirøªbFܲ=¿+à¨�„ÅJ¶•Ûå¶çº¨?Þ+šGpHÓoÅ�­/Cf§ÏT°�Mâ8vŒÞ»'áªGž¦héâE&ìÖ°½±b‡º£^£JÈá_;¾Ñ?mœ‡ƒLÙvK™G[]b «†ÒG Ç©é]h_ºR«õ-UÑi_&xÓÚfsíFº§9Í*äžìt­öQ}ÿ[Œ.h�n¯Ý.XÇáiµôOÙ´ì£ÚÏ AœGSKMš 1G0[…KlÊyê6aòøìt>´èݵùo”Ö‡°²üËVûRök˜ð–i8¥Vš%³+¹hí{°:íëÛ›YÓÙ$~$aQ�<«RÒV0¸tÒ.I7±/ücÊ89§pS›´´aIPD�‚Ò êÝ[µú#ÎîJahdŠŽ™Î¹A`¢äŸÏ•ûa�l`ÑÂN,g÷苉DP÷õÇË¿˜p ðîfàE}ùK&¨¥„;±ôïñþq…¯×Ó�º¥!ôRÑÞÑó”Ìx‚J8¤W† ±Ýì]±K¥èò^E-h q�¨4ñhy‰þ¤m`6ëûñè˜ÀÖî}¤‘Àmh*z DŒÞDVöëq…=ÍiÝHÙˆÜáþÑ Ù™´°· ܯO¯†ù†íÍå ÑÚ&ôgñ(·˜ ýã$9PÖï6b=�`�Ûצ8Öêpâkî²bÓáú�¯kßá~¸Ÿï#%q…¦·Z4S¬€”ÔWmÀô¾ÿQ¾÷4Ù%¸�žQe85<íÊ×å}�Õÿ\*š÷+ &íÃôR0Âŵ›—f¹_¯åŽ-Iì߇h¨à¢Š)QÚÃ}¹ûñóY^é|ÅÔ»p…·$̲F¤§µ‚››arÄKh(f£$P–…ž[Jlº¹“Ë�I´îYZ­C�”œ"Z'é[ÄÂÄo|Z)Q¦ð.ÑàÓI ¶"h˜3-¹Lji!kÙOÕ!Ï¥/•}ê¯5’h[^†ñˆ?Þ0‡‡O9ۀܭ~šH·-Ç%\y­SÄÄT­›Ãµ­l{�>¡‡Mw‘Ù_ÕÈÝàçÑRV¯Ì�$³¬’×"Ûy·iŽªa5j„1n6â>¥Š…ÌU;A¯„oÔñ“׺`kÛ]`qh')9„PSTeá*b„­U™úË{Û4f7·p½Êa•§”ÞeWG˜ÐNñSÊõPCù¢ÿÉ}6Çj¥‚V0GaÙXy;6­vÒA]”ÓOGT²V4^�¹Ý�B;X«©,~‘®€Ù‚±ØÚ}•^ƒÆÎ ®ZšZؤ†/ TGta¶ëïÇ–lFh˨�ê2´NpîV¿â OöÊÚ|έ¦|¦¦?¦'roa§]»ƒcŠ “ÂpÞ|‡çòOÂØt‘dôù>[Ä\•³$V©¹ÙÀ6an‡“èaØ&Œšƒ•© –HÝ�‚µÆq[ÃY§û�tÕt•"†U¹Tœ�ÔŽÇSçy&7´ðÖ´žÜ.Jâî=È)©åʳÚÚ¬Ÿ‰aºF³Ç¤cq¡»xɆ¥i"ÇÑ%ò–»ý­UžKÃyîU–Ñ»Wå«L�h«ô^æÞ$üO;agDçéºÇ¢¿Ñ9•Y÷K­Ê3N�§ÌsÞ̲j)šj&ó&ÖÔ?ø“ž-³FI-ªôL!ñ× 9ŒT‘g³g¼MÂÒVÓÌ�ã§ ›Z‘oÄcníŽ�­ÜðZßdl�´øŽj8.‰E6}œðä9¥%cI÷l¾„ÚZCcfe=H#=A­/ñà>™%ZÞvÝöò¶ç³³Èâ:5«ã*Jªº4xþéMãá|âσå%Ó0_ïó\��q´4ÑGAU‘TäñRÂZy%„Ïâ½öß§Çh‡¤C©§Â/Ôò¾-<B<7þkž¸‹ÚE%d5tÏ�ÔÒÉW§Âhܲ‹~&+ÈtÇÐú_Ã,`s(•ÐiÁÉ ´·ñ� †¦H³,Ë3*§Åµ�‹ÚënGÞ=4iùá]éý;Rë/;--šfK˜øµÐÀhµÜÄí X ­n¾¸ á�ÂÀ°½F‹M²ƒÍÏûsâÿeYÉ­áüÊ¢UV¹„1ÓkÛN>u×~ÑkÜÁe{-ÏŒ‡Æê¥ôÃÙú˜ä\=˜Rç<’O[WLm X›«�yœ|Ê?ჴóø±ÃÑzÈþ'y4ñjéí¿ýWx'‹é>é‘ðŠºÈº[\ [}‡×Ï·KѵàS´2ëá”î,³ê¸ŒþÚ¼SœRèáü® ž ~M(.zéµ±«ÃΕÖ�þ¡n¨ÂÑÙ‡¶ŸjHæLÇ?RÜ–óíƒ~ŽšÊ´'q+_ÍÄüsƹ­/ pÑÍø‹9¬”SÓÒÒB^Yœ‹U| tíi¾?}�jµÂ&=ØEúúÿDßôpÏ8 :¢ößö©áY)}¡Ôˆêò¬¾Rý²‘†«IÏúÄ‹úrõÇ®ÐÂÝ#?›˜SŽ?ÊùRêîê“x1±¼¯Ù7ä<ÂñÕ%-5%`ãjv<¾8Æê_ÞLÏánôÝ“NÀ­ñ´Z\¶,Û*®¨¬¤¯ˆ�N¬‘ˆÙˆíËá�’õOŒ™ºH$¶×5=Nš[_šãjüaÆË#q.Mœ¥D€´’Y�‘È�µÿ\|ß[¨×0¹àÙ§?eãõúö‡S�®MÏ=°q�4¼=‘ÊEK¤�Sã5‘lI<‰åŒ‰:¬�´†nT`Õ‰IÍ·ä´ÇµOoy�e´”Ü]”.u1Šš¸N:‰¹'ã~ß<(õ–ŒñÙ#S /¾lqOµ�h~Û8´ðUDÔ¼9ÃÔLZ­ê<(ªÊ\5�U¸1K©õ׈b'%/AÒ!Œ—8YZbfü5þÍ•gÙ�´jŠ,Ç5.™„ .Ò”Rä/P¤�#¾ØóïÔjâö¸ ÒÓlÌ,$Š+ppöA‘gyµ?ðšæ_ú~ Úq +FÁëjdPÄ3�¬<¤—8ÍŸV×<ÄÇ_¿ä›±ì»ü–ãÈ©(²n$Éës®­¡�Ub�ÀœÈ×@჎TÛµñ_^ s\ëhôWY¨mS…-Ó]Ä3çõxÏ©—,‚ v×y?êòíÒâÇjÜ÷†ÈÒ£Wví¬¼*×´œþŽx+Þ®Š“1Ë*"l¾(ÙAñ4‹‚AçÎØÚþqÍ�´-M'^•ϰH\•ÿè§²/hôðMÆü‘gT²+SÈ™uÇa±ÔÇ¡Äèú»Û›Ç¶¬éÏ ³' •¸›ý8¾Ï¹§û¼Ù}V[ 3¥%>Dc¶ÇŸ>Ø÷z?ˆ\ÇPqǪõšâÎ;ÃïÙq/µ?ô¹ž5¬¨àN%j‹é ãðî6¸øoÛ£AñhwW©Ò|vÙ¸;Œ~ËžÕ½—ÖNx‹†ê¾ã³ÔCt·=ûcWþ÷‚‰¢¾­Ð¾$Òjk-@eœ5<Š�¢R¢ÿ®)O¨±’½tÛšít/²ßcÕÜA˜ÒSˆÃÂÇñ`?ø“óùbÆš/nì¾añ/ÆÍÓ[#6}/…ÛÞÍ}“SpþyšQÖÑ)’=•‰ç¾ÿ÷Šod$4 'Õ|S¯üe,âÜkäWsû:ຠIP(“p¶�Ó4Eƒer½\p1±ç•ñ{íöåθòZŽá*™ £ U�1ô-�NÈÁ¸…J]EÛH\ Q&ašÕÜʪZº‡¾¦bI7íéïÀ:râmfÏ ìr¥òI¥Ëªb�•LDÚäŸÛdÂÂË•ÖVÊŽðE\+åapÊ9ŸçžأʢéÅÐ r‘ü%Ñ{’G@˯L<€â˜~ ›ŽìÚôÙÉæzûº`Ÿ¹ÁWœ6ë!H%=ÉѤ8éï8˜Á ÚUyf-Å© ziÄGÕr,‡7æ¹)Du©©îK‚ñ=€#ë¦+œ}2–ÔdÊ*ha·í†5Ù¢r�’PÚT¥$k¨‘¦ G?ÄþGºì4¢{ƒyÊ’0#)P {Ôïµ°™æ×r� Ý"`Iâ‘cHÊr–]ð[÷a.au ú¢3rÎü˜Ÿì=‡×AŽ.$Ñõ)†@Ü”ð�•Â;«j6RSõká���æ�ðCƒ�»O­™ˆ•”±;[¿ñŽ�йM|m…åZˆÃ«Ì›oæÂ�´i 9µBò• ’I[[ƒ¡õ·Bï L¤øÉý7�‘ZƒÚ—² î s6[/ßim±1ÛZß¡Qµ±¹¬éBVø €«Jß þ+OQÔÏâ:…"EI&à­±åå¦aã?¢ifÐ7}-L´ 0‘ÀJs׳ËÓ—é‰w™”y@É€}_—֔ʮˆ¢Ó3#HI¹ê§æqòyeØ-¸?Uã]P' -SàÒf(þš1SÊÛcÇu-Is®²�ØhŒ®X©TÕÔW–oîêyü9ï�Í&áhZZv¦òŽËéÛË}v¶ Aý¶õÛ�Ø#(¸§#ø«ây ùÛ—»¸û)�¿Ÿdõ91,¬ûªƒøº“Êßž&šÛæÚœ¦Q¤DW}É o¤á6iÀ�¥±�nÖA1ܳ)$ oÓŸ×é�{ƒ�¤™Ø ɤü lÎâöc¤s¿Õ¿ÜZ[„‰_ßÑJ�ŠnIgŸ>½1'mÐDÐëè™U´ìª†¸ÕpõÃáÚ�‰ÂŽySÔô¢IiÀ$µÆ GMúŒgui‡ ¤¾Xð¨^Õ«|‘Dh–m�°÷ã#§DKËÈZ‘ÄÒð HåÛ—“Ï`.væ|z縆z«Žvv³…t¢‘4-ÓP7�'–)=››g…SÅä¬0BŽ©U^GPïúí€mµ»5YÅ®šH–8ÉÐʺyÛ—øÚøH$[ðåzÖT)$k�‡Öÿ¶ÂJ€ëÆB9E™b:u6úE¾Ž Q6 .1—Q”ëæ Ö ­ËW/­ðÏ.Ê»M½¼öVª@�.Pn ·.»zvŠk¹Uä’ÚwŒt¡VUU�FÉ`Aý}?| �5AS‘„ # Ù@<&]\ÜíË4P�ßÅ„ kÙEY•Bµîmm¿|44ƒž^ßÞ-LÄìWNêTmëóÅíï,ÁîžÖ€à2£3I[Ã*téþ>8ò< ‘öJ{Üæ4Yý’¾ËÙ϶~'‚®ª–Dʃ­õ%„ƒÔöÆ4zÀÈχߺ̾BE¯Ô�±¯`¼/쟆èণ‰$H…Λ†<Üл/yÂîNжOS�ÔÍI– É}L6ÅH‡Ši¼%x}š¢Ê–†’@U¼{j'¾7¡ÐÔG ´�<*Ík0’X@ mÔrÆn¤ø;*GñY*Ã@±ŠC÷¢Ë¬Zûa�(ƒÎè´ ‚9åHqYÑKšyX;[�o–/?NØXM¹Ê:¶–6€ZªNµ9uc½<Æ­ú1â´ |r ”É‹EÎàþ(¢­0­\qÓÕ¤ Hoî8×éºæÈì7"û¯O¤Ô0¶Êöke–ÁœÒ2}ò++[k`@Ô3¶ *Ú¸[#7wTªú§+ÍN&T�»Ì±º´Ì¦<¬˜¬Øµ™f¹uMDqÑSx|†F]V#1ÓJÀØÆ}O gRúF-ns’&I�U˜„j¤–U_,Éïþ}q“¯Q¦!Å´ ƒèGû[EûvËÛØ-ORÕùoÖ ¢‡/¨ÔT˱·B§ç�6$~–W±€UMñ|Í4TFc]›e9�.k–f¿í•R/‚<ú£¨�uaêÄiõº�<›¢ÀwØ¥†1´÷¨¹k?ÞÓ1ʳöUâfo¼SD§Ë*u ñ;ŒSÕÿòm²6¤µ-ÝÚZO*³–f¹ý@Ìé#–Ë!pÕ4e­*y€î.œèÉ{|½ò´ã;l �ÍjÎ)Îóæáʹ¸~Zl¾ƒï–ŽEÓ20<Ó¡ë¶>–š%޶öÇÍZÒ?sO§¡åhn-Ëêåg”\MÄR‡ Éw‰ãaÈtƦu¼r¸êšæì?‹Ð…6y‘Á](Ìò<×8zXÀ¤†¶ Oqº—=E¶=±·¤ls�‘Ѯ܉©™±ü^Ç�¢k%nâ\ªoý#OYžŠ™d44ÓsFn,Ö;ÛlX‹¤4Vö}yÿHåÕ‰mNëtpwÖÁže5¼Ã5‰š$Å¡šEw§ˆžq¸;½½1¤Þ�#‘¯`ÝíÈZ�¤êu®ðâªìÎà,¿)­©Íøë„£LÞ¢ µ- ¼j7B9|7Ç ‹ è™~4e¤öì>Këý àYbx“RmDç¼UKÁÙ[Wä3ÅSÃPÈb‚T`Ò@;8æFuÍÓ²ˆþ˜À?ì/£iº<1ж¿UÀ~Õ½»ñÞPÕY¿f2ä2kS­H+Ý‚òóÓ|Q$rTgs�Nš]¾# /�žÕ=®ñe_fY¢š„‚c¼{™\Ûñ¯®ûcèß|;´x² ³Éíÿ+ãÿ|Q,RŸíÝrG{löµI=Z/ç²dÑ“4MVo*�ø›~˜úÃ?…Z-E°šïÛì¼—ÿ¶ú’ÁáËGóNpWú€qÿ×E×Öf™¡`Ѳ%¹mÈã/¯öîÒÐ#…ïºÇ±‰]k£ø_ýEý“q}tY_}îŽ X+TV‹ƒ~€žGo«cæ:ïá/VÓ·sA'Øç输¦ø·O Fhâ¾.û5{V59^QÅÙnUI*ÿ^JYB¬¢Ü�.¸Óè]G®ô¦øL¿<ª½G¥ô�i¹(²Ð¼Iö0öÆt¢_fÞÑá hžõ2ë]û}›á�âV¸Ó5-³|𼆳à­>]§ �uÁö6ö³”æ…6O?Åñ$ž�ÀwRv¾>´ßŠt®m¼Û–v—£êý…´¹_Š}—{NÈiZ\Û#Ìi© PÐ#×èbï±M‘€´ÓDfˆü–—–‹3‚g�¡–2O›Rù�Ÿ¦<;1à"|mïÂgý‡5yGˆ•¹X‹Ü}uÄ»LÿÅa5š˜ÎÊ�\Š–�Z‰$ާXÖ$ÿ¬eê5±±Ûc˕贲=Þl²_qÖE–RŒ¾ŠžœÈ –�FÜÎ3%’W’çai؇”/ÓoúfôæñÚÇÙ—ûzûRû@Ïý˜ðvs Ve9•Æ«_SJö+$ò0>¥€6"çÚfÖ?úNÙïÉ?!ÇÕdõ-i`³Êýý“?ÑOì}öKã οٯÕçY¼°”“8Ï'ÕQ¿ô]€Ðãa×çA§Òh\âekíö_1êñë5ÄÄóL_Sâ—…=Ÿp®Q™2žmA­ç`Š<«ò?âˆZö™¤~¾‡K“NÖFÛ*«QÇ< Ç“GY÷úüª� &9 :/c×¹å||«ªO¦ÖèÞ[]ÇùC1ñœqè¹×Ž}¯ÿè¸(s ª2�hyMA•Y jž‚Ã`ç±±˜ù¦»Yà�ó¸H.³Ê¢ £w›!|›ö©ö‰öƒ–ES' ðõ->I�U ©js#e£Œ¹BK †åÞÇoQÔƒdÑýágK±ãðØ Ÿ³?l9·/ÒqÇä\—äTî#‹,¬G—8�¨¾‡ø�†ÙæÔyZí¾åNÆ4Ó[Uò\ÁU‘{<É3vÍ=£ÔñEZTQ¬¢–�ݦ¢?ˆø®·&÷$_<9j‰òúÝZLsY,'oºéöSÂ! u*ÿ5ST@ ‘¸ª}?±Ž ㉲¾3Ìò83*ØéãRÐ qS¹ò«~ó|f3J!výI¼ñêõZIeicS°qÕ&c˜Ï³\ÚZÊ™s TyVÐÓ/ôeVå«H#o^øLºp×—B3xùªÚw>1O+jeœ)Çô…3ã<Ë›1®4Ùí4�oX¯±_þ$s"Ýp:˜õL©jŃëì�<¤»qî>ªcŽbÉés̃†hi*s ¤Ž sLä”1¸•�À¶/êôp� Ívçžo·ïÑUŽPËs‡+SqæœMÅ­–PÐÃ- û»/áXÜØj?+_5ºæ“áFÛ=Ǫµ§sœÀî)lÿfùjæy~eOJÔqÖU»Ó;0^E~HzX_~\ñw£Ä×87Ìy�ò÷V昌^~kXqêÓäÙÞi–ÓU²ÐÅ,I>–¹¹¶Ø¯«{¡vüû+Z[�¢¢*3Â>ìiiÁgñË jC`·é}ùâ·VwU¸:•:›’„ªÊhx‹)Γ9Ë(ª¨|?Td µ¯úo��/[~í�È^�Iñ,‘þEpoý”xj—?Z슖:z)¿þ[ÖøãØt®¥!“Ý9{Xˆ:°ÀÖºÈ÷R<7ì£2àIhó*Zº{º[{�þXõš¹¼é+jñýC].¥æi]etmA˜ÔÑçT�´�T�$�ºžV'ç�Õ5Ïž¥8óÿ GÆmÌ6â¯RdåŠ9f�ãµñæz€|n£ýË5Âg»c‘iCWÒL«�”õ?ñ·ÒôO˜f¾«s¥è^ RÓÓ¸¦Ëó:ÚŠµX"BÍv?S�¤ô¾�#x _HéðìËŠüäý§}ºçþÓ¸Î²Ž†¾eÊâv�Q[c¾ß¶>…DA ³¹ÆÏh¼‡ ЂVMN@½†*O¨%gË1ÝMʽ¦Xˆe È6±ÿ¼(ÊÍš^á)²ÄxØ •/°ÜÜŽâܱҴ r€H^7z+G[%ÅáÙ­{Œgjw´ùt­¸+"SIM$lÈë¨ßm¶Ã¡›9IŠVîÚU¦•‘Ò$:üýW·ÖÖÃ\â”aN­�ï•9O �t*�ìp¦r ªæy@#òÿ*HD×)[5ù\þy|pq8‚—M Ê.™ˆUÓS�ÅÌê} 0N ¶®ígè‘OÑIxØéª›ïü[ôÁìÜ/Sâc#>鯤�N‘Ùˆbå|.Kú|бîsè)Zx‹;+ªýÿ–8n�Påtð–T¥=(—É$ƒJÙÑ­°?·.˜@;pÁeVkÜ]h™iÛH�)¶‘ªÇ×ôÃ77wOk�÷‹NýÃ@� '}›Q:n9®ø°Önó„:òR<A fˆH }µ{ðÈÚà ý-C·g�uˆéÍÔZ-;0䃱ôåò‹AçÙLl„ô6c$Ö Šîn9rÃÝáå\ö–»Í˜T,¨c.×ó7õßóÂŒw’P<–�´±åQ.Œ¨nU­òüù`e—kwÕžÆÓøAFÆÊúbdþ­¿Õê\ ƒ$a(>‰ÙD ¬S�®§šŸ¡× ’G¡lŽÍßÝfHc�(Ñ(I;sé¹åüb¼“6¬Š CÌvŽB@2fXõË·.œÆ+éÚÝØ=²ºf ²³$#Gp©}Ø6ߘhˆŸ1å0¶ãK3¤rÃã A[‘ Jû»õ±ë‰„8Ù%®¾ùHXÔ¬ª²‘@#—/Äp†µ­8º¿ÍWs¤q¯D¦4"&ŽR�`¶6 âL yÚ?ʱr~ÂŒ’…œ�Me$Ø_ñ{»uÁ0nw4‚ €aíûåVóJ$Œ!h”°VK�FÜíúôýpáåuœßtÈó†òYšæ|3˜ŒÆŽ¢HJ5ÒHÛx�+ÐsùŒaóq„i�¡}*ö#í› ö§”ã c\Ñ#¬®4’Û) ž½M¹ã[¦u—FÿT‘Àª©{XöM›ð¶eUQKOB”D†‚@ÄŠ�sæ¸F±ü$uôÆþ»DdŽÁ}{¤½…´HÇÍh¾O ’CWO,cV‡Œ›éäÝí±Ç›ÔG®¿ßèŽ78ØV:j‹I:>“Ì(·[túë�‘êž<++çìm’_Ûß…Yâºç¢á‰”€³Ï)QeØ�¿é�÷™e…ÑñÅÚÒB3'„BØ–º†[ö6¾=V•¤VÑt´ahhÚЧbˆ%)*ŒY¼ƒ®�Ö·Öøqm›p!K÷ØqR‹OáH¢_¨:Žg�Ï»â²)$Î縴› È�Ìî4˵º‚=}:a�c+<£u†íji�d˜0�EÀM�¶ôë¾âøApe�”ª 8º>¿í7§šVU!7·NÖÿ¬sˆiRi¿/šI¦Œ�*YMÁÿïÏd¢)Àœü�ªÒLRTf$iØ wôÁI(&Ȳ�’hä¬!Яt²ò¸Ÿ•·Á>W–Øá;mfÒÐÉâM"Â×e¹÷~XLni½Ê1ãÓÕO¶Ž�ckò¶!®«¤²ârB~J[n7ÜßPí��Àw„Hó#é" €5‹Ý·¶öï‚qÍ…ÛG NPJ¶�´ó'÷£Œ»-H‘ÁÇm׿›¦�ž[xdÈ;��Anر ±´ðš]¹×{¿%hÈƨ5S*¼¹rø_:Æš$Rbc]&ÿó•ÏÐ3®Íª#QvøãC£Çµ»‰µ© $³÷ùª¶_ÂÒÀ›yyŽÿßsÌ\O`¦F‡/=ÕÆ˜ÊÖM´ò6ùâ¼{¹o擨¦g…h¤<‘B^Öá2HIÊNýÂÉSÁ"ðØ·1k|~¦ ÷]XTÙ@ÐLÀš[A`Î6&öÕïÃËœÁ¸´Dí4ãÊ5”»�Eˆ$�.9ÛŸÃÓ Ó°¸î“…Ò<Ã`}” ‰QÕ¢â÷#§Ã}ý>ü1´©L½Ž°-`,_ç_~^HTõµ¦˜®È!DK¯^]+±ÇqÝÛä’#¶c¬ÙeCylH=@óƬ2;€1ìˆ2†ÑʵÄ|ÅK2 Ýº[ v÷š§ÍNpwÛVƒÙ÷Þ2^)Í2iªnK¼q…IÛUûã麒÷F<€zÿÂõ}3®iz•Ïì´§´_õJö�Òf”q׿5R1(ñ4e¬T#¦|7¬”·Ì¯eyßÄ�,îú/˜žÐþÜ\[œñ fÎêsl·#u(`˜ùYÇ6±ï¾ØŽŸü!Õ¸;uí9õÊó]cø§ x:|W=–ÓöQö›Ê8øe™oñ’·}tf0v7ëþqóo‹ÿ‡zÝ!¾=úÂ_Gª`3ºÏ¡Zcí[‘UÄÐq³¬šºeÕâµ§ ¢ÞþOúå�ü”7Qü¬®ûõ^cø“Òa{?š„}@_#øÛÚ&bÕÜCsHËSQf!—G˜mø9/+ߺzgEdq[¸_Òè÷ÈÑgÔ®~®aR*"ÚTþ“p�ëóôC¢‚Ý®oËþW¢f¸5öÞG+XgQÑR6¥Z‚·øÆÿ,aëúT»H§²õ½7]-Øü?š¤}û5ɤŽZJÙbv:.²[~—¾Ãg[Ñ!Œù›dö^ªÌ�µd¾Ú=¢pµK6UÄY‚ *˜Öc§k\›ýo�3­èšYçŒZ¹/kiޝªÝ™OÛ³Ú•55 ãÀƒp ‚ÆýO>ØÇÔ|/S<¿%rf¡´ÒàV÷àn{SGªâÌÊŠ†ÀÃ+) ¶öïÓêØó³ôÙ!u÷[º9ÃÿÏ¢«{IâObY<”¼9‘ÓO��^%aRy{¿ë]7¨>.|Ä}•M_IŽQY ‡¸‡Žr¬²žg¥š9+X�*ƒ`;bìÝOS¨ÁÀMÓèc€yW=ç¼_šg“1’v�µŽ›[ëž&-8 Èy*»â/žY‹Í�N/»Æ7aï ­òšJ˜ÐÆ þ­_gŸµ†CÄžË}šÓp]ZÂ. ­§ËÖÉ÷Ê/º!×½˜ªÙ¬=qäÄcDqòÏú³Ü纎B댧8â¾¢Ë*8¾ZšÙsª@¹t´ªBÂÎÍ¥XòÔ<§~wÆ úÞ¶2eœSOÊË‘‰2OU³þö§ÄžT°4Ya¥Oî:ÃÉUÛÄ+n€n™¤œ˜¥Œ·Þû¬ç0 n{áq7·/m^ÂrÎ"%ìµ3þ ŸÇáéójeY®r ]‘·$«Xžãw¬h`ÐÊùbŽÀÁq]3LDø¹oªùÁW”癇²„�øj¼ª©–‰³zº�êåŠt±O»ìƒpãc�–Ï>è_+Ùmìádº\c·þ–Žö¡ìχkèò:n0à™8+.§ËL¹4ðÅsšO3Èp„6;c)Ó:6€hwsy]=¶9Z»Š¸k€³®&Èýž{8âªÇÎêé$Ÿ0œ¹>Ê—¯Øî öŧÌb€9ÂÉúªÎkØl~"µpï³¾QGñLœ[HQ²¼dæYÄj ´z‹ N”LN×»hWt¶æÚ�ËøÚ—ˆ²EËx[…s F¦ûÆe]^…ÕåWRÀ¶æÛiù⮺oþ«íߢtÛZÒÒnÖØàþ0ªÌ œ;–û)Ÿ+÷"sLáRT¸Ö q½ØbäM�­¶I–šd°ìºß)�‹2üç3Ì¥¨¯Ë³ZDÃHÐø†’cÍÞÖ¿®)™'l 8Up*ÕmT~bîU:ÎsêÂ<¶²¢¢–�25y[I5ˆzªØà&t¯¶‚K»šá?O¥`fêTf¬«�4—‡²ºýA[5Z<•pÿ÷tÜ•aÓèd,6âïD&gx~f�Vâšþáü®§ÇŠ*ö§—îÐS½š95—îmmñé ñtñÝ7óúú¥iäÞá|…Ï«‘gÒÉ5udõ°­Eg‹(s©Û}ÿ,c»Vfq~å2IÞ ³…x©Ë«Í^]—Ѥ¨Ó£u¯4Ø<Ö n¾ÙA£q¡e%FkE’Á•G šf�;©¹‘G•°zI¼#�.=û-)&x�{OÑQªó½TBg™„ ePG":_¿¦ΤX)¼ÚÕÒ�ÄÅ+fS[ ÔY¢KD#dU‘0Àô?.XúNê�š$ع³=Ž.à+wæ#.©L°QG5`Ñþö«¡¯Þæ’ ý•¡8Ú�ÉôRÔ¢zí5Œ|E—B–;¨õô划'j%ðìÐá'K¥q–Ú9QùãÃTë,¨´PÄlAØíÏZé])¡¬{ž�£püKáïÛ¯ÛàŠ¢«‚ø4v.ÄHP–·B6ív>ƒ¦�‘¶ÛÊÖœ€v…ò�*Ë ó=IY ¹=ùïþqJyIåP–CøAÂÙy~P‚4b‰¾‘f6#¶3üGŽ8TÞAóZŸZ$%A �®9ÿÞ ’ÙºUd}ŠýSé–:. Ëq±åëká žæÐFòNÓÙFM—ÉNñÍAÕ°¾Ÿ¯ÛZ\((/9-4¯Ô ™®_.«÷€7V;±ï|bx¦¬ù�¼r³oK!ŽRumîÓŒùwa/y#ßä­P¨Õâ%ÝOk6ýl0Op"ÙIÓÕK¨I4øEö;nÖ!Ï.nr‡Â»kJ2š/+.µ;X|¬?|$A\a-Î-ÀG¢n •pàê·;ûý/‹Q9­¦:BM?(ÏEaD,»†½ˆÿ;bÙ>¡A–±TQ†î“ &[€OC…ÊG@Z\7´£ãÓ#YĆEÀæ7ç·í‰yjH $©XiJ•1�›Û{_ÐöÂí¡CaW!!!-Ý´«�;t7Äé÷>ÜáA:IÐ3ûîš1w„–.¤X‘øýþ›tÁ¼U× �$åÜ¢i’1©2÷>KíË– K°÷ϪCõ¬¬ÇF¬\ÑÊ,QÁçÚö÷aŽ’ÀÝc”ðX$÷”^Î;›ß 5žBkbq …€¡Cbc?†ûÚü­îÂåq"Ú3÷H‘¤›ö´ð”Éá!‚ä5‰×ë�lx³ÂOŠ7öNHϣŋNûr$·©? (47û¬£>qnù©ãù`0ä=nwÂ|בåMvMîžUYƒ ÅGâï¨~˜{@ëž=M¤ºœib'}BÊWu+`¾ïM÷YiiØN0{å(C�AtL9.ÛŽÞëã¥�`ÂkóÏ!%h£²ãR7âåËßÏŸ#€oò\^ñDH?ÕP]š ÆÀtÃáÛ¸ŸO²Sgyim¦'§�$’)‹¬MåÀü»ŒtÔC—'å•R"cŠË¤Ø­µiÚüû‘9ÀM‰ö ŠU¬Ã-P©-‰ H‘FúwæóÚÇùÀµçò®C6<¡Fåy¼Ü/˜Á˜eò£ñA,.íê=ø\ÀYq}åŒG%}"û;{yÊ=£dñp´´¢zŠ…xᩛ𻾒Ñ&ön@Üv¶÷Dë®Ú ¤%£°ýéW=µ{ªá—¨›'£•�j�üEªNºo¸qÒÛ›rÇ¥×t¶]jl,7ÛèãË꿨û"�éa/h•ÉYµBÏšO"0*X1'ëÝ�W¡�­m‚¯ÂU•%AuÒe—•¾87¼nõM¸’™dºc k�þ»â$pª¼ªN±†�¢²R+ê‹Änfß^˜Î$‘•UòžÈe,Ë0¶åò8U70gÕp�¿ˆáIÐ4níã\¨ØmcðÁǤ$ó%½¡Á¯ýV_Z=�‡±:w¹‘üñ ‹)r�2TˆÞ8ûg�úß .mr0-£ù)L¾æÀ’AµÎ¯Ÿýb\ãTBAs€Ür¬*À:›-‡AµÏ×ë„ y£ÈTöºì«^ê¶Ýy{Ž/‘° üú£qoâ"Õšš¹\§�ü­}D^þ˜y{]€”לmW^¡«Î³ ,¾’7žY\*…[Ü_–Øs§¨íÕi懜ð¿L_a³õ pug˜P,yŒ =Ù9xù·VÕ:GÿO•QŒq»¯¨•L”T´Ùm*ÞVvéðœç8�)2yxÉNSåÀ„HÖíÍÚ÷'Ôâ–²`ÓáÄ™¦éîpó)˜(VŠJ\õtô8£ðãìÒÐdmf- ýØK€W6#¦=GO™í‡Ãµ‘<´â–– ^c=ì·PG.xf“Ãq!Ç쳦�T«R§€.�ö_RzãRJ1»· iç²x¢�žà1È#%dÿ‘éŒYt„“Dn8ƒ›D(U­Xa¨”»j:Ül Î3à�­çÕO½Õ(œÞJ2•u�z‚†ŠE¶‰ü[¶Ôb…Ò‘GÛ‚™´îr‚®žª8]¢Âx�H×*G"¾˜pÓú,�CÈYòNopájŽ4¬ÿn¡©ÎÞž®z}-,ñ¯•L`nG¨¶]L^+ÕžO³}Xª§¬‡? @’‰e£UÁïÛ¦(3§jàáøWªÓ |G—=ô÷¡ÉxS‡("¬¨œÕfˆ…5ÆÄt>˜ÞÕˆb"iˆkû/{о ÑèÙL�ªÖ\_íg, F†(c‰7yõì„£ºgR‚Zk3¼-é£tCŠ åwÚío‘œÛ1Èò§¤§™ 5“n’ØØ•Æ>©ðïÀíÕ ãêoô_øÛã¸ôåÚxš,á|ìÎs¾âgÎkkjMˆ¡`hT0çØòú΋àÇ20Èù¯ÍZÿˆ\éˆ`ý×{K£ÊÿÝeZÌÆŽš‰ð¦],×¶À¨æ9ãÛt_…ŽíÅ Õ-½EÁ¥­kœ8—8££¬Zº©Q<ÊŽt0åb?|}c£|"×¶�„Qêå<7+]§æ9Ugûõ4í@èá¡!Á[©‡–.u/áþ’M1�ñàúþò½KÕÍâÃDz/¥ÞÀ¾Úõ�:Õr¶fS¾äãÇuŠY·f�´?5ét]×rœ¨ Œ÷#á/¡¨šYØ› aÏ­íîëðí—q8 õìûÛ? f9]³"âzšïgUÔϘpÞyM&¹¢�Zâ{/"Äïå Ø®1u¸|1¤Ô?hìU]&¥ï ¸ЏœÇˆr:\—�²./—Ž —Å¡j 4JV’É-Áü{Y…ýØò±«Òj�—xà|“g21‚F’G “Æ”Y~y�ñ³¬ÂZúzx4çµgôÈ$ø†žçiŽÀòă%Ý Ëåþï@«Á£Œ�Í_6x§Šé8_†¸+7ɸª£<©‹4–¦>«�$D—Ì “Úìëá›’v¿|xOŠúÛ�Ó­€ñYµŸ4›âÜ]y\½Ç>Óøã#É3ÿe©Â9”œiš×E<°Ñ7—/†B¬º2Ûv8ð.Õ°´±Â‰ì±bÔ08ìµ_ðß·Ž,ž—=âÿ(âš,µ¥ ha ¤;,,ŠH ÿ#ËáŒÍVº`æ±Àc…£¡¼cЭ!’û=á:<�3Îw�åU•A,µTÕî± ªdÜ¢2ù·&ã¦ø=$BR|CG•ÊòñYì±’ð='´ê\‡?â>š¯&Êè�ëgd>Á8Ú€ñ'p~{—½¨¦²(Ñ SG'™ÐK̉’P†Ö‚\?$L\o)ÌŸÙvg=u\ÙÜoMg†ªŠOIåK�*°ØX>ËÓ5Ív׊#ÑT›XâðöMÍžÕ8n‚¶«*¨Î+Fjÿt®¯Ì!¢+pDvÙů¸Æä×´™Þ #BÝ8m†žUR»ÙFwÂÙVM›qæk–fn*$¦Rªb–†ßE%¸ÛÃ$X�JwnGáË €šå,Gåòò‹ŠÞ�Ñ{�G?QØáOòå¤ýR[DRZ “Äñl1Žä_�úßl—[ÿ?õÂ!˜r‡jFðˆñ4IÏPÜ›l;ú8°Í×uiÎh"ùù'Œ1†Jîîçãƒ3H Óæ8M²HÒ‰¡+­E¬Ò/b0“åü)°¸PÂI§×¬�‚ë+ëÕñ ‘䀤Pqá LDÈHä¯~WµŽ&&íì«Hs´æÑ¡%1K˜Ö`I$Ä»_^?¼R}ШŽ"ÅÆâî¶ü6æAùal‹Ô€Þ/ å8ŠÊGo!ÿh¿é±ÄM/†<œ}Ó…¾jXÆÆ"±­; -°ü}.>D€·Åh\H²ÛV/oà6„XæŽ)±¶ÖòóïÛp£„;1ÊbHÚ$DÓ *5ZÖçÿX†m{ëÛ„;q·ÕEɹVW,6u¿oç Œ–„ö�<§”쓱ŸÃP.‘”rÕÔàçþ.ÅX$ rŸ§� )Gpöóì7åoËá4;çÊDïaòòŠ#C°¾�®¶äF9ñ‹¦•38�µfšB¶afBI&ÜÎ Úy …žy#TTw‘”s#·¨2ÁÃAú#ܤb¢$aM‚1½Ï&¬÷=�¨גìpŸX¥€O™§oÛlÃ2mºV ­ mR°Ô¹K(u-å¶*ê-Ì$ðºI†C‚�ë?Û²jz©5ÚËÌü1ƒŸQE8Ø€>¿’æÿËPfTºÜÜ·¯-¾¦=kZÏ J /ºš¤°�³j^J ík~xAó:š©<�n²¬P°!™WJ�¿00¦ÂIÆU àNM+M*�.N�H·óú XBö8µ,²‰ÖÀ­€,G.÷øb³… à#¦ì¢,ú¢à˜éÐŒKsê>'cÝRKˆ-Ú–j 5ɹyˆúý0RöʈXµ4’‰|ØÞû[—Lq"è)>!5xV:;Eot6Úß“4}KÅ©äñ˜¾áG—¹ÿ¼ F ·~ª›ŽoñJStîÆ;0±ƒ~V¿<^ŒÙòð�·ü}ͧS5À7ÚýF\]´Ò3kKIÂú›þ�þÂÚ�C[U–b¬·çù[ú›#¦äü’´úg=Ôꛆøf�†2:HáH¾ïm€ç�=¨é;jWŠõZ:†¶Ï*[+¨Ëªæ«­+âò µíа5‚Þ~Š˜ ÚIå µ¦–¡Ì@º1çßvYÞÙ Œè´åÍÃM«l4ò;£M†².ß+âÇòìkƒÚÕlFê§âÐY–WWà}ãÁ6;op?Lz7A$±‡m , V�í;©WiÓÿs3_ÃQçe8«§�Í¢YoåYsZaGO—fÈ*!“ÌÊ9 tÆä±º6²Gå¥;U¦T�6=zªij!«ž˜**�@ê�q“Õu±Ïf˜\OáTáš,¬�Å ½`,a"õÇÑj`•·mÝǪÒ-SkçJ j)©„Ÿwœ›Ó1ÙA‡l`êf1ÿI¤–Ý×p™ßI̳ú&޲�gšà(�¤ÛP�~5Ìl³¼ª?Êÿ(ÂÕ~Õ¸ú|û…s,ž*jŠZÙ)&„$DĤl{ã;©j]¨m@©{N‘¦í�Þ!pí>�ð— ðìO4õr@ÅÜ’Ö;£šØÝ#Á£À^‘Ò†€áÙiÎ5ž¯$’±g¡‹6I†îãRªž`v8ô}'¡E3@“Ÿeæz¶½ûðÛZr*Þ¬Yžl¿<Štn¬Jƒé�­Cð‰ÚÐ$Íax¹&uVßÈ3µá*z:ìÁ¨³<¯Âa¦àËžž§Ó—Kü=|Í ‘„Á¥§Ó4‘�$q£î«|Mí_Ù? MIšpÞqÕàê’•·ÒOc�}Ðÿ„¨ÜöÛUí_Qé:P%‰ÖîáUi~Û|iÂ9 û�LUô nÄ‚ÿ–=F·øQÑíuƒòWúoñZhˆ mµt¿ÿ©ÎI›Èó÷zZÒtùÚÄ×ë�™üUüÖEèFྭЋºyφìÐ9Úfƒ=…*)ê©ßYÿÆ\�w|~rë]Y ²vŸ’ú¿Kë1KO‰Ãž/ʸ¦žj_º¤2H»›Ž^ìxÈ´¾»š#÷ò^±Ó2Víxî¾4ý³8/‰}žW·ÑPÔf™$„˜ÖÿÓBw±üùã÷ð∵®oNÕaã�ý¯ËÆ/€ßë¡&¹_'³ßiÜS–͘TSÓº+ms uS�ÜúO�‡†7…ù‰š`óv´naíjÉõVÄTYÚûóÛ¦-Áðó “io?Uè™Ó¼›£¯š¢g¼N&ñSÍ žfAßÝÛO€i@‹¿eoE |ÏÜã¶–’Íøµ"ªÑ%kÃ"¹-y‡.bøò=O¬±²dý;/¤ô΋l¦‹¾áTæöƒSI�E›Ò;Å$®º<º­ßâ~¥¨Ì<½©{.‘Ñ -¦sê»ó؇ÛÖ ’¦š—Œ2Ã4kh–F7T_QÔãó×QøÈf€Q_Hé½nh¶Zp]“™ûdû2ûWËjió Ÿ%®â:¤:¤ºÑˆÙAé‚к}#óŽÊƯO¤ÖÆæÕµo ûû.ð–Q™ñG´Üþ›2«�´”ô+8"5è¶ycÖj¾!ÕNù_µ£°ÿ*¦‹á½XDÚJW`U’ÊÂÊ ÚÊ;c�#¶æ×Iý—>Ñüködö§‘ûEá Ù\F~ï˜Q“äÌ)I»FÞ îCèN*jã26–oRé£PÍ£•ûIû}¶xWŽònö¹ì�é³üͧ ÒH[¤;�çÿj¬z‘b>Nëž= žªà·/¬Ë'öÚI MNM–RÇ#4Š\uÐ]uþ˜òºžšK º‰à”™vI °YìÕUü[ÂY´y5³ŠìþoiTñ1¯¬™¼YP‚P¢“³s·cleê' ˆ[­×Ü*‚×°[½Ö¿~-âN¯âçÏ}¡ç¿VÓ­§ªàÜ–Ûƒˆþo{·€ôå4ÊýþjöQœAìß-zŒ–¯‰8�2J ¸ÀŽºª^¡ –[ò �Ž™¤ch=r«K$Íqh<ý”Ef_Ç]–ç™W æÙ7PJ¤ŠPƒ5Dþæ<Ã6Ƕب4.ðã½k÷ú'ÁÛVÆöwÀùuiçâ óÙ÷ æ?Þ!©‘¯\ÀnVFäöéËz~žY%­Å¿;U™¨c_LÇæµÕ3×××fGñöi•e´Z)"¦Žï,&á͹ÈÜaZÉ$�ÿÒp®å>1M6ê6¶�Ù–t8'‡8‹Œ¸^—"Ë`ždÄC4ÆâÓo±7½ð覛QÓ´·i6Iåöµ¶úkÝ9„|AMs*ÉarˆÁ•EOþ ïv*>M‡ùysG²®à$hßûú-­[ŸVPpöUžGÅ”üEýÖ–€¿šcø€î7ôK^+]øx :V–²š8û­7™WÉÅÌY0Íó¬÷9©Ó÷‚¶XÖkò=Ç[áz©ï;Ýæ=‘msÅ Ÿ’±ç\2¹GCÃù‡SC“©U*¹¶¦;XÛÝ�pc¿oò­xokp=UR§ˆ2x2z¼¦…£˜ËY'ƒ.«¬H:ïß|‰€=¤“I2B›ÜJcýæJ Ó%Íè)i–‰‚ª©å+ZÄ“ÓÓÆÆÊÁdâÂi–Bý­ôªõOÞó´­ûœQÏ#Y“’ØÜÛu§:RÐavâë£ìP¢H›(Ì›.¨×Qk•‡_�Ë£k·Uäz-í¾PϺ†á&šl·,xÐÓU­V­fýû�~=—N×Q?Œ}•þŸ¥’�# ûƼX™!ª¬¯¯B±!i�˜Êö¾>éÐc˜†ß侉Ó4�h.%~vþ×ÞÚ*ý¬ñíE%-Al²ž_ ?‹~‡å�¢JvRÊI¬ ²…D Á/}Úçv=‡Ã/{¯Î²gœv9WŠz«›©Sæ¿20tÜUZI³d+#J]ˆVQ±·1�cÝY<úåC£mo´[SjÒQŠÇý×<�Õ¿<œÒ8ãî¡ñ›°HG”ŠHÌJIu#rO3|27‹¾È_oME:T ¼±¥Jòû¾»cœÌSñò\è›b“0«Ø±m6¸*§ð‘û`Kb¦7œþJA'fbÑ©I‘-ø×�Çç…n Ñ ÑÈÅõá1EPO‹¹Ò¯Kž9ÊT�nhêžudòÉý#mˆ?ˆöõšlÛ¸ �ëË®Ë2Y*�Öþàm¸õúëˆ{£”S{pƒk�þ¡ˆÊ‰RÊ ]5/§¿#ìQ±`°çZ!aðž2oçÙHmÈ÷ü¶Âݯ.P—“]�ªÌâYĶ€5›˜Þû›ríù`Âéš&“0¨‘‰pXI?þCõÇ=£uoÕ\@½¡%ÌòÇ "Ä¢1gÜŸw»~¸ps¬Ú X]é_šaáG‰ª^-…¯¸õ÷ûð‚ÜDw®T=®Úÿ”<Ñ'€‰"i]{› ¶æÇq‰3[îéK]B‡(*ši„hDñ•ؑȞ£øÂ|?“hçŨ”¤¨ŽßÑ'J‡ »ïÈ‘Ô[Ÿ¦ýñv8¶Œò¯FÍÙvT6eC#É1P±ìnÖÙ‰ÿ›bHÝè¥�ví¼(\Ÿ2›†3x3˜}Ý\Ý\4ƒ¹ô͹óÁ´·ueñºL ‘躚°H•TÊo+ZæäÞÜîøüññN­!p¹9 æÛh€(‘ûÂçÎ+¬’»:Ìdóf Ü [çú`z&˜mÅ+ q6çrŸ„Ç¢”BšÈµÇ÷_�úv7 $&¨WÝ-Ž·T³G ¿v}Jˤ3nôï×ÞÀ0qûôPIvAÂ~š%Œ�™™µ|‡ëùbK6šÝh™&æÕ'­§ÂI#�Kjô õòÄ€/"“b.…·êœ!‚Åá=Úçš�Çï‹c]ûµ\—4œQü¾è:ÊUñ¤ˆk$²�p{`[´ä'7qî¡)éêáÖ.Y‹Ìt¶"2l&µ­½¯)¡Nd’Fº£¶�È.þ¸æ=Î8ãÒ’KÀ8R?u•{9Ç~ [�ÇKÀ¯ÄŠFËýÂÒÁÔ«§Í!$îâý}p±äçÕ(4œŠ(ÑY”¶ó. =~¹œ1Ûâïº{m§xà'ü5“Äe�håb¿•ý{`™!< #˜¶O0GÔÅAcpQHÈ7=¿ë´îR ¬,xnŽ1ý 9sõ<°nŒžåp¶sFÑ´°;VÀ¨Ä7+v÷c/RâÑa%Ì7åÁù*gµ ôš»À [s½¯ÓÝ4—¼½ÅhÇq,­Q–¡)(ÒæÝoË~Wìz—�ÙhG!Ûæ&ÕŽž�IV`HæG?ž*:LÐH!×’¥a¦ø�e$“`þ¿®ø`høú¤—î4xN%DJä4‚Û±÷ôÛ òðJŒPGÓÕÒ¬d£7#§nƒ¦Fh‹@K�dOßé‚Âj[ïaqùü0Á«P-·‹ESÎjd�õ¯}Éß tx´¶88©äU¨B£Êofå¿?‰ñYÍxv9û¦˜švb¦F5™€"ÀmåÄê]µÔ{ú*!¦í¼©*UÒÚƒ17ç{\zþxL€†Û�§mÉó)Å5–mÌìO®ǨMuÕOï•%BÁMÉRÚùw÷÷í‹!à íì©ÞÓê¿G¿é[A•æY„�Þ í¸í¾5˜ó#²µút@’÷¯¸Ü_Ä+IY_ PV2¦ÇžØóÿõ(ÞÖãºÐÔlÛº© À3Óf9UÉ®2b:»1Ç�:0A-4¨HZ*”¥M;£:Æ¥a sßìÓЧvYÞ!ÂØqÏM%Èà±6eÔcÓ˜ã’6û«²J\CœRó4¯‚9¼$”ñYÒãf^£Š� d4Ý}•mKdÜjÈ Næ.ñ×´±MxXßH=Ly-h¼F› Ϲ來߇ªS0É«éLJÊ©«K7à=m�]¬;Læí$U­;ØXìª�Vi– E,ôV×;«Ÿ\y“«ŠGy¶û‚”è˜Á´aP3J¸!j¸kj³ãG2 ‰íéŒØtᛃ�°ò=þHëì­SÅuós5W�¬L1ó«w¾<æ©ò>[o×ê¢(£Ûæ\�ÇÜE˜eUKQŸ¤qJ§Z§™QûžØn“O+ÝM¦­‡¶&°eiþö·MO›ÔRÍ[Ì�?Ô�ÉI¥ýøõ?£>CäÇ¿¢·Qk0Ux£âN­šjüÓ6Ëèëí‘ʰínØô];à鋃¶�%£Óºkõ„¸à|Ö´Îý¤p¯ ÈëR”|S—U9ñTO_ËpøOøg©ÔÿIºwB?ákj¾Ñi€’yšG¡#ý­#íŽòJÊ� p•U ’U [X¶ä�Ë ~ÿ§Ž±`�3¶û…àþ"ë=­-ÓJÐ~k“s?ýK^é%D”$~8ÖRªØû×Kþ ë#_ ¯ä¾9¬×‚n9Úô*ƒšðÖL*éòèQ…ʱk“ê}ø÷½?øt`gõàwÛ Éë4š‡:„Í ûåk<÷‚xÖ8Þ­(¦‰�ìTùX_¶.7áM[æa0­i4Ö÷ú­=[Õô“ÌÕ’WÒV*êüè=î/¶-»á}Ú![�WÔ"}ˆú+ï{Uö‡Ãœ®aY%,L ¹`/ß:ø‡ø ÓºˆsË[e{.—üBÖè¶‹+ëoÙ·Úý'´»eõ™Ä'4*;0#¡üücÿ§=Hs§ÓÇlö_«ÿ‡_Å�7Q)�N>«°ý«{¤ö‘ìò»‡³µå„ø-}•º|#á>¥7K×G¨vÒ¾ÑÖº,zý#¢/ʗڇا{â Ï'Ï2ê„‹Åo{›H Ûß�ëŸð×ã}?Xé­•Ž;Ç9_†>%øbn›®t�)ãÑp.qš…Y 0DHk‡Õ¤Ÿ®¸õ=SPÖ´´~/[VzWLvàN[èµ>kÅ9…ÿû�nA ¥µ:ýzcå½kâ íŒyܾ‘Óz¾v€¿®¯’ª¥¤ªs÷ƒ¤3[r};û±óÍgQt²[ÝdòW²ƒDØÛQ€Œ×K"¹c~î °Å]­‰6 P¥«jCè‡Á‡qp¶ì9tÆ»V6vÚ´¡�¡ÖyR™EE^IW%BçSSÈ"[j>Ÿ,yMV­¹kE­–i°4ŒÌ½¬×5<‰÷ʬÂ[Ü<®Hçè1™™(ž=ºk�YõZÓ7ãLÛ2C“±;§ÐÿÞ��7K¤‘Îâ©BG$±rlKŸ» .ɶ²‹_©¿éù`ÜmsÀåY¿�{ÛqïÄÞ,£d€pj­ç´l:ò&ûý H) _)!$¶ÁÈ;ØöÇ ÊŽÞd�‚&c¥µXrï~þ¸‚É^È­çm”‚­ÔíÖŒ»Ú2¬ë²_˜¸µ½ÿÆÎ@çÐÊé/³ŸÚÚ?Ù¿�¨øï€3zŠVÑàWÑ&Ê”þ8eA}@ôì@íŠZ˜šö–÷YK¦G¨aÝWê¿Ago¶×{F¬Ìø—.¤…+&¢ùŽOš>¡O!ÿîÄàê·+0¹èycæ�G¢67ÊÝÀö^n�öyÇåô]A”}¯8‹‡)òüÈqæ]H”UbÉ%¥"($jR<­k–[ ÞßéP±Áü¹YïÒº+Ò”nsíÓÙ¥?äyõ7ÍÄt•®ò×ÍGýįÎ0z-Ï-ºúc'¬ü2ÆéüQ =†käHcHÙ˹쯴~Û½–Tq%ZeùŒÞÍ)i(ÙÅI• òí²…î{ÿŒyqðénÝ™ÙYO…Â[i¢+,ö­/ðµ`É8:lÒ–5ošTÎÍM®åT�Ã|ek:D`�M¼«ˆ½¹�†Ï¸æ‹ŠóŠ*J—â §¥¤iŸýØx©«b‚5;n¾ìU0HÖÚK¿*W#dn4MP‡$«à¾-Lƃ‡òh¤´“ÇPRI—û­ ÖØ¯šMäD,zâ¾Ê£bÞKZ*ÕJmYÿ´üº‡…“Œ"ÏéòÀÂ+2ÉĎdílk?I+#ðäúsÂÒÿ²=‚öÐöãóV~ ö£í‹5Ëê)8k.ÈêZ …2.‹ÈÏhtíxs…�ë«á2Áe}U×<ößÙ–G“ð4¹vZüa-I5Õ­ ±"䫇ӛ¡ƒÂ. J©.�®»åWíw�8›%£ÌòL–‹(†PHªÑ�®Iü?çÛ¡gá`??ùR½¡‘´R§q/fžÔ8‡3ΨÄTT¶š7¦#L['Ý× ž"\ m#õ¿’­ü®Ò[�¢ˆ¸î‹„iòÈøªJœÕ¡"¡©<æ.£U¯b|Ÿ§ÈG‹&ºs´æ 8*—ÃùÆcÆuyŽ{�æ•?íðÇz…šSâ: ΛõÆ”ï|µ]Ð�3¯pϪ¿Öq— g�D(¦¥Ê2šd lFª–åvùaZ�s<‚‰ïê—;+GQÍÄU3,‹_FV’�Y¬óòâ“5¶�[ýü“_¢iÌFý‘Y}~cš°ËbŠ䎡·'f™¿¨Å‡DǸµ­ÉõÊŸåÌ|)Î(¢—†ò_öXæ…j«’þŸÃïí�>™Òu þ¯oE»”È@!NÒÖÓðÞ]“åÓ _1<’ôåÜòú'Bè"BÙÚq^ÃEÓLN x°Ê?¶?Ú®†Ì8G…j|J‡b“2sPv·<}ÛG¥n�™ZZÙ1L8_58,Ÿ1šJ¹š7g!®çqïõÅ9ç7k!ú’<§m¬º€@#TFð¬EÏ%ëlg‡Û®Õ9¤hŠ�‚ŽS ò¨ˆ›¸_uùáŽ{ƒqÂÎtÙ,iµ0Ô~I ®¥$]¹€oõëˆs­´ä§4wÁSå­U¤D IkÞßõ„™X@ZIÁR"–0YD t¶ÿC¾MÔ–‘cÕ9÷6V1-´�1±Ø‹ÞØâït�|ßåFÕQ ¥VÔ'ù·ÇÞ <9ØwÑFUÐø±3"”�yysíúàeiqÊ'Èkma•W¼°‚¼–€ÿãbmòúíŒibsNîÊ»°Úr®Ž\ž¸ÄÒ®× wØôý°øuÍÊp–ÙŸÅýÕ’–PQv ê ñzcB'�´Ýi —þJrœ©Í ‘TAÜÞû킚ЬZè߸W`ŒHÁ‰X�(ö¾Âëéú`.ü®ì‰Â†E)’Š7T¾äß§,6Æ<Äð”æº¬Œ}–CKáùa[‹&žÇ �â#?¾Él�WdBFd¶´çb£ÓêØ—BT\úoÓžX�³ú¢}çôJ�1–9≃þ7‰Gæøïé„m%žoý¦¼ Ü #“]BFÈÊ—µï¿ÃÓž9¯-;ý{%†°þ'e=¢ÖICxÊI ꎷiô¿D—È+Ô%ƒ$r4Å*®—M6½ý:íls®‡ [ÉÂ]F‰2Æ j3êq Îsëÿ(�h†*Ú£–O9ÿÆãc |:sµ„¸ Ïžƒ±õXX#–T(4ÔæU 6ßä‘»�þ?0›9Ûÿ)fu›I³Ûæ¥ûâÞ×Õ7#óR^NHÿ„,z¥…Y1$°±ì?¯¦Øi÷Yñ=ïÇo²½\%;ÅýjkÙobEú[÷ÀÈÆŒ%pù… ¤´àÄüDl-£èã�cÚ;˜¤1’[õL4qÂa.Ì }†Þÿ\40¼í ¡ÛE��’‰ÌV/4V(‡H·0Eö8tð�¿Ó"Ô²Cv0=%f\î\‰š&xõH†úo×m¹Û|*7îg!ÊÃekM‘K¢e§ðꖣŰX‹�¦æÀp÷ãâÝ^‹®ÇÉ|êf¹§úy\çT]}c!ZM~ã~ø_Na "Ó¿mùRôð0f.�¬‡e^Fÿ㱛͢߿%LGN¡u 1Xë\Übœ‘‹· {G–©� £Í¡ÂÙ‚€wô÷úáMˆœîRØÝf°ƒ«†G0X;hBM‡#Ë´øvÚ wøÆ(¯âC ÿMTŽ£Ýßüúa»·XDI`>TÍK,R<ºN–bXú_× is¿¦î>›ÅR†Ÿ\Ë6Ä�ìMŠÿ-sY–‚ÑûÂ˜Í ¬!á†ì“åÔI¾ÿ\ïˆp�tl!ÌeæÃÒy~}0 ÕC𸾉ˆã³bž`�µ¶úé‡4 ?ˆ /`ÅüéHGI ° æuüÆÃžû‰®ÉÍŒ8ÿOð¬¤J,¬5 ­�·ÏóÄÚŠg–Œäß²*d.‰+ZÜÊéü�¦ °ŒýÒ·µÙxÊDDWM¥ pàõݸŊ-¢Oª8ÜÒ1ÀS$~>fú‘4"µ¶"ÿWý1�¬vÆ”oxÝu€´WT œî¤ÆÃ¯Ç èäíÜåj-µd•D²¬i£J³6ü�Ƽ¯ÅYRóÜý¦�’%�Ë£Ê6¿FÂñ·"•C¼ð†Ÿ:…[ÃRCÛIçß§nc �¢H�VFTTò ÇP©{í{ÞããÚ‘µ¾èHYÿç&�Ž×${»Ó^§ÝšÒ}‘ 4£Teˆ$ V¾ÆãòõÄJ�6¯²:ƒ3–•‰2[ô<ÏoÊßZcš0ï+[dÒØtYÌ2mL¤Xåù㼎çòT›î9W Zêj€lå™¶²�oŽ3öÑ·ëÉ7d+ �2]›ñ\lÃëõÁ9á‚�•QÎh%ÀÒ�2¶�(e<·ýp–¾±x>Èbx ÝI 9[¸$ î£a¹ÞØ!mEnƒì¾­§—Ú2ŸÙöxÙaY¢ €Mͅ﵇å�c¦�š�1� …@öµåŽ¯Ð· {Kƒ�rj³âxÖ­ù¯|x-M–É}†…±ª`lg ¢½™gtõ¹]N<8|öC{\rÂ%¬ia=ÛÈiÂÛ–)£«Œ©j…º‚9Š ‚'O*eˆ–íîj,Ϊ�j2öŒ¾äÆoæ·lfF턇}ÕX§vÒÚʺdüYþã“Í@ yMˆraÛ�¦õwÉ �™ýV«u.|%ƒ•A¬ŠF�!hééæRPþq“6™Ï;XÊró~ÝF–½�8­¡Ík)eOÅû†<ËÞèžZlº·¦�9§òQÓgõtÒÇGSB%¢rA{wë…iõÍ{¼72ÓôúMÄÝjÎ8ͦÈ×ï“H³.¯(ë¦Ü½øsakÇ"Çcè›­éòDmÜ.uâiÔ4uÙÕd³­;yQ’[žÝ1Ú}/Æ ôM�FKwjâ¬ã‹óÎ<Ík(¸'$Í*)v’@t^üîyû±ú'øyü ×uM®…„4ú¯ñÄZ}-·w$M/Ù ?⌾‡ˆó¾#Ì)똗zH.¡?vüÿKý#Lú”—}‡uóíñ$†Bßö®öA¤ŽIä¨�;�C]¶ÊõÙî¢XE«H6]<½q½§þ%éïÄ6¯7©lóƒkLÖ}—8ß4®–&�ã¤Á‚\{±£®þ,tÍ;7Ø%F“G©•Þ=ÔmWÙ›‹(§–’jibhì«"©±¹æ~xãüQéò°Kcå‚¡úmDðÝ5Kâï³we‘[0‚t¿¦£ø·¥kŽÀ@>†•çõ=n•»™t´ß{Ìijá™2™$†UÓ©€ßnG?Eé¸Ólü‚ÕÑõÍg�ÔµËûg™èåË4Ô•eÐ@8É“ámi{\[KÒûÆ™ôÒ¿Uì‡Ù�þŒÎ#Ìò³W“æH *‡cùãÉõ¯‚`Ö@øƒ·4Žù^§¡ü`Ñ �6œeõ7Ù×Ú²‡)áŠ\«‰8t×ÕDž‘HŽöï�ç‡ñ7þ”&¥Óè¨ÙÅ/Ü_ÃßãÄ@¬a¯U©>Ñ<;ö~ûGð¤ðfÒÔçò£K¨ò·kýrÇ’øcáOˆ>piiÙéÙzè?¶Øñ»¶r¿*Ÿk²ûÎ3)¥¢Ü;$Œig‰µ+GÞü�å�¨;ãöjZXûk½×ŠgÃèÜ‚Ǫù¥šËQE;D„¥û�ºím±ãõýL‚ \½v“MåªPÄæ‘±YÀ¹ÿ?ç&×¹´\­³L/X\æ*‚Õл½Á®ãáÐ_ôÅIzÍy€ˆi7bÔ>qÅõ34¢Œøq‘¤…;‘ÿCš�L’›rÓ†0Щu•“JZF˜³ZöÜuü­úá>ÅX´J«Ì—ó[•÷æ0§ÞPºÂCFÀ:­‰íðÃ’ãpî�iÙUFí+ŽÞ;£²œ±(@UõÀ— °»Ä”±H\#f#kÛr=;á{ÇË‚CÒ?Xô‹ZöÞÞŸž H }°ÒÉ'†Ê4�Ÿëúúb<@�ïòˆuÕ@M·Ûmí€27Õ˜�åN}Âê%6$oË®ÿç þ`]"BEöEC—]G—IÚÂÛŽ[þ¸‡LÊòàT¼9{ k+g��®+É <$  k-lÃ+¨ûÖ]YWGR Ä‘9B]Æý¹auà ’�ãÈ[Ó„}¹q×ɪÍ'Î(º¬¬KF=Z™¥»h¬÷tøŸæ-°º…}­.s¯G2ýâQýXf[{†~øó�‡#‰Þ'§ºÔÒü7¦Ôé~ŠÈ8µ¢�c¨ i«¼BUݘ…'§>FøÍ“§íë>_„„nÚEý§-ö»ŸpÝÈ8�0¦¬YCÉD¥¼3æ¿á;úã&n†&.Š£/C nVóË~ÕÙÍWÁžñímEep±ÅLƒÃkX�>XÄÖ|%ãBÁN 5Úb]‘jZoy-bUTÑSOQÃSÌÂCU#1 –˜†ÄïŒ÷ü1#[G,—tðÓLçÞÏ䢸·2öy]ÅY/äRÓåy|ñ¤RT«x¤qc¨�Ìó&üðRt™Û cl×ej-D¬o‡ËOÙmŽ!öÙpäñÕ{<ö�}[MBg²ø [Jƒ×±ÆL?KaÓ³åJ«tïkËÛDWµ¬¥ãÎ,®Éäã>â'ªÍ‚:¯¡Â ‘ÛÞ,…QÑZÒÛôùD9¨Ëóó1š ‰ÊÉ4Ȧ Oü@ëŒY´¯ÝýϧdTÀ(Ÿð§ëçàL“ïÅž’U¶_©¼Ç»–ÿg��I$zÿ¤1@Ûó÷á0ÜYIœEQª¡2HâUXâRCHm¾Ø±ŒŒBÌ¢þL<£i¸ª$† ?ªZ ,n›kê}øv—¤n–÷~øZ0éw8g÷Ý_¸Z‚«2Vâ¬þ¦It©¬�kŸë�£|?ðì“›.òŽËÕtþ–ÖRAgÜ®3ûL}ªé8&›;ÈòzÈê3iãh�VÞ0Eˆ°ÇÖt½-��â0® NÛ•ñÖ+¸ƒ6ªÏsg’Y5³I'˜ùaZÉ÷T�5d­ãÃÙ\kKi6Úã—¯ëùcI­ÖyYJÒNê¨�ŒaTØØÚÇþðQ¿9ÂË3nvÓjr*%E°ˆmøˆßm·1¥Ûöƒ`w¤Oî )(Ñ•¬ã®­­õ¶ Á×ÊP$ŠÂ�¥„« ?…�ÃC–ð«ïhÉù)¨ ŠÀ_Ís{ïñça¶ï æž ñ¥Œ…‰”$œî??Ðá.ko)N�+y÷BUÒ#”.·Uïká²·w”þ©šbZ=Ôl”lP‹-‰±RvÓnG¦!·D›aÃÌ6a@b¼Ë…[ô?VÅYcò� Pç YòŠZn.¡’š©£�0ˆlÍ`Æ×±ÿ#3´ÂFÑ„–íáÇ>겑OARÐT’:,Ãó÷ã^) �ÄRS5�¤Z´Ðy,…�«q~Ýÿœ^‘›…´áâÖòTô&$•B q^ÃÓ¶Ý8i» ˆÊû§e$0-ÍŒˆX�FåO.cþ±bGàn�Íuà'!ŠG•~ñ!/Ôr ¿LL’�wÿÊ™OdùYbYfhì[~c¿ÇH¢òS3�·½¬xXüEÔ§e6çõûaÑÆ@ÝFÿ$—ðŸËêÕö·îˆ„JË1$„!.@³/=½yácSÙŠb…¤ÙÍzÿ„#3F',¡ƒ%¤^ÿ 2V±Ï"œ–Ƽ]Ì3‡Ž}Ú�˜‘mÊIîõßõ¤f7÷Ddó€��IšIl¦ Y�›N­»ô;a-Œ7ƒƒíÂ{Aqá.HžBî_Lä‡U;‚½E¯Ï–ÞWnnÑŸt .cû_§ü ìiD’ ¸R�·#õl*攺î°Aû&$3¬Á|…Fµ6?[bï†Ý»œ¹Àá¡%2‹¶¶…¶ek+)æ,{~¸D ô}°†9/‘Âer«¤¡Œ !#q®X˜Á– þu–ŸHG¥�¤&D-¸*MÖÛ_nãôøáL‘Ž!Ù¾êÄrh@TÁ$z–A'ƒ{‚[ðŽë·»#eÛ�Mf§w”ýÏ oUËQ uoá‘ý#{ysÇÁº¬à›w+çF‡În:†Ss!nܽÿ‘¦Ü¾¹áò“…1½÷ƒi°ïVÍ¡ü m=Fø�Û¸Œ¨”¸dœþia‘gÔ6q¤Y»Û—ï†M°6‚˜Úâße,,ц(Â#©�Ïá¾À�­± Š…œ¡t�úÀNÅ ri"1ã—C׾شÖŽ9á?`¼¤ÄˆO†!ÐXÞÖPFÛüpRMÃ{&ÆÓÉ+1Ä ÆF²6Û�ýp¤IGŸt�æçvi (¨W{D^˜çÍò¿·ÝA#næ�hã"^ž0²[µ�ßëêø^Ê4Qƒç-èï*6‹“`ÇèŒ d¶²¤hg`œ¨Cã¢Æ €¶+~þïOÓ,ÙüÓš@ÈõMAK4Ñ™f„&ÌÇe °÷âZ2y]äi§)ÚJJÂöD’ÀìW�íˆqÁI|­Õº†Ž´ª6©¬Øì£rITÞîý½Uÿ)I @&‘î‰æNŒ�yˆµUï p¦Ä Ç¡€=mk‘ê×VéšæØ7JŒº5¸åÎó „Ô•.lLd>÷Ê~¢BwŽH¦-;´ÅMna'‡VREb5~£ý[Ràiœ£Ž‡o€ŸÉäŒÕC<‚eÔl÷Ûãÿxð]7S¨f§qu ^–-r07Õ=�ÒI˜ÔI)0Òn®Ë|{‰º†ñây–úAl›{*Ê3¹ª¥jÈZ?ÂÂAçõ÷ã~ \m×a[‡AnÜâ¡sî㙌’¦IXŽG�âŒ:Ƀ¨´‘ù¯HÆi�¶» Lç\ í¿6Ѭ9--,�¢E™É1ŽöëóÆ·BÔx“†HÚm÷*ÿRêÐ*<•;�ý‘²œÓýƧÚw÷¹äUðâˆéˆm½Ç\~šø8|5£ÌjºAØñô_1ê’j§i�¤0B·w ûöwÃpýÙrêhãP4² Û[gý@é"�ÃÒHx†Ñ=Û§6Ou±2®àùkciâ¤ûžŸí°åŒÏÿ˜ùG‘²Õ÷ZÚoá¶ŠGÛÿ ´ƒ„(äjj:Jq›(Ñ£ŒMOý@‹.n?UqÿÃÝx`Âb—/àšX]>è°Ö1%”¥‰=ð–ÿLÀ8MŸª| ¡kH"Š"’‹€`i¾Ž/¼éº]Š÷Å}WñÝòàê*½ÝÀÝ5�¹dñè�0p@qDTtq¶ê¡GÏßþø¦”îþcîš>дÖÐÕyW¼�*iiªÜí«Â¸,[?ÆI¢ 3Sù¨ÂZ' ´GpyûmN_—¤ æBÑò÷`t¿Ç}[eñ#ÔYRß�´r3ÂsE-SÄ^Á=—g~<“­*6�J�fmß^è?õEÖ4ì ð@îJðÝWø3Óey;N}§¯û&pmuU,‰=%4BÿÕ 5“ß¿GÿVÓÎÒçŒüð¼ÜÿÀöÄCZNßÍWóï±7³ìáIg•³oÿpöôå|gÿüÞkb–˜˜^�Eü(Ž(�8ïyZþ«ì#Â.% �WRJ×ÑÊÊ}ص'ý[ŸI±¤üÖ®�àÍ@ŒÇ¸íõZg‰ÿÓÚ²¹&¦¡ÎÞwæ²®ÊVþ�qèÛÿTý)ì?ÍG“Û”¸þ×µÕ§yÂÒÒÿÓW‹x†ŠŸ&Ì3 lêƒA ÷›²i·[Üàt¿Æ¯‚õÑ“¬ƒiù û¦ÉªøŸM6Ø%$zer]_úð÷KU_UCÃù\ªËvRt>üŠ÷ç¾<ŸXþ!ü ‰Ž'Ñz-Ä9¤9Ãüª¾{ÿÓç“%Y|£ˆi2‡’kDŒËî~œ±áú�Æß ê]âDÆö² õ:ŒºÌ- ’ž}ÂÓtý4�›f™­w{WÌ  kø- JJöç½±ä5ŸtÆI²'¸ƒÆÚoñ^[{…oÉ¿ú\¸ ²æ¬Îý¾ñq©'ÿpª‘Ü ånü±ä5uÍ·Jæ†û€OëI³µ!›€ö[[…?ú\þÏMTñ/µ¿im`E,IâoÌ�;b¶³«õwb @õ%¡S�ø‘­-;¨`¶©ÿé¦ûÒD¦Ÿ2ö‡]`.5:›~›r=F£©ÚƒŸ@5¤ý2³ÿ§ìK+eµ4Ô|uOí4G4“CÛ­Žàû­‹.Öê[�Ÿ ¿ÑS�ø‡ÔjÜïÓý(N$ÿéÂûÞ5É“Œ¢§r (ÌdÛÔ1¿çŒý'[Ôo-’scå¢Ñ—ãþ -ã÷ì¨9‡ÿLGÙíi櫤ö�í1ct,‘šˆµA~VmaïÂ]Ö:ÈÔ—ù}£ý«mþ"êwbþKŸø›ÿ¥û'ŽT«á¯´¾w^÷+VMÉ¿-JT–5Y×z¡“Ãic¾ãîW[üO{#• ýû\Wíƒÿ§'í7ÁU¿³ŸhžÎ½¦Ðª4‰ÑKARÖä,u¡=9Œ<|eªˆV¦ kÿƒ_ªÚÑà� aÊù•Åßé§öÖà|ê§%Ï~ÍÞÓ%«†äµß"qÝ^;‚¼÷ÁIüDé­mÌòß›H?çõ^¦½§�[\¹ïн‰{Kà)¢¢ã_gœgÂ5gQ ˜åsÓvæì ;ãKIñFƒRßèLÓõVÿî q¶› ž™‘›K-¼Ä­é�†OmåXdƒ›µ“”n?¦Eùù¿öýðm~0¸IžQ1eÎð*È[b-¶¼.‘§ƒ„t93ê�6FÜÇç±ÁUšì�%`(ØòVQu‡Kü:ß qx8RéáY29[&©y´\l?°wúïŠ:í?ŒÝ­µèþêËêßÂÞÐO µz9«‘¶ÝOA� øõbÂý#§‹¤u(ÆÒ¾Å>ù¦Y©j&²5í¨�òŨ5¡Ãú‚Šóúïá�üzw>h9sLŽ¥‚>iGâ°¸ûßß�8ôû†æ/•u�†—ql�OäÕ•ù,nùedEd]I n]*É¢kŸç Î;¢í8ÊŽ¨‡5h´<õ2ú‚ßa~¶åÏ冶  ¨îˆ[’šæÈ Êõ p$k¸CxrCúD‡²™§Î3Xh›-G¯Œ’Îv#°C´ ݽ¥!ÚpUÓ&â¼ã.‚¢�òºJú¹…’yS¦Ý1GþÜÇ?qãÑ'SÒÝUWóVL“Œ³: ì¾¾,¹¨«!¸o;j¿{õå…KÒã}´š ‹´d7!mXøÎQ5 MWß+„õ`C\s¸ç·ÑÆT�º2àásHm}©Y3Ÿj3fÏA\Õ±å©å§…,Þµîmƒ�¢†³kJdÚI À¤šlý+r“E ¢¦©œ2Êv1€ =;áº^ŽÖfA‚¹½=Ǹ%]rš þ¢¢•ªi¾øNãË`»uŽ?Daóúv[�ô¢.ånü¢‹"Ê)ÆsÆY¶_C—Ãwó°žvø}_£Kð³¦sKE7ºÖ†CçweÅi··ÑRTðw³%~d5 ˶Çëã�£iº|:6�ÉHžwJiœ/–Ú³Î8Í'ÎsÚ‰ª&™‹y¹ß®ÿ°ÆN»VçUIådm¡ÊÛÞFYe‘Ã+’ÃÊ9©íŽ|¬ŒÒDÕ¸8ð·×²?²—¶ßl³Ç7ðs[Gp L‘�ߨ�Ï{Uñ&—L Îû­ôR͘›Uß²ýÿ§ŸØ·Ú°ž ~-ãϸASáÖ–7ÔQHüÏí‹ZOâþRH]�Ý–·O‰ñKºGÚúù•p… bù¥2É3?‰e^¸ðÑuÿÐÈZš—Fóc•|l»ï.­P‰ %µ›©å…¡4î;E•9…„XS5 O%?ƒ¾’Û‘\*h^,—d¤KÕ¬SF “ø« Ó–3¹ÚݽØaÐÎ)ÌÈU±¯5tJr¢ŠzexeS·–æâÖ§d£ñá�²Çp…T‡îì<'v?Ýü~x�T@2ìî÷J�Wfˆ°£Œ1…•¢yI;Øt÷b¤qJuÑA&¨ä‚š²f´Ìe6ÖMþ¾XÒ‹NïÄþUjãM*ÇM—Ãì]ðÏ9û«qÌN ž\ºš:ŽH¤°üv¸°¹�SÍôZ°‡5˜Uørÿ»øðÆÀ¨7 §ÌG§Ïf� zûª&pm?r9²;¬KbÚÎÿ<[�¬s­™÷*·Žë p˜©¢y ÓI’0çñÁøEâÉǪ9K¹ !é&¹5q³Æ‚˵‰=~IÑG'Ïì«¿U >nl”’6¥p5ÂÜòÅa¢{±y�ü$;PG˜ð¤¨²éÖ7_½qapy_·­ûá-3²Ä[W`uùo)š�©iŽ©µ*1Sk’mk|mñÃ4áÎÁ¤š0÷°ís‘0e³WÕG…¥…VÈ\j·¥úœK!-c¶§ÉªsH¦ÍÔ42fˆ¬Â4c½½Ý;Rý\q— ÛìV¾›PÝû³î©±µR%LÉ �]µͱ^ƒÒØ¢d�ôû'æU9:»�«Xª­�©þù,m*±£aºF&ê ?¨òPÜœñ@åWþó˜RS¼´U5 JÎT¨7°½†ý-�ˆgç%¿t ÖÈMÑDC™æm˜»ê¨ŒÚú½Ã wÄÓ¹Ô;W/âw?4SM¤šŠªÊJøä,¥lÞE·üsº´ï8’ϧd#ªÈÀwSµÕU�50©«w—M� u·­·ü3þû> WÙºƒ�›A.išCÆ�£¨U"ìÊ4H/ÒÞ˜iëî4l�²XÖHâC8(Õã׫¨J5«Ä¾A£‘íî_føÉå…�¬+ãU/“Äoä�ÎsêÚ!IQP$‰fò¡T*·=;u¾�u¸º¯ß 5šzþ«Ûa×,,ÒÓx´$èñ@O»ëq�—ü}!­ÃêKXÒ,7ˆÜË;ª†‹ÇŠš¶AñI }ç¡¶;Qñ¼€Y8M†Ú X_[QDðUË€ÊÊÈd¿ÿ~¸þ7`dÎ�í¢‰¤Ïiª ÒJ"YQ®YA:€;Üvµñ»¡ø¦˜ï7ÏòT¥é±¿Êp½]™P×KqVS¢ƒåXÖŹì/מ.;®ÂéwDCO¨*”½0½¸v¨Rùy£’ž69]7ÞÒ~ð._×–ÛaïÕigv,¿çJÆ›M¨�¶ÑaV  ¡5³ÕÒÁ 0¹ÛMíÜ)ÛéŠQOáÛϾR¨•�Ü·ÝBñpR´9¿ðý|sº+iRU¹;Ø8<í¾ïå�‘ŒžÆ«óZq|O3Ynq¯ºàOk?éQö'öË™UOžûöm•g³Ve°š&Ÿ™»ˆJ‹Þök_ž×¾ |æ;Ñ®ÇÛ!oè~9¢�ñËí ÿÓ¯”×¶iŸý›ýª°¥ËÅ�ñ59¤uŠ�{~5mºõÅÝ?Ç]SM‡4Jß|;ïÁûìºwÆZyNÙ }×Ã�´Oúsýª¾ÌrTÏíÙ>{? ÂnÙÞQWP�ÿÍãÇÿó¨¸ö�3ø‹¡Ô€$>ý�±ázˆ$ñ«aÇÝq¸ÉÝ4šc;“scî÷ ™¥¶;ú"~£iÚ€.·Kt6øâ3xLlòAÈ™¾Ð¼a—…2ÃGR¤nJ_Û:DN4ájÃeyÁKå¿jdTEÍrÙM·V Ûßßz?…0?½-ÁÿjŸgâ8ŒÔSPH˜›Nx Ï‡ÞkfQ kåßjŸeïᒗĂҦß�Æý¹’©¨…’}Ÿþº{,­§>‰I;�`Ô TSÆ�Ý4?ˆ«^YíÇØÝ$nïÄTì”­îÄ!}±b.€xI Œ@Bç¿kßcü)BÇ%…s:€ Aao]½ýq§¡ør0nOÉ)Ì íŒZäî'û|{I¬¬˜ðá�,¥¾„[y”uý±¸Ý+ˆÆ=ÑŦxãGÙiœÿÛ‡µßhë%>mÄY›RµÃF¬@8é5{Ê™``ãeÂü S\ÉQ:¼ÒmvµÇ~|úcÎëz˜ü%fjõÝ›…ÒFœT µ¹—®1å™®m,)uv}VÁL™bx®©uüBÖ¹þ?Œg7Pÿ0¢r ʸSуj‘ô¸+É…ºœ]¶œ‚ªAü5•d†%xã2FI6Õ·~Ýð§ß²+Êî~jN V°Bºˆß—1õ}° 27Ф£%7‹>ÊDÒÇDÊÆT$Û‘·ONxxÔ;�Xò…æ†&ñe�Òâêë{ßÓß‹ 6B·[ͧ! #]~FNجcmQ Çh;»z$ˆC$`FŠ<Àüo¶ äÛŽJªZrEg执…¢£F�©ós¹o…:ˆÔ,~vƒ™#y Ñ’6Ø!ýpÉ?ˆå5�ÚvöQO@®‡ÄÐc_21ëÛlÑÜØ]#p\’ÑÄј%[’ÇI<•½ý9àè¤ËÃmjÏÆ\+IYMd¨ÎŽ·dŒ��à Ój4ì*òq`_Ö©P2ú°TÓi_ XÚöîq¦ÐE”¯Áhû«…õ—QæIm�ú¾#�pp%>8C›FˆEÂ�‡ÝŒ¡e¹?‹ãúb!.¬ûa5Ä/�õE ¨Öí"Nÿüºâdkƒ�j’öQ��Ö¢R¨¥ºòø‹ûí‹,;rÞ{ÒPÚꛌ™"1ͱ{wÛ¦/ÄæUR·‚8û¤4r'†QÊu�>˜àòèÊq;›d#iDîI¤�§T‹Öçc×ân« lˆœ;è‰RÌ©ª± lcúü±ÑHH4m˜>©¤�ü_é²F@×}……ù~½æ�4Œ½·mOkŽIQa‡LÌbÊEÇo~ù6Œ)+œ-ýÑô�‰¢f/³ ùáíÔâÊng�D°UG(Vm'óøzàea•­{›·êŒHæÐ ¿ª¼¡ELD�¤üg¹ô¹ôÃKH;\2;§>Z {#Ð)-NfhËßSzzžx(ÜÈK�4‹þiTÆ*™œÉñ•=?~\±Yõ`›QiìÐŽ%C©+NÚCoº^àò¶ü±m¬ò_ª[k¶“k>1&™$™é”î y—Ý·/LWŽ9¦Œ®ñ3G„–xÌNªÊó40æ¶½ðE…îâép ÆïÑaTKI$pÅ0¹bEõ-öøÿ8T�Üxÿ ›ý03}ò¢á–%ghNáTÿiê}Ý0E^WeY�û‡‘Ô=Ĺ&mcÄu"íê\>vÓvà¤7» ©£*U&ApLw±·süû°1iœE |Ê &h;®�MEÄ'Ta}-k�û[cµðm‘®7ǪdP¶¬9à‘òüöI&2…€�zžŸ#�„õÎàç›uþí|ûyÎÐ(o, 44 ·”soãúg4¶Ý“éÙ[Š2Zá_(d1+;30XÕmÔõ¶ø=Á­ò…ÒF,qè¥5� D·eñw$n@뀺«Wt`�Õú/ÚiUâ;»ùI6Ô;9±=à€¬œ”¹`š`ž}¿CÏ~§á€ x]„1…¶R�d®Ž8Ì× ¡v¸=oüà¼"à ÖQ=ô}Rô˜Ý£:Ýt-ÇóüúaÅ ¸‚1Mò�öž×H˜)>¢†r=CÏÖÅÃEý�À×ÿwæ‚ðd_¼¬l‡H ª=ºر1ho§º(Úr ´zG(H"QœÝ­°;Ö£Wg䆚~ pÜÎñD nmcÓÝñÂàÄósù':`<·”|‘D•3jäJߘÓþq/?"ÿD–9ÄQ•�äibd»)P«°#¨awâ*fy¨›r,ÆÆerC6�Ôvõ§¬º•�ö†�dÙ�Ò@¶i"P~üÿsÏ)sSÉc°ÞQp!^Ϥe³)+kÚûuåß;ªÏœP¶ÍÙ%r½BŸ¼Ká� °ßŸncß˧§‡–“šOðÎË8öR�2'õM÷ævýpѧaWgâ¥^u`‰~a÷ïo_Kt剡~ÊÁ`8åz€ª0Õ¹#r7ÂØhÝZânøRH“Éò« @³‘`¿[`Ó{�¤§IýѤ‹Å:*�Joòôùã�©ÉPéZ@wu)”ÍrU®<£|I{€ó(ÉåYòxWZ¤®Ç˜'¸ÄÌ][ÆRœ@Ù•=T�F6 €Øû¿,(‹nç¥¸Š¢8Rð3Im'`zm§ß„ÈlWj´²k²°eÂC"�Ãnl@¤k¯>йyìkõ_NþÃÿéÙÇÿjlÆ“Š³zgÉ=–ÅT«URÛKR’w+�°½KÃEJ({rŸNqÜxïî¿E^ÏÒ¯ì‹ìß8£â*ÿvÍ’4æ4ÈþaÀãÅËÑL¯sŸ!p=�ekW4,!Ñ0ßÙw ð ðt*áì£,ʨ,Ī=Âà o@„yBKz¼£Ê +7eñVÈÍQ#@¶ê/Ó×[ÐÛ¸¶AUê•4î z�-§¦–@ÁNß…ÆçübYÑCm¬¡î{«#Qv^p€x† òyJ’-¤�âý�/vO hóPõYÚ‰«¡Ìmu:74÷v¾ºV‚ ÙôT_3ˆ£…)LòÀ#E‚äfì®54Lx~è°Rw« 2¡/-u#ÏW ƒá~.êztr‡x¢Üxùú­= ±Þqjlžj ‚’�ɼwK©¿O×çŒz;Ùå˜×Ìr£\_¸w@Ôà ˆÃE"íså'µ°™ôñ=À_ʾë@OG–„�4‚auΖÒÿ,iÿÛ 02+ä¡ n)8žŒ*F´¡B�ÈÛPÆ[´ð�þ°Aùá]f¢ÍV¹”©4tK<«¸"ëµ�LX™íÚ#s…û§j� ¦Ú…EIá9"T€›Ž—·ÐÃ[¦d‚œhŽü¬Ç=ã…%“SQÆD•Ó#FP�ìylqoCÓZû¸ûwVôNcN猠堤u©©�ÌhIº0×è-îÃŽ‚6Ævº ]¹Û†[ÐÍW?„°¼Ë¤•ðZàÛ®þ¼Æ3¥Ñ»ð‘ŸlÚ¯âo}U¨&Ëëãvyái6–^ZwØ�Û–*¸JÆå´?5IÚRMä”gû|ñË÷vŠq# 6nhí×߆éá¿’l‘½¯ÝJÇKÕÒÓWÖCãSlÛóµÇ›álXÿ´Í{žÃ°÷[�iKX$(LðÒÅU¹T¨b�øl¥ é{õ>¿¶*IÓ �àÂýàúÚkÀÚ(¨ªÓU uv˜ |“B»ëÛ˜ž Pù×hBÎp<j:’ŒUK ¸¾ø_·qÁû…\D «Hš“ïr‰f©1º¨TpvqÜv;a •áô{ãØü”: ñå<}Ó3e¦:Êzq+‹¬ÎT[m±÷Û Ôèdoð´4sFÊqBŠ—+§Ë*jªbÃ+†F ¨sÜ[¡öÆV›B`$¼ÿ¥£ªê¡îò�ú"³8fŒSب¨ƒRË…Ã,‹ÎÄÿk¿ÇӮѼ†‰lw�G·¢ÇÔ=Ã7w÷HjHëë ‡UAÌ,ºìDʬêG+/ŠšâÓ lû‚9ùVØc nåIÅ–kª¨†8Q2÷²2;±]Vê>·Å�&�Å$Ñ z•ÌñDz‡¦‚Jj¹Ú‚Lª3Ä>£¤°é±ÛÓnX»§ÓÍn‡�þ«'Q3!Ç lPÕñ µ –%ÕJF¸O"u®ÅNßGb)§id Èî0GøL�ÆC´»�USž•«òz¡†XæyP;Ì’&û» úŒf Ã@/½×_"“/ŠcQ™Œµ¦�Ž åxy ìBõƒ�MG]lM¹?Bùk`8 ˆ³�½Ó,ªÆ™H:_{õWR6;cN‹&{l“òV],R ’�/æ‹Ë³,ÆT¤Ìᫎ•ÀmŸpZã˜m¶ÞÇòÆŒZÈ5�ÆÏ§ûV‡HfÐøG—ÝœÓåtð»åÕËÂË$ƒW‹cÍYyÆØ»ª‡H ðï­�Ígj¢-mµµ~´©'5û«å´¯�Ö¼¤G$€ˆª ¿£È‘Ó¾<ôÝX0SI'Ó×î‹Cª€ú£GÜZ£1¤–\²HV¸ƒ&¢ ÃÓÌo¶:N©§{LOïê½/LÖj╯�Ø‹á‡Ûý=�ûwÍ´Oc¹§{ ã9¡š¢¾†ŽˆÉ–æÒ—¿ŒÐ)œõö7½±³ðïÆzÝ­=:?ü\î?þÈùp¾‰¡ëºi|³Þïoò¿6_k�±Çµ¯±‡´šgÕ(²ÉZ²�fy>m—Je¡ÎhËi2Á!Ý[Êñ° †×ƒ�¹ü1ñKzƒ|Í,päýG²Ù›N@ñ# ƒÝr—Ý••IÐÂÚo×õÿ¬zÐÂH $‡4›v}T]mêȧP°õ7çõß “]‘6A^A­U¨™ Ïœ Ź}8€ áʤfTê$`E¤÷žåqì¨uÔ­foÄvÓ`7#¦-´Ð Q±Î&ªÕvx3žbÏ^¿VŸÜ*‰M`w!A×Ó ‘B²¨îw§×Âw]áX’µíU<±¹Œ!Û±÷cI� ûMð‚Ø+cØ�àr¸á ¬Èt±°µôƒé�$¹Ç± À•D]IE6µîGÇ\Û\@FEE˜=”´ÜîÄÙ}çç´ ¥YjÅGÂy�_†ºf¹$…×׳é謽Ï-¶•dàN JyMli÷i|Œ/sçaéÏ"…Ì’ö‚¨LÏ)<uÆœ™-Cfy\�SG/õËøXïû�†,mq~óÇæ¤FÞ ¯ÒÈèû�r‘r¶Úþž¸–<“¸JÃÐ}ÕŠW%Œ¦3°Vè1`Hàm¸C3AiÅ”r/ŒQYPÌ ÛrÛßž,¹­”nì’Ì ÿµ"[Ã_Hjúˆäàõ÷sÇÈLt…Âé%R9GÖ0®z�þŽ�i¦¤9®pÝè�Œ–T„°dÕ`y[^þîxµ ÚÖ’Ì5Cšh”Üq»0DqU!A6ä9_ç^C›�šÖ Ã~jaZ@Vxz½Äˆ95‡o¯ËÇF0AE3•yŸÆðäWð`&ÌH»Fy�q]ÛwSÅ{•Ì}¤IUR¬íw#Êãaoyë~øq�¤y²’Ióð±Oçy$"U±ü=?þŸ~Žóío?š77ËwÂ3Li&µ´ŸÚF›…íϸ'n×r—ÁØ#)ÕsJÉ=:kUu#‘·#é¸ß$²‰²¬2qÅp°×:¦ˆøôÅÀtcs½°�în+�#x ¢³3½œE!©¶ÒCîà•Í8±jჄò‡ª¨Ó «ø—ìù{½1;‰¶´àþjlÓ¬ü¨ÒtDb–ÞtÕ¥Ñúߨý~†; ¡d• Ÿ$�u4B¢gðÑ|0N  ."æÀòì9Œ2Zp‚—âm°{§^¸‰äóŸÀw¸÷÷=1\FF\ž�MeØXh•–h!%Ê÷"ÛÞrÚ o*<3º�‚¢a¥–ZR…˜tî¾Ç¶Öô¾�ãG²ƒ*Çtq‰«e¦p…@�)ˆtøzbÉ�¸.f5·ê…Zmz|"V{±<ŽäÔr8�v‚v�•FÿE`®¦Šª›8¢e*ßwðô��ëòÇÁú‘vâçß˲òn$\è‘È’@.ÃI(Eûm¸øãCN-�Å{€6qù«r;]k!—c{ƒ}�ÇÏžÖ9Æû·þÊ.�%Ž ä±m/s«×O*÷ˆJÓ¾™c(áëa}÷?¸°À²�¬ œ£¤i5Hb�Ý.6Ó¶ãkúá:‚ÜWdeä ¥Ã÷�m-¿×ó¾ “†Œ®Ø;>¥>µ·îî·P.4ÛoÛ‹QD›ù¢ [`¦¼Yš¥¢f,T6›r7ç|Y·ñz©d­wòˆ ªW¹¨-¬2íÈ�‡@pO•µmÅ nÖ‹ ¤¶Šž¡ÍÈ$i'eü�\'Lḿ….,º%cŽy¥"Á´©›˜éïë‹‚;qqKl�ÆSÒF±OVH™Eìz[ö8\ÁÛv¹wޝóEÄ”þ ˜”¶¢.ys¿Ï ��/ØGç…ÅÙ»G}Ö%Š? ¦t‚IÜ:�_ç š2×í&és$oö §j f�xH ã wµÈÜmŠ31�y$’»t•»ý;£ÏIãqr7ës~¸ò𸙏XïÝR ;ßåsBÇ Õ¢ªJ$‘¿ÌõØãÐi@]+;pÝÉK¨š40•AÈòäy 2sf¸r ç ¨¶Œ<^$ev:H­ïüâ±”n²IA¾‰f–HÑepB -³r¿ÐÁ2fÝ.qa9G xã�2²ÞAÌ\‹ô ölå%µXE­:ù ,¤Ü“¹õÃZr 'JKj©HįÜi+Ì�°åÏ×ù¶´®Ž)„]!1K»×÷ÿ‘=· �Í _Å}l嘽üÛÚÿ–ÈÚÚìü”’MºÔÝ Ë*�dØîïÚÝp™£h4*rY«ëïúc}„³ÿ´§µ ŸŒøÓ†«eö7•ËâÖ³®•ÌX_Li·˜jcÊÂØCü‚ÉA$ú&é4ž)-Àü×ì3�¸ ƒ½œd)Ã!‘Päy,1Ú(aŒ"Æ=ùËÒi™´²Î=U�L­Î)[¢ñ¥ �TÊCmÍúÛ �� ­ÊÎÚê&Ó3R•¸*!dÙ¬EŽø¯4@�†Á!í®s@7J´©{ÈGáÆ+ëºlÀ‡n¢¶é°ÊŠƒÄR``e ¹±þáÞØN™À3#ƒÙgJ{{")�T=D&ó„óì}qOSÔðXádw ´Ð¿q qÒFêðHªa÷]ïÔbä°Å‡ì�ÑQÙÊ–Š—U;esÈšB«“º‘ÖøÑn�Žh�°›à«QÀñ;p‡§ŠI%Gyäù�Y.T‹aÁÞ#ù³èU; îyOÈÁü*f�¼F}*î6�ÕOc†ÿ0Òá†ÏéõVehq¢R%¤¨–oï®À,¶¿¡Ý„xLŒ’âO¶?É& üÑtñ‰¦jªp¤rñl¢ý�ÛyþŸß�˜Ö¸�Ã(Š\¹þïÕ"‘Ã3\5�ælG®"‡dqÝ;AÞ•¸�Ù¼) ENj<¼Ò3‘¬€K6ܹý_ÒXßÕ-ò‚ï1U™iæ‚¡Úš1K.�O³F×Çߌ†h 9¢Í÷ÂÉœHd¦`)I©u*´Z<`Ãż ë'þ#±ü¯�ƒ¡!Ìn{ä~IÎ�Å´;{¨Š¡SHó53IG >Š@k7÷óÅMD…þJk7J¼“E„ÝÒ@PNµ ^2ChKst;_¢ g>˜óC£i#xÂÉ#CQ�ÙIPÌ^Í}¬O¿&ѹÒluSš7ºŽpœ¥Ž­`ºj—Z�>å�v¿cÈâóævœmpÜï^êtÂGX¢•Íe¨z8d�<’WÒÇm­ƒ×Îý‚F“}ý»3Îß7e]©Š9b«Z˜åz¸Ùd Ž\½A¿Ã¶#—^ÿd“e¤g²jzƒ÷˜t˜b(/ù•ä5zŒ*h$�˜Ü+¸´®8FäÆ zèžqãR¥Ã‹8´¹Þ#E¡)Úšy–:*ºhV©éåW`ñ‘kÂÃБÌ|ñŸ/O‘ŸÓ�á·Æsò!CåN²¼àÕE*WÒT<êìÓ$%ª©Ò²G°#Ê.ï´:‘,{gimÝ�—ujIö»Ô%UGB)êâž<Ú—)–ï«g­c¨ôÞÝ1¡†ÊvàÇpâ9ÿH%srð {(Ê~c43eµy\Õq©Yãi@KkêÛsÛ˜#>qΘ‡¿¸¾GjIkòpUŠÁ[G®ºZ‡(‘H¨ c+ëÈŽGwJ>�Õý6®G<îu.a÷¸ãÏé§£Úšõ•8œ†üHàq¨‚@7\m�AÒõNš2tÄì‹^šS_lÔ‹÷Zï'âÓíB›6Ë2º öÿjÎ&¥šš¡ÔÄÑ[É`N¤afVňØâìÏv¢ Œh’»ŽBó½O§í–˜U÷„ê*â‡ÿHÕ®f*'Žd‹Ä�ú—ÞËsÌ ‘ÞØÉÑDüÂNëYµKI4‘<£ó@×UÐäÙµgÙz¶c°Ë h“K‰èNã}¶8­&�À-f©»ßNOÑzÈ:©k©Ã•È?hÿ³³o´ß²Ü»Ùß¶êZ¶ÈãÍg�&Î!Pµ9TòHPHŽ ›Hu¾–úcK¤u½DNña$žHççþ—¯é]J�†ñå+ñ³ö¾û${Cû"ûW®öoÇ”¯%;ÆÕY6h"+sI«O‹K‚4²ƒå6î?F|ñK:„y ä‘ì½f¦ Æ‚2ÃÝrMB?€€¦ �2>úãÚ4»u^ö-¢Â§UR> cÕ ÷8x“° Ë^îAûªÞaFþ†Pnno|5¯wV˜ìØ*·W—¹Pì‡Ä6"Ã¥íÛÙHÀOl‹¸ ¿Q�LnÚ£s6·Ã_1~O)Œ�ÚŽ<<ªÊ›u ݰ™5b² Í\oìñ¤ˆO d!;’?ÇTÛŽË™®¡•JÿÒNÖV‹Kr7ëël[oQXO=DvRôü®F¥ºt¸åîÀÉÔ�¤ܱ¸+¶_ìì4{ÄÀØê¸ÞÞï®xÏ—©»•YýH�­y³Úί ¾«ËÒÇ'êOª2kÜB¼eÜ!AÃ�ïn}­þqB]cˆ²~Фºê[%Ê|8d‰VRƒÊM‰ù®xIÔŽ£&¬j½d™F‘w(\d-¿lQtíã•ViH®ÊñI”,–Œ*’×~vôåˆó4Û…MÚ�üʵPR/†M�Qµ‡0}ß\±pJ Ah!ߊŽQéL«äs¤ V¸ÿÎ 8] «Ls¿a6#ñï€=ÅŽëcÿ[`^ðÓ´PnäQQÄeŒpÉ¿˜o‹›»Œ%Ó¸©È!iãŽ9"ŒH¢áÉ·ÀŸv:S#xÂãs±ÉK åœ*hŒô=©÷ËsuÒ™ od¦�ä³2k‘Zþþ»þX°Ù›!<€‰äµ´ñ53Daœ/†I(êýºá~A ”!àæ¸QâœFÛÔ·¶‘ןÏ#hߟä˜×,gôCE,²Ø: 4Ÿ9#yL87‹û"ƒ›ýSÒ l°«ƒn‡–ÿ[`™¿pÈÄ“¸8'DZG.„4œz§¦u’) 6*eÜ)_¦ÿ<3Ân ¤ò‘·(øê¤T:Ý@!O•¿"9â¦Z*Êï;‚mâ–x³ SW„Ôš¬H;áΈ(•,ºó PðÊò¤�©Õ($ ü/õÏ¢‰Ì;Žo•iÿÛÍM;ÄŽ�¤.ÆúŽß#þ0&V¾è &–´ç…!:-A«ute²�È|;óÁ¿NÍ—VRâa'Ô}Ú(ãHt«$è½{í„À)ØG滕#Or’*-Ùc rAዸ»'�É«ò™£Ñ[!“ðº!7<‰oñ„S¯q¯š_‰nºNƒ»ˆÜ…ìEƒ{¶å×+k £²kÕXèÀy"©  L`Ø‹žÞý±v'n6ñv�âp(%Ë•¹�|&Ó¬¡Üzc3Y€$céEšËÿ .@ã„s°SL \‹�¤ý y nãø²‘§t€ê¥ÇC]WK˜ËØ-ïa°·[ãÒh‘ ðVŽ’1¶ÚôõÔRÓI¥šèGáØ{¿<-!qo§>èÚVJx’ålêºXZüíúb´„Œ�«HòÜ‘…dP<;6°-{“ënœ†à‚7f’7÷fÑ ¢ñ4°:�Ørß©° paªù¡…î> C¤ºnA`ù“éÓÓf()y9ôNJÑÆâF1�ÂæÛrè-Ï‚JiÅ•%–”†‘¬²©¸ 6'—ñ‚&Â}‹VÖò¡†ìË–@ž?5Jb.»-±ì»„s.6âü‡…²˜Vl×1®†Š±šIᩇÃz^�ú�CXÑÊ\Åî¦JþƒŸfa öxöì·ÙR$+šdùLTùŒ�­–zŸÅ+ß™»9ù`º×M|ÚÛ^‹ÓK�޾ku>O%Ufe÷hÖ�âµ¶¾2ÛÑ^×=�võ+Îò;4„URÔ%7‚«Réq¶î¶¹`zíÌb¿Q3DßÃ^Ýþ$0h4U9Å,±Ö:CWÉä` �ñRK¦·qKDÅæ¶‹C½25<‘<’U(±¿&[íovذ4lh4“êd�î>^B.ª‰*j©¤©ñ’B»˜£Óu÷õ8xéâYl·è)7Q RâÉ˹¥Šq÷7:|vYE�‡©ÅFü(ù_ààƒýÜ+ �›©†›î†4y}iŠ�,ÀØ›öµ@Ó鼌~çwîªjšÒlqê•%bUŠYçÂ�°;ãç¾tÖÜd’Dz‰c~ÚfS³A,¢2C¨©¡Ž òL¼æY}M%‹A?€K%¹‰?än_�=>ž ÜßžqóK™Å´Û¶ü’¸šzXx'9‚l®/öÕ‚JgÍ)á7¥‘ÔªM¤ó mpE�­µñ飋B s&ƒwÿ“n­69äkw4Ñß‚¹ÿ*Ê«i,yúR×TPÎ^]ÊtÔÿí¸7 #$�!ŽVíö4®Ž¤øÿ µùVK›Õæ|!Li¤hÕ* Œo!SeÆä®ë«¶Ý1wIÔaÒÌeÒ¼Ÿcþ ³üë䌇ýÎl×0Ïë²,×ýê£0¨�BAJUQ©’ÌK,Ãr×òØž—Íýίâ'j68¸nPó}מv³t{?¸Ĺemvy‘ÕåÉYšÔURx²Ç'˜´µ™uµö#—ýwC.¡Íœ¼ÈãÛ½+°Ï.湜­]ÇÙ”ù&Q›p·´ðå²ÖµVO �ZäuÔÈXue»[¨±™áêcˆÀZZÁœò½ÏMÕÊão8_9ÔsØ¥OÚWìãÅ4KK—æ¼mÁ5/Ä99Si^ˆER‘¿T‘J¹N¦ÄrÆ�ÃÝzhglÁ¼~‹ê? êã26\ n+òYÁ•Õ<¥ ‚Û‹m±÷ãê0Xìú°ÿtÒ°K&Ǫ¦æÜS eü"@»­Û}¹ãÙô¯‹´ÓSA¢¾eñð“_¡•£s§‰Æ ªÊEÏ.c°Ç§�Ö|¿eò™|®Ú;(åáÁ&¢!ó �ïúvÿ›ía$Ê}ðülÿÓ±RG>˜9ܘýL|7•]�‘¼JÛ› óø`JӒ䱿TóQNª’Tr8ËŸRA°UIæ§m8+_gœÙfcáh1Å~WÄG«?$-Ö‘€~茻#†PȱX\Â߆jçPBéñ@á](ò…hBƈŸ‰zú ÷¤}YÊ &wÑX©²X\ÒW¨¹ä}qZIhÞ©,îôVZL¤ëXü%y:Û‘ÿ8Kžj‚IsϘ«M&L#'Ä¿„y�?Ÿç‰Àò:’:²e™âÓ'Šè, jÎÛZ?%]ÌÝæÈVzjÓªžVk†€;)Û£¶ŽS[ #iÉSÉ<+<mkH rø|ñ0°¹§9IœŠD-I´1¶àŽmè-ñÅèæs›D \ÒÜdü×’•L5�b” Ø®ãÓ߈�MÍ»Ì�¦Û”Ô„˜�L{ËkH§Ÿn_�/Ú|7øVÃ…·ŸDj:•ŽÌB¢ÅEÁ¿®ß–/M6�jÊI}ä"àðZì軩H¸>ï�ÛœÝæÂpmª©"¢0Vã¯/SË#¤°JƒHŸu‰)Äò;’|ÂÌH[u÷aÓm°AϺ8žÖ‚Ù”Ÿ»²DÂMjnŒïñ÷œX ®c@>è ±/v×·|tR5§cŽ9»…·5íû)¸!2H Ó6ÖÚà_˜ÄÌFÞéÑFn쉊�«3¯ü-mín^ìV;@tAÍ$Ý„p§s «3²5ìmÌõàccnàp$©d.u•-:³ CøÇ`êG0züy`⌛/uK;‡e<She0µõ)�¶ü°F€§m[q!»Žꪵse­cB·p|ÈEÔoÏ¿”pi[©ô@¢·×ñf_Åy5W ñ*‰ì ŠBö`7²Ž�°:9�ørd*Äm;OÝiŽ4àlÓ…ëÖJt’Jw%ãm>P»ôôÅwiŒvà0�’–8‡]£¬# Í+Ä Úÿ¶.é8¬ ¡¥Y)æw1ëo…ÎÝ1cxa²-$ù†Ò¤"™ÿòÆ®Às�¢Ž¾þØá´âAAsɇæ0ލ´1ø’ºBI[ltmùu?+Á¢\Óhš\êÜicîѬ�&mMm¥¶Æüµ_¦ ) ƒyôN{\MýQ¦XË,"“%ô5ˆß�°¹ÝÕi{ƒ4?|¦ã…õ£°T¨Ò5ÔÛ¨ï�sÜ ƒåDøÆÛ!LD°E%9y…¬ñÜy{�ÈþprÇŽP– ÔI¥)$(a›Ã–˜�C“ø-Ôƒú༑Ç=ÿ×¢WŽ ê¸îŸdOéGzM–E7™Û—¯®µŒa³”AÏsè z¦&�K§xœ$+_�ä}78&¼’TßÕDìÚÛ?t׉%6«#0älw·s‹ º�'䉤½´áþÐЖ1ÚBPNâÍÜóÄM�ƒ›M�Á¿„a`LÔ¢)á3Ñ—±UÛU¿µ¾^�;`ˆtvà§Áˆ�Ô¼Õ�$‹"¹ 09Ÿ^—ÄÉ3Þæ×ä…ò7vAT3ÎòTÇæ6[k÷¿c†Iý#d)q.nOÉ�$qÔA,œ6÷þGLU‘í.Æ>ò£±îº•ï$­ Xo._Î&F–�š[ p!ÖO¶ɤ£H¡ "I —mdïzüÏ¿¦"-ÿÝú«dÒæ£Þ Þ9ÜËâBo¥‰è.¿;Žþ›âÑnï14«Çº6ÕáF*3k<‹#«Ù�ï·>ç(ðð›)¿?u-Ñ_E&ÑîP¨6 wçïÇÄõæž[c+Ã8ùŽÞëOq†Zi3ŠÉNŸü„®ö¸çï¶øÉéÒ-ìǺ{”=;GXÕßRÜØ ÷ä?œmFïý'Øs–J—QNA(]7 oaëõÓ1‹J‘–ä)¥�cñÙA$ék‚ASm€ù`[+£„ù8)sê›À‘d³ºé6;^ö·éù`Ch�Þê»"¼þÓ‰O$•²'ŒÈ| ζ¸oCõóÂüæ–‘�‚ ×o>èèuÑ—‚¥Z5™ r±õë‹Odƒnþ?¼'ƒ¿ž=‘æB”µ"JKêokmîÛå�Fã´âþ¨]0¡åÂP¯iReÓhÙ7ï_¯†'Ç<“ÂâÜáJ\ULÔêe"V2·±¶Ä|?ï –Gm÷*#voײ*‘äûÀ…¤Út›oÒâø-+ß3Näoh9Sµq+ÕM++Æúº�íØoé¹üñbcb™ÿ¤4Ó�¤£ˆA-Ôƒ�[IPZÿ_¦ F÷:œ.ý2V0ÛN š¥J4ª°It ãúXòÆŽ�¥„�Ϻ=¤ùr¶sáTÕMSE—ECÆ–Œ9 Î×ß|T꽥ܖ•zRÐ?ʦøi.OćÒ<'k¶SÏãùcæ½EÀ:³wôT7<–Š ‹¸­Ù³K,¥…‰µ|úãÕtãä²VÇM4õLQÕ8‘)YÑã;›ôÅ¿óÝ2I9î¬qS˜§ÄF‘X™|$ɺž;*Òï0çÐ)¨fh£–ÆFÜG3éßÒ¿Ð*27pºáH%KOÌÆÖ°m¹rëÓ ^Z„<ß•5Ô&@HmBÛsäN.x¤(©c‰6Þ’«……”y/ †¹úé€ÝFÎS|@NÒ™’7Ö¬«dµìÆÂ߯Øsš%3£@Ò¶ÄZj€Üâæ9lyý[ËšXUw8n¶Òú9þ™\ }°ýˆäÕ5M"çq×Î�€ÕÓ¿{ 6±ôƒ#pß/þ-=�G¦ñ5 aïÚ×ïw1–jJï$í+ÂÍÏw�ï¾Ý;ÛoïÙzŽ¥¤sGˆ-75B¾ÆÐÍ…´�ŹŸ}¯·\9šãdU¯?#]^!ªP³ÑVTýë4ÉÀÏ?Ûë!¨ŒEåžT±Y"ÒyŽHõWB¢%>jî3…»ÓúYx$÷ª…£ânÊdÈɯf¡›4ð’GV4uaf¿á>%�©äÆØÌÓôc�ŸÊì)d k þJ÷�ÕRæ^93AHé+éC±` °Ãô]6'¼½€ XúhÛ!q'o¢’‚Hë#†¸š$/¤HÛî§§KŒ^~š7·ËÈôçÿHØ|Vìî=ÿD”‚Ox´r3’²DuòØí×úŽœÑV~©PÀðÓâ3ž2š’‰êj ÒÅOàÈ¢7¿šTÜ0#—PG»Kˆ¼ˆÙNýGÉY’2ñámªãÝ;<&�bŠg…ö(ÇÌsøoŠsJèž[’Þ>_ð‚m3£hÚ0~èG„E†�g£o.àÆÆý{rÅ'ÄÆ ï|Z¬úÙLm·¹®«¡JI¡ž)ֲʺÖö²ßðàµ:oP÷¿{{„½D �ÁÌ;“9Ë ­éêÕiàiá@š��ŽÞã€ê~ŽF¸0îÇÝ7]� ¦—9Â]†µòPÓÙ%‘ �x‚‹°ßž/é˜%ñcº:ލZÊÊ¡–ÊÒ·”êðÔ’E‡R7ÀE§.’@ÒH¯—¸N…—nyõÊbL˜Ô«ÎÏ”KLbRñ25ÅÈ6?ãGJ’hË€nÑ‹¥Ç@^7 ÑGŒ¦¨G G/¤31“±Òo¹¿»m¿Î,³A!hk˜ às´¥¤¶†{¦ÖÓ1ÿl[S<Å<*©]\ ›×nØÎ“BÇKü³G˜ÿqO‰­kü3€{•<,š†JjÑKVe,¢uspEÅ€çÖøô¡èšÊÕ yàÚÐlŒkKC‡ªªSRÍI Š‚’½bòkŒÝ”�"ö¿[í{ãÏÿÛ^2bÜÑÜ!fmÛ–€T²V±iZ«4ŠŠ# iþ’1Hórç±ùa’hã�ÓˆgÌ"ñÛ%n}}t$™rÍ<õÒÌRêü‚Üò:yZþìcÙt/ºR£HÈÈîTBPTATë =dÆ7g§ª¤οñ=¶<ñAšÕî8U7Fû%‚ǨI¥l¾u‰š<ò¬Ô.‡ @S'üAÜs~WÇiôÐÖç—�ÞÝÐx¡üJ†ZzŠI#JÊUŽXµ»¥@eñc;«mïÛ™Ó©þq�ØáSÛ$u¼Rz¶'žEÊê*榅¥±,çåÿŠÜ޼ñ[_ ‰­?™£·üz'2oÛZJŠiBÔSOKJa¦•Ka •�³©ŒŽf×ÝnX¨ÍCÚÚäsù#~©À€Ôð¦¢i%£¬ªÎ *ªñ²SoLÝ)þÛm|]*ãy„_5p5þT\Õu•u2ÓOMMBhy#ÂÜ–@Ý9¢ß©68HÑË$…¤W·o[ì�Ú§õ�«�A,©åÊ3‡É*8Ž•¥ �‰+M˜¨ßO›—¿�е͌K¦€Ï¸ù+°Âéc2w ^šž|Î*y �*ÈóU�£xæmcm •m¯p7¸Ümi:kæˆI£Œ6AÈ=þ…6:\<†¹Tª³¬Â: ú—1¥|ʵ㆚£ñFÀÖf^£óï‹_÷ù#kãÔ¶ìQoöT¤/c©Ù>ü(ª<¡è*rgÊ–Ÿ9Ë8¦š$!ê£�tÙˆ¦ØÃƒ£º6PÀö;°Ë«Ý @ £ê¯öƒ“éÃ\™}<‘d5/-;H ¼AÏ™5©ÞÛö©Çœë½ éÞ|6ŽâÆ~Jì²»u�ADå4”É[G”C-^[˜e”¶¯sçñØP906õß“c´Z¹�ZöóyC&Œ`|ÔÛçÿzË2﹬YOÃXÈ©HŒ.5;×ÛšöÇ �ä�èOŒÑùeD¨ÚÍ®ü]–›ö¿œeuµYuUMEJÑE.¬Æ–rD„.Ä¡†ÁÚØµ3ï}îo{-îŸ67ƒôZÓÚŽ_ŸÁ? ÅSE ]OI&S˜L¤ª £Ã2[ûJ5õt'×o1«Á�Ge®ï}Â÷ýwe~^=»{?¥à?k^Ò8LRÇIGI›ÔŠHѵ"Ó¹ñ"Ðz�¿#ÛÚàè&#²þ£ÿ úÀ×ô(d m?EÌÙÖWY#K…`tò¸ô}+¨U`…íeÒFøÜÂ.ÁZ.’‹Tա˃„lMíÿXý#Ò%{´Ì“± ù¹ñô ƒ¨Ë‹\¥KÑ(V7µ€¶4¡¢×‚dæù°“QÃá¼ ±Ÿ‡—#…G©-Ç(ç�ÎÈ9B ‚)‘¼h—kƒan¶çÛ ¯ÑDEÕEI•É–Tc�¼¤›jÜ_¶*Í\rªêZ-Y¸£…câ ’,ÖI¨TÜ\\‘Øc%Ú–·‚ Ý[‹�8 Kåp<xrꌃæ½:âëuAÍÜ »âPÁü•Êž†51TFú• k§üæ}B¬\ ¸RÑ(D’At+ÊÇŸMú{°§Mp¹Ó‚ݧ·º¶RÑ/�10mnk·ó‰ñõÿJ“¤ó[Ž=”ìT [iP çqlsqûú¥6Qd`¤èèž;Êñ qϱ۟¿| z�×m¯ÎÓ)8¾Êfž�S’öSLü¯Åßë¶-y_æºKt¤c•)KFcVXÚú€6Ô>†,‡å§ü¦±ÁíºÊ-i—@Åmæ]öåßë®84çÝt�„‹?ˆ%Íçòßœàömº(Y{Øå5ULмULÊĆ÷[q×CX¼ö®ÊË‹ÜAä$¬!$IlÈÖ6"ÝŽ½­÷Gà.¨¢©L¨àTnëúá¾-ÞÓþy¥p D¤»Ä«¤+\­ÆÀ�LZt-æÒ�u€E'Qª®Æ2mfS±úßZ@x¾;^S%�ÁÖÌÚÈTËÞH@%ô=ºú~X·+s¼pŸs?LKšœ’öüJE‰÷úa…�øg?š[\æç”4 6ñQÚ.m{Û � 6ÝŠNc‹MÊzœAÊ6&7Ssχ¦ G¹þ`?4­‚ìeIÌ !Ôè&[n¶:‡MþxPnH#ü¡qÍ(™Uƒ ÑXA”Z÷ÿâ~_¦-ÊeN£Œt=bÓˆ|T_ ’>`û¯Ž|,soº/;pI¢ å¡Ž5‘T;ÄEÉ#fŠžœ°È˜ÒÊvè�¯ogX÷P-âå51ÕÒ¸æ[&ü�ºmϺ€á°B"7¹ý×Cp¶c•ûDÉ'ÈxйR£PDhÀñlyiíûâÞ›RÙÉ0«ˆìD.yã. Îø:ðkõIG®ñʼˆ:Ør¿o祇Á>ªÐsÿ Š6޼LeðßY<‚òüý1j9�@·ºF$áXᙪŸ2²‹¨¹Üu·¯×L>'8›påSq¾qöFƪÍ+ �ËmÀ<ͺâÆàß)Vúm´Ú�J¬³JÏ:2€@7+ñý=Ø¥$` ò¢žEú¢#× Æguû«é°çñôýðèZZêóÿ {pFq†”ç±�˜úþ·ÆƒÒú|ýW=Çš»÷%b8äI¼ÍJ¦ãO"/mºÜaf‚\xôCÉn å„ô4ÚT�&íU½úòÁ ŠjVìóì¥âRƒPbñ‘e¹÷ÛõÀóÉ03Ã6Ӟ院häq²H~¡O+ž o¸ÇâàêÂ�àƒëê“  aËçÎt›õaÎfpÍÚC‰AG ³BVÇXŽÞîøœ†óe:9¨�V™Y�Y^?êŰ» �Úç­¿OŽ:FG¶ÎÕZ3E z,ËL²Äò ÀÅXluÇß®ûŒUŽb_·Ÿu/ŒïpÁú *Š,�j¹Çñ“µ½ÿÎ4œlY$*M.P¼Š&� ª°Xé¹]BÝO×cf6¸_æ¥Ú‡nÀýWžÅŒ‚ËRb¨mª÷ÜÛÝ߀1ú.Ÿ½ÁHSMã%3¢ieeä/¿>Üð�;v»?D߯-®Â×à ¿Ö0³³Y”õ·¦ÿ–,I8j?dB ‚�–„?„j!˜¸0A�{©Ÿ<Z9ávïÀ�Š5©gðLm+Iq~`zt¾>-©kH.vWÏ ·ËAQøòŸÃ¯™ÝÚΪÄßkÿÃÑ´n'?¿dM˜U…K¦,‰J²Y´Ý@í~Xô <›LÜÆÙi ÓÊÄ0ÔÃ¥ûŒ%µ»Õyh¼mQžR¦2°ÖÛq·¿ŸÇ÷‚k�–öÙ´ôr„¦§!�£Ö ›jzáí¢h"ÚG˜ ~û©HªÐÏå(Ã"ö°‘ï±<˜ Ûÿ*fÀ:²„ñ:¹©6;ZÊ5®G kú³�šé¥"ƒ¥:‰`¨e–÷�AöõÀj¢5¶®»¨†F€hgÑO ²$aˆV@ºšÖµúu¶ç ±ÆªŠ—‚ãEÓJñ317BI;†-N\ó]•75­Íÿ¥=L‰±ºÍw!‚‘µ�M¾®""#qÍbØ¡÷S´MY/‰-æð•HÚü¿[a�jÜAn/Ý1Œä“òR�0§ª£˜¹”¸ü ô·NXls½’gý•bæ°Ú™.—•™5mÓ¨µðÖj íöMkƒ{YMæ¹´T�Ç-O�5 [á~ûþX£®ÕÙ;†SðE¼œvˆÉjgÎ)3T*ˆžT*¾`/° uÜãÂuwð«Dâ^]árOÛïRFº<Öçè?œnô–ùC‰ú- \êsðhD Å%È:Îý¶¿×»/p²Zùöåÿ*v�åªÈኋÃëé×øÅG¸wTœhóù)äŽB•SÕé¿aŠÃi5þ8 bÚ]VvHí¹<�aûbf�Á¶M¡éÁd2Æš–àûݺûí€v]@—&ÛŠüÓå�‘lÚKj» ‹ú`¶—œðõuú¢î £hBN¥7k¶éüá¬`ç”öš4²ÍàÑRi-mL£O^Vñ¶ðÛ÷8W²+x!~†ÿÐ7ì·UíOÛvmí§1Ì‹(áÑ≠ž¢ªt‘ÿüB‰/ÞãqøOáíD]8ê!²`cÑlü-Ò?žÔÙu{¯×gp�Ý2YÃf5>2J’h-r‹êm·»?B!�läkÞëþÛš´… Ù4Yvg4™•UB¶–$RlI<�ßc�MÕ>‚M‰¦"ׇ‹@)Í�åH-à:ŠèaÌ³Ššš…¤ð–ziL3D÷ÛÌ6p­{ó8ùŒ�EºWì�í'¸¨ákh¦� 5þ`>”¡åàú¼Æ—Šh¢âþ«áìí„sSWS7Œ÷M&v)²ÈF�Ä[QEmš÷Ò�¨0@aò¼3D~ý–™~›n÷:­Wcà�kymnQ‘Sÿµñ]4‘¹…-w„Õr¥†§G3(óo»n9ãæ:�¡³)Ïþ$þÕ ú;d.V:Úž+Ê«æÿzàþ*áìš5óÔ¤^4wê !bnxéŸðLÿ?ª¥©øGRÃ`_ÉHd~Щ*$zH8Ÿ+4ñ­Öò€Ë÷î5ôÎÔÈ\à@î óÍÐÎÇ€GÍlš^'¢€6c’$™ÆZ!yuYÿä§±ÛèâÔ¡Ðh/g¿+A²Ç›˜ d¦ÿõÄK-d”P–h¾o~Dwµ¿,£¨1�.,Å-?û½�僊X¦“-Zj¨*³(Í�·ÿîŒ:uýq‹&”m{exäÁT´ÚHK_½ÞSùpœÊªaÎà†ˆF´Ðƒ¥ä�·üŰžœ`œxa»}ýTé˜'h…€W¯uìÊž–�*¨³&0ÐÌ+#Ÿ¡ÒIÿ)Â:Ü1±†=A¯GÕ.›MáîŠOÂp$*¤(óK5m%m\«Lñ�2Øèk{YNýñ�§2¼ÿ0É,7�OU‹¦Ó:7~¡ú)ÃAyb–¦¢¤²$fT>k †¿Kml^—L÷Ÿ3ì‘‚8ú§?MO§IîV’©<,½›,hég+µ¼ê{�KÏ : šÆE±¤´ü­á�@–Óx(Ø'’ŸÇ¨ÊþñýyVy 6*òèëÿX¤ âÌÂ×^K{*Ú¸�ymç4¢šŽ†H‘é1"9ü9ãóÆ{�ùZÇùÃ$­¡ñJk¿+3Áˆäc�‰$ª+ f])Y¢y¡PÀÞö±ø`õ;[@å§û†HL�BÃí‘ÿ(¬¾Ž‡3©¯ 7ƒAͤ‹5ƒ©õê=NGuR�mû«f{È4Ñœÿ…KšG–US幬Y•4.¬ZW¹]:‰WCÖÀŸ–4t�]±‘¥Ô8´zžÞ„*‘¸E d¡ÀþÞËÔ•ô3 §¥ªlÊ�ª�LdCÈ’çq½�Ïç2@"t�âùRÉ£,¸{„ªØóF‚¾©¦®ž"T¸:ÖäŒ;ßßÐá]Eº‚×0€vàzײ�D2æ‚ ~ð›Ë«««g¤§‹,‡'_Çòó‘ʼn6åßž¥êÚâ Têä÷P÷Svì§ÕÙÇ‹4ëQý Ñt¯€É NEÿ ä;Œ\‹©‰ !®Ú0¹Ú’M<Ó¿_ªÄ>5BÖLñx±¥•‹>ð:‹óéÔ_ÓÙ ìÈÂ[ëhbcòí¸CÆ0ûÄ•RI—Ô¸–)ÔïHFÛ_�·ùâ›DrHL¬p¿Â}�5‡²Ú{ú!b¯áïöÅ|ÖºœH’^9À˜°7F·-ícÐâΓIŒÿä85Àã<û&iŸ¦te“r8?à¨ÉÔS34ôùtÔþ°W” s°Ž{‹Ÿ�,!šf6R<§Ñʃ£Úû R’Hi)§zYc£Hˆ× •P5ta˘äo†M¥�¤¶8ÅŸ^~êÔl`5@ßu7ôë?�Zô‡ÃûʘQH!¹’¡ýð±Ò¥h$ù°°Vœ:bË5yÂ(S%%TÄ€ÊÂ3¦0u\‘ÙHßt]@ Ý“è0¨Ii;I'¿¢­.MKG],ÒÕSÇ3<’hR| ßS#w¶ÿb;¡:9 ›Aùšÿ (i¿Ëbý„ (h¾õOUše¥ØÅ/‹®ÏªÚ‚ó÷¸õ{zx 6fºFö*÷òr5€¹»™ØÚÎkGJUyrQåÕ°ê•%È$ˆ-Ø. 7·K^ý1iÿ ÀÏêÀ;î¬wQ0fÍÌHàä*}nA¡®Ì)⤀…ûœ³K§QÕÿ™¹çÓsQðóÜ,,¡Í—~Š£ôm�ÍqªªË]ã«Ì³9R&4õ€n¡‘”nEÿKó¥ªЂâ]]Ú?"ŽF3kmߪ„Ÿ$¤˜§e™¬ÔßÓDq‘¤ê¢;ô(†ü¹3þϹ£Q§“h?ê•a¤`èŽ}SUB¤�=Ìg«¬dÕýj4ðÕ¢¾úÈR Aìq/ч´O;‰¬?DÓ§o6}Ò ñ‘PK–TÐå‘ëJ© –xok“ÈþÜr=1E’ˆ¨Ddžwu’)p‰ÛwãÛ”$ŒÕ¦z˜jsjþ¦ˆ,5, I³:¿tÚ÷m|2b÷yc�¾0?{™Z-„íubŸ%ÿ{¢ÓýΚš�­;�'có™²ím­li7¤\Ñnà?¼óõN™¼¬ Ýk �»ç+šå0ÔÐQ׺$PLëýxãVn—Óp}Øó]>PÍAþ]ξ~ªŸ‚ûgÞTµ^I–ÇS]–ÖÑ̹4”¥æ¡ž@Î%Ct’Å­pG>�q»ªÑÆd:gîC²G¸ZPÀÐ<Â�÷ÇÝsÝv[Ò'ʲº§®ÊbYÞ†“H©T@t›õ NÝ{xn¡ÒÛ¤Ö˜`vð{­�‰¯c¶#¸ªž·‰)èò¬�+¨§Ïa†<ÆY¼µ4À«QÏd$‘‹“ÀC¥¸¿Ò»{*º�w—n}V–ö­Ä”mƵYõF_f\‹ ´�ï ¬3 6æ¦RyƒlÒéæ•®{)£�qõµ¯Ñ�#�ØoÝkiÞѳ }™Ç4mM-T•�Hâï$…ùé¹ÈØ×ëŽÒx@éEûžWµéÃúŸÓoeùÐûHGþÑxŠªj”©©O &e{’úw#ÒÄé�œ|O‡RÒ`¿¤ôûgÃÁÏ#.$.AÍ-¢v:J(bwµ…»ýtÅ®�¦¶ñkéÚÙÄQºBxZ¯'ÊÒd«¨X.ÌåÅÍ…¯úãô§Joÿ¬#€¿�õ.¾Y0,©K¼2.nFß]ñz9Mì ¯›Ì|:#ºžƒ)ŽHÚZ×äà '×Ï”.¹>ES’ÉfE yK\Üß¶*¶iÀ@ùxf‰¯ÉR¢%b¬³/—Þ9ôÃß.ã…�wYšà÷HˆËꑚ'¼GUÎ’{“Œ-f”mgO=HTh|Q‘ÖšÊh™éäbAoÖÛuÅx&� �3švîPZ<¤é¯çÌ#Ó•.{ÈÛxVØ!Z†Ž éKߟá>¿#õ¾-&�(DûFЭ4´sÆ«:ç¿6ýã løÚF$ç&ʲP2ÌrøjXØÜ{¿ÎÖ¹ÃÊÊ#Ió)aEb9I$_Ìy[üáN¦ä�ßÑL0’9OEžHôx±5ïËŸËb”;×Ñ3Ëd=MR)�H<&UýÂÛûŰøÀ9 �pã^0ïeehyXžG¥°÷mhµ}öÚù,Á YmáÌ·òêµÇoϦkHNŽÜH Rñ¤hÏâ_»Èu!·á8µ Ý .eÇòH�o)¤¨+¿™Xt·kb›àÜêaü•ß×E%J–ÔGÞSb…v>óñüð`9ÞV >¿ð’_²ìÝ§Øø’>¯ÿ W�ý~cÜ[XʮɗØ&¤q0e•Kiå§k�Ï 6 ©Ö�+RÕ]‘Z?4eˆeÚàý~¸–5â‹E�£ÅæO}ÕÚ#$És·oLXŒÛIà#/ÙA¨ŠiåñYd�¼Ä�·®V±Dü‘6BGü¬†'ÒÒ� é×`Í7(ÇmçìˆÐºÚœ†J«‚¬¿­¿\ï/¶ÚˆÝŒ¬TÄð@¯!ÚE&öuåƒñ¶1µhjb¨¨þ´ ö%MÏk€zòÁ‡‡0·„M{.È8K’³4l㔆]¯n{Ÿßá ¶>¦ÓàÁ$ºíVªhDr¸ +(kÙ�µ)ìzóÁÉ{4WÖÒ|Qº�ÿ ·õ=˜Ã[J|(C‚¾kXóéÏ®ø¢ö¶è+‚!V .—ʆMíC!jLð_0mbœ‘Î÷ç}†Ým�´½”ãåU\øÜ HÊå¾$áÌÏ€³× Ì]Õ¬]nÄ_Ý×$‰Ñ�F¥ ;©N!Ò v=Òc–h›\tðI }?„Üžÿ—Ç þ]Ñ·p6‡êoÊÐ>ȸë5”«l,t‹Ø_§n›à™;IÙÊCa<„màzuG•Z'YÞ&äAô8¼¶rªµöHpÏÍE¬P©JyJ ­&í¤¨p;ö8ªñ³ûŽUضÕ<²Å¥iUíe1=ˆa~›þx°è^(:©V�â@¯ò˜X£#ÇcÛš5¹úLmi½z 2›ãóEÔÔÉF)ª!�eD\s"ûÝÿ-±LÄ+е£ÕÛ�ß -Õ%ožÔö7@7]É^˜8çÖ{ ‡-9L댵<Ê"aÉ\µ˜Û¡ïm±i‘¹à—`v´28VÔ'ËÂêD¨©_`ü,ûõ·_×í0îo좃ÊLeÚ!*ºÅ8S¯CZöíßo× [³‘kŸNH ±!c ¸Ì·¸°<ÇËòÂ_«�×¢(çÜ<0• ³ÄM�í~{9”Æ—8`÷åZòï(áESE.”ŸS!;ôë·¦>)¨,/ $VH‰P\h°ÖSQÖ20ò‰½€ÚâãòÆÍ²Š ŒâÂÖio t±“K€6ÚÇ÷Æ·òï¼Ç0)©Ñ©Ü"Ç2,€Û`[ÖÝñ$¼1ê‡ñ&þŠE`3¤1êbú¼§°ÄLÆ““…Æj=Ö 2$?ßåòÜX›l~X&ŠZ›=ùS—1F¡£wXä+«M¶ ÷Û{�M±`:2Ú!áÈ �¢dÇ<ÆE ¤Šïºó¾þìyn;*Ä�×Ý;C_ýUG‰‹‘sÍÇ¿çƒ|ÍÛgºv÷ð׺ÂT�âÕáÊÑmµ·ë·-¹a@nh-8M‘ÍÛeLSFj B¢£lÆÃ’Ø{ñG³ÍºÕ9#Õ}SoQ4ðBäªÖ }îl-~*ø�ò °TF×_4¥ TÈÔsÊÒ]£(EÍö=ûï‹{ã"@IN25ß55ãJðQL¢4ÒJ(½¯r9‘Û´Ó†ºÎAõA6ç}?}ÕŠž¥á±ÔŽdP&ü»a0<²CC œÛwu¯¸Â®:šÚH%g`‹©�6Á¹rõý±‡¯–BòÓ•‘¿Ø0¬ü dhTº�¬ô§\y­T$´„1ȉ¢æÿi´)Eš2ƒȲI}[�5\Xv7ýq¯ðä¡Ãme_ÑÈ?¥¯ÑÀŒ¬r-Þä¹6ý7ôΓiÂÓ}“cóStu$¨F>B?Ĺ;mŠ®n쪛Gª³ÂðT#žÊjš8s )Iðê£ö$îæÇ¥ñúKøwüEÓGý·^7D{÷Ô$CªÔhf­£Üv+öóö'ûuû*ûmdrC—¤YWÓÓ¤ÒÑJá‹)Ù´žºM®;zãèŸ|+€jô§|'¿§Í}‡áŸ‹bêGÀ›Ë'꺉}‘BÕuM–¨‚’v_!m¿ÝqØß ùýNž?£t~‡·È§õ�†Ëe/‹öTsì7„ d¬‹#Pпõ,ÿ�{[/¬Dfó0|ÖD½²F;«*{9á­EèòÇ£�Í‘µ› ð¿þÍɺ78_º#Òaxò¶¯ÝNË’æ4ÔËCMàÀ#`WJyˆ¿0F5ÍLMÛŒ}ésô³FÍ‘€+÷„”Êó+¢©Jª¨"ÒÊ]I"Oz��/ÏŽm@}å>¹DÆjA.#ÝQx§€8+<‰?õ e\GS$º,Ô«ª ŨX�銚�>�8:QN<Ø¥j)¶ó¸žßåb_b)û§ Wg¼)�o=F¨WÊ9#^ÇžÂ×Ç£#ðà”×ÿ•Ï•fM’BÚ$vZÞgÚ2,–¥¸o>áž#1’i�j´Lö<›Mì}GlbêtÀ¡d��·ŸÂTvMö™á¬¾JXêë%Ê'�xiaS°cÉm Œ3MÒ¤cª;QG¥,ˆƒK}ä}Mšx…+©j+&³–‘BöôÛ3ôý@ñF}øHÔA½Û‡%L×q2OQOMJiš©#³Î»Rn>¿Æ1'ÔÁvžõ‰z{Ù¶Æ|£2cWtó+@#\Mu�ú�Ë4ºù —Ãi ÷îz‡KsÕ)™ñ/Ò=å¡’®¢dêk�wìq»7UéÅÔû.?JU5¾^w3q>ýÔLYíDqM2ÕÕ%:TmMk‚vïÊø¥¥ê’ÆIc¼€þë+ùÂÖƒf¯…'WŸQÉ«òÊúŠ $`'‚H®—Ñ{ß ;Ž÷Ƭ�R¼Ë¥xórÒ2>©š½kL¾$ÚO"�c0Ÿï‘®V°èš%Gi¬IÆÃßaùâ›z€köDÍÛ¹ôú*ΕÛÿ¥ß›à¨é²]}¼™•%@y%ŽMq($­î‡Ë3iÈŒ˜Ý÷ n„V×­áS›ÕC[F)f^+ð@Óh÷Œëÿ!¾ãùÆæ§«ËÚe"]£°S$ïkÛNß\aGgpDôFg˜jËéÝŠË,l£Ãf:I=MÉùúb—Slok'?Óaæ�jZKé|‚�¢ƒ„ ©ªI_2Ë)d‰^âHÜlæ ÁÂt¿Éx…Œ•ÍÆ °oý*±3L Ü)3Jªɳ¬Ê¥]]e¦aÆÇPsnvÝMúŒn7S¿MáÏ0ÜÓaÀ'C«câ0HO²Ž\ã0ieËkh³ ø€w§u$:†µÔž¶¾Þ¸ÍÒÉ<�2¶žGnÿ5N&M!¨ÎGda f°Ë_™ÒfLìÆ)Oÿ¹6ÒèÝ ÜØ÷ç†Å×b3à�Ç‘X?D-cƒ¯iÏæ�¬Íb¢ªŽš¢¦¾‹&s®jY�«A87ª.Hÿ¤z¬pH|3Ú¨�d“{€y uUt³Lù·TQE“Ô°£«¦œ @ÞÆDù†¿B=N«;iúÁ±V#Ú |y^&§˜ðÍ=E}%g\“ÉsE!þ£H5ò@E›J+g~‡2|î:•2Hh<£K�ù�¹‚1˜ítpÌçÂãâŽ[^[ú$Æ÷^æ^ñß²ŒªF¢¦ûšRfTyÝ,hþ$ ¢fv`Zöeç~–Å'>¼À¹’úV>¨da³â4îæÂ2Zš8–<ÒžY¨ꦤ”¨, Õ�z¶«Û|jæd­sC¹pàýÛÀó‹èåV¾ã—ê®zú‘–4é T2TÚxÔ•Vp¢Àé,I½­Œ×i¦,±!ðÐüéVðc²ö_ø“Ÿ¢(h¤Ž»-¤ §Î2zUÐ5»S™C-ôÞãu:–ûÞã°½¬¸aVŽKIDQF×ÖG¾îW’MšSÐSf³e™~„2w:dM�ñŬ1©¡éÚ©¢þ‹6W©"Ǻˆ4&GˆÍ5U)«Öh3‘6Z“äÙ[Þš<‚Eó#J’È] ØtaŒÝ$±’ý,¬¦Çèr~EL¬ óØµ sF+³zê�A$Ë)*TÈŽ‡ŸŸ©é¹ëÏà»úc€îÿTØGËåô­OÇbË(= ª0Dz¦[cÑ•†þ»ßw­hL°ÿ7k@<]Ÿý/OÓƒO'œ*‡´N;Íò‘�ñU6aA—TÕäï—aMØÄå{ߘï�G§ë‡FÉE]Rµ&“8+—køüÐp— ñ]^U,ð&a$ùœóÿ¸Q"�[méŒ]f•“ p$÷^� è^Ö—ü—+{pö¿œp‡»ý®³Ú·1éZZRº_�‰:<½”vŨ:nÒÙ¶�8 Ôè4_ÖÜáwÀïkâW$F¾½þñ,ÑkuñîËsk÷µ±á~ ê]Q4¿«Âÿƒ?‘ørYD‹7êW,ñ6y‘òjgŠj‰K;ë�sð�C|ÏlŽо?ü[ø¯OÓô¯Ó±Þw_ k,�i²èáÒ©µ€µÅ±ö¨%cXGuø©êÝÓšìUr¼«,íáHª³&ë½î7ÚîE›#?’QŠÁo#÷Ê)f’£ÄI#eüQ—üKÏaËžaʆ< az*T‰‚Æ‘µ3ìunc~ü¾¯ŽaßNcH>‰ÞF�¾©¨Ùé§– ÒOÀ(ç¢ü¾‹r ÛÊ ±QJdbÁ‡‚›ÆÀl§·×|%Ò'jwy 7÷P•ù`¼’ÔB«ÈÓ¨)¹ÿ@…À``þò˜&¬ hå®Èªãª¤¨–‚ãkXôÓÛ‘7ï…¹®nýŸ(p¶­ÿKG–{YáºÊiÙNq&CuPNÃI¨7Ý}0Bƒ¿4LÞEº·{ò¹š¯!ÌxC:©Ê«éJHåAººÌÈtíéŠòid�ÛoÁ&9_~|"éç�ãF { DÞ6½Æ-±À»kFìä©jPñë á´ZVVØ›ôÄÁüd|“ ©(™5é–F$ïý‡­ûôÁ‚ö�¬Â#‘Ù U1©ãU’@#_á·OÌcCM3ÚÛ»*´�ax.Is;¬DJîÁ ÓH½½ë¿é‰/°Oªd‘gÝyk^Uhf§1ž�¬üÂß¹¿® °T=æ3¹ åzé´rDæ@N–Õ·Âß\°/k˜à0˜íCœÏ)O2ȱ»!O œ—°£ÒöÇ=€’#AṃyÊq•˜x²‚ &ê5[ñmóî=Ø(£ÍÝ(C½”ði6V6�ÒHÖù)-åaëþ=i 7¿É! írf�É$¯)�œÜŽ„õë¶!Ó¸¼Ýò¹§q;2‹•#š8š-&-d…åqÎÖïü X{ü€;ý¦ÄÒøˆY±Bg�LpÞÂÇrmÈývÃ_ vZ?@§Ä7æHš… W„+I¤3DÈÝm鈄aý–›XÜ›þî²13 éPO?B~­‡¶#ØÒ¬ØK]Û°î¤ZÐ0B¦)Å÷$‹7c뉱 ƒÝ O˜€�ª¥É]v ÷ø�ðD€qÝòJÎi"f1KU@/{Üllºgðîâ�UÕþŸíj"O»#"¸7 ¥­o†>O©6á‘Üwú/Ÿøa§iˆÏ!’¯&¯!B¤mªÁ®qä5’ðWxv œ-N‘FÆJp7÷{·÷ãe„wk¡kÏoª±SåñˆˆÈòh·kü>X2ò;aLqƒ¸ÙMÇxéÞI5Qo5íc{[½ú`I?Š¿åW/óU¢Å-âRª†Ì÷ùvëñÁ óÞ“\öƒ]Ó³Ga"¬RxdØ„û¹áRÛž BË"ÛÊ 8‰hL~PIµ‰èG×lcK‹FA@ÉM�ܨyRxZYd}d"ÆÚ[ÒØY…ÜÝ®"Îf†t©­•c’ÖC~ÖÜþ§¦k[N¢º™ø‰Ê™IÚ9ÐDäÈÖ7¿ÀòÂ&”n¦ñéê‚@+h6—K îÒÒøz.¿AÈûÿœ&€ŠdZgQ åOи’(I@�›ìEï{ßã‹1Ñ­ÆÔ9Õì¦ÍRÇæ�¼76Ù‡;Øûñ}Žmy’EÛ†U’ESL’C2C]‰kR:îÂuQ ‘šNñÝ´g¿¢Õ\ST²T¤‰™R„±Ý‡#·mÆ0%iøXîÂÁS|\Ôuð3ãeöI½ˆüñ‘¨!¢È¯E’ ÐZ¯Û …Ïæ�év-¨^Ûr/ËðñÜ»N+ÝiÚb ÖA’ÄØòàý{±ëæm«ÁÍݼà…g¤‚)OžìV½»ƒqÚöå„îsE4ª’ÈA/EL$¥‡D�ŠùX[þ¸¨ÿ÷vUå$»b q¬k+;>­)fÛ×ôÀÂ÷]ͨÐ © �x¡,“q`Gc‹o†×¸* È^-Q™C)PÛÜ[÷æq]Œ,"Ú€ÊA8ù,=D‘£2†k=­{uï‚l¥îâ“ØñTrŒ†´ÉEœ!“\ÚCòçfçò'ž › ÞË™°›nkýÚHçm7ðÕÅÍùö8Ô‡Ø)XamQuØ¿d�¶ý—ý¥ägÂ9ÅM ‚ty#唿Vˆç�¿>?: tš¿4När�ýüQ¨Ó’ïì1þ¦~̾×Ü5A >kC–q”Q¨ª¢ymVüK}ÈÇÔ:¿Âñ¾/æôgtgò_Høsã�ßËj°ð¾”Î�W %‚HN Y¬Û0÷cæþ”nê—°ÕÀ%á'À§D†0bgèê7å{e?§€@ ´š`Ôf‘4ÓCpà Ü^Ãã†KÓ€m�•4[,åFÔPK2F†`® Óɇû7Uñ­2‚î™d5²)½Äl5¾]È·\2ѵ٘º7{�Þ}n�ÑšÜ/ß Vðçú½{+álòLƒÚç qÿ±Üá|1£<ˤ"úÈ �[úzbû~‚wnÑNÙ¡4R¢`7È˸6¾�{.ûO{öÁD¼G‘q¯ qe,뮢­I.¤n ƒ©[ÒÜñáz÷ðãY¦˜É4f¿|³õ Q ~Ÿð·Å6s}4µ©R°eÌ4øé“kXïýÃc� 7L˜?’YòtwLÈV %>V`ûÏÝ`t ;µ™Øzv7Üa‡G3Ak¨;¡E‘ŒÜÞJ‘ɪ©*ré(*ËO°Ó+ycæå·»]85И¦ÍpG!'OÒ¤sK*Ðc6©"º‹‡¥šj!¤wóFz�É¿LPÔÉ$n-‰Ößt‘§tAÌJI2j´ ZŒ‰ ì6¹I¬[eî.6ÿt]RÈüM/óŸ²Sº}ǹŠ«<â ¸AEšÖÒEI"yP*2ÛQò÷7¿¿gY—Ô´ñy ´î–6†�º�«Ï Òÿ·q”3Ä‘I v ~ Ì0¸Øõ®þ¡ãÂÖ†ŠáÕc#œÐ× (ø‹/¥’›5¢­›2ÍéLNËŸ±íkõõ2‡Sdnñ·‡9¼_qþÓal‚Í~‹3ñ>i˜Öýê‚’Ÿt––0úFÍkß�®>Xoÿ´ÉâÄÊö唺MÝþÈÙxž§8¡H¦ÊÍ_Lå¾ðÏýH¼üÖÿŠë`}×Å×u†êX6FZ[ýÝÇûUõÇW†j‚™®â|¾¿/cSþûš;ix*WÞb¸+kî_ó#®«…âLD²zR±,»alŸ^)T^ÈDù¼Y ³ç,²  1N#÷_c·.ûãÎø¥„êbŒû··þÖ[â³uGå…K'ÓSÅVü]M”Àá>îžf\Ÿ+X0±#­úâçHÖu´º'µ ö&ÿÚ’\*ßÿ*A3n §¬Ëx‹‡õæ�¶„X˜)æ}KtÃ!Ôè�Ç­akÿü{£ǰ—¶ÊŠ Êà—3‘¡jÞ‹P$É6žL.øÃ�NÁªÿã¿ÃôÝÝV†0ïÅå >J «+¯xsY§âšY?¥R6™iÐ�Am­}úó¾,êàÍÿÌ~ëà·�’ý'ÕÇ?…©x,ÀíìiI}>ÜëÑV³ìÂ(Í3'á˜jgñ'S%$‘Ò¡›n„�Ç®3:ïPñeÝ¢$5Ý‚\¥²Hv7•gªÍr|º2œÚг 4+¡ ÚÞRËrX�˜½úßqÏQ†è^;ú¦‚Ñ呵^… ’q6MYUœC›QÒÌ5ÉV�ßAÊIÛHÚØßéý}Œp:—8É=Ç¢…ê zß䘗5Èõ¹ƒÑ×RSOâËMWP¦±áø,§rØú¨ï¶´:�+žçµÆ»]€?Ú™_¼îÂ�¯â4Õ™Pð…:ñž~!zŠªº�º‚Ki?ŠÃòïcŒž¡¯…­-hñ¤öà&†‚w7Ì}J­f™�yÈ&È2z?ýG—PA¬ªð4=!PKy͵�ùžbÝybêµ^ŸÂ�»‰çmØTdnñM;šáFTgÙ%G_Y5.aAšNž 4 �¡Ty›±>˜ Î­c/ÞGj)P26‚]‚“GÄ|@¹.G—¡Íª²ÈTÔUÃKTEÜØÈ:MϦø³¤ê2�8Œ^ÍÍ|Õí$®>VÝUã_l-W6I- F_0©–ÊJM¾ú£¹6oË:α¥š±�­¹Ê¹üË¥vÐÚ®ë\qñ?e´9%}FYG•Ô^¨AÅ2NëÐÛ¯NØ®î¨51x `kO NÒê$†Q¸ÛWñ_µzU­Î28i+³¿ºÌÐS,ÒÍæÜí¤Zûc?N´Á).£Û•õ~—” n=W:{Fö¼dÎaŠ·3Y}še/¹”t'WõÚçÂCýÄ‹+ã~-9ˆ!»ê~«Øi"h&1Âù‰í‹ÛÎO_�ñ¿ÖWVe\?=k<‡×²úoñ+øó;ÜtÝ1Û#¿UeáZJuª©i'©"æF$ïÎÿãûM Xv³Eùâ».²Be;‰õî¶'‹O2­ì¬ÌÖØÕ›-?uáæs]`ò¦hã†hÕ‰r®'¨=í�‘ QÝ‘ÙS£D3 ÂѺW:H¿&¿o–+ÈAÀUó”h^@ä€im?¨À¹¡�!ç'òù¥y¤v1I�»°ÖÀk Ö óÓÞø"Âçm.>@xBæytQ¼ šC‚VÖØÛ—»¯ýàÌwôÍ’šæFæí8Q,õL°ÄêÍMeSÏMù[ãŠRHÎ8T5pÑ%ûIáhs ®\ÚŽÙ\‘lICéŒiËZì *óJê7ŽëAe5O’—P2Çåþ :_ùÅæÌÂÛEßæ fS%É�}¶ÛšLÃ4Ïy"»Ô/šÁw#÷Ãä§·‚“s†}“¯_÷”0,‘ºÛÄRm¨[¯.¸&H\)¸èⲈ°– r5ãfÔ·„÷Ã#„;’qèžöìÈî›]f’E PWú€ò>£ßlXŒ¼81óH”Û䦦1øRFAxOá#©çó"ß9Û�ßeHI®�Ž5.$‰›ï] ·'®þì-„Ï·ˎ쌧¦™ä³/–r,ꇭ‰ß —JÐ7&–£ ŽI<�c[/ÒÃqŠæÃ¨d ¡yygÕϾ%;’…£½î}#‹"všpãÑ*-íŨ“†Z‚U’k�Äí¬wôØa®sHÜà2¬ÄûÁ $Nè±/ÿ¸ÞÚ·u †ð?ñôﺕ�†s ޤÍèèež‰g’–¤GA¥–öÜ®?LZ�JòÛháX ¹£öUŒ—2¯áœá$¡yú±±Ü€¡\$‡pAîp™®­ ßº©íÙ+¥óö�ÙŒÊôyvv¾&Ÿ( š@?Š×Ó¹œùbþ•­#l‚�óL| ²‰¢¸Ï6És¯žž¢' r �µì?×ÒÃRs‚“¾†Ð,£b­�ÌPÀ%»çÍìzüzƒ‡1±‡n¤ù7í¯ÍLÇ/õ%£{jeQpÃþX0ÈÀ%Üûª®ñàí(ºj˜¢?…•ñ0:†«ì ÷tõÚv’S¥„µÁIšˆÚ1¦74ípE‡‘‡/Ž%›¯pþŠ#¢~ÉVx®×hWÕ·Ç®ÖñÜÜáC¶ŸÆ,z§ã®¨å5�.Ãñú�-¿øÃÝ.öî%*=(±ÇÍ/΄hw¸mÇC~vý0 ¾ßšdŽ$Šû¯=AxË@¥Àa®Ã¡Ü|=yá³1Ö_ni{ �+јUªŠ˜Á'–àãáÓ@�¸sõ*&vÖUcè°úAð¥oCøJ�˜ú‘ðߢ g{ ai;@çî‘H”j-pÝÇ×<;c\78€ dnp4rGÙ"¨¥Ž Õ{H¥Í”_ë–ûÛ qÛÇ¿øL;‹Hqþû¤G+Âe�—@‹½Ç+‘Ó)/²&i&sr8Y–ŒÌŸx£1‡æðÜóßqùaa¥­ßiòSÛIšÇI÷¨bÚC3s6;_¡þ1¨ÀÆ+è—.˜ƒ`YCfŠMU(![2�NÌA¶*·?shþý’žÊËû¦ÄÒ~0ÄÉÊê@?!†0‡[�òŽÉs4r9쬔ÔK#•Y·6߯×í��¿Ko²(}—� I7Ǫ’ª §ð*èÐ6±Øž}½1‹Ôô-i9Çd­åÀ�mh×¢h*<6ƒäº��^}ý¥·3.Ç¢ˆÉ"ÏÑIS‰!FŒÈÁT�—¿¯>X²eòíA;\Mÿ¿¢j hÕªDŠìÎnª½ ëú|ðUå <{.iÚStñ*ÄÑÌK3 "ãc¿<0��¡D¢ð÷ a †B$h¿¨úmcÊÀöÇ� ¢ºm3/AW‚cC"ÚkªØÛ~ƒ·øÂÒ çÑL˜¢(¡ G=h�Dl…[mî=OÃáó»�ò¥Î.9ù¯WFÑøS‚‘•€çqËŽ3Dâ/’†>,á ´³ÃIO\%ÑP/½ÍÀïa‹b0´ ~ýQØÑ‚¤|Y¯O>‡H˜ib9{ïÒÿ¶+Ã$ îT0�¶Û?¾ÊF‚"Ÿ~HÊúÓkjäG鄯âpãå”Íw|©J"�X¨Òª+-®F×çsù{­‹Q�Ëœ£ÂuÐ6¬óšÊiXBDuj¶Ä܃·¼âì¤8 oºæFëØW‰å¥L¦¥ª#ŠGÖ Fö<‡çŒMQ�Î9´RÉ€@ýü”TÄóÇ©Y�6mÍïϺÆ<å¤×ºCÜÓ‚)íz‚%’’±#v¼ ’Äó•ú~/v)t¢Y;€áZdƒ_UÏ&›KJ Š‚Aê/Óç�b;-6?s·`ŠÂ*wŒ¼§áSÌ‹ ý÷µ -8<ªòE“DÒ:¥ƒÅˆ™KG&�ÀnA=½ÇîAºJ�°¦"ˆê™BjŒ¸$Ûq×áÌ|±1då `ïÊ“jC µ:  ï¿éÏãðÅBòëcŠL¯s°p�QµÈ€îA€Û‹÷>&¿p²xô †AT?DŠp“CáÛMìFß—»ž1c)b-Õ” ìñYÉš&Uä.mm¾#‹Fã„ø[G#*šÌ×h¼;3­‰äKÿ!�Øßå°µ™IÆ¿5SÔàI…æ|¬G=ö˜Ð†vX¢AWa�8ßöö“ö�ìŽ2î,àÜæ¿+Í)¤ñ#hÜ�@óS¾àï|}ào�õZ<îaäz„�_D�çÅ�ÊñÁ_µôàÿY> öë•ä¼%í2‡(âõ7Ê%6æ¤ôÇÚ&éº^©ó#ÏnÿUo¤üO>•þ¬ÿÊýd|S—gPÅY—ft5’ ÆG¡¾<§¥¾'½´Bú^“]À9ŽÕžLàÈíq(oî'û�Æl±’+²³3¨PºJâ«àÓÁâ¿@Ý=/Š»6ò-CchHv•õJ†ËAk€m¾(¾"çg„¢ç[°d§¤Ñ,qÒ“}Gp0©ô1Ñ”¹´‘5¥£% %11ÂnA[Žx¤4¤¶€ „šBT *²¿ã“[Gqk¨ë~g¶2µ76×RÃÔtÝÔO䙊JÒŠƒ©ÝJßMÔï×#�Ãq'ÙL: ›ïì¢ä¢¨ñìeÉ)ÞbǨâÕ!¥˜8ÊZ+·e™h©>îW2¦ûÄ…ü0?‘½î{_EŒ‘·¨Û*Ûfð˜Lãq\Ùí¯ì‡ì/Û— Ôe|_ìㇳø%Œ¤�="–[róZûâƒúLMp—Ogä’ý|_üaG•ùØûO spývwÇd®7ã/f™¤`ÖQåQU·ÝÄ·¾•pC…ßk¶Ç´èÿê`9$$[¥æŸÔ51ãW ^ß^ÿuó;Ú¶Oõ‰ûI5ÍœñÇåñóVК•ð@°- ­nmsn§sk:n°ÿV&?Ü`ÚÞÐè4Ó²á™Ñ“ÙÄ÷UL—ÿ¨_íÃñQdÜyìÓ(ªhYx5Bì-¶Ì[‘ÆQè]#Vh´´�ªØ[ i¯¿K]–ÿõpþ[–ÿê. ⮉U¡éÚ9u çÈ‹õߟ/v)j>лÿí寘T$ÑëšsúßþÃÿÖÓì�Å®WL8â~G9Žl¦‘Ž÷$ùu ÷ÆþL7:'5ÿUœù߇‹ƒO¨_Nr/¶o±Ž8¦§Î8CŒ2ŒîE4UhÄ÷ÚûÛ�½qáº×ÁšÝ#‹ˆ#ïJç�§‘¿Ò#ò[G‡}±û1̨ÞÿÝiógrâK«@Nû);o¿lb¿á’ÑâHl¬±ÑZ÷’xV<߈é3–ƒ4§Íòÿº2!hÛÌ[§–ܯûcÉëúdû·`�’OQèa­Ý=I2ËW4Ù5 &‘!Éä~¦1#Ñ8ɆíYÒ[v�¨\¿( Ë`–¦£3† YÚE#[Fd-¡œnB†*`/×�lt£iÀå+¨èå5…êÜÃj_öÓSM=4#ú~)fšäÿiÛ�S·=ùaÝGù3éÜë¦Â§©éík¨6©DPfùNTÌé ˜þJ´q�´ ºžiSÒÕæÕ¬/¦¡ƒG åý3Ð�ÜcÊõî�3Údq�ŽË´òìy. Tq y%0‹†f¨¯ØxðΊgñHÜ¥·Ø6äF6z\ƒIù½q›A1vì`%egx™^o†¸™d¬¥©£Ø0s®§mºaº© alÍ{´÷Kf1÷Cµf_Ä•æ9t=–HÄSVS¯†´âÖÛþ@Ÿ×e~›X|6³Ãˆ@÷8¿5J�WžSÕáŠZÉ(²ÉÖ4Z–à››Ëa¸8¬Æ‘ÿÅÜ¿!P.ÕÛäŽÊsyøb–¬dts59vIklbšBFê;­Á¶ÝqwM1éÃÿŽ7îÿÚlSp((è«’´�*V£ï&ieùÆÄ:¿¼cIÝ+ƒ¤$¿¹ÿA>9E€Šâ¼Þ¶Š‚z|£6j슧KÕSU®�Ž òfaØm�~§Õg ±ÁñûŒ…mÚvµ§4 Öµ|K›æ‡%Èå¯ÍL Ž(£ÔÓ-¬T/!}�ÆÛcSÖ%{§.;G×ìœ"ݲÓQq&ALùÖWS—PˆSÄ jŸXä¶¶Ík¹âçN�[¥a– ù“šù,×myØ-UŠn?�,§©Ì³ *§eq+¤D/žû™÷ ù`bë¢;–wßo_š\p:WÛ2¹G/M }Q™åœ:KJ�¥8fRvfŒ�·þ¸tN=p¼†3Ö•�F˜1ûI°±Ål ³Þ0ªÊ¨Žqe.�ÌŸr‰c¥>*¬-#1åpç¸ÆD¦:Ý)¸ ®E¤�ÎR\åšûqâ:jšðÔ|;YQT�x2ÛÀE.Ú¹býí…A«þ±-i Øiº4dƒX_6¸ÃíÃ#Ú]hʳZ˜r*('’�n&˜í!êoîïë|z�>…ö d¯¤ôˆÃk¸\]ö�ûJð†[•æ|<Ÿp§vFŠ’ZÇSXî\“ϵ½qít!Í%£¿+ÝôÎ�¬ðÑÉ_+s÷ˆý¢æ‹SšÔU>Zøq{/súß‚ Q̶zÏÅ/ ,dˆÛÀ[s†2ôËÑaPªÖ gÝ‹1ØwšùçPÔø¦Ç cÅT#K­ãWb¤ó³[·Ãž,±ÎÝn?’òÓ7p£ÙE2²K‚O&#˜=ÍÆf¶•’C@;�*ËJ¦™#±Q‘rÀüðg "’ß§°@©· µ24¤2ªF«zŒ&iyü•VP4U²8àžð•LÀyû0ÂŽ�`ƒ_ªWŒC꯻N½(š"¡�X¡mñý°m{‰ØxRá¼S0ƒ<ޱHªÑ°ÔÂÝåùàä‘Î;{©6šÚ4ËMJE+2L‡së¶)Ït¶Š[bvw?ÁÎ'�òZé#8+sý𙲠¤çÝUx’í¿)ú®}ö‰Â•<)œ½Dh3�mœb�lv±Îcêðx@ÑOaéP\‘æ+ßþ?ž4û�_øL|ƒu¸ù‚¹SHqxœÙApWº‡˜…a²Ë¬6•1¾ˆedg'ñßð{¾xlîÜ�WºS¥¿(²=žX£,%-¨tqqÿx\IiϺ¸d>ÀOMPÖ#HѶ‹vÆ“¦ifÇ>È#hº@‡b†µ˜ÛksvÀxT.¼¿š8®üÜû• @k1ž,.(oû`…‘�Í[ðÁêR WÖ †¯(›™_ß­÷’½§²K“âhb¢r·æn÷Û–8~vRç0�1ôJGj€¬§Â©PXlG/�-ðâG šþÿ„ÅD~ š¢mkr­¡|¤r±ôÂ_æ¶Fr­^mÃì£D'/¨G;-;µãkîþÒqW•ÜþJIpÌeH/žF¨†!±a"Ûgߟǖ ³¶¯ò´°+”ËÈŒ#WiuÊÞ닞AåpãÙ7{@°?ÒUîQÁD�l/0¾×ø_·Ñ«IqiX‰[Êש�N¼ûâýÛEšè Ûºè Z(Ššf°—PecÈz‹÷À½®¹MuµÖ?Tß�%6ª‰T@6ŽÄQù~xpy�´î?$)ùá•’*¨ãOû‘ßôÁÆÀ[€n ‚б<02ÞHH=wŒüw¶Ûá Ѻ¬{$¼4»Èš†“ÆE�ƒ¸Q§U¯oñ„Ñ íe²óó ¹ÐLôÕ-ô¹_Ä/Èž·ßš#¦$ÄKGu%ü_›ð»Îrêéi¢”!v mEAXuØ‘¾6tz§Bm™DgÅÑUì2®¨ªÌÞ9ê'}R0P.` ¯Ëß¾)õ|š‡[š�Ӳѓ”UžÕpæyKP­¦ut$ï X÷½ÎÝyb›Y·«³Ë—AUÓeþظfi©ÂfÑS¯Þ! fŒZEkn·Žëîå Ý¥”9@#�À\Ä|3špÖcSðUÝdxY[}$lv¹ß–3d‰ÌuÚä$–�³IXi‘U †7½�2¾ñ}ñ&=ß�î¥ÄÖ —I%YK[_—wõ6ûþ„°ìò“`ð‚FnáKÃ?ƒws„%¬ï}ÆØ6ƒUX?D—6�º×‡†V‰&¸ü�3¿OÓ¢…­$îOØouýÓÈ ‘É:´é¼mÐzŸ«aÂZwôêÒ_k¼÷ôN,¾+Ы-Äc�˜ÛoqõÃwÛ¨cëIƒqw>TüU@ºHYµ^ãr@ýyá²°´ÿøúò§iÈIY„¤J±ˆÍ‹X›X}uÅRí×XN�îšJñ8d.$’ÌZÿð&Àû¹oß ;œh6Eo'„Ü´$ªxi`M”�Þã~ªw·ÄaÍÓÈNêýüÑ0Œ¹:ZRªK2Éo:Âà�¡ðĶàC¹J2ppž‚ž6)vY" �/Èmø¾ºbÄDq!?—ùOÓÌç'êšd™D¦�™UÜ­ÑìPöòæqp‹Lñ6Éî²?÷fO UªÁó Kk'k�ñ½½~Hñ4Ómýýƒ£ñZI9L,úcHÛÊÛíÕ_µ¾¶ ÎuáQ–<Ó†äÛDY‹àº\\Û[¨íË –âùÿ„,k�ç.�žœF#2¸?ˆÃñ÷ãçÒ4¼Â—ƒ%Û9R+O#±©Ž (Ü)Û×gU¦;w³${!kÉ4xZWˆ©…mW`¨$.¶æ¤óÛ¶çšFäqIq¼ìg?$Â2‹ÓP©77RÛ™ô¸ÆœŒîÃóL‘dú­ç‹ÂЪªøª}áv$ývŠ£ðÜ/Ý~ˆ~Ãë‡ÇÉéò^ö°ÓqL„F•„ÿQf˜õÇÜ´?tþ¦Ê›É'äV;4Ú­¨Îæþa~¢>Î_êYìSÛ} ÙV}J*¤Ø+¸òž ö78gPøi­óFBô];âbq%¯¡œ?ÆÙNuOM=tJHÒCrþqäõ1ì4Bõš~¢É«ÕaI3¡‰CÉ«pÇfìq—.�ŽUÈÜÇ*”“2TÖeh®0U÷ò÷b¤Ð”÷‹9E-x¬{Ñ_è£öNöûg_/³œ£†óÙ�ÞòÅX¾û¨]ï˾ .§­ˆa…Á+A¦×ÄãáÉ€¿:ÿj_þ›N<ádÍsob\G>n�’Â’¡ ’Tÿâ˵ÆÛ} ]7^†ê[eþKGOñdÁþ¡ ×qû¥ðCÛ¿ØGí7öxœÁƾϳø2Ö,±Uà 2/µ×‘ôôõǤd®­Ñ;pö+Óéz¾“P6´Ñ�+˜ò¯h~Ñø­ãɸ�‰xvª6ÜCQ$%HôR7ŸºÄµAØ÷ÿ•2ô­<ƒÎÁ¿EÒÜþ¡j»ÛO l®¢®‘Úþ &ÆÃkàœ�þIck¾œª2ü/¦'sIS�¢úìCýz>Ò<šSTñåqíaSK'�!îvºï¸Ü _¦(j:J�×,t}¿Ò¦þ�¨ Û›‡¡å}aáßþ£b\G�¥{<â®Ì€„*•Pêš2°`>k¨ÿ ú|�.†lÄú*’èµ!µ${MÒ±5@2pv<ãºLÑ?t�$,·ô7îÙÛºZç2g°>iù�Hµ^JvZ%ê=6µ°©#y˜?Å*®Ð˜_`XAC[™9‹-ÿÞS+®Î¾foCÛùÅ&­ ªoÑûdð“‘gT\3^ÑÈiçÌ÷2ÎÇs¶Äo·>xí1ð�¼d Óô‰ êA_5 ˜ç¿ï5¹…vn‹-dÎ|(â!@°k¤‹×Ôu&yY! XÛ�÷±ç¶ ¨7nÝóFÞ—,mØG+Tñ7 Ã5¯§È`‡3‘$‰~äE‹umÆö°øŒyÝIl�Þáå B‚"$ ©f]]�fU97 ÕÔå¹û„¥Lä}܃fe[n-±¿,> $aÝGa讞”Ð0qòZwˆx»ÚSÅ•&a˜q ôr•'ÿ–Ü©%€V'¹í‹2êõ,pñ›öé_8¤V¸âŸ´´È["Χƒ&É©‹S5D4äTT9Ç;ÞÄŸR}1éºtŒxÃhúþò´ô}! yä¸Û7Ú¦¢ ¶º¦®›)È J_öêh&"& k+͘Ø^ç™'}±·Óº ´Ÿ|¯]Ó:D’ØÙ¯Ù|¤âOnyv[Ošµ-RÏ3ݤ˜þF÷Óߦ=¼}9„ˆ›È_p蟶ÿ˜×Æ7&ù+ŒëóÜÛŽs¹ó*Æc‰¦5#p/·í�e“ÁŒfÊÀë½^7¿l-¦võ[W Xáž8ÑPØlyÓ {aËÃjµ„œ­© ò˜ˆ'B >nþÿ–ÑEdj'�úQFA]/‚ôóÙÖAt šýûá‘îÚst²5{ASÎ@Ð�Z[ù¶¸>¼÷Û !—x*£ØºQT,‹ZHm´–7ÚܱL4 «àþ,©úR³º4®X€†Æ+H×¹û^@ýfŠm·ê;«M"¤Åm.´·Ù-ŽÜv»è®ôU>$+ªÖÄ©ØòÞߟË­­¹î¦˜lþŠb�‚<"CI�{Øþý?,LM·SxôLµ¹§÷òRT^3‚Ï:þ+‹ò·»l-Óm$ D€Hþ«•e%À*lÚհѸVÓþÒ»y-ü)¿ &GšÌ²DËtÒ<âßž-Dâ8*á{)48®PÊÔòi .kßH ›S⊾ÊNš,qÓ�‹:y�/oË l[sûvIÃŽHE—K +£Źèopú8vNZ4FZܦ!„ùžiޤ€ÀZÖÿ(ݼU§Åµ¼"!†!]"3± ný1rùv¹¶“º]øÀAµšIé*4w½ïË~c×åÞóänV˜iiÚáŸTÁ54³}ÍÌi¥5!ñ­ö7ïËD�Ù÷KÚIÂ>85‚²D¾·”�Ãw¢Ç yÜïoš¬Öz𰱕âòJ¢Á¡þC葵-ì›'åû ¦ce•�æÎÙ‡b;óÅÇ04´}×2�˜r˜™ 3ý±çÿ�»à f¤·ÿ]‘øC¹¢°Ô3O¡Ö_ ÐÛE÷7~˜’Âprßò…¡ûª“qM5ÐÖ» `JokÛÞp^c·ôäÄ;ž¤�÷ëoLY¬hÞl ‹q=Ðä ZB³(‡SÊ㯦$¸ÙV_~'dzÿÂô¨*`1¥öÃ#cZ ŸÉ7®Iž?éG©º/—§o†ö>ö�ö@i‡ËjI©V ªy¬,Ñ�@›ìˆÇ1­†åHrMÕ]'‰%w…d&ãkn-Ìõ¾:MäWt¡;K�¿É@ÓѻӔiHŠqr6ÞǦ%Òm+ÛMÈh©âsNâDÓãÜþì äN\@¿.TjSL­cH¶f#–ýÆCñ»ð kÁ9ST³$qKTÂ9Q¥v¹¿m°÷40[1¾éol‡$á-"´³³;‡!ÍÔõ[èÝe×}“#s?»>Ë- ´UŠUÙ˜�Ävµ�÷‹çòå0¸mÛÁNU¬QV4’»3yl ;as�¥Àò�¥»|·…ªëLR×U<Å™Šì6)éùcÏ4Ð%–—! ó’¥ééÂÔ¢3£—R:llO~wÿ¬SÜ(îõJ!Ü?’½ÏOOQÃL$q:ÄÂE X�…Á�Q|dkâmLDD×Ýr¾wN´™�Dc΢_í¸„cÔèÐÐÓÊÒc¨ÚfB³ kWMA{W¹é‹ 6·t‰ñ°û6¤0‰¦’cP÷6}ç¨Åi ?wª§)pÊô1¼|7`ckly©7îŸ<9®°{¦ üUŽiÒ[KjI@°ê§Ÿê1V2æ»'è—!Úí·Ê  DYAK¨Šö±ü­‰’GŠû£ÿiµêˆ¤K€UL€r;“û�¾ )å¯ù„NÞ•a §`®gê.O=í~ŸXŒ¶ª?ÍM×l«,Ö�Æí¤3Ä,Ì�¿a…àí¥H ¹)“D•Õ�W‡­¶°ÁI¨|xRùÐ ¡žpð©J˜£kJ¿„ç� >»ç!iiµ¦¨­W™ðí\zƒË e/ëë�G¦êAÞƒò[Z9�>Þê§Q—UR fÑwn=F=�Tá�y[�Ô5Álÿg¾Þ=¢{+Í"Ì8_ˆ3 ½â*ÖY¬§ÖÛó�¢tŒupÓmïyJ—§E ·`þýÜO²÷úÝqÿÃA‘ñæe1‚2ÎnÄ ·=þú„éµ@4³ÏOžnk¬~kôuözÿSö³“eõ±ñ^W÷—:‰¥=ìw¶,ÉÓbŸÕZ‹©½¦�¿šú]Á¾Û8[>Ë¢¬LÞ�Е:ƒ=ûøÄ×t�™-ÝZÇœ­å–q[Æ\_›ðÍDƒXž»-’&Œžk©5:^ößSQü+ÕåІ߱«ú©:XhÜöò·¾Kþ©ÿd35¼9ö€àêw�¿ýµC”$êÎ;ïñôÆ;¿†ýZ'nk-§ëþUC …îÚMzƒù«ÞOþ¦Ÿdn'§Ì³j�jüm.–©¯Hâ‘­mEX€Vÿ[â×ÿ°ÊÃÉ2n�ß8!¾Ë]qWú¥û ¥q•§µOeßw ­¨sD6­‡/�ëŠ2|©¼@E+š>ƒôZ]ùª¥ú¡ûËg­¬Ê}³ðÕESÆIY\¦Ç U6·®*Ið^ºïaú'»¡;1ù). ÿP_d\O“Ó{UöY=t»ÉUWYe[Ÿé¨'U±�ÿ솸‚§.?áW“ ´;nÂ>†–÷Éþ×ÞÃ3|–œV{Nà*jðIŠ\¶º(Õö·ží¿»¥ðÆ|¨­Â*wÉT‡áö´ÛСOÚ¯Ù\ÒUdUœ[™ßˆËJØ"šûnJ›Ü®1žÿ…5 Sã"»€m.�§Ýb�ù­ÿhOft™�kåyöU™PHÿøj3'„í�¯ùúãO†&ÜKƒ‹}háiž–׺œïÍPgûNðGW&Kœäùo9+2æ #°çwva°±"Ød}@Ó+Zçê ·Bô �µ}²xG!£“*“Ú§³Š:‰5MWQB}é5LºïsÛn˜¹¤øKS~/€A>·ÿ v?…^þß’æ"ÿQeYO[—eÏ*Jšw¨ðâmq”óFÇßk\õ¾ HCˆhásâ©™CÍK�ýB Š´7qƒ2¾±Áù*ÛEP ÐÖ‘©u¨íé|*9 C¸N1ÆO”d 3eš�íªy<úˆ·›‘å‹25�m¦n U$pÝ\ù,Ϩ4ó†S÷^v úXòÅHc-¾+äªê"-ÍZkÚ�KœåIÄy|qFå¿«¥<Èyöÿ¼yþ¡§{½¢‡|®tchqç乿'«�1¥�D“ÆÀÍk‹õù~ØÒÑ‘€sõDÉKØlQW*iLŒ‚ÑÆll=GKþXh‰��p”èñDåIxò2 ÐÕ ÜœÛë¦-x�6g„æ3pì¥á¨2Ó ™KnO}·÷u¾ozK,Þ(‹ú§™ü9"•õ 7ßÊËÓ~¿,2þ¡ýöV#h$Qªýð’èb–&Ó ¢Ê/°nß®-¹´i\ÝŽÈã÷öNÀd�ƒ}r®¢±Òß«bË#;7oФÄ7‚=”í<Ñ®²ò.³å÷wøaNÓ¿±¯~êÄsƒÊeæe'B«.-qµÿïɰ¡ÍÙ‚˜Yå¦u©uWÔ,ê9Zö6Æ qXHiÛx²¥j<Ú9 k��Õì=9û±g{\ ÆOçöOnì0þj6¥ ©‹C¬ž2»î7SÔ_¶+–7rÜî8^¤ª�KQôée>_™øÛ �íxçê«>ÑÂYyüFIٛɨ�-aÏÔâÉac­¦ÂLN ËÅÉ&RŽ…HÕX %¬dù|1Ïc^Ó°~jËIßwh_ ]dþ˜XôùÁ<­ú\.ˆÈ ²PÏRù�„YThb$$Rkznybüq´^áI—´~,(驪øÚŠÔ¤ÜlGç4Lp ƒ}©omn ˜åzR¾˜Ók­‰+è1w½ƒÎ>H$„š¬d3Ï>«xÂØXî³ÝpæMæÛ'ä“–ù{wD,DEä²3iq~W÷œDQµ¶à(…¯.ÙE“L’LºYc&ïÉŽÝ}G鎓È/Õ8i�óŸši j…ŠWw ¥l �ù/~˜˜ÉiÚü~h÷㋤ù X s‡ïB6Œª› 7¿ù¿Ž,�8Äq»ü“›¨c™µ£ŸšˆªŠ9`Ÿï7eÕ³[‘<Éüïßž,&Í„Q¼„ qæi•ðIÒ˪RlEúЭŽm‚Ò¹Ð�ã?5yïŽám¾)áêk|8ÙŽQ*q 劀¥Î“`z‘{Øó ¶8{¤ñ %*W™~k”s<¾§‡ëe£­F,¤¬úÔ‚æ4Øn7Û‡KáæD¨ö¸mg#ÕFÚZ%Œ© jŽ“õ¿ç�yhºoåÊY`«s©È‘Q,Pš€©(Ôt©?‡ÓÝéˆ�Ç“�’âªy qTébë�JãÌJÚÇÿ—ï|a‘»³j5yx´äŒF“JâZv½…÷$tô>½pÑ%7(ØïC4ਨfXüRŠó¿oàÿŒ1²XÜ{‰s)¸*U`3΋‚Ök8ÿŽýyï‹-•Äy0–ÇP¢2„ñ,Ä‘¨©ü¯¾®�-Ôû°¶âÿ%/7–„CHÞ*ILu[Êl=û^�±b-;Ûçn$àá@”IJ”`]LÔÄ5ÅÍÐû†ÿÎ _gq»S¸Õ“Cº.ZI [,¦hÊY^×JúÛsZÃQýQì‚rSÏ]â T�Q7où\õÇ3yN=?|.mW'Õ8’x~¬V9 èe î{�ÛÓ4ïóÑcÝNçVíÜþû$¡ ,ª uØs;ôþ0×´<�¢�²–J\,äýR㮆ºfÖ#§—p¿»åß>W5uh¾ÆÕ²©¢5ªΌŸÝË~v¶<«4ûݰ•ó·¸°m+%*HúõøvÒA]îO~»â¦£Læ4µù)¥¯A*ƒÅYt•¯* aD`Í«�VÇÏzŸ‘øû¤=®är¨t¨òDÔàHÚZä±÷cN&´´V}½=™´ãÇ­PI 'P6Üýrï�–6´—ö\×¢tâ3UU °m$vÞüðèvíÜ}2¢öaØù#WÂJxÖU�Æ2HÄQk�®}TE h'±û¢‚�,z–úÖÆ×º°ê �¸Œ­�ÃѤñVė‘ �ýÿŸ,P�Î †RˆŽãEs§årÓÖUºHÍ«�Ô†V]®-ÐØîq§Òæ$ehie%ÛBƒ¡«AHÞÞV½úo�—mü%Y™ q•;MJeŠJXA] ,‹�÷{±Ÿ3Ûvr³Ì¹§ Úxif�Ç=KFŒ/«FÌl9¬ßæ=¾i®Üáa](éij!H)*V@F†:®y[×&Ÿ`»Bxór=P –UK=_—Á}÷²‚G;{Èå‰ÞÐß)µÏqx¦ ¾éZ$ŠeŠFÐàƒ±;û¾†ÇÇ–¹ZÝ¥§•a4­àÂ`}r)ÒÄ›¿r=Ãñ/ß/#ê¥"Õ%©>–¶“Èìmñ Ÿk|Äœ¡‹tƒ# )Vb…c1‡Ðä�Wm'“~›bÆÐ'ºVÚ@±óD‘LÒR €~»ZÖú늮” BÒÖd[“;Ĩñ•‘|ÖÞæÛò¶ -fÜwù+úg¸œ-u›ðÏ’v•*ÚÀam·ßëlzÝ6¹Ô7ené5»<§óZË3ÈJ;(ÔN’-{Ÿ«cÐiuÎà-½&­¶*‡SG4lJ+!lä6ï�C¤Õm8+ÐÁ¨iy[[„=¬ñÇÓÑg|/�æY|ð8#”�6äm˶Øõ�3ây"x`)ic—�¾¥ýžÕ÷Ú‡ \§Œ«eÌh–Ò_ñïmí×|}.¿�· +/SÑä� àû¯¾ÿgõ›àÎ%¢£Ëëk¨’µ†�e”!PO-ö=q}Ú¨f�iYæí*€êò\-¯ùÛŸÃQ£kÁÁ$z¯;&—ÈFÌû¨ï2©‚zu§‚B…†›ŽWŒS&i"Ø#Y‘iµiŽÂn¦šµ Š7¦SN.Ò&Ö7ô¶"OÍÛáãóBø'ŽÝBVdô°*ýö˜K•° ØÊlv=w·?\cšæš˜OՀؖN*{lûûöà$¤ãofœÅytÃÌ•yz3\ŽÄs¨ßlVhôïÿã’à—©žI¦4=×ÀϵGÿMDZ*\ç0öQF¼˜WÔx�4,È´¤ŽAwwÖý±é´G |-t.¾Îoùm7]¯…¢W8W¡ä/ÏÚ›ý¾Ø¿gZ‡©¢£Ê} ðäŒæž®†]%€éuä¯aÖÀœjtµµîŽÄ;òõú/DÞ¿c].É|…ãObžÒýŸ<#Œx‰xqéSUHê®@¿•¹|1¶íSšK^#ÕmÀèæÌ/ VIHñ³„[žßçǹÀM �ÄÞ",ž¿½ºtÃ\ð Z€<¶0˜ÐA>EÛ�úõ¿_£ŽñGdmwÂLŒûê{Xù¿^œŽ%×J+ŽRŒŽ .E†üïÓÖÑ¥-eùŠu*'$õ�{“¸°úü°EùÊ’t¡]UeS$†Û‹1ÛÓÓG ¼ ï’÷ߪJº¼³‹ ÔµÇÏ⸠|"ýU¢‚¾¶h\ȱµÏ×ÇÚ·fÊõÝ1¸”Üu/©ËÉ&‘qv;rõÛòKezéÃð{,µ\âBšä$.Ä7-�°ßæ9GàÊ(8³*Ò®‚fTo/”�mn_¦,�[ÀÁXh[!7H9>û#Ç55}M3-€ÒÆöíîÄŽ¡ üEPð¼(àâZš¤û¾aQ,…�Ô$  îMð÷õHÚÜœ¤CðÌŽxkkde�ÏI‹W4õUמmØú�3®ê8ã}'¡ü-œn�gÖ‘ÒWÈÚnYë}µ} c0O˜¯]Š&á¨dy§(nä!Àïӟק\0w*ÆÊ–£Ë§ª•×@Ž=È ˆê늙«*´­}Ó’8Æž«-ÉUQx®¸ôÞÖøbß@-|§q^âíqd;Ϫ©äIR^F+arE¬nÆ=<‘ƒÆWˤæÊÛ¹4·>rж!€[½�Ãq¹XòËG•ò�•Ø �ZÆû =Æ)øÛ¹Qy5¸:Õ¢Œ³0ר&ÄÚý7ïŠ��9Ʋª½®ˆÑSP<ò³Ó0°"Ñ=Çéˆq¡ÏÉVq!¿‰Y²h¤fŒ9Q ±6$Xúü¦xª*œ…Ïh¥´è(à•cH'Tüûùç’s´võYö Û’µSx¥U€�JÏæ^zm}ýÜð ‘Îu¸ŠöH’ å[¨d‚ª�á›Pò�? ;`Ù0~9HkZIk…èÚ6RÉÌ›5G~½±gW­Ä}?ô‚707•=KoS#Ȇœ¨$ƒÉ‡/ãœágä‹ÂóA¿Ëì³_ÓTÇá��ñ-‡ó†5‘‘€¡áÇðŸËü¡Ò; ª0PÆÖe \_ÝÓç†0Ï¢ˆu°(ªÚEhTP•QìÊÇfP9ûñ[cœAºè„´(]ŽÊw†¸Š¢g“/‘bª…ì%†O?ù Ücžñ3v8e-Ìtd¸÷ZcÚ¯ÿéú¹³J¦ŽU’�Öÿ§ùÇ›£û<½©W�•æ W噣N¯¦?sõïߦPòe0†Ñ=ÕÊ—1•ÕK„6²·a¾ÆýE¿x«$.§µØ"ÕË‚ø·0Ẩ)ãñc}{b²óÞÝy‘n úbts6>öÏ ©n+ጫÚvUQšd´”�f�+ ”¾§š@E¬O¡øØŒlK¦l­¼üû*Œ£åhú®9ÍèæÉkg‚jsBVÀÙ—±˜è;ã VHvÆcä¥�Ím<&’Oz–kùu®äÔòßùÅh‰p>k%L±·¤lz³<27‚Ö:4í0v$E¹JSÍND20œµˆõ÷ß‘8Y`º#?5‡íŸ’y‰Öú#f.XrÜ|;í‚ $YÁö\Ñ\ò›Gš6&Yµ!MI° ìzöý/‹m߀l|Ô01Öl" Šê­ÿŠK‚Ö¿ÏãaóÁ‰ëõ(Úý‚€Âq$Ór²°[ò¾ÆÇ•»þ¸k»œ§5û¨Ö?/¿(pÌÒHBÞeåmímþ�ÁxoÊ78m-ŸtCO=bÕ$,Á¶7e?±¶(YpÏïÑsµß 1,Éhƒ³ æ­¨óí‹‘�€»‹Hß^R’á ð¤@$°Óf±mùß¿LWÜ.7c¹8(g¬HšæÉ ò‚Ä�FÆöéõÓ�¨ <ß¿¢–?qÇ)ĪŠf—Ã@NÂ÷úæ1SkZàFm:0Ë[·.ˆÉ!A` sm�ÿë­†ìúwÂùüR†Øwub£�f�¢ÐßyUþ߯«`&…»¬qÝ,D ܳek]D‚"t ½�cùo�'Õ4í$–‹)û�ÃÍ£¦¢4™‘¥…&�”h`âçùsø[:)kÈyU¨Ý0¢¨ ŠQ3"’‡N«\€w·é‹ÔC¶œ©ÛwúvXª¢}E¡�ÕãԆ؃¸ù8‚@ÿ*UÞß0§(µMBJ¥ce7ôùOˆSÎåHÓJô´QÕx€ÊSæö¶þ˜k°àügƒÜ@ ò¡ó9PÏI2K©žÁ®6ÝîÅm”ó¸)«mn¥˜]á‘•”Ȥ݉<ïÛe8íïù~inÀòþÍ9V±LòAxô“¬¡üIën Úþ˜¦!ÛK†v�qþ~ÈY„”lË­ÈÞÛ‡­°æ·c|¡"v¹¸ÇèŒ�šVð‘[\ª ¸¯¿a{\Mœ®4lïù)Ji¾í%¬PĸvùâÎÂàï½#�ÿÿLŸ¥áGMDÉâBˆH §mCòÅYâk‡…µŽFÓŸÉS……MDsj¶–í¤\ �ïo¯–2�ÑöÜhð’ØÜ_TØ&A”RQ´�VNµv ƒ½÷í¹Æ¤]0ÉÓ¼M®«Â~¿‡f¥¬‡1§EémK)µ÷í¿¿o]¡‘�'n剥ÀØ FûGÊþë™Jɱ•u�§ðŽV÷ã/¦¼µÇÄÏÕ\/£áiø)åX䉀€µÈ¶À‘¿.øÜ2ƒ’/æ»ñ ÿ¥k¢ŸÀhähÌŠSÐXû½×øa/Ýªæ Ø¬§¦¥ˆC4�“¤·�®éÓle{KG6¥öª“áåðs@Oé2’zsíùãM ˜ö�¤GžÖÁšŠ6¨JˆD‘ÆÖmDîH�®ø£'‘Û([ ¾SqåªLKb/©2?¯~+h·Ägk‚ )¼O¼*©ñJ-¬E�†Ç7nSba²Iÿ ºD:åDpÏ20Oâ=,>X\˜o¿²˜·8íCGI,¬D¬À²› ¹íÛóÃÞí¤W ~IÈŽªxÖRþ"1,O;ä`fhTäkxÑñTHÕ*䯂T¾ì-ß¿\†âëýý‘Bí§ma(ÓC<� LK$kpìwÕ{ã´Ìx±ÂvžAânš¬f<7NÉ$f8u ƒŽ�më±ùcOO®@• Ýqšµ­ó¾GYš™ ¡]{Žc—,nÇÔ<¹çæ¶t½Oi äªÝ ÈfŸ,žáN¶ÒT°ÜÿÆ4âë½ò¶ãÖ‚AZg:Èêršº˜$Sª7#–Ät7ǸÐu@öî+ÐÃ6ð™Éx«;áéüZJúªGpA:M½:ü±»§êD %\ðY]¡ì‹íãíOÙóÒDùþ` KiBÀ õòåËš?ˆ¤oááQ“¤G~ÿ¾Ëí7Ù—ýg«²ü¾‡;Íg±Ùœ¹e;s³nj2>�”ncõ1ÒÒÕÔÎ 6µŽêv:‡>øËêBGTO6=+üªr5û\OïÝPøƒ†hk³Œº“8ËhêQCÍ´a–m­¤¯PA¿¿=ëI¢Ô†í¬Š¼§j71Â3Áú®föÅöû?ûlËèê8�‚xni)êL‘§Ý�ÅJÙ…·'lzRêp°M¦˜ÿâìþªFŠ/ ’ißeñËÛ‡ÿO¯ÙÚf5tùU_³ø£XÌ­’È z™d ÚȱÄ—CºþªYÖÇŽk�· æ—®jômwˆß|¯Š¿j?þ™¿n<•Õñ/°hW´Zp Ë3$û´Ï‚º‚5‹ï¶“é…»ø�>”�¬‹põn?ánÁÖ¼CºA¶×Íi¿è�öýö\#9ï²Ü³4ñka£�2ìÅfñL„*²l<·"ýT\ÛƒIüRÐJÍÔæý¾Ý[y{ðɱê)-ÝJ[QÙ/ú`ý¹¸�#¦Ï²o³o´Ï)w ’¤IæØ6’Ú´ßû€"Ûã©:>ŽRÉäϰ'ó^†m¶•Ó£ý?ÔY©2ZÚoe¼=.šd•œyv§+zŸž=[ub·+æ·#éÛ…½'f5gª§hƒ(`<�é×ú޾Æa…i³¥ ¶xVª^}j‹ Ð9íÏà1™©ë¾^Q»E`µl,«€]TL X�-n›v?y�gÄ68Yrô×»Ú¬{Uö}TÜ)5l,ej{T�k\.Çòé�ï„~& œFáV¼'Ǽ@\ÞÙ\á–S>ë(m$ìWË…¹zãìÝ|g.¨­—’Ó{ÛI6õ>¸ÌÔ?ÍÍFi7c•³h¡ÓBÉdÓpÛX�\W|íä•�ú ¥{Éx/Œ3Šd“)ÈsêÔ È­² =l@Ü{±‡¨ø“Aþ¤­P¬GÒõ2Ž2ï�+i{>ö9żmQOOAGS9{5C¡ ù{î1åþ!þ&ôþ›’W‚îÀoì¾›ð?ðWªõ¹·:3c—8ö¾W_p×Ùï†rÃlÐOšÕ­•üO*ßÜ?2|KÿP=BGéÀ`üÿ5û?áÏúXøELàÌóÜš`¶å³Ê O‘ÐQÜÜ6�I<þbÿž>}?ñ;­êNï…õ•üøoOˆ´Œûú…žpç EK*TPCPà�¡JüqµÐ¾;ë‘¿x•Ççt­õïàÂÚ¸‹u:V�êÉsÞsOC`é•ÌÆœ‘ä“žÝ ü­ë�Ø¿uÝN³DÙ5-§~5üŸþ.|'Ò:WZ“KÒ¥/ˆ}H>‰ÊAM˜2 š;“¨«ùµ†=“« å®®ÚÕ4µÓ̉5Ø« 7uý1^c4„‰Ûy<…+ mTÊ…Ž²H�‹A¶ÀúbÝœr†2IPt�«ÔÉMfŽpþqÜõ±ë½°.œ‡Ñ6S¤$ùEZ¼7Ýê (h ¤_wíùmˆ�ôn�#…Ÿù~ª¿P¯E_OšÒ *C"Ä/]½9à˜_|XôS3…7�^Ëfå0Pñ}^Q›ˆ[/žåd.Âæú@'m'¶(ë4ž5´Ø¿NÉlÓ’2jãþ<àÚÞ â£Šª%cg;9síkã3MŠ_GJ“$,$;„&UTCŠ5š25­Ï 9ï�1(Ý‘_$cmØ8VfxвF²‹�mߨÎ,­à›ù©!߈ú)ª[4l’K Ñ� ›l;›ýuÂåÚ|Üš˜›Š~T�êBF¥o}Ž×çô6Å‚Ð>©&œo”ÍSÇ<¼ UßÊÿ˜=Gsƒiemh³óBù5ÁJ¤!™•Œ¢ãa{ú_Ó‘ýU¦4–Û“±1Œ‡²Ëbm.ýº,5Ì`ÚþÂ+÷ê¤S[m®6¨@ fû8÷õÛ¦üŒ·*vðqïiä4æ!'‡zi?ÚAÏãþ0è˜ È{©˜†àU¦™‰$’chØøL-ç½ØsZ½¼{£°Þö”“ø€I‹LÂB¢ì r6ïÏ"�Èþ‰±¼X£Cæ™�¼bJ¸Ñe#wNDïÌ|ýq]�£“Cäµ6´ñ‚šZ´>,¯ © l®¶±±å‹Ö݆Æ=»&Eðö¢HüqÁG H.¤íøFâûM¹ïƒ‰�¢É±è°ß ’#¾PpÆl…QÔÝn9[ßÏcÞáfÂT@´^Ôߊk˜¦¤Ä(ó)éŸ>¿ yi-¼+•d\r8"W!fÑ`·¾¡ÖÝÎ%®wð w†^IüKÍŽ<8HXi�Ûrl:{¯¿|[‘–Ë*[)u4"dc¢%,d‚Äí±]¹�žã [Áù#ð¿hãóú$,¡…PVbÞx´t¿=Ϩñ;šA=ÒKÀüÑ‘‡rÌëËøŽ×ÕµÉ÷ïùaLœ·ð÷ýòšÀà<Ô²Á剥§2+‹kR~;|móÄǸg?4rnÛ¹¸úMT=*—{h’ÀßcÒØkÃK·9DN.o™ß’ˆ]*`d@­bAò�ꮸ 3\@pî‡È ôPmÒ!%t Ö„ )í nâ({+ÇñæÕ�%âŒË"š³2&­G“ öaïé†iuƒ Ý|•mF˜ß¡ dq�äžÑ²èø� ŽHóS-j¬·pöþånw6±ž(¶Ñ+¤y"Ú3óåqûÒO—ÏQ E$¬¡Ãu!Aæ=vÜoØã*Vú¡ŠQœ"£ibdbÊ Ü­öÿùo‡2W‘Å·ýÜ)#4KÄ�iÉêWÒÝ~c\çyŽ=�À nGÍ%R"),ÓDáQw·ë¶æl˲†7î%�ÁEO4dDÎÂ6À\¼°ÆÎßí9>éÎih­¸Dж¤²±PqºÎÇçùõÇ ÏuŽÊ_K@=ûÚÃÌñ£ `�°¹ÚÖ¹=}0ýí­Ã9÷Aà‘ƒÂÆ©‰•¢b®F—nZ®:Û¸'$. º•�ÔÐÑÊSÔM#3†�HÖÜ)·¯ÐôÁÊ‚áCÛ…]ƒ}ÖOæ‡}•\?¸wécé„Ov\0F�^� "ð„DÜÍN 6‡¶ïòE¹û¹ýRÑÈH�m,-¾û“óÒø˜Û¹Ä;�em¥Íÿ$1ŽCfm@Ý[ñõþ1i��m;(C]ƒß÷Âß4²Ÿ Ü ñÈuãÏx»E6—…sAåZ2è߯iHÝ\ï½ý?Œ;edð¤9Å›p?U=áÇN°0y .··BÆ&¹¬kI5„†Ë›EjŽ6Ë $ã1EѽîEºyMF�¬ ƒÊšÚõTHãÑ7‰â9nFÿ=틱?8üH0h NÌÑ”‚iÅŠ�—×ö¨.ËÒc´Ì'±_(&»FÈ?Ü�zaÔÓÕsèU9K¬¢¢ Y4#K¤‹â®üûb›X‘Ùˆ2>‰Q4Ñj°Aªîüùt'݃1“æ]BO˜ù§QVá"‘™à'!î¿×…¥ê…ÀWæ½>—¨2mTê2ÙSÍc¸³|�¿ Ôƒ–•©¡¯Ï%CA÷ºiXG,ˆèHºÞàãB@9µn6Ñ+lðg·¯h|ÐÏ–çu±²lÅ`@ô"Ǧ5`êîi“HŒLp6ï?dßê£í§�j(i«¸ƒ0ž� ƒ­É*=7™ñÜ?ô³dé1Þ8_n¾Ì뇗Ç%&[Ç“K ÙYüMVïë~XÞÓõ4¬!Þë6n�3\Á…ö×ÙOú–û"ã¨c›(âhÙf•d’9dÕrEˆµöåÓ&�¥Ø¢ß­{nå}àŸoü9ŸÓE÷ ÆŠ 5�–@C r¦)k:SALÑu—$-Ñ“q}l¥©*b`À\ƒ°8ÆÕtÒÜÖΛ©¶\wWÚ<Ü(š¯w$(ü<¹ã7Á' ó¨âÕ¢�2ŽËxl§uvüMïü°ÃbÐÚ“e¦We«ðK²\£ñ_Ÿ¿Î�§žtñ�þÊCèFÒ¾47'™¾Ç—í…K8YîÓƒ‚Tgû9¨¨-C +æè5\î>xÉ—@Kˆ¬ªèæGùE¨™²Ùá•i£1Nš�Šïá·»§lf»¦½§i¬íWO{Æ›U|þ–x8!êâ_‘ב`@eôÆ7XÓ< q¢8ÂËê: Ád’{Wª~::z¦œINÓ;ivXʼn:lHøã7þÉ ¤ïî;.‰ûðáekùrUÊê*e§’§2z¦PÜì«ÉHùãᯆaÒ‰'Ô\ãùz$8G±Ãfm/0†¦¶Ž–­¢¥tŒ+Êmäwïµñ—ñ>™ú§°p;ýÕiZHuªïÓqVgG™ÖQQÔC—¡(¯Òõ  §¸_׬t52‡FÝ¡£Í\+ðkd-ó _Åì¿)¯‹4jìš)£�²ÑDÿ†œ�u•è&Þá�:©Üñš!Ÿ\@ÃrU¿‡¸'-ÊòÜ»+¢Éi §§‰bDH…Ž‘o�ÛÝ7 <íÏ|ZÆŸS;ÜrÜY¹ÍN[QÄ™uc©Þ ñ‹›¯QkõÀkz Œ%ÐFHÕù«æWæŸu—p-=DAª)ÒRÆÌ …¾úIê1UŸÏ«óÞEžÎ¨æIµ¬¦¢ßÙå•/NU%ZªÙ5�1"äõÅÁð Ýl~ã^�tšùƒí�¯Í0œ�àE£ñ øGû;�Šøg´ƒ^„.‹¨In±ç*B¿ÙÖƒKX"ŠM¼0,=ý¹bÄßÂí\ H+NX%|aϲPiìæ¢›ï’= æúÈ!ÕÁ{rÂ!þêb|ÑØü²‹ù-S›m$›ƒ€2ã 8c™¤R¶u{ßcÛž ßÂÇ5 5µ|z«ú©,-)y�±¬Œ9« õ2.™A@¤þüX‡øFY{]ç=€^�ÚmKXÛs½ÖŠö�öxáÎ,Ê³Š ë‡òüÁ’ñ^þRÜ¿ºõÛ>ê_ ê!qafêöV4:�[Nð H_"½¯¤×²×3Ÿ;Ëxrƒ"™éÍ=é(Òþ"î¦EµˆµìyïnÀZé}_S¤‡;i§¶W¸éŸê¢®q_0½¹ÿ¦_pÎWCœä<.3,òY…U-1ª±;8m×IÛ·¿µÝn´8�eô¯‡þ?{¼“œ}×Íî=û<{Göp¸Ÿ…3\šŒÌÑ$’Â4ú©a¶¡ÛŸl_�©AuUóå}/EÖâÕcO Óº«ÅíS+»Ã=ã]B4 6Ö½�"mˆ›TÒ?¤Ø´ÒšñŠŸÍ=›RqVRø“@ÓBÑ6­Â¶¸ºH$`›ÕzdzˆJáöí+Šøç0öyÂ<#�ñOÃ!G¦¡€È꣔„ò E�ùc�ôm Ôj¤ ç?AÝ~Kê.hõNÓÕ¸õ'ìûþ�?ji•É'äñû(ÈTy+”K<‡–Ñ©çn„ãå½søÕ¤$³¦0ÈïSåoûHXóª}AÊúãì+ý¸+ÙüÏ™qD^Ð38m"MY˜�X’V>ÂÝolx—|cÕº«¼9NƞͺûòQHí.”x‘6Ü=Òê.,áÿg~Áøn»4¤¢ §®¦TŽ–!Nªž'ü=û} Æž£áÍ“Jçj@=×Ù¿…]#©õ�lo -�ä¾c=U6W]EGG T®Í+ÄŸÜÌZêGK“�Ê]{RÁ;Þ=qžô¡|v4IøZ+äœ-•G˜fœhõUu$šŽŽ˜‹ÕHÝYú(ë×|z‚>ƒW)Ÿ¨¼¶:°;“ì�ÕŒû„:1@rOeLÎ M)Ê$e~Vé�i­èÚ]3¶°y}³ù§ÀçDÛïò\ùí‰è²ÚYi)„xpTý·¶çß |/.¿VÚm0r¾ünþ.ÇÑ:kÜ]sjD®wám, 4õ &„’+€4„7¸aê?c { �"ÿZV¢”Ä™t´áêè¼W¥rUAuÿãõúá°—4yGÝh?W-mk�z%6©ˆ(¥g^L­c}¹zŒÁæ*Ž×îòå`,’*MªPu5Ô |îG®,·vÝÙú%–n–T+4’ª‡cÍVö7céê009¼mPös”È&c#!&èÅìºß¿?–\Æ=€�ÄeHZ˜h©®MÕÃr<Çó‡øgh6kÕC¤c[š M2_Kþ0Æåü»þ8[ØãˆùN`X8÷NSšI$ZyX8¾¤kn;Úÿ¦â68ù»¦г€Ÿ–©ä) xQH ’P6ä}G»– ¡¬5ù¤»Ì<¿tø’±ƒ ‹$ˆ ‚¦ÅöÞÃá€ÀÆÒI´ï²¥\JÑ�ט§Öëný¹ Ò1çÏÏ ÿJË^xrZÆºçž ®ê@7.ÇòÀîfámÈ„Þ~ˆiãžý¼QÒ�o³î[_¯\Y›kH?t†’ßš X¤�Ï*ýÙ—N­7ß§Õð�ŽÎß²¼œp§8+‰*øw0¥¼çï"¨ºÊ7nºwÀté˜cÙ*oü�ú­‘ż’ûFÊkx“(ƒîù®�UTÑÆB¥�7@,9v¿\hj˜Ù0Úª� n?nÿEÈY¦]S’ÉáVÇ+\jFÜ^Ú€¿Ãn\±„!k\IüÒÞç8ÛGÑ ‚E‰šUC-Ôu+üm¶H[�Ê{tÁ¹"‰ì„sG}Þ™ÄйPÃsmûòßòņn9wê’ö·‚F4ñ«4(šáØi �ë®,uB�ˆÁ Z&ˆ£Fˆ ùU¹Xóßóü°èðÑG?¾Q:÷PÑÕD"ŽúËëï'§\t„H,ž=´Þ8X‡M˜‹sÔ{úà£vlaD‘b¬Zê 4†Ûj$€yóë†jœ]žÁZƒm æ–)ªb¨&÷Àú[ |IJ�…Y�>%Ñ&7P%´½}‡kvä1]ºwŒ^U‰CZlöû#Å3šIY^6�˜� r>þø|VÓŒ¡‘À»›L´ $`ÝI¾Û�źÏŸ\!Ï7l6BpmŠ8>‹|AÔì«rÍÍÁ±8ÉÒ±Í% ð¼$�¤áŸe±2ˆi&ˆ"É-9þÛ‹ƒõË¢yqÊt¬1Ò@ÑØj2‹‘pv¦�®j¾Š $¿ŸºªñF^õ9sGaÜ ¢í·qnxò}gJ@òd~j£Èn9+HÒÓªM,Y5yTír/ß Ú\Û¡÷OŽ,YQ³B7³{ù X{ŽÍ¹h¿ª«;ƒ_T9c4ÉC"lÜïÏs¶3Ì$¾Ù‚Ž˜n d¤Â8Ìzáp7{\‘·ó†2B]æ>In­Û¹HŽ6žSKJ µ ÷ÈÇ9à:‡?’6Ì×’¤8…àYU•ž¡X ?ðÝK< É’ˆØuþèÙ šU I!üV¸ò›^Þí°§Xiî‰#gÕ6…ef>P푯ïľ@ñG?4 �õc�dù‹ï´®òH‰X|á[©Ç¿öFòHJ´@±Ô3hO¾¹ð¤TÙÕT/îè0¸ƒ¬’§v,áIÕÓÂL:‘£VknD�ß Òéš -(eÓçs*‚.œx+OUx{�­à¦À,`""€#@YµÄäÜ0åÓ÷¶#sšwùvBÞ/ ßv}OG Øóéó刖Z '²T›+„P肵Öe:ΡpG»ÒÃl@laÛˆ»\Ám„;Ç"ÅDŠåˆ*T‹[�­ð7øbÄnÁð­>&¼ p±$% Y0|@wºÉ¿mï…Èß-µ1ñîÞPrDÚ”FŠÑ‹^æä§o]ñ‚Ú ÀöAü»š)æ“õ&1$R"¤a–Äsózûð!ûLJF½Ò#xÂr’�§‰ãVØÄÄÜ“ÌXüÆí ]{¦‡ %,²TCo3Ñ©<ˆ<�éÊß÷†‰<»š_ŠÀICl�É$�!±ÖwßÞ,7ý0÷�<¶¸˜ÝÞϺbZEyÉ•´êm$Úö÷[žÇôÀ>2[LS CœAéLÕå©�p½~Vê&–d§aÏaûãG:'‡ƒ•oJMX×-ÖdÑT}æP .X_¡õ>ÿ×ÛG¯p`!Ëb-i :øU,Ç…`t¨hbhÝ—P:@õ]ñ¯S7náj麫�åkœÛ…¤C�^Îë#a�Í7Soé:€?‰Ê‘™püð¾²�£qcn½ÿ\lÇ­-(5‚ȼûªÜÔ xÚ&,¦äm@âü.`­h_y8LCWUCT“Ã,±K]NÀþؽ¥ãËi’–âÖÚà¯oÑø¹'ʸ–¾¤Y™¦'Ít¾Ýý›?Ö*“64­˜flÒ0´�$ …ù~.Eñ>œÿN\|Óý�–BN•×ú¯³þÈ?ÔOÙ§-«M½:?NV¬â_gI¤ËhÚfL¬¾J„"êG@AòÇ…ê iœñØ«cAMÚÜ˼{ötàÌÒÒ,ã…2Œó,ÌÐËSMUN «iÔE;+ú�–<“ôÌSù™Ûµ#ÓC<'s]æ\]›§o±þ&ËècŸ„2xëi_úÐLjV%®.èA*zŽý­„G§ÛqÄH£•©§ø«][!Ýï•Yàoô¾ö”CEœÕe¹žgYò}î–ª¥ŠFX�1°ÛÄ*Cu Ö<â’Ð~ªÖ¯ãÝqo⯢ì/g?eŸbÞÊÞjÎàŒ’‡0“BI5-2‰™áKs°$õ¶#EÐA‹ªu‘Å›+Ìêu“NýÙ$­Ó&_=#ÁáPCA¼öPÛ_`Ë‹GŽ'^Ãj³úkåu“EBñ”9ñÊ*ž²E‡AÚ8ÄaÉ«ž›ooLlë5žW¥kZ~å/AÑ#l£ÅËm|Lû^û?âÚ~%Ëæ©Í³ î Èš!!Ú¨1 Úy]��µ¿üñðß�þ)ê.nÇ¿È{ý þë4,ŒÆÅõ”õ<']-cEE]µ+�t^ŸóÇÊíí”I3MúÂý{¥ÓAªŽØl(Ys E†JÉêÅc«ŸAÏQèôaÞïÅÙy~¥Óö¿ÃnZ#Ú?µì»"…©)ª«œiE<ö¹ {Ÿ‡þŸªJÎ%~þ/ti çvéOáhä®K­âÊú¿¿TM­‹Y®O¯¦Ç§ºÃðèôâ8±î¿“Ÿüi¬ëšÃªÔ¸’N=‡ SKYBŠñÂê°i*ŸÀ×?Î7˜×�åxS¼Ú´}6b· ÌÁ|Âý¶Çá‚’M¦˜B]`åOXÂicŽG’>`:þ!~Ÿ®Ø(eieçwè”#²Ëד eñÍâfQ�ÔÍ�d“ò\Í54ì«<�­,UC4råÓNâºè¢ÒÑ��Tõ2¸i*éÝu’o©¬ÈO[vÃç>n=‘‚1x)Shs)–ái °éñÅg»s¼ªÛâÔDô?yŒ¢%UÕÊà‹âÛ_Mo>é`IáÃYçû]{$îÆ*ªË¹ˆß¯~—°Ziœµã”¹Ú]NôOûVàl¿Š²“ŸÑ+}âúgUëN@�[ßáŒ~¥ÑÌr˜~ʬçÆg—�¹R|žirÚ§XÀPðL7wñ„7Rã k�Ù%²yv•hË*šZrÚäy”ÿLŽKñç×åîŧ½€Þ †´»ðàýÒ�§˜TDUÙ¤t&ÃUööíÛq h'Ê®B FÑ•,³5M‚¶¶Ø:‘`{𿵰°ö´ 6G²séÔšYbc $.e6¶ç¡óðÆ“g¤G²t°Õ ʨ VšìWôèG¦ LýXâì_4ä ª¥e3³ éŒìú‹òæ-‡?ø?¾ë�§`á4^ Vy i©®X¥î±Ü~cFàní=²îàÒθç½D)"ÌÂûH:ÅÇ�[m7ôU"�¬wóAøáq®$o1N ¿»çPóÉsÅ¢Š5oiæ’ Èæ­ckßèãŸ#ËCGeÆZI¼" {"�» -�}wºË ñ[²éÓíà$ýé$Ñ$€êÑi`Hîý°<å#óQ#¯(Vj`Xe&I$’JµíÓ÷TMuYÃŠæ¸ 4ØE#<«i11”ìw×§øÃ[1q$›M|-ªî¤.çÿmSR)åO4oýºmÈwØ`>d·G墙J©dBH0J»€yZÛiï„K^SîÍYf0Ô¢§™·;~ø[æ-èˆe7²r¨³¡¨¢ŽVˆto`NÜ¿+{½.Äë û¡~Ööü®�²GNhÅ=¼ZWòלDs÷Œ-Í{Nç+%·kyQh‡ð:&±åB�k÷¿O–'vƇŽ>é{Éòr­¼)ŹÇgpæÇÂRE#gŽâêG.§~,5ž‡ºqsì›[+Ž}žSqõ£2£4¦¢–S¤£‹€»n.–OÏòÂчŒ¦7s¼Â‡æ�£«"FT@ŒÃU—¯¼à£pkn”¶€Ç)ô¤Ž¥•`e”mÏ_�­Û ‚çÖá,m¯1—ª…bšD�ßÃØ¾öº|°lmáL²— ’&E xw6:tío�Ïž.x€` !`yõJ…„iá:6Êtù�À¹ßÐì~XIká)¢}Øv$…-¬q#`åG+sí‹ 24Ûº1´ŠrneFvŽÄ5®4ž[ÚäüF,™l"k¶š3*XŽVY÷¿® €nÜM|Í”Œ0äa“³kû²HS³(Üv?W¾K·^>éŒ5Œ‰3»ë2Z÷»[߸<,¶É7�d³ï…ÑñIuJrÀ›ÛsuëlVG]Ù^ ùApôÿÚŸËjL€£4 ï¾ûmùa¬cC�=ýgF º²­ ˜ÛÆ2ñ*×Á¹®km©ÑŸÄSÕ€ "ص�ºmldêôÅùàE¡ÇÝiÎ+ÊÞ›2F§�ü6eî=øòA�ÜXëùÚD¯ÛÀÿ*¢Š@žFfŸ­Ž×·_ûÆ‹EÿµI  <„dE–ðâ*àw¿l%¬kµiŽíª¿š0º,rBšÙoksôÅ}yahpì�à´ã#ïÿ¤4­1‚xšS:Û|ð:hò3v=±æé¢¾jWCGW¬Ýâa{ËßõÓ-«háp;œ=QŠ”“ ˜ÐˆÈ'�½ýø¤ ·ií…RÔª ‘£`Ã}ÈçéqƒƒTÍ£uý—Yq-Ü—UFE¤H/Ën@íµº 6bYÅÒ[qÈî™XX¼±îØ+£§ïÏÆÛm¡.wíË9?š±ie¤»ÁD ZÌ:L¢‡ˆÑt¦(Ý[ÞÚù'©éþõ Á*Æ5¨Qºø’ÍâÚ3ëè• WÊ2)EB4s,Ê †&Ú-·>¿¾ ƒk²Q±�.˰¬4pÅ5:Æ´íâ†Ô¡VÛú|pŽŸf˜h…~W�¾q�’~¢¾¥VŠ †?uFüͅʼn ÞÝq‡Õ s\p�›H¹Û�²AIšÕÆ«)†f¦ÛŸ@c‘u0oó�¨õíæœ-}&¸±ØZ÷1áWŠFžxE­¥öéÓøÆ¶Ÿ©åçä·£Ö�à\rµý_̲:,Zú©·?ûÆäP8UÒÙ‡YV\Un§'—A1+¨ScqrÀŸÔcN=[@Á¶LJU+G{2ãž%˜Œ�†ó¸Â•24eVÇ•�,du‹tK2ÈW·èßu>¢òÐz¡÷[«&ö퇇Þ<ÂŽ¬dõ;£�Ãâ;œy)ÿ‹}+vË$eõN‘üëΩ#!Žùÿ¥¿¸KÚ�¶~–ŽÐSV"¶––)š)»lzœhi¾7éàx�½Í?’÷ÍþõöÍSXöž}~ëè?²¿··µ_g•°Òñ^n°Ç`c¨c`/Ó· ÿM=Û¾íy/‰¿‚l”\CÍì¾²ûÿW|ÚŽ:xµ´N§;‚¼¯qÓ|}kAñ¾“R@p àgøM¬Ò’kè¾°{)ÿS¯d\] ÞÞÍ8tx•œa—<ƒÌלÌFÛv;‹ô6ÛõvÊ=Ö„:Ië®NÏ¿Õ{Ù5å¯Î)©t;*”_OC±Ü�ïÛ׺hé,º‚Üw@Ô�ZI+œ¸ëýn8W, Ì ᪩êªw00Cp-aéküwƬ½kI§—ZÐÐz„¤XÚÕó³ˆÕ«Ú×ñxÍèë#†å2¼;s›ºòÇ–ê?Ä_ ÍðÚv¯ tÏáFœ°ïp.?’ì¯eŸëM˜ð}:Öqž[QhED¢_£ñ_©äÎ'Gü@Ðêœë¬N£ü#›Lø]@e}‚û>ÿªG°Ÿ´Dyvi“qfITª¨TSN«*í¶¥çqÎÄvÆ�Søv9%6‚ð‚mDL»ß^‹é´âÙ2ºŒ£ˆ)`©rÆXØê‹A]ÍÆÀÚÆÝqóω>Ü7@@qì¶:ÄM?ý˜Nf<;U˜P¥éD²$%|„5‹u·ng"ê¿ëYøã&»…éâê±H(p´—p›Ç™GUBòS�t Ø{þ˜ñúÞ‘žîØÎÑôwO WgÖ61äMÔä*à<òGDÁ´³9Ò¬ƒbÄôæ1êôjävØšigÉÔ�Ýhïiükìï�2ªŠŽ)ãnÊòè!mr‘³}:~¶¶=C¿…š–¿tØo|«Ý%ÓNðÓCºø!ö¶ÿR/`? m³—§ã!§i’›† {Ù‰ä-Û×g­ ôòS`m¸qãèÜ:ñ¦t(ÜýDÀ»ÿ›?é|ξԼ_Ÿç¹†o_X“KS!�v7ÓoLR“ø!¤}ï9åkôßúßêZGG¥g‡Ø^kܨz¯´Ÿæ-OTpA$÷ƧLþ iâx.uµc|WÿZWS n’±Ç¹Í|±ú­iÿ¬dÌj¥ª©ªyås»;œ}W§t8tž@Ш_�¾"ø“YÕõ.Ôë$.s½Oéÿ fŸ#rªI?ˆÐWe:¢ž=k;½ìÊ-¿-»â¾@É£î‚FÝl©Ìª©bVŠFÇÔ�¹ŸÓ ‘í°æš#Õ ·9*Z:¢±è1hÕäNÈG¿¸·ç�šV–‡‚™ò¸áKBçJÃ<,Ò•þºr¿b-óüñ´V柲L�¯"4É42@‡¶à\-ù�PzcJbׄ…ާ~áEKK÷ RXYÖ�‰’&$ÿL“ø¦3÷=‡hÀõVšÆ¸îïûì½$‘‚å" (bZ"9“Ìâó£mHNîSÑF+,}âœ5Ù/Ëâ:sÄø¥£aå&8 ¯iÂÂÏN–<1òŽ~ã~üï× ŒìÁVcc+?æþ‰ ²¸1PÊH'› l Ãe—v …ƒxa)µÚ2nï/ÏÐÖ³&ý×]þ&Ò6CŒ7Š«iÒv>Ÿ©¿® ­ºsS$Þ3 NGRÄ<5K<¨«`Á¿ ßpFÿ^˜™|β0¤5¤c Ê$#¸`‡¶ÃÒÿ,Câ×ê’èèY6 \°HîÓ#‚qåÕßãúà �ÂÊaŒ¸›BÃRð%@… 3,;��N˜kb¼+¥ d #ŠD’ªʇ[…¹VÛ¨ôß—|0°«ÆX]w�¡óJiKGQM¦Híwî‡k úßч‹ù+FÏáá&–ºš¬ÓŠÙ<'J½¯n›ú ˜‹š1ëh®ø9WŽ ã<ê%•§¢}h¶c¥ù•çË‘7øo|z�¦��{U$Ü_läsî¶pnIíšLÛ,–8êZñaO)ü-Ûû¶?Bع;Œìb»…;ŽWçÙFE^ðOÀc®°Wý¹ß�±—>‘í>l…`HÇšqϲ�M¤Žú‹l²6àïýݾ8ûo²H;ÜZ9ô¤²×iš& ‰ä;[­»alq6\¥ƒšEGSmÒêQ}MÒÆûÌ›[烋Z÷� Ü"lxÅ'üE7e/$LI½ÿÆÂÿ¿®-E8Ø@ö¼…2Ä\¡îKxЧkÚÌ ýzm‡9í=ÍûÆÑ}“©9"f ¯Îþ�}øœÚ«DÖûÃMI¡Á*HÒÀZÃêø±±­U꥛O9N *Íç`MˆÜóë†î.²RækC¨d"ZG31‘�µtåoàmŠÓ‡Õg欵–ë<ÞJèØ´¡Œ)m}=ñï¾+2‡â^3Pà•Ä…l¦�IÊ˨�é¾ý�¿‘™ãÑ)Ù�q?/Uc£QÚNêǯÓY#H…�UFÀÁôR”í-W’"å‰$¯;mŠrÅd÷jc$$Q /‰òeª¢V�ï1�@kw¯ç�7¯éÙ¶51Ñgß÷ÊÓÕËàJjåM®{úⓚl¥¶?“…5h@®LŠÚ‡O‡¿ÓKAÎ¥Q­ÜâÒˆ 4n*•™ `Øn;[¥Ó€O­Ý�h=ŠÐ4> @âàb}Ož!»Ø<˜ÉsÅ»7iêzd’�ço,‘µÇ;‘îÃü=çÄj®Zæ` ’"c ®×`A±úúåŽ--"ÛϪ(fÛm#Èz¬»Å4õJRí¨ jGéïÅ ã,w”a6W pDÇI5BÄ�ÿKIÜ6á¾¹bÖ× A¤­Ì‘€ ‹ž<%hQ‘±¸^£ü—Ã’†~[Æ×~HŠH%¨¨c¥c oøcÓaiqsKpSžc¹TïÝ^†²¥ L¨Ré7ý½Ø¶Ï#i*K·ÐD�4Ò«•`쿈 p-˱ʷ žÊFŠ¥!bž%£Mî òþqe¯À(¡$EF›‘óY‰˜�ãUŒ”Øo§­Ç¿¶'ÂqÅq-'`SI$RÅ5-0if¶¥³ sè:o„:77'�‡he £Å/‰.÷Wa¿ûÂaa÷ ´‹�áÑù ©BAk© ’@è3‹PI ;FU‘M˜óÓº�uIlÞ¨mÒß<õ- }ÑßÙ‹IÊ H|CžM…ʸ·Ç¾ûnHÿH¯gtôÔ•0´  2©.Å·Së넇‚9ü’Lîp"3Ç¢~HaŽ 7Õfm¯b{|F0·\(dÍ °3óN$ZéÜÅ•X[|äpe¸”æ8¹¶°ã‰ꑙlIçc½ÇË Ç•´?Êdb¹9ú/:´2*¥ã�Ô2ynÁ¯¾ÿ#ŠòÂïT-&‹œMz$€—ŒBÏ ’¡Õ§},þã±Ãu:[fâoò@ݼ÷ôýá ÄYUFmÃ~?…ãUÒÜ1U¾¨Í®?!·¦0ä!’‡»ZæŠhái9Ñ¡©©¥²ˆÏ™T7ápyzïqo\z§kÛ¸d+ñJ^;ÚuÓʼn‘ƒ’.ȼ‚�.T‘ÈÛöï†:k;›�’YyÝG”+Àâ�Y½¹�C…²s–…Àº¨(ÊÌžÉ-ôž2ü÷lE½ÿ–,Eªs{Z¼ÍS€©u|2“Õÿ§áŸ6ۇǭê9òðµtú’çãê·Ù«ÙGñG´:šn+Jz˜ã¦3RÓÈÃMD�ÀeÈUºü1æ>:ø—Y§Ññ>§Ð/ÒÿÀ‹Óz¯RðuÔHÐx%};ƒ‚2ªH) ¢ÊiòÈ´i`)þ¹cò_Rê:³!{‰Êþ�AÒôð40ä¨ùׯâm1]þ[^Ãn_®)7­HÚóçÑjicùF;qO‘âÅQº×¿Nß }+áþ¾â'ý/Eü‹fŒ�‚®¼YÃþ¡û6á¬ß.Ëèéø£,’Šª¢´µñ"(†¡H¸WT{þ �¹ƒ�·u™¨ÓG¬Ñ´Á×Ö—È_ц�Xc�Û�}˜®áj^Í«ª ÌòLË/ûµ…DU� ¸]ñ¦uÉ fÙ�ùg Îõ®‹£×0Û�÷ Ì“Úc¥}<¦LЍ°Ó*± «—âè7ç�§ôOŒ‰¨ã$ùóâŸá©‹t±�ÃÒ²» €½¿{TáU�òŽ+¨–5ü:äÖ¤Ðó}Iñf¥  õ_ ×ü1ÿê²—rû;ÿQOiÜ)7‚±éÕ�i˜©Úö? ÿëÑüi»Êñ…ç§øJ-Çà ‘íK´øCý`rÚzˆFlɰRK £ãïÆŽ—¯iœ<ܪzŸ„µ1›+§rïõ_àLÁiÄùŸƒ‚̾(oúé�aÔ4”.–f§áî =Uó+ÿT¾šYâ—9„ì©kÞƒ ÄË>‘ÂØB[:OPhîJº7ú”ðtùdóŒÕc|²_PúýqVàºiG“¨«UêEÀ•45ïVð”_üM¹”÷ú~ø´?–Û{­,èu­u´¾sþ§¹L­NïU �ŸY7÷úã>~£¦h¦œ«t}C²óûû®fâ¿õ1 «©­¯9£QÒ4F²€Êz0íŠ:Ž«,ÒÕ‡ OChåjüËý`ò¬²®¦¦™cyôùP¹µýߊu͹ÎÇê¬Åðf¡ç"—>q·úÅq-\±ÑG*¦át!oõó'Kâ}m0/IÒ¾š7Ýîù®Gö�þ¨ÝøÛLpfÒåÔÊ¥t§K‹ny“ûãÌkþ:Š:¶�/c þ5æå+‡øóí™íV¢y)ó><ÌÙšä„”ÙcóÅ|Wª™¶Áù-¹¾Ó@@WÍhI}¼æœC#Ï›g™Žb¨g5Eô�vý�±�?QÖHM’¾ƒA£ˆV%Dâmœ,”Òý×7YfU%®ÛŽä_�¯úâŒ}'Zç ×_5¤~(éñ2˜E…ÆÜMícŠ3ŠêצΫéèÜ‘+ÛàmðßßCÒ™#+å]Wâ=Tï$<Ò«e|mÄyM|yµu˜Á™Fv”9Ô;�ú~¸¼ídl{E,¨:„Ñ�ö<îù­³Å¿h®?ã>�†³ hb‹Jø³@žÔÛk5�‡-ÀçŒ]?Âú8eñ¢e9mk~,Öê þ^GyUS‚=©ñ¯fÔÙÇ qk�æP�Ë--A‰Õ‡[ƒr=9cÓî’!åÊò…�Ý}rû?ÿ­‡Ú{ÙTYuçñ¶RšPýäøs2ƒkk^}yŒWžfKø°®Ä`#úÌõ_j½�ÿõ$d‹]GÆdS)@Öd-¶ûoÌo¶ÿXßÚUQÒôÏ?Ó�°{…ô¿�ÿÖ»ØÇRC˜ÖÖÑUå2*Ŭ96:®*À“ë¶<ΣSÒ¼C¥�¥z(þê30K¥—x*ù/úÃýžòÅñÖ*Y‚€–rt[·]ñÎÓô7fëû+qÿ úý9 .,öÅÿÔEìw ‹1ÊøC/ͳ¼Ò&xT$+‡¿Wü÷±GÒôLnøÀ#伿³D"�Ç©�ØÁ¡Ý|iöÓþ¹žß} IU TSðÅžTo¤eèAéð¯3¶;ÈML#o^�L6é!Þ®Ïä¾hqÿÚßÚ¯´É§¨âÎ>â,Ö\—ŠJ–1«oÉØ®ýD®ÁXúþ¯¯Ô’ó·Ð`}‚ч´�#ýçT[nÆ÷6Ü÷8¤Ý3ÜíÏî¼ÉÒƒ`…_—ŒÃȪ²•½·¿á=�¼áÎÑ6î•ᦦ�Ùb ’g‰Ë¹™MØ^÷õ÷nF H[ÈQà€<Ü+žS›M;¢È&–&9ÓÿdõØâ´Ñ�îªXÜelz*ÙÝL‰!.¤1¹ÝÀýN)2VðVS¢аSæ’K0XY¾îè§I6±÷b\üY)2C¹´9[%šIâ�–ÿxˆéÓqæ>§ƒØìª‡Å-�—TÈâF�¤xP«m ÊŸKb¬ò¶©§ìª=¤÷µt¦Š"P,²:òF"ãOÿ ;b�ÿåj® .2/ä¬��'„Šè¬6ç�rŘƒ7Ã�6@Hýû"cÚàC@*J:†i`ŠFñ\ì …‰¿>ýqnFF\/ŸOý#eŒR&?™ƒÁ">¨Þû5¹×%4áÂC˜Zp0ˆž·ÂÓ$qÉmµí¶«t"÷ĶHšnÏꥻ‰¢—+F÷ëþ¢3-ìoßesZw·”¸ƒòÒJfYæ l rG`ÎOâñ]pFG9»�ú+Žmf””5b4Žj]&2JȺÏ!éûá°j�i§Jü‚>¨id Y¬Â�Ž’‡r£¸í±çî8sÞHPÃN>ˆ ªihæD�üH�´N�šÇo\+O8q·sõVõ1É¡ôCŠ ’øÊVá´2ò¾ý‡NX´ZàíÀ$¹¬[¡ê›:P³•išë¥Nñ�ùíë|.¯9ÊD­Ûæ q†f ˆDg}z¼ÞîýÍúŒFÇ›´ö5ÄX¥#TÊî’FÆ ßKÒÛÿžøsHÚGp”×�ÝéýXãñUaæPsR:ƒÓ¿Õð-vÑæ§=…ÔG CSÚ¦Îú›Pdþ߇¯n¸s\‘Ê“ƒM8GÒøaZ”ëfRy[¸8kc‡%à†àá Ó”1¢­Ž–7QÊã¦!óŽßð¡�k†àSQ,b{ÇR‚úFáÀë�Õ±]¡ƒ.6=€âÚn=Â:7ðb»8P4ØXùw° u‡�NÑŸdæÌ½S<ŒÎÐÈc¹Ü’ cÌ[c8¢-ë9Pfš5¤—ÂAd*ÁAÔmÜ[˜µ½qÌ‘ÂüA�DQíÁ¡¼Yf§hœ¸–ÿÓ¾Ûƒµ�!¶× Ö„siÿ¸÷WãZ3+¤žPRA·S°ø Ǧ�cv>©a…­°Êânʽ¦eÒæÔd-Jªø¦1r ^׺üq¡7õEóþ?$1ŒÕÑ\{ÄÅ@ËîÂtq°|¤˜/Ê2‹h„À�~„ò÷|¹beaÝ`U#–´mõFRQÒLŒ²xên›oß·,z_1šm£i8ôôGIK¦h¤‰ÊCøüwÛø¶ò?úÈ®øZ8J–›Á‚XN©#+pòøà€aÈ!ðx+4‰<ñ}Õ‘âE°¿__ñ„JÒöùqK¢Ú.8B‡©£™ÕÓenyïßœwcäšcÈFÂ|9$¾´%? Žÿàžx9žew ò÷î¥2اJeR©Nì=:~¿žKG”áÇ�»ºDâw“R²#s¨nnw±ÅXÉusêºÓ¸œ£jÉjMC£+rå‹R8wײ&5ÇñŽ>èzšF{UFe@êPé˘é„I„ºÜ>êÐ]¸`­ÅÜ3B)jà“2–Fwy]Ç–1ÛÝkŸ†>}Õº`‚`K·ªÊÑÏtîIP&ûÍi%§•tT�íÏcëùã ìÜÒÊJln4†6ùbTøá£xظ$ù˜w·^XÓÒ4²0áŽÅ9ŒÚh¬¥/‡¦ª2*Àص�>Þþ¸Ö�LæšnAù¦¼Œw%¹Ðë ù5n§¸~øuåÙ@tÀ;r™Q˜]õ²È¶“Ê, ½?O~ø†ßKýð˜ü ÀÐK¥T†p‘ ,o¾ž÷íkb´‘c?šFKE!ê„qÔkDV i–÷±é…íÊPJÂZSðE+Þ†5Nßþ'˜¿§-ñÌ/ðì !ŠAáaèêé �ê$¹:°½ˆ½ztr4�=‹Vü:¬œý–5$òµ=ü9HÖ¤îç÷Â¥ì:‡É!ìósEIG¦hÌR°PêoÍH?àᢠàsù¥—Ó¨�·+ÒG´ÒL¤ …»,Fç}»8Ëáh�}Ó\C°>IÔyázy^�9Vä“kž ú¶À8¶JkpSêod¤4¾9‚y‚‡{Çç’Ý·T”ùC�ƒÌ+øñ•Zƒ"#m6íkwªíH9*,mË‚®ÿ»Ì¾‚aó1ÝC[‘¾ ò9ü j–êZÌŒ…5�gQ=iŽ¡ï ·�Á]Á÷{±—$K®;&™ÁwúZ犲öÜÖ¶G0“ãC(Ü;üÆ,è§sFÀr¬¾28áW#…ŒèfñD�çFaå×þE¿,Z�õÉ?E.˜~è­f’ á¹Óm€7ýF8BÏÆ�Äou_¢*â•f§�¦ÖZ0E�oŸ]ñyÆGä„—pÂŽ’ª#E+ðùŽX´%s¬A_Ž]†»&dËë©k2:šªèß\r#XÆoÌnW¿îmn-¿ªö õi4’¶xŸNìAý+…ÛŸg¿¶ ÙÜí_-£ÌèÌb#WW½@î#̬6!×}·Å-_@鳯âØÚàîÜò_½ÿ‡ÿÆFê£fŸ©HZñTï_šëüÊý˜q kÈie«°xªcªDÂàè+nC}ï–>I×>鬅Îfá/¿ ô‡D×Ë3„‘<ÊйµU-¦U>'Q6#Ÿí�ž�$°a¶ úOL//®Bƒá¿oì-8±«óžûÅE2ƒAÑJ ipŸò î6æöýü.ê򬯾ÿ.^»¯üFÔtȘ?œœ0Žsš_.þÒ_lN0ö™�K Ö×G–øŸÖ«k†œÜßH?…oô1÷-Dt‡ÆêGs�oEùãoâÄmÿâto+ü}ÏÊÔO³ŒÊn"£ŽZüÊG­p¥ÒVÝH܃n\ÿƒãÙõì{ìû®‚áê�“g4QTçu�e.êX£ßÁ¿P/bG;uÄ3Æh ä2Ë îþ³rºß‚¸ã)ª¦zŠÿºgBIk…·µÀm‚ù­ÿóøÕÓu–ø[C†îàä/1Õ¾$ï`ò¢s|¾lÇÅ«ƒ'|Ì@�Œô°Ÿè/ÿ :zã#Yñ°ZÚq°}Õ/ûs‹¶½µ~Ê:¿Û~gÒVÔÒBš3i>¾þ¸ÑoÄo¯' ©è­o—º£ñ·|ó1+>aQ–ª€ ª†#¯¦ýqÎøŠPÒm-½ PPê½°qÑÉÎ+øˆë×ÏÄRðOïä´4ÿ ¶A´ªÓ÷Ú/Ëæš—4Î$j¸ü­÷m¹íËc|XŽ=LþvðªK§Òé²SæZ—5ûKЄu¢£’¢cp€$òß~—®-ˆé0â«K×áÈÕW¥öýIZê3(롹$éZûsÅy¾‘¿ýg+SAñŽ™Ÿý¬Ê“Íý¸e¹^U=FQšÍYTédˆ¯à=.:b”_ I#îVŒwZ“üs "%†Üx\©œñnu�ÕÔU×VUHÎMÅÈû¹uù {}6‘‘´5£…ó]oS›PâéI*fpK'…<±\n�˜wõÅ“ HÈTXçZT�Ju’Ûé¶öø|°Ne„§· w:y …Ŭ ¯€ü(®“šX¾³Ïm@õ½÷·Ïò]hˆÔ]lse;súï€sÇ >.j‘k}jª÷ó°ùþ0© e¡sžx%ˆ„•wµ‰¸¸$t>‡žçÈEâb¯!H@Ò�©v"À}È8YÚ¹®îr¯œ-í‹ø:¥ê¸9¬¡sbèøfÝ �ºc;]¢ƒPݲ¶ÇïêµúW^Öheߥymý¾ËwÍö–ãÊü’JX×/Ö³H±�Öß’ò¹;ãË·á oÞÑ^ËÞKüXꎇÃÅúÒæ:Î!Ìë*+jꪞIås$®Zûžgçô1ì ‰­ÞÌu¾w¹ï&Ý’„ÿyª˜ÙßQßk|}0Ó.ÕF@óp”™Õh7ˆàsô>ÿ­±Þä¥+(Ä®¬¨`²"Ô_pç€!¾©^iªS”PÏ+$–/tµÃÖ+¾nÄ¥Hà0ÂʲéXðå,ä ­Ôb»æÂ©.£BÙÙ6\`U—Ã/ ›²“ëûã1óÝ•CQ8ÝGõWÚ,ª¥ÃÎ,ñ±Û_§ílU’pMþ–y•ànÇùW: #´EŠ|ÈVÞêQ×lžrªoÞÚ¾å9†±¢¸*Þxû6ü¿\WšgFÍüºDÀ=Ûä®TZ‘á’¬r›.“xÏPoÓcóÂD»NÿUœö4�ZWü¼idñ˜¢\7·1ÈÛצ"IÅÑTÜÌ×ïî§Ùj¬Lj«*t°±øaúvmmœ…M›OF¿ø¤IW˜Ù[§Ã ¦P7I…ÜØ¯ß*^’bñJ’H]…¼Pš÷ü`u¶d§mhPḜýÑK$‚zí U cß·äb¨{ÉnêýStî¶©0ѯÝнÚ@ä9åå¾çnØv™Ío²™g'ý¦3†‚Eþ¥1ò¸Þêmú�·ê1vX›(Éû%ºf²K8>ê:�ß.–�¼mQ‡.Œçð‚Oïn}°—ØWÕ\ñw‹5ùҾŠ'eÕ¼?Y¦`˜6’t�¿ ;ƒÐáF&H0î}UbÒó¶Qö\gÆyOæÏ÷¨ËêáHä=-Ó¦0ck�ðË‚Dr†Çq꘦Ì)õÓI½L÷ÒI/óÛ0ÌÝ»_[¿%´nñê¦ã•§ôêa}GX<ºìy\ ûñ²’nÒÓ“aHÇÿ…â*Æ¥¿¨­pTŽâרผñéÿµ3†%>Ò´ê²SL-k:0äomÿ|2Y0 ¥±í½¡H9$ŒT¼p9Ôº7Òàô=¿\5±?—‘ôEâ ÚÓžêfVy”CPÂàYqÜwå‹Z‡�¢¹Hh%Õxû¡dñ£fC´£}�1ï¾ýÿë Ìx-¤RÓƒ‚²ÓK£ƒN먯¾Ö凴0G×9�¿É?$²K-¦æ'æÝ¿?˦éØõDû Z�¢’UIÝœôé*zÞß›úáÚO :Èú¦�àg”æ¸éÔÈ|I#;2©¿0zú[ôÅ™÷’xFÙqMEÄÔlZˆ’žQ¬€-§~^„\bÇ”6Ú¢î%²aDUQ­‡ˆ*_šHgòí}†eÇÎHýü­4hc'‡ª%d êHnú�ð× ¹óF!ßæ)pŠ�š¥Á$SŸÃë–�ù<77ÊÞTŒd1‰VG•,ZŽƒ¯óŽ“sˆªS,`�1VÚpÍf þ±sñ6‰L‘á¾R©ŠÄÒI š-µ"�uëôpø@ÇeY®6Há54’ø• òø±2Ø*óÒÿ?Ž PÒ÷nªù+#Ð…6™‘(ÞðÇ}BQ½¯ýÃãÓè“·!%�åµE Ÿ4SéY,u'Èy›zahpèr–æ5·Y%F‰¥ŒÇVŸ„Ž\‡OÏãˆp $¨lx8C�¥J„eÞíÎÅO?ߟL$È_Çç÷VËÆ EZqáGa<•Àó‹~�íøôël­h­Ù´l“Š˜ÄêT3 ]ì»ÜŽbýyrÁ––�GugĤ�ÑFÎUŠ]Z¥R4›ìmp þ'~˜D�nßÙ˜86Úoæ­)Å™§T‰i$Ñ"ÛPså• ±òÛÖø¹£™Ì>!8@cK[Aß¾ëo×Ppÿ´¼�WA÷dΊhî©ÜÜ©·¨¾4ØÑ($•Àlr¹/ŠxS0Ȫª`©¦© ¾`–¸·Cñï�?«ÒPÜÔÈÛ�ÂÕTL¬‹ž")P·Ü7.GùÅFyq$¢.Þmœ¦ï#"øJXÛ;’†ß¦þÛDFÓEÙCÃ5˜0~[êüý0Ǽ·ËÙ,7’M}”„sÄ®v,¤ZÖüýý}qÇpü_‡óS±§Ñe&‘„Q‘å³\Ø ñͯ- z¢�®aÜ´dm /$‹ØòÆ“d4>Éž»õôI2��]_k6ÇqÌó½ýpÏéóè¦27]•Ö´*ôÎÎ¥ [ŸsnÿΦ’¬Ax78»Ï“}‚–’¤Ôi‰ÁV7ü1ó=ÍÀ¿t�®'eÒ°ä”ÒFÂT$2Ø•oŸË£rxS$$âŒÌì#´yiÒ9ßücRG9ÎÜÑ�ûágÛõÿ*Z9‹“Fõ#<ºßëlR’3($b=·œ¨®&ÉFmEv+ê —oÏ×{W¢q#m Fæ†ϧþÖ�Ž�ý;‚²/?(½Ç|QƒOguÕ*û€.gt•‰æVXÊ91ìMð×n#>ÉMÛ¶E'O!J„"0Î Úw; °Ã#IòåH�Àm¥#UNE„¢„$‹Y~¹_×5,„Ž~ëƒ,yp~kÐP¿„ѳ»X’§p_ @Ó6À°•(ÆÑŸDM%0E-k°ü ž]·ü^|f[ÇÙ$9Ày�æŸÌ«!û¢Ro»Ä.’E?ˆ�¬p¹e�ÍðÞ …pêFͼ•à"–Y«©º°�kÚÿWÂX@òœÕs\9xÊ.¨Æ•ONo‹}ú7Q„2&ƒBï²D’;uà,èû½ayƒd¹@96ܹ{þx·8»”Q¸yQ€Æ–¦fñ´µÑXl¾ìs!qÉæ¿t„J«RBž:ªf¨�)ا2W™ß¸·ç�ŽáX‹»€ ¨ù¼ž,µRI èË·1ÏlSÔ·ÍdóÙ&pæ¼*ýJ¾Pʬtî7VôÛ~x 9!Ä5¼(Ž7}“´1«�ÁŒùÎåEÀksïÿG ˜¿ƒIõB›•o¯Ëjsœ‘¢ž2Õ4öuÕÌ‹r¡¨‘ѹ²·ê­D «ºZ^F�d0¾ñ‚J½¼È~<¿Î6¢Ôïh%Xdƒð]ýQk@õŠ7Gõ +q¨?Î&`Ëp�`rÀËåsaIã`$!? “·>»âêÉ@;w NTÒ$R oYˆ]‹_{öéˆwïî­°�lÿ„JФp´$U±Ry7}ýØÏ‘½íjiµr¹˜XªËé*íO–'{r=ϼc9­ à•êºwX–7î&‡¢D9nkÃL“pöwšå$ÙãD’é ?ÚW•Á¿ÏGPñŠP¾±ðçñg_Óéð8Šû}”¦qÆ~Óó,¾|¡8¢:(d@¾4qZ@;êéÖûa1é4?ý†;#×…õY?êg©Ék\Op2¹Ê§ÙƒWUT×f•ræ¾&¹^W%Ü÷ߟLzÈ>*¨„p�£Ðé|ââúÉß#Þ\ïsdýPU^Ìòê6 $vs¸ { {ºböŸâ)N‚¼‹¾ ��×hXøe²â`¤Õª-ÚIäMÏ#�m/ÄOu¦3­¸…˜eùý\&93 µfòßQq«_uoÁú-¾#˜ÜOÕvŸÙC‡¸—‰²þ(Jõ°@±eå˜ÍYÊ·ÿнöøc'©Fù¤�´O+í¿|Zù4ÄJl7…õ€ýšWäSæy^cQI+¯³ºiÜâÆÖ8ôý'¡NÖnqiµ­¬ë¬‘ØZ{Û7³Ü޳ÅÌ¢‚žŽª×u�B�V±ØwµÎ<'_éB ‹àk²õ�©¼²ÿù¡í;‰rÎÌ3E¥…T¬ŒÏk�þ¶ÆŽ‹G9òJ³¯Õ5­ñ§ ñOÚ Qš›)y³!«fm—êöǵÐü4îd5ò^«üO§¯èOä©™g·ŒÍ«"ÿxÊ©ä¢7"¸k�¿Œ^Ôü:×FCw{¬�/ÅR5ã{A˨(x§�ª²EÎ!ÎèÞ“GˆâG W¸*zóòt S^ß²öñüG™mxÓºùñÅ9ÏûÏgYš³ŠYê]�¼—òþ@cèý3Jb…¬+å]GSãLé äªÙiˆí{o§a¹ÚØÑ$³Ko”ÐYÀ«^Ã�ù`¦ÇpœXå³–ñ<Ö súþ[`^ðÕ©(QJÒxl²²Þ×·Nx0hµoDüyk±½¬â!õ|)º–¥xç‹EÇ”Î,ÃS0þ­„K«·X\&#•$27 K“f¸ëkòï€þp”·M‹^C1¹FSÈ‹^ËË—>ø[µD›åœrQ+�Ê’Ò^ Ô�ÖܰÔ¾ë™3y´t9%CØ$nH6:¶¸ý0¯çCG9@g³”tY%GâhÝPÑ›Ø�û\½qYÚ¼¦:qxJ9MJí÷p¤w~X?¤XG¸Örœ—(’9²Á­ežøá.=Ñ™í¡­(ªl¾H¦ŒªI{éüÔDòé„M&àARéë=ÓÙÇʰ Æ™b §’ûþ0½/Q¯))3ΠÓ$*—Ku=KvÅÇOy,ë6Š«*jfFþ€&ÆÖa·+b»µßÚ†¨¸ÕåXèxMŸHŽ2ÈÖnwÓÎþëýrÀ=È9Hv¬ñtUç-á`„FôåȺ2þoÌ[ëlR“X/ :MiÉ9 bå|<ñ´h–R@ÐÖøÿ>ìQ—YÝ¥P“Tâ(œ+öY’$,Ç"HF� 6V½7ú¶ÝK‰£V³$ÕÛ¨ý»«•- �mRÞ 0¼eMÀìÀû¶Äj'„×ÈH§]«FY «÷—’™˜œ³†ûs·Åùuµ hÜÜ|Ñ�\œŽŽ3G˜š&[£#Þ݈? v£o!Xn|½¿4 Ôç/©/$‘*ßÈÉoêmÌö;â#kHóš“�¦œ&ÒEE EFú»\‹ŽbØd®7§i'Ì3óB£¢¤­±Sgäyl;Œ‘ÍËÍ©m‘åiè’bU¤p¬E”ßH"Ûßå†,Â[¾3÷U¥„—g€Ÿ�¢™Ê€d¶–[þ1oÏŸ,Ay±ÿŠ–Ù�ûì…vŒø2D¢Ek]õî1h0ÛGû]4¤�„¦¤P&p÷–+]YTŸ ……ý-†²� ¥ÆçDØ÷I(¡š™ÉXØ�Õ·ôøb¬Á�äçÙ_-ÚÚsiIè*Ñ¢€ˆÚçqõÒød†¨·º­÷yoï„Üš>ð¤‰#™6Oþ[õúß {Úìeƒ˜@JTœªTC [½Ü È÷zw1†²Fî·à)Œ;†Õ k)ü]sÆÒë娋òèZ×Hl[QË.à¿ô„{M’šGñ[ar�ðÁ0�߈_¢(ƒ=‚! Y«Pe3¯?N^îx7INÁýBh’ðN=ŽUÄuÙMrTQÌ �ÍaÒ÷7ê>}0qINíC¢iÚ*»•¼32ÏhT(GÞùw*Ú­k=¿#‹Ò5’c‹¼$ù˜ß:å>&àÜÏ!­h+)¦G"Ú·±QµÇÈã'Smá:y©kÉ™ÒsáHú7¬O¿æ4(Ú»±²:ÝÊ[È·C¬[~Þáòı Œ”‡5—æÈOÃ?ŠŒdqmȵ—«_ÈÅ"{ì[B$Éu7hˆîm·»ç†²ÆÊ�…Íæý‘ðUk²¡]7µÇ~ÿ®.9àNJCcÓ->©™w ›j]†Ç°é¾& #äŠ?¾Tm[BîŠüªHâ ™�É^w�>ÛbË4„g�¼ƒçïû쀠¤v¨Hä�R+XÚå…û~XˆšÚMèUw¶ä!Ô®4m-$¶ŒùOC°í¿ç¾,±†‰NvƳk²¬4•! IJèͺó+ƒó Õ$ XE;©æfѱ9‹i=mÏKà[\K˜ ¸à€(}ѳÔI,Q¼q©�¬ �/ãlíòWªsÚ 9ÿ Rñ^WUMQþåB8\y‰�nØó’ÆcûQ0õÇÕSãÿÜT;Æ„ßn_〖kP ¤Àsú©5F‚]2›DöÞþÿž(Ýø?à'Æ<¡ÍýTÂÇZ,fË"‚ž»|½1éˆd¹d±¹Í¡ë}Ó´s}HE”ØþGÍ8i·²óV9NÕ¹‚¥ bbmƒù}=øéˆ'¹ü”—’á°) hê#�té”�¬n¼±qÚbt–í;œK�•aX$ÐÊဵȱ;ýn0�<`·°*c‡Ìyû"•îŽAÌß§—™äq]ñ2O1³_dãœ�jV"~ê�H„ÉÌXÛùÁøL4öŽ9À •’&f2)ŽF!¥VÚÛÜvÀør—nh‰`8¾}Ôè�ú~x®çUºsÛåË|-< öÿ”m‰¤Páª£Š¢ Ü��G° ¢asš6à~jFй‘ÖFðÔ-ˆéüœ ®oQJ`ÙUš¹éj�^SP,%C¢ûê'÷ÿð}RÈ$£•®%®$ñUEe-elpSH$¦Õ½ï©G;úãÉÁª,;šo9¤†ÄCËZA ¹—çT“÷öð‰[#™ïß®4Ù8..qå.HZÜÇ a3šj8ÌZÕªUµ# ¸$ó.˜æã …Ï‚9û)襖Héœkóy†ÝyôéïʼnZíÀŒ€§`9à©IÃM4mb£MÏânä`'p»¯/² ;vR&žÑÃ-`’ôºØièo‹®„w 'óJ‰Ä„,�”άuÔG»?+ŽÇ¶(44S®Š´_nȰ‚PÅ .%‰SrOC�’&îÝÙ ky£Jja¨¥û¶‘!Ék\jŽ&&k {©Ž=ĺ¶€¢Œ­P¾y”ÿã²Úý÷ùàe &ÛÙ,éÈvŒ•šX¡k!:O#¹#˜Û¶9±¹ƒsø*_N;-LÇ+F°U.“¬¨÷ÞÝî>x‡’ÛÜ1Ù Hn9Qu4ðÉYv€¥ÁÒIÓ¿?Ž3ݤd¹8ȤPõ‰²êhéä¤xã°%ýÝŽ,�'–âOñlgì“^cÑQˆ�HGQ‰nœÇD‹Jƒ\«>]ZidI¥XÁ)"µÎæão†)êÚÂlŸñù'Å.ÓX¥­8ׇã§Ìf¼E)x±iC±æG×|d鋪VŸ§Í ¢ª�SM–Ô-DAž–@ŸáqÔcV=CóÙ÷\ÛôöFÃ2KᕚoË��AÔaÅ®ÚCGÝ6i€¢JlÒ_],ˆÚ¿ =ù[‘‡ uÊ,Ö†Õ[€¥‰¢ n5ëSÔ Ç{t¶3ݽŽ)ÌpÖ ÌB#~ \í~[v?¿| P€Kr~JÛ5øKD’¢9#açxˆn½Wãk|q^X…ã$+0ëÜN•D­B•O»¯†âä.Þä`%Ó‡ð‰ýAÀyifVŠ šô`-ß~cål" XsµDä}S’h›É�Èú­¥¬@þ-ÛÁ¶ž†§q¾ „—+Z˜„ ¥*£6:¶ØÖݯËã†A;¬šÁIlïþôÙ,Á&Dº¬��ÌÌwé‹ÃTxgëJüS^;z.Îû)gù ÕæÙ|°Ó5t‘O °K(Ó¦þ ‚¡ú·À²C/•߈/yðÇÄb2asª×Ò¬Ú•h¼a:¢Z÷ØaßA×D.céÛ– u0O(ƽ¾©¥És5Õâ$Šó/+týðïûˆì‰ÚÆ‘’�~™¬ÎW{XZûá êW†”‡j…ÐK10qxݯ¶âþñþ0Nê@¶�PuyöF¯ ±hãÄvçÜ|-вõ21Ê[µ€šœ8Ñn#+~w[�p³ÔNܨÆ’¤!á¢Ê#ÑŠPëN]ñ_ùëmªÒjCM=Ñ”ü4]|DÓâ~§p}oïë…ÜX)RjÅØ8Vj…‰VRIØ]}×·oמ(¿^CªÕS­„yáÆp¡â+ Ù˜�kt' ÿ¸äÖæ‰OÃÂL�ÁmŠ’ÂÌ?}°ƒ®5Œ¤o›”Xá !"Xãfò0kþþ˜hêDZÊ`ê ùB>�‡|4(Ôö‘N’;�†ýY"î— qR¥"á1PÌL">EfÞÂàvýð ×�{)n¿Ýÿ ÉB°ÒjðÚÃ�Ç]½w¾'V£¶Ñ=èŒNY „ˆAVX±b ÿ±üýQPz˜Ûœ#“‚�’@D„ ,ïõÓ“¨� ëE]eX©80G ôSÁÔú[WR¦Û‘ß®(Ï3¶îiÊY×pÏæ©9×³šŒ®®Q4©Y€VÓ°åmý9b4}nü®9Bíqh^§áˆ÷I""E ëâüÆø¶ývîF·m¹ÊëAÃ@´FÃ�Œ r7÷òÂ�ª£Nu$ÿ4+sM«Ä|2)¥ˆM jNèúN™V×±¿ËãŠãS•RYéØ8S4Ù$ Hbc:‚–¶‹ŽGÒø©/qqnBS¥#Y!ËLŒâèÓF‘ü‹oÉ…¯ð™%Û›ùò–ík«“ûú©Ú|ºòGU–o õVôý0Ó;AÊ/Äߪ—¦†¢û»ÂÏQCµÕãçkzX¹¤îû~ùUåfÏ(?B§R™™KþìíänMv¿Aë‹”â«#Õ#Ä¢\r¤!zÈ…*8wQ«þBÝm×§^ø»üÀÉK¹)4ªÔéø�–±pÂ÷×ÝÔb k¶»v¡»[q÷VÑ‘Lm(5“PG?ˆ6çë‰-’ëù% ;¥"«u:¥UTa¥‚�¯Ïç×ß…ºPîÔB¬ø‰Ë¿åIê,ΠȈÎ,Ö¶žVçðÆ«\+qK�ÐÑÝøŸÔ(�}, ½�ü¿LK\ ·°È< Xù§#i©æh M±m&ë"ŽÇÜqÍ!ÀР ´oÚB =<õHÃ(  ê7ü8°×€ÐÖœ«67ùRÁ4ìiÙšXÛÿ«§ªÜü°³^!sšžÇ:¬r‚jux R(¥Ò)Õºÿñ¿æ>8¶cü=Ô œkê¤rLÂZ ¼9^hÆ c ’öÙ·æ·Ã21§=Ô8›Ê¯ûRàJ^2ÊNwCqç4Á…B©òÔ®Ça½¯Ó±ZÄcÏuN–Ü>3gÐ!td¶ø+‘¢ñòÊ×§¬{)`Cº�Å·æÕ¾DL �\¥A-‚,+lUÅÝ!7’AÚn§¯~Ø9ôÌüLÁS„ߢ’†m.¢I(IiÇ~Éosœhš*b »"£Ë«kok°O¨üÀâsœ|£ ^Í­ â‘PWÃNáO�,$i`7ð÷ïèOË {†BŸ5ÛšJR9Š™£wWºÙEÊ·­úþ¸½Øý•€àE NFµ¨£d‘rÒvµö+Û݆1äžl)Š+öR1*‘!ŸKÓÚñ¿üA뉕µ–Œ§²L–òtô3QÊc Ø +a =ºtë‰�‹Üj¿4EÇŽV!hüÍ­@'KÊGçß!iï=¿åW/-?Ó¯uè¤Up’H­ˆÚÄòù81;·ì4~JAó'¥XÖDI˜k`ûê:ö¾.æâ© ¿”Äñy^V#ÊU6 {ºúÛŠ¡“ì�É\K¸÷@¼æ- /‘��‹~ý|Zð˜r¬ºOíÝ=âs!gf! þíù{Æ!ò5¤1µhÃHuž}Pj³–"¡’hµko§×¾!¬tƒsEè«Ík÷;¢ŒÂ/ ¬D†[¶äuÛ§M±26²ðꬶ=̦e%¦™�2@á.C¤Ÿó6ë~ÿ¶ÂÒÝÜß²#ô å’z‚ jc”Ü´våæ·ïŽc†í¯„˜Áá8…¤ c#Å}ÚÆ÷õöÃØØÄ–@SãšLË2©%UÀ±�?¸ú`¼3[ˆçòú&ø–ß3«Û…ýMO¦˜yrüóÓ|CbqÀà'Å#š*¿E/“æÕY]=Y‘Œܺ¶#¥Èú÷ã¢sÍm*AÆJß±Öe>вĢ©–¿…!¬oÏc¾ãåÊøÖˆ6Qç*_µêBæ3ö˜äuR�–Zëoøû¿[cW < ±ÊýÄ`ÒÔ³ÈRFC’ ^Öõ·¨ßZH98Q3®‰z*…‘Y÷G;¿Ë¿N¸s$ QM&ÿ$DUEn÷Ô¤ÛP"Àû¾Ãᘗ_*K\[mG¥J!]f0Ø�þ÷ï†M1pÛX]$fïÚÖ Š†]äó¸_\±Šv=Ñi±Á_^ëx.<´Ô•ùJù†Ýñµ<`p1ê‹Úöàöµk”ËETÒÒémV;�¿¡ÅXØwÿENRkhzõHÅ–U½ÁòÄ�9¢3‹~/׺¶eæ�ã”2H²}@Û¿L^Ó³¿êˆì`»Êš¢Jw¼“P¾’A³CÐã¤fæ‘‹EEÞéO äCG«ùÅYتµ¢Óíq5�\a5=!Ìh*©*R)Ã$ßž3õ¾VínJ� nyÝÇùZn«%ž†ªX™ÜF‘­Ó�Üc"ôœ¤ËFyDŠQ¢GOF低Ý~Xºè,œª5Í5…JÓA$[£vôÁ˜ÚåÉE½Ü>éÀ¿u”T$¨Ñ5[¸ëûWŽy\_t[��C÷›,œ�& ±ñaÑÑ„-}�øS0A#ijSÈA �·?!×öµ‡Â=¦¯¿ÉU—+…}%Áò—]È÷b«¢s�IúrÒ)íÉû¡§¥‰ÙbÒ’½�Õ¹°÷Œ.XÎZ2$‡²Å“„Ÿ6�Á],ÀµÁú¾áˆÅ»†@Ç’=Ô0,^D*¤��¡ï¿.˜|U´~h㉮S”é +­®ö·l5–ì”ÈŒ–G`•W;M÷q›ßam[b†©¯­Ô¬ÂlyðªUl`ˆFñ‡mÑŠ\«c&Y<¼góU\|¡TêžW§%F%Mù{¯�/Ôô±–î)eŽ ‘ûî´Ÿ´<˜Of”ÌVϵüßõ||û¨Äb“Êh;ÑD¬¦—4ý5¬2§ˆ©.E……Éßþ°m~à,ªì;ÆpVÂɲ97«­MÚÉ÷cëõé�m?MqNé`f.ÏÉlL½Yc…Á 2)76#‘ô1éË£ߪ·§Œ]²¨ú©*µ‘ã 6;sÿ»án �D¦Äá!£H µ’'†¯Y”�œouCèà må�p9ü’Þ1 ­T‘;“fÒm·ÃÝiåXÚX2qù g�QjŸ\�C§SEôÚöå‚sãÚEYJ- 0 àâºYäE#¼fÄbKþ[c³4@€—4’:¨šûä|UH$•”°$‰c[Ÿ?—l6-K[’Tn$‡•=c—Öjð̈9ùM¹óô8ÑtBVÛnÓDße?H¨¬aYX© ˱õ·×ž�.%ŽHÙYU\¶°âÂû_¨8h•æÅåI4í×þR¼)T;Æ/`ùmõ}°ß%6Ioé*ªŸÌ+T‘ßDŠNÇmˆëc�ÅhÜZ|;å2‡¥×e4˜DRDäñ#$îHˆ=ÿP0Ã#nï*<]Ù !Ó<3îc°ÖtĶ Ó° ·ˆu»è£ªaJ�@Xæc¤ ìÜÈøàÿ—Üv#2<’�б¢Çá«$—[÷èG¿Ÿ££î¡²;nÍ;%õÅ&ƒ*’÷³/ümûàDgnú²”©Ü²zJ}Lk#:J%$n ÇôÄp†w‚Þ@ùr“ A%Ž*�JApÂÖ'¹í�aò€/ÕDr ´XRÔTóCR­G9ŽTT…ÙÓ¿ÃôýAðbu�¥¯,hx6¶Ï3ÑzJœâ±©X T5†ö"×±ä~Æäÿëf�Ãt¤+‘u·³”/´n Éx›!|ÚŽŠ™Ðh�¿¸‹ïù�BqàäÖÍ ›·wºÞ=ZI™ºÉ!qÖsÂpSÞA Ƥ‚ÀÜú~_<{ 'WÝ^k*b×½ãÑV&áh5$k ë>a§nÛcõËáê¿1Nòß#T}WBå•"¼lnÃI;Zý·é‹~¦AÚã…m½T�U•ü³+Ï÷xžD!\bGCÜía†Ž«µÝÂsz›÷PxøQ 5?†ü)ýAÁ¶xRÝoöƒ”ÓðëA¤xj²†'ÐŽxwýÄ–ú%67U£dáÐBT¤Ósf^Vc�8¥üùc³”2êìaIÑäe‚ˆ×È9éõß5›ŽI5Ni nŸ&¼…¤Hô‚C!=;[óÀ:PàsÊPÕí6sì¥dá—†H¿¢$npºôî?,T~·×UÇQNÜÕ) +%+7†±Ée$“hÚßÝÛu®nêšq·)AÁò;%C©2­ÕÇ=c¿/OÓ ²ðB11ÛJr“…è£RV:„‚`t½®caÐû¿1‰™*‰¤¿æ»Sñð“‰"òª€6̽ǯ/žÍ`k³þÔAç5ÙM?ÓÓ%!ÐÇA o¤õüuN²;z©n¤<ï¼¢ààÊiÜ+» 1·üÁÛIÛþ±f9šß1ÉK�RZ6€¦òîRjÃSa§]ˆÒOà sÜX\ ´u-$VIJÍø‚·-ššhÞE°ebß’õÚãnׯF¥²ÆC˜ìsÿ´½„ønÇºÑ ÃÒeóÍGUG:›v6—b§�ýqv vö‡nüÐ6@Ûaçî§©òˆ£‹ÆÐ¢E`­mõ õý1m³<{º6Zwþªõ 5àŠ–U‰‰7°¸káÎ-w˜7>¹@Z "(r¸ž Z+PraÊã¿ó…‡8\”˜ç{G— úzI£•uDŽÉp,Ö-sðçoŽ:-E›8>©û¤swíN¥,J±¼*ðÒËæÒFñ9oúÀÁ½m-Ób‘ßvTŒV2£µô9>¹¾ìZ`4GïîªFíÀÑFD™x£jŠi͏–2v¿#cé¶/BHs¯Ñ#u�CQ‰3N¨®/*7 Ç‘¿K׬h XówõP%p&Æ¡ ŽtFƒivkÓ‘øòÃ_¬Xù£f¤�¸‹ŠñDÑI`o<µ¹rµ¿^ÖÁˆÁ6;)�ƒÇu%ŽR:¸äJ€êà󵬟ç;\àÀ3ÝTl†Ür¥¢‰DKI$qør)hœ��¾àÿñ王 YNuîžËÚHÆÊ‹"¨]$\¶âݬ6ë‚{ñ��ÍGò³‚�ûÚªF¬WZá±ü'¥‰Çºñ��±µÂÝù"Vh£.‘ÏŠ–ÝG»® Ï‚?T¼;$ÿ„¦�¥fYúLº‹ê?òütÃâÝ\çß•a¤p0…Y.ÉE$êu‹ækû¯òÇowâxÊçVí ’±WHú|H �T^b5i r$[¨çnÃ\vÓ/>ªóF�R_ñ \•0%D0,d”–ÖܵØ�\ðøðÀϺ¯¬‡“…í?ÙUeF™ï¤îm$.Ú˜X}ÜØã¨t×36RÍ HÑþ×.4M—I=IZz„>Fßˤo{↞I6ÙG¬ûû©ÊJ裎Jjªu’¥_é�î-ÕMÏÈbÝ5 oà¥>&Ñ=Ô©¨,±ËmÉ[y”ƒÿ-¾x=Á¸'ä“A6Ó÷µ"•eÒW JïâFÛ3mø‡ï‚‰§—`ú¦˜ŽÜÙY-£»NÔ’6«êÞ"FÖ<¿²0ñ1 üOBö»ñ +-óydr‰tzyKL(Òf²«.âP™ù}\‰Ì$±Ç*»£ÚKZ1ê… 2<�QÊS·`~\ñìi£TŠ@çù¿ÇùKŽH ªN²¼L,§W�7ëùaR€NOÝ&Fº¬ M3vðÇQØíÏ·,6ù…7ê|@Yƒ÷´ÔR«L­"ùìc(]þX¾fu„Í�4Hû&œªhe×à0´=Š‘Ïáîé„Hhxû¦4]�¿L¥TΈí$HÒFvbFÄô>ñ† ïÑA$¶€ºIZ¨õÄŒº‘†¢-`mkïÐúcŸ)q¯¢x�•»‹å1<ª­¢2¾Ø\‹Üu÷[æçx5h"s@7ôMJë0BIŒtº›“·ë€.IãºÊÒCG¾Rt×bPØê±>nÄ›ôôÄéÝæ¦à#€3’˜y R…–ÂrEÍ�›ÓÐþg œXòÝ+àÛ]‚ÛLŠÔÒBŠû¾Á­ÔŸ®˜†´4P=Ò �“D(ˆ%Ð’ ã2@Qc—Ov%ÍsÀ`í°à/"¾è¼¿6Ÿ'™f‚Gjp×%M�ϨÞÛáñ=ìppœd¤ßÑn,—ˆè8†’|¯0’ ¢G° ßpoÔ|1`Ê/k€uV6�ÆijŽ8öV(Uë)¤i#s±r¹ óùQ›L Ÿ²0Àï7è´}Ò0].¥ûߦÿ]1œïé�¤PWÚStó‹×­¯oÂ-úc›NÙJko;l}Òap¥´éÒuvþ?\[n9÷IuAŠlU$e±½··Ã šê'GAºå~£¸³Ù=r¼ÔPÿ\‚Z0?>‘üŒd]Y^Eñ8<þ«™ø³ÙM4n>êBó]×ÓóÅtM7cê«:'�´~þ«JÔû=Ì2Ї™bf�öoS¾3•ÁÔ3îªK¦-æÉôU×áºÚ4¨hEâ-ømf¿=°qé;Hò¤º€DѦˆÃ‹îñÄÍäÃHúòŠGluÑÏ¢…�j�j#c <�»ž ‰"”ǰ ‘î¬+Bõ*íLßÓ”æ<=ºáí�×t¬C3²xˆJîlÊ•£›Ln? €ßNØÆÔè�ïXñIfÖŠ TO“TRUiу«HãŽ)F<ßÔÇïÑfJÇ2Ú�’�XfEY! ÆÀíû�Ûdk˜lqì˜c�©ˆ©Ä”Þ*Æ¡ûóøõ×3ŠI dWæ°Ç$z¡E‘H±¾ä{ûb£Žß¢�ÄŒœd†ª�B’ªblã¥ö±6ÁI«Z…¬c@É÷NÒ´kRQ̓Êoå=9ã‹ ¨Rq%§óHZ5¦¨w¼ŒI!G0Ïñ„ÅÝp’èÝ»`9ESÑå#MÔò]·Á»N—ÑCbØoôNÅDiاŠÊ\‚£O-»ö¾ØU8.éñ¹´G÷•++’FÌäÝ®/õÿXp‰—„Àv¶ùGÖA®œÉ _Õp ¾óµMÚÒGTq%À¢¢TÒUSE®7än÷_¾0"€¼‘#IVÿ—.Þ#:©‘j�¬iÌ(ß\yî Ý¿Óo ‰k›åmª¶w‘ÕTä¦*¹¡T”ƒQn]}Þ˜ñ½S¦;#)îÓ ³‚µ <UKS÷Šè&byEÔwýðž�¥î•>ž�g>ÿð¬ L’;S³Fºî£Ìq¸Ø^óž{{¦=�ÖN\´î%2±–3c§qkúò8ºIŠœs’&°þ!ÂgÄ‘¼5ñA<Ñ�î}ö0!ÖRÛ;�Ü8N@‚EÕ33Fâ̾¦êqRf>ü¿‡Ý @;“þRŸÆI#ªŸ.£Èu­ðÙ\\Üã÷î›á’Ö•Gâú¹©ò¨£‡Âi Xlzúc¨�­yåW/…Ýþ‹SÉ$º‘œÜ�æ?òÆ5 Ôƒni§è¤ÃjƒÅ(Í*]”!µ×¯¿¿Ã6q…b2@ó"2ãU÷„Š�Æ.Áöè¦4´ò8¹á�Á¾h²�ûö>Êj˜Ç=ÄŒ,y�¼Ç¿Ç$Î{-à–#·¥?”gEW-<†/öéNŠ•k�;ÛU·ÜÝ3Žœ9¥®ïõNl…ÇÉ€µ7µ.L¾W­§fš_U”Yt�ì^÷ýmŠš)ŒNØp¯‚ÎG²ÑÆ(ÖQ �öd�ŸÇ¾Öõï�§½Ï;Ú­‡6ÿñ)�ÃÅ•j2�ä5Š7sÞÿVÃä$²Û÷J/ƒe.:4Â… À\2ãÓŸÏüÙÛŽTG+� á Q–"Ô �ÐÄû(ép»ùÇE9#ÍjÉœ�-ý‚fL¿ÄO8äU#D›¶Üíòùaæg7ÊM‚’u|ÂvJ%)$ˆ‚Àê9mÈû±ÂïÑtZ»SðQš‘!1¢LHË`ËÞÇÔ såÚ8Â{fõNK•7•|N6,Á^W]1 Öc&‚Cfh»ÊjŸ/Ž)�d¼R­Úç­úzŽcãŽ�áUžÈÛ­¡å–Ë$‡Æ�‚I¤yöÛ£{Žÿv Kê�ò“DYStùqU†GHÄ–:€RJÛr~%’�-¿4™Ÿ@ ú)ZH¢h–;¼‘ LH:\ßåÓöÄjMÿræjIo‡ÿµ$”�¡xÐnH×RõüôĆØ #ÜvÛ²­pÒŸ 6-x´¨;oæä|1Ò¹Öïê™AnÌt�ÇJT7ôína~;Žÿ G†ooùK�ð,ŸÉMSR¹E…¾ï,ú®’®¿ñ¿ï„i¥pq=“üg*bRiuÆ ;�ömï·ïÜzí¢Ö™0O—Ý$HHýÄyltSé1Ò<»¨ëÏoûÅ–hžNE&ø™ ´\´4ÒÇ(Œjª#ú–å.׸<ïmÁøbÎ�Høïwáýö\CC…C%Üåj•G–5Œ4ƒñ p",=öµ�7ñcÞÓØC¹4GÕQ8¿…›7§…1eªE¾­ùô¿QñÇ�ÔDý4»�øJ{¤ñ+Û쵄A1øI$¨¶”s,üVý{_ú74‹<‰g©Úf…ôŠ€7¶êÀ¿!·Q‹±4îiãÕ¸§1À¬�" þ kƒÈúòçÔzâ_1?„ÐUŸ%œ ”ìòÓÄ‘xzÞB<¥…­×ŸÄam âE!ˆ�³•$Ÿx�‘á1§?9/¤àvÛ|Õ|ý“%q‰:cQìÈ`¥A6åÏÔoŽ ·�Hƒš¸(ºzjÅš‘N«³Ù�#{÷~˜¾×»mØýú¤3QºÈ t´FXݤ.èá' ïŽñ6¼´ñöPù@­ØN¤P<ÂHäYeùY–ÇðŸžØÑÑÊ×6·X=�(¦u(¯U4ÉAÇmF–VÒ ä¤có÷ŒhHØÞlÒTNz§ ’Jw´Ú]­u@vt¾öørÇBâ]DùB—5ÇÔÍ=dv f–'ÝŸ4{óý­†Ìýí«ùR4°ÙNÈoq‘U@G™.6þ1]·TE(Ã…ƒ”4’ %yüdaw·QËPá{zâÎ�¤“Xt»ÛN£¢y$X”8¼’ Ô‹‰‘ïoËÝ‚`c ßßÑA-%‡(¿˜T²Ò²€ŒwÏ.Ÿ 0€7Æsè‚ÜpìÚyi¤‹Æ†iÚK±^ì ¶ ú�˜ßÕYÄy“¢pÙH ÔIá˜î ·ã¯åÏ&�ãÊ)5­$Ó¯òUúšACãÕS uyÃWæ-ÛsòÁ½€QiN,$yŽË$Ìç4È• R§ÅV<…¹^v<Æ+jéh…ÁÍ­1í{ÙíD¯QœdÒM*;ø�0;ì@ëk_¿¥ñ‰Ô4R@IÖº¿asÜÔ¶õAcptY¯g"Üñ_Hé6“�|§[*ɳûå[á– QlfS³‹YO¨Æ›[Á³%öÝRj*Ç•Šîà•&ÖøÚûan,#8+‰7K`æü'�ä|-ÁœUg $Ðè©IÃ_Ê5_{[òØá±º6°^î~éå•Ñ ‘UC"ê»@Ü ð-’2ãvB’Ç’+æÖ³]EÒ_‘�Ûo2Xü}pàÇøc×±G´ÃÙfKB|ObW±³€y\üv8X°C^>}Êp Àå‘É;™<=kµÔìž¾�°ç<ƒ´ \#ïî‹*Ü#Jt\‹�È6éÛº°p}QÛrskÍ,� ŠY�ÚÅNË¿;~VÅÆ�çyhþй øR&e‘-E2#R¹Ø©é¿m±Á£%ÆÕ¯ØmXP2«ÅmzüE¹ k÷øâa;“_`�=£‘É0б¸ÌO˜“½�Ïêø± ,‚Û¿ÉWÙFÉýüÑ4’E+€ìZœ «h6Â¥i®ë´â'Û­ÐÙC2�e@™½ï·§ñ‹1øNhÏr˜ZF ǧ *ÎÒÈ k»i&æÜÇN§óÀL惒†7ír‡ª‰KêƒS# rõ¶ç_ €áù!Œ’}¾hyF¥@’x·K-t=~8­îW_%ŒAi’2 Ýâ'U¹Ø rüðéMÕSpnè†"6X䘼"ÖãñÁ1�ã`ÁPnßdz$#D©­‚Ű*Fæãä„°S¹OŠ�¿ªZºÕiY i 7i-aüaÌx>cÙ:V�Ìc ">‡ ¤µÆç§/Žø·æÚOçþ�ÇæyÀôåGÇM%E<’ ½ØØ1ï…Àv;q|+6Œñ<&XYuê>f^DvÁ´yüGû¦>@ᱸK¤¬–â7 °,Û óýÆò4f?ßÝc€?ám|“Œ–¦¨3KO °¹Ü~|úâãf®» ŽÚOU¸Ë€h3 y–LÉ07²¿Àôùb¾®Z Vk¸Ñô\ýšeõ¹|ò+êD¹æ6¿ñÎø©,` î˜×]ö $<ídp|ÂÆÖøéé…Áw”àªÒ9娔²< 1<Ξ@úþ˜ç°äGtÈÝ`Ži~«ø_Úm wôÞp²ÚÚ[¿¥úãÑiz›†­õ/‡ÞÇ[x[JJ\·‰`ŒÈª’›\ÿkm׊ Do ËêzkšÒ]ûú-uÄÞÊ©¤…ÄT¤)Û_߇,ÀÚjÆðßÝsWû5ª¡»²JRä^Ûô1H°7•Zh<»‡+Rç\/ Æe@ûr#aüár°Uí¿šWòî±ßß²¯¾OÆF†Ò$7Ov*=€.pŽ]3 꾪b�/Q5AåÔœíÓlZl€GÔ.Ŷ;'Yñ„gÌnA'gôŸ¤uî ÀÔFm­»=Õ3ˆ8`ÍTS®©ºw#·ëŒmN—i/ÍûªÏˆ4†¸ŸÕk•€ÄèuˆåÕºî#·å€d`°M¥�âhF½3È¥#•M÷#§×ÖøO‡ºö‘„ÇÓ¼½ÇÙ",©ä-â(ñ6çsûmŠF,‹=б»¿º“òj‰Á:tƒ¡–æÃç‡x�kN(!t[r ¢)Á&ÌÄøzòôň!@ H;VP¢¦•,jU·ÒÖŸX顬íÇÙsZO˜kÈÄ…Ž?ê:¶üÇ Õ&W6‰m¥VY•(0¹XÒâæŒ'±Ï"Ù•˜¢3ÔºÝ�×õé„G¦·¨3Ý_éM%Œ´Rë}�2§× nf׊]6œ¸ C=‘%ƒÄYûßÓv—‡ «˜ó‚¸<˜×TàY¤BEù=øòº®Ž÷»}d#c¶�5÷Vßguy–OKªÃ<$]léŠÝO¤I kÞ~ŠÛ4¡ÍÚì*g´ûž_O]LŒì£IÑûãÍõ-‚ë fŒì«±òZZ/ýµÒ 3”³ ·˜¯¦;†é2Ê–8›íòAºÉTÞ0þ“³�Km±fF¶L4ÐLcl`` jé9Ь¥e*zß}Ç,%Œo”.Ӟ߾ȊE‚¦҄˶•¿â=Eûà„-pÞá‘û˜¼®Úp‘[„C0˜ ÊÆê¤r¿ç„¶–¸‚d‡ÌAÃU/>Ȇh‘ˆV(œÛ± {�‘ùc¨èd"½-M.O[GVÔC5Í•osµö>ì`2&œVBå_f¬«OÃ5µSËXM<:t½þ¶Ã?’‘ÎØÐ€SNÒVƒ†áÉeuQiWÌ�k–öô¶6!Ò7ð»”.�£›¯¡S´Á¬ˆH¦*Hm짨ýqq°¸6ŽR(Ñ`6~i,�ý ‚3· æ/éËöÿ{yS<{'%¨”°’=!Å®«Ðu¾�i!ÖRš]YR1̬ªèZB=Š�·õÃLÀ!®ÆfÈ¿Ñ @fB…¼ÞWØ~c¦ØcbÝÉVÚÅ`ŽÅZG!#Ä|·è}þì ºrFÓÏï”æÁY_%Œî�ó*)ád�ÅEþ‘çÐmïç�ª…ì’Á£ß#u=»µ+ĪÎ&.,Ù44²îžBCw0U{”èrQd�¬”gÉ&ö<¹€>®ÚsD´Ýú§—îeUŸTšzd”5;HÁAò0þáÿ/È Y�ŽïÙÍβRÂgŒþ£#ÄÞØýðÀK­©¤�íÍG�Š–RS�ûÛòüðââ´vî�ò�ÝÎ$!!¦2J’ê (òÜl¿O«à±aXd„8íôHÌi„ÒÅX"–+"Þ×ß¾×¼WƒÙs¤ÎÞ LqÅOTµ˜¯æÛM¯~˜·$�±è�á£}Ô¥hʪ/öºË©¥MÜê†å†Ûo¿Ãå„U�§îÔ:wcZ’(Õi]œ!®QkkÝÖ×;ví9wõ þˆ?…¢�ï:¤±I ÄTØÉÔ[po~›àˆ@Ø@Ò ûz)ûÅ#GS M"3™-å߈`Ÿ§§mìš\Ò<Ã>ÈŸºø¤™?¸ÈÜ�}=0ÛÚЫËœÝÌSóe2fy[å²0?þÙ¶Õ~v?#ôq‘®ÑS·ŸºÙÒ¸º=‹”8—‡Ÿ/®­§‘$¦‘[Rj]Õ½c‹š-X- ¬ßeÐÆâ6_ÝV%HßTztFI2óøž˜¿&ö»?í[s1µ´ᇑÔª°?ˆz_êø)˱’ª¼8”ýD)'ôŒj— ^ÂÈ}ØTMmY6¥Ûì8�„ˆâ•<œêRÖdÔ lMþX8�ù;|—D(rœ4ÒÅXc‰nª©;êP?mÆ)€¸« x#=“ÔÁ•¤ò3ÂMÔ¶Ö<í~\°�Ž$º$ÛyR¢8áÒSÈÅN޾k7Ãùï…BÂ{a9üy�SA>(ÒÔ®o¨ìPÚÖcÓp-‹d;ðöIc€8>ˆˆ¡#îúÒ9Ì¥·S×Iô=ûá~YýNJòpxF=CÅ¢­#‘äFðÈe³0n}¾X2D®çõNsœ(Ê”§ÓQ� ýÙÔª�;¡'o¯xľ&±ÖÃ�”ËvÂ6•%§„ÆÆD²Ý¹;|6·§»Ö—[ì…n3ŠnUž�6è¢=cHfkïkØûößÜpl•®42~F�G&KN=¿Ò: ÄËO)pó‹jSõ·¸ûñ|µÎÑù%íÀüÕŽc‰|%Bº–FæA6ú�pzl0×i©¶(”ÖjkÇ¢)§˜˜ôÇ¢Mfu’Ý}üýø˜¤sA-.¿ª’IRX$©gjŠe¶¢FðÉ~—è?;bÛ‹Èßy@×Ñ5ŸÕIDÒ6¨X£™.ab ¥÷6·Ã'qm¸y�×ôLŒ6NôWˆT®Z%uØPú÷_æØ»˜í-“èž'îr=‚!)R8#X–*ØRyšÊŠwüþìgj#�ãÁuýÃwù¯èµpÕ-%Wû¶MâŠRÚ¦âcÌBAýqåC•“háLݶ‹¿E®¨%O=RM,rho¶ñ·k{Áü±è!œ¼ ¥ÆÝ·ß欔iÂÂ0* ïÒâûv±øo‡²G»ƒ`$ÏM ·J¤rVÏá+ư¶ûµì6µùŒ%äµü Hk¶ä”j'�æ„3,vK~!ןo®Xd/lmóе/§»Ò”�áh�–W0Hz‹ømÿ‡ìwPS ¡¾Roæ›|¾a�Öì?ƒ³mÌz[ôÃŒqY5ú¥‰}V‚]DÒ“aq{ßñx¿ä4æº:$ãî™à8Ÿ�þŠÆžœFÏ^›£@×6P8!{?ê:Pû æHå‘'¼4fd;ßqó[ p½¯/#h>H¡PZO:¬RÞá¿ävåÚß–Øc¦·y�œ£¤ybHÁŽ]f虿çßø‡“Ÿ~é»;»Ù7"+¨Ž™Ø¼—!I7ÜÛµ·?çb.¡Ø|�ÈžŽ©Ù3x[0 Ø~ƒá…ºM�%9–ZTµ,ÎÇB±'qÌY‡§Ï6§xü�²M·´×²‘dZpÍ Km¿°¿çÓD�s@)1¼8’ì$H³C/™Õ“bŽ9%¹“Û–ýð1Ì\vÐùâçU°áye*Å;‰#7(PjÜ�ûïËO ´ä{¦Ç+yiE³PÍ qLñ¼­²êmÐ÷�½øµ p.ì›#( %BËO-$˱‰ ¸½î®, 5†ÝÂ]{yù¦iܢȠ³-ÈÐÛi#¿[[ã¶%–ò@À)@“ì�†=(t!îàhߘïlRu‡ÐÇ¿úV{l‹H–m¿ˆ†bn ý.6÷bì2‡ ¬7Ñ&ßVÒ=Т¨Úˉ漽ÞüLZ�ÕÓÂ× ÀYH¨•ùTÄ�J»òý­‡ƒM¡ú«XváŸE3©T(lÛ‹oÿ]~kCLtÜ ô9YFо#xEkù�#õîÄ2áU”{ëž|eŽ&TxÙXYöü?ç|Ok|¦×TA—UI§”E´q 7°·5#èb¤Ïh4@ÜT>öã!eeŽd:§¹±æ}AÅ€)»[ÊèÚH$⓲7•b}[îAåÓp~¹ãŒ/¯é„[† 5þRL*Wvþë ¶ÃÔØÇoub A¿ý*üîôÒ¾êÄ~a`þ€à¶‚,¯ua�¡¦Å¸«ü eUµAÞâßµíðÂã.&ÛŸšžÇr=•Ÿ%âù)¤HŸÿ;«�»ž,½®"íX/{†k*c?ÉrÎ!¤ûÍ?„³•/¥·'¿Ç`pM�®mî\ƺ�>‹@ç<Ù|�Lkk“ C�Î)Ë ŽŸt}“Ä ¶¸P8 áK)uS¹ÛãóÛÝŠ3=Ï;HH`cN ú‘ì§íA’çIGkTV¨… ÷Üòçòáì‰Ï;‰_¡úçÂñî&€_J=œûTi©áÒ¶šÀ­Úä­º^ÓHø�æµòž¯ð냬pºŸ%㌷4§ûºÉ‹ +7,z�?Sipܼ.»¤=€ŠSyOŸS˜ô"Îwå¶øÚŒ±æï ÏK§Úª+œ¸ûÙa§2ÉMO ‹Ž[‡L �$—4\v\ç˜ðvaKâTC‘Ï[lzÿŒgˆ3¿•.ðÇVçÊ‹Ä ´±2±ºÛå‡Å»ŽB¨Öºü¦‘Y~L²Æº'V� énƒÐöÂßv«Ê6ív=íc1ËÖ(ÔDÖ'˜#qîïŠïŽîøS™TMZÕ\CÃŽ¸I qÝŒ+05Á´V`£V‘'�ÿnãšÚäŒ&2àâ …›n³ò ÕÔ‘Ù›S€ÙøöÀLÛnÒŽ€7ϲ�Í2L²²’HjSÆŽQu~VÛly­M•`S° ..ãL�rœÎ¦•a��¼6"Á‡Mÿ\xy´ÍŠN2{‹­‰Ìvæ zªSDT´êvy—Ć1€ùjÕ"\VÔ¬VSHi.*9†¾ä{»`85•`C\`(ïü¿w¸žæÆ×õ¶+‚¿|±m±Ø.²{vVœâÏý%&””#øRÂײ‹XߘPœ¼;t=ïüâß�8v¾éÍs7í ÉŠ¡u ÀÛÃ#} ~+þüXlmu’Û+žê6ÛŸä¦#Š%AZMÚ=;Xö÷ã;U uñÙs�Ë*ŸÆÜ/uIþñ1¬�tÉ^kè;ŽoßeÌU”MC<Ë$qèg‚7·ONXÛ‚XöÙåt.'üI‰)ZHÑ#`î¶Ø•¿#~_õ†Éù« §xNžb1ÙÍîo~véÖÿç Ync(a¶ƒŸ·ûXhµ©G�úÑìößR÷üÏÈanx­ÎçÒ“Üí´m%agE*á­¥£s¹õ£§ç‰Þ[æ<{§VìjU L¨Ë(Ó¡´� ]H7åñ8ç†�®iH”¹†©<"ñË¢)-®mcs{ƒïúïŽ1^AÊ€ö‘´gÕ,ÓG-1k-Ï–D:÷æ; þ˜+ÿPet.£@Wê�L¿îÆ;³†6ÚÃÌ-|\W¢°â v¢€Ÿ°¡‘×@•A¸·-_�Žù4M‚ˆ4‘¶þ¨¸áðDh²(‰IXYTö¿P{÷Ã7(£ù.�ÐØTüLÓHwH˜Þ6q½»u÷b|9v’«629ä©U‘g�c*¨š�ÈðÈýFø· £BÓ¯kvŸÉ:ë(o 3z�ÀØ…{Ž\½vÅ‚Àg‚¢6‹¸OS8£§ "Ï$.¥T_xïÊØq­‘›œ&‰�Ïe9—D+¡’ÕZQÔ¸¾Úwì0l‡iÝxýûª¾WÞì7NÏ÷U© ´ G* ý5[°ÿ8»ãÛl_ucò“_%(a€Óª¯—Â�å#ëåߊG d#ŠF†ÓM§üyˆY–ãXN«óÛ¿|_†C{TNp·öOJôô¥à]U’ ±Ü-·Úÿòçˆ{\ñ¶èú÷VCˆÁ"*zyè–¦ÈNÌ,]mÈúŒaj´l‘›O!™ª8+Bñ ¯ U%d4í=a¡·º\î§×ךY]ÄüŸT‡–´ŒÐUˆª¼v×™ºm}$n/Ë–çÔ_‚=».²›)Ç“…a˪%€‰„ú†ÀØ\u÷ÿÞ-C{=R �©fžHܺßÉ'QÞÿ>¸³âɯbƒy¬d!—TÄÒFÄnO§¥ý~\8JñäiÇ¿$60î~êJY䆮”¡Õ’QØXXùlO¥þ†ö½Î»Â`wþ8¿ß ÒLõ)!ŠZ}µ ¡¶ÆÇkî?L^ñt=ÿÚ‡Á€ È@HóxFžu×¢Ò+s½»aó9Ö¦‚ÞýÔ -50&TZƒ¹:yìmϯËÐ]‚@ù#dA‚À¢ž�JL¬òB,Å…„g•À9m‹œìƒ‘ùý8 ¾rœ…$2º3ά”Ü2i½�×{÷Ãfb¬ƒ¼–Ò¿¨^‘ –±_ÿW÷Ä~\PÛOÎ ”†¢7Gh‰’DpÅä6Ç7cH5„/7ñdû$u)§-Ê�&Ä_¥ý7ÂL!ÀíÈDÇæw>žŠD2øq°Kʤck÷¿c‡éå Û“^Í£¨ëiÝ@»$Rr³n�Ü\}rÁ´íÀ].væä¥ ‘>ƒÑ�qéëˆ|à§½ÍÓéV4ÛÃhå,Qv÷¸'ë| Û¼·òýò‡px6ÔJÍ<–s£¥ö#ñÖßô1nI_·t‚Dz–là˜}ÑMo…+@yÛ}$ûú�ñj‰e°’£kñJ^Ž¢ â–ƒ0w«ŠAª4‘Ëj Ÿÿ/®¸íC|fžB#‡âù®oö‹À-�†Ì²¨ôåR1q¤XDIä@þÜy§t×Aå¼{q÷KÍÛxù­YI7‡Y E¥t�ePy÷·c…G!hý÷FI#9ù.·ö=á�´— ±‚I«8)szeþï.®Š£Ztñ2T uRøÜé ø�!ܯkðÓ‡�,UÈás|ó BãZÞÁ—m õõÀNC,~kÅk‹œý ÝzáHA¡c“ÇÖÉsÌn¦Ûoß�ˆÇ4Uew-ó ¯’ï^$n v•[î>^‡—5–ñÊ\²nç#Ù=K5ÙI±F»0¿=·6ß cÜá\üÍ(akNñÊrVŒ‡jqâÈþmËm÷·|KZà4õÊi!ÿ‡”\ha�˜3,¤ùNÖÔ/Sü`Y¨%öxýPµ¸§e•ºža«i¿ïo–.µà�yùa%®Û{B"9’ɉI å7·.¾þ˜8²âÛNð÷ç%=J'%v€î_–9‘´w>¹ ÑÉ›Q�5Dr0UÕµƒ1æ©ëË‹ØRŸÄï0µ-‘ËEVȪ»ÇmÊžàõʼnA. ¯Í;Lp£¦�á‘åc¬¾âÝG¯ñƒkœIiÀJ{ O ¨ªM5”3iO.BüýXñè85‚Ü…ªª�Ae×$a¯øºŽ·í„´¼5H¡Âmª)Áf*£ª0?Gç†VãW•ÆHÇÍ ,3#«gÙHØóƒ2·ðœ'ž9˜‘-õ‚l6ÇÏdd z¡5xS.Ò�®ˆ ¸æÀoõËf§ PÖ9ý…$#XÿI$DÓb¥¿·ë¯Ã.ÝdižÃGð£@Uµj/ø…¿ >X\Œqpw?’1!šRTÁL<Èç¿1¾ú` »�Ñ%u×!3%lwd™£Hì.Ö¶ŸvÄuLçî­—¸‡†œÆŠ.,@ þ+w¿\HowवÀù^8UéþðÍ V&÷$é_ôÅi)˜"Ϫ´ÉÜO—2I YšÂû7í¿NXk¥Øn-)Îiu“hq3¸W‘�Y|ÚOSÛôÃà{ÏýU†:Í_åþTî]ŸTSOMªG qq¶ý÷ùbÓœò7vôíú'<Ý•þ¯ý§ˆ)ÁsU*v �…÷ÿ[aŸË´Öà„m'sˆµ¤sΖ†Y‹n\víŠ2@ØÏ—ÕXÜÇ�¤Úá~ ö×_–ÖDbª“Ëm;ØN{òþqn5eËîú®¼_ò_L}‰ý²³,�h¡¨®#‘Uw¸·o_ó‹L„—eQÔÎÉ#óá}_öKö�á¾,Z{æQWÜX†°n–=°èÚÀ¥æu=¤‚8]ËÂÞÔ¢) –U¨§Û̧sëþpØõnBòzÞƒD�ðºŸ;ʸ–€)x&rßVÿõ�¨u® W�Öô¡X*Gp 2/�Nãqa¦×ôÅ¡OÂóòi M­Ä\W ¼‹O~¢ÆçÝß§»ÑèªïÊá…¬j¸zj9�˜^6ØÛ™íî83å)ÍkG—”%E$mM*JˆXnìAî+Hû#f / 8Ñ8ôTÚªW©‚u’/ ¤©í×aŠ:�¯¹< 1ì%®ÈZ—1ÈŠW¨�A§,oeó'¥úã%‘–`qíþQ˦ 6siT°˜K8˜†ò°úø÷ŸLaÖüÕm¯ÃI �2øÇÅŽ0ñØøšE­õûá’FÇÝŠBíÌ"�¦²�ñÆúo¶öý~8¨¦M‹$·È÷åO3 û¨ê=oðÁi¶‘úWˆx»¼+V_ž�‡Tx›�bOÀbË){χMxåSÅ1†u¿2}ØL°›ò…bíó¸ZzH\H±T�.NßͰ™cyFSáˉ¢Œ¢‹ÆmI1Y‘­fí�|~Å 6Þße"t‰�¶§Ôocúã™`†Õ"–Ü,S,°•�0uk‹c—çé‰t[]äU¡sIó(Ék…\-PΰßO#…Å©±æôS3H-š9¼ ¤o(+ä7¿M†3¦.“ŽGp´c™ŒuCÓ•¦8Ò�óEœ WI#INgáûcÅõ&ïÜvÙI—{ü‡…ÏFò;ER,¢ûéÿ�Æç�¬óYz†ÈÏïæ™¨•¤v€³Iá¥Ëêæ=1S´¶Ü( ` �îkKy'÷ʈz˜ÔÄ< ¼¤ñ—á9ÃúiD@<(vV’¢euÑó«ZÖß‘ùamm!.V=¢ýSù†g—ÐFž ”†}D¡6`z„âÒÓÇÊ”ƒ}𜪦’)oLÖ65¬ ßk÷Â$Ó¹¾bAÇÉs `Á_4Û(F¦ÎãQ#bOql(ÄÐÒkóK‘ÛšS«"Dȉ7•¶Mì;ÛòÅvÇ�Àå(Cç/ô“ÇT€Ùѯ¤n­ðĽàÓ˜Š8ñŒü”¬Ab�Ê–Ž`A§ðžÞ¿®4_Àx4}“ ›Ÿô�*§/㺉¤ÚÖ$iÿ¬ÖmòŠꀳËeÕóWH¤I!<±³j•@$ô¸Àj /ãs^4oèŠÌ)ió::Œ¾i˜Nê6<ïúm�-Ô4Û{‚¬xNs2E.pÎhªrÚÆEWP�¥–÷÷[½ÿŒa°w›.›orT 4ˆ÷$ë¶¥6 }?+bÈvä,ò›vBÈðÕ�B±'B>g q¢}Hþvd{¦"2£É ºmK{lÛ{âèÔ[·?ËJÌ~`\ÎÊËE˜Ç4v‘T "ÜÙ½O˶5™oßtNÔ’•EP�<‘Ê�dpß…»|pZ˜ÙÈS ÖÞm6‘øð˜‚ʤ¹³¹G‘·Öø¤ùvþ7äšÊ±›O$ŒÍKà«4꤃¤ó{ㄽèåK§‘ÿ*^‡Ã&f‰P±_îßÛÁg �ó~ û¬ÒDšZ YÔ�½®}7¶ÙIE JlÒ¸}Š–¨–J‚Âa*T‹ÚÑۡå†ïs(ò®ÄÚyÂ6’¨°”±jy�ÔXr Öã¶-îÃQ:W¸œöåLÓT²j©Å%Æ™0Üôõ÷rÆtÚÇm_ªè¥sNâ-h¿i|,ô•’f´1x�NLŠmøvÜXc-Ð:2ÙY\„�‚µ:Ä.cp«aå7¸aënÝq¢Æ†�äÐOc‰vQ&XÄŒÈ4(·ˆ¯Îýþ¹ƒŽ*ðR劜³:‹ÓµØhIµ½}Á¶àÿä ù…»Ù98 Ó¡hP�ߊôô¾ß–IsO^SÃì�D%4 Ò탗Ž×¹8ëï°{öÓ†BSdÚMäû©àJ¸Ë( ð6ûXr÷oûà-Àî£^É­²)⯎ȊL*ì*h)ÁÄŠ+8k¹ì£˜GDuéC³ X1RNàߘ=¦h;^~Éd<ºò;)9ˆêÀdÖ ;mcc˹åv5¤,w–î‘ø€�¼|ÔÕ1e¯›ÊªÚ„¼¬I;\£lt0Ž#‡Ù6Ó¿E!T‘ø¬éP­ÆÿÞ�}×ÜG"=,=ïk³Ê—z8òŽ‘Ú¡b™V# Ý¯¿ˆ·±Û�ö8²âÁæiçÓ)Þ¶m{ !¨U¼.æÝí ·¸V·+ó#o×p!»Xhû€’s¶8Z×€Ò¤áœ�!˜™õ‚7ÐIéé¾ß,$�÷õRÒvm¯’~š‡Õ ´ªëwR‚á¬v>¦ÝqmšñgÃÏçÿ¤MóáØGÓ½5lN³JÆ#æWQ±nÄ|v8°Ð*ä'äˆIxü“ˆ’Çÿµ˜Ë$eK#Ûd±üWëkïé…ÊÂEq^ÜýâöžSÍA—f”Sey½34S\»ô…ï³Ó¦1:�LŠ@ef쬶ëk�Úç'áZþÌš;x”2Y•”í åð"çÚ]CØÿ øUÃvbÊ‚h£c¨²_\l¼Ÿ}Ç©åñǦӋÈnJâC S±¼‡ïeµ1¾ ºŸãŸÄ`Üæ“ëôJ–'�¸¢`š:fS*J-‡;J;~xï ÌnÊ�\ ŸùR”ßvœE#I FQ§m�7·ñðôň¡�SZsî¹ÒÞ\1Ú‘­Pôî50$¥˜³òÿ²ØÛ^qöá e5çý¡ššMP±T³.†b@]»ôð[ �ud{¡kÑþQÔHÊÑŠm ¦Áõo¦×ßÒü�L6)fàÜÂöþ+°š¬–9§†¤Ç$Gxæ>�Èç\[dŒp´3HöÿM£Û÷iñ4‘‰¡v‘¤Ñý'R,–ä ý:Üá¯%Çp Û^Ú9Iš²ì³À“É)Oë!;0ßÌ=zü`"-fÂ'³sI“‘O÷xcóG$MæjÍN-1…¶*íTñ\áUD{#©jªig³B<7[î×${ý6÷â¸k¨4~¹ó·ÿÇÉI4´óÆäÈZ7¸?…�CØÿ8ã#[ø‚¸�Ã…˜Þ(2àTmnÖëÛ£!4NW/âR1:ÌŸDWØÚÅO0é|ºÚ.ýS#|e¤j3LžpúÅWöÉþ=ýzâìQ° qÈ@ãŠjhÈ]øŠÒßR¹þxS¤Ýæ/O�äùjŠJÖ=çҺрFW6}ý7àdaûIüѱ¥Í$ãä˜z£JDY%ŒX¨<¹þDa‡RÐêhÀû«>vÖñ¸+Å}yB2ªšT¨IÌdå±ô=0�K„¬.eåÓåvW.ûDöwSÂs>iCÏC+ÿM‡ÿdt mn}qŠÍ)Œî¥B]¬òQR^È=¨¯²î)—‰éè ÌéeË3¢®‰‰QQ],�=û[Ä;ñ£ÓœÑ(tƒ…±Ñº�Ó;q=–µš©wTV�*‚/bܹߧ#òÂ:‰”¾ì~Š–£PK«ý¢a­Á,¬¡[QØ�è>¹aL’¼­'è«´�ÂÊ’2.ˆ¡pXÁÀÕkôùtÆ“»ÎüŸšáø9I¤¨Ž9C– 97°äÜ¿?Ë™Wx¿t}ÈþJJY’ Êåö±²�A$ƒ±õý±t …QÑ·—¢"’êæçVÂáO_Û|2&‹Ø0�¼,êPt9R.@'{|¹ì,Ódg<'‰ÜM´'©j4‡s"ÇP Ø€F®ž+Äò@m„ö�ËÍä“Eá“NKù€e"ÖýÇLh2R[M4�ÁÅøýL‚8³™.|»^Ën_çaæÀÈ÷VeýzâÁ%ØYS@Ùi."özVW Q{r@þŒ)ÐD@Èâv¼`pªÐðrF¥%žP.·êXYcqäªFÀ•Ìåbþ‰Ù£q±½9ã&] ÷Ýc÷õQ#˜ÊjL×…ãËâ“îô®ñï±_ÁéúánÒµ¿‹ÿI‰§ÎÐHP‘P¹F1ÆTÚÄ Ü 0i¶ äN‘”ìz,}ÝÈOháqk�°ïÿCæ9÷ºñûÂ)"ÇDû!¿Û^›È ¼`]ly�~)¿š7ôPÏŒÜÕ7B'ZuŽ4kîN×ÁÀíοš7 ¢ÜyV†¥Ä1Ì¥–× ~_‡ÊÇ“T–$` Š¢…c$³¬s¦¹�Ø6#—í„—´Š¤sFæ»j&š‰e-,a•ï{ß®:« ¦Fë$B±SÓEhüW †Û±÷à9;Bc¤qmú&jËÓËÜXt¿§åË¥ä )lØx4´gÒq&e™ÃNi!Õ{‹Üz‘צ1µ-šW€ÒÌÆß «¿P×M fu5J jS}[íòÆŒq½æÉ¢=Ç›uî™âÜ–QVÓEVÔèÍÉ¿ü±ã:†ö<˜Èʵ.œcð¸§�ól÷.Í士ˠP[RËá�¡ê<|ú^·áÎXøè�Í`êsˆiQÙe™fQK-tæV×]}1§¨ÊÒæ‚RÛ� c’�?Ô‡RI`ÃRÜXÜzâä¯-8åAÍÁû‚ªµù¬�ÑÍ2J@@|½Iþ05sۀ¼cÝiÑW[›U·‰­ÖF(ê· t[~W7sh¨x%¥ƒ…³x_"¯ ŽU«˜»X*›í§¡øãÑt×Ì F§æü•†xcûÒxM"°Ù�Zû�}?©c”¯f+óG"h|%’)æÖ6æy�†[§î»÷VZàã@aiY2ùQåc'öÛ¿ú¤‰¿�Ø´-‰¤T|…L#&QH! lgëeesÁâZþ4Nn,Óï8t/Üê?‘NdŽx>ÿJD<1µ|´þ"‚ªJv¹ŸCúb‡R‹w |ëõVc‡Ë¸©x·-œI.b�äv:e=­±â&l‘ÍG…ORÁ¸*¦ûÔLñ>©ãænoϯ<^¸RTm³æ(?ä�ÂF¼ (ºžÇ¥·ÂXòÞ5ú!L†tóHƒIZã©ý±a²7— NŽ'7ÈÓÏe`Ëš9䊡V5[iunL:þXÑ� ›#48ï9Vi)HÀS#.–º|qjhEwOlm» ( #,k!�ÈÊG1úßž,@Ì2}Cœ×m(Ø‘çŒ2ªªéþ ĵ¶oxÛ¶ÝÕ‰†àÁü“©"ƾ2²Êày‡Wßcnø"ƒHl†ä}”‚$Jº¡èËÿ�/ÿlŸÓß�ÎÏ3m]åªùR‘‰”4QG&“ ˆÚæý·Á>3\+aŽº ‰ge[e”6Ÿ.Ö<Íý7ùáR Ã@ÊAœXiRy[¼…ÚËë±µ�xáe `WXà8åM¤q„1) ×.¥ïå‡|ˆ‡^ã¾Ê³É‡º §«§“*«*ñM}�»zeêôåÖÇšô*ä84‚n×4ñNAW’×O ‘:é:Uƒy}ãÐâ´¶¶½ÙX\ÞÖUm�áW�î€�€Žqr07cƒîšÒ ·rž'KDŽ×¥6R¤fÛ÷úßÛü#üþi‚7´å¨è*¼'“UµØ‚ ­"ö6þá·»á†éØK-Iàºí9U”ÊÁã't%zràßí ^=Ÿ6-I�Ò*Í),ŠŠHß¾ãà~K´Ôo'Û²‰ô÷žQJÂtX£tyÂi+ªÚ­úíòņ—6€˜ÑtÇr�¥�Ùf‰µKS¤ _fñ÷ÿ"ã—p}”º3Æi7,®0@ ßqÔXn1ÑÈJ&Q;dLcˆ´ð UÍäC}Ç_ßqרÓ4 qFÐZ-¹¾é§¨¦Ëç…fˆMNÂÑHO+Xúâ›ak�´šFZ9Û¸{•"õU7˜G†×ó[_§®4DTw c€%£Ÿe+h !”'õ,Ñ?üoÊýýFÄçØvB€ð3uù§%�b ¥¤ÖXøn:Ÿ_Ÿïˆ6ß0¥€‚O)Øš¥YD!®±…6\X�ø‡?+L-Éy)ó[<Ç:îš#m<�·Sêl[» ˜ó^^ °Òκ'i ’(;+mw»‡ˆã°W ¢O9 �3ˆ¨/%œøv6)sýÜî?Æ ¼1ÔõÍq6# #©êâ‘FLŠH–6ÝVû\ X›5G‰‘È@8G´ÆR‘ �#m·¶Ý,{|ÀõZ§:ƒ0~J|Ý”œŒcš 2„6#Ìopzþ_  �c·«S6ú~°˜Í)2Üæ†\·6F28UÜßÂ$ÜéëËC¦oó·G�ÛD®qÏ8k1áêåËç»P.¦ŠPß�~jzW˜§§ÕØSÑ)«*$œø�¨�›A;އÞ,j´‘ú$¿PoJÀÑÊÍ"ðj+s{«mp{[§k?GMƒn)Ùæjmh#*„YÐýWÒü°ÆÙ4›ûÒ0 öÖTœRÏQisæ$¨&ã�娋bÃÇþYDÀ(»ÑU’\G$¶ ÀÛÍßM¾’Zö:Ïó‚s h=ÑÞçm¬¢¨êVPаñ¢rEÛñ_xåltÒ‡6¶ä{¡ì²NŒ³S·€¬è®. n^Ö·Ë~x˜5±ùÒ—°`Ì£¢©h£HÙÉçÊÇ—.˜» 8ÛˆBÆHÓg þû¤ ©*cU�_Ç[±ßnmîØ`÷Æl4cß ‘¸‡Tœn�Ib²©¼¿ˆw¹æ{à‰·¸‹¿Dá©vð†}-*Úÿvü¨à�Žo†Ç¬Ê{œjÜTÔ5QÓˆÑ#Ó¨)/üM÷Ütï‹Lš…F/ºï ŽŽ‰é`Ïiª(3$™âpC$�pêG58«ªoŠÛ¿dm ÕË^Ðø»†ç©¨ =#6¨å±ÿúIä ¹ãÂaóUr6þ²3´•$Å,’2…Õ}¾6ï¶ Kl²´ÆM….ÑN ˜t²››&ö¶àŒ H?Š‘ëÌ8GÃW ’E:XµÔ‚mÏæ´Q YÎN?}ת˜Sˆ¥óÔ.Èm¹7ßë|]ð�ÿÄ’Ùn?5%÷דIg´ªæÃÓ^X˜á³Å{Úç�ÑžþŸ¼"ÖY´„F’ž`@÷|6Ÿ£Úh8~h·8b­N´ïó5XºÜøl„‚,mb=vŘ£ió5Ãä“�‹ tâ—Ã6�/³_k‹ŸL ‘€7WïÝ2`7óIR“M,z¡`-Ä7Ü[þ�±ÁÙÚr?|"6„ÛË+DuFÆ÷%4î=móÃ' Èÿkœ ŽR…™U¢�+áð¹ÁÀð>éaàÛIO # W\FÄ·¯C‰!Åø6U¸ËXÊ Å�áGYI€­º{÷Å™Xí¡Ãý¦‰mÿ5]FEL:V˜Øj;Ÿuð1ÈC(1öDøEî"Ðq8GB†A«rˆ7mï°þp1)Äå!Î.u…™ä×¥bP<º˜ZÄ[¯»¾,HÐMò~Êw�Ñ1âËè&ñ’E¯øqZÿ´áK-Ôàp˜y÷²…b‡E÷bÔ..fãå9 EAâMÓ½÷õëüâY;Zýã’˜èì e’9C,²¨çn·ì}pÖ1îu7„Lˆ\ÞM͉ I»sõÁõ®ºÿ?tï UkÕ­Œ�ÝQ€5®oîymƒ‘–íÀóÙÚ ·i%¤–÷³ s÷în›â¬Œ'Ìsù¦FãGn~h¼H‚ÛkßͶãùçòÁE#ݤØSã_¢ÊÎÅφ¾S呾ÿ[àšæ_�Ø÷Âc£¯7 c³"£‘bG;ýH™Íò´PöQºÛoû¡¤mu)*/ÌoË�ÿ¼,Ïì� Mi T[; ‰˜ ìI¶Ëîý1r0Ò6a}ìzqÜyõíöUØÏ•¸ù¨åË•¢dv!…´0Ûüâeisv‚Ÿ™ î9F G¤� °Ðzs¿»£q'kÔK™E�¿º›¢Œªã›TlÒºê!–%> �±ìq™<r &Æx d¯Uá$å$d>Gíê|%ñ—|Ô<‹ÀVŒŸ+Š‘£EŒA»6øzáŒa¯9DaÁF×äô¹¨:ï¬XC˜ïldõ>‘¼çòS¬4×Õjþ"öm’VE2ýÎ#1[+7ö{±äuÿ Ä]¶Ê'Çx'Ž}W1ç¼/Q’4ñÅæ{i+k-»�]Ž2™§k±Ü,‡é€³WîµUZMIQ";“7@!OoËz‡lòüÕ?åØï2®ÕÑC5§˜´‘iÜû÷錧é£$ov êËVÙu=¬i`ŽHɰ$y”úòÅ�6Ž(ä oòC •s)!D™Å• òF¡üsÅÖBZMŠ¿²nÚ`ÏÏþ†éâ¥9’Àj:�öÂšÏ ÔðHöUÛ‰ÔÚýP‰$tò•hPªžJúë‡Ä#�þݿڲçA¸)Øœ¼²fgBK�~�½ØÝ¡{ãËAY¨¤)Ìidf[ÿRËkz⌠1ØóK ý�QÏ#Ê%ySAÿã7ó‰{Æð•\ Í /O$/$’ªèaÉŽ¡ßŽŒnò¡/h3êµ/æK5}]5Iq‹ÇcÈt·{cZ÷Êîr`FH*µG[$s5?ãBOÄmfÅ0âìžÞÉm.[ǺÙ1ÄïCX"©œ”çÏa¿>ØÖÐkš?Ï Gâ¸qè·†[Ql©SMPõ~zŽ`ŽØôRéÄôZ~jô:�Ò›Ÿ)Še1TRÄcai$vî9cÎõ~‚Ú /ë ‰~>~¿E¦³œ‚Lб£azS¼Doq~øÁ‰›?§'d¿ƒn8üÿáSs 5ªRà·~BüŹýzcBM; -Š]ø9÷‹\º¦)L…Q…Èæ öºg4’|Êh Þ]—ÉO'Œ#"µ­k÷ÓP´ÕBc$ÜÒ°³2©ˆ@ñ­Ê¥¹|kôÆŽã´Ù8Z6ãÙ3Tˆ­O_<*œ þ‰¦"—‘ÝMÓÝàJ–pj¡kH.lÃMÁÏ/~/U\ �8áÄXN£³P&*÷ÿ¿kþø«â ø¿²ykªÝÙY‰ˆÆº•6EaÖÛ{o|äxÅXüÐvZìú'AYîõq�©šâÞan¢þ£ü-ùì›§2wáGG#R2ÓHLÔ„Ÿ À·”Zàúí¸ÅÖ–žB—˸*ejÅCÄ­¦=6‚Û72;zo†lØ á)Ò,R TÀª‘2�É åÓ¡ºõëŠFrüdz,�ÍC„Xy"h!We a©NßX™/— *][¶ŒÉbW 4ªCs£ÌMÐímþxµÀIÕCÉsƒH³ì¤UK¡%Ê»¡�üc�‰ï±ùbÔM 4ö–ù·ÆöRȳą­áºö7ü¯¹¶Ö8#²Ñÿ¥Ä1 8£!’s÷i :‚’Cü`t¿|6=�&ù¤o”S0¥jšW�‡¸Ô¶ÝXuöÅ—ë] ÚÇ`Y²Jô5RËà†‘+ kê#žÝ:o‹ o àû l݈¿ß²=eò,‰¨1³s¿!éé€t`ÞHù¦°Šº´öc–Ræ´‰•UÇ«%Ã^ût±þß~0uÚ0ÚxÉùüÕÆ¼XýþKœ¸‡+­Èª¼+�Ò`MäÞäþX­¤×5ÏÝÁôIšbÑ�œËs'bÒÇ$X9<‰6çÐ×VËh•!ÎÉI½p–¢ž²/7Kõ7ÜLX’m”ÁiMŠÜN1ûÂ1ªài†˜Ded³"±ÛmˆùâÉÔ0ÿõóòBç 9ÿtDòè… MZHѽŒ‹ÒÞ£¦ Nâ m°ìÕ|—…bÉ!x‘cPͤn§©·"9ã�å Ý©’B’z¦žDá!_0=mnc¿œ±U›‹¬®™…àíRÕifJÈÜ9o6£»Cñü±bÀËTB÷8aKGTÒJ%�š)B�1,£§ëîç�ƽ 4esä-w¨öRpÕÙ/zYI¸'ñ_¨–$Ö–”Ò×:œÑ_ª&JƒC8�ÿäp§ÝÛnXT cGš«ßý" á¶¼ÓÆ�:ê’D-}—ÿøÃŒÀhúÒx`>cöS4µì (Ï*ø@�KÍv{¬pÈ�±i®�w쬆»7�(*¡zš9c!�À==ÿã,^)$ð=¿5'y„ý×3{GàµRVÑÆíEr# Cÿ˾1¥ÚH”›ðÎV±5m"Ç] ‘$MK"©?úôÀ²g´ö\àÂl‹NSÔÕWUŠEÚÊ»ƒ¹½»`ÍVE# Ç“(™O�uqý"Œ ÈÿÇá~x¹Av—ü¤=µÚŠYYÐ")% Ùn îËn¸™cvA ¢í! T­(*ËøYI¾¥åϧ\;I«2Ð3êŠ];Aç”l¡Ü9‰Ð(¹ gë¦, aœúðª¸ÁJåbPJ1°mö¸·×,$íÛÙ3c*ÞQ�T¤ªcugˆr6ÝwÚÝ·Ã|2ôCšrhÉ,^ek\pr{c™µ 4r˜×>ɱI¸ä1³Êk$ÝXlýoëˆkÞl“�@š"`hÝÝ;Çvm/§I°#˶þü\Š`ñY\ÆÆÓÏÛ”†•J±�6 ¤ßOÄû±sPÖà7õÿ [¸qHIŒ`é³Äâ̤Ÿ•ºÿŒ n1 *Û¶“MçóAÔÓ¹Q%‘íù“�l·’p…¡®'²ê?æ@±ÕÓ¶ø9šÐ*–Í´á 4²[ʺ±µ†Ç¦ÿžØ¬àA%l¾cÄ»Ê�¬ŽÞb·Ûß‹;¬–»‰ÑÅ´e3 J¹&Á�ík�ˆÃãd8|©)Ì!Û¹¤Ä³CuÔîX‚nO<\3@噤ñE6X¶‘ ’`O0?#,;[•jG°·Ìr†’ã_[ÊÛ�Ýå±ÜbXÇ€&k쑟»Ê>ègTËkµÀ·?Ÿå…“aã÷Ê·oo(u¨ŒG"4Ü·ã cH��xŒw²ÃÈ–k±ß¸ü¯ßÒ\(Šý5æúК=A&Çñ õ Ìkh�_$14’w%1²±m%X‘¦öóÛ|5€Èw“[{&˜hØÏÉG8óUŽÛ±±éÏåLDýÝúð­5øÍ£Ä“F’9ó 9|0W¿ÑÛ¶¼¯‹‘±{²³é#E‡CÛn4ÔÀD…têÜíÚÿ[àC—Q+!ˆ%Û°'™ôúå€9RGC9( hr¹åo×®8€{+&]œÏJêc±óß–ËhÃÈ[‹†½¥ÖåÒG'ÞäN\‰æ=ÝpÖK\cóMkˆWoû$ûPfù´Ås)b]Š�gH·ÇÛ3ʳ ÞBú×ìgí…”çiKI�Ô…?€>¯7Ǿ ó p¬Ûb•¤÷÷_L½™ûiв8 k}±Ó¨6�Ú×ÀI!� •çuý�WPeœw—æ -:k ¯ðµ§êe|ë]ÐÜêV©¨r¬Þ‘Ф¶¸#®ØÐf©² ^zmgjUüëƒaŽ˜JV6 §Ì»ÛÓã‘»ifM�Ú´'pU\mâÃLÏm�§¿§ÂÇꂼ¥«3>žŒù˜­9æ ßI=}0 i"œp‘¨‘¬äeSeÈþç0F $G•·zaoor¶œÁXK—&¢šÐì.97#‰:pEòUC¦~à Áî˜XŠñèy-ùŸž%¯nßB=Sf…×´äw!dG,a‹3NâãëÓѸn¿ºŒ°S[kÆ‚ñ‡‹Kd_ŸÃ÷ÅvéÚƒ”é(ÇŒ~hˆ©xs1fAÎÀØ_ ÔDç6¸?ª’ÑµÇ ¹i˲\­}7¶ü±!Ÿ€YRQÐÇ$ZÖ&ñ€±õú퀗NoËøS›¨j_Ä¥E¡X'†ä[~žì¶öá9Ò´à¢ÄðÌqªË‰ÀÊá\"m»Â²xjég�«†^`{moLdêôÍñ-žF6›V´¯pœðØ4«‘g[ov<ޝ¦µ¶ë°§RÀáåíö\©Äù4tYj %nHÛšý_š�4dgyùY»ñ`­N¹ŽY=q‚ŸZ««ÍË}¦ -ƒŸ²¡a®ó¦f¤žŽ¬¤$Ém}­†1òšoaÙY i%Êzž}£JçAÚÖØûñ}ïie” $ã²–‡ÃXœZWŒ�TƒÖÜÇ|H‹ú|çìŸ$WXŠje»bo([ôØ„¿O€Oï䡱–ð+õX†�Å�c�ÈO�éçõú`å$~Ix»´£i¥ S,nãÁagVäp—Ä ç·ü¢|{�wGæ£#§†Ž°Ò�!G&<˜}~øLzfYhäv) ”VìÒ\‰®9`›H�‘ÈóÛ˜þ1Fm)s·4XûWÑ0††Õ­Ä4²Ç_Q‰á9BnAÿ;ãËê®7Ý* =”ëÇ¢ª3J¶Ÿ eKÔ‘îÿ¬S6ï=%¾ÉÜU' ø‚F¹Z�ø6Üß˃M´á ^ñ‚>ˤý˜QTšiküG‰Å¼£{Øô¶=ŸB[¼Q<¶»-ƒ™EWU#µºá‚�»üŸÑ2ƒdâ½S7‰•ªV%U y@¾«ó÷m€,ö^†ÈÚòކ+‰£+ãXµÏ÷�¯ž, €Câ¶¶÷ >†¥ä‚¤y \ïm-¿/×L!Ñ5Õëí„á)š~å %4”Õ,€Ãi�â6 ;òøb#™Û©Õa+Ãð.Ñì bËãé*ÀÚî–üýq>{¬gè¢`²%Ë#¾¢£N�[�aþ ½øaŒ:œîB&‡µ¸¢=Òâ*iæg2@EÄv$>ýÏ#‡¶K²�„ÝŒ©ñ{BD§J�<�@zøyÕ6…y¿%ÏÝ{�`ü”–[>©§„"EV.¤³�±>á†éæ EÓ4¸`}SñMK¤IDp±c ›h;Ø�Ó㎊RþM|’¥‰¸eJijÀÈL®da³1ÙÐr¸î1Ï{�Ø tGk|ÃóF¢ª©kî ìœþ?VÁÅ)��¬6S$…ÏiÚ(|Ó”ñÉ¢¡KBK«bÝß¿|]aÞß(²…¦]Ùv”®èc£šmHôåúsíûà]£q �“Ê´&¬55˜ä´™í”5L©å�ôïqÊ÷Æ+ú{·Þ\¦7‹ÿkŸó,ª§#¯4R¡}EÉ zþ}q:S¶O=¯’C&ì1]–iëPC#±WŽádÕ¿È£‹Í�¥ÎÙOsIpyRHž±kÞb;ÿ>˜8Y!�‡JÁmRB¦šhÙ_ÈöäI´våðÞ؈ ¾Ó˲}’iA¤’FDQÌÛ¸åó热uoèŽ) �·„b‘- �8$¯ü?§, ^Àûá1åÎm÷^2y‰ƒÔ¹K©FãßÖß 3{ƒ¼£ aû[ç5î¤MA*iîÊÇÎ2z�ùn?³so(;;''(@h9ù%Ò´½Î°@ü ߟ-¾þ¸kÁ�U`Ý€yöY5¹ŽQ¶›éôÿˆås‰]#!ÀÙ?í!§4°ÝL<Í…€ßHiÎOÉ21çñ(úÊXÙ¼l¼êä ®{ý|ñÛÞ3wóÿ ÜŒg5_%ÒÎê<ìG;“ϽîvêJ10ÇÙ6d‘‡˜imùlX V’lR�¡�ÜÞS39,¤’ŒNÄln}ñ`HÒRM‡Y¦Tj*Ò“M®/Îß@[_´VÆÃ’¼jEʘµßÚW�êpWSdu•犪•0º�5lkA¬hò»•áu½ ûí^`¢ËóÌQocsq¾5"”?ºÅ—@ö û*ð[=$¬"Vš×W[ ùŒK£¼µgM§Í�•Ï™¿  $�‘½…—cè;aV’í.Ï+TìÃ…^ d§•…­©6½»Ûl  ¶’êz‚Ìòªt‚=!·-·߃ ª6•4EÍó6Нˆæ,¢eñm±cÚý0XUáaºíì�WËáòÜ«õS×üâCZá|&<=•å¿ßª�¬–,ô¬È×µûŒT|›02­:ð\š¢‘ÂÈžqÈùo§þï€3yvŸ¢«ü«‰ÜÐIù£Ž£"ÆdU½Šÿò'¯§LDaÍ_š0‘´}©DNõ‘V\›„7#±÷⣵�ÜCø(Ù¢»>ŠJ ÁÔˆ£žËº›sÆ»“Âc›ÆîÅLRÍ.Ñ Q° w¶÷8ùi2=9ݸ(ìÇ+‰ØI/áµ€"ÿ¶0µZfœ“è›$dç²æ¯jü<Ô•Æ–˜=3©7·]öã«Dvî‚§Ô4g×ø\i•p]m&dõ3À˦ìC/â¯,xØ4î'eI -¯’œ©¦PÍ#G¦šÖGã�Aóje€�h@ðV™LÊ|ªRÄ[èâÓö�¾?¯d¡œAÜ椨æ‰Õi¥Q«M…î,nxââFSNnûú!k[Å7M@+X�±QŠo˜±¶Eù$äÚHÊ#ï0$ ­ÛÊ4‹Ãcÿxè@»s¬ª8˜o&�ºŒ–°ë…”4‹pôåÛòŦ<´PL‘¼öVUŠŽ¾™.©@ ù\}_ݧfíÄå,ÂÃŽ?~ʯECìÑÎ.ñ±Åif¤0ýRÄTl+>È6§Œ¡Xê"&ín¿CZ­9‘›Û’xEÜæÿ|ª•?æõpø±${lú¿»•ýØÂ~†q‚ÛÉh\·ÉX²~–,ÄM™XS‹!¼À÷˜µÓú;Üií¡ô\í!Ø;½2¥Š‡zg“ÁPA �¨÷[¿G¦¦ÑØá ü'=íZ©&x¤‰àPa?Üvó_•­ïÅí>ŸÍ°�ºç0ÄÛ¼žTª"HÒ,¨Š…Ì.ýúb·PéÅα@ñꊶÜ×Xû-mÆ™ =`5”(�<ø¶üN;ûñãõºÄýôHôPíwõEj�Vwœ¤R‚@&Öì{ápFyà|ÕMóŸdYyIÆî­Ç0O®-Jê¦ØF.ì¡%sc),�ÈÜÜokíË|VdŽs¶Õþ¨ŽœÕ°›ôRÙzQ”¿Þ@!wØí{‹q5úP€9»Èá#ï$—k„”lÈE€8)K›ä÷ÊnÝÀÙÏd̦8¤æt�ŽÌò¶ÈüÄ�‹Àòçꉄ¬‘4o L£ÈÂÀÿÖ:(œmÃ'ÒÓ#„2�ÿpsBñŸ¾‹¨¸åè/‚±VNõC<4ú'²n(Ý™*UŒ5n,Þ¸¬æø›€¥º]¦œHýú©/½˜>¥Ø�âÖtÃãŽ2  ¤cšk~jf–g´`·†[•·_ãôÄ ^GùBZl”ºuRRÇø¶ÔW–=CI·sï„ÖÆæ�ãþT�4ŠÌôêÑØj×±·_ñ‹Á°9KaqvßÍ;WJ°Â$¦Ôη-¨~1Ðß÷Åômp±þU¶E°œßêµ�dTóR6kIÂßZóÐmúcÏê¢{%¨Å5s´l>~JÒot’iHuë¨rÛóÆ„O¿+ŽQÐßeˆ§y $ŒÚù‚y�úâܯ%–Ì…>Wc²*–¦%Uò>}ÀÔ|ð,�xãËè—4-.æÓÎÏàÉk VÌ;ó8–ÖêÈÞÃTM×jÀLƨ8$B¡�õÀ0ô·¿%q°¦³nÏä¤fÔ’E dä²/0oÈü1-–ÍDáAaØ´ªÄH‡EPÖ,¼™·ê{tåƒl[M¿d,ÚÖà$¤þriÕMéø ÿÎ9¯k�˺âß I’XäD”yjtó'˜ï~Þ˜—Êàß(µÏ�Ädûõ^¥¨Š®’ZZ„Es¦@7ŒžD‚ø‰ .ó9¢Óàkyà —ïP²ÃQáµH#(Ù‡;ßÀ´u.ˆöGÔV¤°¤,oTÂϬy‰æ=1Ò5 ómH‘„yBj*ï2Ã8k^Ì­)µ�‡,- 8SU†ÄjÜŽZÇ”:H¡ŠÜ#r |2Fƒå!tOqÀÈCÑK}ä*ÊÑ0%.’æÇŸ>X³§.a°-VÙÈ*‘S=¥.Æ¥­¯m{lw눛Rk„ó§k€ntÕ,Q3¶¤%Ž¢n�m·,r¡×•]áìò†©)§Ž <37† d첋r¿q‚ˆíi>©Œ§·Èÿ„ü5,(Dö�Q¯Ðú[ ƒvàGÞðžà l�¢7ïcÂ$éÐNÆßø�NWÆŒš§”�ÒIè*j$hc”xaÞ§¿×ï†ï2ÇXúR=?‰xtæo•ÑqÝêxᬲ¤ŸLbO§vâ#o«M„“g¿ ž3Z)rÌÁéjB£¦ÌŒÌ9�ú�^¸L:ƒøXRdŒ‡]áf…aþ¬ˆ¯ái “°°±µû_lhÄÀûÛd�͈ä‚)ã;–Œ :VêÊ/p®xcü.£Û�U#j„dªÔAoÕ}vå×|£hóX¾É’8Uɦ¥¤@²‘¤�¬[¯®Æ’ÒÑ’UV¸7ÍÙ;?ŠžaÒ ÉÓºØû±jà䢗MåõJpÌž ,c�6ÿüȶ×åoךv´Õƒþ²�!)Y©�+GJÇr£ñ_‘#×|9’´Ø«†�å·ßõú%Н‚ —MµÚöî=öë逖`ÿÂ~ˆY�4jÑÒZ±gÐBi!”cël[c€òƒÂ˜\ýÖì�^Éù˜D¡]5ÍÁÞÞ–íË|>³Iü“d„“¾ÀM‰ÄÓ´k,at��{ß·Ãø­ÖÃôR!Š~*»µ9Ac°æ>=~»áÕTHátfƒ¹ÙNK,lÊH‘kyúþ˜¸?ðݦ>YÜB:bpÑH Æ]€ƒÜ˽»{°!®'{O’¼"Ñ´ŠÙ* øŒ ˜p¸Ãâ•ÄäR|�ù8¤Rf0½ÿ£r·¸`}?Œ[‘­6Á÷UÛ`"DñÏz„HÙCy×Vì-ÏõÛç–Š<„×F+pû"¬ÉN$ñ£^àd·Kû­|\hmQúp�ð< ÍwÝ—ÎÔáž ‰'±î=pÖ6ÆM�E{JM\˜Vhæ¥Ìè祫�ï(wmBâÞ€î1 eáݽÓH±»þW?q¿MÃÕrÔR‰^u©=Tô;rìq•¨¶šõú¤†×cìµwÞœËdÒeúOñ|UŽ-­É±Ú©t­ñl#�|È "6ó‰ß¡bóØ6V‘!ÀhýU¢Àí ,Žl=/€ƒž{'‡¸4 ²š¼ª‰ dê=pöÄç6ÆLÙÀÏÉaç ¥žþ"þAÓ €=£úƒ>F’h,Š£ôª44M°ñ¡2m—”…СQr %mXn ”a&ìËh TUZgw=ÝÇbNJ­gíÿýÿþß��é¾êöÿû’@A€µG0!ÀDãö#8 D; ˜ÄÁW£”4˜LeÈ‹–JžÔª´ÁD1(¦Q…+¤T{  0 Ç€Ÿbu±ûŵݖ1È$ ›8\éPšû¸@F»ú[_ÿüÞ�Ö¥zöXÚ1]£hà3Ï!Р1S\¦°m�Ǧ@èáªÕ@€½q@)´Ôª.¶?x¶<û,#4 Z µ³¨åñÏGÜèüYßÿÒýËD¬¦¶Ôô�8”kˆƒ¥–‡H¸*E ´ÀH ¥&‰°06i Êd?æô*øìù n,ÆP둎v2·2Ë-<óšÐg8Æf7ÿÙ·ÿ2ì¶ä›¦Ð²�·RÒii5^5± hÖØí½éÔ �È}73x†=âêÛdõE— ®„Z9ÐE ­Ì²ËHgœ¨xu˜zµ)^´è¿ë­´îCÇý¦çáV1«JQ×Ò`]°Ñ¢«Äêt­Bt“{Þš ÐMj ¡/ÇVÍxí™�¬Â“O}ÆÑÊ™{œC`áÅÿû’@b€o#H1PVdXö ÃJ ‘#&iAP’$“ (à ›Bÿ?z™°qcÏ £è{ÿÿÿéNº³û¨¾7ï4²ãTMJîR 9¦-¤…ÝòÒ€Òb7Ås] lÌ}jšýÆÑʘÞÑ ƒ¸¼"g�E÷3»ÔË\ð©KçÜ!{ÿÿÙþž¹mÛ™Ë#�F«ÞÛ-(M¢”´6Q͇Ì5¥Áîá J)€Î"4ä­4 Ê“oß’ƒ4}ð\�NuŒ{r?H9_Câý‹¢Ë=¢v„I X>‡Þ1z?ÿÿþç÷_·Í$Y�k Éd (l܃š4ÊÉ1m©D›B„À F€Î"*�6•&ß¿( Ñ÷Áru>ùkî2äAúAÊü>)v+¢ö>öܺp¬qÐö»‘ÿÿÿô_Gê©�™�G …G§¸á(ÖîGé �æHeQ1!H«†ƒBã ³å6‚ÝÑ"R èêµm'8Ü8C†ÆšKK†Š‘uÚ?ÿÿ£þÁK.ìCŸÓM5‹ú7o× Xÿû’@}º!È0ÉPQÅy#L Øc%# @ŒdD1¤à�C12¡E\0$L}"u»‡•/9ÁJN‡¹!«i9À0/ŒˆpÛ�I— ¹C4ÿÿGø¬RË•œœ}W/M‹ÖM§6ÚÔ€.‰Cdƒ@¡üF'QUçhŠ0° 9¤MNÓ®ÓLÌâpÊÝ¡M÷G'êáqÚÿùÄÆÿ›Í”LÿùÃÈ\JKÓ,¥ÿ“Ì‹3?Ò%D(|$°ÕËÐŽœœyû~‹öFˆºpdžlãÙy÷ª -:ø}€›\ÝøoÿÿÿÿÿÿÿVFâ–ítõâêj†É,‘V¦™¥¹¥R<©ºÔrU¢‰¸( 4Ë´ °øèŒ“KÍÛ— ÆZm#ǽ" “Ū•†!‘Q�ŒèNÄ ‹÷�˜Û�{™ý rL‡JR�*•¿få)·¤½Üè¬ýUÖG1™egS2£líT[èJ9»3�ÈÌÛ˜â™hÌ4dÈ|$4(Æ¿E— ðg›R+tUl»¯ìÿÿl¿ÿÿÿÿÿÿÿû’`˜âbÉI)p1€°Á…$FMÀã¹c‰¸ÿÿÿÿÿÿÿïûWÿTªé~ûQÿÑRåm‘ªš­öfÙV”°ï?4Æ‹ªt¹!š}.Hiå©c�ð6ù‘† ÆíC"�²MöWhCÿ�Àƒ¨:…÷qèß µ60c…RX@$\‰&–$ÓCÔ¥+¯·Ùÿî+‰Ôä¯Ð' �N5„ís!$¬\ÂE)øºÝ ›ÔnúÄÒ|ɰ I¦eµ Z"9j,nÙŠCÎ3óüL sJ¹OÃÄœ0Ç¥ô.%x1 <ÄA’�=q-©C{iaÞÌ?Ïg ÅØù?SkM GkÀ‡«ûaÂ� ÅÕñlÅÄL,I¦‡Õv·ÞßgïÓà}ª Â§ã„äG‘&4P/`e¥ÎÒ =Ì ¬óàaAfo'Å9MKé T€4àø±2±"^Ò:ªí�‹Šw­õ¶Ë¤èFð`\ŽPÿþ&ŽG$#0,D,#JB"ÁÔÅÿÿ¹^¿Ô›z5iµLeŽÈx êŸß¬'S•:÷ÿû’@¨€TG‰éyÀ�„Èý=ïJ x�$äiAÇ$ô÷½(­ Åã@”0,ŽpÙKqþÖº²úw¿N �ÛÙu‡bæ}-6ºÕâÃx°ªC؆i�ô\ 3éHyé�² ÛÀ‰Y¡Hþ³·BÆ·à¨èPÑÑCï ˆ€¡åGÿÿg·û×îÿ«ý𬑹~Ôº�~²$@æb^Oáôi�" Š Ç–aCƨðôùC¦]xyBaˆþ�&~;ÆÞmqE4H%ô¯bj3„¨‘œ³õÜæ¬t÷•µŸS3Ÿ>©Sb?sne¿a9U3 ÈN �¬ ‰A¢ LzÀad~v²˜MÆs)b£)ë¼FÒÁúÔÂUí|é§Ÿÿÿÿÿ¿öíûù¾CC‹-LkÆ)ÇaÅ׋0½¡Ç5N GÖ*øòŠ|j4ý1Ò™Xeý\‡N}'XPk1áV#$Ó¾©M<(Ûݯ¼Wuµµ­×4ÆñXYÞ­ñ�ÿø¦³�ÇxR´nò†hÉ|uŸ9:äN¿ÒÛËçu‡‘­D<?ŸeûOÛž°»ÿû’`ˆ€àYÉ‘ˆp9!ˆ°"&m™&G¼mÀË㈘=K6†~Eü2?[)ɃAâG�{T@¤ÈÿCÖ�Ä^ƒŸ» îZ›kød—ÿÿÿÿëÿÿ÷Úƒ˜7JBØx2ÆrUB¦^qk r£STâZa8)�Á„cwËHcé[°ñx£Ä¬Ð°ïúÙtÊ„ÒY[¿^o#™èƒåÉŸÿ‘Ýå¨V{-f¨”̹ï—Ò-µí¹ÌÏ ÷}Oò4¼>é¹K¾Jm¹Z‹I²Fèî}8fÀÚ°ø�÷$0ónB"ˆC`«VM Ô,UÀE ÒÒ¤Œ4.»_RžÏÿÿÿÿÿÿ_£G˜OÑé!nºT7CÝœ¢¯ü+Ž|¾º*Z9.L‘@ÊIƒ¯š?6j¼(-€ë–{—p³Z;À2Pˆ–Õĸ’{–«ÎÿÿÿÿÿÿõwþÑAKÉ óR� I  ›DÏT¡õ5 ƒ’Al"Lr—˜Ü�AtNÀËË,©ÜkEÌC`¸™³ò:2ÙXmd! ¬v|”Û¢|ûÈOa¨w¥ Z÷¥ØgíË3sqèOË…¬?â"bÀÜ8þÇ]5þÔ(½µõ>ýïÇu¶j ®Âw6jÚâ™§½?Q¤‡F¯×æÃtl¶mÍm­ìëïý…‚†:uö#œ[ïäÿÿÿÿÿú¿£¢¨ª§±2”�Ö¡FÐ]“â§�¹B”úÿû’`©€}\Êèp:áˆÀ "&0õ&'¤kˆ¹ã@˜‚¼À‰59s[6\µpNÀq(<çc©.M¬j“E6!0$pÕc¸‚¡šÙ-n`}Ç39àçöÙ#T##`ÇŸÞªª«3M³ÈŠ0 Ì(–ÒXªÓÐÏlÚBü¬·¹‘^šyeVùߨ•#)Ï/<Úy�V—fHp¹K½N%٠ЖXÑ,xIÀCÀˆ; 5[“i¸§gÿÿÿÿÿÛÛ+¥,²ÇÚÖ»KŸaQã×$øe)Eì[Æ¥h|¹;"Õ€¡Z[ÏÑÆ@ Ó”GÏÜŸ¯7áÒÐÚ>¡¥ÒòVk³5¿t6ÿÕÞ£Ûwø¶21™è¢¯ÿ}áØLó½öí¿¼½ßóé„™JNJf¦yôšM>¹Â2ßϦ_2,ªØGw�×{Èš!”ÉPÝÔïìkä2Žx 0Õ?VIÄ’³ —¼�B á–#"ð³ŠArÁ¤¯uWÿÿÿÿþŸÑÿ÷¢Æù.e›ó>áT�SŽ>JqIþg °Å£ðí/NÇ£no+8Yÿû’`¿lÉ�ˆp<€hÀ Âi¹('˜mÀÅ�c@!ˆÖ‰™LÎ0tSÄ¿˜åLQl�––˜Õ›5…-Ñ¡H‘9Ÿ&g¿’<.Ò¥é|ÿ2Z×oóU¥H³‡éË7‰Ãr<å™/LÈëy�ŸÞ÷¾fñhnLÉRÎùjÕ¸b‰¦Sõßí2w߆ÄEÍ÷zàÀbÀ€Áƒ ʹñLC€¤ãu,âM­´ÿÿÿÿýŸßvÇOCÉ¡Ix2*IÖ]æ�€ƒÈ­Êy¶½Šbýñx­`!”-h½1¶þrô²�DpŠÃh‹0ö&Éô;«.2Ü­ÉSmõ N¹¢ù˜t)Åé”�Nžsºù%„ÙÏ„eœˆùææ{È^䛯uÊ ÚŠ—q¯�¶›`T“ðø�§à³äV²<²ÈŒ U¨Ìq†ÜÍøÖ±ÍoæÕ·bózb!S9aLˆÈ–>Å4ìHÞ·ô‘‹¦—5óUC4®LD�@DÚGVNÄaHÊ€©šy¦ìjóäQ >p…¼Œ(¦æ�%³Ñ'0ò²§G\¬’œ€×þÕÛBý�þ @œ0$0’‚Aó¯�1Š%6ó@Qv¢Å*Ýÿÿÿôù¿Õs”¼}¶¡™4Ú'¬YJ¬‚KE“@æMdÚ\æ,Nç¡géWn,–’ÜÆeôÊ(ì/¦ã`ö‰Wˆ‰šå&€€L>[7Éï8„Û+B YÕ™{–ðWXjÒ3””�uFo�pײ "…#Ãǯٗx2¼ÇËÈìG=ÁLóJm:�Èü�¬Žs[^L•­>fAI÷˜¥yᵸ3ˆÜSxOüöáD—þ]¯wwLVþí_ÿØ qJŒº‚NÑÈðl�BÔ#|�³¿Õßþ�ö§Óÿêý©¢ž‰qg°+—½G� ©N¼�Å”sÈ>hY$uOcÿû’`Ñ‘`ÊìrFÀx° âYi* $mÉcrŒPÑbIÊ¢ò)Is„írUÙÑ|B’Lâ œNoLè]oßmiù´4¯¹¯%ÏWý[ý©¸Ç«�¼Öö¬ÁÇ7RS2¯NÏ4Š:f‡<¿6*ß&GÇ…çç23rÿ¹ûÓJlÅcQŸ§K݈²@ýeÏŽbî`]$Ô÷©S‡š€ÝÍc)�ý²A¦ ›alR"àŒ#�Š °UÔ<°±RtíQœ—ÿgÿÛþškU ë8ß�3�£z«ëÖI\´5gI°Xà5 Y^òêFÃ�Q·Ý�ݯIC‡¯¿²·9së_~ÌÒ+Ò÷\¶®å¹» „GÙ±½Àr[®}ml¥ßù¦ìüüûÛDÉl÷1ÜšLÃ)A¦¾ ÿæ;¯”õGçOó©ø[IîŸhh¦7»¬mªÂv®åMRŽj2ú=¡Ó‰RáeH!%)αã&ǵwöæóÃÔ�ê=,@(@ÓK %*ÀÁ‹7ìÆAóÚ!w³ÔŒçÿÿÿÿ¿ìoìW¡f­pÝ[‘M®@uÿû’`½óWJ ìpAÀ$c‰¡.Ì1 Àç#@‘Œ˜V*€€ö=ñfPÃ}BR@Ë#¨‚—ø,NJucš¨%T-/Ø<˜ËSˆí»•êð8D~œË0�\PVu_cµjBRòI�éùþ½já¯ÑpØù_ûH‰âZ/zYvhï·§¿›ýŸ)}®/ë·½Ûû»»T·Ÿ®š¹¨æŠ{…ÏÂä~+¢´ªd_E_AQ$'H ”|góUœZR¾ñŸ«ChÿÿÑÿýÿöî³ÓeoQ–¡t·½ÌÔi§JÕ@™ƒ²€³¢Ñ4ìjĆEx[Bô¯(Uò©«—$“ËÙ7Åà#0ù„ ÎŽÓ†î…:¡èe¶ùkyý•5Õÿ?ÏðÓ� [lU5ã>ÆÏ ŠjìfÄ+—Ã×:-•Ï1<Ê3}ñ1Íÿû:~²õÄýO«WÓ¹Ò€ÒûT�õ"ÙžŸo¨*D[áýÆ¥öØã‘ Ë…VI¦eœPÛ�{6²æmÿýÿ§Ùêe5ÿEJ·v…Æ)@Œ‘'½icí‘KkZ”½_ÿû’`¹í`Ì éCp3xàc&E‹25•€ÿ#B˜ð A¶`ÐMª��¥‹dÐ }ÅÈA àÀ×ÃÀ1x\0€x @ ° Žòà¸];h,ÊÊé€Ü|_²,¢l®€Ç‡TJc69 $à ñÀÉ­Óx|ã¼Á*á´u6gu*è*ßRe�– ýgÐ>Íê62SÔüÀÑ[Ö�KCvÒIA”³éÖh\ÞÈ úÙë£KOÑIÿÚëM×[ÿÿÿþÿÿÿÿÿÿÿÁa`PÓ�~ƒÌ@㈞âQˆG$ËVDZºÌåJ»W½}ÿ¯ïþß¿ëÿÿÿÿ÷ÿÿÿíý¶ý—ÿûk~Çe¶oÿ¿Mí§õëýÿ€Ž^Û¤‚n4†øßI¹›-Îe�ésФÔÙ8åb4<Ó¡ì5’¡B%ädKç�(¦hdC ’EcÌ.¤ŠÝ%-�ZªÛdÿÿRÝNÍYãDíRœÁ4ÔÿÐJïYõQk ’i2õ§û¤‚IV÷4[©gþMÿQŒÔˆˆ„#”=ÎþÊ�ÿû’`¾€r�PV`Gò ȹEP}–€Þ dž`6ÅÝBð]ÒïÛàÝ…IØãn^˜û p¦Ï}þ:g�‰Ê7FÿÿþïÿÿÿÙ÷÷+ô;Åÿ¹ ;,ÙÄ AbÆ"ˆŽÆG˜ï³§æY”Ã3Ïër˜ Ï£ˆŒ…‚èȤðå—É󛙚ŠdÉ@‘2%MÉ’,™±½ §IMuu"Ëÿûku ‚“<ŠÈ�èzŽxjõ{ù+4ñä ]ü|?ü3ÛiÙ6ÿƒm…¤ _À·¡$ LÌ¡d¤á$/Ð Ã@8S `ä˜{Ë$“%Ë8¼L Ù =ìY.P0Fæç�ÎÐLE2Œbðï5³z”ý·G^µª»;ßIÕ¢’H­�;©“7RO©”l’W}uÓsw_V©’I>Ô_^¥ÿìêÿý3—U_ÿÿÿÿÿÿÿÿû’`£€Â?Vb@<#©`§¼R¾Aby€ÄH*0ÿÿÿÄ)ÄÔŠ#Î Øè#ÆÑt}ÖRe0aP ¸.•ƒ²¢�Ad‘˜Ä%ÌÆ¹æQ jPG¡Ö.@N`¦…èò 8;É€Ý8aÆ‘Ñ*- Èê(½ »ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ 5Û2f·�É3fœ¸Ì nŠ€�X"<èr…(r,)2Χ~Κ�*4}’"<ßA¢ÞÅVZ<ï±ãG×Ïÿÿþñ¿›ÛÿþÏÞ·óoï¼GÕ5]ÓÝÿôέšk�P²- âIP·ë6Mß�*+EêIln2Ââ´áU˜Å²í—ô,Pê]�þ¦$YaünðœjÊe¢;Ìuª´¬†ÝýüÓÌòÑcŒ¥Jh,Ê�úÀˆ÷̘£F3!QÖº(š‘jܳŒ/ªM/2&·Bs,g‰{6b°Û¸ þ­ÊQ À jOe*k:MiÏ ¿rf1�l«YƒÑ õùÛÿ§ÖÑffÿû’`„€­>ןaà<£ŠPìdõ;TlàKÀôŽh€üe('±{¢^GcnP,ÝÔïÒd¾ŠP„–?V¼™à›jzhÕE:œË~)ê ãÏ7YEڸϸ BÀW¯ñê~µ—r[/®¾¤¬ÀP=ï¿z­†~Ýa2žáª’êôˆg!“vÙÓ:2\4i2.Ü­ËÎFã/Ñ™>HðÀÃ\…KJ l’¥°øƒäá*d&º):Y²²–±î¹5+¥ÝlC¹ ‹\‡a ü?K†ÿôþVÖ?ÿÿŸµ&ŠFt@@]QC&’Ñjk€Š³ïÀCžßúWNn ³ôç±E Ö%k„Ç.GÀ î$KѦ¾ì‰(Ú`SS� ZÓ$(Ʀ¯ ‰ÍŸ»0˜7ÿxlù ºÀݶc¤“œ�Ŷ`2 B¼i^åµöºÁšj•H�ëý¸²ç�ƒ/†˜—‘À`�±‰À x‚D(gŒ‘êŠé JUIš�­Ÿ«ç晘Â’ãÕ¬°å¨ÂûݵþKjµ|î1<üå‹C-ÿû’`�—4Ô›8BàÑ`"­›6Äÿ=®‚ï�ým‚ß�ûäÿÐJÿ·ƒ¾º"ƒÇ(˜�ÄÆA.6 ­Qh.dvaAË[ÁG¾êb—Ôvˆ3Ȫ½n« ÌŸwv?.ëóB°0Õ•©¢À8hBi¨D4n…¶ÏûZ³ÿª#±ŠBó'NvJ:ÿèqSêDäÜ0ûå{ç…a‘&]9j³½,’¢– <ùB§©jÈ:_·^)IuÊŸÞ`žŒïa¶9޶Þía¼Ñ:¦ùo9CJÛÆÿùË·Õ“Ô§¶«e.cª"‡àØ "ubɶh’¸¨p9XåLGB—Ýa°ˆz:øÀ-}‘'<^A™w\fÁ+ˆ¶¡<Áp@ˆ7t8K-Òkí1ÛÛÿüÅ1L¹Æ1˜zŸoû)dcåÎlèaÅÿû’`Ž“?Ö›Rà@ƒêp?J9\laK€öªÇ½(‚nøHY•SÀpç 7�˜CÝuY]À4É“YÆ=ÌL}í8¨[ŽÆÔs…qÃ#šLz‹œùÊ,»ï]Š™Ï–5ßvßô€SÛ(aʺékW8)ÁqÈA/V ‰îE Â\o¡:U·Öeµ•E;/‘Ü�ŸÆ–ÀmÅ«¯«f« ©j °—¤Iî¢FëQÅ ’.µº^ƒÙLßýÒu+Z.¥¦û¿ýFæk>Ê6A�HzÔ¤(À¯ûÈ«­De(•¯'ƒ‹€h*ÿ`ƒ>u¨r¿œ±�X”0Ÿ€“|MÞ¯YìŠÆ3’.ž¬¡C‚=¿cu¼x8Îÿùÿÿ.€�ÿï8j­°ÊuŒþsÑDi¬É2Gƒ’ ˜ÙJêu#‰×�+L«µfdZŽë±–6r N©K^!d;Q"?'˜ÙZI×d{¥ª¯ÿV¦IÐu-¨ÓÿúÏ´Ì—X÷€â©¤L¦¿yqx"b#„hœ¶¶-‡s‘Bÿû�`›€ž@×jà?„ª€?JˆýZla«€þ©À÷½(1DxÀsñPªi�næ]2?E.›º¬»‰ ÕdWŠ`Õ£`wÇp³!2}á>óó,o’CÛê¶3©ÆFDõ^ÓQ¢l“NÍÜ0Tú^O#›qoãÿz<÷EfÇN©Pq§O>õ™S‹³”¤ ø³ÐHñ)¦§/?Z®¥è¶µ­—³ê§ÑV¦E–‚íÿ¤³¨¢µ™›��û˜ƒ4íÿ\äì“8%©1ÓªHl]'Ì„ŒÑP'à06!QïØ�qÒC$ÅÔÆâáHdŒœ9¢ ˜„•Ýœûfoê_ΰ¤gÿA“1TR@ºah�b2ÉÇ¡DH4G‡°ÄŠ¢‹Œ\p�ÍÅxŸ:CL̆°”Ë„�£Q=‘!K £ˆˆ��ŠøŽ„MÖ“«˜º;-VêÿÿÙ_Znç‘GÿôÐZ£ tÁÞ)op¯öB±âZh’Ô)�$ÆÊ‘BÊÕ‹h„ò)T�Éìc«µg4Š�•?Äÿû’`¦€�@Ö›8jàAªp=íJ\u‰ü©Âžðq²åÈh¶Ë4&IYñü9/Ÿ¨0wRr@ù?úüÄ'ªt¢"A²f(…Ä^ ¨› hø3ˆ�XÈ.&$¡DÙ;˜£1D—tΛXÍ¢J&PãyÖÒIz 5AÕé}.v—¥vèØÉÖ�Nu•íE%uÝm_ô_Ò}ÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿø#6Š×¶Ã’Ôš ):0ër�P …± X Eö A€=ÐPšH¹Iä‰65,¢]""Ç+㜙T�'S"¢”7"4TˆöFR//EGºjõ}úêk2K>Ý dš(ôÜë+ÚŠJëÖÕÿE÷ý'w}ÿÿÿÑÿÿÿÿÿÿÿÿÿÿÿÿÿà~ün�ïŒuYbÍ Cc6_~Mº€x2pAØü#É?œD3%ªqnäãœ`K¤ ‹KGk./iÚÏrþ8·ßóýû¾ú½Î·=·Í'@Ð× *‘¡ƒ( ^ÎKÞ<e{ = ÖîÓþ/ $žEgÿû’@³u�Zž5 „Ò É@ ìÍZ}…€w�ª�²ð}ÑÎ[hÈêx‘³Ù8ÞT«[\º‡s’¯rØž7T(k´5e dÝ7šëY�å¬P é7£JAÖBÀÓÿ*hbÊ@âò^ð¨ŽÞäh�t훇‚‡_BÊ…ÁØŒ<ç¤VZf±4áÓ!)Aë(ó‚ÊÁÆ‚™$q÷\õàg"ÙbS2ù†ËI#}$Vài{«M)—M×Z«ÝµÒçL�ý5t»«Ã¿Ïÿß„£ª¦k¥‘�Ú½H¬–-þßk €4Ñ ‰SÐ&LŠÅE‘®˜ZŽÒRA“±ÍÆ8P�±;"`'‡žnc¯ƒ,†Ÿbº_ëþM@“›Õ�!IÙ1*“ ¦²|Ê’cNƒÆQƘXê`®Y‹ŽMˆBJ®zm¾îý¶#r»�óÃXØcj­?4”wIúÍ‹“Sàk Š®D{Ý«}é”jºÌSUo÷ªà”Èîb¢m—_]Ð5;ƒ©ôÚGD¤c°Êò½(\ÿû’`™€¾LÓ›xð:£ “=é8Í;NmàKÀü�©€÷±(XžÑfSÉðÕ\„Ÿ¸fC³KÁ– ¡áx°U>``�÷8!²røŽË…ŒŸöëÛ3ŠwÒUºÌ :Àq§Ø¸ñm<¹c7$·]¦Èc‚Ôü·ãíy÷šÂò¨ÏÊ Ó4÷–‰T_©ÜžÖê¬,M—G´Üj© Ù�ÀAÁp‚� FTd7Íöÿ² ã°åöoé»™­r�èFŒÕ�}ï‹Hb ™{~‹)�¥cˆ|–‹DkETã9SÍÄø%$öF°Ïf8Лa N®x­+Wè±ÚPÂQ#ríG4kÖ?ÿzø�HJþöd‚†ŽãÒü¶DÕf.[(ŸŽ/[2G¢f>Ùk*zYÚ_Q>A7tX“\±OK½×©.õü…\ep¸éÙõ˜ÎT�٘ȌK»©*®ýÙŸV³Û±‚ÓßýteG.1Þä£Y;þ `m1ÿÿ\À ehõíå!~_O¬ÁGÃN–öuṂ:÷-ôÁ¾¦©ï~Ǻÿû’`¤€¤NS›x*ð?#êp=ïJ Á7Vm`KÁ�ê˜÷½(F�¶¼](_�‰DID±£jíN·ü•yãâï¬nÿóž9ŠÃ³uŽÈ,+0›eU3½!N ±>\‹6‰Â:àÇF<‡„èÆ³øÞfÙéÆV¥¹Á»nÛG+¢ó|„*�!ú„u0%det±è ÇzŽŠ¹ïÿ~ô��Ç9ö'/ýX`$¸HZ¸èl~$mµ8÷E²êqÊŸ®×IT2+Iì³jî1Þ-¬¶0Ÿ…”º�ây¸‰oÿ‡£UÖ�’ÿþd‚B†™‘‰È¨΋†«X=ÀqpÑ]ÛŸore,0ó'°Õê`�e`†s7ëÿý�8áT0 Cœ®…’òþÉ*4Ëóì¯üóA"‹Tˆ  {–‘ôIÅ…Ù<änbp6ðßBËûjú�´öCɘ*^¨,„†HÅ0\Ïô' RáDª"÷ ?·vΉaA—ô<�ÞkORwþç.O32µÆ� xY çÄo¶0H¥XFަ=,f`e0•ð@FŒqbL<AæV=Œ‰ŒN0)‚²tCc€� *Bp;‡‘8 7/;—ŒÏ6™š5¢—ÿÿ÷Y™ã5¢‰óh¤µ¥ëúÞë¤Êu»ý;¿Õ@ò�eY‰¢ QèuTÿþtZ•'Ú, ÈgÁ2&í»50¦cz§^ð47,rá•c—¸ÉG?mï³r¬½4Ëc-…s«|‚@ÿ�/5µ�ÿû’`ÀùOÕ›8ðFÃê€=øJCZu–€ �jBŸ€ ŽžÏÿê^;ÐH‘2¯ÿø"; j uHBüWˆ™4Ü&å£,hQr�ôd™˜_ÙB(´ÀcšψU’ê͉ÊKÊ„]ç2ÞšmÑ_§ÿJýT[©‘dÞÞƒ¦Èï­ÖŸé.šþ¾‚ ~¦Oÿþßÿvoÿÿÿÿÿÿÿÿÿÿÿð �ÖÿHê@á„ ºÈh`PÑÀ,\eFlÎ= Œ €ËX0"°€† q@à\ŒÂ]Æñü„0&ƒà¶)‰éqM&—ÞÃH˜O¦É²ÞŠýÿÙ+õ)êdMSIÛÐtÙ­vúiõPIt×õôSõ2u_ÿe¢ÛîÍÿÿÿÿÿÿÿÿÿÿÿþ!†ŸaÕ&ò Šˆ,ˆ5Û*e-²ý.í‘KÅ©øÃAì9Æ2T¢Vk:Ðæ¦1-ré î,Á&!“vZÒÝJÿÿþ¤fhÌÑEu+CÿÿRZ7ÿÿS;šÄ}t¬ üj!2¶:«ÿû’@ºÄ�Z5 Žr óÉ4 11^}†€ r&l° $`âZUÍ¥�+¨¶àB&¡–áð¸ñÅ–8áà\•4.\b55GÇ“Š«çUæ<ÿÿÿüÙ²ªjÑ3?ÿôgE6þßé£;’¨~èÕ. U/´‡¢ôêã"¤´a”ólcOn¯"øˆc‡ƒs”„fCKã„®i±Ê%˜'u¥#¯“{7fÖ¿º¨õtFÿÿÿã"Ò–2«A<¦Wÿ×%ÆÝ®Íúè×f p§Ý”]š?hwNJP Óˆ� bÍGbµZ¾L†ˆž¡ øDôz¤Ù15íé`ñjP/é�eŸQ›"3(\ïíàïÿ‹MärƒnÆJç�Ý„ÙL|Q�̯Ê)–Lׇ-ôÇxÜDŒ”Ŧ`°Å ®eèc%œ}b=ܧLÁQydvM?”žmèf“ºÏä‚›¡‡"·ûýÿã,v!™Ìu% YÊ¿ñ:Ðc9Òýé‘ÐqB*R„H@ˆö} )ö̰TU›Q|!ÿû’`–€fKÕ›8*ð<„ p=ïJý5Tlà«Àõ©Á‡­(jd—'äÅpn‹÷É5CQ>CJ[-xÏ’Yhˆ îi(Ä¥è®;è„ÊuhêÏ~�ý@Ÿâ"f¡9|AØV§@š„ Ú Òøp(”hŠ0$R1Ä‹�Bû´‡Ýí‡ä?„™È@z}ÎRF`÷öš–Q¸%_»3TºÎœdÑî¿mÿvµÊ:u\EY—ÿ(ØÉŠT¿ä+£¢‰XhœŽ¾ ˜h �Ÿã¾Ý…_‹½t‰D êiTÖæ�ïiF¤’JxmÛbOdMöƒµ!’fÆY�]w>7ˆ+«�ÚïhZôíy½æ{ªBÀ)¯ž”Žúlb߆ Eð¡ˆd^!a.õw• D õxmŒ!ƒ¢„J,©Õ�î”CàÑ7•ŒMÆ´Ñ^A%'(‹¶zC"¦fœ�Ûweÿ'œ²…fF2½'‘íüöæB1 ‡ý:,T¢‰YQ¿€U¥Ä�gÔ`›†7e ®ävˆ¨ù.M[’ºE€ÎmO±ÆÒmƒÿû’`¦šLÕXðApcJ51Tl¼KÁ*ü=(÷W7 œXì ³A¤µÛxÍAu'€ßñ__';ÿXŸÌ¦Gu*42åÜ:ÂM›fYâcH]¹*,OK° Sê{æ·/¦í“Pðò�Îqu×J™�ð%kw舌w¯ íΤVN�:Õâb,>§3uk{ÙšG3ˆ™½Sý Š„B‹¸Â8ÿ¸Ê¡Iä ‘”bK¯l|d©C\ï3Y9§ž œ8tæá‚Žæª… †ówïSݬñÏS*™h©(aý[¤ü¿êV_‘öÛWF'ebEè=5‘CIŠÌ•³�Èÿ0�£ºX– [¤E-s;dšmC“ã jâ:hQ.>ÕÀ ý‰‚[Δ³2Ý¿2üÙH#»ÿÈç’SŠá*%Sç¡ü&>l¿"Âïÿþ»©ÐôT ÈÇá'çÏÕ-³ 9ÄgIãBFX 8œK‘þwfhñSÆ‘ŽÂ‘Q?܇_kc„u®rCº»ˆ37i÷Xòe0\¢¤BŸ¸ÿÍ[cyÿû’`°LLV/*ôCƒê�=øJ/Zl¼kÉ ª�‡á(Dšô¬™žáG=aôƒ°ÈE>FGJ}ÚEá/'a:íå]Ú¡ãQ…DáBÜùMè‹ó/ë¦™šœ‡ I{3Z 8“cŒU·(¨"wq£ƒîcÿ¾�¾e9Èq{‚ #8îÞ¿úšµC±Ô컫÷™RaÄ &Áe²ãÿôk,B{ ‘+©PËL²YdúPÕ\ ;Rã0e`äH›»qSxz–Õv†l¥3êD£ÊÛ€Ò^cXVHÍÍ[—^Ïù¹à<ýG– ~2¡#YºŒkaæƒ&´#D‹ó/0´¸,\ Ïå�Elê’/vã/ã�„iL›VŸ‡ÈÓËaÃqŽQ¸ÍÊ–plSIíÞèiÞ—)ÌdE r BÿΧ"‹3ª˜§wé±¹È$ÈwT8r½[Û•wbf¾rn³—÷ý%*ë› VC $È“€1Z2Íbü²TˆaN¬S¾PÈÓµø"T¢fzŠ–Äõ"äÿû’`¾€ñKÕ8*ðIÃÚ�?J-CXm`KÁŽ*€÷á)*Ž…G¤Æ¾t‰Ð¬Ñß¿—@ Ût„f( JrÍ(…—‚rYɃÞÉàòå¿Sö\8!R·X¢µ.‰KY¤Ýæ¢õ®IôvlŠI ýl€Bªñ‹[ÉoUR7?¿µõ™cÕ cEŽ"S8›9ÖÓ~¹d+‚F9Lv"ÿÕÖER�Š…è/?îhØ’7„R�‰éBË)’�$¡Âêܾ�R éáN§xþ�8•"”<Ô×â¼ïÁ¬a\Àˆ0«oмõŸç÷íýNõ=@À_÷Hìü üúÅa� !NÙÙb`¾ÑÐÂ3¦ySÕc*wAEŸôCŸeÒߎJÙ››OnooRÑ�­5ø¬„pþg�欯êÿNÆ®¸ÕvG‚`ªòäOýš§äWwKÛÿeu”¥K1ÊXµT_ÿwO~n†0U<]RÍWƒ{ƒ›À[Ñ«ozM6J·©“ñ>­V½kse3©7-z/î–Ô¦ð˰Nÿû’`¶ÞMV›8*òB¤ 1øJ©M\làKÁ©Àüe(¤“çE;Ì{÷s—w"ßñD3žfª4ˆuÇ�aÄÓ@—ÀM½æxf*—òÁ7ar•¹˜µB¨£jÓ—`§ù˜ö[YžÛ}–#œü#®iHñ8Ñ ë¶8˰½WÕý}:Q”ç[�XpèÃ�Ó»ô¡Ty®Î̳_ÿ0ò\|4ä'õjÓOŠQº�ÚA5çF×(4ñÆ&PØöÉYÂ…i?Ÿ˜ü~‹ <4€g{Ogµ«¸NŠLêXõ=Ú••ÑÔõþ½@WåTe”Bó#åš�¯‚‘‘ÉWtÏ<¼æ@x+r8…,ÉM—º�q†¦Añ9="Ï𸟠�º‰1—v¹¾¿¿ÿ©N¶d¢ÒòL¼~»¢ºöú ºŒ˜&yT}vb‡ÑþÌr?O¹P’cÈ¿†TF–ÍeÕ�ž·œi%_{Ú4ró쯢Ó0%2ä°H‡Ô}8Â(þ€q%#ËKG½~½¨ïÿû’`¸€åJV›8*ðAÃzp=ø8¨ùXlá«��éÀü=(ïþ ¿ ±B`RMPÀ>E"Æjyø©1gš:º{:@xÛ�œpª”FBãž2 VI ì–j‘_ÁÖ^š}¢LvÓšY + JÂ#+ìæ,Ç8Ÿß§ú$u ‡Ç�¸5ÕèΔú³˜¨,(‰²Ý-“õ{� �aØdúWý‚Þ‡pš4 õXBË�XlÅæ ¼Å6N“uÁ«'i@vÙ|ä¿CWÍS …ïm5…U .±$,s(�[Õýê¶ÅõøfC4 †Š™ô ‹ÂË™q@ÙØaæ$00³¨&Û’™W†p„áöd2LÍŸÌãíŽlxE[¼zò°*ÛlÅìŽ)6_,v+ݦfj“ �Ï÷õßùG<܉769‰¨þŒë÷©ã‡³©lÚ/¿þbÔç]µSäLû²µ™AÆœ�…Q% L!§œ�Ö?DÔØ>±=gÚ´LÖîjÍJ©K* »6!LÇŽ•UÖC"fúIOõðº©ÿû’`¼€JÕ›X*ð:¤p=ëJáKTmhëÁ�©�‡½(Wôÿ¥ôº¬HP‘‘Y‘–®h†˜tãE©TeÌël¨ZÊD#Dç8�„V€|™…Òœ�Ý+ÿ¨5ÒŽ$U$­¸ÒM¸¬R$¢®ÜAÜX ÙJ)°K¨Ó ä?¾ŸÛ$acæ*‡€¨ÃÊ,UG‘סYœŒˆCÿÿ«"dEŽ"Qç1µ/ÕüLµwdŸ >Ãr¢Ìû Düs@hËÕ<ŵág>QÊÄ j]ϰµ‹TŽq½Nd"é0 ãÕœ¼³ŒúW¦�5€Jo^àéB#Û˜äÊÄd¥ùyó–̾ ýù/™üꀚF1¤ ?"³ß¹,ü_+O+Ú\¥q7"ô¥Ë¾AV¯s ¦±I/ûõ®»æNÂTİY…2 ¼Â¯Hö–ký.`Â¥#_ÿòÿRŸP‚w~²½?\ª5® p°õx³jE ù¸@8…BQwœÎÝh Í&Íbî¤óχ^æBÉ0“ÓÅ+w�Zù‹Á€0vÿû’`¼ÿMÕY*ðDCZpaï8)9XlàkÁ$�êŒa(aøÝ-'ÿ~¼·ÓäÛÿ^°öÚÕ*Ë€í¶6­'A�ôR·‡›èæWna�’Ã0ë²¥ƒq�!´Øµ·ƒttÝÆ=?}3¦Â¢u­$C�稷q¦óó¸wÆ¿ø·ö¥ÿÿÓã9§Ö¾wˆW×Ô)�ÏWjÿ„—ù¸»…°Vþ?ÔO¸ã]tý]í?¬îKÄ%wPši&_‰ÍvŠ© V‡Þ6™œEÕ­WRÄÅzpæŽ$G’G9œþwåjþßüïük?ãÿñ¿÷­gçt÷ÖwSßÅR•€»ÿ†")¬yZ=ÄQÕÆ)ŽÙ �D=2& fa<4w@ëBM‚ ƒ!g\ ¦X$™LÐ]OTÚ„Y@g�†ÐE‰²¡q N¶ÔÝ*>ŠÖÝv §¡YæŸR'‘UwUÙIÚ¥=Þµ˜»�&Ãë³�*!I"¤d qϜS!èƒs�ÍT4?D8mQ¯¯yÓV9•—Ú’ïÊÉÉaà?Ÿ¿O¿ùsã´»ÿû’`·€L2UzâW¦Z³aï\ üýTl>K�e�êM‡á(]&ša±l*L"|dï0ò /ÿ £ jN¦.q}JFÛ2Éw-‘*Èó ò©í¼j(\é#ã·v „ûÐÓÛ´4ÞÎIâ#\ª#â8€%AÉ �y#&Az7ZMR“uúºnoº�)Ͳ(³ l¬<(QÍv@-ÿ�Ø ¶@�*ò)]„*¾va�äújc&0Òh¨LÑZ;{Z½„àÃÈQ+Ô‡ ¼³$R˜f…#Èÿ‡÷ñ¼ù1©¬ˆ\?Ë0hm'Ki$úÀ]¶Þ”qQ�Ñq©¦K!�KMJœ¢ÓpY„bÉ\…°…øØ8‰íXþŠcòŒ¡}Sgtx'²°\0g€ŠÏE豤頻RÕö]$Õu¨ÝIAnç–^-?Æ,Fc Ø\a\¤t°êmµÛ0Q03CxÁ¡Ë0ÈIpÂD¦9Z ,ö®*Di6Å3†Ã¬ƒ†]+�u.” g-œÈʳªýIZ§é6Æ�ÿû’`µ.3U’àS„ÊÓ=ïJ PËTl>k�iê͇É0.‰…‚r­é’>7ÿ:Í.æ9nk5HþâÌ1³|úþflôøz–£„‹Ë¹Â¬l™¿†äú‰¸L=xÅ$ϯ_±+2|‚äLØÐ¬n¶¬Ý˜Å>¦Ò¯õlÍlÙÑIûUe-l£Þ½;Î2Ñ8íÂoë·ô~€w`>ÒuVÿƒÔs²ßu ß:ÃJàî¨Ò2Q‹ ´<×0øÂ˜{‡µ®/bв (8E/ ´Z뉗ó¼ò½•åù2·éÇoÕzÄR‰J‰?)GíT•I×ßìÖ¢�Ôªd£©ªê÷*¸£Îê‡j;ÿö¿±…¹N.qR Ê™ÂîGð¨é•( xר¥¨ãNñ€ÚIøébÊæ{ ˜ “£ä<„­Ð–-¨ 3“ÁB-ÔWÙ¹¹³œˆ…ݨBtöAŒØqá²ñ?o[ΈÉ>]ÖºÔ 4ž�àr�1@PåËÕ¾Ê�èͲ<–â•ý½§ÜÓ,YÈ'‡2ž¹Ð>U!JÚûü¾ª¹i«Jì†Fu3JÙ™R­ÿÿÿ�!Ãg†œGý¹ÿû’`’€µQW8ð9ê�=íJm=ZlàKÀãj€÷½(=”RT…¡=�˜ŽÃ¤Œƒ¨b±ëXfxuH-%$Jë±á"¢…k8çXI*a8€ ÍÕƒ/z�ê¨U·ðgA@aÀ,Œ°Ô@íÍŸTY¦‰Ã³è¾ÑKîªêîÔ�aW»\ruçžú¦�cèÕȵ-úˆ? ©Df¦{[½\:8ku~þ•ÝnÏ:±gÅ…æ1QŠî,æ¡7B V,Љþ©oûÌç ¸ªÿ¨Y�sÜ>ÉñIÆ:SK²Åtâ}_ŠèýQ4·!ÉuLw@J?. ÷‘ÃYÄŒÎG8b¶è*ú¹¯,C¨þ¨èrر0 UŒsŽfI�Y"+˜TjVºä#sw!c Ô­¨2äå¿ä—jSQÀ0Ãc`1ºƒ1wÓ‘4˜eŸSWŽŠ–šï«Ý_¥Í¬ŒîŠ¹ÈŒ,Ì�u5ØíçyÍdÿÿþŒ=A8EÿÿOÌ8ñ Ê<~?¯MC§ dÖAÀi·|˜ixÒP#Åm(Ïdÿû’`£€šO×8*ò?ƒÚ´=ïJŽ=;ZM`KÑ�ª€÷½(Cx¯�R�Î2¢´½ECÐÀh $‡ŒÙ£úþűþD ¿[*3rȧÙ�}ÁÉDÛè*Jµ4{Œ½7÷_·Q¹�4J2Re ó•e0Ô7”ý aáv"òQfDÑSî1~ÕJ…¦Ëú¿E[§ëònÈHñщdÅÚÞSÙë¿ÿÿÓ5Â!rÔ�ÿû.GÔDÙ¨o =d¾‹�œÂmˆøO†,‘†PG�Óù¶›Ûu2[›ù×öQ—oLKZPÀViòmÊ·(ÇùÝn«¼ˆ2uúºÜP•$Q�$9LÙ3“JЉÝÀê©jzÏe>Ë–?>à£~rȶêF#qJû³KgÕ(RÙí‚•âþÆSÌ/:ûÈn¯Ýšò·t¡õª `‚�—=Íîä ]ŽÛ¶ßÿu#�qê.9ýÍû ΓmnÏm}8:­‘[ŠÖodË 7&+"eÓWwÛ’†è?U-š­(ü~E 8‡6¤ðÀóÏõ®$"ÿû’`°]N×›8*ðCê =øJ?^làKÀû*€ü=(–“ÐF…*3ó©b>Êšô_‚õ2(®š3´ÉøÎÛMõä€Hou‹0¶E½k7ÅꃩÐG8¼6tôv7aïŽGú¾~©Q¶pL„wؤ‹"‰DÖÝnº€1ËÛÿÿÝ œýŽj…ÿ�Ñ^g:À2Qè`‘¶ó]£+¥ZèRÁúX"ÀC@ÇH ‘kio+¯ûÐÔÞScY­ÛŒÍ0â£#5 ýZž—ÿ›ÆÕ¬®}U= €WãX€‚ÕÈÂvg™™Ÿ£È»¶ F¨8 6Ò°º­ç³è¨4 Â&¢¥ÚŒ¹2­_ˆ2Äå˜�$ú<®ŠÝáQIcZÏ,pIs«;tM«­E奓怅ã¢Úc+×û�M¿þžÔ°p‡b I…¶µUõ±_,ħ†dc˜Ï+¤)K¾jd®.ê†8² ¦pùj1¬™iâ”�/nÄFÏÒäì¸Ô‚1?Û”ZÕ%'þ?r©pÇ¿é›æM ÿû’`À·MÖ›XðG„�=øJCXm`KÁ�j@÷á(½æ8`@b^‡c‘† (K)øDd=‡†Ï‰0Ò‚‘Œ(±”ƒAÁaïÛ2^¿%^/Ás[4ô©í|c †ê&46D(O¨–{§d6&ˆ·ÓK7©(£„$ʱ5‰¸ $q¢Ñ¨Èè!Œû¹™Ï37ý{xÒÔ!å‘„¬ßøíP°¶ãI'åYÄP¨A+/—`"çH'˜Ò„œì,®j‚ÚÙ¹_ë:H‘½%d5ût²®1ëo&Üê²-ûkg@ßa‚‘´QKóµ2`¥~—É� ³B«‹”óŽ<'`ÂøCkø#ÀªÐ¶’ûj:Ó›Jw²‡’2Þ§†�úGWïͬ9º«Ô|ù¾�+¹´<Ò�.bCÇñ2 !Qdu£Ç—죤JZæ>‹§þ¿0ä$sºäÈÁ_ÐÔåt¨ ß�BÐã90d:Ÿn�P)[Ã_÷ÖÂ;t.«æÙ±�×_f*ÒîTÎp¦QÓÿû�`ÀMÕZ*ðG#úpaïJ‘?TmdëÁ$�iAœ=({E‡gõµ|‹‡Ú—]µh’ÎzÀ" ÿ¸£¸®-~š �¬¹]4‚ �‰*óÉž›`¦‚[¥SX¤Âá5"y݇cÎͪZÐÜy¨§†¦£C/ýüûÿQ|‡©º›æ14j ¹˜ñG9¹L‡¹äg’»ú>ÏtV,ìÌ&XhiVƒ£‰·èþC*™¯€·¤†‡0Z�9 ­£�€¯+’�&j届[�E‰ðØý&cÖРZ‘‹>¹ÁpxÅY`ïïöªø{úÿ³R÷vJ,DÀ¡õ~U„`s 'žtob c³³RAœ €À i!Ô­Ø]³±«öó‡¢ )Ó•mþž‹5ÚðÄã¡?—?=dKPŽŸFÑ›KV#+„:¢1Š€9Y{�³§ÑYÎvDÿú5LTgsŒ@†¶0dI�¯_?ØƤš@ÒÉ„×*[ æªxhp èõ¬àïF ¢«Ç9ç /£Z=|L+4ÜRnoF=vÿû’`µ€ÀRÖ›9*ðBä`aïJ MZm`KÈøjQ‡½+ò�/õü)Àÿ-• D嘟˜à‚w,QéÞ—5®_1©~©j-SŒ!XR¼QåÃañ;¸TµðæmÍ]MÖro؆«ÆåïCüñH.aû×ÿþµúÿút¦×wÛD.Ô8% …¬êÈ߬ßê¿þ™t5 Èb,‡<„­Aâj»¦I>“(¥IÈ y¨šö˜°]Zš=ÝÕà· â©Ð� sd°?u‹/æÒND$ÛÃz}¥ò¢ÚÁó0Þ©¦{Þ~étçú½?¤ ýf8(’ãÀ`á;7“(£6~ýÚ*€Û>†¬ "Þ;Œ¨ùÊ:ªî³© Ï*=F ×Õ֊Ͻ«Dqy)_Ú8ݹ¬.sùÿ—u¯ÿ§2z34� ƒ芢ÇsºÈ)–‡Íó •5Õ­ÿúRét)Œê ,ggZr›OäÿM3]4däFè.’(*‚mâ4Ø„[*aé25œ(EÜ­R½Øu²ÈÑ™ŠÅñìÕ¿í-’I`Ðÿ?Tòÿû’`»€ºVV›8rEƒú�=øJÑ[XläMÁªA‡á(˰Í7áÏܳx\þ€ÿ�tLX5œ˜…­£†%Ö¼€S6DÓ:h4ȹ°Ã ˜V_)º”z~qgOlf%;z¥žˆÃ`áº7”“16Eú L½M²¶[~ïEfk¤Ôh$™«MÝ7Zj©µ±ƒƒa¢ñ(JL0o€ðè½EåM¬ó Ò›’=›Bò–ˆÓÐÃP+5_®Éaõ9pV̹6ý(9AF‰VWM‡2®ÅgV ·N\ô&†¤åßþüߘoù:(o*c“ ¦ÜG†rÌÜDª|Ä1t“ðHÌe›ÿYÛœì^]ÃZ|(á™ ,Öµ.†è�úM mrݦT©T•éÒœ†7º-‚¹”ì‰v CÝ.Uû©¬¼Öÿýçµ$yݤBªa)´¤¿SópMé˜S¦À_Ù˜}»×»û‘ïâûq7[ò´ûÎÕntèʬZJêw*¥”¬èÎÀ˜¤”†êþ¹H:»¥›ÿö;±Ì®)h&sðTD/E›zþNÓª ÜŒ›Õ5##©KåÚ‚ð'3µMÓ® V(JüùТ˜<ž,Êø:ñ,^Ôc�ôKzzñ©ŒW1ì%ñÿû’`½€�TW›ðJD*�cJm3\m`KÀù�ª€÷½(ÿêŒÖWð€¨x²ÇÕ FÃŒ·ß†Q!A(d#5µ³Î³6ñ Ø0\©™Ѹ”ñøeFÜJiÇÑÞÔ±·‰¸ðâ2öƒK{U¹VÑËõèéòê¨Õ ajŽpÉL³=ÌC¤Ž¨×ÿù] )‹ALtUA7#V¬¯ÛÄۢŠ"’ä½£ØÖ](Ú›6 ×Ìã¸éÊ‹»¥‡“ö ©ÙÞnö0m„¨TF†Å5~o?úlwwú«ß*U®�Œ|˜ô…*Znâ-°0ŰAf�üRD¾`I G^¨&3¼Š�EñFt±q¡8/#qËQÙc\‰³½i£4!k¿øK±¦ÝRÆç=ïëç0àèG9‘ÝÅŒ…!™Ð³ù* áU×ú|!Hh¨6Gín¹_öÀåÒ¬ œtD"C)`6 dkØ$Ò玧CÅ©…¾Îß}© F<§÷ßED”S€õúÍŸ@ùßÜ€ˆ«ÿéÿ*BSzÿû’`À€ÅMÖ›8ð@d =øJÑ+VläKÁj‡½(H$kð`Jj°“D8œ©=Â�€Ð sб›”h, 6®Qv]¨e``÷íp@-î—_qäù~¨¹6ê76œªZª�×,ïnU¢Wv«õúi‡ 3¨£Ò3©d]¿‚ SµÝY/÷1ÝŠFzB1yŽSôØ£ö—Ä,B0‹ã úÉÆP ñDï{ G8NGòº v*¹4hüjì•H8k2|ãXÿ5šÉêý@[nÐ"š°r7D0L 0ML1Ñ-­¡C³B ˆ!:«Å¢ZÚ˜:�¯—EÍ …;­äa×·!—A“ð,µ)b­¢æJ™=[ë�¬‚*+Jö»&»*Ì¡d0ˆ´MEÙL>5\Yeb¿;Vââ"í&u3úÿï3?d‹…Ã64_ýýý6)�‡l¾"Úlñöá;U »­ÑŠÏ¬ja £Ñ©ö ~Ca¬¡ 2aVLÏÒ¤Rx~:;Þ¼B¼ß)¾¿ÿÔôÑQdÀÿÿû’`ÀÖSV8ð;£ú�aïJÕ%Vmd«ÉiÁŒ-(t3—‹º,¬ÛF€®™Ð†�ˆ’/dÁ^ú\Ö·øhÊï\ž*ÂZÔ†0ÃXu®_jb351/ÁãŠØVöïo2ÆæXsÿ¼ÿçûÓÿäÖ¥8‡„uTçGR9ôþS(ÅqŽÎÃhêfoäû+P³ÜŠÁÌ»ª0;lŸ§ý?ïS8žvc¦ _”�6rIbu± U©ƒëª®´Ÿ‡·Ú_ê9Œ¬8ovÈ‘)H£Q9 #C]aK}ëå·øÿÿòWöz ,l¥ ÓA�µ¤•†ŒÉ…Ù P�€'hɨ‘qé@yJý;tÌdF¢3 P0˜˜�åÒíž]S�z”‹Uÿû¯Z*Hú3‡ÙÒMSº_ÕbóÐIU³ýîbÄ~a¸DK” (•bª˜`îõˆ¬Í¾ 6@ùî‘“Ž‡ø×–Œž³V»Öç<¶Õõ[ÔÞ=ŽÄ¡¨K–é¡þSS~ýS†Ã|ˆfß@!8€gtÆ�Ôæ Ú2.\\§¤ /Ù?[Ж5(u -—`I5›uÅ2Wa?%ÏŒÊg¦¡îF3x@RgA(@p·›š—Ì ™u¬Ö½h Þ¯ÿÖ’Ñ6>h›3­:µOÿ7e.�ðZ¹öK=Ƚ(èÔ—=ûÓ«$!Ñ„N¤ˆ #î?œÉÑäáÒ syFÎ`�تóÆ”2° $®ï–2®$`ÿû’`¸éL­Š0‚£¨Ä€'"æ†L¥¤jªÐíWß²­¹í)#HÛZ+dVÿ½3ÆØç³'ë&³â‚b¸²Ô°’€&X3à;Ï ›HZ¥‰pz¯“ÜòXh”Ѻôü(6ù…‰CŒž‚ñ‰ßÎ!œO”j’  ¨]½Xæ>°©Ó5½Õ;§Ò<ˆÊÀ¹¿•4“Wóa�i�Æ›¡p�,4ë÷2˜Å. jë�\ÒO!ä)¶D& „˺½—ås?l³Ná 'ˆXGåÕK(™³bIÑ8¾s²ÿe½ÝÙt“WJd³AgXèÁ ƒ‘pŠš‰ÔI# 6©ò€.~P@5²óKaé3Ôãz¨r48Òd‹ÆžY1l· Ïtc2ïÿ_–ŒoG`o!@ȸZаY•¤ þõÿû’`¶Œ=V/’àFÃzÓ1ï8ËTlâ � «Œg¼àš`âv‹P�ÚH¾Ì·S+‘Ó]ñBУÜç¶V0 BÀ“6�*’`)iÖQBôЦZøY°ÔšraÑÐI9yb¸,B1˜m�\Ø]‹Aö8 �Ñu¢¶gÒö]]þ÷i¹ç"ýÿÿþ bŒ*áÑÝ?ë|�( NÔxóð¶à ؘpTA7È(•À¦`’åÑRšˆdœí$¨Zc�±ò†‰hìuTøØ«ãözê¾M·=囬ÃApˆñ.ÏÑ¿ÅÚ €J<²L~ ‘IŽLhZ8" _tMqõ‡€¤ �T Ö© „ïL�„ !ûf@ľ-Ñ`Uƒ‘Ý”(¼9†Ye3ËÊñ�Ò“Qôëy…¤cû}ûL®d”©~¨‰ÿû’`·ëNÔYò>ÃZ’=ï8É?PmàKÁ�ªH÷½(ÒW_Xð¸¿R-Ü«J?úٰ̙ºhð§h:ô:„À°±çò‡Y³*fx%€[Y�ÌÏÜex«ðæˆÍ^²e´$^UY$‹*WiAšÞW©»+z!Ør�)„Å…Ì^ä0—a!‘rP¯¢ÓÔû»«#fiTA޼ªì•Û%E¨’7VV·÷vVw1èPñ”¤²œq¼Ýa1‡àuÊÙ@ÆàÙ·Îm×—4°a`ûpó904uK KtkÅ·ºE™ãï«ÔJT=2¬ RR6ó˜ÎhÔ=½Nú@¹¶™Qc àdèÒò‹2'±D&å D]›A¢á˜K—–5²úÛC $ĉÖN˜¬f›©hNÔ†çh%Î8�Ä @-ü@ì#Ù3B¢L£fM”Ô‘}¥õh³­Lª�6AH9êªúÎ&È"mZΔ1·éb–¡2ß !ÛaÜÇV°ýd5ÐÈ Øqm1÷<슒PŽ_d@M�Ï_ÅÀh1>o ÖòX»eñ²ÿû’`·€ÔNÔX*ôDÃÚ€cJdýRmbK� ê@÷á(WÛË[±/æ¿YYÁ/Ôå.Û9Ã|c� È€Gá‘$1u$íýè€/«28´úVNð)b«[ tzŽ»’öó•b1Wz Þ;€%àºbw€žd“%´ÍÌ]Ö´ËÆÕ:¨µ5˜Y+ôV¥­™<òßMÌ2Ø�î�šƒ¹éßKÒ;ÿ^Çoÿ7¢þ�G £8F Nòê\Þ‹ó‰‘h€À§1 v µ—²¹Ñ:›w¥±«X|­‡¸­% ¤y´g…H´çÿáf@1œ€þX�Š6 µÅAƒœ(Äø‘×ÀkNßüeNru9`äÿVâ9,æ>†Pð Á£!Õ±/…Eˆ(MêTTm@ˆvb�í<ó¾=kªiMJÓ²[Sø‚¸ @:hµ)>Ë«Ð[¯t]Ÿj÷­ &æ㈤…Ï�LâgÍi ·þ¤�Ôn–Of÷sŸûßÔ ^Dzwcïô�EÍÚ�3Õ×™øjâACê =øJa`laK‰�ê@üa(Ç´¶»øÛÂß;S’ ÿ*¢§ €pj™¦Ô¡q†»$}¥ì-Å€•°#Kü¹ÄÒ[¿6Z\/Í©dõa—ç±X�Öµa�¾O¢s¹Oÿy—”9YõsïOô¦ôxeUœt JÎ}½©PjÀ(Q5KÛS•kgÊB(¶ šêëå™Jç�D0.zOËEKzéH“ Bí™@s›�å ¡ó0vîCo\ºAÎfø¼ÐC›IÃ8_|pÎÆ¹ÿökd\5È%ÿù èÈ+üy¨�§‡¡09©m/SI€€Öd¹ƒd´ ™Hˆ,¾Ç@–•EUál{ÚÛ£/^.=÷J‰M ÂŽ«Ä<,óc�¿”ôËe-ÝoFb%ÖK÷ª�”ʯrÉ1¶nú9LPÔ¢–k¿¥ud»)\¬P&8ÌSÇ :Ý}5þñcOu‡ƒ1…ÎR=M:RŸ�6žÔ>ÌßE¿N0Wr~ìXÔŠ9Ñ.–MÐM‡ ƒ�¡ÔETˆN™Ö1}ÿû’`¹°PV›òC#ê 1øJ¡MXläKÁ�ê€üI(ldu…ú«SßtŒ†y1`�áŠDqÁ�…SI²'1 €Yt²1ZÑR…ž½ÔÏ -·GXÑi8ÆÜLõ;ëJ´}�š£�µIr»LRq?ägOÿÿŸ<ÍMTHj®äã3È»_ìÈð:“–%íSçÙO¾}”…ѺTÑ}<¸QŒ(àË�¨w¿6˜[‚©¼îV âHÔ,ÅÊÊ”"ÐXàã:Y£æØžf5î[˜‡Žµ‰k¯ü;FĶ~©IOòâÞ/cBO(ø�1øÇ�*Š€¨R0¿ËÑAPˉ¯ ”h¥ÞDÊd—ž·y¿eÓ ± ˜³©EÑ2…–Ò¢Û¶ª Rv{ÏöÐf6ïCÛÛývÕÉ;ÐR•,KLÞëxsQ”Q”�ô+ tÍ¡.û«Ê¡„äÅœ‘{ÿWÓA„Ø0ðt´ �T3šá^Mɵh‡˜Öê5-"´Eqð›Ÿçë0ÚÏ‹L.*‹o8ó4Y¹—ê¨ÿû’`¼ÝQV›ðAä”=ïJ¥=ZlàKÀð�ê÷½(JÿQÒªä"EäqT±æI­ \ÈÀ(4•aÂD$T¼‚u1Eò†Ë»?ÌBÊ Xz—«xå,¼`˜¥lF äÝ–;&�Þ­IP*2•Ê‚\! ?ÿ“¸41r˜Õ±ñ³³,{9YuÓ¿î3ey\®ŒN€ÜÇ‚&̧ô`Sú OAÒž�ÂqÙ”GG’þA Jó·k׳†Tz)O/nG}± hŽó{)¥ó�Ðl>GÏŸÔþXsé>ÿÿ>H¨B�ø@ `VSð‚á J”™Z‡¼«¡;ªƒw€}É@’(h˜ˆj¢ÙDsHM‚4�Å b 8†`‚ (ŒC ¢ ß°e¢¡DÑ"‹-I ‚53ú)&’mIªÿõ£¢³é©ÔÔ5)J«Jbª wÕÿù¢Vƒúþ™Û~p¹uù¸TË1MrE˜±Ö•*°Ó²¿p Œw7lí!)Æ‘jç_‹Ó¼õÕŽý?0š‡b±8Ë>ˆ(ÿû’`¿€îUÖ9òDäš`?Ji#Zu™€ i±€Œ1¥«®~û2 õI#µï/ü¨&e‘* #ax0B0òí½>¸tÇ%@ ÃÈŒa@ <–B%�’£!¹Áê2Š#”zŽ1â·•'Ê�•£Þ›ö>‡oRMëZÛÒI4Ý:·Aú�kjLjÉ·þ‹×ÿÿßþßÿÿÿÿÿÿÿÿÿÿÿø†ËŽÓ?ᬠ>àeB¢l@ �Ê…� hë"€!0|pÊ ‘ñR%‡ÀìÄ(ò˜µ ¨”¨!1x„у¥H¤E&!ˆ›$B‡¯hÆ1&ÒÙfÿHöëô’oZ×ô’77u©JºˆZìªë[ ìÌ—ûè¡ÿ_ÿÿKþ�ÿÿÿÿÿÿÿÿÿÿÿþ6Ý…”ÀI’”Ÿ/S˜ñ:Z_À‰XLÔ:¨Èy‰ÈK ^%ÒáâU3s…¤™YÓST’��Œ2>ÝH¢mvêv ÷¶Ý�LªÓA�ZM§S2ëALÈ\ú©c­ÿßAe×ñe0ÿû’@¹Í�Yž= ‘R ÉÄ (÷\|ö€ƒžìžðC‘¨jT‹©¢ÔÞö°"¦mŒ9—’Uˆp"ă«r3ž�¯u]iO”Œîãqÿù­7ñÿÆÿ®>uÿ×ÿïêŸ>𦝛ë×~MëZÿÓëTöžÃÒTÇÿòÊ€¥ÿßJ9Tæœ6Ô™yo‚ùûNÔN(#¢Cç‚X™/ãC†hîý2g 2i%ôØâ®~*¹þû™ë¸¸¿ùø�Ðë–ÍDB+œ¢Þà®gbÀ×ÑF2�r ÓÄù&ê�"�H…Ë…Í  ³© n(l!ÊúoUnAd÷”õ.LZÞYÞñÎ^pưÂÿû’`µ€†=VjàE¤p=øJ�cVlmr>uÚjšd®p¨`I ¤€åo`j·£T�,C~Æ»AAº¶¼W¨tíÌ%Q Ó¡]0$\Y²ÎÿhÌv樯n–”Š´B82Os)E"œ®vvr!�¯�óÿÿÿõÕÔ '(Q#õÿèÿ�NHÅ Ê™a{,aýBÖ�)7ÕÄ„(ÚãÏ*ÖÎðÈé%êw~w´ŒFX¶ÝF~:ÓXÿû’`·€ÔPÖ»8ðDÃú€=øJÙ?XlàKÁ�ª‡á("·wuø–ÿþ�Œ3°€Étµ@$BÎe5j*´#ÅÔar ³a,Á%Vu3±LªN¼&òâ…\· H$OÛºVu4‘j¶‘ô'C¨:8P íÔÎrØÇ¨ˆBQ/OWyYK2¡Ø´VF)Ì,ezjG0ƒëjHÿÿÿÓ=ÐÊ8Êå «…k@ÿÓ)×D½èËhŒ‘§"J¸I‹ —;ÉꦮJ²â DÓè yUÖ!ybÊÅ¢DZjPŠ6#¢Dh( ÷dÈ�’Jc%­MÃMH‰RŒ¶;5"–Kg$³Ö…OÔ‘µ…¬FùÿK§´BD9%Ì^×u]Ú¡P”þæ2•]V�ÕVg8€·½ÙHa/׺+ÿÿÿþe»èý�ÍVÉÃ@|±9pífú/ãU3'Õ0wHJÝÞÕS2]7e° v’„….ÃôÜ­§Óœº†²Ðï^ÆWÿû’`¸ÜPÕ“:*ôEãÚ�=øJ µ5Xm`KÁ'�*üa(‡>´×ÒcPÇ ßå,³$U%oW1"ÆA�:P#ã톔Ò)¡´O¿(•P²¡¢nÇ€Á÷ãYIcÖÛÆ¿ FÍ)fŽ«tG5n~ÔØ@Rú~²«r.1,Œª„èû˜Ì�™]ŒäÔÓ»ìCUª¤PÅz«êã‘ÿÿÑ(@gtgÆï¬?ùÜ“nüa2x}$ìË$©¤Ãæ›æ@Ä«2¨‚Ї�à8wñw—~íDôŸ5kÙg]ÙT�ÐòæË ‘È~÷þóœ·õ,s�ŒÿPhZØI«Hn ˆèÀå»à´Àæ†Ú´M.S)4ÀìzóòŸµ³¹DÚMŒ—U“¿0Û„ÿÌ(èöá{‰¿¬éZë's΂”ãoPùl`ë8îãÁÅnß"ŒÎÿû’`º€×OÕ›YðJ$*€?J ;Tlä«É�ª@üa([åKÓ–÷få ¹NBßú€ÿr@²ìÍ‚ÀVÔ@6<�™°ÍGüÅÆ«Ýg­AaØû´ HT6(f‰@™@îß)oÆX.•¦* ¬»Å‰EȹGT˜ÎMŽÚ¤ÄçE(�1Jv6ú9¦E÷v½TŒæc<�G!LŽ:‰b+»7ÿÿûÖŽt[Ðç©ãùÛÊj-”}:.GYt§í…¹,ŸN†ª}¢•ÂÖË._íä¡Èy%¹THÁg ¤~êùZ�PðÜ4ÓfËLó;¶ñš²`É™ˆaŽš¿=GÕê±t9ïmÔ¯dL¥aêd’G½ÿÿ××bìD! Nµ¾å�ë·#(ý×øa.»Öä4”‡Š_«7/�F”0|wTI™¦œ§Ü§‹÷zU˜¥ÙÌr‘Ug7�•ŸÿíÿsNdB+­ØXCú˜¡üé]B@HYº¯Œ6#2ÖÅJJñ|BÞ²�B×]5j¼Ü¥;s¥üjjß t™‰ŠÒÚåj¸ÿþsÌL ;}™!‹HàÁAÉØZè€hXɱ0í¨÷|÷€w\¿‰À °ÑK†e㑞›í+’�%‡ù™Ãx°•áøƒÁCh*Ð.Tr%픵qŽwqŽä(Ö°±÷˜z»GÕY©/Ù _ÿOéêc\AȇDŒE|¿ÿ½º1…ãõY%ãFl2ÅéôŒ7&ñ0T£ÛŽÄË2¥"sFm î-oÉáO…Ÿc9^¥¤R§!e‰y˜C�4¾U*ÿû’`·ÒRT›X*ð@£ê´=øJN¡ITm<«ÁªA‡á)˽û—­M çþ]OtÍ—± 1aÓülf(ÜÐ/Ê™�ˆüÛ!_@!Ê¢KÂ[wÙµ¼uw¡‰~Ré¹ÉZ]¸Ï¨é¤`S¿1ù©]Ð0­ +5¿2ë^Ys%în ˆø`^YJQsÎ~w–\©ÿßïL” ƒz«B ­è8¿ýyÁrÀ쬰+!d3 Ôñ뛩ì/\ÚCü/N"Œ}tœ&¯�7F¥³¯ÎܽïC³¥Û �þ•Û©…Ü9ú• ¨¿{· „Ÿ0JO]ê9ˆu ¢4Å*;x*—E½ÎCÍQÛ.ãEêÑ–è féÔed d-Jí‡b}ÇèùùvÛÒ¥±šÔƒ’úì|s3ÎCÿÊç–~ÿðüç¡H ]A&HÁ¸};˜QGU€1€ÑW0í‡Tëµâ-Î*ò• Ò@ p©ê‹-ŠãäyE‚hÆø•XLP´Ï|(F™¤h„<}J¹¿»¤(Dÿû’`»€ëRÕ›Xð?cÚ 1øJOeGVmm��‰Yt ½–œ’wß-›ÍEZR"Š„�œ`�>1‹ 6órèÒ³¡�m Ðg×¥PõJO´ø¦c·™—Wnͼ�$ƒH<ŠQ=O0ñ†!ÑÖ¶ŒBvïQ3Ü¢‚¦w8©V¤÷yJYÏÒS‹ä£»ô~ÞÚ0ÑTagQÙtÙ 0ç‚a‘4K:4`C?T��z*EûüZz<®»¼ ƒíkîÏ´Éfµž;ÎRË0*‰ú{¦¹rþF"1U\ÿû’`¹€¦LV/ðECú¡1ïJ�);Tlà«É#�ë(÷àà©ÉÞíµi¬>ä.ÞÌtÔÃ…¢‘0–¤:b™1l¹ówœºú}„†5ýr¨Yh!ãIBæçy}*Ê÷©$8‡LåpçoSETô…o©f.¦5)ÔáâGD#YwI‘ªï1È#9Å¢=W«\ÕR2î„Ev2Ù ï¿ùœ‚B³†ÂYõ”ú6 oÈå=I¨½‡‡$Ã^™ÒïoŠ‹8"�d½ÎŽ@¶—£dÔp˜=ˆOƒ`žPZGSn£4uþ¤Í^e®ÅËëóË-ÞÎ�„h�”¢*”ˆû ŠDšu]’”pª’ï®cƒ‰D"rѱ¦�"ÔÃa�§nJ­D�ucñøzµçB/+JÒ‚¿ïfÄ{Á'Lh1¢ºNê’¹ë‹xCÜ×Ä]WLÿ×=õ׋ÜwÇ?ÿÿú[›Ü�¤­÷2îTÀÖ´…³XNôÃtäGŠ=/ ÜÅÊDôˆâ˜,?9CYPüy)ö TI¤t,G3¦ô×Ö´ÒRõzÿû’`ºÉLÔ›X*ðFäê³=íJY?Rma Á’ë ÷µ(®Ó?ý5¨ÏHîÞµÓo')$VcIjg•Žn®â·µ�¦â™#w‰¸ö_ô'Îá°…Â$ô1(–1å2S•INØZ$;ÈÚ$4ü§³AK'–E/äü$QG]øÄK~÷!D×ÚŽ29]ÖTµSyîçz¹ËB÷ÿR¢ÄY aÊtÀ–—õ¿ÿOX@‹jÚ ¹ä5g¹rºÝ¨~jðŒÉwFò•µ¨åríkê “¬V¶³æ㋚‚±Ô Iyóþ{àh梶ÿîäQpRûæëèR£:¢l¤„HÈÓ0‰f&à’.ÂQútq’>ðžE…Òâ0û.ðÀ´sQBSs3g±ð¹=È!„¾Ú“oZ’âš¼TÜÔ\0ÁÔñþŸô•ÉÝi0�üýü?wQt“#u’å™ë½u�•®˜¥T‚@ÁpÚ\7°Çú€ˆøæc<ÒŽ “ü±Ž*9¶HMû…·<ÆÛÚoÃMkár­PWmzÄX”nGÿû’`»õMÔ›X*ðDãê“=ïJ5Rm= Á *L÷¼àyƒaÂîd± ÿIP7þzéã\6L¨ò¸2@¹2bi%„…\OAóÍP‰J‘Ü""¤Ì  ’§:­´I‹:Ä=áí…ÒtÜ‘FÜ^Vx æ(¦¨VÝ"8›®¨C)îëUêQ"=åÝ—R«T^fWg!§TëzQ¼Ã„õvUø!]°7’zÏÆ˜¤Á Ÿ…v-/‹ýÛÅ�ÍèmU¿âaK©›KZ¾8÷‹¾'JÏGô»Y’u˜* Ž/RðcA¾þ`:½NPI¿ÿXîIïÄÓm'²—É=`Çõ`åKÒ‰¬KÞp ·MÓ’/›?V�Üþ*�3ÙbÅÎÔ~é‰ae Àý©ieSÌnƒ.æi¦Ïë08fÚ 2êtH&ÊdßCR)¿RWKe¾´]sPp×½¾N?t°Öq_z_ò!' U ²Šë¦ÄÑvM¦V�“OÂBâ©ÜçÉ-C•ÁôªÉš4Ÿ"ƒ07Ê.³šG{"1°\sBI™¯ÿû’`·¹OU›/*òCƒÚ”aïJÄùXlâ ‰êA‡Í(˜•©Ê®ÚÆ%$‘å.Õ¡JÕ‚�Ž(l§+¸T©v^ÊÉ> e†`ÌaYáà€1|$3ÒÙœâY¤jvª‹D`Vχml¹&ˆŽB@y€…¹™R·G^é¶Ðt{;Ï~šÝ��žÖ±¬dwe½_þ‡[2”HÄHSëý’žêe3Y�´ØR+ÒX_a€÷f™Û­)sHÊ?‚¹)È̪Îu)Ó*’1†äXܘfmêÁ…òƤ¬ê~¼z�oé%!‡j!$oý$vꈦ2b<@°A„k�d =¦Ìò5Ud¢køHÔÂ,ø:íaÔì»aù Iæ¯EK]h¨Rï^àh p%¢�ªL¦‘ui>¥nÔÑgo]ºÒwS$dçLÄò"�7¼ðH¹ 4Œ~¥5<‚³AR:úÛƒXPŒé ïcõt�­vJÜ~ÂTø Ó8¿ !™�žg4ØX$n1fI[Z¡BK ��¹¤ãGÿû’`»€ÀMUXðGãê€aøJ ÉZla«�!jA‡á(‘gßü&Á3¨Ô倶þe±dvŒŠIUC&a·ã+ |tDOV–6™qVòvRÐ9ш›um;Ðü¡÷‘ºógÕ$4Áß¶� ˜˜ˆ*°ž�±ÔS+NušžIJ{t?ýÖú”Ó%:I*Õ:jMvn…©"àm5îI÷êS:”ÅGÂè@c"Ï1>fæºÊX·ŒÁLè€( ñ•Gëè$ÈÇMmbÿØ}µ‘O<ÑóÛ'àÉpEUn ƒ™È3mj0gÙ)ƒ$`‚ØEs”Î’SÅ‚uÂ!\H†Ž£ðõÿ†™@`­ë7M‡žÝ{ï³[a���C1vËn$LÚb �Þ hœï0"N\A³cŒÈ½–évþv¼Í�Ó4fdŸA—]êýnšÃD´“R™óÈüýÿÁµ'à?&JGÉ9RUµ™ƒ§£ªó´M ( ¯ªÅX´R5¥¬þOã/HH>Uÿ«I•ò A‡SÆ-ÿû’`¹€è=Ö8‚à?#Š´=ïJ�õVmfK� j€üa(n’öý±o•?©ÊnÛWÉ�dä1�|ë’ª'â�C!£rÚ RQã3…Ì¥g72 •Æ“NQNÊà©)Šªµ‡2Nüc)&0 av†ÌéTŠŽ ™}Œ÷SÓM”ƒÚ¿ë«ïcdŽ£v©ÑÏžzÖ®ª©»(œ&Ò:¢�t¶`’6ZÏa?Ø¢æ¥(Èá¼—�Ø^fO¹8?]4E†î"øéÄzÑž^çßÿg«Æ|úêµk;°¹³®ÞÖw·ÏþÓÝý@ ›U˜0Øt�Bcú#´<0àŒˆtY”LpÃË.*ÐP¯“/(t»¡‚ $÷i0 †žN¶©Æƒ/7}×›o¡õeƒà$�1^«#RU)®’k­ŽÌjýoºMt�=u2.¤o¿ýµ(Íe�Sɱ�ñUóRçh{?èøÎFϽ™Cp S ÇqÕ’2lP®_C0u? нVµ¬®'ú"Eªêz~]‚É}a »�v�Fùÿû’`¹€ DÕ›9šà<#úÄ=ïJ”ùVlé«�j÷á(�K�çܬ ‰Wª°õÿ·H®¢ rõÎ-¡niAµUb�ˆ„×!‚àØRÍgûûEuë÷˜CϤ „ÊÙ…Æ`Ø€­…Œq<#Aå™GO#W­÷It“ýJM �Ò©’RŽ:Ñd¶EN»½KZè&�ÉÃDÂb\Uš¢¯YûåD.AþßA8.txúà‘\4  §¦ò-VnÌ1Ù$L&Šv¡»Ì³™‚`ä}FŠ/uÑÌBµ¶È¯LâußXgùhQ‰PÓƒÌÌ—*p`È— ȈÂ,5ÝÛ•±—AL…9k‰%lÛ�Æ�U;�n�ŒÉì78r: îK: èHAÖ6$q™,ÝÕZTÖªh=—ÿô©²ÑZŽ¢d•%¢š©©Koe-@¸„³8³8]"ûËÜä0$ñŸ&¢Ùÿ‚`zˆ§.Z­�Ëì€èYƒ+›µ÷݈WÙV*˜ÒOkìBPëpÌÌê•“R‹¢µíÿû’`¹€ý>Ö›8’à=Ú¤=ìJ�¸÷Xlá«� �©Àü=(eçÿŃ�}‹õþ—Cµ¦QY•X–j(g²ßqŠÅ�-( ‚#aDx”Ó[±zØ€a©Ç‰ç¼àJ¥­^ó.† b‰š¸qVžª$A߸D�ÛWTÕ5…A•”ˆù®G!�Óûw�Èè�[e9™�&YÀ�ʤR«£_ÛE1¾Éô"™È&3áÍ.è¶Á¡ì|9~é.šËÍ©Ðî¯=0´%»ñ*¿«}ºlf£’Q_Z‡�%õ<\pÛLAs¶þ6ãö=ô~`¥»\ŽˆVzG•UÂr/°<&(ª"¶J‘ _ÂK|Ž /„†*Üá—ÜrØz˜I%«Q—8�u{Ú|”4�­”l ìÚ™]D-ÆÞúÔž>oã–6bùºˆîÕÜ?©¹­Õþé[—¨yßv%ÄoÕ*Ûsšþ{Ù6N{xÜÃj.…é"À6‘êÐÚuÇÇH¡TÀSÈã¸Ê\A�Dáö!'Çu¤¶|ÄÌÕR+à-¸§Ëà 2ÿû’`ºæUÖòB£êp?JPýVlák‰iÁ,=(„�i‚,ïß^‘‹º(.Û9!˜:†5TèªÖYHqív. ÐÕéxE${X%⌗Ùo4ªg,Ö{ïÊǸ5¤î^ð é›ÛŸyP�!À=«›ãw²ïê[Óÿ¯ýõŸÿÿâÿ?ëçQ7zoïp4µÀŠ¡ÆÃ@˜ �åQÒ@ЭtcÖ�aè…€ÂäT®ùµŽÅ›© ¤ù&Dý yš‹’Négî~¦7%ÙZ˜ZÊK•ëîûÑ8"DVjÍJjNÿü®¦Ó²Ò`.ÿßÙ¼× ç(T!®Ž #7w×òî.Ó*šÃÕç^ÆñM£î°™Ëb²÷O‘Z�§ëá/µS²QðȬð$ˆdõPE5ì�M ƒ»![&̪�éV§AÖÌçS7f\!j“ …ê ¾QG_©Š8.›ÕWÿþ�“ \%ô  RŠá=-ãÐDJ4ÓnøÐQÙu‘=–Ã.Ó™ksÙa×�F55•OÞ�ÕÊ_råP ÿû’`·ã2Õ›8zàFú‘?JdËZla«�"�êüa(xq°W¿£ËŸºò/–õ€7ÿ çnµ!l‘ÕXPÉ0š�¹ÝP8@{+¨îq̈ÓôíK&¢µªT5JÒØ‘©ª�à—¥äȸEWn)MÓ7®÷Oë¼ù=Çÿßã8¦5.7ª_îþ.íÿ¿·Å±Ÿ¼ÿï Ð`ªÝ0Ò¬6TôÑ€(Ô?þ�ƒà†Ð%sxbŠh‘ÆhTŠ �:SaVgí¼kNq)Z ÙRvöÉß kt·c²Ûu,7”êfmŠF[Ò™F\ç꭬н2 K¶ÊÛ¡¡Ü¦†]ha'¤„ˆ A+ÑÉ‘í%!@+Ëpaö`ªÁ“M§d µ¯Fê®9*�£dL% _ÚX~žrÃt‰' 4€ã3¹È7Ù}J|ûKúØÔϽË?¯·dç~ÔøÆÌƒon‘:ßÿIœW½U ­¶æû[œ]¿î2¨JÑØ€íÚýQ•ak €Wom|ÊCBBp�ⱞ¶•Zd�‘šê‹Í1ÿû’`¶€Ä<ÖzàGãú‘?Jˆ“Pmc I�j@÷½(®‹àHK )¢àª§“WÕ›€æ•ê®Ú³aß}à ”–ÅÉœ¨Vše…ôgÛG‹°­ØYìÂg®'õ—B[”äZƒ«á•¯ÊV.+*Ã@@.jɵŸ7*þýή½÷ÿ_ÇòÍÍÕ{å�¨Kƒ AŽ"±fŒ&@ÓÈ�AùTöÒ@®Ak ¨?ÐÔ4x�ÕwHH€ ‹%s-²¨f].t ÝÓ ï¡ �"M”JB�5Ø>!,g¾fà²û”müëìq`—@—�BÇQSW›q† X»: ù�ƒ#ž²ñ@IÂþÅÐEª7Y&oû[¤¡ÔÍHôþT ‰Pld•E¹ß·ùî†ìž+ž7C[0u–”E2/–Ý\¾>:âQ±‘{@((+8P°t„0‚3ó-éü® F¸í[»�ßua©jöJÚ5"dÅaí¾”q ·� ­U‚¿÷8ÐØ.:� #Tƒþ,Zÿû’`µ¿8ÕXZàDÚ”? J�XñVlák€ÿj ü=(t† ·Okñ7—«¹`®ÿ)1Þ2ƒQ^-ByN4Á >Ä8 £®(5ß«Á\!@G;Ë ‘󪾊ÐhÌÁ3­jª6‡Fb‘PD %HŠ-•9í[-´ÿDÑ&ŸS”´ó˜ö$PuM!?§ï/™rô:ȧ‘÷ÛqÙ×wóûþæ¿×ýã@lΗ~X8dôêdú(’aµ°LüCGQ�¹A�c0éŒRÚž“•Cœ]Ç»Já|‡:[R6­ŠQãEÀÉî^€Nmì@f‚{ž" ­#CÉxñ¹Mu|žCxô/g úTN"Ò/2b¿«xb™Kh'f¨±� Æs(h"8<`›jŠô®.»á©>¿ïââ²_´5þéÌxIæ;›3*sŠPf‡FIìž×WÊõû}êßÿ>¿Wþ?ÿœ f@oDX$�H(\Õ7ƒ8“™"Äìò¾@÷$´Ö�Ì/Œìs slêk šPà¼ÿû’`¸€Ù5Õ›/RâBcZp?8ÐåTma ˆû�ª÷¥(¨dÿé°§º´R¥þÛà¨Ý�80D•{&@°çš n® Ð_˜«2DIzæ©+úT ‘îüié±v�ê¿°+‹ÉŠ—ªSPÄç IÈÏ2®‚8æ¼È½°YLÿû–ņhf¡ÕÞ®¶O̧ÿ!e›\�ŒŠèGuæ º¢ê ™¼ÊÜI {+·[·+ Ûœh˜ »†^$ÉèÈX�þÖ54©HI…¶×³!јޕ -\€ýó‚µ6$ £ÝWãK¦+¹P»ÿ¼;«Æ¼JFñ|•@eí^(¨xS%Ѧ9D¯È≽s‹ ©N?›áb–^ÞñVõÞf|ÖÍà2E¾i¹ÿòžåáÐÎh¹¥ÑW;‰rBÇ„CNVɧ\’1‹c6SDÅ�Ø�.ØDÊh R Bzú�ZaÐ@¤Ó ’o_ë͜Ҍ\nùxROüË~»$Hr"F¹Ç!úŸŒCŽm{ÏÓe˜°½‡�“jâ z½(;%=W¢\õ*ºÿû’`ºîPÕXð7£ú€=èJ•OXì¼kÁ ’é€ü-(Ò$åþf,@²¦e-D@)‘-žŽ5äÊa¨@X#@ËÅ�W”¬h4¸bÿ»ÎÔ %”H%}­žo¦V£8´élÉ X–·€U?|¨ÑK"_–_ž\. œúPÏïæÿU)E®„Éb±�:^D¹ªE H Ò0ˆÚ�°êC®b(ñY]ä«´âµtH‰ˆÏ>cªËñ?!O‚ŒpÆF€¨Œ•@¢*"šPÑ©qx¨¸ #Æ—‚�©$Ï‹9z@$öŒJŠÈB(¤Å 4ÞH˜‘ƒ‚52Ô15"VSĤI2  4àAp X)½k(uо4ÖbȹÍE|–@5HæÑ01üE et’S'tOΡ­õõ©]‘Is¦ˆw«˜_—¿ë¨dÀ[ï¾ï'M&ж¯ D¤Ã‡ïZÿÿu¹�õ¬UZ¾|B≻R¯¸úû‡#j(L»±˜�—Þã¸Ï1·(9ú%l/àÌÆäÉiÿû’`¾€$NÖ8ðAÃZp=ç8´ÁTlæI‰éAŒ=(Éû>•ýó‰‰$+nŸµFÚøAÝ KÚ¼L“– �¹’€`Ž#lÈÞlu "q"£:A”5–PDP›^•péäMµE€§�Èq�%ó4�cìܦšLÈ ²ÃrìöÊÚ¹Ê}Õ'úÿõVE(ª8ÏݯVÿCt1Ìw/ë¶ë¥w+SPEñ›¦ÂÚ´Aä°HÄÁTx…è£Ùúˆ Àh°­�d«µ‚ e5J`€…âU] µgƒà©�mûÆ:M\PDÄÉ­^©JЃ�‹-k¯|f‘öŠÑîûÕlµ”¦"!=+kC:ÖKjËÿû’`µÈTU›8òDãêp=ïJU Xle«� ªŒ=(JÒ@#'n+YÄýÁãŠÖ@‹ÞÔ¨Î;N“IðÁ̶¢CB(#i¼ì¬CqMÑ¥—à¹#¡ŽÉÔÕ¼lS‹%�°ô¶—È 3'§­„~:Ô“†l°¸zË«…íly¥2ÉI‰@Ojú7'«œ…;�Ñ̈ï>Í‘‚:±ÍGÿÒ•1x‘rBK…ÙF2/´„„L0p¡…¼šÈŽQ“Ò®RElDÆp~KSNt9�Zâ„ÿ>È+“C*r0!Ãü„Ÿ ²;�’‰\”’†›�3D�ÿ“#ÅÍ1Nа�,rJU!0‰Á‡pÊü·l°E³j¢ƒ¹«I²(«J¦tf'"–dSÓÛ]xY�„q¤2¹¹†uo¸‡«˜»êãþn§êöèCªŽé½K.ª!�ʘRê­CE �íª´ˆž÷cTx,À¾C¦8ÐhËp¢&„@€Vóà(Ì窮[Lu‹#›¤ñ.‡7\_�ú@B ©ÿû�`¶€ÅNÕ›ðBcz€=ï8O}Zlak��êPó¼àøW¥OLÉ£Ô”j@‹þz8M‘ÝX(|«¬J"*!™6X(£EFw1ãBS\¾©Ï¯ˆÖÝg�˜_“P±r}Ã}ãïrüV'Îf-ºn:’ˆbIG#×ßÍFMhd:%×ffo¦î‡,†0”–ÿêÒYäÚmxQpúhDŒ-Xã- '–À]M71CŒ–ž£Šc„»Y¾D%©DÈ[Õ©ãê<Ñ*Ø+¡¡¯Dõ ±>2Á´?œO(nâÛ:¶þbFÚÀ¤öye`-Aè �Òq°Œ˜ÀîÑ1¬Pš)æÉ€¨ ŽÛth$¨‹ìˆ¥âB´žî+ŒÆæbHiÇ»6”P|¸.@ïfCØÙ–“³öÐRÝÚÞ½«gf¦Úvg3ARê)3=™Z / ¥#I%))ÌÎ'å”Á„DP¥;-ˆ¡ÐÕ8PO3¸ý#cÔŠ7ÒzKE•˜tîK¸ëÕœªÕ ¹¹ñ>5ÞP»Õ¡y\¸Ê4©ÿû’`¹ÝNU›òE£úp=ïJÁ Vle«��©€÷ààÕ–ŒÉ�ör)á²ÒÛý Þ],#¤¤hÒu®S²�ÉP�**"p<ÉüÉ’d§�GÕf8#Š #ÆRPw8ìœ1LñOÁ¼4»h(Ôc"Tk04I�w®Î·©4uY¿ÿ÷Z*vugæg™”�%˜"‰º/1>‰ú4"´( z»;ýz¾ŽÑòJÁ�°M£LÂðÐ=ËèŠèThéÞË A"m�×’êÛb‰Çæ áÄ8˜Ñš‰XP š±¥B6Týˆå3\âÀ× g™µÝšâh É¿ji»2Æ€8ÑŒÁ+Zã¤�?N—ÁP6êiö·4˦ÖÓö±j;AÒ'(�.¢³ë]u.ŠI²(¦‚5=ý¨ÝªëÿÿéLšbçʳì05bsÁ°x8àœgêG’§¶Behj<¿�ót轃ø�²BÒ,ë—b:Í >:¶`¸~ô(AT¥“ÃÐ:nÿû’`·€ÛBÕjàBƒz`aï8dñRlé«� Žé@÷±(P¥ý¼�öbÄÔ µÊ&-ÚÚŽ››,À¼eBP|,è5ež‘¤KõÆÌÓÔ¹Œ¢âUxñf…¬¦KY†AœÂUß0©k_K=jëöÆèµ¿¦ÓŒ§ö_ˆ²ÿÌþØñ�òò d¡ ˜Ó%Di‰#dÊÌÁ›-ý.Ú7£æExy(æC”ÁŒ.¯ýÝPÀ3QŠÞÚ†¤.‰ÓêªxFv0Æ=ÄF‡Ø‡£øW³d„YÈ#Ê-K ÕŠÄqc¬8¡]Ö[[�ëX;oñ‡ÐG·åâJ'A6TU4W=qÀ&œžT;§-‰àk1$Ó å�Z:–�lÓ¬ÀÂáÁže M»»Òþ·÷üÊÒ ¡D…ææQ�ý8Ÿ áfé|ŸüÍk—ê¤tžš®yþ³áèI³2‹“RÂO<¡ª¢ìo1f�M¨Ò½˜jKàhÉc x(À)©6$åø§V¤H¤ ô·¨#ÅÑ:�Á¸\ ™fvÕ2}žÍÊÙÉ3•m,‘~«ýÿû’`¸€ÓNS›8ðBCJf=ì8‰APl[§D}Ìs2æÌDÍ[´Ìnºê~›L¨´†Bã^¦´»’oEÿwÛ®´°Š±�M¢’U¦„Ï 0ÐtÂÀ$<Ñ2m=ZPï¢àU˜’¼\!…ÓâM5÷ÁÔ!‚ewå(葥Ȃ—°3ÅÕD¹›Œ'(+Õ§9ýŒYÿû’`¸€50UïjbYdJcJ ˜íVF1k‘�‘hŒá(æécž ^‡õù-žõ€'vÙŸœBìÄô:1`ÓúºZ,î4P?–V¢#Ö¸lq˜…é2ãÍÇS©‡‚9IGZNªæLÚÏ=i­îúé*¤ÐºÕA]lïM&g[1¬h—y|¨g› îjzžd ã|%·/¯ß)ƒ—)3™šâ!Aˆlª¹� êHŽËt‹Nߨ­•¬¬µhžQg Nì=% >÷XËafQ8pu  ›»z‰^/õÍÎÔ¤ýUüÿ·Ç”•w^Ú€ ]¶i»ÆÁð·uSw50•Û”eÄ"’ljƒÐèrV;ÙÒbãX¥ ËiÄ€¢-qaoòê˜uW¢ÜæwsÆþÿø¦{¡YöÕï¾®kÏKíýÆÈ§œ`‚×&Ål#°½¾õ*’*#þb°c9,ÀY m ')v�ó)cdiYÑ˜Æ f< ü°±@àU³OâÐEãoKmËP˜«Úœàȧ•Ãlž=8e³Éù÷-ÿû’`¸€58ÕìjâX¤ZcJ 1Vtõ€�“¨³�×·-æ¹)·ÿûÿÿ»íóU$ˆ ´˜'FBzbQ`Ô2¢Ç©,¡b?¦ �ap(x\ÑÒ XF&AÇàìJž*C£SO1DäFŠ¡vµHjŒj©CšrµvsÏÙpêTÓØnîyèbtæUr&þÆ3*c|åoóíýèf44ögmM¨âžm&µììJ¹p°Àñ™ª©¤ì™�°‡ æ%‡ S©- ¦’ÕÝRC¿WRIº¢÷ ëEO½­MIº=Öé-"ò’E—­©I^û­4‹¡ É#ÿû’`¶€j�Xž4àu² pÈDÉ=Z|ö€Ž©C°ðBSK"iÕ[2Ò4n«ºJzH"^¼Ãm*�£k–Œ4QüV¸ï 1Š­YR„aTÞõèÄÆ&L5Í– ¡Fº• BÛŽ ±n¿��•.èHúY)ÚÓ~l,}�ÔˆFWK} INâÜq€?r‰ê˜â,,GQ¤‡+p6R©9ªÛ&Õ\÷Kc˜*аëF©«&P]}Uÿ}35Tb¸«¦)eveVC�ævU,êÉS>ŸÿôG<§¸Ðà68í ".%ßýtj¤¿dÖÍGœNcHÌ­3°-’¤üsÕÄ™»£:ðòUô Œ:!Ž-hŒ8É(‰ÖR :ÏZ£�kó«)Ûº<‘‘šužPWæ [!`NC´ž.�‡ªÁdE@¡”ˆ/ІhQ³x÷UAŽ�|l$ @ÖL ‰8’NÔ”ÇRI5ô›]oÕ{ÖÌôÒI‘4ìèô*tÐQ±ÐÉ�i&ö…ÏŽÁ@Lk×Ê oýwÑ㉄‚<^Û�åÑ-ÿû’`˜±MU“/*ô9äZ`=íJœáVl½«€üé@÷±(Úê‹€á.†‚¬ì%Ð 4¬9Ð(vIoƒ2°T).r Ñê¢Ó:Û™‰8"l!¶("¬ÿsá·430dbSb‚á¢îÞcMͤʬ¡„] sã8@­‘@ëÍP¬¨Þ–ÃNôýÉe¹FUe2ž¿4.“ýT¿–Zã!š ™QLÿèÝÞ†dU �HÉU¡/z«7e2T¥CÓþŸæu¡UTÆ\O£ƒIû}yB½ùP:´».A›y âåÅF£Ðø«•z�š0f9U%‘’BuÚDHVwaìCŠ B˽™J_,ß_3§% Ð*müŠZz!>,tiïpÚÌ=VhÖqi\–ÃØš¦a²©‡Ò®�™Ô—R£˜ HÐáÂgì í5'¸`ÇU^ÅMc·Ä¯7ñß×õq¾ÛW²¢á¯«ªŽîâsíøû�š×Huéyš˜õ®u9ïwêø qöp�øÕ�7¤¥\?ÙIYçgS];æaÖ¹sZM+ß½Q­*ÿû’`¥™NU›8ð=ÄJ`=ìJVl½k€ýj÷½(¦ˆ¤`B1ƒÞroõõ�Iˆþ¹ÇÏÌ|z€æÚªÚ:_†Œ¢ë·x.ªŠÂදeðÂ·ÓÆœ˜9ë¤t�Ü“Cïã{ž˜qï¯ÚX�=b½Y$0¤* t–ÜÁβÙ8Ê{™$»¾ŠÐí¢Ê75Uj\êLµººúï]š«,Áa0À:L1·AÅáY~ÏÅ5`•¾]ìÇ™ªFK ‹$a= ×'5;p;ßÒg"à©ÞLÔ¿;•º†°_Kýa“ÔÈZš=s4‘ _‡ï¿¬ÃèX .΀èflñxŸ…Öæ§ *=ÍÔä=O£86shvh¯ÌÂ2ëpÀ6‘ fêTĆÄ}—²*œü婹ñz '-m«a,Øf5 gÿNKÑr4Îe UéÞïÌqKªž\ìdu·W±v‚H��“÷ü„˜®*! ÏMF)�í’9yÊéSž ^ÊÍ~n¥e« Ý,tjmͼ¾'oa¡)såí ¤Cálhÿû’`³€Ê?T›8jàCdZp=ïJ!)Pl¼KÁªü=(z‡¨ÛÅëó¼Éæý`6Ú>ÒBJÚ¬åz÷À �siµãª]¢BÜ©ídÁZå}�ÃU}Lj5¶Ð•*ÙÙ[hòÕÇo8�¦ñ�I÷õ¬ç¼#q…€+zÔy\š‰= *bŽq>”¦,2ÔV¬ŸU…¬V¼Û¢,СQ)i_qáS)j‹‹Y¶@š°u<¾>�Mž[8#*™2†&³”±«Àh3T ûsÁn¡lå<(bޤ%&;±KM…?rÝ­÷ÿUyVÿ£P=¶Ñ‰CcŽˆŠõ¹ïx¤º­©fÐ@“S5 Ùc„5jú[U­ÚI�T˜ªL÷Í0O®�Ôƒl™àvÚÖ0¥ QÆ–"j8<Ä?Iey"Þ/;%­R²‡�f­g®û<© È9#$Zš æƒbÝ!ŽFÛ/1Q“&Éë¨ÉZ¿|Ô"ÀáQ"^és¥†�Ãd�\ëbFŸ§¶¯ÿëF£Hc.#�&†Z°\k�T[úeØHcÓ8*œæ¥%A�ŠÜ|´ÅÑQ…oIgÖʵ$PbäA}”QÆH´Ñ•nÄD�ÜÎíª–p¦¿7Îo÷Añzÿ¬¯ÿó÷ÓÝ‚}HC2ÝÝÛ¤š¥«06Euê:sgZÅìÛY}2æá¯×'SÏÿÖ±›±÷þÂý²EÛdÍ“l½}ËÃê;m°û‰žy4í3É�A2 �2wã=ÞD}gÖþõí³ˆ‡?Tè çÅω,(«þZ±›*,4Ç@Í“m“VOrPÑî”ã Ã"]˜üÈ„£ó?H¸ÍÄõ0jÿBÐÍÄÝè0B£#iª¿·ò]ÿû’`»)U™øj`V$ZPcJYC`f<ËÁx¨Áœå(*–OZ«=—îþ0ïýëŸú±ìð΀îÛ:òç‹Ë¬ÐDCæb_2ÂmU±˜�6ø`�;< îœ;Ö¹…}ÓŸ(×ãçlÌþ¼�CIdV¦ÊhOdd}8ê€Ýòs ÖtP�@ÝDš�  ˜0£äËB­$;6c6¬¤X R%~œzšµaJvгn‰ºÐ¾)øÒI¨’â0®ŠX"Z²f©…À­…]FhÞ5üÂ݉—µe±)mÙÍŽd&±v›³Ü'ÿèÔ#ý¿ê]¾‹�¦`â5ž¨ä2šYq�f6Ž‘äßp�d=jDëäâµwMè†×Seûæ ÅcŠj;ïдÍËÿDq-Ò%�ûð‹¹v"BØY±¹å ³4#5TV§i½êù“sØ\&dQ,·5{\jî�Øk\[F^Ì"¼åvÚ«<Ë€%C„8Ú/ .2†µÏK€ê]nOQ-ÑÆZˆ³.-ëL*¶£Ù¶Ÿ“—ŸúÓÿû’`´€tNX¹�ðNƒÚPcJ1-\g¼kÁ‘iÀ÷½(¾ñŒ_ö¬{ÿÖ ¾;D?è q�c¯; ¦fˆ” Gb UáOUÑ Á°Z d®ô½cˆkZØ»›)fÐÌuÝnªÄЂág¬©í�vöE¯WÂûês‘k‡×¥4FuCÊVŠ H`°‘IaÊc:µ•¨c¤iJ«ÿÿíEdA"¥´!'�)‚Ç–©è”'Ä.© Ÿ.ÏJå™oM’K¸já„`—ªwûªÿŠÊCLKv°í{%zîã›} Ü’­ç�/ƒ¯×¿62^f¾�ªnµ'\oOÖ¿*’ÊVe‹$1@j_¨³¸äC3ÒéMè&"ã=ô3iIÐή C¿ts‹Y�Ègg5=�Ž[ÅeÖ›þ‡1Es‰3‡ƃ·µGÕ”Éd&½ñ¼8¹ø._^–‘2�ò¹eJy ç»m»L¤[Á#r®%Éä*§�ÛÕ»`r¹äMwõ7‹l@‹ÿƧ©Ò?éþÛtƒHŠyÃ��3XÅé�©!ÔšB�ú¾ JŠ´²¢qþd¡"ÜÈ_ˆ Õ$Á$�5 yà?”ªek$Ù�ŸÆ?¾î|óÍœ”¡yüêq$¦†@̧ž¼=‰ƒÅûen;ý2bƒ@L½È¶ç*«Â/‚D8HpŸ£¢‘JRXw�k¾vpB“T]™aƃ˜è@†¡=œ“çfQâ|ö'ÇKÈc€¸ÿû’`º€ïMÕ›*ðH$Z`cJÙ1Xl¼kÁ�iÀ÷½)—xûþ&ï,Òê‡qÞØ ÚÚob¾ÆÏQéj,(ŒΛðíCÅ/liØY‰&d€�ĶEh}VÄv/’ìgTÙ 1g.Ú0P¹¯Å÷’U”9¿cÐ0@Œ$„Õ"S·Õ©Mü¤±wU�‰bW)†)Ìu}ìJõùäQ€"‘s…�ï1[�³¹ûÍšç9qP&H@>­Ôe±uhä—¤Ç ð<÷RÃt¨ŽÝº}ݸöM°�V:ÕÄÖÓ�ùþe«æùŵÛq\ýëø7”ÇmQ%ÌðQÔªüvÕ‘$Ø{çí; �?àѨ² pIDž.Ìv“%©™2LÔ$`âa*M8Fr�¥8ÇKõYL0Lx\[S0€þ{÷%Õßö:Ñi!ƈ:ÞçJª‚ä=Öúï5÷ù]DL»*-â ;qžÝk°ê´K ˜iç FâcG’4ÄQçÆR�â¶ËÐÿ%(,F!–¡_`6a$ÔSþÿû’`·ÈJÕ8òE$Z�?J¥-Vl¼«Á%‘jAŒ=(DÿœE¬G ;�ÿ^ª|À¥ÿí(F#¾5M4L9x¯LiºCÑP¡)…*9‚ÀPIõ„%8Íäq-ÔR6œI }®#5Ì}Q¯—1´ÿú†R›ö;¯þÞ¾oÖe²vL¾HËÝç̽õhO�X#>hƒ4XJ÷™+E­Zß½:ºš¦qøkI©¬Áú¾Ÿ[çÖ ;ÿÃ"Ø^( „1öî¤Åf•q¢�ÅöÆøÄ¯P­‚yc.QÒÜŒ;ÚtÔȇê 7QÕcÐd!DÌö‚jEF(º=F+El“ÔÉÓ³Ö˯]T-A1ôRN»Zƒ©¬‚Ðt¦]—\Ô¢b,£c‡)Oa†ŸO›ÖœhºpT”LèC£Õê¥dÍë`A�D,êI:vÆp…Š�Za­]rG±ê²\�u5ל¾ L7^\íìì–ÿû’`·€“<Ö/ZàI„Z€?J… Xl=«�*@÷½(¾é�üÊêfÀåþÛdPXèá`YR©©R@Ïæ´÷K¢tÞr�øÕ[e.2>BÎÚÑ©¿v§©„ô^ÎŽj*0\HNj9ÍqÛkŽz×EcªçªŒ­Edкº!*§ýüãd˜¡ðŒ'uèIJž¶((޽‰ôåÛQê� @•:ħžxXòî²£âJpƒP }œVL>Æd4êÅ‘Msá G\å‚lB&ÒäÊqëAÒ-£Ì&�—¸ƒH•}>àEÖcæG“Ûk¿Ôßþ�`öøR6Î2G€‰’o—c;Q CÖ¬†AïÞœ¤ÀÓbD»[ëµ\R�P†µžNNBb] 8~‹uSi«›êØÉ'Ô‹RIÝ�’ZꢼÕÒ>º.Š:‘GW©n§EjFB!(ˆT6K%]íþ¦ùA ¶2P×7P'z¸E¤‹0í€)æ@ïhõf ÓµnC@l4Ó�«7µ•ø´×�§…±±(»îºe"5¨Áî·Ž–XÊ×_ÍVwÿû’`»Y?V:àOÄZ`cJ ýVg½«�=)Ä÷á*豈N€7ÿ�‹R :BÍÞ"¥ì† hô±…µI•À =�.fâ!%+Su&Ýè`¬±ƒZa‹RORÂù`šQ*0`õ•é)IT¥æ+ÿ_4AVUhTöLåžúÏ×<$qæ1®!EWF“:ÝÑþ°Ð+±�(GP¶R¬ô8�5¹®¬@Aà$ _8ñcHϳÖ÷¡vJX\NËŽ²ø½ ÆrI“†¤ŠÀF<Ó×Q‘ÊŒµZtÿUlË—3 ��WF²À ¶ÞtÕ†`BÏÈ“ CËêÇã „P8}CEÄHÓX��™½è“Y ­VÃ…(7¡w¤îʶÓäÐFÉàv'¥á7ðÌ2Þ£§Í‰rñq÷YäŠ�ÿ©yªº´~¤�%¥fR�„´.àÀ’Ô­Ýxßö³¤¼ Á-Œ€t~æ@D1ì^ƒš hd¡&ÉýXgáÚÍ*a(^ lì‡=ö‘x:äF‚G€£‡p,RÚТœsv–O~Üÿû’`¼€l5Ô›jàQäJƒ=ðJì×Jlå«�@˜ª ÷�0ó7],v¥:½JsÌš(·þ³Òîb)f~Lef '™ºR¦„)|µC@#8 Í:oµñë¾o„6„õ¯IàYÎÔ•CÐÛkM MOV(©€ C,{s¦èœzÙœãÿGiº]ZUW®ê¦šnÇXhÑøx>&S�%ƒ�Â7&MX¦NÙ~šò€%x'ŽÒ‘ „"$¬Ñ÷’çFE&ÔWÀDÂ]=Qª!È59jm´g+²;5�‰eŸåR‘ówÿ4ãi§9d¶ô˜,ý@ÛQURÛàÒ5_*’q“§aêH4†‡[!<ÛÔÆEÔ™XT4 2ú)iwY“N^¹¨º!.Jã­Y#ƒ�ÍòuE‰¿n¬Ê3>§ÌºÌ8<¸÷SxÀú€�&.“qa BÃ$X(£4$£[HAöWÕµëoìÒØŠFKÀ5W›ec…ð W Dªù~åï+=UØMW¹AxXÕ ²a#†Á�Þ9<ó;Oo]ŒØíÔëÿû’`¸³5Ó›jàEJƒ=éJ”‹LláéA!jLö0åXfÂ^ÆÚêöÚ‹Rè,QL%t3‡5÷þ`Ëgnš+# XÀD)B 1Â6‰,Äò‚ˤ\Üàê' ä¡48L‡8Y"áÐS4B‰¤ùpÕ•E#/ú³DPfSóþr�E5¨«Iìµ-Í'­6Ó“öý(~ªëërçG{¶¼†:·¾^‰0ÍŠ%ËûýÅWÅöVÔôRåmi½mú?l K›Âo D%„då ¿¯:q¨*ŠN)eëRË€�Ïãò°ÛPr „ &€c‡à^pà$�|JÆmÅì;Êd2xZ’ !.‡ÉTŽ"^@|3-.ƒœ¨š9謚6V�Î'F¤ªL´ëY‰ç©lfq“0HÓU˜õÓº,ši™›Ùÿ­µT]4MÛÿ«m¶™›¦Þèÿ÷_þè Ïÿÿÿÿÿÿÿÿÿÿÿø×è]1\(ˆXpà]D4eD&`¤ÈàÉà]2&`ðT!¢u ¢‹±A…ÿû’`º€¨:Ó�b`G#*£§¼2A^xÖ€ÐÈ*ƒ!¿‹xÅ/“C¤¼C‰‚< ø¤²é™—Bã&_2& bÛ)Í-<·§MHÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüz¡q•1‘¦yéyI3@äk™{Ρœ‰·Ù¹çTVû¥šö¦óI�ÞµU²ûcÔ@å>©#œì†²£ïže—Õ½”•«³æ ì1·³c�B(¶·AJŠdËžÿmCo8É·´öûeÚ£‘Ï9Ó†!Çp“™ã�t8éLHÍØ¶VÁeö„ÑO‡k¦÷€¤3P£Míª‘p= Ë™Î�ns;•ªÈ…º—Ä{Dέ÷­OJ ¬vÅñ›ôe1ÐîV¶•-“ˆÙ5ç-.®-·–Ï­-:Í·aŸ¬|ö(€ ©fˆ ZH*mcÈ~ZŸ–TûÂþß ÊFjDßøa^lzRÿòURňžD(ÐÖI}í¯B–åv»í‰s%ȲÜÊ4[jÏXð™ŸYøùá²è ÔÎ N¤‘þiÀÿû’`œ€WNÙŸ%`HZ€ç¼ I/fF0kÑ>©ÁŒa(äº�zuõWŽjl­ãô»]{Œ:¤àîW*þÏ_±”J/M„»õÍýZü‚0 [ÿj€/ì<ñ•I„䛦�˜æáˆnï�Bh«-‡"§x_ùJA¥T f6%óý¸ÿC"(@‘o}œgMl:ÿî�º=Îïùš¨ŽåÍ·º¶ÜLÌ\2vÝÍYòi{*aðˆñÐï›$*`&ÇÖëøw*‡@øÀŠƒ`‰ ù`™ÌÍÉUÀùpÃå·UuRf ØæTi½™Rr¨ÝBnI)"©OB¸}eÏîx4-FƱ¿˜� Ÿé]¡®ÙY9©œZ€à‹zÂݘ”.ž�R³Ã@�Vh‘®k„òF¬�pI]r:7f™¡Ø^LÆ‚}Ÿ¦ü‘¡IX6ðË*ànäkú�ý3±Jz‘ihvrÙ?ª/ÎŒ·c”Ÿÿú©YÎTQ¡ ÃMôü¼¹C—ÊÁì²ÖýµÉéw\£×tRª’ó5$ŽââŠV¬á&À†£Xÿû’`©ž?×›ZàBÄJ 1ïJu;ZlàKÀø*À÷½(“¬ Šê‰èû1âÆùÔpT¼â¶L[ÿM"AÅUéž°8}ŒÏ4Iú¡„  HO$âá‡Zÿ`Øj.ǨT×Å5<Ôª¶·aèá`ò–¿#{1­ßÆéãˆÿH­ÿþÃF¬Ó…¶ aC7(q�ÅžÃ�c»/Ûÿ÷·ü¾JÙ?Œà>*}@h >å<äµ $ŸH×JºÛ2eC‰þ†ÉŽsZ¹ÔVPÇ5o­zDsekõüë-¿ŒÂ_êŒr†Ýj²vÿ·'Ýì­ÞçqÐ!{µítÑ%¬Èåﳃ@£;ªNö[z s‡Siu¿ÿkv{ƒA#)Å« #Í]WaÓ8È;Õ–ª>k/¡Ö%Õ‘\ Ä竆N_$Vvg¹T*0-Ò#]ÇÔî?[Õm}ψ?çë…d"½_ëþΰ ë/°øeéÌÆÙ/‘Ï«RYƒ�"�ƒÈJËFD» ¶¸¿d+³Û1GZ]޶ðÓ>�¶FEMDµgY|ªZÞ=àÓHTÙ”ôê\®ªÅ)Q$uç`„ºéyÝ™‘—¨2!¥bU¿ý¾êÊYÆ:ˆ.±?ÿX�‰]dGôÌQ6C>Þf yp!ªmí'¥Nšå0•¸ ÏHbD 0¨Õô³P Ìûá·�øËýÊ_ ŽtýÿÝÿû’`º´RV9òFJ€=ïJEEVm`KÀú‘jD÷¥(ú@@ºÎèôGðEŠ˜ùÅU¹‘= ¹­–~JT=h’ Pί¶g¨V8£EÉhíÁÛŽr%.§‡¯¶ÏRÊc¬Ù„7I‡>ºÏ.Ì”%«Éä„g™]ÉšoD�¹ÂÆ¡q¡ÂËL(­Êì±dƒ¬òÿÿÿòïüÞ0µ# ³)ÿö>_Å<‡„¨% ÞÂajf»xÓâj+¬ŒÆl’Ô�U•¢p234lÛ%ƒÒ5šM-¯NWQÚ÷Ë7¿°ƒ„Œ’Ûô¶îS@Ý,/¬l~pàS_t ÖqWÉQÉ©ÁO! ²Æ4ÃW°Äó”VL:ë¥SHInµ—[ñ‡âpífU2È2l�,Nv´“ w¨ÈyÄÊ<:®ˆÎcÿJ;1ÄN+G"©F�‚¥)™)gF4Êï)å+’ÊíoÿëÓ²X€ÁOÿÒ=KÿoC¨‰ê“\w,Go\ÆL‹3h«¥,Œ‘~­–Åc#'q@Â�³eödòåâµ;¦ù{¿”¿Nÿû’`¾öQUXôFäj`=éJÍ?RMd«Ñ ‘*÷±(W॒»ÿÿéÔÌ_âgñ³¬MMU1$`nŠói°<°ºÅôF-ÒÔ†Sª– ‘_�³`ktN ~Ç̦»¬ôÕ•Û¯*¡¾ì1 +Ú‡(ƒ£¥,¥'ëú”>X¨¡êQ"‘ ̪›¾g"/‘†ˆ¹ЭTÿôGG½jÁçA ™­Àd”\Ǻ……úUéÈÀ·$0MAsƒb4Â�AÀOÆki4£Üî;ls¢‰èG÷dcÙøég ú×y…ˆ2§‚ƒ�_§ëþ¢O  TsÖ³£È*À/6d@\ÄÜÙÕTâiaµˆ­UH Kþ\ÄqXŽWbíÍaD®q`è/M{¡ë€Z¢[ÌÚ×Ð� B3óþýÑ®€‚ÎÌìd `E0šSS•µôÉTžßÿ©Uå¡ò‘B!Rîþ—_íøÒ-|º¤‡Ý׋Éñl$›ÕÁ)]ízƒ±W"µlO ÆôT}mJ‚\—¸B!S¶%fSÀŒ7Eú€Õÿû’`¹€ÓPUZ*ôE£ú€=ïJUCTm`KÁ*€÷½(L[{®¾=%u4úfRí;•€‹¹  2” l5º"&, )™8Äã‰}çÓÝ”~¢Ðì2�riÚók.Sò¶`å— �=�4šl:θØÁpÁÄD“g_ä»lÊG-²^>FVSÞ­kIzP®(Æ"ÊíOþÝ.ˆAá7ž-8·ÿ¯ÃrœSS£Ò� Ÿ&íÓH»z+ú»åê;päDJõ f´Ö¤µÕÚW'Vz�j$„Æ6½`AðãDÜ^Z)Ô¶Ó° ”é½URªøÁ�1`U©<¥EU8bˆyI5YÉDƒ!£so ¥n‹N©u¾ wµ-|Ú'%T1HÀÒ!Ô˜çò»Å˜Èì¶R±ºÑ�¶�Eý\¦"9e~º#YQ(f�+±ó«C¼Iâÿû’`ºöNÔ“Y*ô=#ú°=ïJUATm`«Á�j€ü=(»£ð€°>ÒÚËŽÙÏsE&D䛘ù¥ ¼Þ\G¨�¡åR¢ãؽX%”t±†áæ´ñ¼Kæ=.ÓèÙ”©‹¶³Í†XÐáø ˆùüþj¨¥ à"QºN¨·Iæu’F%l !)mºžJ¹NŒd0ýÓ÷þbÿ»‘@]íÚ©`»$’ˆ"!\lä“VÑf(Ú Ìz8îb`¬ópÉf�<†š”eü�ÈMäùvc/,CI1•Ónñ‰uX¦ÄôÿiGK­`Lúè%¬<\»Åd[U|Ø„,’.C¾¨ÕJí*¢ä%nA/ÚñhP¬Wu«õ 3áО1CÁ4n'‰àø#ÁÌÉK™3:™¢5¤ÊA]nƒ&¢I­jLc eÃÆÀc©€�ó�†JÏð¯\ê5¼ÿçìb=‘ÓÄZ£bXŒM i?ö!âìV’±Ìãü¶¸®šÉ2]^¬SF‚n¶±§'zÚùñø¢D>0­þ¢â ÿû’`»äPT›XòD¤J 1ïJDÃVma©�‘*€÷½(¹¦ÿÂ}“`ß Âk 6t©� ä,%ø(@XcøAq~Ÿ@u2Ɔ*1’PYl^ÊŸ�L9�­UvÎÙ¢òø-›PÃqØm“3oåᛃ‡3ÉzOþšù8‚)^>®¸fد{jpÏákâCgXý×/ÿû—ìR›©Ž°ÚÐÎfßæ¼’RÊA‡IŒ$n¡Æ4z|g(ÆI.}“a”_XÌU î¨lO–òº½ ÈÌvDø´î¾ñl˜˜—\_æëÞßÛæ­uO�Mßúw”¨±††¨q…Ã/à*p) É �1Vœä²�Ö[VõFÈV¹H0UJÇ‹/Pdሾ”Z g¶ÕJ¥’"óC°—mÉlÔÿøP•(½5ϦžþV³%³@ ŒÌ]¯Mé= ”ŽŠü�ÿ‘¬¶kœâƒƒñ0ÉÍ^Õæ½_rô}}Ê…Z.5Ëõhßí1šfÂL÷¦×ѧހº�Ï'ä=ó 6f9¤QŽ1ùÿû’`»SÔ›XðFê�=øJ%ARmäKÁ *AŒ=(²ÎôzIª;ÿ¯œÇž/l[ÚSôÌAÿMÉ "bº,(‡bñ¨ wÐ &p,Ãç³Ãi°E´\jê>c¢X5Ù;Ó:äÇeÑuÙpX䦽ܫÙw*j—ÛßïUf;•�“'ýõzºŠWCR˜`aIr^ͦþæ+¦GÿÿWG³"1.ÂNi'¹ÌõÕŽOw (ÉÔOvÀïL¾k¶ò2ƆòŠ¥Œ»§;ªÉ*ø–&±˜ò”;‰iÚŒ~õi×QÆ©Y£$é ÿ)iF²“–øNô­Z µyÛñF ²Ç00!A3e=M-Ëé%täñÉ=·ûíÑ8ODzô’_NúRÆaº´Ûçÿ°Ëÿøw=2zQàD¨¬ŒF,Ý­ÎfÁ—÷ÿ?ÿÿËvûI” OÇ.oèhå` ð*FŠ �Ö&ºÅ%£$$ò,ÚN˜áL®è,î÷X:�(H�«‚C̲ìºù{ÈáÏá´p�²Ÿ§gô€ÿû’`´€‡OÕ›8*ð?$JpaíJÙ;VlàkÁ‘)�‡¥(þªÚ�}…4ò@-̨„ k[ÚLpê!ÔÚ9W’°Ðá)†ÊFˆF®Jn,UBÿD\\)f©÷r­x=îw°äo¿•�ÿnVR¦­Ðµ¬ˆÎÆ) Gu»ET@ 0¥zlJü|¢$9Åç¥/Jz«¡,ÏÂæqAä‘•×,©úµÿ£¼y4¤‰MÙª�sl‘pNhï›i8 :îv¢F¶ý"™ó…û‡kËÎ(æD&v¿âõ[¦Ï‹ÊÎ1€íƒwŠÓsGvL%¬q=‚—o€Æ�.!ÅÄtMH%a–"ðb¨ªÎ™šy€XJ9{ñ[˜•-HŦNü)é[t�Ï?Qma¯îåž9o÷¯ö~›«9ëE9ˆ�4±ÐŒ·fyYœèšv�ç0±DIÑÖß±_ýi+ÑÙ^WwˆŸ·éú®#�…à <‰èñ–è÷)@Ø ô„hÉ)Gb�j!é\¬ÄñD E*ã¼Ùg+i§¥¼õÅÙ׺ëÝÿû’`¿&UÕY*ð;dJpaëJ_VläMÀû‘j‡­(÷VKÚ³=  …ƒU‰Š˜Ð§8ëK@4L:±bÂÔÅ×@\gýXúªí p4qÒHtß‹E\˜Åi«Žü^@×"m�ù‰„¨„!ʂ󖛲ÝjÍ�>Ô¢’.î‚Ô¤YJ µgE™ju¡1M$ÖÞºkEg /o_W‚‰wY�Ô%cwNõäÔ!ŠÄ3V<#t¾ €”|ðH!Q@uÈÿ@!%6ªâÐÕ©ò+jóMûbÓÿíx™—ë8ÞÚ´õ‚ ;f­€\3qËÂá¡Ì"O��š‡³ Ñ N¦„Y7ŽTNFÿ&VMÙ�"zþ€’ £=õZÛöÛAíòuÃîMdõG�T Æ„_ÍKᬿˆïøo7|{!”ÃY¹¹æÎ_S/åÌ©ÿþ¢¢\ƒ�çìŸîZô5W¶–æßÓô3UÄg‚^VD¥eÁ‚~ý%ÛÊF5pŠÝÆ®>˜Ë±T(í˜WRô˜�“QÎjµ¨ 8™0O*à'Ïýÿû’`¾ò?ÖYjàG$ZpaïJqTlåk�%‘j‡½(ݵô·sÿÇÎ&©ßú@“þº³']8+¨ Â11Ì��æU¬jR¢ƒ6ãqGEMeÛ*nñ˜vôRvpe/|ÃÞzZ(yÆf =3ºs™ØÈAtC’ò r¿M�T�ª§fÐÖº;UÔ•IÕ&U 5þ•±“K»¡X‘Aeä% PÔ“ z¥l ‡á Wçr„EimvN×f ±Ešc¨¸M p„©éòÝ�&�ib¤AäžÉáøð<5T™fuž~’ÆRþ~DQ~'Q ”:¶ˆ~_seVXŒ3ý$�_J™嫵˜:.{p|õ•ÅáÉsÞõµ‰L±Š¹,ø¶ðú_@¾)`)Êân'[4A#rû+e$qµYz5î¶é^’©-—[Sº¾ÜÅO‚†_þt#IKŸ“ú¯$\ å�%V‘GÛäKÈÉ·@æˆNÀÅ¥eQ+a¤'*¼rª°{©…é¤nÔÜ|XÕ©Àq#@|LëyÞÿû’`·€¸@Ö9RàCº¤=ìJO0ïVlæ+�*@÷½(ï]@�þ>ñ!Ú,B$yRS0í„ £ELÇ2,Ü‚XŒ!0™—õ.SP¸“ "²W*ú÷íBäO¾Ò¾½ v"�žSFæ£YX6„”‘HQÞ¦@ÄÉ#sìÉh$›Ÿêì‚™�õµtÓYª Ôµ-H©Ù©)³¤‚’Q¢€M7GÑ3ýßéö[”3a½.�F(®fƒá�?NÄ „9hªC’8]¢ÊQjN¿?\úfD Ìk3I„%²!ª“x‹}uœÆÞ™lP@Nï67ü¨¨M!’õV �HcÉ_‹„B³úD‚Ò—:'zƒßq„Önе¦Æá_6ÞýJ´Qö7&BF =ë•6ÍÜbZ� ÄR‘ªœzÐ<^5NÔ(¦¯é×ïI]6®‚ÖÛ$¤Rß©kTãÔ‹©'HúŸH0±·Ô ¨Ö�ëùlÁœuƒÔmмV#ÕÉfr€k± K*"™/ ôJ~™Súš,‡3Lxh¶K"ær¯ÿû’`º?T›ZjàBãÊ =ïJ…Rma«�‘j@÷½(�œå×¼˜¬]{[öTéïõ€wÿ%’5BŠ…”GÓ,d¦ â f|Šô5«&ko;¶²‹u]ƒ3öŽÊ¥±|š³kf𠵋âëÔŠÚW°ëZ—@cMR U<Å'¾lÞ£‹þÈ>z‘ôîõ©$™F }OZÔ¥-k¤æHZugg½£ÜÓ47Ð}¯†‰¤ •8r؉tyŠÎÎ|ÆniõtHÚ”í™ý–Pþ•éOÔú€¨ï_U¾< ‘íÙh2„C@z3³·ñ|(³õyã�Dî øÜ…ä•Q»ô¢š¢`I; £Ube¯gÝê»þÿÿ¾e¯›lººÛ�d_×S ý¯›vh³ds�Iú cÞ±[Ç¿dm¯ôûðU� ûæ`%ÁHþ9¥³‰FD«H�åhj[WÎ$²´²Ðþh`Í|Ò.³ðOãp ¢ ¸T–ÒN’Q…Àÿ*QPS:d]?Z&›÷ôÕÌBÔ§÷`óûÿþÿêSí8[ŽùCÝ|Ë™áŽ̬løÎzEçÃ-e¤Î¢B@9fœE?} ÕÑÏÊ Ï-áÞB�ô ‰¸¦qà>ŽbW·‹Ï–Ú†µRÌè̸"�õÙÄ~ }.�ÑXïüÿû’`½RT›XðEdj`aìJ…5Rl¼kÁj÷½(²ßÅò@Ö>÷»„:Àçþ8IÐ1ñ—&Vªز(MXŠŒâ�U‘¢È¬Çc$ ÜüÅ-HQΰa#ÎÖ“˜Å&(‡$,çRAaÓ˜°œÖÛ–…&F×áÔ¹ÿù~y‡`pŽ-×§þŸýs�ëPª¨q¢“ùýt³ Eäëþ�¡¤™CçMe3¸–2QH=/]¨ Qr”Á±œÃF“ÐZG#%*ÞêSÉHBfžDëæMàLÆ X O§—ÔHa°Ÿ“¦þ\ˆ!á$Ñ  ‰é, ƒ¡¾:qÜ*‚¬î²#ÿû’`¸€´JUðCƒÚ€aïJ¸ñTma«�‘j÷½(9RKv'Øã¯{bÓ€åþ6(8ÅÌ8̪08pâEøQ§uÒYjnÖSIm?ÐX*5¦ÛuÞž¬IÒH§"#¥sÙkg�GåsùÀ‘6œ¿bÒœ·rœæ}^zôDÚæDec*<꣓¥ÏZjî›”£z57ôgzå*�H•7:Í ÙßF`8HUBV¯‚ÐúN(Lµ#bà9ð$bÌÞžx…ŒãÁm A*Äž•+k¶óÈŸœú; ˆ7‚øCy�Hö$8ñqy§k§õÏŸÈSÿBK2P�Ï™ç!º©ƒ5ÃÌ%ôšx¾eœH52}*ËP4N䱨®å4z�@½ ×ñõ—,—ÛÖè¸Û…ÊœGe ÷nz‚d!bn#±¨ÀÛß8è¦Gü±øsûËÿk3þTð`¤ÏÎÞÉI)yëÞ’ 1èT2>ݵù/ GÔ$%�žé•j�UÞ,Ã{C*A�:BÙõQöI�<´:Ÿƒ­’Š7PÄ-`iÿû’`¸€ÝMÕXðE„J�=ïJ¡5TlàkÁ‘*€÷±(Èm7ªß‚¶ê_&g*Éê@íÚé}„DZ3:Ç KJ¾‚¢ÃSJnh–²b Ð1’•¢ãµU¸÷1F˜Ü_ÇÞTZvö·,•­¸Ü1*’ü…ÐÞ¼^$Ê* LLeîè)ß÷Uï»)¦¥&ödQUt´[Ik^do:=E<çùd.çïbA‡i1fBÔ®q%oŒ«VÕP†¤$á”ýÃcDZnÀr«ÆFT±Eat8Ó�ãæ‚ÔËÿNŒ¶¡û‚Y¿ÿX%wõ†I z|]ÀrH'Vv>ýqVµ\õ[äÅ/:÷J¨ëú‘\Zu²¸3Ò¿(`øû­œ¶«UÖ�o9++åwnc»;ª¿\àÈæ�s?/ü¡ý8FbÜÑ:憅N^1c…ùü/cËÏ/Í!èBÑ®iĦ³áƒ‰ÞOîÈ©F’Õ©`V ©”ÏÕgcÒd%Í“bIù@”TùAvŸjL–(H4›œ7'ŠñÕ­Ã,ÁNž�w ÿû’`·ÚdZÁ=éJ�…5VlàkÁ‘*A‡½(ù{ˆ¬’}ÿ÷‰ÝÄ &þ*D»�Xk̉ ŒB#ô˜0¡‡DÁ4F�ë ä°H„±�Ép¶õc4ïãã>úÃw%8zõ¦µ i�48÷S)çýÆÆÞÿÏ�^´ÒNŽÊI¥O-ºï¥«ë<¨×�@`ù¤©ªg(çªÉmÙG¨Ó-åíØÏ³Ú›¾gÿÿûvÜ«œ¦yÄe—�S4 Ø356f¾=硯f°âÎÒ/˜ÏŠJð: ]‡C¢Üx«#H+êÿû’`¸€„SV2ò=dZ =ïJ Tl髉 ‘iÁ‡½(w#5úIù!V$S�´’r½+F(Ó[ûo[…¼É¯óá<ܨ]ÿ›˜ÂŽ_aȳ@D™’Z{[ LÖøBifǪ‡W[ôªÅd?ò§G˜„mö_ÞÚ–¢3Ôvý¢°eb«T}ËþË“AÞf•Ñ¿þÒâT„2 \׿ýª†F9@@E…z˜èkÉîs2÷Ñ0$’(i_þ¬hÔDƒ@ïä„¢D6΢P57!0�øisžŠDÔ¿hƒYœ´h«kfÂõ½‡7ÊÞÙûþs$€?ªTº0R)´àÇ•PÓ0ºd²¿¤$“@I–QœéÂÂI°”¯G:MÑ» mž5ý‘'�<¡€ÀvgŸ\!Ô¹�PCcËÿ>Öc³W…=Ý{}ªh­¤Ž�jŸ_s)œÊEµwÒɪ3Z«»t9€�ãíþ¢ÙlVžƒôÜót%q|Z‰Xgã]Ô¾íc Ê×Í—›‹Eņ§Ú^RO|¹›Üï û¤/šùóÿû’`¯ÄQÕ›9ð5ÄJ€=æJIVläKÀß*÷­(€ þ©a$oúidiL¸by|D‹•+<�ò ¼OªNsß}›ºÅ[ë!¦½1B$eì°´ ;¬W:̬Q$­-ö–áÏë¸2YB-ÔÝ‘ÿïåùêËLL�Šÿ?óÿ�ê9&6CºgêúN6X6½%¨<YÍ<ôdcX†®‚‰.¡ÒÈÉeoØpžBcCÓì¾~V²¡©=j©'-@«`»vüäHJjv·•´Ø$ˆÍçÓÖIü=Ÿæ}€ŸòFFWHˆ@òƒ™P&TcpžHH+$pð@¦kÔì"4Éj „8 —­øUd»�"ò9õ˜›N}�ˆòÊ�p¦j i!÷6Hê [YozÔµ­K÷þ¦Öåõ(Ö›¾ëÿÿ¹uÓ7@ÐÖØ™¸ŒXAH›Ÿ“þ?wZ>H!Œ[Á8–l>�ÍÕ!Ìpˆ³Š—tBF¢£Š¼P|w�ÃQ®ºó“ͼÖuŒyÓ/i+¿rŸÿû’`¾€ÛTUYðFJ`cJ­Tlå«�j÷á(›×þÿè4î$þá(#I7e¢ €å"g˜+l’" A‹’¼:†¾ŸƒíqÉø}@ }¤ìFÎaÂSÛ^ÂTýËõÀ¥¸µÙT.m†Ë^»$ÜÄD¨Å9ânÃN­ûöëJ¨Ú5ØTìAfm“Þ•5ÝÎ.ìš’ëw‰”`ãÜs‹üÜ»z©^Õ *-¬SÓ2¹4yÎOSˆ¹`MåšÇ{ß§|3#‘ÿS¹Z;ËržiE‡/`ƒ¬IòŽðí¹õW/ó÷_6‡½1P´À€Å·Fj›�‘¨’*¶N‚ ߤx“.!L¦Ã¶ïÛ’YW,¨2ðqÜ™s©s­ºõi—ÃRwšÚÕPDJʽÖsŒ {ȈF¼Õ£êÖ¤öƒD@eCDzïÿìµa& $矖“¶TFUÁ;ÿoõÙúvÚàÜ^܆iœdºËxëq?‹r† ”ý~ê´`»³ƒ¶W¤R�¨Ð%ÀX$X]�gŽÀ¢]mÿû’`»ÑIÕ›8*ðFÄZ€cJí5TläKÁ �ª@÷½(ÅIœ¶ß7jÇx8%õ€Ìÿ%â%‚ùƒÒüM0¸ÄÄZE‚½€-”É9€ò¾¿å³%Ë�åSMfmØŽKÓ)™od±7Úqáblôt*A½½Ü°¤g ÊCgÄ’Æû1cì¤)Ž…hcŠßÿÈì;�ìTAØÎíÍ!Ñã "†jô�1Ò�f“ju¸ZÎ…#jãy89È[ýtXô¥^d�#Esd-´ÿ:ŽF2’¦â] �*Hi¨\c½“8Î$µ¡Y䊠wøÂª :àÀ¤!höX4�Mˆ²¬_#H#Ê&b‰ –¦±`<‡¢Ï R¦˜x 1¸–�Š 1 J…˜åÇRnÈÔ·Ù:nºÔýפ®ªÔƒ©4R(%s²Ñ׿)QRhQ­&6aìc*IeŒv�ÿ¦�‹/Z¹R/A~#P·&ô@¼€eÆ¡5~lŒÔÛ,b'ìr�J“*É…[UŒç“Àqsÿû’`¸ÉLU›8ðF£ê´=ïJA Xu–€�ꂞð˜ÎÔZøÔ¤+f*7P6öÛm¶ØK„¬(ÂúF øH‡9€´)ér�sIÄ-.X¸,� ã£âƒÒc…e8�á18”N“ŒË‘†Ždx&g ºIXÝ]É»ÍѨ–¿öó®wÛn”uíJSýoÿ­—§ÿÿÿ÷íÿÿÿÿÿÿÿÿÿÿÿø5/ÚíäéTñm5Ì F²Y Ò4X@™4�:rC�ˆKFâÀL$ ƒ"F‹É†„Æ Ñ‚¸´i’rYRèÙÉG¦†M´ŠêwY§QŒÉY T&CŽk¢š‡1ª¨è÷Úb9Û¯ªœž®«>ËJSU3æÑQ)_.™*7¤çÿÿÿÿÿÿÿÿÿÿðVÛhÄi0êrrEÒT­oƒ%‡™ÎgUPÆ�u¸jǹÚâÖªm¢íÍ~’Ýì+b˶5mbFù®+÷‹küüÉý¼²…¦ÆY[êHŒš*d"8»V'@€f¼bµ‡Ü€÷Ýf€{m¨Ä#w…w‰)ŸR Œÿû’@·•�Yž5@‹ò óǨ ‹\|÷€vkÏž°Hªd@Jì¤õ‚}¶ÄbÆÛé­«žbæ!åæÎ»ù‹R©ÍÿÓ®°ƒÎ¸€ùc/—|bA°ú¬"8¸ºÁóB“«lb¬.¸0ßK¤4k˶م`¸|Œ^*Ä%Õ¾G/4¥°vG&Åék¬ôXû‡EÔpãïïã…tüŽ l�Ïüóÿ†SúeŸö™?é¡ïcjkø„²š›gòÙA")–Maf”�lGlŠÏê{n¿IqßCqáq”½‹ â2x bÝ7ÒE”e±&cŽDëø…Ðþ[[Lû¥Ê¥:HN¤é²Õ{aư‹p¯Má–�¸wFÿñ> ÙÒ0`ÇÒ@Ý[¼dË#…DË\Ú…5%fcù˜Ù]˜O^v-�dK¹§9Ïþ ô÷ÂÃ…SïšC§±‘Y:nE¾ÿ’å]Uyï<µOÕ 6}’úÎô_ÿþæq^* ©S¾i»måRòyâÞ4A@¹¥’ÆV†Ý£2L¼ìÓÿû’`˜#UY˜ëòM„JPgJ ñ1cD¬kÉ4‘)Œ=(ÌÀÀƒÃIïîÓÍ…Š©JÓølê5$•çÊç4G‘Yɉ‚•¦~óÙ]Ù¯Þ�©š“×£f 9ZqЇˆA2¡8'eʘ‡“@RÀo&.3ƒ˜‹P›Êf5ž­k¦~ó¬þ³E2–›2™¡-ŽûFï——¶üšý&ç­ü¬¿eóªT›‚f7&xåAÉSŠ ”ÿ6ûêÊ8 D)ºU‘Z?çúÔ7×ú’h˜g®Ò¦ÐÑT�FÂ.Î0ÇaˆKD0 .aFlU©þ—'ò¢×6…䃋»ÅøŠÉÄ-þàÿÞ ¼fœë-fþ€•¹{”ø¸¦ÑLr%ò5oI€Â‰�1ýŒEªÚ_$”�¢7¦}}k6úéÓDÕ<:OŸ+ägÚDžDEËçõ¿Î™QOtõ¦UÈ &Ü’þ…Acže4K«ŒM­„ÆEH{[X €ŸKð;ô`ªW(;0r›+˜ÛÐÔ;í/Ü :åÛ‰¬¨«b @<ÿû�`£€€WW˜írD„ZPaïJ ­g`f4mÉiAŒ1(`ƒ5Èâd¾,­Amm�ÉbsŽÇ;ÒÚ?‚9�é:§¹ú=`=ô»Ôl‘Qc®R§=¬,XzŠà?yÐ/hu*Lœ»ð1ǘÛVÓ“>+ŸI“^m“¾fp|ìfÌò餙>^ædF|æÖ4qŠ™Yö™Ÿù~|¦ôÎp’FMŠ»K^> WþIÚ d`*¦”MdÆrA´ˆyz(ÃHbi|ò&Pð´ôž˜v$¨èP³-&³ÄxFÞ�ý‰fA¸©TK´ õ„˹[ñxÛl“üë©ëâïþ¢„Ý¥Þ›¥ðR„"5SciP± ž_"^1.¢ã¹ô³WȆ�*狞)ßúf"+zù=þèµÕìý¢ô%(Šd$®j’#µ”ës·Kù­¸-зuWU@Ft`CÊ»®|³ò¢)»ed ŒÈÚ¥L°• lL­CÙ½01Îp»U j¯k³3ºæú•Éç›dËK¬�R|î1y 2¶6zf·ÿû’`­WÙ™(rO¤ZPcJ yi¤ MÉU‘)Œe(…Š »yG%Ÿÿϲå�«@Å6×w8¼lñ00.¨Xì‰ËÀ†—*6ø*nç·†ä^¿4jÄ~«½?óNÑZÍÚL˧ähq" ,³EôË÷3î%^�zú®§/� y|?œC¾qÝÒ u\²�w(‡™Ä+‘€#½ÕT{’!º# mb4áø9ò×�ð#K$U¥¿§‡³•'Êð�ÒŠ�ˆ@ï ÎM ZàZåÿ(,…Þ/c¹;“?I±Ÿ¹K†öñô‘äøÅ±�KÿJ»½a”éßX° u·sy”Å”ipÛÝ5œŽo{fìôèúþÒ™¶¿èÐú³t§iUWSË'ˆ”ë‡9›%Ûv4-ç¼?ÛÜç‡9âAÒÑ�t$;)Ñ$„cÛ]ËU!³E“ _˜4å©ï¬Anê VÈ}lè^ÎÛšiÚ¸�Å÷uD+5’C�Û‚¨©[±4]“ S<šîS\X6žP!j%Ï^Mº»�Í5�¢Œe3•k¿’‰›ü¯zÿû’`·9ðšçw�OÉù|�¾|2:_™Ìó‘Í_¯Q¸m&ÌU›�Má“ þ­5Ì%o¡€ÍNÚ}W:Α2 ’¹o=+ü^lY¢ÇŠ)dYêipVúƒ%Ãh˜ùVj5[ˆeN˜gQëœÀ-,žíðaĺÍzÞ>± œ� @¶m]I8ý’€Ð¾•E�%D¦@_·E¿,HÜÐã[e×K±ú̦‡Â^Ž7¡ýë7ù~ÐØŠtò<£–Ç]mG+Ö‡²±EX¿)•XkÈþ|†)mXiË83 ìó7¹iæ¯ X\J¦ÇgÂ…3X†KTó@(v ‹ŠzYz)ªˆìѯҖp€cBQå5g«ªÃ%3�·ô(™å—È -@z±Gj!7b¾©â–òÿû’`¶FWX™‹rO¤J„cJ u+gE¤kÁu‘iAŒa(Õ|.Á˜=fá®ß÷ÿý@)mýXO°‚äôBEùxˆ§jd%_§!ÓFÚÛ³�H¡\]Î$IaY]‡�6ß \%GZV÷ÌüG#½•Vµýf§™„µyW±úF±w_<ÍEü*ÒD T›aŽ4Ãí¤7 Ø@£A• SjÔiwCm$@×ÑÙ(«²ö䵓ì(è÷ã蟕£ó›S7¥cÏQ®»sHö:.c9£Úr«ô¦4Á(¡ROñw›ÛâßúÒ?¯H$_ð23&ët!fž_`w—8Å⡼Ai r5¥›Á{fÔ+ßNvÒNûÓ946 wb T‹En5x\µ[_˜ýÇY"9�Ÿ´ŽÝ»YM3™Ü^s™ÌÎS—#&ßóíe1Í1‘‰7ò� fugœTHfíÛ3ÑO˜ÆÁ#cBå ã)® ¶å Ö™1'@‰�Z± W˜#ªÖsÐÂoa=Z°äÖÞˆoŸá­–�_LçËÿß^ÿû’`¸�BØïBàDÄZ”aïJ�]'Zl`KÁ‘*@÷½(Š’þ�ö&ŽV$BƒwKÑéD" šµH'Ð2<úâ÷¯Á¢áyÌ‚×ý 9LíM0ØÓ/&|ûšûÃgFRÿÆT­þ 0Å!3 «œêýQL3¶¨�ï2®}g–ްÜåWoŸÿ<èù¬A€ #·¤¶Î,±£YHãt?�{È6�>i`ÞÜ3ÜK¬ÅŽ\­Ú…ò¤�°›vÂãX.u|!X\ˆr­q;«a±ãZ›áÕJÔ3ç¨R÷Nÿÿÿÿ­Þœ*Ð Ð!Oí0±`¥HÞÁLØ´EHB„’Q-œ]2iT‚âSz�´ ð¬%4 Çö/‰Ì²hÕÈ Q]Ú†�–æ»ä¨˜ŽÑÚɵ>´ƒîÈ­›ô©u:.›)–’F¦H¦öUe»ö­2F}F憂íë¼ËC+@ö+ôØ~²@üÍ(è‚‚=ÅB[ ÙÄé‚HPxåîkÆ"’�8K{3^ñ&ýu)¢1¤(;›ÿÿÿÿ΋ÿû’`¾ì?V8:àFZ£=ëJ½Zlå«�Œ*Œö$à ÷(@EÎ0…ãÀþ²~©cc-’�€¦¡‡M+‚Ñ%q+ìBòA•ÊËSDê«îrÃu¢•àû8Sztü~<ã»±ùD¡î_Žä|B˜„ ŒÒæ"Ôʯÿôèêt…È‹«KiÆ*)“¿œ§g !4¿Ü,�}®|–íbF¨æW!pCY8@T>¾zÐð”ÏÎ_1‹ ‰ß‘쾸ÀÉÄ[ :”PïrÅ’/þ¾¿©èÿÿÿÿ�r~ä%{}?Ö µ3q±|�D ž¿Œ"¼Á [Dwœ‡ÃŽ8—vÛ§yâÌN޲ËgoÜ�Õfî»À¿¹uÄÜÓ¥¸6W<  Ö2I–}òµh §ÒUH餂.£7Eh-Ó©·ÿ§tÏ3PÏôÿ ÞÔû$€¾lëáQØ—Q¨a'Vb+8¥Ô]:‘©“l%C¦EÓ$I®¨îþ<8÷®œÛö.§’]N ÿÿÿú´ý+ý×èûjÿû’`¹€ž?Ö›RàD$J’1ˆJŽŒýVlå«� êˆÇ¼â5ªT�L`8¯qìS*§iƒL ˳ ¼Æ�«ø‹ï>4&jzZê4h–N‡FŸQ�¸ù3·­°5)†Z !€œ!EF(,¸dÌŠ™¶N�úÙuh¦Ëe­Y“A##Ȥd«©%ª÷«š)I˜;$`‘˾ØÊu«�[èÛYsŠ =O&Q¨X•…2�v¸:KWKî=ò2‚LßœF>óAõöêÄCì8© ©N¾yeÏêhÿÿÿEnu4;ÕþlSú¤„há‚Å �ºcŽm7€z`)ÄÏ•AS †Õ^°á›ÛS°Ó¥±a„Ha‰|Zô¥³<.³wŠHRHx4 á”ñ©.�Šj¦Ì‹Zµ³þ®ªúÙn‚’==eŸ›©5³õ!­ŒVÁúºîxç©Ihq'…ê§X/ø¶`!«‘Šo iwd]!ðR —Î ÀÝtÙê{²|“óÑ>âz,Ò«ÚD+ 9BT®ÛéqÞ?³¼Û4߀³Ù-ßÿû’`Á@Õ:jäGÄJ³=ëJ<ÿVle«�'ŽêÌ÷½(ÿÿý¿Ü¤iú€þÙ äá*‰.ñ±‘DhÄDVrÂ�ð-ó"I†ñ>©ö’=¡mž&aCù½-*PËÞÙ°Ä_UJÝRƒ@Ã’ÐJ‡4ú�d‚J8l‹¯I¦Šþ…[ÞÖ²é&qè2)/ÿÏ,s›N™P@4IJ}ÅTÇ»þ€ñõrÕ\hä{*º)¬±¤ÑÅ`nØôÞ}ÓY%ö+TR†I5‹¤åŠS ,—F„±Ï]�ÛÅ@�ˆÿÿúÒ̫٭޿õl°’´‚µ‰ªF@=É"•îØµ£µ��M›Ã+¨½´­–ü´]=Üjêâd-¤F–!¦éS¨²ŽCîBŠÂ™sI_Ê k™\¨ œE×Vt_O窵ld&ŽS*‘þ5œ¬Ëý¿òîF'6Š.4p:¥Šµ= aÐsd‚ d€8;GL¤Âù®:ßãÍmƒ›'¼=rh^T‹ˆ4;ÜŒ÷Ø;«Ó•Ïå�ùº–ÿû’`¹€Ô<ÕXjàH£ÊÃ=ìJ ATlä«Á‘*Èǽ*÷­-Ÿþ¼�êÿÿüª"Û£@Í'ó˜TŠ·d Ž‹½Or‹¯AEÄðR5"º§¦oØp-öþ­Ás�ÒÎx5ŠjÐ-;Õ ;ñ‘¢KHËZnšœÍ4UÕ¢¯ÿm{Y�ºiºH¢y˽"Ò¶©_ëè€ü@DÒ/æ–€ôkÆ&chVÖú®V—óÒ>û„¬\aëTÝz2öm¥5×kãÓƒ#4>÷ÔK›?ÿH.þ6ÁÄÜ«a�L,×Ç¡¥ð±ÒÄq9D°(æ’{>ŸÖ?Åô¤c…‚#zo9ÅŠ)O^ä)™¡mãNëa€J¤¾Ý!ŠKUÒR'=�~SrñèÔE¨Ò/—E¸™žÁ %žË.²f•}¨¿²ÐÕ[ÏÂÏ�·ð1E¬±ÐëÖ%¿Å´(Á` ‡ÊÖX²*�>È^个þ•©½.r‚E+_Ž0 Žå'ŠMã*æ’Q"(r�àNô‚áÛÇRd¨úÛßâ?ÿøõêk¸¢GÀÿû’@·è3Ö“jäbæŠ÷=ë\ ¿Zla©�~˜k Œ!0ø.Ï€F¸_ñÂÅ”Y/3¶Ÿ^°&Úˆªa„ª!Ü•b$†x(°,8Öd‹Xb¬N£<˜Br ÈDu–ĨiÓdÏo4©t^T£–$®¡n=xÀê²ã— ÅÅËW¿›÷Å[;Ži¶Ö&ÆÔºiÙµÇõ¨Bk dÊbÇåžÒžתh@DbT@boŽ_ x'Péš LØíhlpð¡y‚¬�±Â![§IDÛ_û’Îáªÿû’`¶¶<Õ›/zàFJ�?JäÏRmak��+÷¥*wtÿúêÞVX`5$ªà ×0†U ÄË @Ç�´”‰ „f‚všʪ=Ô¦q£Ånªt‹ˆSå†q˜ Ú‰ÏÞ”6ïûŒ¡|ÎY>yëQä5—3³þZìKÖÊtªåeAE-k{±yÚ@WGdS­JéûàÅÅqÒŽE…P¤½ô²®Ÿ‚¶dœ²Øê†¥�!²–"f— K.ÉÀAÖ¯uÒÂKM`g+Ïc®hж#š YôÎuŽ™ñ÷]y¼ŒÓxýxm»å�€ÿ‰V!çH^à@›1Ú§âN#r™ÊŸ¶ä÷ÒÙÂZ²©mZ˜|£Z³ J§ü¸†`ÆcÇ„Ãò³S²ÿ�ªÛÒi1wº³4±+ú\6*=³€A¬K.`Nˆ†)Õ%Ÿú žÆÜtɦE õ™Ei°�¬ÒúÕq‹Ä™ÓiÒd¥×JF_”å~î vg+FTòÿû’`»HÓ›YðE¤Z`aïJDÏRláK�i€÷½(ó'¬ ½÷ño, ô;úÀÚ¹*Âa#$ éa$…Ä%A¬‡8D<ü²·$$‘hÈbS80EdlboäÊ»_¯t8ÙµÈô 3÷~^æ(|%v€$ ÀB¢(²ÐGW<ç!7Jœ¾ÿÞ·T½Ž-Öy®sU–”*”}eTã¤Àë¥$f¤€3 [±yné2À\C˜>…J¨’úÔi‹A˜#g¬³Ý½Láhyìʨ7;‚ï™” N¡£*F¹PÖ¯&fœ²)ÿù™ÅÝPöÊ­;¬ÈÍ8Ã\¤�ÌÂÅ€FÃáßF Ž&™•ÒàÁh½pÝ nR©cƒ ÆiìœÓé}^–¥pK²]³50ZÏI7­¿ý ­]l³5JtQÙ ÓI"y`rb! £/º &(¦…ƒ�ÿÿ €Ìü£u…AG[ À™L;E<3 –m^¯U>§È²³´²%«�ª¡÷`ÓÛ.g†Ü“çâÿXÿû’`·€Ó=ÔYRà@DZp=ìJDçTlá«�‘*Q‡½*§Æ÷ÿðôÔ¯ÿ«;Æqθ9"I@k‰’Òƒç|ÙÜ€%öÄÂv­¼T¡¹{¨à¼S¬ªCù´©¨qÕÚ× ƒ,N@š‚!‹2¢cs™?ú»mÓQ¦~Û:Ý4–´%$¥)PZ&É)Ma!`xÝt>ƒÃ›YÌ1ù$ÒÑLÅæ6¥ð·#-ÝÝ �&¼Aõ$õ®ú²Ê{êÊ™W“hz_£ŠLËA „G®­ÜŒ-ööÿ×2<òDßÇô�é  ú¥RCÃÉA„2aDŒ2Q2  ËÚ=!éR…¯ ²•œŒÐeæïy²¸ ´óì»ïÁ-~—™Å©¡èÛ3˜eo33 Ш‰@+„ŠGT‰óÔRM7õ#í¿¤è&êZ“F·Ì\Þ…k«·kë6Ÿ4@ðh2}õ¿€‰Tíû¿Û�fÙJ€q€”Ÿd°Y[vÓÙJ¤‹, b`L-MÆ­ç„€ÙÈn%÷T%l˜¡çóaÈø²k•N t¼ÿ6yµEÓÿû’`»€µ<Õ9jàF$jpcJ$óTma«�*ü=(gÿïÂÉ€�þÉ)DY• ,èbèˆ=�š[ì-‹ÐI’ò#›¦ŽëûºÊ#ÊVÈž;ƒþå­ÌRGž…,f�cqzÚþ= "µ1ÄÑYªœüê¿ý$é-K­”·Ô™s©-ë¾´6Yƒ5G.šõ¹ä-¡Ÿêý=¨¯±Ìª„d~¸AïZ’¬ãEÐV=‚�-üª«™íé*&Q"RØ_SìqÖei”„¡•�¼ÅÒ‡2Œ‹ZHí�Z.úI!úêv¼Ó¨Á -U  n¬,tYtQ\•Ðè™ÎƒbD7úº µ(Òõ“8Sëú>Ù¹HàN†Y™x’52Z…Ä¯ÿ?Ff´‘S®È"»Óª¤©.‚Ù%»MÑ@ë;Û«žãX²@ª SÐRÂ5M<ÒÅ g‰¶ÝrâÏaŒ1�â 3�5 \Y&̈8Oã턹"[§z8„iÿû’`»€ç;Ô›8jàJ¤Jp?JèõPMe«‘ ‘iÀü=(š¸�æµõÞßëwsÍ{¿Ö·þ�Ÿ‘ÜJ ˜� ‚)K�<€U\¶@ñs ÅNÌ]�hƒXÃ�Ä„ØBS€ÛQ�5uc ئ„–4›žÊŽD !¸N žP231N¿³'ý�z•¶Ú˜ÙZ�I$·Ð<‚”ÆFëÐEH¸Š‡ŠVó¨IÕ17#M�Äœˆe§¼DZT±þHT�2¸Ú„¹MÛÍò¶3Ϫ½pÚr6!Ccºp q7òZJVíXµ/þ¯FÜiA JÿôJ ŒQ3DpÌ8.0¬ÐàðpQF¨� … d€e1)„ÕR ~•—¥ª `“^¯Ë_ˆòåš�楀ñ Ó˜åÃý Mêþ!Ö•ÿû*ëZ6.߆;¯–6¸¹êæÞÕí±Îóûy„S4k×72ÑE5Ýžÿûå=GÚ”Ó€ÈWTL}pÔ²Tó”![=s`v¶ä´™ç†nŽÚ�Ù€!éf¢KVfõ«UñYŠŠÿ#.Ý•w>UêÀçrR¢=®´þñÌâ�º|¹Žér½¤ÑEœm‰1ÏR8Í)T¢ìÅ!“­Ò¼_ ÕÙ) «Qxá½%U[û-ï ¦$ˆõuÑͨt²—ÖæÝíŠÛe‚Öúv(ym—é%"Ä– •fXJ+2‚d ¹Î € 0œˆNê*ÇÛ›ü¯ê±S Ö (‚×Û€ÿ4Xݹ¦ÅsŸûV£0è‘Ègò²ê”ý̇¢)È{;ï}XžILB‘ÎÕ~Åþ­Sävª2”‎.c•�¹ê+Òò�„‘)G©…"Öñ´î6ŒÒævª÷”ÄX—†+Ç:•>Ë<Ç»‚EýTÕå3ÒñQÿû’`¹óTU›8ðD¤Zp=ïJÈñRlák�‘)À÷±(qÅCÐak_mO»û7™¬²ó©‚ÀíþÑ%¢‚N6ËT éaË„¹�e F 1”ÕTc —ïì¥â(D~.龤AXg± jÉåS†%цa�_'AÈdT1Ãd¤‚Ø‘Q¡ös§¬ïÛù宕©V¥¨ú'Á ©¸(À  gF� µ¹nšà 5§zM€Ú‹HKK˜ÇÂh©K/8A†®�¥a$SÖÝ__ØJqp9M³ÁÁþ5÷±€Pîùõ¹‡¿ñ¿ÿÞ€˜×õ‰ÞÔ¤ Ÿùpˆ˜ FÔ B”�F…Þ…¬õ.{]ÀN¥fAr«†uôBöŒ±GQæ„Á1†Ÿv“Í­Ìó²Ù©O (Ÿ‚ž�†v\.FF³í©F ö÷Óû[U7UoÝѲèý&¤´‹©‡.zÓÄ*{½ ÀtÁÑÉ4cÇhU.”r²§Tú¸ÆD_ Gë�ö¦ ®J SJzÀKø±ÑÒ<܇ ßp.> ¨Îÿû�`µÁ1T›8j`B¤JÃ=èJ•Rma«� ŒêÌ÷¼àÿßÍž³nʤæþN"U’d¡hN@¤T™õëú_ç]÷-° ÄGg0¦5gÒv½Fë¿™l¢zŽ_¹+BNïγÓs!+<4ÒEeå±p¾ÆË/¢Ý'o÷çõT×¥[™¦‘¥U5¿E}’DÙ¥E~܈ º®Ç 3ÿô€Ÿ�ÒÔÕY>G’¹A*;3e5U%åµa¥ãú®#FsGEÖ\nºf_³†Rîð> vþ}7óü{ÿ¾ –<Ô÷RšŽ€W%%`#JÒ¥,×AÊD"!k¨ë•r‰Jh¤°É#ƒè¼‡Ò|Ђ†CRê"ò±Ânž¦Z  èÁœm7c„Š%ˆ&tÀÝ£·Wnê©MZœã Îè²�KEl½µ$³w¬pxØåÓ]å…ׇ«ú?¨à1PqS9xR°ð²†,©ùè· %ÑAI°u%ÚÄ$«žØ]DÒX�Âd1H šdD} g?ÿû’`º¹=Ô›XŠàGÚÓ=ïJ´÷Pm=«� ë(¶$àÿþ,©nH��¨þ’û�> ÍÈcP a”–‚XKîz �à|†qyˆ^à–à�ш̠0QÂ"M«KÂæp¢–2¨Y)$¸ôÑjL5@ù&Š'�¬ášl§02·õÞÞúÓÏAgZ™ëßp€HY‡Fÿ[fœÔíäíµ3ý rÉ+ H]⧃q÷)ÒÛ"¼ôÄtªù0ææ¸•døùB—F+hñÓƒ*Òâ@1YÛÞÎï~³£Óÿÿð‚Æ, ›ÚJ ²i�ôp£&X±±l2å–�£FwcnjÐÓÚjÿt”y�0ý·y,vSBgfž§w ¾'“�Ü©IQPlL5/1ÞÓÑ›û¾þŒÏ«©!Ç‘ÿk%~‡O0¨X —smu[ ¥»zSÿþ°à9íUÛAwxœ#�õC’^¬oÐQ…ë"²U;½W3É•§&ÏÀUCÊY æóÆ…Þ¹=>~®ÿÆÿS†+‡�†ÿû’`¹Ë2S›OjàBÃê£=ìJÌ÷PmaK€û+ ÷¡(ùá\'–Ü�ÔN!.„çLYäÒ��ˆ¾’t¦°–nh0ÖCº¨«Ç™LLB$%9I›"gðÔ.)»«ÉŸùÓáÉl†A±‰£ÜZÉE#…$�e¼¯íÚÔ¾†ôgÑZŽ›2)ôêêíºoLÝe¨ÕXÂÑH³ÿÑc–z*‘¬C”­¨Óõk§ÈKî…³¿„E2¶ùH{#Ù¨¸®R}¬Ðíf(àj†¦¹ÑóÉ=Ÿÿýn¾’Dm4³äK] ¢!“øóÈ“�Èl)àU±¹{ A,PÔ•FYH’ˌܔu:žt†dkÉÊè\OVXÓZ5YƸáT†„HV(€i8ŽpÀ`D10˜Â¡¨¤E=ý­ôBusIŒöN?ÿþa¤#G4iû+ b\À;ëKö ±�Ú@Ã&ÃÃõ‰N¥*òè—]£Ûã2–ŠÓHê„Þ—b‰+ø�‡¹_t¾¨-Œªs|HlþžžŽ.ô´Ãÿû’`¿÷?SXjäDz³-ì8ŒõJmáK�ªH÷±*;Örø…ÿÿÿéc–‘P]ýÆ7iâ5 �<�dí\i+Ê2Ü7‡*øõ©:­>AŽt¨Ç NKšAri¼+Ó0ÙÓŒ 3œ�’yK�;µÒú™sµßXµ3lbþŸõ17Þ’.|´=<Ô¶,xÁAP^Æy{Gt§ô¸0÷‹çSá)ÿùº¨IÞ;‰º¤›I•oYÆNIȃÒXSO#9'e,Ò>½°·hlëÇÈ­ƒ+P¹�D ÔùB+¨B¦Ž+K¤ZÈú˜¦r”8ŽëõYé`´à.Ë-Z ¶NöA35Ê&ŽT傶‰%`áG˜€òš�¦œp­Á/«ÅmëXøSDi–ò”·Yo�a žÉ‘ ®ŽzFÃ�Š@áËY¢ÆO°½?ŽP¸ ‘+,`æ%Ãì¶@¼šKÌ}WÚý×d[fz79AËæŠúêÛcé2,“:�ƒ�€ÎŸwvå-ޝ‰Ò¼ÿF¡lY(å)�–Ì9‹!Œÿû’`¸»XÔ›/CrFZPaìJÍVlá«€ÿ)€÷±)_�„Yl©ÚU©&m¨ØH™L?oÛJéè˜ÍYHBG?+ÙW2´Jï›÷ ¥þ|�é²:âjOæå˜Õ<‚�Õô�—Ûèzóp„ Â­�ö”?¯92÷_’&µ®+L7,† �(rž2CÕ¿gè_¾‡ öÖ…g”a…«ú1Ù¬A#”¥tȦb[ýÅ…�à(xÿ�cO%´`²K²¤ŽR(› ž˜ÃÝ6R¥G‘¨A`¹ >èc¡ëÄâ�‰]"|Àþù²¼êø Hëÿ�9^ɉ~�Ô{ðp$[Dñ²Š(¤É»C¶+åW7,¥ =l¶žÚ�ÚX­EÈ[Ò†Su5Ÿ2k8òèSãÄ¿HB«aç––_âìJÅžKôiêÏÜÔ:™Y+V3­Çr�g*½úUÝî æ-[ݨoîÀƒŠ<ßÊÍ<0ã{«u•ñâlìù´Nv.0U}>©h2&LDì!b#¡J¢#á>V�®Çpž¹–OÄ`a«-ÿû’`©¡IÖ›*ð:Cêp=ŒJÙ'Xl`KÀù�©Á‡±(ëV¦VŒä’ÿík“KõLö€ œÿ‰2aVP¦[1f–[¥„X�Å(,dú¹ÎÝ;ïW¨¸Ïb®|}´oIžôÀ�…,1°ûí0tŒ(™¬”a°ºxâ+Mh}LÔ]7Õ}ŒÝý�j´Mÿ©ôÍ’tys@“ƒDáS—.‘ˆMKÌm‹ó'»J»ÛÀ¢Ž[>-‘‡[JHD_Ÿï㘪GêCþ3áŒÁZbÍ–rØœ+2ð¶9¬“ WÒ~¼9zÔ9ýaÃ"QfQl²mÀ˜Mºh NGâr ]ÝÈ•¾E”d„…Œû§-[éÆÖfºØãQ÷Ùà¹O“Ö)i³Ç˜å®kÿÕ•õsÜȧì~µW+ÉýÖ®Q(Ç­ìÅ9¶?èwÐ�Ó5um(‚Ø)õj±Ótˆ/xócl¿£›¢‰*¬îŽÌæÿ#˜c ó÷¿×d­�EYsûÇUR¦$Œƒ°ˆìºÁÎEÂW†TÃ`Xšœ4šªpÎq"—hcÝàÍ„7#iËGit-pÚ“=E<ûKZ°]8ëòdë¿GÐ, ´¼ecÁhù�,(Ó~Æ™Ôó§Êmø«ksYÞGvú]ÐŒ¤<^½“!ŒúÊ⛇ºÁÛ*AÏJbѬ3¿©hÒ±Dg]‘Ý”qÛëR‹9:.QŽÎdr·û;ê= ¤�9ÇÇlV»£Æ]Œ˜õ&B ‡)å}wH Ðáz�"OÓ©É•rŽè´2+�L°0È'ì˜d16œñ>½BWWÝÛÊw7Å2¸»¡ËªZWÿû’`¼ÿWÕ8+pEêp=ïJ±-Tl`«ÀðŽ*÷½)%Nw€/] Û…„o˜¤¾@´j{ª°J·m%Ì¿Š‘·H̯NP.Ö@÷\ÉêSvæ Õ©ÖÌÙWc;�A–à&¼ÚKßÉ{Ó�Ú¦½b¿ZË_ÌýêçûÑÆŒ ­¥YÅ#4Hå§ûÖ sY\âUR!ÔßîŠyÚïëk¢´{VAòìRöY�pû,&iX+�¡G¬KŸ¦-LÒÞäŠ?„4ü}s¡¨ %¿PÚØÈ ÐH‹h€m*¨)QºÚxÇÃn¦‰ŠxP¦4[/þŸ Yø™QíG$øBI9�¨ãQ¤¹!³º}V›¤S�™&;Ä9`é%ÇÓqÄAå…/’ˆÞ\#¦ìë@â& º•³ºÚúÕÖº™ÌL’eÖ´64H§{ÿ©ŒÍê8šÔ¥�E»6H°ù»2¿õ¯wiàØp7èŽ|—¡m8ÁÀo…s!Î* ·î"ñX!Lçë�¾!f9”¦y‘Vë*„©mÛÃ3«šË�l1ѓČÿû’`»€êXT›X+pEƒê`=ïJ)[Xu†€)BžðºLßïw»„O¿º@BÔoO÷üJ8Iƒxa`2Ç€ö@‘%@êI±a< Í!ŠÇCðø|,:œF„¥Ç#:¼ö¼¹;©¤­çßDÕÔâùí8…qcþ²SßEÝ~³ŒWÙŸï1öCÒ¿Óÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð$"[ÞÿÃl ØYp;‚°8!‚7ÈBðÈù,�!¢�èÐ…ؼbT„0\„a`[±l[cñ`Jâä#ÜU<ì˜æ±Èõ�ó?15y6í8†¨qcþ²Êús•ýg¯³?Ys 0çØãÒ¶ú]¿ù·ÿù‹ÿÿÿÿÿÿÿÿÿÿÿøÔ·hê„Kh‰‘ä@’¹žPOï�&î›Â(Š%E낇‘‹†Ó„C¹4ôÓozòôj÷º\Ú¹U®lEOsï¾~eÜ8â‹Ïñ/Ž·©? ÿÿÿöÉÚ œPy"A0F°tL`oèz€§ø›MÔ‚xˆ‰  ƒfw$‹ïwwˆœÍ’ÿû’@¹„�Y5@…2 ãȨ 4÷Z}…€ ë�°°@ŽÂú/ X:‡JĉMö¼Ìûž½D×ÿˆŸõù÷6¿Ù|9Š/?Ä¿ë>£~sÿÿìÛ+Q£Ùðõ„bA0#X:&@&ßõÞNHi6Èr'€Dà!˜¯ú�u¤¼§‘ü9„b™zªD0dRh*lé—>ÔúðAß?n–U,ƒïÎ>qÝʹ¯ûbŽ•.¾}NZhÊÈ"@y4U™˜XN´G?þñc‹­·º :Š\^ç»û—R6!¾Ï?÷ Uv»qõ9Â;Ãø(tФ¢XJâq.b|uFƒõ±:Z¬j=óe¦ù<|¤ 1;;ÚÂjå=?@DöÔ�4KÄ�¨ ¦ó´Õ Âoo("aõÛY##Føh9)¢¤‹ð+±—ð¦M©¯Á ®³@)´% ¨Ûž^gý4uþ9^&LuãtYØ¡½­”åð˜hê�<é™Vá¨ÀiküDT ÒË#¹ŠºW“Jzn>½ß’IÅ™Ã; Èˆä!lðHT;TÃ¥ÿû’`œÊKÕ8*ò5cj€=Œ8 ÄÕTl= � ©�‡½(ìWéÙ›Ô†ZGˆK ‘�Ê¢þÙm¥¥RŸ�«4§+ÿ™øwoúîÙ –'IK”}ž0ev †Ÿn¢‚í¡ú²Þ¥J3P- X&ÎÁ oO¥U\×)Ø—&÷ÇóÕÚ"6] ´žŠj&)$+3Jµj[2–{ÕëA¾ìõO L¸sÔTÍ¢„l`³ö÷Ýõw�« Kú0åB!jò©wŠ™‘9w˜Œ}¯Õ­•U%ÔÖ#„2JX»MÚbD×…I3›Jû¢8±:ÛZ-ü7)ýEOTÏû¨C·®ˆ%¸(B6,†…m±6L£œô–ˆ��]‰q‚]’�® ú21"S¾‹˜yRè6ƒÑ<†9 È͇±¢)Ö_E“Ô•µš×©î³5š)=Ù–«&c]IöëYõf…+_Boÿ=Xø•4s£OãhBž¥p‹+¶ØO}Ñ«PߦNwsÁ:‘ÚÂ�uì¥åü,Ó(|‹F�‘¹¨ƒQ¡Ó(8wß×ÿ³ÿû’`«Q1Ô/jàDÊ£=ìJ ø÷Pl=«�&™êŒ÷�pýú1ìù1/özwþR@¤›wÌhmºÃ- fU™î“Æ£5!‰Ë¡áP¥�è°^9/GMÅ©h¸mÎj175 40Pb•\Â%þÔgëÅoÚŸ ×/¥W–.}Ú$' î÷wzKôYðÂÂúŽÇOÿ@âèÿÿdX9Bæ:k]sº£…xhïŠ ð,.M8ŸâP¹“$1ir%7³â­ùalKé¸èb;Ü aÈÚ~$k$½«_È(4¢vû�ïV�õ¿~ì œ¦,œV°íƒMÖèÅ'î%˜U–rà°˜Q$ÞBTE²2ókœ$9V£Ê‘\œÚ¥‰pqʸNÉLÙŽ=g'¿¹eXz&}ÁÚ�4½Ô Gœ••©*†À„pX†Ö`@]ÊJ5½˜Ë „ƒ¢­33°Ü”¿õÙùÖœV¤±XJ¬�.¥Ý–ŒÙë¼Äj›ÝþOîæSQ³7Ã^‰¹­)n-ìƒõh£M3RŠð·ÿû’`¹€žCUBâIcÊraïJ’Ñ/Vl½+É+�)AŒ=(-Pg%ŸƒŠ´¤ºÂLÜ+IáÝ<çáâ_KÀFîX éÓŽˆbo®³ÛaÍ“éÛ¦° õÚRM�¨ˆhÀ,Ö¤¬ÊŽú‰ÄïrX&@�„ ©Ò‘Í�A!�·¯°:ii?X a^ùÅS ±1l¶ÃšfP’ŸÃÿužäǺ…ïõ{.êÿ*¥ÿpÔ“Gˆ,“CNÛÌœ?ËJ(‡at—@šSö¡‰5þ¾­v"ƒéèb= 9Â>ûX¢�— ú« VØŒeæ*Mó<'±¡�–§óã'ÌXqŒÞ¢¶áÁWbßúE ëSÚˆQ§¦WC+CÁ3¶ZÓZò¨·Œ¹m»;U42ÈbÔ”UŒ½ÅŽ5Ç^q5’ÀÎ�™ºò„Ž)Gaéq °fU’QJÂîsX›Ì1¼7Šê¿žœþ®í¿Æ­>�ÇSñ_ÿòÜØÜóÏàŸ÷Sg_«è±î¬(|3}Ȱ´zŸx*RoUî !ÎN{è}Ê7Ï f w|ÝXÿû’`©ËBÖ›/Jà:£Ú€1ïJÁTmak€ø�©À÷½(ØD ¬`è§»Ýcmqo×2KafÉÔþb–é €s2AûÑÛ›-€VëØØ_VÁIÆ,é2F%/»/n�B]$¬]ì€^˜•$±õŸ�‡<‚áö A!¡”®�•„J2È—”¬‚NÉM V#º*ßÿiÐãr:�.–iTÙUÓië*x³~DÜséªwÂ@‚pÞVàøZ”õ �$SÑ“ÍÅàœ7rê[ŽñV¨…Gã$|¥ÝZ!„ý*’](±w)7§Ñ&S‹…³%ô;ÐÝþB0¡<šl3uJf”åÚÑJ…laÖ9R_ÐÕtt!P¡lS¹Ä£•EF$ò&+LT9B†7Ȉ ‚¡1å Š’�3q ?ŽÚ™®½©ž&¢gþ®‹^º‹êþ:Mâ cPõGì|ÖÄ’BhjÛC55fèÕ°ŒéÂHHXŬcA”]ž}pRÐÏBh¿Y‹¦ô‹+R±Ú¦ßJ�Aâ�LÚÂjB›7ŒIÿû’`³€½BÕ8*àBCŠP=ïJùTl= �‘)@÷½(xZÿ÷Š­ÿàmÔ¤eýå5¥A3dPhÌ >è½é}_ #¡ĤO„·±+�VöA::×¹ðÏ;3:ÞT/¶âö-wªUÜÞüdÖ•œ3þäyV3>Ž"ܸt¿Èÿ)®ŠÁ_Ùºiÿ6NMóáÞæÐ!¶µ7qQu2°ƒ9Ç¡³4‹ ˆ¨Yç–EªÀG¸Ò‘š2V1+iÀT´NÛV!ë â˜Ëe…¸>ÄÚ¬É�¿Që% ‡”™?®´ê–ÿPy‰,PœÅæ`ÐêÖjóqaÊ_�#CVÛÍ'Ï,ú¬ŸÂ‡™6›{O™Ü0ùu]ÃÿïSÓ9Ü-ÚúÆEæh›Æâ#&ûÖbΣšË:Fõ‰¡O¹å¹Ò-ø“ís fp!X‹7rÀ60ù8¢&r3�ÞÈC�ÚêûÏL 6T>B�M„‘úV·"í„”BukR�$àoq8SƒÁ" WcH²ì_ϙӤö²Æ櫟y“ÿû’`¹ìTT›ð>¤Zaa‰JÏýmTlPã-…Õ$dÕ+-lwfc†iÅÒèí;»]¹i�\æp�–@eB€Œ'‚°À…jxwXº=`§KKp›e@9½ô‡8„­Ê5ìšGsÈ'2 œ«�º®žSëûî$2ƒ›%³V�Q» �ÕÀq)MÓQò�¤Ój³Y %÷IÒP0á#­xüF™{¤�?&äèh$Õ›ÕÝûßöpöîó�·¾|S­å±e•3øYvÿ—)ÿlä½5B0”¸·'Ò%�¹ÿÿ!›¶w%°ëà0“‚Q˜Ñ#ç/ztž�…*DD¯•pI ËM|™ãëÖ,¼š¥†9'cjê‘Þ ‹TVaˆÐ­/ñÈä³)À1z˜HšPÁ`�§—USýf4Gÿû’`»»eWè+rK$ 0=ïJ ÙoZg¬mÉ3)œ=(ïÉÝ1:oêIl¾ë#² ÕÃå3p¼(%Áîh§›ÉµÄ0†&^컌ÎO¾eç顪®3çæE)Ö«¹Ã¾uH’y�ôþާíÛêf½Ïóž/º—aw_ò}¼ýDžOæ }íSÉwA˜&|` h1± D›8%7ƒç GÏDbŒiHCQf°×ã"ÂìÊʺðTOÞ4¨ix8SßP¾’z|’j° 6TàCM"³—2™€àJ˜~5/{–NA4}@ÛrnòÄÝ)ÈÆ�ÔšÒøžóͦj©‰,&ÙˆÅõÐ|˜:`¨|)ëRÿÉÜ·Y&vÃ¥ØçÒâ&S,²ž§ô¬¦¹Cß5<ÈßÐÛ- Ú{Ã:”Ïòt*q ¹S,Ów÷‡‘1 虜u-|Y²¥¦ÖÖ(’Mn\ˆäÿ/°ƒJÛ „òùä—ÁÑ2ÁaJüÐ0 Ë($°ŒÁÐ(ÉßP�½Šz Ï…nË€$TË’-¤ko„*žÏrÖšMÿû’`»#b؈r[JgJ !‰\g mÁX�¨�Œa(A 2B÷)�ùp6Û¶™cNpPåÌb?”bÕT¸Ò,Û+¹¹±æ ';§ž/¥Þuëõ<¤éb&ìcJÅ Ý"¤uÏOó*üþU¾!¢ÏȦ†|OvR¦‰È ½üäžÛ«ö›®š©²—3eÈò^\žÜ4(ç£4´¿ðCXŽ…—*•ÏÉ]¹ÄÌ'c ANÄ�$d¥Øz–0¬ f&dÔ¨¹ñiÊZe— åN:tqklÂ2¡rKmÚ_Ðs\Êr´åÂ/Oú@¾+,_5Qlõ\”û†µŠ‹ÑpNªÀCC˜¬t±6ûÂà¤vºÔ/T9„wÉËä¾üºªÒ.©�4(G8ñÈò:òåÿ¹äné•3Úåömgyº°+U¬Ð¾�ý†“ŸAÂÿ"g"‡ ´ŠüÍþn;.Èìé0U4ëÛ™&ÒgiUÀQŒ=¡{{RPÚe]m(í–‚ â]-7bn RÆ,Ø]¡¦±±ÐÒY•Ò¼nUœ¸Ä ÿû’`º€uc×™ërQ¤ 0cJ )eZG¤mÉQ�(�Œa(;4JzmGÐ"’s±åŠ îJÈVܶ¾¾R«pT: ¡ä®OE¶Eåt}»‹¡Š¬=Žî';¶[p‹¥ÏsšCÃÙz[t”M%3³Ì«oýÈ'J¥.-Rïm]œ©@û©wc)·ñTˆVX4T�XãÈ�²™’C§BÝ+crocV²°íYW÷J±+ ðíh@ĪÂHõ�IÅV×Ýí¥§–½ªØfÓŸ`¢w _Á”¤4 -¥”±W·ýŽ?)÷g0aÏKÀh謓nZð^F®Æ¨¨Zäª:†V%k$‚X‡Ót¨ï?^!—EÔ ºÅEÒRûùjpÖ÷K¾ªà#áå®Iü:rªÿÌ™�ùízygµr¥íÄ´�ÞÓeË�\‰˜Ô×Óõò#ÌÉ (°Î¨¨n$`©0ûÉ­´ÓJ‡xº{£ñ€A�£ÉéTšÍŸ¡D>Hr�JsëKÇÞêÛt¢±ÑãT½1.*½¤®LlÖKFùíU9ƒˆƒV¿©,ÿû’`º€|[Ö™ëpUD*cJ Åw\f,mÁD�¨�Œa(æ4œÞæ¢TP!¯KÏ_é¬Hç\Š”y¢T€jö¦�4nÚ¦0�‡ïWqò´Í™q—ÝìmÞG¬[Þýq™óé\[5Ö,-©´"rªj}ÉvD"rR¥Nÿòÿ~óˬ7×Üš—ï÷Ÿ[ó/z†W*öæzÀ™¯�yú]N  “·á<+@D$q¢·lji�N@[„¬/R�œd�ú.TÃYá¥Iê…Ž¸$G¢ܶ„ÈôÆkÆsÇÝq lœ;Ã˹¿é"ã—ÒÄF´ºI°ˆÊâ-z¯k‘ÞÛ�‡®.dop÷ªV}ió˜[Å£f>ÿøÔöô’ÕÞ7œ�ü³‘²Š\†sg¤Ç54Ö7'ëçJZLzòköóŒ ¯¡³~nÌÙ¡•(ôˆm"·,ºâÊ{²®ÀÝ7�O£ÂQ€D©r†&ŽOePØè˃ØëÄ¡Ì^'+cø 7 Œý Ä,2æv¼f ŠÕi,`s?w)DÝe‡#ïÍÿû’`·€}[ÕïpKd 0=ïJ ¡_Zg¼mÉ?’¨�Œa(Ÿß×½üïÝ¿㙺A#…U |<ʺ<äÑxŠv s¹W$j)_¦ü¸©µ»Imõ=`Å­—\¸ï{Ô’}üb™ÿ(!W3Ö’7<²+”ÉÝH²¤KU.wc͘þW<Š�²¬“æëÝuIi*]j[?ÁCÑuáâÄȽŠâ—·)»e_h`r½kŽlšv”>É*%.QC˱Z£½¡«ÝLÍÜÖîý`V à¿y^3ðÎ>øʾjlO3RÔ¢õþ¢a�F« GjS˜biÚ¶+L30àa`$'Øyr¶�;6¢ãb-ƒŒžrº'óà‡�8ɹ*z›°³ë3,ù甦š‘~’®@o2’ •´HWDì·Àÿû’`º€²^UïrM¤J cJUWTl¥HÒº”‰¨”.aÈú¬&²qKi?ÿûÓ¹h„ŽÛèÖá– þA¯­;®çµUõVjàF£ê`cJVme«��iŒ=(�s0¶#ØßÅk‘³{Þ¯(]“u˜H-þRÈ—[ eÎBÛSUó�µRsˆ°v`ÁÓЗ ´”, 0òÇÙ¬)�6Hü@5Ý´+42é z mšëý à` P§DWÞêâV¸ëêã¯øšÙqfMЇNÛÝ ºc¹¾zsa{t*ÀL2iž›¿QàôÚ?ôfôŒEgòH×–j° Ûì.¦ qΟ…_†áÖ§ ¿‹…Œý Ý]Ç¡aeeo¡·œÊM Ÿž]ù;›DM¢,�¤[—úŠõ-cKýi¤zÁ’¬ G)N¢è_L9$QDÚrý'œ7DÔ³†©X¼6õ¿ë‰:â2x!$Õ,f~ž@X–‰‘Lz›-3«Eo]LÉ­O­"‚­JÿmiÖµÓºÐ{ttºÝ9q"šEóˆàÿÿJ µßù»‘0�&Ù Uc%b|¾âÚ´c;¹ø5üwµårsžJÈ—DÃÁ¬°ñ±²ÎjÃÔ Š«Ý¢ÿû’`µá@Ö8ZàA¤ `c JZla«� �©‡½(ÇsØt½Õî8Ïë†g°�ÿ@ÿ%kD³�R@�hòpȰ(þÃÊuU«¡ã]@(ŽŒzUf' l烙Y *K=…Z¿©<ç3æˆà0DQ|™¦?Û1»µÝ˦LEÜÿ5R÷¯¶Öß[»¿ãdÌÿ,EÍc˜£Æ›Y�Ú ÓióU:­ÉÆTÐ) tëJ¶i/~¼ ZîÒyÁÃ_§©zeqé‰X¾Øœ#faâç÷´¹7G•%µš R.oV_mý±Eì,ùd©››GѰ¿Í5&“%!“’v¬­®"ß_03C\Žø€% "1€ ÓÃ5�Aê ”×ÜIT…ýt-KdV]eÒψ r AH,¥Gh¡�޹·KZçÕֿijí͉³ôæÓ;^á•Y¹ñÕG3ÿÇOUŒr�™U-ðî}è·r·m³ÔòNj)©Ø°)ôͤ8þ $taÔ¡Ä%ÃÊ�-¶ fѵÑz³¢Ô hç"¾•ÿû’`·¬AV›XZàCãú`cJUVlák�)�‡½(5ßãüÙäN4åKœÙþFÑkf2B1Eõ5ÔQé#�õ¦XWE�ªXâç2º„A¬‚ŠU i, Æ'ßéL³ïJet�¨`#zˆd©u ÐMH$l‚(:×ëAoÿÕHòvZ´ŒVk¢éž0IÕéYk41ú‰˜ŸøšÿK6 @{ù%c†F œè.*“/νt˜L™&I¼ 9£‹9¦pÁ0Ž&Áž«)B$2�2õâ‹ÿû’`·ØJÔ›XðBÃê`cJ ÷Tlá«�)A‡¥( nqQ™‡D"!YWÉÚŸ Ú&°@ÀÕê,UÀ$V(q2a,šÒ¡Ü�É,W@u.b‘‡aZá—‰§¾®¤·r¨½z²è¼­¶‰ˆ(V pš“ dªç]Ö‘š(õ«­�ÙýH%AÑA$Sõ-”§]×ÝkZsçT3ü*@\A9¿¡è¡!âé¥e•?Ñå]J®Uº>×^úJ°Ãg}‡ØÇ[Ôì5³RDŸ[qˆ¸o5'aÝé}) ÄZ:2zª¾ÛäÎÂ{‡„¯“­?H¢ÖÐhdEX ÇxI\†TXL,–8”tÓ0Ά¼ÒÒbb-q¾w`‡ö§(GtW/[š»"†«¶®�W÷¯&ÝŠŸ–=«¾óšþË©‘íoúŽÉK±Æ<¨UÝz+Ø8Eªÿ]H².‡DÿöïÿßóU ¬(²»rìÈ„Œ/»v.�Éh­„¥„ûU¿T%‹¨÷¹¾ä¥Lu ؇ U§v{!0s\F½ÛZ^Ÿ©ÿû’`·€Ø?T8jàE¤ @g JY—RlàMÉ�©A‡½(øS9çU‹™k¡„ 2v~�âÚPhŽdá5¦øOäÒR’#7† ˆUS¶ê�DL™{d/¼ ٟבÁRÙ ánÌ’ææ±œ¯Ùm`P¤4°õJÌЬ4×þºñÝ{sv³7k¸õ™{šÁ¹ç>.�‘·ÿ^ ^1þzŠÚ<\'RÓŒ¼ExmLLšEÏS)¤|cÎFàù÷x$is²ÿéŒ8’‹ŠÀòGžRYi.ËêqfZÁnzÂ@fw&(’Õóuÿø\ãüytrßô}ÔÊ êù=‡ZJP�+zâ0 •jRƒ)(3ÙQT8%㸳z˜tµ‚N}¢é:EòîL•Ø]±´Lå™Ä5X�:8õMêßúÅ;³²Œ) S”ÄR·ýe r”æ¿ÿérØñÔB•Škéñp�+Fà1 F»×ÊÞ<®Ç ¬bL0»wz¶T*rßíßg‡ÅÂÄ*~˜#¦LiONz ’–EÓò)À,FüHCq‘V^h݉K²† &jož5” ºíYk^+ËgÎBÑ)Ù9’H7.Ñ «4J1å[*„€$§(>”>OÜy<”Ù„‚œáT« 3VJþ_KÛüˆÀvj|ëZv$:ˆ×…µú¡€&*„Dji„âQ=ÕÏ1}T™öÍ5_ÛYêi§NV!=Íšòf¿ÿR'��#\A ¤è ÿüxAí¡}ÝF>¬¡Ý.ÓÅ4tXγÀ-#dìj­Uþëõô~àx-¹®ÖÞÌa‰)h®~Ȥ–8£,àFÔŽZ­[ÿ#ÿû’`¹€¢?Ô/:àHcêqaïJŽ ýPláK�7“i…Œ=*Ì_ÿýþ|¿â@KÚ�Qx^ØòSPª…ëP}}¾ ånÌ ÝTUJÝ–É Œ(bÿ»ìe–ºÍ唲 e°¾›Ö£2Ö„ê¶2X+šœ ½*'’§ìÉ&’ÙÝúI)HZί_ZÛw².†î¶«ÿÞš�§¶Æ­"…J�úÎR  å¼ •´hœ—ÔÂúf´¨!R6窘G’æÅQ¾Òl“×òB©?‹ÌŽPÓË F¦ãÚ#ÖšáïýÂç¤òZ@&ÿÄu€ë0g3DAÀà¤*v$gØÖ ‘^ P�]™àà Ò`Î¥GÈ»�2B²xêu3Iœ�PLK²Á<%ÓdM9³­Î1ôÓ½]ÿÝT¶EN¤%¾Þ¿ó4ë4SýEV°ª®ŸcŒÆuÆê¥Å²!Ù@YÝyÓÞiÑ`˜ÓoY»Žt°`z!ù,Óî<ìÀ/µTe†·‰|0�'m.‹0•†å@y>î+‡5¿ÿû’`º€Ì?R›XjàDÃê‚=ïJ„ýNl½«�*©…Œ=(Ë÷À›‰+R þ@H«UMPJ4bD(¡XYûž³•¤è\rù{äÍ�†I&•­›Ôp¦ÍbÌãcPWr[#¦x©›Yðv Q¸oαÓrU*è"ͤæè= Þ¶Ú�Wº(�d”™‰¦Ž7]c…¿ð󃄜šÏ_G~ε!Êö& ˆ¬†X_W!#Ø�2¯Ê®”:cQC«Üæš·i�2'0´Ù�ÕZEtŽa 2רTôª,#13ò[mø-QŸÿ2uÍ&ÿë¤äþ@:àÂmnÑa”‡´,Å•;}¥!ŸgeSÌ”q æ&�Eö³hæå»—Qä�·G ŸÍ²AOÛ¢!(:IN(P‰<«,/}�Y�·ou ÛÔPØ…ÿhÊán®;ÿhÀÓ?ƦhéÄõ?jb»ä–‡ˆ‹,üØ!c 1ÁÒ«;Ðñö\†«È'ãe Vˆ)Ï#uÆIt®ˆ Åv½•ʺöG,ï%üùo�ýWv¬<]ÿû’`»°1Ó›8jàMú0g/JO4õLlá � �©„÷½*+þÏoz}Ÿˆ@åÚBA)…«~sðÀÊÇc‚Â-ŒÄX«k(H[ešÝ†˜XJ­.c(õM "u™=Ë!H‡.ÜüÓÄÉ*R\‚pŠHȆÁ0ë¢Å–9•Œ{ûÛÌ}Tþ†TªjöG½3ü”©vÀêYŒå6pCñ”XÚlÿ¤À9–&£Å·$x6Qàr³êC4%¡VŽZ½Ð(¾Hú*¶µœ±f  Á¨\qœ(�Â$üŽSG˜|ÀE½_(FH0»4€€3qZ–¡ðÙ\RÌQµHX|öÕ˜ÿû’`ºÖ>R›9RàEÃêR=ìJØ÷Llá €ò�éD÷°àZI=“]ÐïþdVWÙÐjha7Æ }ß–¦|uáHé²ú‰YúœâK“q—æô QkT–é5Yà�«ãK„~Öí:9g(˺µY:'Ô#óùççÂÿ&3É$$-IKéóÿ´1‡Å§Hÿ”’=Ì(äï¹­[˜ÜÙ É©âëSèXA×Í•KX²Ž� ps‘Ì‘´XŠEpY˜c(æ(4� ZŠƒíéi�:ÖaKjb×ãc¡8>¦øZÈÒ€›ÿ.0¬2š�[eŒæEѲž–~¬Qù²èÆU )R M9ý«p§xäo�™º¹öb7#»†5eÄ €0¡Ä†Ôñyz¢ªÏê†eÕÝêó_GbJYÌ'EFE:mvJg*¢—pP&�V1é`²Bò¶Bž�u¶–‹¾-Å� ÐÐÖ}‘¶ b¢; ©àškJqcÛ {r³4¹úšË8¡Î $×zo#CdéÝÿŒW´‹"°i—òýÿû’`»½IÓ8ðA„êAaèJϘûJláK�©Œ÷¡(h3W(.ÚJm %@$Õ¬äÜ}¿‰;*�°¿¤Îknгf/=„HÇæ^é óÔ­tJfé¦"€Á `ÍÉÇS A’ŽòYY‰RŒžuÓ®£†_W}õKÝŲ‹RÀpPYl`h¢Ä*>pÚÞ"s¦šÝ¶´Å §ïøD Ÿ1èü™î�´);Ö¹%%*…RJÔXM1YÈ¢Š ´rô9b|f•dÝùºæíÉ>?W·ËÇ[[G�^’Ûü�|VªÆ[¬(‚[OP‚¬ ZÿÚÚ"ݬŒssçý"¡›¯—J’r¥NpŠsi«eúIÙÖÛÄŸÑ©H¬’z΄ºûnÇ(ÎmP)’» Hè,/š‹àòaÔ$ÿû’`½MTXðB㚀=ïJy;Rm`KÁ©Àü=(C ëïëŠWøþHzf� Þ–aî4€73 …­"úׂ£ a¿‚^ùG¬âýÅÛŠQÜ{ 8yǨ89æIQ3˜dÄÛHv™sâo�R’—]ÂŒä@Œˆê_yËÏ?ý‘� ';’Ž�8!™›ûQÐæoÿý upÂA¨0)TÛyÛURЦ™*9ƒ!œá8.¨PÆ{�À0(aLÓmQk<ªÃ[9VŒÓa‡AþÓ»°*SЦ÷‘¿¾ü–Ì ]½@@3Ì—ŒÊ4çI˜xâÑvõm¤A(Ñœ"xUÓêq$S�Y ËÁœŒ'^12o„æšJfÊ%¡Ó,›® ¬iìVµùhY¥ù†ß. Ñi:õÿû’`º>Ó›Xjà9Ä*p=éJTýTma«�©‡±(ÿÒBßÇ‹t[ÃÛ.S5ðÔ+.`ê¹)pØúC²ÆA6cEânŽ5iׯêÑ0ج´B“½s¾¨¶Ž0Ó�óE¦­Üp›œ¥3ÐìºezHªI㵂Þ'B_ ,f0i oRÝFõ³vWîÿê²ÝHi¤ƒUnºÒ;N«jFéÑu¤™ãïo¬¨�@ C¿áÀ³×j”Š0ŽÀJé´cìÔUk’ ñ“–Õ.s«áüΤIŒ,„ä±²ÂY„¨'#%“ëJðl)\¦«{br�dø‰2É‹ü° ÝL$\ T:¢ºó¬! t! H¶âÇpañTT-)䔼xW&’SÊž~Ã(ŸgЉ'ç‚bÍ61”Yœ‘Ò³nSÎku«ât,ÑhƒyÿíDq£Ü²`¥<Ì–‡£9Ù:Pí\Åb£SÿÔ¶q5 ƒQ蕽l­Á°ƒáL0ÕÐ&A8¨H碵Á}'±(œYÚ‘Šwx 3™û:‘Û…$dáL±¼3¡Ìÿû’`½òAÔ›XjàCcÊpaïJ==Nmd«Á�êD÷¼â0D£…�JÞƒ BÞá"M\YÀK ½AIwZ³PQš(±.¶Ž2¬ƒõÁ7Ý=�M²‚ÆJÉ63ÍlqOCCË¢­„»±¤Û#DŠŠ.$ç™_§ÿúIº�Lâ¨Ò¶d) FklK $ÒIÉFÿòØŽ< è:½»eS�—«Â´€`;©8ä/SÇ…Qñ¸Ü/ Çw¢¸š`þ(Z#Xç|Í Å±’ȵ¨j˜EÙâ½,>a`†æpF¨c|Ð× >€C[„�‹P€¥§' gM�=a€¸¼U(Ÿ¢’å´÷ßw¢‘¯€�ù˜3ÍËékF›’:ÂÚHÝcŠwYñ�¼-LvT`¡Jnº~Ýa™2ª„/º=\g+«½¬ŠŒä�+˜@V�?ë*ɰ»ŸgDÏF/ù´œ?¤=ƒ(æ,1P%ù’k7 ÁuÏ‘]x©RQeÙÖ>ŒÅb‘��*(õ}L´ja³öÿû’`¹€ÉMÕ/*ðAƒz¢=ï8½;Pm`KÁ ê÷¼áí…¢¾dÇÿ@‹þ�”¢Ô!P4xCP€T#¬D.Lè:+ªLÿY ô5Z±÷…{Kˆ²¿Î´dl]•ÁNÔ»³‘ˆ)ÀY Š_ÊŠÆQ=Ëu­l‹™¿ªêí­ëeT¶­ÞšÖ’ ¦eµ®Çï}+¦qtÙJ8’ —b>{™ ƒaOW`ˆÜî ±? ”ãM¦1ÿÁ4�ô{­+‰i�d‰‚sœo³ôàeêec¯ñ÷�¶Ç¹äÛlD‹÷mA ý?þ�E/â¤+" ‹¡¢Â¹EÓ(²œÑ@Å€k�s†P’nùé(ì-+µ§pŽóìºø�‡9�&°lAÔhî!xü‘Ö­;!þªâ/ùïŸßnê*Ž:éõÿ{hÖ*›N·NõíHóÑyó�àóu$X>Ý2C Ѫ”üÝT‹m]°€¿5»·"VšÒÓ˜àRÚ´‰"Ÿ'�âIZ�¥‰±ëñ­òÔöÀô ÓîÒ¾qGu^6¾ÿû’`º€ÍCUXjàEä €aïJ5 Rl½k€ù�ꇽ)bð`cÙøœ4 ³l`ÒBÂÀK«@ "Ã�„¡ åÄBáQOÞFbcÕrÓ•bŠ>PÊô2ÈVÔ?Z;G-° ƒ JCéÊFæNê›ãû‹ïÛ_ñ1wÃkoÖ³uÛz‰¹tWÛ9þZÓ§‹�¢ù 4:©a*;”±±ÂÂ… E@RK²üöœÙ’)dx q¨Ih3 �‰ÓÁ`�º8 (óÖ Ý"êküžÏ™g~Ã�.¦gúkÿôsl§ ¤%ÈDZQEK> U‰¼Œ0a�4DZ³%AH°0çTlhÍÁ±/&-‚šÓp\²ˆuþ{�fD6i�€³p€|~aÄS$̉by•¨ ÚÜçÕm”·z”l³ÍTä9K—q´$kI ÇÇš{­ÔÃcVþÏÌm|¸xb3x¦&ÈãYKÈ•ß.‹8èÈŸ&Çob¢ÊJ‚eoiÔ~ƒy>ª`Í€ÎV.GÉdÿ~žÃ[îý±Vh€ÿû�`½€Ö?S›8ZàCcª`aïJ�ÅJlá©�*örŠd™_šyÍ]µ,X¦âC— Â8˜T‘pvÚ’„DkÄa‹*m>ժѹGç7Ù5ê©ÛMÍwRnq5³3{­.ÕY’f£jϱ4±Ö&—!ƒSå·ÿX0}ÞÕäÙ†ÉIVYÒÔƒgF‚¸ZúˆŽ'Læ`44¼2�µë&Ù” Ä»7jsvÔx²ŽiL¶·èØ$p¶(ÿû’`º€²2Q›9RàFfŠƒ=â\¡ Jla«�'�©�†0à—{Ò2€.Ú]ö3nXH ‰T )0é�Vâ¿i×ÄIèÿjã¾$ëq7Ý—Â.¸‹é[!2û2pÚ„I™ta‚ôB6@‘H“M¬²b·TÙs”ýûÎ%®ÇRÃji|'?R•Qg’CkKªÃ_£ÿúÀG@Í�È!ÆðD"“®!´ó¢ FÑ“[€IòØ#î,j²Rç–ì)e¤ñ) ¿zf»Á¤=›#MðÄÀ™“YÔš?ß·¼úýþž‹ç¯¿é$/ þІ\§QEU/ZÛi$Gµ|Ã>§Y/…Í�ÝÎÑ×W ¦¢$|4:heŒÒ~�=ÙŽ+ЀZ�€ô§½¯Lºú4ŸS¥´â©õŸRš·Z–›]ZKgS+F¦Ùó{Ñÿëýš€9€¶£²ªÎa*‘… ,š(ÆKà´ ô.“ _‰bÉ0Â}¼h<1‹ñ¾´§i\%à´k7sd>KzÜšRíw™ãýcûëÅ�ô¾8ögh"Á=½òÿû’`»€Z.Sj`RÆŠSaí\ © Rl=«�c©�‡½(­0Q+ÿÏ3·6‘‚3ñC³‡HÉ©)aä`ÿãxZGã�ÖÏéë&CÜ�ôG•ON æ–)^Oœ6Z kY.´"·ÝOêG®h�u)I�I,[©UN6õ鳫šéÞßïPx’ß¹ VæpHªeYe憊’xr@ÑueÉ¢ê€w4Ðù6ÇÃ3 ëÑD‰ÖOÈò„©4VL¤; äâ�3Ú›ûô>`–ªèu"’’]gêOÔ‘�€¿ÿ£’O’¦n$¡B $¢ggê–ð=»Äp3\a®"ŽU8ü®bÕ‘Ó·ÊÑövávÊæ4Ã\M–&åÀäɇO2hTµ¦]K …ÿû}7ýHªÆ¨¾µ¢ŠÖdxè¤cÃ�`R§ªÑV÷²÷Uåÿëpcî©)!手 è´„�‰E"rÌs»ØdÌeZ±8·=Ù ,ð�Àðz+‰M·I¾núžš¡OIÍæ5LcG;dÿû’`¼€-3T›jàW¦Šƒañ\ ØçPl=«�@š*L÷�p{/þz ¾›¬Yã(*kQØÂðåA–bÌ©(‰ÀFÚt'¤XŠ0žª,¤×NOÙH BåKd°‘'Q˜s�ØP)§DÉ�s$: º¿½hëS:½lɨݎ�n]Ô»ÔýÕÕú@Û@Ýã,™„  §Ê®u1¦½YÂ(|Rìl­"S€æ:Ud(šhCzA$7 Y°ÊžW¨‹PÁ,.‰I1Êi®Lk+º»Ò”Sö1{!žæú”dò^½ÀKmµ–%C'n¤Ê`†¡ ‡Ÿ×™õ- ¯дCk1ŒÄ4:#cÔR°d‰k|Ç@íRŠrݪ"ÃÚ]§N±òÞv·ÅÖâZ´ÍhןüØ®?Ƴÿ×—T].ãÔƒä|�h™•HX9 G®‡�ÎzÌ!²½ÐS’ËÕ]„–²]в—i»ÅŸ$ÙcŽÛ ’–ÄN4Ü•Yu‹Îqw è5m¤äЦ`ˆ.ÜRÆyÔÖÿû’`½b4T›jà[šƒ=ê\ ¬«Nu‡€†�©Ž±€z³…Zô¤œîçP¬7½KË7Z@ˆOàØø†‡HbAk£šY(›ÀË'\.¬ h@ppwa"�HX{€�‚` „:‚ø¤�`ë"+r|œ$Dä�„DÀÍŽhœÅ@B ¶bxfˆƒ!(êIAâè°º'nìuS«LÁ$T« Ôª1'�dY2E“t׳ ¦7w¢ŠÑÝn»ô³ëMˈz’;­9qÔÝHPf/—Ó4Ö»ýI"b‰’Ní¿ÿÿÿûÿÿÿûÿÿþ>gš¢A戬PVX©2á;Ëžañ¨¨Â3æ Ý ±ÄDÃ#Äš.53�ge;ÐÝ´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü­ÿzï4põŒÒ“X2.ƒ¶‰ zÇ8: `v"Š�hâÄ0ñ8iš4ÍDq›sOïwðßÇõüÂÜ[ ¨Né£úáz{©ÿâù©¹©ÿÿÿû’`´€�TžR`Tò )Ü Igb|Ä 1©C±€_âç­µ‹®?æbdÕŒ˜ª ¨§µý7ÿÛÆä<Á›Â¢Žc/ªÎŒÝ�nRè ΰ¶¸°ÑkhëEªe·öP³`ÙE5NútÎ_r!¦f S³“ÐåFÞ9 «—2Õ¼w¬¿U†âºÀäÚÃI6¼9l²Â_ε—z)&¢T¡,ŒâÔeÁ|æÀ¹WJNP†Æ‚•ʸœåP«Ž3&cƒ@ 0X²O¸wõ4Õf-TÈɶ‡ïî%íâ%×Tå»ïák˜ˆþãrí+Ñ7,Û׿±Á·0ö‹¡OW«•2d1VLh€´*H¿Ðùxõˆ¬LÒɆv„±ô­qLL]×YÞ‰ŠUô•Šn¡¬šS1YÆKç¿Õ~äý5kÿ +“ù–à7☾ iÈK™y¨S‹TÊvu€»3�ÝFwÞk+O|�þ®Ó鱤ÎU]Á÷}Èl”1p`:ÞFÝŒ’åÿ¶‡4T’EIAÀ¨¥ÊÅÜœd´ß¼¢,·»Çíÿû’`Œ†AÕ›BàA*`aïJùXla €î©€÷­(ín}ÀB�>ŸÚ¦±­ÕòÞ_¤œK¤s4¡*: ɦj=”¼²6—°y9èŒæ¸Xc·Cáè5Æ ‰H·,ÜœbTØ÷÷êý4ú@�Û)qC±Aá,W¸ve_ u껌˜²b%‰A­ÊBª²÷‘éa*—C:€^;Ôœ„>ÏüEàb¨á,$ä[olK$×å¼ÕõÜSþ}•Ê nùâb“o¤ê‡Ú”¶Î^æ7¸>f²l|Í.«3¢1 p—ÿ»ÿëÆä%ö—9@k”¹W"�PÏ÷6ÑœJ-…+"§eAoŽù™&�‡�Dm•Õk=”I3N4>QèYΚý ŸËÛ“‚Ä;(T@PÃêQ˜´¼àWÒv¼¢ Î,²] ž&F@P‚À!�Í/“#ÊFÆÆåá¸��ñ¤!AK•EŒÈê™TÒ6·J×ÓIF)3™­&ïAI^…�Ñjè»ýKUÎâ9Sv{y>œÞŠÕrl ÐügVÌ_ÿû’`˜ÐBÖXZà:bêPaï8 äùZu‰€Û©‚ž�OçpKbàü4@Æ*2tØLȬNب ml‘çÕö1X Ý|7U‡÷/çí|ú]l{Oÿü †5à÷¸5Ĭ 3È(�:( `ô(<@FšhJk¨ø½Íš†‰ÅBÃß�òÅ×<ËåÏ«Nocɘç5•ÔÕ«UäÚaÌ·¥�oªVïþÉ·è¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ´“‹iÿ˜€b‚«Œ_ {€è<¸'Åñè� Àª…ü�V‚1qê%Ã$z¤0"ZšÄôe–žÓ§ÒQ6 ›²cqºI¸ä!ÕOçÒô‘ªªfìéh­ÖŠçYKR’W •lõYúÕ]7oè]¿RÑÿ_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÙm¶Húײ,I]®TÇ:Z´ZDðX ét‰"C ˜›ÏT�å¨é©²E4:™±Ä/º”‰ªL¹öéWI»ê[n‹3)4NËR-wR.´vk¤`~¬ÿû’@©€r�Zž4àˆr É´ hïb}†€ mž¬�žÐ~ÝÅOW‹±ÖøŠèQ uß«uIÃb—A˜¸’cܺ\/”‹ú™ ê&ÉL³fB‚–~¦E+ÔÝèÒBµëRÑu:,̤Ðd�–¥¶êEÖ§]·HÀÜÉ 6@vÏJÚâ.¥ëÍ¢p-¬¦žM ¸âÅ"ÐÜo©ž­> ‚k=O‹#–,™leÚ‚9ÙÙ¹4–rRëG—ª©€bŽS„˜™š’iÄŒÙ�I´”‹Ùtjwu"µ]uÑI7]kÒ²moÖu•2= HôéÿG«ì£Yb‚v(€d@ðÕÄ aÄʶ¬…¹VV*ÀV¶.0ºJ“ó±á¸bblÑ^ÂÄûHMS.Q–gú{ü”tÖIþÔuBHr•¢žu׃KŽn�J§R“{6!%Í4_@üz E)×!ÐÚª]=„³kHj··U,Ø8C A u!µ©E’æïù꾺¿þ~­ÑOqùž“íöÆÖæ²"îa³(6Ðã„d>ÆZbïÿü­ ÷h=ÔÈ£€+ÿû’`‘€Ž>V›jà<#ê�=ïJ ¤ñ\l=k�*÷±(ŒDsr”B‘°„MTI`WQÀßK$Ñ[)$R£%«äì,ƺ¨}àÙñpI å¢YhëvÛû²?›ÿ$ïV’HÒs"…×ZJ¾×#ÐIºtÐa&ÑÄ¡J›£ RDì¥èDEÊâÓh*¤ëÊ59ª¤?E±ªÒ@­ÑÌÁJ/íÿý—¨èU4«™$**•RB d W‘éôÿõ'[ 4.¯ú)e–“O˂ٱ%ª§^s}�¸üdLŒBYN¯`]Øž!hd$,·Ý&À…¢ù�!T äGGªn„N¯y�Kmxš:kÿ¨c£‰¤�Náhò¤¨¦íÓÝnóÌic±¹ˆq²–aXX}Þ¥w]+9Ǧ9Ë5dþê¼Âa¸9a Ôxæ¡¥ä�?ÿÿmu$ʦ3Qª|ÓRèjÂ�‹œS¾MÑë6ï»ú¨’#劄‡A(g)²¥”ãN'™²™z¥ÉêW°§—’¡ä¬â¦ªr9ô«ÿû’`£eNV›/ðAd �=ïJ ¼õZlàë�*÷½(#œEòüæw¸7Y*ÄÅ_4K Ü�õ€ÿË® mÄ:ÈU AÒVOºÒ¶ˆÔ‹¼ý³!"ª©0ØÓØ‚+° ¸íå5žqi†Kœ{™;J4€* (Á±u%1ò–¿ÿ_ë_ÿmKÇVq£¿[Žin4rŽTµÇŒc)$ TS�(\£`jŒSM^VÜC쑱Ĥ#qmȧsRˆØu7ÂO¬H‹\“w R-+û›+QKXýÄ÷˜»KC¶*EÜ?xzðÿ•—ìÎk»¢¤Äk6„ Ø «‰ •Иú6Iš[d{› Õµ›(’±£(±�äÔçÔG6€ ®gdV'¦Ÿz\ìF)¼0�÷Ë×(g·‚+ 8 *3Ñÿ]УQJs1JÉÓ«++¥Ka¶*£PÏoüÒH¡q„£²¦«¢¯˜b±\¼R°¨7ß==,më²oë :•d[Ng#î“F*…¥Ò8n+påyÝJâ»<ÿû’`³€³>V8BàA¤*€=ïJq)Rlà«Á©Á‡½(c©ÙZ â×�ük‚¡Ï¤ÞÉQ(4u¾¦"f3‰N�ÇÊ:·dJIµ§}D––(Ò\ÄjKE�ò¨¯oOÔ”é²ÀÕïÔÉ¥²W¾Ý©|ííþÙÐ�b,F?ѯjz¢(�hªTs;R­ÊˆÌ®hŠ |yŠq5d~µ·y˜k0™D UÃPÔŠ)zê:ÔöäªàAǸ1Ã� �wdeߥ!!o |¿Gz°v’˜0¦z×™Å$x69ÁÊHDžÅ\ÍV ÂÁàZÞ™ FÏê– Œ…†X-Zh¬fÔ Lî@ìÒ4áÈ!‚�‚�Øf]¤ÞPŸIpïOJ 5×�p¿~­ÌlÖ—‚€é#'£·,k¥nÿÅwî«ÿêbù¶¶znÙöÕE©Uª%×Tœ4î³Bx£û+¨’CKRÄf‰ŽFϳ¯‘avˆ‚ÈËÈœeùs¡E? Úùâ“3F²4.B†p>MœªxË„úämxÐ)�û]½™|íO6ËýêXëwÿû’`¸áLÕ*ð>cJp=ï8ùRlák��©‡½(Å~¡k¦ÔÝßH6þ .O } ÁXHA6&DõÃNŠL™…@,vµJQ $Âá¹n,‰Þnp%þe{â0™-\.°nÆM6ëqÜÆ0^¾j ¿—[ö�µ]Õt´“ôÐm¶ÖŸ~ãY¦F‚ �ãÕVó-¹IXî¶ÞTg® 7:õ“ÛøÁe[ë¤Tœøþ¢óÁÀ^Ñ�ޏ¹Ã¦y £˜£ìŽŸ}™ž‰»Wýô3ÔpïY|Å‹�iïé×9¶¶T ‘…åJ‘^Ã9ÚM‡¥2à–›_îÓç_YÞ¶7½@‰Ðè©s¤‚¦ƒ@wn"FÖç÷{1÷~€“à$Lzâ9x‡ÄË=‡âE6d’G8 «THGr�Æ:�ýÿñã!ÙÜÕx+ƒ,P² ›ëªzM|©Þèßjtæ1@´&ñãižØ0»is¦ÙÅ@=5`ËM!JUñ°åÜN ¸ñ€‡�á×[,‰¿YlÁêëZ~KÅ!»À6F(,‘ÉòP² `{.�£u DŠ’*Q|Õi ² j×g<·ÐvÞb®ÔOOµgE¡†� ½úÝ9.¬[·£m¬·ÿ@)hÙ(ë°ªeÀHU$Å7˜ú"a�öåÌí-Ò#ęɱ5<7½.pç=ŽÚ:tËá©°@—ލ¨y¹L¦µ¶­ªÝ–‡už³ÿû’`Á´/Ó›z`KFz“1ç\¹Llb)�Kš)͇µp]Ýÿ^}N¢÷Þ€.Û&{YŒj:Å §LÂ1Z•&� Êl¿-кÀ1J¦©½ìAc‘ ½6Öâ—*¯ �0c óé‚x7¸ "²; rEM’�4eš±™³vt>›i(ëÑÜØñ «DˆZ m¡13\F 2YñŸ®Šþ�—ð$¤®I~  "]N .#„¨yt{"—Ù©¢ÂÙÅma©NNÔ‘oØðÆPa% ®;è›S„he d v\ʈ9$ø‘(n.|4ó• ²°N[l=rf46¸q“ B#]¸i”å?ŠÃ!æ’�ñ¼|t- ðÙPƒ `o2³f‘oªÍ¸ð,1Ím9ûrêI­m_xÅkþ)¨›ÿ×_ýj–¥)ñJ@V2‡aÄe‡8Ô= �‘�Ü9Äà$b?Œ1$ $€Âh åæܼK cr\ÀXô“‡Â,T9‹ãÄú%"Ô™¹’ u£êIjS ³7tÒNÆÎé2i¡¨Í�t*k-VZnɳësë·õkI¯ù(š…jÿÿÓ ÌšÐ_A싲jO¿ÿÿÿÿÿÿÿÿÿÿÐÃÁµ€l™A¬” Î"ˆÇ†�ì‰Dÿû’`¶€S2T�aàTÄ*P¬`&A^xÖ€QÈ, )ç›!Éò"qÓ„ˆD3.P€T& œ³Æã₱ó·§íÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø$£ÿè�”SCíî9G0»?ž }{ÉEƒð¸l1%Ÿi¸ì­ŒBæPd—æDž†{ÿgîÚß–¶ö2ª[NéŒë«×‡ü½•ì¦77Q0ù–ùè6ÿ–íÿæå×Ü?™šéŸÃ®úwmtMµ©ZÓ²ÚÓäc %s6øúžÐШµ5³¼zßî´6 |*”HÖÓe¬bÌ©ðCÚÙf-�¤œ $•Ò) ëçXų‰õ-éTÿ Y„£)VJ™ûûZ£dJQÃ/ܔ٢œh&GPáÀu ¤ ¨Ü®™ô«ˆ*FS0%’3ÇÃÔWF91úùÓ/ªlȇ’IU�»rµ.ÊeŸ´Ë!¨òsCËsCú©`PNñY1#ûT5í"Wä»§½šÊ½¤O¹’).�Cÿû’`ŸŸ\ØŸa`B$€ç¼<õ^l½K€Õ ª@÷°à“•M‰ÇäHGýÂ’› L×¹”ËeŸ–éžC…ôÛ© -4$—_„¿Z÷ªPÂy^«2º«À�…ÈÍ‚ü¦j’žhnœöR«N $=œ=ŒŽ•*Ü6yjY~V2™W)Ä¿OÛìŒÎ¦s+Í+4ÉDr²þP‚ŽÆÕ JzÿŽ„�À;u-i¹µ¦©ÝÙ�s¡ -€\ä¬Ó Û0M¥ƒ4 ¢�ÊüŒ3:OE<¢5dèäê$Æ}×û” $þ[ú¶Ó1NuòZŸ‚ú€…&İ#šBæiPÇ2`åÑdí¹mž/íó‚ïÊÀßAă¶Ži~µ)ã=_š–Õwµ[êg!®Ô±Pò.�6dh¹‰~�iþßÙVÔ§ ¬¾÷}–º+¯g60R) hõ± Hh$%%ÿ"E?tÑò¢Êíeí­FCüD莛fá÷¶f™¡©ƒS�ûö6mŸ( ìçõ ùuR.4–ìŸl/ÿ}m{Wÿû’`¯ IÖ›ð=D*`=ìJ¸ûZlá«€î©@÷¥(üE«þ� ºÉV¬80ÁY¶–êd,mÊÙy¾”ÐSrF¥2g¦Å®ôz¸¦ 1�É•­”²ZGK7F»·OA.nÒ„¶Lö =›—RnÍÁvu0õ8‡>Ôç¹™K*XìcT5^‰J=“ ½Õˆ(Šlqë;¿]ÑO´µèÔb&SCÈ»Ù, ô:B…NâFªå=,C‘`ýNQAn:Ü¢ŸLŠhHi:P±¿‹ãý¨Ìe@‘n²•8Žï¸ôÓ-3?òïìÓÔï³@ _û*�ç(¹ê"Ø'™GѲ §»vå� k�j¦«r1TŠn ÓÖÒäõ‹<ÔnÁµh"ô/¶¥ºÄÓâG3eáü'4.£ÌLû.×ëc¢=ìÖ ­ßÝ_gwt�‡aƒˆÖ;Í¿þc(÷t½Z -hXû7x¡”Æ–¤t‹³µ‘ A®3"¾E’'Àäq‚ Pv��1ð¡´ð· ¾¡¼WxÍøÌD0 é}.¦Ê¾Y ÿû’`¼€ïJU›*ðCÄ*@aìJ‘1Xlà«Ái€÷½(k;×½³+û×ÑÛPÞù(’ˆ†a{…Æ&è_…Æ‘r¿t쪎 bò„¼ab%,It;9Ͳ&³'‹ÇlLH¢ÔºŒÒF_F”¤f5 ¥—ߦ¹cñÞvÿ ·ïNó-ÃÿÚc4µˆH“”ìŒr’”ÿÌó5O#û¦’WêŸ÷™ÝLpP1I&¹ê¦3�Òr ¾•Lb<%h;Ô‘Ž“M ËhîdCUx@V“`˜F¶¶²¾9•ìÑà³xO% “ý6�×Ûõï6f®m7M@[%VD¨tÐB*•…PM…3d5<ô<ÒZ„e}Ì9PcÃbíq¸8Ðõ¶m=$ð/DŽc8äƒ'ëAÈua”ÒHœü†Às„`vÓVþ­»„«0r‡ #hþì·dÌ{ gr>Î^ÿÿ&m\â¤>¨ /è•  õ˳Wí ‡’¾4`Z5’&ü¸šŽ®—%¦ëyÂLP d‚ÂÛ†°“†OÎÎêö0M –àÿû’`¹€ÚaVrF$*`=ïJ¹;Tm`KÁ�ª÷½(¡ÔH5¾[·Äæ=2:ÀßÔx¢Ä¯4Q«¶Œhð‹óp§Ú2Çám•hÕ&Öj$¥ÒÓç ß•¹MûóE-µ_>)•�V—�ÀèÀy:V\P\vm‡¨¸®§�ÿ㪨÷ÍÅL$Ød÷qû¶Ã¥±ö.L [=õ P.Ã'C&˜Ý z®úƒÂ…˜_®ÜÏA†J°ä8Htz®O…Êèz XɶE8HZí>Ž/¢N)g×€«†�QM>@•Ž´ú‰�8†¢7�çÖå¡ ÏÊkú¿ÉEŒ9‘lE‚C‚ǃ²¥xøˆìd'(xtè`þ9Ì™©¦¶Ö²r_\aOH+HTÑq• ‹õîܡŃmÏmúæÛÕt.ðE})ϧ2ão¢B§ÿ¼ÌÖ8 %?³"óÿÿÅgPEf7Œ¤hjþNi‚Néõ×ß‘€<•€0ž»­]JY»Ð˜Ö0!{âY±G}‰°x%×q¡æýŒWÜpù^�:G’´Ð¤—ÿû’`·€Æ;ÖZàIƒêp=ïJõ[XlI¹�,ñKÉÈ?×ÄAÖ­ÝÿêTÚ€�8ʱûVÛÿnßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèxá( @ÇmȆ”šY=/wú£×öÔ+ø³‘˾÷¦V`ž¹ôI®&1¨“ÛSt¹ö•5o{™ w*1¼îªÿßßÊG4®›çÿú¯Jÿû’`¸€�W5 kr  Æ´ á[i\5€  éððâ¸Ù<ÍDWu7¦Ú©³®k¨scr|˜¢Îöñzh ”‹ªÌ„%a°,ìʹ�Ùì¢äE@ —¡©ZEâx³åÒB&ð‘†LJv¹­î$&#s5Ÿˆ9 ýåû>° € öË.‚¤Á�ÏSŽ<9CÈ)%«ý§ßžþÿ»›Ÿ»òæ¶�F!²ÃFC›—Ò¦'’ž(LþÇQøˆÜ»—Öe8ýÖøºâé»þOÔ³Ž•®o|Mó5ñ|­bYìKoÆ»8¡cd‡¯ÚÜ{wŸ4=ÑÊ1†)$'PpLk²ó¬TIÅ`èɹe³UÇ hòp¥%Vô‘õ¡|Ñg¡`ŠÙL·wU:E ( �´ šL!-B×jçàF N@œ¸jžÝáËEŽi®:ÿK¸š€¤œ0Ž)pd Y#ª¢k ؆KïÿÞR‘úkxúÓÿó›ß'±ÓM¼öμo¬ù\¹–ÿwÿþ‹»ï©zùVè¼Í;—Jª*¹ü±žÐ4E¬6€ÿû’`’vJÙ¸ÆZò:ƒ*p=ë89ekD ÍÈûi€ö!(¬,4–¬“ãaÍ`Nù}1ë‡%-£Ò&Ð �½°€KµU;¿³$>Ç‹¢ñGh»‹þP ™U¼/¾/¤�†³ºÐ&ŠI¸�ëòÁ[Ý9»]<Ü8°ä’¡�F‡Ña²,é-…Æ'U>ü뜴ÝVÇ[ªv³Mš¾¾jãÚ¥µ¼l¹¯tÌÔ|NhñAv�$÷5’¯¸é'j|WOH¸5”¯Çh‘«Usâ2*æL‹ó°àËY¦‡66²§#>:žÂÀ0â 1J÷$¶q«?݈ûÔà´ßÿB ^Ô×£n¾,(ôk~çw�q[@ÛP\f¡óÚ�Eò,ŠË‹ÇÇ,Æ~!EHsår˜(‡�,u�űƔáÌ$ÊÔmëüF°¶°Z_Ou\kÿÝÅÖ¬ÓZÿtÝüPúaêªÊÆØe¨6ÇÜî®.”Ëp( ‚;å"$86Ød ÙÁÍZ¥�ô2vôÙð³mƒSÿRÿû�`¤…IY™èZð>¤j€=ëJ 9bì% Áª@ǽ(æ–HÙSë1©?ß¼ÉB†@«µÓ·¬›þÃ#& F9`„‚k"iž»mn%åÊ0b!k,%’®>r>�õuSÆPi+ r6¤&e¼>N€úVbÂ(õEa°Íy>'ïv< ¹"11ëú1•¹ÍÌ?ÿÿÿþ‡£ì©tvÿ·…BIM·=�§µ—¼ñ3ˆ°!Ât~ˆª­8öFÓF‘׫Ú1_HPÖ£( 'XU¤ Àv�ˆ}÷ĸé¥K=¿Ó¯t|ÿ÷Óbëáxµ6µÍÛ·š—E:*Ý'TmÊ~‘G©gO*o§Å2 @¼4²°¨N É…½@ZÃ¥ ¾Œ.­.ö{ïí„Òæ?€(,-r5€C[ä'fçÿÿü¨ÜAK=�"O¶®€SÛ¯‰Xÿû’`²„=W/Bà>£ÚÂ=hJ�é`l=k€ô�+Ìt¬à qå&ÄP¡­r†2»€GB!Ü'qoÙ%šL”Û„Tø¤AŽÓ(UHL–Y ÁðÿÅN‰‹mS#Ýœ;PÖLª,| º˜®ëû¯›X¸¨à»‰·§‘6“6Ž”ñ5¤Ç–‡ÚLnñVŸôé2f¡·Á Ø& 'GÅHÆw\K@ufq#³ƒ¨àœ|Õ›/m"4j´RY¯}$d¹WCèiT–c' ¸ºnU‹wÿÿÿôæ™r”žHGø<%G”Q!0ÐÎÁ¢z\*ŠÃ ›ã°n ™‹¶zÌ=¹\wäÊ’_`Ñ%•ä¯,)ˆµ´Ù副ªë~§2¯G“Ž`ø--1þÅ|Õ´ÅÌWú\¤®éÕÿÿqÇ×Ä÷'½þÿÿÿþŒB_u}ö°2ŒÛ«7|e·›¹”T@ßÅÊ2ã=d¥™mIZ¤ú�–£ 㲘•ù¤îõ_)ÈW<³;íâ=±?ôõ„`¡ÿû’`Ã)KÖ›XBðAƒÊê%)JiSVma Á)�«h÷½(RÈ.u;F7»ÿÿÿè©z[ÿ ’ahŠHäéþx��Q ¯/Ór瘪I.½qy‰l]ÅŠn7Ùe‰¨L²e­RS³U�“𡤾7–¸ö625U9‰�*šÖÔ’·dëtߤö]$Ýhº�;eê©HºªZ®‘’G5E õ(ê¸b"S”H4ý¢à�ŸÑ”XàDhÝ„(Ú>û†²Ÿ¾«Öžú¡� ú°:þR<‹+'ôòn Ó†É6o·ÿ+£þ§Ò—h¨—ÿ¤FÈ+9lå‘C%cÚ¢…d5mKvMO·ÖÂ*ÛJçæ` ·e4òÝÌÕ˜Š¿2¹l q‡ TB mMË÷Yêe>¢êmµ¦*ö¶©ÒÆ7¦Úp¤Zóˈyíý÷öú}][�[æ6Þû³‹ó}Üÿ}ß`ƒ¿âQ²RÊ$ÞSp˜6|è�qŽ´IqЩÄâ%9“'_*„ÏJ ÑW¥�,éÆ0—ü˜‹úáÿû’`·€óAÖ8jà@cúóˆJõZlak‰ 댔¬à�aïs !ϘôÜÿÛ,• $Ž$4|bôuÐì°¶…Â£øêo7^UM;W‘žB1‹j“³2™dÜ 2ó4BøIFw cù©yMgIÑI•¦è®È1ê–‚kRl›¦‚,ͦh‘’™I:ºÕ¡ú ‡@dd¬©èÝ  E}mÀŠ¿í«W�Éð¶1-e¯./(Àqž‰fÙ!);p«ÎH‰aB—¹‚¹Æ5Dóû±<‘SaEž€;½W�1/LŽB—ÿæ•6²”„BJ§—èêÙæM!Ò"ÝZšs‹öeŽ€ØƒÎû ˆ°&k¥Î{p›†2Óv¡�édr‹²·÷Û¬<ú>r¡´!3TwS-”Ì\Í„Ñi©�e¤¥Ò­jRV뢩‘š)¢´^´•VêjM­ÍPÇÆÕKBè=Ö!JG-_Ht ;û!uj�/NV>”Ž˜"åŠF­]b+«ÈpÚ•SY­ Ríjº«nªZ*¬êˆ¡üY”ÿû’`ºã=ÖXjàCäÓ=(JðýTme«� ‘kLÄ¡(ú¿Ç­(¦Þ Ò�¬Èãþªdª bc-&1»€0”sm “|L)ä·¡è›–“Q}H™³lø.ëuˆ¹¶ä3RLé/óŽ•ùòàÅÐmÔ¿•�w�ž>˜v[žcY=ºz¹¹†Ó¡Œ}^uÇV¶Œnºëˆ…Á�ÅMÄÐí3‘NÍ`‹¼rPÚ\E ’/Á دxàjû#@BPÃuUVdH;6ä͹¥œ$Ä‚Lc)ýDÈ[z·wÐ-—Ê¡„„pb±£—h*ØÜ�"DPaM¬†#iRÉX!ŽFi!Ëópj~5z°†¤“ôÏdÄFž;R";”ð`‹¡Ó‡u �È-i-Ú´SBƒ3)=*L’Òv®¶¢ì¤ª¦O¯è £'Y=ŒoÑ,¯ë@‰åº[UbÜ$ÓóyÈ^¨§SÓ¤òƒ C&óJÆ0e¶á,�Ѽ�‘AT‰Àd  ¿³ô™ìÿUnߪ�ZÚÿû’`·€«5 ÆÏÿÿÿ¡oüÅ?ËA@ÂC æ‚:ŸÆÐf‘rb€aÑ1†UUë1Ã7? ¸INHíæF p•6êf.,7#à€"H€\€´ëåF…\òú:¡Ûn©oç•9LCÏCUï1u1Sþ†!�0ò‚6þò.�x TÛ@dmwBQû³`€v¤³z¡@1ô†—¬°–5*& §xïäiQ2S3~tŒšÜ¾6Ÿ«–6b�¼'?á'“ å&N“ÿÿÿÿÿû’`»²?Õ8ZàB#Ú£=ˆJ¡Pm½K�jŒö%(�»ÑHþŒ jƒLÒÅ-8¾@xLq¨%¥1‚…¡lXlJªß@a!°#—Cžöˆª9ÎÒ^oGf<¢uQPyŸÉ¨æ ’éq½VÅx1jª‚/yKU܇^ͺ;Ç ÀÔôÕïzçø0‡xBÿÿ‚ˆ$È‚0�##‰w†P×þUU@ßGTV ¤0$E˜>CaÁ`¼ZJO¿ËÁ‹ò‡/O&]ªÒê©|´]ŽI…ñ¬©SþÓ»Œê·//I È8—ìS@ÎòÔœ1 ó 70­,¡%ö5š� ‘ÑŠc/†%¾åFnW‰(öVf¡¶L£ªJ�®Un6Ó¾ñ' ÈæH HŒh¾�Í’7UÔŸMw½oëëRÐM�²”û: tQ_Ý*×.ï5EÇj1‚�˜m§tÖB¤nm€ÙZ÷ë( ‰¦!BÀ%èÝd£è܆ÖW>UÙ«'p0¯ð†%áE¢íy½¬±jéáes–êó;–›ÿÿû’`½ÙITOðD„�aŒJýPmá«�’éÁ‡½(5™‡_þÜù;Hþy¹?L³l¡þ3ÔF‘�Oh`æIÄ0Ðøèjކ†û1�ùO*i2ÚÚ»,lªB?ÌaŠhªMP²iZuH 'fY.¿ÿ›’c´©äœŠìž¶ª˜�•UÜBvfG²¿é,ÂÔˆ-LˆoÿW¶jŠ`� ø¡GVŽC»¥JV2cÈ´ñÖá®ýÍB�/-�1›–‘ú¡1h®Tƒ¦ÿ ´'L�YP²CÐJ¨^$³êVÏ¿÷.Q>°!âÈ ”¶MsÓ¨¹[¥õ Ùî;ƒ¬m¤G  ‘Ìàfû³ÐSùM¬\˜qjÞ”Éã”V™ ¨,”&e£)3#Z—HÌÅ3õÒŸUk^’ÚßæI­$�$›-WmªWV´Yn雈Éÿ¬TqrÂafëì/c«~­f¸ßrÊP ±=‰”¿ ÄÐm²#�¶*ÕÔ¹n›ÌÃê|è}P¡×¥á—•¥º2ÉcÙR¬ÔIø±½·ÕTžRŽÓ{ì·o¬P(GÅgÉ4ЭI›!úÔè¥vE5ö²fŽÉ1ºi ‚(¨Ôã3:ÓM ´Ý ÌV›&”ø\Wn®¡t×0ÏÿO_]‘ðA=Ã(é ¶\dùe³ßŒz¨"b ¼qcµœi�8”µ¨�+ƒp¿?µïRI4ƒ%ÎBõo¯ô€o%aȳ#1G�WáãB‚Jèé8 æDÎÍ܈òÓT‚ H%Í(M?àÚ×R²e�v-!¤§¶¸àífGߨ §T·¯Õ)gaD�ˆ—w¾Í÷ñ59ŠôR`ã‘Æµ¨‰÷»©˜Ò²«—ÿ×ÔŽHk �)í»ÿÔì-'œ~Y67š`0ЦJ•gMõêJˆPi®Ÿ£ÝÖ„Šu )fo;sW/ePŒ™Éx8BÎ+M¶º=mäÐÿû’`ºÝ@Ô›8jà=„ `=éJI;Pm`«É©A‡­(¥ÊjÆÿý@ ¿LElPÕ®€9‚]Š%|v ¢-`ÀHå …H²ªoΤr‹ùA°¸‚PH`ºH.öÒ†£2™p˜&7 YÚ×peH1jé§÷åýMh%ÌÈ5äõSÒ¾w@¶F8&ßFý~ÀØ8s¿©hØ�L>^[ ´Y4À\FàGŒ¹"S!Lˆ�¸¤ ãœB�4³ÇŠB¸G—ÅÀ@Ï…âeÂafËo>êI~ëÔËûÚõÓ/T´¶ry&’5­è(Á¨è572X ±ïWø`À± Çî‹=1ÀH6e /];G‹>ƒÂÍH­oû¾ÿͬÊj0d²hØNîMÀ^]>JR_…46œv£¡Ê·5S·ðZýo™ÿ‰©æxHzdÚ%¡ÿû’`ºàMÕxð6ãz`aë8ØùVu¨�©B²ð~° ku¶_§ü‹�áz'‚(ŒÄ�nLs‹eâ‘dr!°œ` Áx=0Á‰ ãÂãòsÐâ·*q¨a¤JØø·(gR†-‹²"K¬È†©„¬÷¹:ŸDC˜¹¹ìÎuó CÍ6îÇžaßóOûæŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€m”ƒþ ˜Æ@ €@‚€`È�¸.6¢C­ :À³…΀ÀK>bX<„”ÔÌLñb'äšd°ºx¼,L�M Îth ZæEÁÀl§t™Ý“ek?R�Z µYûŸE=JS:+»3¤îêAÔŠ ¢�Þ‘¡ºh%ÿ5M^û?ýKÿÿûþ›ÚËÿÿÿÿÿÿÿÿÿÿðŠN2¦N;@´SU”«È)(ùZÔÉ ˆ`¾‡c")Ãòc„¾;S' ›9º3Žó#†¬¶ôž`³tÔn¥³W÷þõfõÒeLTšL¯i¥oeÓ¨úé ¤ –:‡~%´\«“ÿû’@¾á�ZI@˜r ãÊ4 ‰\}–€w kϲ°Œ¥JŽªža H‚}å²˜ï¾ØÜŸºC•°&ŠFÆ,P‚TvŸ\U4ϲy ¢còM¤;÷þÓÓÅûgû«Ž8ÿ�Õ0÷TÖsï©ß²ç¶C�ùÛ¿*.ÙpÞ™ñ[ {"v ™sÖËòctt;õÔí| \ ™*LÙReJSµ¿–Jõ Û™Ê=Z•øÓµ†é³×?¦=§´µöê„)�j¦Q{¥ç‘òlalÊTE)ÿÿQc�Š.«Ò§°�D‘¨½ƒgÛ\ŽÁPêñ?žEÑ]ƒEZØ©†¥Š×3:{°´¾ðv)·à,¥÷§Je‹¤Æ,ñb¤V�k,9û³ˆ:?ÔÀ[߀ŽÒa-(Ex³·'‡_ŠhÖrz f ÂxuIáLÊ®^”>B²SŽ»W¯cðË�Þ12y$Öä´‘Jœê¾ç==¿ÿó v1�˜$»ß²vöb0bçC×ÿþÔ¨µ¹•”woþËâÖ/@ŒKצÿû’`‘€›NV8ð>Ê`aïJMñ7Xm`KÈüéÁ‡½(¥êi3`é|ÓRƒñF-ì›[�ù¶íŠÇù�ã5÷½:Éò¥ƒPÏ%FO—Å£cjdÊê»Ä[³ÏôV ¶º©‹š3ØVÁC@G•üÜÛ‰óŒŠ3È…à}¦ôì‘ØL�qmQ„´r�½’ùF»r8§_"ͱž:qw‹ºJSQ4ußÿè¨Rµjˆc‘>qh½Üêòn¬‹ÿÿåPh2Ü$ë5Ü(ú4\EŽUx³Ó!_ä#ðÆbŽ!úA^ †RÂ÷'H³Ì瑆™°qÙ^ Oˆ g˜B†9Ö~'é ’°l¹`ÉÚxÃ� …¯.Rân´‡Zi±5›ñàâàdC3*"ãðHˆj˜9L!f”©"Ô¡pº8>Û–ôŒmOÍ=y\œ³®C"ää},Õý§œè×…�–R™Œ!JéèêŽ=çÿÿûœaFT<Éê\mÔ‹öJöIž‘¨#šT1(›�:¹ ¬˜ZnE3fVZÿû’` €€LÕ›/ðEcÚ€aïJ ù5Zlê£#Vžñl ŠÎÁØ¿D·îˆ£²ÿÿÿ¨3˜ƒ2û@Ð9Ò#ÒMÎsÐŽn’Ⱦ…&¼UÎ`¿]“:!ŒÞLYÙ„•U=•ÃGé+G7+¤­a´”úÿû’`ª€y\V›/rCƒºpeïJ ýMZlàKÁŽ)Á—½(Ñäʰ¦ž&"Æ8p×_HºdA“àc5 mÀÄR“ܘK=pNýg¦ÓH°€º`¨�`ÄÄ}±tkÅ7�AB�y[YO™n¦Þù[÷JßQV¦¨÷Ë¥Á )–~·»0RÚn•Ä©ÊGÜFT5ßB«£J·ÿÿù\@·j÷ÀêÑ8H5ž§t„—ãd‡•©x±6¶ÝJš`A=f�ëv ´»†Dµº'J‰šH£ñÖ€MØÉ`QоØ) • t2MÂÊ[£nïË�جa7®äKFGRÝ©wå9NkïÓÑ[ëL“A–êK•F]©ªõ¦õ™ïÿÿþ;±ºË` Ö`ϱS@i'ø–I0”ÒQ•ÐýJ¾Y”èSžq˜ðv˜±.¼�kdÜl10žåíÊé/Y› ºûMá[÷õ¬ß®Ø×R!ÿWy…Z}´‚i­²™s$‘PÁ®Ã�´W— ¹–(³ŸpÝÇBº~ÊòVSXƒàÞJ·V‚ë´¬j f¥2Œ+Oㆳß÷þÌÞŸ­(⌦VœkÛi§¾�®~ÿÿÿï 2^×KG9ÚÍ’¨•?æ~‚õиÉ!T�öâ¤$Q TfµpJŽg6( îe@ß[óy†îüÊ®;–rÿñ‘‘.0Ãw�98TŒ@6žœÿµ?èÚÒJ˜`PÉÍÎ $â*BÁ§š$uëMâb:(é�F¹æ lϽ#Úå—½>aè:],šr^[²krÅмäËï;ò 5ÈBÔº"¶ª�kK#ÅEÃÆU+‹B,&b:5f-:,®¿ÿÿú�P;f,," UôÑônÊ” p§h”[bÒLâÁä2<è˜çÄf+`“ÃÈ®Lp«÷†^’împGêð²æ3øÀKY‰—ÿû’`º¢[Õ›8pFÊpaøJ�3Tm`«Á)Á‡½(wÌà€ý?»©`ß&F;ƒGJOÓÆ !)thª&Z—?.‹˜¤‰¹7” qˆË=ƒ'xjÂû».änNÃi%s�ËH uÈë­+·+‹EÅ]Ð×xæúv½âhG qVaã�Bcv¼è_ÇÇ‘?ýÿÑÒ,{u¬Ã̶�þâ�6ȧ“u9m i “.�œÌšÌ¦Áî]˜IÔçaÇÍDØžgI†èMÑ1‰—©¹Îƒ¾Ç™Äb®Xá2Ðω=OîJ>*’ÆT ¸ë€Wæ€üD¨89„â÷Ü3‹àÑÁÄ`¬áƒÞnbVòºL-­Pbî²Bª¼Ëõ)ù ¿PÞ•0¦9-nò ˜Ü¢¾#b @™Æë1‡WZ3y†yŒ)AôBñ±âa,"Sˆ2üô=¾iwCÿÿÿîy@jïœï«øíUýl3¬Hq5ÙëH€ÙÌãçMÔÚ!e+ a2àhžY¡Zœ?y.[ˆw¦P£†ˆ"~F”EH`ÿû’`ºõLÔ›X*ðD£Š€=ïJ]/RM`ëÑ&iÁŒ=(JQ†Þ¼C›_[u—– ѽ¿P Úq™‡= %6È—oºMm›RxORå2\U¿&�l¡€1 ÇY=Œf%¸¿îŠuÍ'oØÐD#›ž'–ê°ÆW[ØHdèëÓÐ8�ÝF&yEgB“¶,¥Ü²/¯u|÷Ç"�çëVV´ýÂ6öu«ý_S;€(xY*U³q]™î3âë“~FÏ÷å)ãÖˆ�b›4úTö`=ÄŸí… 5):pq’CÐÖc†OÖl§�üô×ð�}?¿Öý†ê— **—•–ڽ܊WÍøB [&[þ‘6ª7qÅÅÉiì²Ó—rœf‰R§PþgûwÿüÆoŠR�ÄUG0 µ«†j¬(Eg¶âÄÞì$ž¤lÎz¡n–äÝ¥¼ªqu?.ÑÒ• CÚ…‰-ÿû’`µ³=V/ZàF„ €cJ3^l0ËÁ,Žé�Œ=(Rh—Ÿ± ûàž8‘¥Kl*¢â�Ígåy½Gt€ þ­ƒ6¤•y–†{>Ýw|±óv–-‰g!”)ðY‹–ZËz’)fÿ�Ý«w¶³e÷ÚªÒ]>4¶™D¥OtŒ[Þæÿÿýgdé2ª)P{…�ˆµê ƒëlL·QbTgJ‹ýÏ 0ØNâ *=�K“¥4ÒDàL§Qp …7•It/Pð\àÒa•ËPÉP_)++8GŽ¢‡+ªÈò\ĦïLï×þ›ïXpú®‰}‹t‡ltˆ{Û;Pâ'Å i¨…)ÔÚ@ä“«“Jîd©k‡š¦óÿý÷Z2¶mÖ`Ï>~@¹òuàå�9­$â›2?Îúßþšã ÿ›M+Œ|¿ÿÄ$óáÚÝý5ÅØ³Ñ´ÉÏ–'¹mêþ‹Þ@qYš@ð¥Ì`3bÃBc¦à¿Œfe)í •9`ªµ¨h• ëž�~VaKu˜0`õu˜ÜBvzYéèÿû’`¯€)BYé2àH¤j`eïJ ™'bg ËÉ!�©�‡½( ’^*ü#èEm¤Ú�an�³�\Ö¨Œ è>™¡˜Çómôìw+ð›Žè‰‰9q×þèl%g×1ŠÇ²c—7P{/U~ÏŸ0&ñ$‘Ö! vgŽžRžŸ÷Næa§îgšÙW3oúÿø¹ê)“.[ÅVŸQ)uÊm—u"éú—ëRñ ©C`‰Y�4´œ´‰‚¬½í¢yEú$ˆ!J{Vñä(>†ƒØá´/N ˜„ÅU9ê¡l9 ¦r)‰„¥ß>árTºª·½J_‹‚F‡òN¶mÑúUa5†„(â´Âð™gž÷†Ç=5™)ó#•áï5Ö½ÓŽjkÜpvŒ†�h`äÓCá êIÂÂìTYÄ"Ë`Eƒ‘Ä õÞ¸fŸ¾¯�‡Ðù‚zöˆéãýÚþªÖÚ­DGÞôŸ (Á6°�Jík÷G˜‰ìy}¨…ÃSe¤¹{v:Þ�·ËŒ‡tU³ t%Nrnò‹ƒ=ÉùôМny ç˜MI¢-ÿû’`½ÈNד ZôIDjPeìJy=`l= Á�)�‡½(}ó"E[p0:§ ;@¾*Ñ…WGå²ÕAP˜q”nÈ\ËÆøq‘³xN‘‡Ä]³:q`mt‹Q‡ò¡aÉ@×—Ôº¸xéÜ{«Žt[³ÖÖšŒÏuSùmœ9$´¦²$LÊ.·1*Iª35ž›ã•_ 5?‰BgJƒƒvèZÄ¡¢G…žÍ»éßsÙD“aäáâQG:–|d[_p@_ +¬‡¹C02 J%`à ƀÞh_àØäï%aÄ”+’ÞÄT’lSŒ,B˜JÌp©ÉC‡Ä^EAÌJä¨3†Û²~B!‘•Ê”I¶¼üHY-ˆ!j³ñ�­Ø2 tù‡ã'Úöq†Ÿ*‚µnµ_¸<< ­Ód¿z_¬ír¤Ž0QÃÂC…¡”i œƒ æ8š˜TÜŠvyöÿòÐÊDb º®7Fþi)w`2 NÉÝ…'Òð6L¸*XÊhYšRüý¶ö›*b©¡ø(³þÙ”Ð$�¥ž5¾Õ`!�mÚÜÃÕÿû’`¹¸<Ö›2àCãzp=ì8M;ZLà«Ù*@÷½(ÜrÀ»ì�cˆç^d0dª¹¨öÏ¡4Y”/G€]I2hn“M—KšÝ+Á–0¸ÀAUÒ†L½/¦q¨-õf´¬À ±%à R1!#2’Ž¢£º”Ûßúë])¤Á‹Æ¨¡;MÝ%¦£ˆ jÆŒ‚¦Yz±M«ïÿÿ«ä¢RGwk8…÷ÿ_5llM»€I¯F¦bšÍÆ[wVmõ!͆bzyi~1Þ¯ /�Šy‰¦_Ëv”Ñ:yŸ}@öU�¼¡ø¨8²€7bÝ�ÃÃFrŽÐËÂ}¢±%b0l©Û5z-/#€Xé¤Å�ªÓâ r�®C2Õœª¥ 0 ©¶ƒQ¬Á‹ß˜ÂÌ^¦ŒQÅ­NÙhGætõ…ÿþSùÏj I�€ ÁNÚrâŒqÁ2ýê›&ÑÿÿÚÃ( ÍÖh;ïÀƒÎw{ð´A¢$ñ ÒÐJn“¥!¨O{tN8ÞiK‚Ηmê}pO­B(VcÖòN˜ŠUb…åÿû�`½ÿpþHS(•#ž—ÛS–ÚOe{™™0滞*ŸÞ�~�ŽPß)9`j+788,6Y#ôšsó ~Zš·Œvˆ%“lé°jr$Sk7®$=e(…\~êH[°Fây�,K#²ˆ,è_Ú’½i·ëèÙª4$Ž"¦ZnÚÐjh¦l‘útÒœw§fšSÛ¬°°œ¼`ÏŽGWÊ;‰"xº´µ-Ö'ÎûIËÕMµ2ºF¢�ÙäU:�B`4ö¤%oW?CüW“댱"Ш4exõÿû’`µ€æOV8*ð=ãZ´=ï8!Xma«� *€÷½(Yk’Õ2¥*±Ëp…¿dA-@rÓ‚6 H²Q)ð`+A0áZÃt6Eø? îV{m•ZãoôM1šbÓW²&O“„ô3‰Ñ]¸@SМoßœµO)U‡¦¾9¼†Wëë,a„G LDƒÐÊóV¥TµY ÄÔ’O9ïÙ\ÑPLXMìè¸ä½ÿb¾Vy èjÜUUfÓU9ø&¡7vÁ”ÁÆ‚‰Sª”ÈÕ,Ç%Å—­É¬,�¥8ø]”†XCég6ß6X€Û�/Ÿ«8bÑ‘p‚iC 7h7jh×l}µ¬u±i`^uO·õPX)@‹@¯ ¸êßhu›%eR& ] bâ’ëuÝONë‡GýÇ_ÿöýЂö“O˯¹k#o5òÞ) ‰¶‘I kÁB¢"ÀÐàn»@¹ã>ʼaxÓ’ú¢Ì±2³Îá¶'Ò¶33<Þh怛 ÏT<ÁN9e^´ûrEøÀ:ï&òÍ~)qôzVÿû’`¹JÕ›x*ð}oÔÔwGºh*æún›—4A “…ˆ±Z—Fˆ|LA!ßÝÅ(/•ó©‡âà ~�ÞÓ?(‡à×&!×TxÏðyS¬qŸ-‰Ø(K5\µ¯èºÞ©®Ö™Ì»:jAŽÇVô§?j‡*"XS¸  NèÊ_&a0îoó;ãIŠ"ú·#ÒI¼hk/xŠi€Ð„NËIƒá«pbR<ïAÔ7„å�D¬7ÆXdÁ�R“t•$R<‚ÑOs«µ52=Z—ºk´êÒdú½–è&¥,Ù�Û´2‚,sQ!t2¯ý $àrÌ3%Ã@<8<—ÖGUV2¨º.ËÀ´ßÉ0h§ˆÚ¨ÿ‡„Çz½ÿÿÎ¥��BÕzÒÿû’`¾>S›XjàD&Zã-e\ˆñPma«�«Œ¶!(°ÚäÅÿ¨¨[Êþdª8u\t ä¼®‰AÈkÔôC©Øê'¨Dih£"$f׉×G./¶2ä¿PìÐðÞõËKô A褼·µJΤÏü»ûÒ²ˆJt¿³ÜåuÊÞT{15¹‡Lëê¥j'Q{vÿÿz™‘ÐÌß^ê.M~•€oó\ŽCØa ¤P%hSé6n£NYY1-p´Ò£OÛ�-LWiõºÜMvÁö¡jp£§ºð6�7ºŸx´¨ \Íåz}Ÿø¢À'ÿÁsœÐ�8ÓFA¨YÀÃOµñU–ct‚6Z‚¢h.éF¬¤ŒÂyG—Kɪ(û^¶ß¹øû¾õÎÖnk ¨Sü|qИÆÈ¨Í5½tõ§­ïÚïUHœu3A-™6_mÓdÖqÓM�¬ÔEâÁô®—ô(QªÿêX˜¬Žwí⥸Fc»Dêž9ÿSÑN÷é&�ŒšÒz!¦&‘¤ñš»É Ãb_Jq"Ö¹�óv§Wÿû’`¹€¡SÔX*ðH#ŠÃ=ïJlõRma«� Ž*È÷±*céÿЦ �Ÿþi-OB™)â˜-¶šX…R»VIFÞ«3~°ìêU[®xð§ÓÊU„\V†ØR=Û¿aƒc;¹('ÜÀ#Ô“.SvM6]M²nõ©&kQý.nšÐ¡Mt}èY–’.É,Ý’MK^³è¢& “½®Úp¦Š@1À÷àˆA(ž‰HVÛé°»+‡D}HöºPt¬ìÀÚb FUQ›3ä·›X€óT…ŽI+7Ͱ[§rÒÿ"¼hú@—¿–’ gG�äùvÓF‡`ó#/ ÒPÀñ!qÈ—�«^FRìGE�ˆU™ PA0ä±^?ê=nôîÖài „,¤aYi=E¦e«¹ä»§WÛ½©»²®šÒtßf¤Éµ�7[Åš­ä¬“gÁ°Ú�ÑA{ÿèŘÁѸÚÂ4€Ä;˜5éìEl&ælí�¹M¿3iô̸�á©–¾Ô¢ÈÒˆ¬@P=!a*ZøÚéÿû’`»âAÕ8jàBZÓ-ì8xñRlâ+��+ ·¼à½_ýe-X¥þ2ÄÅÝ-c'¦²¶Ùi�a¢a !6l–"â2È.Ï2|:Xit|¨�{ýD*"‘¦ÅÅ<Îá 1räY“I„ªFI$Š“gv«S¾éÖ®Ê^¿1FÊ­>·ej¦ÇLé,Öí<îL ³Á¾µŽ.ÃðÀõ\°~³a1RC(¦0Ð홓Ⱦ¨5ìÎðŸ8cD`Z Îö¢Ôi™>Ô:mÙƒH¢Ãeù;€P’wE+µ#'4œ@¤öÕ$öaÅ,Ö(³ ð: 24ºä§Ç d‹±~Œ�Ö[+[i¢Ü›ó‡]Ü»Lø7 ctïÓ»‚bì($`…À^¡5HÝ‘i’�Z6­ë²Ô�¦ß»© i¦šÔ³7{5*–‹{ÌÖ\ºŒ—HP({TÑzº’%  ÍöI|Ò6”dˆØÆ'eúèS‰òêø E‰Íö�-¾Y0˜#u£¥¦Ü¢?Ч œ—otÀ“5ÿû’`¼å=T›OjàDj’=ï8ÄóTlá«€ö�jD÷¼ãÿ·ñ¤ ]þR£B±Á’�‚I Hd´!ðऋ´ª¡ï4$p°•»*%-wýü‹c’ChèùQ;ò %4‡�^]Hß t£Œ}53=k$‚ º÷RÓAO©4Ôššô dx̾æe…ÃjjfÒS šé ²ùóæ 8xùAbJ8wÕ”<Ҝ鈽ÿ«Ý‹`Åbsf=’� 5Õ˜.â\-¦ò¡wæ^l¶w'HŸÊåVªõG‚LðÖ6ó;Ì467ãÀ?ݼ¥èbߪb†3â<.�ÛÊC„Í4Glå�¼P¥,V» •©Üj°! �Uoη:&‰ƒï=©lEð—T­jc?æ_…žÿ9Žû¿g=ŽGUK-ÿ{Ò΃ˆ-©Û­v«PAJ¬æ# ˆ Ã£ÿê�!A0A5‘Ë�ôj«8ö"þÔ«ð{f¤Š¨ëL< ‹fH*�þcåÉBªË* Êxe¶°YWJ´Ë¶Ò¾>›Æhº‚i¶ê;Ö%ºûæK°ÿû’`¼€6>Öjà7ƒz�=ï8ñ_Xl`­Á©Á‡½(ñSÓï2ëûû$€о™TKIyžñ $ÀˆÁ'u˜˜j:àæ,“d�í$– à…&,ð+Øaƒí³?ê,+ÇNØÞJ¯–ŠÐªg1¥–ߘ«sè�äVäÊ‚7J[KçOÿ÷dS#%a69•éS#?Û�·².‘›ÿÿ¿x™AAZÛAÅRõo(¿¡Åõ[:ó(k¡ÇD>9 :G¤•¾ “ÍNÁßí�ì‰u˜ ç±äU*û‘¾\sEa-x౸ ®Y´mÚ,€_Ru[ú¢·¾è S8#8"ek•Q'R< 5ôdLH@Q „TU7Ã'Ò¼Y8Ne"Q¶éDå—•f³8Ò‹²Çá¬Æ'e0Ç[ÄŠY¹•ësñß?_½‡¸£�&›iºZt;HÌê‡öÑ wj9 VbNÏÞÓ_ÐÈ�˜e1βù«²’M:}�?ÇÓ‹É­ÅèBEÈ‚héZÃ.ô*›�")�áÅUÅù)_œn×"nu·¶Ô‘>Ççhÿû’`ºáMU›9ðE#ÊpaïJ%]VlèMÁ iÁ‡½(€¿=_ÄWC–�ö'¥u ”Þ«>Gü“BN…Cˆú ¼®ì­(q žBÆDÃ�‚ ™De¬ÿßê�ÒN´7aÈl±JÐ6¥ØÃ\z‡àptY¨‘ÿk꫘ùc”tTK>÷OõüonµN÷S¥{­¼DïgÛc½ì;¹`D ­â8Á0˜hµÎÿONð¹Ð|Ÿ¡Ü¨?O �ÜYîHDÈ”¸Ëñü50Ã@¨ß©œNwWy¦<þ›äŸŽ>¨wƒøÚ½â‡N¼žú@¤÷Óî4jÒótÅC? Äœ¤`iü�hì„ÕÊÐLµ¶Fm*§yÜŽ3Õ hï+Õ�½ðÓÀàKžêõâËØû>ùU·9ÏÀˆœòM¨„Rje ‹ûù}í‚HÌgV[èÅö[)œV“b$$;Âÿ 4�(XºïO­”ÿ1˜?ùЦ�Íœ¨ã”ñ+V¦KG{îÛÁl5Ó*Çû3Öʘz�èVŬfžäÚŠÜ÷ÊÖÁ#7Ðÿû’`¶µBÖ›9Zà>£Š�=ïJ]#XmdkÀïj€÷½(Óº³ -å˜a…¨ðP¢ëTÔt…ˆª2\ÐtÇdTdè ­ùpfŒÓ^JzuÚE%ù-q\åÛ*†£-4ÓÛ˜À˜Ô, Xá×–’‰;RŒI›éî›í–½jVŽˆ§„»þ¡Ÿ¾W“G òi!�ÜYˆi@0œi¢§nô¥ŒõþåøÊáÆ_‚E¤i ÀÂK�˜b/+áS\WÞ7ª•£üu' Db ÃABÆ‚£’I°_Pß*�6£tu:€®‡ïÚ]/¿ëŠÞ쬱ÞM!ªp;ˆÙƒIÙP" †G íÀ9‰¤1H—J]pS–ø2ÈQ� Õ�*‹ÿv)ÈcM®-Š’Cî´Á3pt°‚Þ†#³”åwWGgßËÒEsÿÕœÏc´‚ÐqÂ+·«Õ¾Äft\Kˆˆ¯à@ƒÕµ×*ttá<¸ª²ބ9Ÿ¤ìç �*^R%ƒRÚÊLIß&‘‹›91&g³ 2”ÝNÍ�Âÿû’`¿CÕ›XBàF㺀aïJÙ7VläKÁ jǽ(ô¾ÅU˜JGГ—J À5oè¤Òÿ�hâÊ‘}ŠI�ððx×—Ènר‡76DŠÓù½N“×G‚�(ü†n1:JGC+ž£$„ =ˆÑ8OG�À¹‚lŠ&ýk¡dQe;ZµÕmý5£]4Võ%ýȲ*¡5>¶§ü8ØpÚ€¿¶Ï‡5"ç©pÀ‚¯s¥Õ‹¡T, $!‚™Õ2s_ìE¤¤´¢‘�=®®\Æ[GE2¥c¼H”’w‰•ž—"jÞÁà>.ë©ÓÛ»2B)„d ƒ™¶J@ËÁ 0Ò€Õ0¯&IJ ߺVƒp¥ i¤Í'*r´ÊôOl6¯–Þ‘c5Ü‘Î7 Dâ(b&^$Œ›H¼Ê16¦è¾�÷ejRº—£õ¤š(%[Z“Òô”ÚI$µ¢Šœê)�°×™_ÿÿ®6Í8§™ìÖó€jh•¶ªßT¶@Ôme*Þ +ú:“´ŒŽ-Š+v]+ƒ¼!¬'$vÿû’`¶²?U›jàEÊ€?JYRmf+� �ê˜÷¼à&SGPîxC6Úw«Ñµ`wÿ=‡8#;ªÑ�ƈƒŽ¨g™AT y‚VD·‡¤õÕd/ ·ì˜¬Æá«Uo£–lÀˆaèp* ‹BZnGÔZÏÐÅ7{»ê>n8¤ßS.nxUV«îx¾Q¯ŸµƒFXÕmŠ ôØòrû½Ÿ.ä X`}<À>Iÿ h¡æÐ�ÃhW3™ã”%r%¦Ré�ìDI&R¥Oî  ëÈæ€®"« Á‹E�ªŽ%ÍÝŒr(ÕPBš3}àsð»"e bÉèž©ÒjüaÃZ†Q‚#gµ½ÁbVia… ¢)^­KS`ƒžŠj<\"ÖÍùÅïmÒõÏß·‚ãù©ÿß{¹�vÈü»Ýè'[�£]�ÿ¡˜h]”aA·"îÓÊ­¶»ÙÙ³ §Ô@{ÍQŠN C"+{1ò¦ôÚ�d¼tÔªžM2¢:Ü{j˜ÎÝ?iO$-àä ’¨â&@ADŸ[â>¶{dZ —êÿû’`¸�AÖBàG㺒=ìJÝ£Xg¼ÍÁ7©A‡½(8sÇx…9=SÆZÀÂ|(CÖ®óM¾��æj ‡H -$·õ®Úú½…½ÅŠ£@’e=£–á Xa2‚%K³Ê÷™n:Ð8O�Ôà–½bªþãþ¤ÄvUþ†âÇžTٹ̾ž¥“ €„ Ú3…UÀ¦ÍLœÉ‚—TÌÌ€”†qˆq ©bR%vT¨Ë¿IOjp¬c»<Ÿú·óBÖZ/Ò�´øâÛÉ4©–³¸¹fp–±ÎΚì‚]÷ŒÚÚ…<Ãc¥]¬º&f)ÙWÉÖh–mƒ¨”‹¨Üi5PåѤæ³gÛ¢´ïaCá²ñɲ‡’è>.ÎG…}éÙ2"1Lâ»tªjÜ.bvè[ÿi~Ç !ζÚþ›,qßïw¼$z4ÌþzþxžjÈïVŸÞï„^ŽiËÒTrÐ[ßµr -¢™¿~�ZC÷Úª 8DµbIGé%DÞî&2:±µt@äQ®ÞPån9!Cgç7ø© �R�Ú:ÿû’`«€¦dW™èrGú`cJ diVGáç )éAŒ1(Ïý´ÀX:B©0=_¯Ú¼Ø„cÁ§ Ít€Ktº˜¯1ºî“‡›o¨èc¦w#ðê ¶�`D?.³ÿjÓ±áûC佡þ°végYxZý3òBÏ…§M£üßÉR’~¤–)L­5�ÙÓ~O:+ó4œ?6V^ÀÐ? ¢NjןEÆÕyþã ÚjâÕ.¿#òzõ£õ9ÎÐù+ßTÉéã£ë³�H•f^óŠFË/¬žVÜ"Ü%ÕFl§òµYX_´&N¬F¡_e:&ÚïYzDUÐØ†õd°õÎiù¾™ªÕéGøÉþCùׯš�Ÿ÷íZP&ò>ý´�„©–^E/÷ß—�œb2¦Æˆ@5²9RÓ4á2†#‡‘)ÿŽ]jãH¡lÙW„g¨ûM&³gÛiɃ*wÓøy¶‚ ôWÁ© ’{I“&îˆ�®É«!N�] ˆî:„B¬�‹,‰�ÀAK8"Õµnl�‡Ž½ j·]P ÿû’`±€2bØ™ærH#Ê`aïJ ‰MgF kÉ4)�—½(¤®è´pÁ WE°ÙCçWi³jˆ4¹ítœK§mÌ*WÓ(Žtäâ-µŒþžËe|Ç™lhé…ž‡‘ÿíŸÜŒó·ï´ò¨‡ÄbŸ!Ö�lø/xÊs&µ ñ>åÖ¦V¤¨[µM;d·‚ÂÓ€Pi,‰Bœ?¡Ž€Sm]!@aÀ2ƒƒ-Ε»¶{­)µUuÖX{#çöO¥éìl�ô|ø/¼[Áti¼ÕO»ƒ#™u4S*¨ÜÀ¶fŠ.‡e·ÿelÓVwFôYûÿe&¥�S˜±‚ÞµH û"©STÇ»ÿ²ßÏ9\zæÞ°qV¥†‚"cä²°mZšÖtÃ�„ËͦièÓé#’m¥ŽËK˜Àph³0�¬õZKaOüa‡F³vu»KˆA�0t‘´f†ËÉ3ÛØ6w¼<+7*üï:ñ@AÃŽ[,ë}ÜwÔ%`Ð2 ”NÀˆŠÞ4ùLç¹–d¡”§–<½@ó·XCÂË¥ˆT 5KnU'�ÆjØ«”ÙQBˆCQˆ´Rgyõì\M¹³,�è™if™Òí«k{4º°ìÈH9MgS [æ@âv­Šÿ›0<¸�¹þñMkÇñupF�À€ì‰D¥«�Ñ‚à`1ȃ4óP> ¦:Ø0-þ1â–L§¢¡Æ"¢$�- ¶zzÙʰ£ÿû’`¶€ÈJU›/*ðFcêP?Je'Xl`KÁi@ü=(ÀֿųéM†Ë6Ê$Ÿ"¡ÍÅWlD»Ì°\P©í2èÚ£O ¦Ìaƃ_›É1bB28÷Κ›Ÿ·©mH�¨#ºPtlÌΙ!IÑrš+Ku*w¿®óˆ£Nš(Z½Õèm®»SR–¥¦�T&L’f:nùa:hoôP‚eÖ{ìFš+ô¾‡Té¹åƒÜã0>[ÊÔy¼Æ0Æ;Ô-ÓâzÝx'H�åeÒUK�(¨‡P°U"JFs¨÷º¾u£jÿæöÌ>v²/%Søuû&èÏË(@–¶HRúž-;‹³Ö©:–NvóT‡Þ™“ &ò‚¹oÆ¡ì(§b8ßÜŽ¥V脚�ç–äb»•À�V٬ʭ|ÝÛÌ*a wTú7¼bl$c½î«g9�äÑ”D¡ÁOú²1CÉÔ�`\[«6ncBS#@Ð0ÂRÐ &áfH B츛ìpž®Æ$fÛ¨N,²†VÑ)1h¶š7¶K€ÄÓÙgmCþÿû’`¸€ÍFÕ›ŠàI$*PaïJY)Vl`«Á�i�‡±(¹=Žm_,»^·Ò[ºØÌÇÂéÌ%¤!’>@±­?ÐcqЄçnÒQ׬á‡ív`ð刌ÛayÛ[—J3žˆPì6Æ@µq>(©7RD≆×j¿þÏé�kt·¢“YjwZž³U½¢ÁÛú`›ÆBøw’ñug»é’ƒ…óI½BÓÍBlË„�o±±Àщ„´kµé+DÖ¥ ý¨‚Ð|!”âŽÏø„-`}Ÿn*櫫˼µÅü›|ƶGýŸÑ•j”0†T!S�@B ‰ááœ;¢™ãrÜT:UiFgZŠdd´Ÿ-.±LϬ)GÔv¹+%ÝCÖPÁ1V×4mÏgËÏüé^º“-¢Ù?ýPÑ¡ùy@šeý_òj HÚÃ+Sxïý}HF½ƒ´“hTNŽ/ dzÏr³EŸAÈâ<(t1Àkø‰�§CÂÊZެ0©\Í£uZÑã4cø UæÂ’‰¦ô’Äÿû’`º¹>Ô›jàLD PgJ ©7Vl 0òæpì†v&°µ7l÷Š3vF:<:9“oÌ!OX„hfµˆ¼z+—4—Qºy4?¯ymäjî_ýæÿÿû’`¹¾?T/ZàG#š“? JU;Nm`KÁ�jHǽ*Åêz¿ÿþ]H} žý³�É$8ñŠ_À)t×ã+±nJŽó+.݇bL<ù4QÑL†v°p9A­ÿÄZ´ M•¬2¨ÜÚCÃ9oó ð Úâ(&4»öòúç‘0?³ÐäµÔ•wµY"H�Ô«Oy–ŠÉê£L>M®è@µÝ¿ô€qÓ&!Œ�'¯K½=jrÉÜš·\º¹Ól4úF9ž4.Ï�¦ñ°@vËÐ\†v¢®ºGÿÿõ-•ÿÈ$›÷¼bY4±–ÂÑL€R¢¡BQ£Ôò“\}§�~êFEÝ{Ê {à×^V5ö’ÏíuGæ§#eR|r—RÕU5ò÷W¡œÖ7-\V2¹ÝMú£éý–í0|Œ×1¥Æ:ÅÎÎò,å9¤£9•¤òµ¤TqBŒ\%‹Þ†÷X®—â´3œYʤ4“—s ’.×V]í©È+du²4·IÑÉif)·:Y^‰]FÕÄíœÉ­æÞ[£Ç¿ÿî>¥gÿû�`º¹JÓ›X*ð@£Š“=ëJí)Lm`«Á )ˆ÷½*e¿ÝÿéXýç 1 ċ\œ‘Ë¿\ïÄj¼/¸TUÇRxìâç;׳ÕX5ú�`¿Ê64É 8s6*æîÄšTjµËšÎì4í0‘�Q5éëÿ¢©�±Í‘µãŠ1ê•ÐÓ„Š'¿ú|Çr*”ªÃ¸xH/åÖ·ÓëC*’ $‹Á7B¶l"Á*´�Ôfᔑ.ž…¿žwȃ•êöµ¸°mÂF(oG³A»Ôáú[ÍFEÁ1�F¿ÿÿ &OÛ„�·ˆ*Ї1åà 2b»Ý=€9—ñ�ñ¬¥ª:E^pèà å-±ÂERbMº–鲇,Lëu¯´ÒÍš´»»¯agaÛ^Ço·Gõ) c±XW.êog½Ý*ÿýþæ�EŠK‘¼bÄš-�âE¬€ÀðˆŠ¦é>"ði‘±{Ïî~©\¥@¤»¸ì¥v¬]CúfÙ‡ ÚljCI²ÛîP€Šºù6_ïê3ÿc™¿ÿÕÿû’`»€ØNÒ›XðDƒzR=ï8+JmdKÁ ©H÷­(í*ú€%ýXÀLk\D:oš 2!`iÄ¢’iŒ'ܸFr¤¡f!˜|¢N»ðÌMéTÊXÊ_*zz³o<õìa¸½MNÃKKy«ö½kð7:ä¡yÈÊ…J§o!¬êDcúïßgõ­™V¦tSר0L¤ÈÐMôÅóNcÏÖÖÉ-kªÅ8¡°7JÕ�sÂó¢nDâÀ°>nÜþsób eÙ¾#ÝÖddK‡žÍŒÒDȥČ”À]([¥ ßœoô{mh ä÷ˆÖ€i“Or# ìLd™ö„Ãò§"y˜‡HqCLR >DÊŽ%ªŠ»¯ÄRŽÆâôש題®´¥L¥­ÕM$p¹ÉîTˆÖÞu>¦?�ÿ—tÓ,â̵-ñr’N µ —ùj‰Èvš�ÿþÿ«Öo�¤„ô•F…/›RýxÍø‘ˆ¥'¶æß×þ³;®H¤SÿDHalDÈ@ºêIÛ ˜]ôÈs*þÚQ6‡VÜÿû’`½îIÓ8ðCdª0c-JmRlàÍÁ iü1(p íN̘*¿-—%Üèhé ¬�$ÊsL=ß3îzÊ9Vuÿ…ÙQqeÀQ‚Ê€éA0朚'écؾ„ µ?)bB€H`õ4¾¶·{ÀŠþêÈŒ�Ú¬9�¥bâq…ªª¾ú±žýZÿ©P·¯!Ùšßëú/«M)g)i²¹ª z»‘™�³1Ø”4Åcb�ÊaÜ›�Ý]8~œÍÐÐæ³¢Áª¤ Ò5+�¢e]ŒapÇÄ鯯$?2u…x %n×€E3ÑiÃÐcŒÚN�ùAq†'‹GV)ŒàŒ… t—ÿŠɧq7%e¶ÐÍt$$Ö—nûaJÙkÇîMYA˜?%E�­‘ëZ¥éº$Â(JF²Íœªè#Ý>ðÞf8ÿû’`¾ãGÕ›8jàGª‚aïJí1Tm`KÁ�)�Œ=(!ZW±ó¿ó}JC²ßÖ .ÿ4)|‡ެ€±ÕË’V ™¹b� À˜Q6GuxñRÈíõH¹Ží@Õ»ÈƒŽ´M‘Œ£?Id!b‚i›­e{Æ@‚�€ #-†U,úH¿Sñ‰NÚô�Ô?R£p]馶í¹/#9·,«Vžp#H± �Ó¡Ý—ÿÈrœåÁGC+.«^íá"›«ªÏ­]^C³!\€ÏEÏ&þªž( Xü¤�!¬3eÜ]Á“(å¢ÔTÍ‚MB¥•@˜·vƒfm†*¥Ü›ÚU‘J�%YbkÓü5(ƒLÿû’`¸Ó>Ö›8RàE`?/J…5TlàKÁ�iAŒ=(š°ŸÉé&éõÏþGµ¤ýU 3Þ>fZ™�˜4iêõ ©!lÖÒEÊ_ÄCY#ªS‘Ó‘…?‹ÑƒN8OT噸[áÉr²@{ä%ps‚ô*Œ,q ±«#[¦ÎƒéÓïMm×_fS$ç�M„­ ŠZ¡Š€D¡: ªO8ô�’èéÍù瘹UòhË!8¬H5®er[…V4ÓîMâì ¼«ÂCd€BM‘\Rnd l&•2Oõ‚ÞOÉ›AF¡-šìÊÝü¡PÏUz@½6‚ 6CŽ ¬ÁV^®d*�Ó:]„FW`ä� ZQ5�<¢$ªXCmÒ¹Â]pE—ÑÁ�¿2÷$�*†®²!ñsçÍѺjŠ©7ÿJœÎk‘+M¯¹ß¼ÕG4¡Æ±¬uL"‡"[rKu¥lÿõ<‹¡iË©�¨ø1.:q¹)¢é$ºce½^¬.ˆ–@º)·1·œ‘(Ó ßoþCet›a»ÿû’`¶€Û0Uj`EãÚ@cJõ RlaK€üéA‡½(&ñ º ÿù´N+ÔåþFJ¸“ X�©KñCDZ«ƒûΥ䡔P˜È†|M€A éK™2ë߯Í{ÞùWášòɪk•³Œ÷Ÿ—Ô�!Œÿ&GÿO4Wd§~ÌâÄu$>Ã4¦^šW„æAʤsEŸù÷+Y(€ìE¡…ô¨ûŸÿô`°òeS^¸YÐ2yK]Ò©¦‘3lkôo®j¯­'s5�+5æâ!<È)XÝ–,ãÔ–Ó§éÈKÉ'6röÎù™Î˜6ÏÒ Ë´49¢¬BRj� X©tyŸe΂å¨å€û7Í4@› Ý]'(XhÖf›Û}Ò~à¹Ë_Û¸LÜ„£Ñ’R×YkÝ×Õ=ŸÍó3ÿNÝ5[¡fÓŸ]º[ßÜóÿÜÍ:k‰kj÷=´íÛR¦að1&,  %4Žïp­æÕæ‹£ó YÑ3¹ie&i›œ½��(Zò7��%—ý;iïN*),«iW�àFŒÍbÿû’`¹€éPÔ8ðFĪ0c JyNlek�’hÁŒ=(:…YÔGÿ4ÿmçÿã^FÙGéþ1ÝN‘ ¼ÓÑÈ!^ýËÐcõmEÇih»j• (â‰Al5½žÂ –;š³…ä�ð„>[5.y‰wü¾'ûyú—Eõw~Úªû„�ݶêáé‡Ö,P|z‹ÖÑ�„§.¶õ·@¾2Ò_ƒÊJûõ€{¤8ò€XG!g1{§”öõgj‚ „eБHÞ¹LnR°Q{B]fkÍ×í9ˆBÂÔÊœïó¿Öæö{¹GØúd×û+¶Ùf�:À„‘ˆ7t _#¦‡Ÿ½ÎA Wà㠡騂›Ä]ÉeÒã ¦NÍ.ÐSÄbOܳ,oÚ˜”� QÇ’$Su<`“)Tîš}nËMÝ%:z·üÿèÎY­…Í9Ǫ:àUû+¨úPŸ±‰¨Ø€V]ú·&°Á¨$‚:3 _ëòªò3ŠÆ(· ˆø´ ¸z6…?„øÇÅ\¨B2ÓrFçXj�«‡žïYÿû’`µ©2Ó8ZàEãŠc? J ´ÍLlá«�4) Œ=(ïÿ-©=£'ŒÜ¯@?ýò-RÁ@n;Â�)i('JÝ»ZÔHºò‰¦PBu�ò0Õr®ñ:½½=IHÅâ­ãr̬8À�%ŒDø¹ZÇ�'®Ì‚Óz“µÝö}NÍÕZ ³SQª’²’K5ŒM®ºõÉ¿š$Ï8^ô«ð#h³fæÖ‹B“Ìi§-A44&]ÞÁ“�!™VU˜)ó~Ó M*`©Æuà¸>4FišÊónnU2€+FF/ªø«Ñc)=)ó­êÚÿëîÌÿOoÿH7¶ÍA^@ɸÏÄ™A„ –9ßÜAx”€�O¹÷X ³\�½D „\u/|²ŽHÂà> ˆr nXš ™›bF°¸¬šyüE§PëÜœ×q7×WÏÿ­Ø”µFá÷ÝHUÕXð_f¦äg¿­¤"ô ¸š§gÏòõZo—æ´cù1çÙûcåÛ/ öŸÆRÌÚ„ÛeWiwmÅP®Þц*ùL”'A�v©JLŸ7wS LÅ�_‡ �Á¶¨µn·­Nnÿñ�ãHÁŒ‘¢ŸVý[{ ¦AMNÖdšªÿû’`¹€82Ó�eàPdc¬`APy8€yH*ÃÐÚŸÿÿÿÿÿÿÿÿÿÿâH[pØG `+˜1!P)Xïa Â|L‹2Är3ìH;¨M#¢DH*7˜š�ŲéE$ªo_Ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø½Ë‚¡%‘D€ Æ·$n—:ô¡GUo¿“ÆRÓ|¬ÌÕD·=_¬)N£Ç؆[(Áâ�«5£ÜDÌ4£š®Ÿü<_| ™VU:Ïãæ¿ÿã§n>�#âu·ëKU–kº®èe Iƒlgg ²�È�ˆói"À°B‡† Æ 5À ¸ªRÁ¦"µ”p�Õz�KZF̨~yûW‡Y eRÅe{ •iþ¾¿ž]A×U`§ØÊ1þ_Õk…Ê”UÛ;þLèVÛZR4SxnÞ7�g™Ý3ézùZ÷‡°/ý-kcÞš…½ ‡`ðöq Pq´2öewWS‚ûÿ˜Å(«#±Êɺ›ÿæ3¶åo_æOU}ÿû’`‰€Z\XŸ%D$0ç¼ •u^g¼­Àõ�iŒ1(ÊëPÁ¢KÎ&ÌZäcL„•¬h˜™J,rÙ1½™¯9§æ\°RÊ•òPH­1g· LΜ·5+Æ‘,Ò ëM’ó“7¶Cý@ ظ@J:0ÎLø³†M ¾ÃD©hìÆâ ¶»h‘×ý=Õ¬x°Ä�ž?Ñ—î5o€$‘Û™Ÿ»?ºÜ—Ÿ.’ÂAà€BäìùÂÉ>ƒôgfÚç¹�±ÿL‰m1­ôç¶æÿÿñqœk5Eˆ’ß..yý}”£]�â�@' 8«Zâí2X.@@÷¡v\&Ôc"•Ž��|G¬Ôô²Â3LÚ%—ûæJt%NWÿoý ‚ŸæS"€â`ŒD#5„Üv«Û”Kg›k’áâÙ”B[.S�dµg©8÷2è”9ZY�©�KåQj FÃÀúñcÙ±juïô¾%zÝgÿïÕ¡Ÿ5f­»¸çÿÿþí™…Š m˜¶®¢i?¿ÿÿ©4¹Þxª“i!j‚bwÛk»Ô@ ÿû’`›€«@ÕXZà>@=æJÿXlá €Üé€÷¥)Ú6°á7ÉK/ƒe Âdn”§Z¼Ë4þJäÒ~ëãöõôo \Ú"†"@@WŒr ñ*Ú2\MÞw©PpâÞ„�…ü]v> 4‚¤Ö?WHY8ÔҼ넪T¶5åû –Œ¢ W�Žš®n‰‚¦‰ ‡ºÖ¥)ÕÛõPz�. ¥»)jEIº¿ödÖë2Q÷lëŽYkk¿ïÛ@(T ”¸(M2"ìÞPÄI”ÀÑàŒn¼qÈfŸ¼ä�JÑ+Å$$„'Û0¹øÎ0ìðK•[ËD[å„€•?• ØÀ¡‘4Ÿ€¥º�#§¦¿n·_Õ¢wZ¨„JM![Œ<æÒäß1ç]Ea+Z+"ƒíÓËh¥”9B™Í%$r[˰ã¢Éõ¢sµÿêÅT‡fr�”ÈèOþÁœç8�D0ò«*¾Äd¡–aaf?-D™ø¢[.êÐÌO¢åbÚ›CÔ”;Ã?pX„C7,èTP²�ƒªØ†#Ï6¼5£EB´IÈoIÞ,*ÁCÿû’`­¤?Õ›Ojâ;Úp? Ju1VlàKÀó�ê@÷°àL±—)Žÿ  Ýò$_@±5b6“ƒ:Bá"È!Ùæöì©lBÚ!£ìÙ#èhlÊj,Êk±Ø1UP-¼bŽDŠž)“RË ö@�2˜eµ�Ü™Ùpk8(ñc�ÛÝ@õ¿ûHs ™…]ÅÈò,…gÿŒ9£JÒ+È»•X®ŒÓ"‹ 8£Äb2�ÿPA ÇS*AMlwú‡ÙvzŸ#DªâÖlø° ÈÚˆb)¯&W‚„¶#ºŠNòŒ8D@ ,t‡ÿÿP4¯ïr`#qŒkàk‚q$Öu_IˆL’³%—�tÎqˆ Í`o"H¨“r¦€µ˜ViÓªqêJçúj9sîl÷lZŽØ›oOgqÑ1SË1ggPCm¾ ŒKúA�ªÆ9Åvÿÿû’`»€ LUX*ð@š¡=éJŽÁ1XlàKÉ *ˆ÷½(ïÿ»H ¹òG‘SÌãÕ(%£�ø˜´÷y¤H\ZƒÈÈ"ºÔKÈ "Äs_Ö«Êó‹oµÖaòƒåxFdÏÌÔm�H'U;táM�OÁ76$hx"Œ‹ï¿ëúâÿÿþlè/%Dœ…õeZ\ÿi+e$+¤Å;E]ýTuÆÖó25ù`;®aOå\C‚´[c„‰f$öW7�Ö¤lA¤E XÅ o¹¯©Y×áI�XÜò$FùPø+´RÙû›ÚxÁâ�$J–wÿé”Þtˆ¤è1N9Nƒå¢›.œº!¥HÈ_‚N>ËKÐÆkM®™Ô§i’†·­ÄÏ¢]üš8Ÿ*Ñ˧¯qDYJ…oïgM¬Bÿÿþš/(ªÊr·ÿÿé©(NíýÏÿÍådpAA˜d ¡\s]Ô°‚ËÔ ’@ŽÉ›†>’JÅcÁ¦æ5È v[C¢®�£ü÷G4‹V¤ }âX¤´‰Äðlm |urãAâÈÈ ÿû’`½ NÕ8Bò?cz =ï8‘9Vl¼kÁ)Žiұ(6yŸôÔL¹Ñ0ec8ðË ¸ÑعJxšö‹A XÄQšµ„~TcÍi !’OÃ2–‹¿†šËèëÃ.+`¤ˆÍDã®·U�f¾ó®õÔÍ-âò’Q=ý,�BÿÞèfƒ+©iG}ÿæ*™§WM¬�ÝPÊc€¾=E”´ºƱß»þ`€—@#+_²8½VcMÈí\žº û€JË'».ˆåš2oµbi½b6“ÆD¬WÑçrl+ÙtÊá f¢�¸ènF®ÿøº€9?g ä`#x²ðœ©TÌÒ�¿WbÌEÈ�ôÓîNW"œZÖs½+sR)m]a)Zî ¸Fà:€ˆOÕ,?*tå«Qý £šiŽz»#ûض§»©U»Z¬�çæ¹9×g}fˆAY!ë€Ãį P¶»õk€Þ¸ 0£=cñÃúûxP™¼ƒûtU K”\i-t¯Ø˜×ùœnzž^E]{¯Ṵ́2™Êœ±Zs‚¢ÿû’`¼ÜMT›8òCÃz’c8XûPl½K�$�ë(ǰലíÊ@ öÈ€ãýÔY<ƉWŠ"’„$%'lÀ˜†9Ï%()ò—n´æm]áEkŽ–È"×ã0?ÌÞízp€€HbµÙ©• ?oTÓô—7uó;Ãõ§¼Ý·GþßøÔz˜¿÷ )kŠ8éƒmÉ5FTß©€ Û@«. $=/KÈ%ŸA6÷n½i[c㯘˜™;qJ�>(²µ§ÎܬóÔlŒbÅQZFÈd7fÒö_6¾Ê[4…qZ?ú³|^` 5õ rH®B:í¦«^eÌ=¥²!wëL¬#vC挽¤ ? Ä­HHr�]Ï=ǬÍVÝ\°¹ˆ Xx5…¦ŠÛí­¡næ“æfožº‰þœ}ü¿0H‰_ÿ½q$ñíÝàÃåÚ¶ƒçYÿ {k@0fäà�$zPÍëcùԈà DŽ*Ïyhd”H÷ jý¼QJàÙYŠõöÌÐ!hQjŽºèúkÕ>š»·ìŠs9÷ÿÿû’`¹’<Ó›BàK皣a…\ °ñPle �6iɇ‰sÿ Õ»7¿ã'fÿ È!9[ü’nË#rw ö´ð„áRÔ� ¨‡~’a%v×$zÇ]Â�œåäMÞuUöÛ»ðû¶­ó�[»“IŽ:ž)¦$±7nËYc ˆÜ–pêê>#�‘sy»ˆˆ }ÔÝÿ›Üš;—øoáW¨üv†ÇØíæ~k|:Üÿገǃ2îÙÚ ˜}¯ñ³ÿ»™ÿÿÿÿhýçQ[aí^!¼�,xƒÛ.‘?.̃“VÛà 9!£ `Å·&ÔF™Ý£C„}¥Ë]¢sWü}x°! á¹lAWµm6ÖÆÓ®™dY|¸zÎŒb3g‚³>Ùaê;ҹŦ¼Þ9¢$$�Ý]èX©¬À­SK¬Ý÷ß—r@ƒ³òh=—Bcã”skßg¤!DÜ|ÕšsÑç/÷|³›±Td"(™F8ÆÛ9¥Xƒ*œïBhµ\lèa ’Þÿÿý¬êÜù×Èʃ‚ÅÇ­ñË0h’Ó2¡¯ qÃ`¨”¸S™j§…Ž7Ü8…Ü%hTf„R¶‹ ’¥XγÅ,Ö¤/…êʵc:LÌRŒ²ªuи63±]ÿû’`®€+]Ûé3zQ¤*@k/J Åa^G¬­É3�i�‡½(@êþ•”&t†GÿÿêŒÂè×SŸ×qœVãø’ +Ð=G±ÏB!ÜT>ö�8u�Ò#8B/*%չПÅ\í®sZs\–º$9šÆ8PÌIu¥Û—kô}[ÿúdM_Þèˆ[¨|P’³_#[ÄÀ4:� 4žÙ`4àí£B†ˆ É!n3 ¤ŸöîÝyÇ`Ç‚‚Úrø‰´8=ü¸ÏÙ<�4QÉ Ü1�fmb]Û8çk+ö.â�„"óGÖ/;‚åíù¨æ|"Œi/ÞX>úÚµ|¨óé–v~Ö¸Ç%Q…¤ÊDðkå9¹ÄÑÌR;ÁÕŸ†µ/t>‰ÊÅÍš’/å ùædU$-/yý¼ë]ÓÍç‘§˜tc„“ÞùBt(L²ôE7h jPÖ6êÒÇ“œÄD¤¸ì6eMDŽ=ˆÍT—0=ZÞ”…ZÊ@$Ý'd �rwÌ@‚„H¨u›N³i ñ G_ÌînöŒ©¬ÿÛþ�ÿû’`¸€ëYW‘ërW„*0kJ ÍK`G¤kÉq¨Áœ=(SÜ\DNrö´™ÌšjÐífËÊÈ÷”8=¦›Ù«zô¢¹Ø€�¾Ù2ÓýÈò’ŸÒ„g.x�ô’ѯê¿)!óѪÆPßȼ¼êŸ¯ûaü ¥«ÂÖºCf�> Þ. :²ÏÑ£‹ÈͱVÄ×;Æ«,Z!?Q´ní9ôtN‚…Ì;’µGÊÜ€0r”¦Sæ;©ŒÈMŽÄC _™Aò"À"‰’ƒµÙð¦R'7á<µ"6@ŸdÞªÖw8*A§¶åÈyÖÄD ^JúBòæ»Í7FDëž_Ô�¼ÊgŽ`ÊÔÀ×Ó`ÒZ”ÍÑ4¹Õ,Lp›X½þ«NÆ¥û5R7RºÊm“7òþ«xŸ f12 pM‡\xŸ¨y�|ñtÜIÉñsòzúð¦¨ý8D� u¨TÇÑè³U’FŽêõÛÿþµYN¤Ïu&êÖ�®»/è*j‰ÂDÁÁ3,«pR­O`©�ªŠ‘)¬ÍÐ:…Dqã{G�{ÓülÍãVnÀ@—Ôª2ÌËã…zÍ–QK$à ³ëïlÓsÿÿÿÿ]«àA2ÅÉ$ /m� 0á…‡€Q’Î8àK®à” ¤~¥p݆hÎ1YÄCO5Å.5A„ucüÅÃÇ Fb.:Ã)Kœó9a@à¢!"•Te<˜«›ë½¿þÎå‘ÐÒ#IVŠ©y‰²O}È cO8¹èŠzÎŒ0g l`àAãÚ¤©§Ü®†å’ ¸Å8D=ª2ºâç7³”ì‹}ÿTÙ¬ßÿÿÿÿÿÿÿÿÿû�`¶€æAÕOjà@ú“=ë8mVmaK�*« ‚‰xOíÓ»¦ì°lñý Ú °¢dOÌÀ¡WxŸÞiRÛîO$q7`¬Â#¶vò*’QÜ!–‰OR‡-¦sr� h]�ß¶ÚLÏ…ìz �‡ eŒìÆJ³™ž)+ë²ÿýj³=gLë"oÃH®ÿv�N¢ÿþtü»¿~g6ßó -þý}W`8ù? SÆÅšÇçòÉÚÍé/ô  5†wü6ÇvmPF¹'Š7«ÿÿÿÿÍ´F¨áñvÄçÞ8J°@¯í ªH“dLÒ3Ô¿œ&ù÷÷æã¡øïUi¤-¨“Iä§{ý®š#!Dy°Çd‰§Ý}rP ¼Œ¡¼W*<<ž¤Èký5=ÿõ1™¨?ÝÝæ+Ò�ÙHÔ¨à˜¸œ57áðdM!bšYˆœMd©£ÒÅØàŽ�ã¯Ù:ÚR>1iDñ꤀ eÅaúª ©³g”U.6G¿KíÃUË$bú£=†8ìùXl½K� *�†0à0  ÚÙ‚ÉDË©,ÙPÊ�>�æŸ(~Q¹vÍ(³d(U"µDæ[ Öúx~˜jkkâP.åñª³Uvß)Ô }dW±Æ49ш ØÎÚÛÖ—oÎV3‚…N(v´¦EeefЬ¨s‹rж_úÅQ¥JØ·¾€2ª JpÚÎ@­éjô{"´‡n0dÆŽ¼í8¸ù[áL�~Ó¨H´)9P.¿… ðÊ^?†È€iÿÿÿÿ¡-J"Í„KÿX =ÖlC$¬ÊÆd±ÞYR·$•Å1Ç‘‚A®u1HØ*ñKY…‚š×›Iéw^./¡Q�…hB Ô™X×îzº¾­8ÿÿ´¡¨·Ì·®Õ5?Â\^¼\×\_þÄÚÚ @;Lgá®81•ßE¡ÍW8dµL�MÅfNJyê)þ#‹K¶4>ËLÑy-e îšÁÈv[<5¿·¬Õy%)Kÿÿÿÿб ÿû’`¿¼PÕ/BòGŠ£aŒJ¡ERlàKÁ<ŽjM‡±(Š"W x.ÚÒW6‰ &,‰VX ¥ÃUà+Äñ4C±M �§#œæ!|ô¿êûšå@n­:mÌÇ¢ 9€x 1j_4csVÕfZOUuÖš—RÞöu&´JȨÎdPaùôÞ8B€xÓŒä6ûP÷ª)JRm‡ËH%Ÿ•åËàÏÔžN¼%3Ö“°¥«j;JTîaçS¶”"•'H�hv‚ààŽP†’q½s²OåúÙ)}òŸûÛWF5C WR=×ÿ@9m²Àaæa–´"ü¥ËICñëà*m<í’ÅHFö->ÌÆN¦ðmvˆ[Ù¸mÀ®WFê5ÕÍj φ‰ ;EyžèÜC�|kõ¼ÿªkÖkâ[½áäŸ „P:Âè ,‹ WžŽÑüSfæ#AÒ¯Ñþ�—l*ŽáŒ[KeêĤn§‰HÊsEºTê.´ðê®Ù$Ý�5½ÑYT�ãéI&²¿Ÿ§Ößë†JN ‚;‡E ÿû’`¼€�2Ô/jàNÆ*ÃaèL|›NláéAIjŒ÷­(*T,ñ0åÕ[Õ³ÿÿp\ wþq=�—S$}G¢Ñ¢RÛ°Z*AIáÄ %‰A˜`@ˆòU-±ÎÅÒªî˜ßHàƒ.Œ’™ã…÷A®Š5ý% µT‹2J¥¦‡­$Tµ'MF&.'ß°s J¾¹F÷µ¸¤^å,“º±ßº€üÜ8*ˆ¤©—ËmÌÈ úÒ¦Âxj¦‡7¯ÜÆK�É$ÁÁ“OhÇHÚK]ï¡è±Zßp1bV¹‰}�`BM÷¥®ù+?èþ nm¢yvpZsä‚2PBÁ­ÎOÒÉÊ'%(HZmÖ€¦ìGææÞRµHìfþÞõîB�K €zj‡H�E$›Ôžyù­´«õ?¤¦­Ÿû½µ»�mAP8pÓ� ZÜUÉ&*,¡ºS›|} ÕšÛ¿û %ÿñ†0Y²¿ëh”ûŠQÄŽ#† É$ôáÆr�Rܵ ‹„‡F§©•\¦Rˆ²:c"WJz‰‹ÚHuÿû’`¸„2Ô›jàKš¢aˆJŽ´¹Lmai�« ô•(²ß¨×ÿ·Ë€6Ú]�fF‡¹ Xªè% ±Mh""‰‹4¨0IdòÖ¶J•~ô`Ý _žR)úóÙRÅ‹ÓþQj0p…t˜…X‹áZâ¿i¨¹¹˜ü~ës\Bµ¤ÿdˆE…J„F(/9£ s•NCª9+¶{º?¬�ÿ�KA‡Roó3Ä>Y1¦ÖèÎ0†g„‡ˆc:ˆšŠš^§ã”9U”(² ‹{R¬Ì\šŠ�hK”hÂOÏ‹b8"‹{m(ffµhnâ$”êêKB1ZØCqÂü°wt�¦¥‚>’–º‹³};ܺ¢øÅ£÷šKÁîSÑ–Ã�"£äcŽ!(u»�×Qu§ý~Ÿu?Á팘º··©‰–©_ǰJ¢gÜ(×·½,}AJªLUõ€{ñ›¼ÁÎg¥×w9T¢ñeÂô Kd±oû/Ö$ÔO}Í|A™_<­Ç‡– *\ P™:”• Š­¾ú…® ‡U’8ÿû’`»†2Ó›BàObú“aé8 éLlå �?Œ)Í–<à�Œ6Ÿü(ßméí¶^ν¬½�;H‰½{˜P6Γ ÆÇ‡‘Î^©ÒMÏ4¨|ál± ç9¦¯CÕè[[¨O�&ˆö5qñ¯¿éJ‚`ˆ°‚ƒŒ2) Dÿû’`¹€¤AT�eàKÃJs¬<ÎA`y¿H*C(Ð üÀ‚‹œ_ˆ�Ä”K„h°hðs†P;F@ŸŒã–L¸ï#ñ™ipc‘ÂEãAÌ–âL&‡G…Hzt–öÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÀ Owâ÷ÑÅ�+U‘ðz•xˆÑ‡ŒVWBNB°�ÁRH(fÔPž•ÞÇÜ"ûÈèF'µ¯CÐŒŠ9×vOèA J„�rUˆ®�¬Â&  Þ5à¹sªYÄ8I¬5èQDÀ(I9d—ÀÔAI‹©¯´èÓõ%ć¡2²â§S—óF=Ç!L¼n‘ðQÛ†Öâ_bÅrŠÌ IX.`ÛMJª¢­#\ã1àK˜möÅÔðWvFõØ¥¡ê¹cAi€òo‘jw¥z¶^øÁzúˆ‚2q!ë,p¸^Zt˜¶AC:›{ªÿ�ör?ú]Õ{A:üáÂÊ¥rhf|RÿŸáD©«KÓ "eÖ—v£a¾+Ö?*†Û¸»ÁMý1ÿ2?ÿk÷·Ø ‚Ä·$ndÿû’`‘JÚ×, M¤*Pì¼Me hg°k‰iÁ—½(»Ks«â–f˜å~ð%}9æÎ§9ŸX— ·«*ã,t»Q´ð5j¸Ha:¢£.Ò ÙµáæÙĬÔå€$�Ú¡, @„’Éñ1E�g”Åäm–=^}ä¢OG&¤á³wUŠÎ:°,«;¼ìg‘4w¹éÄRàéãÉÛmîyžÿ÷u]m¯þ"[TÛš·&×n¹·?÷(£í7/gDàbŒ›`AP ó¾Þ½yFA«s$pSSXé½…y›hæ¨ "'Ud‚B!©ÒUÞÞ15,9¾\ ÁÆJ‰bepµá?eƒÿ�2Û(�ÿ’#ü-EèD@/Ë¡˜yÙáðg*ÒeøXÃ@ž�ƒ<~fdóÆæøÿTfpÜîJ4û+Ô-Íì Ä·®uõ¼ã8Îþqñ]}oúoÿÿÿ×Uη]Þ&æõ½sþëšæºþöô€óPp,0 s7xä‘bë‘p$XÜÓè$dÑæÁúâæ¤A^ÃiâeŸO[‹ðÿû’`¡£@Ø™øZà<£Š a/JNadt÷€ÿŽj‚žðW'a) gÅ7Õj–ET9Æy1\?s:æW+X6×Ç€(QÔÿÿÿÿþL˜0éÃ(æ2DK†Õfd“â àT<0"…<¨ó3 Ë!¥IM*,4ò8ˆ]µ^MýfîqcØÇùTõÿQ©´Õ¦šˆcSPÆšç+ÿ«¿ú?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÖÝdš_øµ’4Gc,`ò'`Åbµ 丨@Ï�#B"bxH0ÂJ¨ˆC/�cØò(�¦ :M/,ét5-eFÉ«r‚³dTùÖÝ'{)›[�CÖ‚~µ¬Å½mdUAžŠ�Öé-Œ—¥ªªßþ§_ÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿà�üe"sŒè8ƒ5Š%m㼈°ØKˆQÁCŽÕ‡K\éžž¤=ì�7˜Q8¯ÿÞkþ]ûÙíÿÿÿÿ×pí³Ã›74…ÜìnÙƒ´çZ�q–)®ú€;øÉÚ¤7•h(ƒ¥8’%mã:ÿû’@®w�]V4à€’ SÈ´ h|õ€a-ž°ÒÂà‡Ñ ƒ!�&“X[NrÍîØç¾ˆCÃùR­^§þã”)÷_Ô»†í¾7ÿÿÿÿ]±×SÛ74…Üìo\ hqç%Šk¾ Cþ<»zÓ‡Tt 0«Ú"ÛðÏ–ë^D‘ PtËMM‘È—¼©ê9Î —ÒÑ=±êÒñzÔ.15§³ù«\ŸyùqÖå½þÿÿøµÞÑHÌ©žˆQ>!7M2N³¹ýÿÒGƒ‡ØÖVª,“~�zC¬{ÂÜS��ÔH#Ësh«UÅIP�–u,8%~2,ï’°–ë“e­€Ìg˜¯o½O!óБ÷؆t»å€€¿¡!1ê’&[Ù]„IdÒj+•,XêV‰aÎ(àX:;7ì2mV8*¾q3癯oÔ‹ÆnÜwåÐ;”ë„&�xk Îw�³k²4‹³WM?ÿ=�˜‘ÈÓ*dd¦Ôêƒ@ŸÿøëÆÊX88ÿ³ö*Æ€HbÙÀ‘hëòûšÖÿû’`œ€„MWðBÃzpeï8€ÏZl`ëˆí jŒ<à©Xá9&*¡@�Š^Hj·ÆdKxêØ¹€úiZßÂ`´=� mÏ%O® "Bÿý 'À“m!åee؉ªÔ“Q¢DÑÙUBÎ"`Œ�Â\Ȥϲ¸jÍ5ú\ŠÇjÅ·ö·c²ŠKAà s(0ñetV²ÐîçBæ»ÿßúÊÈF‘Nʉ²”qeº+°Á(eo>×õ�°* QÃ;¢‹Ù(añ4ª%ÌÉæàÞ¬c0„@Ù**ì$%óûÊæË+•šÕ±ÓqSS>ƒ�y©ñ*Bç/UA®âàP_Æ‹¥r°°·äª±Ž=XõªÐÔxè"/’!°aV¦ÜIyts–Þ·…øtž7ŸvmÄi'kZ¯¼854ð¢�\y�iÃÇíÑ–v_ÏÿêÒîÔUD^ËC‹ŸÛ1Gæê¥ ¥ü�Æ”aŠ·ze �õ§$‘J EH·ÆC— eá)‰¤o¤ÝE.gpÔZ]^}Çžõ�GÚhTwoÅé)\òÿû’`ªƒ>W*à@zpeï8 ½ \làë€þ ©Á‡¼áÛ£õüIlYÿûlÁþb"¡VkvOE�¨Ê�ı… †ZÃ"Rp,ð»RX@^‘­Ö±¹|EB"1)1a)šÐ‰ø~#2ý]¥yòáQ¸±Ü±cUíD|º±Lîý_zÎ<ÍÓ§�weGWw£9cObê¨eþöØ€ù­z�µúêDG.0&xŠè4ÐY „ë”Ç)#hx{„Yyex/›!L¹édüÐUS¿? Z™9Üœ"G‚�?}6t9¤+üè0 :ÍÂàÔ[ þ ;S–�¯¿€J$:‡“[²)kÙ1¸÷cM…ä]«÷+[û��Dp£má™/Ìážïfj[åü  ŽBT¶Íõ³ÿòò%�§›)÷}�u~®ÈBAµÛÄíÿÿ �l>d¢Rtb¨{èÛ22(6j•ûp›ù*žÚë£GD½á¸5h -Îb”åÀò1"Zté+û2�cz�ÍŦ‘mê€á ù!l—®gt\ á€óÿû’`ºº@V›X:àAƒJ€aï8é/ZläkÁ Ž)Á‡á(w?·ô ÿ"P‘¼€Ð�ût‚€ˆH[ßp2iO%B€\%«Ø`�[8’2!ÄàöêÏ)oÌã"�¿ÎuÝÉùDjGs¢ò.U´ÍF<�r"ÝÞ“9ÑþÊâUžÆgc«–œAYUܢ©V1µe›_åÞ7fqö]µûÏÇó°Ì×XY7Ó]ž²ÓýÃC)Vw@kz~�2Âã<_>S¾o*óHªmxIí¿Ã¥�%§ ¶© œÙwáðдÚü�¬Z+úvìÁA@P˜“è0‚B�ƒC³Kt“•Ù6Uá/\>Î\JþJXsYeÔñ‹„[ Ž>Rº³s.ã6q�ˆæ€ÌǪØÿ…–«¶tÃʶ!þéáß×ÿÝÓ]LšmÌ·û‹vè»­¨°˜y¹ü*hH|BH×.÷,¯ÿ«Jv8å¡¡:¬I�·ì&­Xaa„�•0åù+#�?} ?”ðK$¦ òH‰cl¦ˆ´˜Ã»ÐçFÿû’`¼€ÆLV›òFÚ€aïJO ùXmak�,jŒ=(&PÏVÈÿåÊc£BG ‹þNÎ̂ثA€x¦ ¡Œ�BÓaLd!Õ4òò%ŽÓÑ:ŽM<¹ÚµÆVnU£�.¾;L²œš l, �G9.ä”�›Õê~{‰ïÿúïŽkøåkŽzêZ?Ku°ªNMNkÿý9 eÍm¿W÷ë`ØH(6ôÞËDÌ#qš–1Ôì­—h[2þ•Å�RÏ=P)¬¥ó+c´¸ŠDS$íf('Qù13Äá™{Æ3­ŽÿMØ€/à@\Á” Cƒuh_e6z#†(£7%ÏSÂÈÓöV÷ÒÖß-·VÏ*£¿/²¬â´‘@l€ G±ú÷Ÿý‹7U—¹õÜK®ï®™ÔO½¬¦î‰›ù¯�¿ÛNuïlÓ©}©‘þ,,û?ìÿPIx„5\�”¶‡AS»¤ˆI#@|é™×ÃU¦‹¶›À¯„®Äù¶,>ÏÄì‹¥Ën?µ¿ø¯Æÿ?Þ�(9Òÿû’`¸Ó?Õ›8BâAÊÂ=ïJN±Tlak�ëŒÆ=(~ÿ³v´!;ƒ`å¶Nê–|ä‹EpEœ;HŒ_p1V÷,ð7uÍ!Á€×sÊmcÆ¿²nMÆ[Ù†ZàEâú‚6­(mð³�Q;Öo2Û6õã…»Ø5×®qøØ×Æ3›ÿ\ïüEÿß{›wÔ#Aýx:• ¬¼oƤ°¹‰ !·ñç )9ÙL{F:åš |æ²µ= ¼x0À‰ ãÚ‹%ô‘¬ã 盥Ðí$Žºt,«ªÐÓÍ´Ú'(õ9ŒbÁT7*¢×Ú±KISÿÕÓéw¦ øFY›š�3ÝQ%;køÊà 8ÙÏT])¤„Ûq¡«ñ“¥þpq_=¶±mêB0Ð×ÒnȳÖh°ea‚ ;pk4�Ní®I%¡g4`lNù("§ü—•Ç[)[ú7'‰°’`[ ‚Ûª¡³Æ „Ù¤§Kö¿5~Y„ifÏgÀ4n³v‚ ÆÕ~»ÍGþwÓÿØ}¼qUkB©a‚!Ø hÓk�mÏú;t«ÿìH;¸òtg A:Œ6¨ÍàhT�ÐløÖ;ÛàpTó�(wƒÆ5íÍ;‡ ÿSüÿÍNC‰ä^­Ô$ÿû’`·°=Ó8RàIƒJ£=é8ÓNlá �.jŒö!( �rb‚çšÐDšÌ€wÿpc2[Ê¢2I¦VNÖBÔè, …)Ò,SHÔ¥ùíÍàÌbs™ÔšŸÜñK¶*XníQH˜‡Â¢ Q¡hI•ºùª¾oÙ\/Åj?‰ÿ“×,ŸQɼáÄÈ‹¶Å„G2.ù_n/e½Û÷ÿÔvó¢£³G)¥ ÐÇ„€;"±ä�Õ]-M͆æ”{€ñÃv3#À�.z¨kCVíɉe¶}Èfº+SÜNÑ0gµ¡L÷\ãÇŦ˜P ÛkSPH ð:LTiã±êwµ*ñˆ Ùhr%4£¦–_Ü1*†êE®en×âô·°ÏËlÃ*(û…ÐLBö>„Àa…Š)™ŽW¼Ý65éÖ¥oèßõ¶ÝЭ#DS€Àéâ 2iÊ"Ž·ïÿô€»�…*Œ 6L´#lÎ@̓^_‰ü —uF»›h)fRãm"qyIg`a*'‡à%„9¨î|¤®ÚÐús ȶ¢}èZƒÿû’`¸g2Ô›ZàPãz­a�8 ,ÑPla«�I’jŒ÷µ(©k¯5š�j 7þ­ÚVJÃŽø¯bH±8e«Þ—M@0d”80ë¢îKýàtQ×åÚK׫”z!S+ Ål â¸Q€¦+•Ï[lÀ—1†�Q@ð0’a@ÃI—]m褒 —žõ6¤÷êsp0xbC%A`�ÆÐ™fjÑVÑOÿOô€Ÿ�×3Àv…@P‰Ú¾CQXž~�•NeÕ£$n¡¬›‘Të'b‘m�²c 0¹ €0~ƒáQÆdDZœû)þóŒu9ý›Ooú8j²tÿû’`ºA4T›RàRãÚ¢=ïJŒäËTl=«�PêÌ÷©p¯Ì€ ¿ÿ,.)l ˜÷_—¤›L)¿ýÙ®îèƒÛýEF7¯ÖüUË*],vΞŽþЍo$u<ñ =þs7þ¸ÿ?_zùúøûÎþíO¬ÆÑ4jxº›Bš^>Ïõ³ÿþ€*Ð4ñCÄŒ‡’ºµ èB'›¡!ÜfF‡0ÛáÈðÒËÛºâÄÈ}™}©©Í:þMLÙi㘺+]ž:�q ¶oN¿û�ú}îüý7u¬òïá†?Ì~îóŽWħ¡!…Cd‚5¡LãÀ çõý Â~ág†\‚`Œ†xœ�,8ļ|tâ[ƒ¼¤K‹AÔ/GÁŒa´Ù‹ŒJ�%å4‡ Þ.‡$œ<”tm”F0_M˜ÑjóVµ­3T�»ÔÚ¯Owe²nŠK©&ÕgZênËA$ý^‚ÛüêFŠ[ÿ¯ÿÿÿÐmSMLËÿÿÿÿÿÿÿÿÿÿó!1PÁŒ¨Q`Û�€Aæ3 ˆ� ÅòðÖ&=’.£ÿû’`½€ä.Õ�aàgÄÚc¬d*AZy&€zH+ÃÐê$Òñ`ìDÍî…ÌD´’-If#^fä š·ô›{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)eÿ#� �SµeXŠ‚è8¦ô$€€LÅbL{’æ¥÷7¹‰º#Ý!î£$TÈÃE8t†É­h©JR5u3 £‰$é;ºí·U§�j(%e­n´ÝªÙ¨ºªE@¸nŠk7ŸqÆ|5è´ÓÿÔ÷®K«@ˆ„\)ñ°EöÓ�ãD&Æ`ùwš¹ÁpjÖ©á¸]ç ˆ[¹”̆¤¯â¹H�v M­öU ŠŽ¬žm³Ä¡ÄÆÀ­¯Š$^Ov%ÐH"ÜVÔ¢ë`‰:òÈ[(H&É‹F¯3ÈÌaÅ›‡^á‚`àÁb�¢/Œc|Ԥ¢ÜG_ÿÿ½]i;\¼KMEï}¬\»¿t4Z0,'w]M‡Ú²¢ íâ¢}-oýaÎDÈ/”¥ê]új»:$èøVÄhD#¼ï‡1ÓH§¿‹‡ÿû’`¢€–CXŸ= 6Ãz æ<üýZlá €â�j„÷±(5U®P´éI=]ùÍ™�†°c–‘‚ß^‚tøCª KŽB9ÆÐêÀòY‚@¥pC"Qˆ2u,sžVëií§†^¨¤J w¯²•"êÊ4õJfì¸4шrÔbS/“JqËZ•ŠªÏ¸‰ ”^ŸöD™:Ži³š„sž¤ ´ŽqÅ-(ÿù\ƒ…× Ä êÇqòÅa”D‚oÌ.8»A½U‰Á-ã(]$µ¢™a8ñ´ËH’:w'©¬©¿–Æj†:�.M”�ýjGêÖ$r@¶Ät;ž0á.&K¥5bÌtCª5zYYa¼¡ª0-Šu¬£�bó{_-J£-<Ä™Q¡ÞM êŠ?!•?PÍ€š$& Q#~V¹•]!¢“ãÿ¿ÿú^"þxEÊŽî&Y"êníåjV3™–Vÿù|±­Û¶J°b5¿¿�XÚ©`Ä'™ƒÃC@}ˆAÍY…²0¡ a./Ò[Ø™m]Ž0Âl,E tÙ1¹7 ø,FÁÿû’`´€ÐNÖ9ð@CÚ`cJ¥ Vme ‰iA‡¥(ÑY„ß{óÒInÒtñʹ Bþœ€ ¨pRþ]èb™…�‰¨AÀ9ó‚ÈÌ8¨$ „V›flמiªó÷b·û1ˆ@ MFlÀÐÜB!”R=Oå=Ì.öïÿw�þ·áÑ"oþ…W^³ªJÞªd+VÁYÇêÈb«ßù•P•™ ý£#ú˜özÇAôê´�JÑI½LÌåØ.Äjö2þlQˆ$ÞXîÊ’|Ü÷*5¾õ²ÍRD¥ε ̈b·PÚ¡‰¿S’ƒü©Ô‡¨ËÔ¹3Å€SW 3�Ã'hÀ³A�‚.& w¾Î»�-©(ni‡aü‹êh° fa–Ô—C3Ï Rè,p€NÂãÚç2\ärÈuçQ¿þêãìþy¨è�ôµlÃz`aï8ñXläë��i�Œ=(>ûV¿—¸rtJÿÕ™pÒHÄš¦ DIš–Y|XÙ¨(�K„MíŽ�@Q¨Ë÷¸mj´¢®Ÿ¶¼ôP·i,j–ƒ$Oô.~Ei¸G1­[V¬~ã†ÿ_þå1�Ö.M?æ»#%jAˆ¯µ e6HkœÁNe wOÿúíÖw6ªº£»ä诱ù j+¯v2ÿĆš‹¥Ô­wÅHé;sƒínκ€w3“1”« ñÐûïs;†¡'0†ýí–ËMÿoÿÃ~§$ïHrcA—€kz”+,i£–ðp ãõ©Ñ)&š'# ”¬ä÷d«¶KxÛ®nS39wѹ 4kuäÏ‚–ûZqIC({+6l8(GkÞw1Hd>­ÿØmª9‘XŒÚöm+! 4cZÿþÇ£¯ÑݨÝÙÞÒÍ¿w«à-¡�b§DŒ@‚�y:H #T@l-–4q‰Ï®QqB×غÃ[–µ>bPG qÎ1Íÿû�`¹€ÆZV›8pDpcJµITläKÉ�©€÷½(—Ñ <~<7ÕŒÜ@‰ÿ5U�PÁ¦!°ÀÕɰÐÃiŒN!5š�À)‡±Qtùl’çºùe3垦�v“3ŽÃr(ýH™‘Oj vßId·+ DB.dFÌ1dšÍ;öùYJ‰Bæf¶òß5È-aT‡"·ÿ÷B%9ÀØçtÔêøŒ-Í…ŒìÁö›#A0äºH¼ʃ©ÑŽ`9ž• ¦%�Yav¼Êâð—rÝŽ F Ã]—‚ÌD‘SY‡<=úR'E’äž‘‡¥–+ ^u† ô$)¨Æ€µ ’ $(8Å¥“É{/xKñ™$†¦†#2­ç âóñþ@‡pœE&0˜¾Ÿ,ùâß-mñ³�ÿÿsæÞëÿ‹®™Ÿl5ÛZ’­“F'b H±'~ØF/KêÅBîÙ 1_¦û™žƒL:l¥E$ÍÑÆ&+”,\˜Ýí :b�*ãV×4òâó¿$}S†™)ÑÞ•¤WšOëÿû’`¸€ÈTV›ðEd*€=ïJÄÿ\lak� �ê@÷½(Ó07ŒxŸÒ’ÿ%*fªÄòD€EÔ††$ÂMn€FœPˆH,RJ³‰SÞ¢¤n�Ê‚YviîƒÉ“„;”Fà'v,%æA?|sÉtM“u¬òUÛ­Në]ÛÓÿZLê[Ót*L}N¾ŠÖ´©SI4(¦Æ RŸK�eÙj®Š\Ò�z¾ü>#>Ly3WpSQo$.{WËŒ•dw§Iö„ÕËlåE?ãh³Jtõ?=]œÀÙ(Ê$a~¬~ï[ŒÍœÂV@gb"¿¥cmézÉ}aEç,wº%å0”l@‘ƒšŸ¼û6Yêi-¨LßÅ1š_mFqÇ•RMËæYDŠ-ÌÊ™Å-{Q©U«ú˜oÿçÉ!‰£inÝlʬÖWåZ3yÅ1*ôD+Éžÿôè�úÿtJ!Ý™ÅBw7”Ê𤶂Ðw*ãM%K¥ÐlÛUgíÐiS«Y�Þ±Ž¢ËV‹ê7—•ΛKT*>Ù6†QÀXŽô ‰�4lÿû’`»€ÒAV›8jàGÊ€cJugZlàMÉ�*@ü=()¯êÙÎ C=€Šú²^5ÅŸ¨;3Nø‘Ç%ifnO3õ×)f.)«ÕGfÌmNÛYú×°–°Û° L�\m>½"‡œÍàõU±–ÎÜýww‡]ˆfzZÍölªÂ‹a’kdA¿c8ܡʤ878³¬Q¿íÕϲYÞï:õ�n œop¥|+Oà×GÎr `_|ßo,ËÀ‹Ä =#³:ÈåÎØe¨ýÆ�vdcëCp"b»GbÂ")©ñˆÐéoߨ` ¶—ýFeš‘ËIJCË‚€‚ƒ˜Å¢N`r™¦€Rªfø„ àdðY¤waˆkQk¯{0qìOÁÐõ$QѡМ; D<P–*n$šÚygºøš¾xŸþD2ZÚ'’¢âןdñL±f \½öt4Nç¡ x²ƒd�H,hðí}n–ÙE�Ã&ûÎ܇šp HÄ%ã +éBøÈ¡‰qÀ\§’ ЈSêvºvësÿû’`¹€êZVXrDcº€=ïJÙZlá � �)Á‡½("OO©©�Ýþ}êØò¡ë井#Ô@˜‚h„LÄ2éÍ-ƒúùÜ%g !Ç¥.Fþ²v…mö„Y€’jä¶:ñ¸ Á—SÇ·ZvWmæ%®6€r%+•&LYÐÇ]l>Ú™ŠÙ}ÔÔuÿüÃ�SPËøQýWOˆ¾%¼ÝS8Ýz«9úÔ*gqVœ¹mJ‚\öœåL’T Ç;Áºñ.-³•tb‘Æ©~¯p� �|9q‹Ïq9gßø¬$²>y[޺钖%s�€ ²AÌB+(`!Óˆr.H4ù–”H¨„¡ hB±²„N8Š¥¼íW�óìðÄoL`ÓR‘Än�&jr¥Iù©ÜóHêö[¡ô3èFb ¡‰+ô¿ü¦uË=ÐŽÉGou²;«‰‡ÜÄ!¤fýR‘ ™ ¬«~OvAf1 Iè*¡ÜʬÔBÊ6ˆÛå`m±sWàíªçt=‘N>”¡29“‹Î¡…Ñ­Š:™ƒóôãýÿû’`¶€ãAÕXZà;#Š€=ìJÙ9TmdKÈì�)À÷¥(¬Ç¡@ÿD(7 ¡¹¤0TDP1PEP=¦ó®Ð)'�X#qp�$©jcØ‘Fy Æ.µ½Gè–Œðʨ—úM#ƒœwI“€Ãâàa`1He0¹¥t-•��J[ÿ£!ŠÇ²1ï{oU¾ržèuAÓªG¾pñ‡Zu� NLL ™¡Þ;Ç”¿ŸÃÔ™HZ±[PÚæŒ‰Dþ0ŽRØÂ /ƒyógÂÇ÷¼øíä’À0]L¬î™6‡äˆ #¡@ R«Dv\‹æ l#ùˆ’f ”ÍGŒ3iøÛOCHUˆç"O¡½¸"^À”©¥Jâ­N-Kuã‚í\tfÙ(K{e‚ W)ÞÁ^ç©ô§ÿY‡C2ª½[+)™ŠÄS3’ìˆïp‘ÌE³�=„W'Îß›~Æ”2~å­ÙÇUHc�”IAqa¯sb†Y‚·J DÏ—)¨h-{ùbŒ\Ä+ÿû’`¼€ËAÕ›9*à=Šp? J1TmdKÉ Ž)Àü=(ú‰þ»§IF´Y¹o ††Žd—� yt&éhIœ<¡«n¼sr—Ùü¯~½Ø‹>‰Õ¤†3—³?y›«ûn5 Åãåy‹{úçrËÿûW{Y%ówäš E4Ĺ˜g*UÈ �cÎî ØŒ½ÿ¶•SÜë×;µ%×f"ª‚—ùi–Y~•Fè�XZ)ˆ÷cC0ƒð †gM^žn�‘ñCü”8�é¦*FRª±–@’!J²ÚK¢4ßnë|íí@"Wù™�¬1 Vs’A‹ÅG–ÏK¬rjæ‰ä]ϼb´"Hð;4óÒ¸œªbØOK¬SDiÛ ó*BH|:ÆÅ㢵#×e&‚hÔÊ ÿþ´jÒM×NÊe3)–é¥j -fìdyn‡¨°�šŽ»YU…F+àÉå�èk{˜„ÀeC‚qVLBõ¸–œÐ"-Ã3Jvšª£©FVòZp¤�.¡¯ó$¶§@® ²%’{@WÅøÿû’`¾æ\V8pAãê€cJ…Zla«��)Á‡½(‡‚3Œ@Šþ¢=HUÒöi*täwðe( à �ŒÀ-Ú¤½fÅeMF;-›‹Át÷÷6þN.·ÚNüÑ¿-å,i˜Ã“J¦¾èh¦aYçúÞýÿÙç1ÿŸ_Ì®ä¢ó y]Þì½ ÆEer ì1™µõï¤_/è—Ou~… ä&�0��Eâí“Èü ³�Å•Œ!i/àÈ�}!ˆ“3õ`9ÒØeRHl3½ph3Í äáa.Eô¿�±¿»Ö4zÿ.•'m‘ÕQ¸º¹y…8 1QçBÏ‘¤(¢È.XÐCH¯|0›Ûñy�¡G}ðŽÓDYD©û–Jfb3 ‡cOÔÐdüÞá6¥È~e¼Q¯j}òóÊþ¤âèß~¨Ç™ž¼3d¢ØÚ ~²PUáÿù~`‰Æ)šw°\8o–1wj#fû™äK€–)VUÓŸ§h)À‚âié©}@ e@ˆYSA�š%u;2Ò°WaiÑ`‡ëŒoÓq^ÿû’`¼Ö[VrD£Ê�=ïJ)1ZldkÀÿ�j€÷½(�AÛ¥Ô@˜@5NLÈP9›Btäd p€O ’]Àíñ8C"=¹½0õvšô$¹qã3·æi�†K8䵨ÌI¹¼¬)MXë:£koéW #“6T$âqTr­þÿ¾’«‰br˜ä•ihT@¥DÒ:=Ûÿ}�|TÓ±"ÂÔùUâ¼Ú!Hˆœ’qc,W¶L÷[BKU(üó1QÜëÞ¨œèG#Â6Ôy¶ëe…!¸AJÁ̯!e¼Å—ƒZø‚t¡û¨POó"Ÿ5g¡È©k�€G�À™"wÄ£› FbÇepx»N•6ø¡¤ùt%ÙÖ–DsoèeéÊ1Ï7(ƒýuJ�k Ð /Ù¾Q…Q¯‰Bñ™'à˜’¯œ¿¡Ó¡Æv ’)„‚Äìªn.%5Hb”’ÝÑÍÁUâp¹©‹ÏVËá[ÿ\ÃX�ì!èÍïOç($iÖ´vºÝffºj)¨—!–uö}§(Ëu'3«ž�Õ]f!ÆglcÐÚQ  x¥‚Ô!+µËóaÌ÷JÁ”ù»‹¨‚žNu¨* ‹¼±wýBЈHÿû’`º€QÕXðBä*p=ìJ%kVläMÉ�j÷¥*ÍÀ°Y¶§ÖWç‰ ôTâJú€€Eü\UHˆ«‘Ó$¿›D×Þ!Œ˜“a†¨�Ǫզî6|è¥ò�Q³\¥©)¥s^:h¬ôf ÁÜ~¬áªZ±<çb+'{ê’‘�—û~¹”ŽCúœr¥œ®·‘ 9€c.ˆå¡ö÷|ÖEìsœëz Ô÷G{â¦âHRâš!ì°Ô³Z‚ˆJÒ„ºtbþt]$ æ¢ûê°Fu¶xœjp?ùšö:n„²“÷{æjÃóæNP GüZ¼,¬ Hd…ö™ÅÁø¢ÂgA5”fhÔº€;Í^oå‘Õn¦³ÆŽ{]˜n7 [†(š\¦t<`)ƒŠªž=~féúšX÷Ÿùùú§h‘é:½´lãÚç­%®×¹òâk¢Þ�o8õ …Áí�™ÅdÆ�1³µ.H“ˆóœ\€ž(ƒžV&æ3tä ¿¿0‹³šQT3“e�ôK%ۉǛª„LVŒÿû’`¶€ÖMV9òC`? JOEXlå � �)€ü1(ÜnK¾ÉÔ5Ù£I™±¨@Ú”€ôƒ!>€ÁM$È Tk8_㉖)°E—­ �ò÷gïóÁ”?„vv‹ÁñwŸN2)è[ÿ‚n6&9 ¬ûÃ/sëîuÚ°{$î妴e:)H‰=nc«"Úò3]�”‚œæA*æNÛò»õ$¬kôÛ·öôì !ó3ÎìÆ§ù`%ˆo“ɦÀk€KðZsE\íå{;¢O¹Þõ‘K•ê"ŒX“m½N„‰t’8ß kz¬'òïRn*û˜€$�åI“Jí³^ -P°ÁbĮ̀À‰1‹ÆVqoƒÜ³Z£5{^‹ì�éªX2,«)Ÿx “¨Ý¦¾à@�ÓÉeßj¶-Ö§¦ôÐò†Y!Kß/+ÿò3½&$Δ©I¦G/˜,™P”¨‡éÿÿü¿B‰ûŽHïû òB:ïhöc¿ aðÀ“:oÓ—Cm9¿—Å¥²¹ ÛY¼ ‘þ§s@ÇÒó—Y¬£ yÒÿû’`¸çNÕ8òC£ê`cJÙ/VlàkÉ�ªü=(Õ€5™}¿ÅgÔ=}R¿Óš�2+ ‹ă“ ÎaÈ<ÑD4äªR±! V²™tüÄLÌØ\ýŒ¬@´Ø6Ìbf‚®ÏW8 ¬€ìc�>:=Òk)¼Úÿùç¯Þ¦‰…î­xž.ÒÚb"ÇvŒ•\l¸ÑO© #û÷ ðloÇqv-/©,RlY'7>Y¿ÎcÜñ+–@TÖæñͺ(Cå"Ø÷J4`¿'qúÚ`. ÂE¨?àÉÔxš\=ß¼8š‚�Ú?Ý~«¢‡ë-�D³z è}.Ê€Ô:¸@FËãt’9¬d­ÕwK¬A4‘(Äž …_–Ëeu%ÏHíÆ�üùË>øŽ>èå°çÝñ_ýT웊u\×lc"ïdÌ_6¥MÖ·lØÃ�³L«ÃÈ•v›}� +µòÿrîv¡ Ð VƒƒÖÌëz¦-ºŽé�ÄhêÈöØ ܺ )òàRjÒ7ÃaÐò/dØ/É�­i°?ÿû’`·µBÖ8BàCÃê€cJÌÿZlák��ª@ü=(‡‹ÿMLíûEÁJ12Š Z`1TG!°!ƒeMG¼e mTÁ3ß÷šBöC Å@¬sä–ZÊ…3øÃ{IÛ ¶žnÐ,qý[« *³z~諹Ù�cŸþÿ½UÎTA$dES­2éeb"˜âÔ¨öw§§ê׈ b_6”rèë·‚Ù[Aþz–…;|r�­»jÆd4a¯¥ûÝM…G 00¯7Y [" Žj=Œcáž©)òàW§}FÙëâæ¿ã^äíp”'Y>$†�`ÓHɈÈè x)ĸ¡y¢ \ð&:kDa¯›îöÀñ%Ë�„¹Þe2y ¹êmhÚ]’H(§yZŠÈ«Er5^¸‰à"¸k8R2<Äeÿü×;sæŒT¬IP³RTÌ ·b€Û.[ÿìï{pœãÜ·ŠÛ‘ “ÚfÃŽàïQ¡Šr]å9ƒqÅb«°Qd j…X½œA+ï}"å\ T¢�)XŽâ†‡تFÿû’`»€ØLÕXôG$*€?Jý3TläkÁ�j@ü=( c«U¶¹›ýÄw¿ˆ¯FäJþñyúºœ'-Üo H8à›" oåE½•&EöÅY¬ôóÓò!pezfôÌF4õEpŽäúZƒá2ÉÛ­yó�¥Vqÿk‚Aõ"¼ç“KÿK“2ÉV˜Õr2³“)Ù®“»…vÅèGÊtút¸@ Øë“]B!ÿO‚­K‘:KT9e9‘:-œ‡`•+&œÃÆÌ¬_½‚?VunúÁf¤7žY�Ôa}m!|®�¯4™û�cÅD{P€I/ö(ÎÈ@¨%rKŒ¦§¼£—ŒÀT PCÁ&‡šÌd¶£9¿gÎ>ySQ:ÅŽÏ;Tôö^AQÔ3] óoÜèù¿Ö§\oãÿïêùÚ×E2Þ뙈åÌ}×pݵ'îÔjí9Ѫä[á„§É�€ [ž`uD¨âëá%éÔ ò-§“{~ŸXêÖ–VŽÎÔÇM³Ó}oPDºBê^5 éúgDq Äš>ßW_Úÿû’`¶ÍLÖXðAãÊ�?J Zl½k€ð�*€ü=(9òäú ¾âF8ÏÊŒµ«,TÙ!ó:¤ÀÃ_�ÃReg3%‰…,ú(SsV‰ª9‡e²Ã·fëØzhôº9m¹ÏXtŸ0åp±Ãh}—ü´ß.Ï Ìÿ÷ÜèµÔq±-uµÚ£Ýü š±ë&3 at›ÂB/*#öX•Às†zLð ¶!D=F ‹„0 õœ>í¢šÂ¨MúÚ®ÃUÔõZˆ•BÊeRüW³”Gª¦‘ærëß2ãúxŸÃ”ÒqP$ŸðN·É])°¨ ˆ¡è 3äÓŠ×X(±òâ 5 ̯oSâ‰nÕ©CLÁç³v)Zü“9|Iè”ß~'Ü«NôŒì–KŽ; 3aG¥^Wk[O½‘Hwj)Έóíe}Èî ЙéJ½¿9¼PEá¡ Vª… þ¾¥8E¼sPI� Î6b†Y"´! ø™eAø7e‰gRyhæA ŇJiA‰,ÂN;w&¿¤a^ûÿû’`¼€ÒBU›XBàDDp?J�-Vl`KÁ é€ü-)Z³ü˜IÚ>@veN@2‰ºa†9ƒ‚×@H‚î�MTÀÐäHæûÀ˜¿ñÊÊ­I”Zet·F ðÑ@r»ì*™mÐ;ôÓ�íܬJ5\¿ DÙ1ÔåKþó32#j¤¤FĹç>Öœ—T b”þ2‰·ZZÛÓÑJ÷š“6½UÁ_%â‘ÃRïS²©¢È$šÝmz·©õQ¤§MžÌ¥QE#èµ’A–�Ô–¥¦‹š»˜Ïž \»zPg_ß0)Û“EòS�Fb¥€áÞË:€–¬Ë…E[÷•ص9öÖBòŒ» €®Ô¸d ÖsHjŽD-žŸ X‹AhŠþT0FÑ¢®ÀÅÆ˜Pfˆœâ»Êr!5I—mè"#Š�=ïJ(ûXleK€ù*ÐDZ*Y€’ÿk©B\&H½!¢ˆ€ ”è0bÁöW‰¬Š Ö”o«jìCpv4´1¦Ã­]¡�KËÎÏZ¯>ÈéDü‘¡vr‰#%¢j­�Wt’tlŠ�ªÕêmtT¥-õ- ]N›êS é©k¢³çSEHŸDê°ø¹Æht>¤rݵI'ÔŽàÜ#-RŽ,˧ª÷n['zT¨1•Z�S_Ïoë—Žó?•�\[á¯4^h'‹�%Œì4ÔÁ½V﬿â,LE�…ý P¶:§  8P&Ê ¬Ç€ø»pÑNÀÔˆí_Ü–]<ÞVfßévRŽ2˜“;•6ÎÝ,RQ¨ÜÁ+‘˜û¹!ÊW\®±DÆ2ÛM—ý™SE2:ëš«´üîòNìƒ+Š­.Ÿ$¹[V%(…"¼®(Ù}Îl{—ß½RÄç¾P¤�Öe–ÖK'eûŒ;l¼25c¯ES¿'RÎüaLoÉ4BÕv±¥$œÐ#Å$=!Ðÿû’`¼€÷BVXjàDÚ�?J¹UTlàKÉ�*Œ=(�ž.›Øâ|áûŸ ’þÒ&qk,ŒHˆ„fçšðYŽâh IAö.ª #SqÂ4�‡2¬ÊÅZ[‰ XÀT"K¨†”œ¼Ç}/3Ôsÿ;÷¯­Ü÷<Ýò·/r¶ãbª"ö‡icHD):w V@¹fܰÛv¤üŽ›•¡œ»P[ ¼lH­ WÑPh”:iB�bfZŒ/�„åb T……gÍA“Aðä–1¤·ž7ó_‰ÊOÂäbO“¡:I qD˜‰±9“Ì­J^§œª}*ö^ŠÙjZ-uQgÖÎÏW³-ÙÏ¡uXâGÍ-wŠ’$éS'½"¢À�PÒËGúÕÍ‹ïÅÈÛ$�ØPƒYÆ€|F"°Ò%Ù­à¢ï5àPç¬õž¯om�¦ž™ÎfvU.µ¿þãÜŒßÝÚ‰Þº½‡Ð�>-e´ :ƒØ#‰w„1iˆr] B<û’¶Xí‹r¶Ë¹Ü{$�ud”�ÈCdž�òñdAÊ¢dCsc½î¶6Ýx»¾>õîj6šIW¹ý¦µ¦ºÏk7(²‡PéÑø Ï)rÚ·å�‹‘@ ñ�ôûÅNÍ#ªj275 Ó¨N†“™„–O#è œžÑz6Ô¢7½@Z´ípÖw�””„”å´Ä÷(âý…é�ÿû’`ºBU›Yjà;#z€=ï8OeVlá � �é�‡±(«Ó2är­ÄÀJÞh€ä©>R¸`‘ÀИ`dé™CK¦ ¯Y£ÇV¦•$méžhíܬá¾.yBѦ�K,Fèv•+‘Ìå/ÂWœOT{ R ŽÅ•Ћ¹ßÙÕÖ6½žêéB³3jg3¢¤¢¥ ±DƒÂ"L–Y÷¿ŽAfŸPÀÀhÍ4n&*gþœ°-'ê¢J­ HHG¾ÄÏtJ<àVÉ~9¿fCyûlìž!ÂÐŒ~uUñ\ƒgˆb˜|Þ×™„7; Tþ& �I„ Q˜ o”€6°KA $Â-‡ºE2NmÃ3XÅãŠ8»žKÙ]p$íjšlÉ£òhëþí=Ð$f\àÑÐo:ã|Cûzs&?߸:T¡<ûLÿ+®rhù\ñØÙŒ9ö·’mŸù)S*Þý¤ (Ýrì"Ý3|ÌK¿‚~¡ &ã„�,£T™ã­4©*J�¾’¼T‘z­‹ËF˜—'k©š HÓPûfCGÿû’`»IÕX*ðBD `? J•AVlàkÉ�)À÷½)sFç¼ÿ-…ǽú¤Êþm7`ušÓ€!X%Úh«°ÓZˆËP¶¸[Té/Zü[Ï–C”*iŒ3Ú,ey;Ö¥¹?¹ëó1Xüûò|‡L’Ú'sÍ÷?�ñ»£®ÿå× k�µ’ø†Syâ9ˆÿ}GÏ Õ¦§'J ʥϙFYÁ½QZš*S©–‘� P–Q(ÅÙPI÷FGg‚‚Î6^� 5ØøÁîÒ,a DZ„ÖФXð Å1<6ŒÏˆ.;øÌ Ö³Ý} %¢ò.$ëbeÆ€TÐ(òG[–(‘6:D06fYgš–U&¯~?55­ÌÖs*CôÎöS¶!Œƒ w €,Ô)‹›ö¿Ý{;Ûßÿ?ÇQÛ\ÖC">˜ÆuÅ÷4ç×sËÞ©ã¶Ýê¼.ÂEG§�E­rLû¿Óœ&̸ˆ5‹À;@"ãr2áT„ž¤#lfZ²TÙ~¨‰¶*VﯛY‹KèëNÝOlš}XÑ!lÓÔíyeÿÿû’`¸€¾AÖ›ZàCcê€?JO9 Xlåk� ª÷á(ÿËÿ»†ÄIþ Œ+íY¥…�FÔ¨&c¦zØ!@€pP��jZ©4*äú[¤Ød³9¨Ó¯!jPEë»Â¼×˜ü:F"@¤‡ƒ&<��yŠvŽë$¾ŠÇûÚÉÙjÊŠö³ÏÕÕç²±Êú£å$Å΂JàÈð²¥ÅO.�1)aeð²ÁRzÌ3±Pó³´¸—¡ „õVbIGë/…±“²§Ì$fMôy½HÏaŽpÐA,€™e( ËFÙ+¿!Ä# Oú÷“¬¶Æ�Ê¢B"jƒT €(Â|¥¼â6Æi©"ñ*:yl‡á(a•2€�ù;½Û4°ã‘ÌÆÛ´±¡Yåì¥�}èÊuF·É£,–Z^‚h®ÅR&gHÖ%” ª4ä c]ÈT;×Äd ˆì&0øÈúÿôö£Ì_Ì4’dI@f� Ò�~eíë?IDS6ŒIͽ^�C�Æyr§N·5© “ Å:»’äÕ0·›HüZó]äMÿû�`»ØBV8RàBÃÊ€=ïJ-%Zl`«Á�ªü=(úßB‡. BÛÚ yÉßRdˆh­Å—q’3 pŒ¡E§´Òýv”VE-u”üÔ²XÝ �S•j6jss’íßo;'u`{‰pªP&K‰“›Z+ëÔ“$µ5Öýìªî�}JeÕj×mn�WYŠ˜ÕS240IõÇÑrw©Û'mZ?×ߦ 1Cüñ<ƒ½ŸK j4ýÃë(‰“��Né{Ö™|^ÞÆÑ(tÌ$µJ•ΕJ¡œb b9H ”£#ß#–¿Ãmÿ�Íô,Q+y¢© ÙA\J4@“˜, ^ƒR&hâú('ª¹-·aØ.5j£¦³…ì%m»Œôö§g¹/`,Ù‚�I Š—‰î‰RgPÐ3ëjÙ$q©:oo§z’MZëUkwIVº E�IjeT“N1Å—ùA#Öù‡(‹"Øö©MÓëÂäâ¶0?*OQf,$!¥Âeñ×,H½u廟µ¢Ãíc,]¬+šÑs¨iÚ¥'©±ºŒÿû’`»çCVXjàEä €?J Xlá«� �jü=(=‚�]Úû¼L}@}H(k¹ ‰þª›ÈÔ½–}”¤XØ€ÍÈ`´”b‚Ð bР?W1^·¤ñ6£’TJ­µÃªb.Ù†RŽfQË5³åìåò1ÑŒæÓó¿êÈDpš9Ïyèïðó±Ao ‘¡¹ZWËÿÂs]ßÙ"b°ýûŒÃßí×Pé(òYÃCpšÐÅÁJOa�Ø-¢ÖÌ„ë.géòqy¯–\#6çšV±a" 3MáºJ]ê›]Bqþ4 üg1í  {¢�ÒmK1MK®‚S áÄA±¦ÁC5%0XDónnĪ3ÊÆRõìâ©dÕ<Õ$ëí6¹ P+‹ w˜YUiRsôљϽŒê¤DI^BXŽz%e*]�lBsô�RÝ(eà71¬,X®JW÷'®Ö‡ Q–)Ò„˜ âØš�$í ,…“qÊqŵ°@DÅÞ'KïÕD6­¡©`% †�Äê�9ÿû’`¶€µIV/òD$*païJ ÿVm`«€ø*÷±( &uó‚4Þä,JÞT"5(úÄT©ú!©Q¦ÂºGÍKǰ³�Å2Æx–,Ùylˆ­Ëv[Èqµ‚°‡rŸ—ÅÙË,ˆš#€°Š5¥Èüº¿ãJHŸš¿úî[ç¤Zj©E»·Ÿd„Ö´‹÷rÕȘáÄ`•é}|NEŽ�L.õjþ)0Û­Þl¥‡“âpwƒ8•–á ꉬL§âjÖwœ[6öÙW%õ sÎÄ䦤MBxVO:Xjdt9þÕ>¯ŸÛG"»¨2h‘Kþ)´�s9“�¶E€°æ4 ÊR„¶ ›«¨½ %K˜Z‹HémÇ …-¤½3‹¯,w+ö~š~ÉÖ¦…KkÎÃÖioU»}HØá!™³Ö·/ûžfa‹‰û)Cbžõ«# 3}âE¼<ÊäFÜÿ1óÊ®ËƤTNrTت?ÕO=Uf¢è™”f"�œ(º*Æ7QTÖeļãÔ\“àØÙ¥ÿ¬~(#¡!¥·ç¸ÔðÀ²•�¬ÿû’`º€üAÕ›BâBCêp? J½'XlàkÁ�é€ü1(­�Õ›=3‘Å9‘Å+µÅÀŠÞ©*,ÝŠ.‘(Ëtÿ‚LÙ›Ø&ò(‘É®�PI¦¬†äëÓ}{² +±9 ‘nÊ,Es´ýS».¬b¾þCÒÙéEK‚ €P¹~"Ù|ÿ¾…™¡Xõ#š ‹M¶Ò†éåÓ ÁÊ!hèŒôÚ/úãÕ«,‡}V '¤ß7¾<†ÎDØxH«Šþ]jrhê'û“ ¼š—m»ÍÁÿq&Ë„HÓ@|€õæ‰É¡1êiã�3³04ì¹Æ6 “µ¥X‹L9UV¢k&!ñ€+™öuz5­h¹{´€¡àvrÂØ´Ý$ÄMlÊp�TgÒ T­Ç¡­-w©+©zÃãw)ïSNuKµ7™jçÆ|óúogÓrÌ¡�ŒS2-t™×m#áfI¦ÿ?ò��Ë2﹃Ø÷¦Ì f,�l{…æé@�{eˆ^S(²Ò§W ’)GXE͘³‹E -¾&OÂòܤXJžÖÌèJ¬Þi2ÿû’`·€æJU›8ðC$p? JOUEVl`kÁ©ÁŒ=(ѹ¦žgÁ¤ù“Ãߤ™xÊIÚ�T˜,TÓG�¡Ù †è!3Œ¤Å=‡� Q‹0(&!)¿g¥¼“NLØmÞ%ÁO9Z–|9³Œ a ^ÍQ8÷ÔŽªn×s¦ëÝÿ}]qW=Kj~ª&ºe{â"-‡â{*ƒR é©Ô`€²#¡䦵_èç®�0ÃáñÉ}+zñÃŽû[œ'c´ë>�Šy;’¬÷FÕ±iS,FÇA¶?Š/ÂÆåaMÿóÏtHÿdTÀRQ"ÖC€0[M‘¤0ò4[&©p¥Pl3)’Î^nîŒVŠíyùD[´S9·¶³džñxØ=/ye-ìwïù{;QwÿSü×s4Û†]ÄL1òÊÛ5/¨|>]?*½«$QþP&H›æÄMÇ8ƒ›Ÿéëñò›t²%pñR§ÍØyw?ªWf~ ±š;ngh�£ÁŠå„ž3E…)?å;‚ÿû’`¶è@U›9ZàB#ê€?J=Zlåk�Ž*@ü=(|¨z±ä[õt` y(#Љ޸€®ð3 °)š¬g@ƒ‹~äÆhdÈ $Æ¿"IîgK_YÊ[ò\¤¬š¤ ~jW‡_ç¯�ÃÀ8ƒteTlJš4��7ÓJƒ)•ë©êÖ·¦êmÖ¥ÝIÑ­n¦RT§±À�:0.ÞÕ#¡@R©èØxbzí`ñk-ç¢V¯�yK§—K]}‹¿+r`:;yée3X)Äâ’ŒP‚â¥ÃŒ©W1rÚÚQ¤®vÙ"³ùkŠ™º€ ¦�á DÓ©šÓ0Ìa¢áAƒ%«(ÚÞ“(#OtåÕb“Q7Ö]+Ôû\¶ 7zùÊW6óÄ)/‡!q2ɪ*6<‹VËÖû¦‚i5•Wï{®…jR­­ó4“Kf{©•R™Ö¥žÌ`–{¿ùíïu ì·Únå2©"èÆ£T€¾RE眆k3y[Û `2~_Ô‚^Ü \'"¶¢!³Égñ‹qÒ7‹¢ÿû’`·€â>V8jàCCê�?J•Vma«‰ �*@ü=(%PB3H¶Ëæ_õ?Ê:úCÿLݨÃÌq|>à!çªEÏGÖ 4‚·¬dßNá€<””SlÅ9±£Õgú(ßD¢³—â�Ì�Œ0oEXâÁ£“ŽMND³ÖY?·^ÔŸnì·º:K¥mžä™BÆ!;)ÇäHèÄ&²ƒ›‰n#YG4 “$Xïý}µ* €M‡úU‘dpJ¯VU)#ª D K¼Ï.c«�ð²¥ß jÊrQy.®¬Û”0\‹ëj„]¾„0OŒ3Óü9IÝÜ�h­åd‚ÈYkô„L Ç\d`\°ØÚb1²i¦êÂ6†ŸíiXÎ1G9³þÛ–¦†®aKÈñ}>_”‰Öè(JyŽ(+»_ü[ÿLçâÞùÎ>7õóÿþ¹ÇÅs¼k9ùøÅó­[_ºûßÞ5Œ[âMKp`&¿r–é„¡Á id�GÛ5xg@ûOˆðž»0ËøD—·²Ô$ü,®wàëW«£ººœÝ$’Ý呚lù=šÊÿû’`¶€ÛDÖYRàD#Ú€?JÍZu—€�*BŸ€ÙM˜‹dÔùçô9[ÿ¹™ôèE]÷ûÿÿüÐÉÌ‘7â(ˆ<Çá$ hˆ¡† øöÄVa¬ˆ¨fFDARj rºŒz¹‘óS+˜åG–Ç=Q�e^çvY¬0НyTæ–J÷þ2·ýΟÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÇcsWÿA0Œ‰;†C ¸cƒÄ%ÁÄñ” ˆ.�]XŸƒŒe�aä�ht¤‰Å"¢‚�Üàñ,5.œZF†ˆ$ËQª+›¤“Ï$§Ð>«2Χû&�™$‘@Ê›³ºLº-Ž µïA–´Ò¢èWd^ÿ2ItŸôÿÿÿZ¿ÿïÿÿÿÿÿÿÿÿÿÿÿøKv�Bc2¹t?.•2R>7ÍÒ‰?®P@@J ²8Æ(‘‡ºšåÀŠ Œ³HízÖ9S/Ÿ]kêçÿù©Iæns8•‰ëæºfåšÙý.¥XÚBî4U´@Y¸Â¹SÓóõÑ%ÐoäbèŸUÔp¬Šÿû’@µ€j�[ž4 ‡r È4 ) `}„ e!lž°E¬YÉ�à œù4kÞ¡ÔÎ2w=½|_4ïþáµ?ÿ_ßÔ±»fæNLKbæºtrç[¯Øø{¦ Ö˜�ÕZþ€’þdenk‚´ÑJaD’Œv°‰p\ö4„áBðÈËšÓ…K6öÑ6VÞ¯#Uúwâ!~`÷ò³7·:.  ?9ºvi�ª�cÛ«]ÝŠt[+¥ûaŽWè&b(å@.qÝH‘ØåsÓ!Ã[\CúJUT‡ %L,GèîÑ%hWç(sÜì!;¤v�‘Æ… 2°!ƒäîF>’‰t�Æï3•c¡/ï}UÀ’É}•¬´,. •DÆŒFXx ¨ŠJ:ÓË Jï¹GkÚt[œþð³ ’½³ÏüEMŠB_ˆ¤ü‚‚= öýJõ‹Ã®r²1z&ûôFјÒε1Õ4¦…˜®¦‰hw`ÇSWÿÓ›êS™ˆAÕG†�I9=>5P7AhÑnuÞhQ ب°àèH[ÿû’` €“@Ö*à?ãÚp=ìJN©IVläKÁ©Àü1(e�èrÁ�ÒsPB·¡—-ËŸ)ˆ¤ä"4!Èäíæ™»•í½#¾€›Ú±(äj IJ ¦àÓHÌRå $2Y£“7yWíiÚôÓ2‰DößT‘C�LõIl"ÌQÒ•²±S„ 1„ìÜþ*�ÜÜëïÅÿÕuuñKsn±c¹æi45èt“UÉ'”�Æ¢ÉDys /#à%6×>P³¤.„Ì8£Â†n,¹‡ZiHâ–ðlÅà•ʼnà§å¯œŽÀÁy`ÈðÅÎl™Ö¯ÒÞ½ˆ€IŠs¨Ã‚ä!J«Õ½ j;Š}nc•YâùéshЦKfWé­YD°V¢/câ©ø" õé&SíšcÚüGšW½Œ¶Rå~°ž×d'µãŸÉKÈh(“Yn‚»¥LZžáÿû’`«—@VBà>D€=ìJ Zla �ªŒ=( Ù|Ðîç�-"òão Û¡‚±Ë¨“ãU\À’*Ÿ98Rµ°d…†ðbÖÁ‘ê× T~0‘[¬…øj ‚дð±Gåø~¯¯Y+fu™ûÊÀ½ÚœÇ+ö9êS I'Ú†ý+=•·TC™)U¶Œc,3äSÆ=Á"Þó]v[1œ[¶ …ͰöƒŽ_I&�81ÁÀ^‡;®2)¾ä]⃜ºîM=¯Ôdk¥ì΅鲚U) £¡ìó9·‰¹†+Š`g†b™YY¯ß2É¿ŒKŽ€d�¦„C<ŽbB=i˜€± ¢ÎÌ ëÑŒ I&B1ÖêS1fyKy•˜Mëýª�J2ï·y¨r†C&‡\¨6H\AüG ™â‘(``­�ô–¾ƒ©Ùîídu¤‹®Ìʵj»)l¶eº�$Φ‹LX€ˆ0ТVW—pçëDƒäÛÔõuæ„*ÄH.—,&!b ( +(ÑqcÇå¹Dæ˜wp‡zµäÉ5 Àpv �õ�Ábiÿû’`¸íQÔ›XðCä*€?JtóVlá«�*÷½(‘†4Ä·Á“,lÌÚ÷˜6‡Ý@Ñÿ‰Œ”ö˜<,aÌ� àÁâ ñøQ­Ø0³ �Ïe,5/©o³pe¼¡¹Sk]Ê¡~#oÕX Y-†’ þB[I$‘OáŽæ;ó×Ï9lT@yŒ¤7Å’ îˆ•«ÉŠJ«ßÎ^>ÏîÎÖokÛ Æñþ¤ž ÜØ¯K÷«¡¼‹•”éè+Ã…ä å�^¶“b‡/ +úRS«ÖŒ¹Bà/cì’æüî~ºL…Ǭéa\,Èܺc+48Yå™ç û}#³w&¦�Ù•�u[,‘‘³ 7cTu/÷}Ïw_¯ %8†�»çõ呌¼ÿm^q�ƒååS3^�yìÿ³%ÿä™Â:Tˆ³ÂÁ®À¦Ž|AÍÀ‰^F™Fñ#:…bîʲúM–g;L*^m9×ÃyåYöy.wIYZ¤Å,Ïÿû’`¶Ü@VXZàCCê€?J™YVl`mÁ�*@÷½(Ñö E¨îY£mý±×ùÝ@@ÚV_mž&êD­  ¨ƒ€N›ãPt9á{.°î¡1ʉFdôÀ±ÎJè&=úòªx&Ësr']Ç>Œ5§‚[¡ ‚ðä'f2ØþëA™$ÿÕÑSµÔ•5­Ö‚¾‰ÆAõ©í¶u�ŒGÊ%�oP‘¯ˆ ­z~ Å #ÁÏPøKh「s…‹×øš @à_G7Q&ãfë´©Û`FDa)‰›^!ð»B��à=T�'ÎÜqœH3mQ;P”Œ2Ç|@ L�C:¡>N0CL ¼–‚D ±¨KÏ•=hê©&¤ö¨%2š9 Ä^OM+—D_u5Hb?XÔȰÑ$t––»Pèl¦÷¦“µ›Nš ªÚÊ©Öɤk[îçÑ ��"æ\=ºZu^¡quÓ¶.G+‡Ä¼O+’ŒË1J3U!ÕLÁâßUtï«@——)y|}zÃÓéë�x†4„¦@øXpYç(¾ ÿû’`¶€Ò@T›XjàA#Š€aïJL÷Vma«€í*@÷±(=b{èQß\Þ¢Ú'�ˆ@LSF3P#µQîÕgåí_C?ô‰Vöå‹CéŠHG‘Õ¦ø�ç�Ï>‹�n‰iw–è;ø•ÿð½ÿª´·êõM˜¬§*r7ÂÔDø¹ÂùV‘a�¢—È`Ò§MÙì̆´ÿo»Êš‚)B÷rLس�µ·ÆR 4MOJÌmrÛö5ó¾®.{gÿÌÛëîíÔÈFY\MÎûæ�=Óá×*&ö¬ ‡”¾�X‡*®¡ãÇðËH}w½­Twd(ÔÊF°"º´½ñ‰Öꦑ5xæ2 2é-¬ÙäËÓJ’¼úBìb©’º«�ÀÈg.Ñ -ÿû’`»RU9ðE €?JNÜÿXlák��©ÁŒ=(I´>ü‘éó¸_b€Þ±)Kù/Xé„bŠ5³FÀ»FàÁŒä.(A}‰F€$úc±:iÉ»uñ‡j匿'Ñ®ÃPCÇ97$­FW@J €x‹³9Cu&}íu5 ˜©îtÊêa“Q³™®eù¯žNj¶¶2• sËüuõš‹Ÿ>£ªzV×3§ÕräC„ ¼ÀÓÃÍ]â—ºJ ÒW|�…ÚŠRÂô²]}ÐÃ17±ŒZ³ÒXñTé&�at�¨“_ù&i#;P“µ*äj½ c®N�A…‰&H,$Br€„E¹¥S h4OÜ�é¤ä¡g¬RÓ²)C&¬ãµéس`‘, ¢*RÄBÄ– ¹1•RHëUk¯fvfٺٖº+³kîõvd’LÙUº&ˆÓMO7s¦˜ç¢ü‚Ä€5)¬cu&È"¤1¬…­tI ’ ƒHb¸v�^už‰[BÊXNZkt½¨ÔïØ|ø/øùn$lã€éÿû’`¸€Î@Õ›8RàB#Ê€?J©Vma«��ª�ǼãZ¤Øòâú/ßú@Ûb)Fˆ…ü&-z*™e8‰ÕBa�†á˜ùËÞ@5öß‹±Xý=Æ4¦Zå4¶­uïM? Åa ç®ÈŸBˆ¾*0�‡º(­÷/›=g: ¢`Ì¥3kw¢†¶[½—JþµÔ𻢋®`†é¤ŠëékB®A²DN´7·ÛÕDå´`×@ÈiŠ£vRÔIs!ÆÅÕ�IiÛ° ñÑ)£Mš°œKhÀ*§“`ù§oþÛ·Ÿ¨Ý{¨Qþ™*_g Õð(ÅLI>\D‘³ -à€’F<å¿®¼=vã]³øÖ†+¿Í¡ÙÙ};Ýi¨»#»ñÖƒkó/ý·}§ßÇ×Îj+ë¹îmí¨âb*UŘݩ @`Ð\ÀÕøÂ‡§‘͇€† ‹àù<ÀŒŠz2�CMTè°È_×iûp�Fó¯{öpÚoj\=‚å½)sÏ‘È.Hð³í®ÿû’`º÷?ÕXjàC#ê�?JäñXlek��)Àü=(Ú€ïüÊ®·ðCÖР’ÿÕ´¦Œƒ«Ut¾ÕÕ:5-xxR\MÀubªºmʆ¦b÷]7ÊÖU£Ò*Kù¼Ò«‘†ë.nïtBž†7-ŒTÏ X õ–‘)„ÊëœæfY<º×&+äÄÒ&f·«iha ‡:´‘{œ?‡á`Y™viid†=ºÓÝ«àô�rÎ @�ç¨:Ìš‡Â\ZXÊD1œeú3&²,ê+a¥0þS¥•{ÄÂ~ÊÒ–6L²kÚï‰Á6•4íH7ÌŠ¿m&Kˆ‚H€Å1à)žç±Ñô-ß \ÖeÄМ'V>ýG’ãNgG·Œn Uv•ÈÛëvl¾1*’³v1Ê;GÎb{ëc²©ýìW6œ«$·FÈÄjWÚÌ%…-�]š]+ÑU›­í:^:8@J0(( þoO\ièÑ D80´Ë´áòV—Þ B¶]³I,¾ü‚]ŽkÑžI¾^5öC’ŠÜç@|—Ô`Äÿû’`¹ÓRV8ò?j€=ï8ÍIRlàKÁ©�Œ±(Šv¼ÏÕ‰Ìj+¨R@Qÿ4Uja.rÎ… ‹O\‚ƒe0Æ«„Iˆ¼eD!8Ü� }2�þÎuìG§ç)¡PÜ?59�¤Z1vQM$„j®3Ø™øW›e ÑŠ)ÿ”ŠL“Íÿpñ²e:ZÄ~„¶Ú»Ò+ÿ—ìEßûø#ùYþ·;éo›7 ƒ¬åM“ÐEËÞÖÊÞ¬Ha„‹>Ü£ûúMå³{|P><_ž:jR%Y냂ÈÁÀåËÞËûHúŸ?B€¤¶ %X,~�‚ ”ר´ÆuÀÑÈÔE&ÜpPBÆ%еB<¡T-‘à·ñÚ’i43œ ER¬îÇWìN‰Ac‹�'×öEÿ¯Öñÿÿ¼Ï4t]͸ɥ«š˜Jz^ž¸��®ìïÓ9ãòVp=ÄÆF/Gn}2tú2fÐYa‰äC á5JÈ]‰ö8Ù^ýH(ëᶨÀ¬~ö¼—�°óVR”…*¼¿èÏW!›ÑOŸðØz íÿû’`¸€ÖRÕ›8ò=ƒÊp? J! Vlå ��)€ü=($­º©�&œÃ˼š‘ A¥€ã!Ž(ƒŒá 'tÅ¢ J!Díuý]P4¢5ŒªY=jv£Í _Ž(‚г1G±ýHBúi™„PÅqµmAÐt²i$“Ôšž¤{©Ý”ÚŸÝOU˺�Ýífu"æKÜ[ºBœrQÖ ˜Yˇÿ« —GVUi%ÃC“(éO0ëêtÌaÆ� ÆÎ‰ƒeƒqÛŠ)Ö—š IlQ¥ŠroƧ’ûø’[ü[Ï:ÄÓþ„@66´ „H€Oôâ­e#‚R…"ÅzeEâNœ�êŠ]‚BÖ®O@Ñxè‡_wÚXäÆÙµè¬µÜ£‚ܼkçs …àéõ¡–ò»¤é»”))µ.(\óµ¢…b6îÙ|saPeƒäâ•*£[û+»÷@íªq(U‚¦Óž½ÿ¸¼p855 �h‹‚�ùY3Ð�é4¤ –¤â•½ì`‹jWpÔ Tdxˆj¹x-Šã$�Dÿû’`½€?ÔZjàDD*p?JM'Vm`kÉéÀ·½)-ÀWƒ‘ϦØ÷áQ³X̳õ_a€’þT–—†.‚Í@ˆ9Ó Éä…c…a–À–peûR…Ý–Úc ¼»3Ù»/½'dtŽôv´UÏ4'ƒ€ %RÄM•ùc¯›�õ2ÿ‰d©QÖ~==¬ðÖ¤xÞu�³ðÿù:Ü+c,[ûܺðæj· "ü�]ŠE‹ü–J$‚²2�L4£BmŽ!‘1“áÿ\З¾1nP¶�Ùíxœ}’9�t×ްéËÔ‹nó a–/€è32Ã2cè”�fj]Ù•®ÝkÔ£ï­Z+A“Ö¶©ú­E*�Ó}g¯G¬èßJMÇ=®Øåâ Aü¤& ö.— £†ˆc9¹/” Ú¼oHX‰!'·8¡86Ç!È´bÙ…ªU =ϸz=JÖã5–©Ì4EC‘€ŸAˆ ¥�y… ÎÙœ˜1�Å>š¾€A/î(%4Á’Í=àd‡‚9BÅ“É�ð0#„L$�ŠÓU�Y�ÊZ6XùÚÔôð<ËÖ×"ÒU”ünïôÔ!el:zízÕ,4j¢æ+vJJ–¥’Ÿ¥®ªcŸ2&¦c¨êàˆ…:�œêç²~úí¥‰Fë{•…822š5ùP%C­rmŸÊñÔFÒpw�´õ-"ÿQ]Ú«Q7kåÊÔò¹û*&èúY¬|�ó�yÿû’`´€ÄUÖ8*ðDÊ€=ïJ5WVm`KÁ ª@ü=(…Ù"�,0œÿ¬ »u’ÿ†U�[Ic©°“M ­ æ‘À´Ê¼Zà‚'Ò+½ÌuÜ�×½NØR—e]±Whz�ÍÑÝnDç‚¢"¹|d…Lx“OKå­jf«¨ú’Úµ³©Þ»-�ÙuÑõlú-Uf(Ю·ZÌRLãœ`˜Q<&Ó:²cMŠ­2k`f�€�@ [“„�MÜ“T«Æ{|ÐÈî'€NËüÙ}*׉.[‘ôå±Ñ”¦\ˆZZxn¿Æg×ðPùHªêµž¦ú€)²Géei ~6áéÈ+, ƒ&X̪LÏïØg© oXGߨ�GÕ¥C�·šBl:­Òøã®Ó¬Ëgp»gfW§tgW4­.uHè%\õ¹‘–èÇ“õJRl³%'FºÎF9“÷dæÅž^}ÚsLC,%Ë., 4G*¬å³·TXÔ6u…¼+�“gȬ~SŒ—krí§{ìÑ£p—±ÿû’`¶€èAU›8jà@ ¤1ïJO)KTLäKÑ ªü`àjòÜ~Ru½l  Úx·¶Všw­2Û!Oó38FT|€Pr: -øÒ'QYÜÈLj~nKzã×b_”Ü‘ÕwcnŒ™�@¯-§ R5¹zÃû\ãùê|ü¾ç÷5ýËlµ%ÐŒÔù©ç7 f’µW²,…øÙí¯ÞŒ° iî3ËÑ“ÿ÷¥Ñ5#XBND‹92V3ÝÑŸíuŸ®-šØù¦Ú¹ò°ÕÝ+NÊò 84Uv(iµdm÷�cÿ ^b¾»×hiPé‰àÀSÕ‰4‚Å ÊE3¯ºd–<@¶àˆ×&žš!ŒÍûÏZ¬³Ü&a�HL%Ó’ßa²…ÀÃdÂ04à˜VÄQãJJˆIæaîÚmŸøïãæ¦k­^‡ëRt_´]c¦_/ ®·È¨lµ—É©tËœ,úªc+¶¬S*ñ@æËÒ@:TÅHa¾ÀY°=:CplŠm'KžgÈ‹–×,;‚D°2O a@Ð\¸$(ÿû�`¹€ÿHÔ›ZòBãº`=ïJO¡Rlå �)�‡¥(±ú”ä”"ÇV{ØKÿÿ¬Iþ”.x3H9”çnEÅ"t yŒ{uQ]b٠¡æÏ©­ÚÛU(gy*³Éµþ¹”îMz  ioÃõ¬â‘J÷jRgŸïykÿzÿDÕ‰¬ÿÚS%Ê]þª·á‘•e¹wUZÝ%t¯«çÿúaȯÿïìŒßš†•¡Öµ”‚T †#Dõ6-åˆâ• hZ£¯_hŸ–¯*9Œ4襵�õG5Å„á¿Ë�*±ô@á-Ãýßí9EŒ¨jÜSHNû ê¨äEZêì�1!± 8|fs)�Ž@½ƒDyF@ϲ·# a/&±ŠUžŒ<ðKÍŒÁï¼e# HÈÁ€ƒ€¢ÂâAÑú€ë»ÖêʉWéÕ_fJªä;"-k2 Kª}ˆWQRIÙÞ¿Ãröÿ­ü7±�׋DPú}ìs™ÇÑ›(D¡ŽA�˜°Ñ:bŸ'J4á *_<óçMgâcǸD:³Œ6CrÅã)J_k¡4š6ÿû’`¶×VÕ›8r>ÃÚp? J…Tlૉ �©€ü=(oÛfÿ0âÿ¬Ä´á$VúÂ1F   R@ Uñ  �håíq�üÈ9z• ‘,Nz¬ŽíH…îCs² M;¯ã;‹Ð0™\¦÷ƒâ Œ. Ü¢nå'îyxM+wžûN5”áSŽ:‹Vû«ªÞ¦g¾½ e»±â£˜Hiå#´+$¡Ã×4Óan˜YCŸ#1`—€F=E6TÛ2—1ƒÑHÎRÞ{;Y¾¨ùóiÇQk8> sX>âtB�9Mƒ¶ žÌÛÞ+{’þòŸJ¶¦ d€$å(\¨ƒ€!Ã~0ðÀFKÅ”-ì™Åøå¢ü1;Îi¸×ƒãÐ\ܦM߀üH~@O.›²Ï«‰‰¾.7D5žßîÿ33wqßöÍJ¸|>žÆÍOïöÓ†ÂaƒCßͲ¥˜mdLZÄ8«PI! ‚Æoœä-€�>Ä@Ì™tV>ad=¢Q)ttŸ¨‰â…¾­:· pÀ[ ™ÚXÕçÿû’`¸€ÜDÕ“9BäDƒê`? JOlýXlák�*÷½)äX’- O¯.L¨ç»ô“þ¹Vj¹™`@·L 2ù‚ ÂJ.¼4ß Ê,”î½M#§nê “Ò[Т=U‰Æ©—-,JãOdÛ�Ë+§ô<ùþ).w+ÿ‘g<ËáS„Ó3„z—eo9õÒ ”<¬„Ûä~*Z¿yA™JT<xn/¦Éƒ×qVŽ¢ö €Y*¿bö/'Ý¥ùe—8tZ�ûF"·Æ”•RD:�„ÔHŽ1Ã8ƒ©Pã|2‹w/àMóà8X�´, ià`�x š–ˆD%’Œ 2(Œes€X@AêXf’]á0—­h޽1ˆ¨Ø*ÖbT®´QýŽ5çåË•3ÙM•'HTmîfPý4‹;XšçWГžî¬IïýktvÕÖÉc¶Ý�†FêÇ(V‚ÖoìÄ·{Ì ÛÔ˜~^Æ2w®²]š†xfšÄ¤""(?)n6YÚÆxÒ‘>lEås›¨ 7VÓõ•€t·©òÍtXL!Ôÿû’`¸ÏNÖXðDãÊ€cJ¡?TmdKÉ�*ü=(æ1H*Ï­é‡Ôš £7ÉŠþ`T2´$“!�ˆ„¼F )iŽ1 ÄI!xˆdu�Í^¸_Kn=/=�Ú›Ÿ—HmÆ¡ÚYÈü¶<î4ÂDMF€ØZ›¯Tßö»-žêIŸuRM*VI�u-î…L¶Z–l®›¦è¬Õ 3+ô�¹‘eÊR•¹k/ÑÊ6È2pL^ÏÀg$VØ£¨S¤ÔÅæætÜÏd=Œ‰­¥róù[ /s3y‚¤,)¢ Þ'DÂ?ŸÁAñ‹ KúT'ªî, P�Ã…8A6âQ�¾&‰Qè´:˜~Ô ž·Hí÷NÖÔjv:ý¿ñ©×®¦ opò›oWNÌ·O}Ý�©ärJ]óòîWœSbº©WἨ9 �ù”ÉŠâ4‰ŸúSüޗܪ”…^ó{¥IrëÃ90]‚»lÈ!¿Y¬]õ�7XâB„F‘:“ºzšþí0;Ú¬®/Žr)šS©o+4‚ÆCt! €¹ˆópÿû’`¶€ß?ÖXjà;ãz %ï8A?VlàkÉ�jü=(—zÿ·î¹;�’ÿ››Ìõ�“Êda¶it8iœóŠxE/8¶D))]óQN<ËöjJ˜zÕè̆/>ôÓ³8i¬‘à�Dyl$µz«¾6¾+­îê'ý÷̾¯®X¥2/l½íwÅ[[[ãA‹ËìüÛšp€ÅyçtÅgG†À­8t­*íÊâ ô‡&Êu .Ï)1£Í¸1Eã% ‰�Ø?uòÌØâ¹ªáÅ�ÝÃi#ñ R¥ÁüßVÿÞþ]PÑÂÐ"/3 �P̀œ"i!@¨(…ÀC SàE4J†³!ƒ\ÚÐÐÖªcDÝø) @qéseŸmkpA° €ð ˜-˜ ‰;1ušü÷uæ¿£'uz±ºD¾¨|ÇcÓä*§:‘¬±�î �–ea(ˆ­t�âß0ç�T[vü¡ÁÎ6�­-çÞBÅWâm sÅ)e¹És¨†Kû›“–^U+khŽVž2“‚tCÊÿû’`º€ðAÕ›8Zà>¤�=ïJØýRmaK��©�Œ=(ñ7ÑPõõKJîkšHHþª.J'+jQ¬)ÏK hÄÀ¼ ÆL`¡f°¡«[B»ÖnÑW€\<”ËLë‰@Ù\!ëÁ¾ý�áàDYsÞëø¨Ž&¦ÝßMùûÛM¦õ3ÄÃ>·ÅSêk¯lÌEM[êíK •G‡’•‘6n9À@°dP6t`}=ðmÆ�ú�™ÙH�“¼rùDœÍ]é!cïÄòO’õ²¤îL;zs+Ž8õŸ“bjÒ‚; ¹b"‡ùQKë™0"Ÿô#€Àï²a$ÇJ�4–ZÀX¢��à F-(`ï*€K¨ ¹ÝÔuí} Ø–K7!™~çå¯%$b:‚8ŒÀÚ†¸ó“扯ª©®ï©öˆ®ý*¢æ©‡ÖéIußJ�ócF…±Å` ×u=¬¼P©ÁB Q…µêÿFåMò)Ø0 �©Ùe‰ 0µKqºQ´&†»É�b\ħ.Ï{ ±'rÉ Ö¥ˆ^¡j\—B´’ÿû’`¸€ò?U9ZàCcJPc8O�Vlå �iAŒ1(tbõ:û3ù2·7ÿÖKþ4F]Ä\vŠð®£T@'æP t"1‘¦1Òåɓ݅ÎDj`Ù¬³úf–ü7zyDº®5é`&G`Ô”INéŽxƒµñ7½ñQĶÿž�.ÿ®8¶¹÷QHG[bY·g‹ú¨”�1 ßþŽ_uþó5ªEÝM(»ÚÍq¹G¢ä�S²„@b®Ý×R‰¹¢}5V«fçý2:Ëû¦ Y'àuMÓhéáÂ% @_m}_þ“¥�s\J`îÌBšÚs‰. "5Ã…ž©Ô[B^0A2‰ˆ3¶’¯Ëu) ‘7:¤bòNÀîD7mÞ~ôËR‹?®�ïFáèêÆªŸºÊ?žiŒø¸º˜âx㹿»·qÆÎ¾ØúüA¤[×s&¦È‚‡õžbuÐ`‰è«Ñ“x=-N"2! `ƒ“-&DèµXà‘»5Hê[ÏeÏý3œëc&¨;Ë#ÞOÓí†Pá‹öÿû’`¶×AÕ›8Zâ>ä*`? Ja RMak‘êü=(¸Zÿÿ�ÇꮀRþ2§´U¢,"(­ ®# ¤PÔQ™°–2äÂã‡"0~MÕ²Èw^–V³ÛÝ;éOˆ½‘' r�2^ìe¤Kt‘ëRÿqüG?ñ×½< ên;›¾�£M.•WÐŕۨF’KÅ`:ƒhköK¾�ÖQœ !ˆŽi™Q°O·Îêä%–ŽÝ ýQgŠ‚B¹ñ�„ ØØçÍÞ!E¬‡#nI&«Mb…C( Ýj@&؈ÐxqK„?èF¹ C`yâa( 8½­CásjK9Iþä�†C梭Bzí™±”þ0N!.d솥º+Yµ®¹grlq²�©Kæòø¶Õ{2À7IÑØ�9È9U+»éÿû’`ºØAU8Bà?CŠ�?J ÿVma«� �j@÷½(H”ÿíÞý`µjXRþÐÀ“eáP�I·ìÌñtèQðˆ@".ò ¡˜Äâ²í*Î] ‰;Å%,íiÈžHª9¸Úb…V5„Ôx |•HÑÝNd“©k¼ã¦‚Ô÷ì¥"ƒ²­Nëtæú™KgF•I¤�j¦¤ÝØé’0š©ä×Jö½Ï4![,“ø‹æ®ã©J¥0‰Q�ƒ_0åæÄª+Bq>!Ö?#’Eî7t6ÏRx§ê¥�5FŠ5ºJ|WŠcü3Qæ… Íè¨2ès é dÐBÁ�TÊÁ’|H8$òe•¥ó.Œ0Oˆá¡Œi+Gë´·³^ËuV·­›$µL˜˜¹ òIŒZuЏ“=4E®Œû‚•\£B0-zýy›×uöX`ÊXz^è)Šå½±9 H¬É8±óxâ³ö”9¹�F!bŒÅ%)_O%[žãWÉ,Køø ÖJÖ‹ä�r`@ Âb0�£J d¯ˆŽYU‚.=¸Cù©RÅÈW ø%çcR)«Rn/fM3Wùê€èkÑþ¢r‰Þ7ƒ.;·äQ�lß´ò&³%î| ОWÞìU€YÞùÿÿc/Ó£óôa†‹ ÿ.f±å42ú{3Š)\âÊgÒŽiá…½ ¡é�hd'j¼ÅJÿû’`ºØ;Õ›8ZâFCê`? JOaTlá �Ž)AŒ=)÷¯ZõÜFýî› Ú@#%%-"ÆžYl0`[À¯3EØaHŠ€3bà'^ “ƒ›Mna©È¥¿K*¥Bkqg— ¨¼Z÷¼R'…³ç¹ÉDrY©C%½Ô›‘U­·KÌïu*½«¦ÔJ+£¢På.Ìp§r©[èÊÙo…"r‡EOœ�›õ�L¬˜!²Ôàd+�—Ô‰"(ê; ¢à(ņ‘7—yè¬Odi+Dw]FÑÉÑCN ‹> -¼ì´5N¸ñ%êôÔ-ý"@­Ä…Gr#¡pÀ€cŽN3ÆÙÔ*¨$LaµEŸØäâà|±”(å&“ö%Lܳ…ؤ¶nƒò ñÈ ƒÛÝI27CÙÌUO<~ÇñæÌî€Rþd„ªt@ð¸ÄákÀ©ÅÕ?Ñê&ˆ„„1 DF —Ê 9õªïüz; ‰^•äõKU¶ �öf¼ÃøýÁ¢`ࢡñ à "*_SNl¨å_þMú«#šRª’kvCbêBP…*0¡5×Ç1ÍêHxU+QÄЋŠ’3 `(„˜ÜÒ#b@Gà ¶€–Í…ÔS!¾<±Ï6nFÃ!üØÜ¶¤ú¤ Z¥'%®ô}íâU%°•Ÿ 'lIÀŒsÂè¼f°jÌhÞ?îaÂzÅ$LÁP§VFú|ÆPRë�D%rÈEÿjS¶”ô­øw' ˆÄf™üµ¥ÂíOÞ·ýÿ×~ˆ:eaóùòLÚ-Ò)<š´ˆÆä‡—Ñ½’‰¨dÌf|ÿû‘_ÈùR¦]ÐÆ—CÜ#šöäÍVµtÇu“éµ"3|óQôÅ2$…†´NáK(e73êý{÷Tí¥Žâašäiy:ˆ Ö;ÚT¾¿ÿû’`ºÌAUY*à?D P=ëJ)YRlàmÉ ŽiAŒ1)âQDÌj¾ÿ?öÞ¹‘¤f4“/" 8¹ZMšD•0:�Õ[wÄbš©r—•*z—‹n€êÖ–c/’¯ FUœ9&w¥l“�¦÷Î˦*áÕ°.Èt1 �wÏf²ÿVžöÖìk"ºvkˆ$é±ÐŒä2ªUÿ÷InB=4­Z¨]áÓ $#BÜM RD_Öd;7.�¥‡§vchºé¶ èËoÕˆ2èk Š›Þ5­Å¬s½�•Ÿu¥¢™E"¯2{Ù‚›ÏÌ�'ŒîXWö’”#æÜXRò2²EÒÐEZ™j)ˈ'+üZUpôÆæ!×k(!a(µ.±K>Âé¼ZI-ŠÉâqú!¬+T¤ ¿Ø'8z"(ÓÝ-ï½zÚ´Q*½ÊKY'�†t´!î Y &b½?ÐŒ§s{ÔÀ‚ŒpÁà z:åPxBÉD @ôLX=‡°`H³nëìÊ7ïæ;‹ÛEÇ{6âGCÎV”B‘gjr¹Î4ÿû’`º€SÔYðA£ú`cJ•ITläKÁ i€÷½(ÞÝ ×Îs ôS¬ÛÓÔ»@­Ò0‚`©¦‚èFkhßKž°)†oá4‘ø8mÆŽ)ÓXojO:¯,ÔãQ�§ˆÅ—Dn;¸Òr&äÊ×e�u˱.�¬èŒŒÆ1ŠÆT•ÿbYÜÚÐÅöv]LvIIÄ‹±vcò»wûpÀ¤Äø,÷¾\›…1nÊ#Qxi$ÜQR,Ñj¸É^ç=n¢»ˆµB†jÄ!YØd*£TZOd}s `F|¯/HåÙáF~n!>ô�—o�ª+¿ñBt(ÿ´ÈÁEFBbMkaHdÊP²ä‰P¨´9v`;xÊêÌCÔYa—?s‘ ߨírpFq HJhŽ5nãjªæ½ù®º‰â:•»^íF[÷‹V««H´ôAÑÜmÿþ|?Ü÷ЉÍ�+(¿ŸŸ %ܨÚ,eÝ>Ä“Å3“'!D±•ÚZ V#§H8pšajH[AñÄPÝ® „Jÿû’`¸€ÜKÔ8ðD£ê`cJ•Tlé ‰ �é€ü1(‡µ;åË 3jfs¢p÷¹@Šÿ ærM4o RÜ%ºÆ ÌZ[å#J ÃìÝ+ÁÓ_¤jÕùÛ–§ºQ õþÆ µ1Z(1b‚ ¢j�½RS ´Øè¤šÕ×�ÿ›ÓF�»#wÔ\ÚÖ‘Ï©kæ™Z»$6zUÊ-.{Þ�!£i0!µø¿=ÃÜfã¹¼éKD–S=jú^T»R…•7Ó^Ý× ,q‚eŠrú¥m8Ûå£=WÂð°Å«•›,Ù.·üxñzÀ  Óƒ� A‘aár¬ UB¦0Ù‘>Û1"â—„1<l³é×˲¸å{ï^òx_}MWΤ3"™ÔÛÓbSZí5xE-’êsª–®óº¯f·­ªˆÌì�eòûKc–-ª€ˆ j·º‹¨¨ÓÍj]n‚å0Ý$NGù ËG'1yíç÷ý©ý(_ ˆµÊ,÷cf÷"Qn$w wBÙÖþ}`…C9-•­£ ûµ}9g9GRt�©²à-­ !šÚº§C£VùCM©6i*å{Ô³µ Ïe¢¥^^]•à�Ÿ¤Uíbr¤ÌÌãÏá;«¨ '}Œ˜-I‡ xF dpÀ@ˆˆ 4òŽ'¦ÁO‚&<µŠ×õ¡ ž‘Ë!©v¤ö¬K:gê¼9Ξžy�ñÔ*°‰b–z2Ýêz9Jßgd­™µ»g¢ÝÝÜåJ½ÎB”fÎ1æy…\Ùþ ÙC§,½Ê·ú¶ú²”¯˜t—r`Ê�bNI½ïƒÆ…«ltŠmÊ'ÛÈž=vR‡“N|±´ÀÂÊí<Ø´"d”y Úðÿû’`»IUYð@cúP? J±RmeK� �èÁŒ=(/ þû’sW,@ÞòÃ"¨Ð𢱱”¤6b.�j'P¥^&pR+‰S5Õs=�Ê ªÀ–š"šRÝú+0Ó�RQ–LÎ>ðlRYwcàYø”¶í "´Î)¦¸Oÿº]uWCÈB­©�ªEr#¢nÈÎÿþÎs¸DžÝ\€�¤¢óMwØ÷õ-=n �ÛnkÑU„bHAa ‰Ä/ÝÕ Œ²k6dÓù÷ݽÎ9#D6 `ãÖ–ÃT¥ÊLÇò0Õ=mßÿÿô€ m�0UP¹$HÆC‘²?NyÝtÀÌùBâ¶1´¤R79e6ïQ%;œÊA �Ç®P¹ˆ'á.Ü¡ÔyÆ’*>X#›� «òè|[n8§ßSÿß×szÒ£-“ß=|ÜðîúÞyúê˜$tÏÂo,æ"ThLÈtú?w¯d 6ŽcœÊñ7×XcÔ”Á!Œ�Xéo)jÎÜp%œ˜o$üŽ�çè¦ÆÓï•Üõÿû’`¹€ QÔZðAÃê0cJùPmek�©ü-((¤V~ÕR@�þ?>boú@º””iš*"�â"B‚C*@«‡Pä19Üz%€:•œ%.ªñ±0žLû UŸØÏ#*›Mí‡òÜ?®çÅ›hQ�RNWªVd^„l¬55Èùüÿæ_ÞëRöG«™˜&\άFÚÿ£Â²[çëQAT4‰ã)ùS8køqï2P"á‹5 b»cl…4Û†£Œö]EN×"Ü› I´1 <²J¡’òx'9 ˜ß~ÏI%:6¸P+úR@¡¥b…Bn!VU؃¾j¨NÑ`&@„yjŽ€V‡bXØ|bw׸e'­z±�iRz�%HTɧ"²ºòª”¸ rÿ";7_ùæ ³w!\5¯ªßv$w™�;˜SfS£­<§PЧé‚B&‚&_C:úøà! â¨5CPt·X Ä€¦8D#.ÌäšÑû›;ÆÕ[àF]ÄV+ÜàNÁB~'çÝÿû’`¶àRTYðAÄ*@c J1-TlèKÀüŽi@ü=(æøÎÛY´•‡–í`@ÛeKßs)W c É…d_äP¬“%ÑáŒñÑVøò‹"Ýʱõ¹ôø>¯£¡#\›àöJëÃL’*¤e�Ý,†5f[ ÷ ¥-ØdS×+P–¹ý´Fz<Œ:ˆf!Üd0'ÒÎd+ª¾ªÿôr°$>ú­ƒ§È4U>�MÔûÖû7ÑI¢+ŸV‚àJK~4 屪S.59U¸ŒÊVìŒE¤³ô�Kô¯«2΋è§,£¼7%")¯YþYµ«¶ý Yæ@=L@e%aÍ�óÂ!„?ñ�´Q™'Ѐ¤TaіÄO=p6ȼ~3ÌêU›Æ ¤™�A¹»tòŒã²)èŒÝ®¤e:ªJ÷íè¥3³N¢Jøcê¨×Fµ”Æfà䳫_ÿ¡Vh#x nˆïº×e¿© ÷ÅÚfðê;²ÖJ^ðãÖD¢cõôG—­ôWUr§‚Ä^Ö1˜:m¿ìå�WTñ_¯Ç‚ÿû’`¹€ PÔ9ðCCêPaïJ•3Tm`KÁ ©�Œ1(*ÃÏaj’c®Ù˜uþj[¶d‰ÿ4� œ0EHÏAK& #9ÖrK‘^]Uæ(6€,¶’Ä^:„ߎÀùTÎ-ô•¡¹‰m�Mr9}ž“Àˆ¯@�¹Óè:ºÎ×q,sßp¿_ÿß_ñéϧ}7{]µÕ×Ôõ“žD tÃþÂf�'j„¨$§–šFúÑ×*F¸ÅÕX $J¬¥º�E¬A:å ‰>JW¶¤X«í¦4­oâ0¯]S%-Bø"¹4Í�)\@®¿ð§Ä»vº€7êNƒ¦5«f”*ªež†®óW1}Ó«¤ÀñanRIW‹¾ìº-,|^MZÏTYÃR·¾+¯O ¶ISM‚Ááhp¨V$D‹#££NcX‘V¹ôî¿ù씳ž©z:”4z':%)ølBDzQ&ô‰ ŠÝõ¿ôþÄË ‘$U—QôÂT¯8ü¢µ`ÁgZ¹V(¿§¾f·ñ–ô,´^V”Îk�‰\ žÀïA‡oôÌë±Ïÿû’`¶€¿=U›8Zà?dp=ïJ<åTläë€óªü1($Šß°ã:0ÀPа²À€ âHôr ’Qöb 4�(©Tôy§FnØ«y¹5ìÜ9ƒ,Æhg`¼-Hlê;Ê#ظ²ñ‰" ’‘E <Ù÷ÿêÛe%I¦¶WELô�ôiºÑ:‹(¸`}Av³ÀÅò$"Œ. “lŠÀ-^ÿëŒíãÔd)‘Ä(…ƒåõBÌ €Ô­1¡fGg«²¶mgòYZ’5ÚÖÐö„]Yho¤3B[ë=f´%kýþúN½nXøPj £Ús�qjÍŒmN¬zi¢YP0ƒ€1ðɇ_luG{Ù~TõÛ AwS ü×”a ìQÜgÊ‚ÛÝ‹• ß½žurÇåÍdÄ+/oÚª¾ÎSInÈVìÄD R# 5Ü¢o3®ÿò£¢2?ôTd[®¡Ê^û¿¯®RLÔ§� è ÃpÊ”Ì-’ÆBË:|‡hôAøö„À©kÄÖ\׌’<Óå¾­Qÿû’`¾€AUZjà@¤P?JÅ]PmäMÀè)€÷½(ؽC”þH‚ÿ"¡€ªƒ…š!lBXÑÊX‡2ó„òO4ÑŒrSA$ËTO4"'@ÙÇ_ ÑçÚ½+ ì¶(”¢;Z¾¢ÿ.Á(B!ÍÒ¤ÈXõ‰"Þ®¯¯âþ{¨š?¯O~â“H"ÓÚ�/ ò‚€ÚåJ€F1Б`h`.0$- }rH¨� L…¢ÌèÃôÜ Óèè7©…íëD ††q·¸°ÛK'k‡~/ÖM©®{ê²5©q¯Ÿ‹ºÄžúÜ  £D†‚„ @Ba` ¦ (ÀÃÚ™É4òÇÅO!Ü MŒø÷ÀªÛ Úƒ¿\‰«ŒëCøv{êF#š¤Z ¬£‚t�=ÇP¨:å�N¦½­N'®¿ÿúÿЏû³ßè‹sê¦Cân“E™²B«óÿÿâ8¤"·¿0*í»æõfìŽ�Yú"¸`êÂÄV_÷ ¸b8™F…ÌP»,ޥ׆žNôšyÂí‰\²(à dŠl­ˆ“P‡ÿÿû’`¼ó@U9Bà@$01ïJðõPmik‰ (ÁŒ%(îÛë99)ÿÿú@ÀÞ±*ÆÐ‹ð€¢À€—ŠŽ�µƒˆt@„ A„‡pYn¢�Â^KW6Þ6ë(ø”ž�¥¹ñüã«gA,‘JJ¡H'½çØ›Q:«zƒ‡ÜïÿÿŽ!ßÌ\}¹ñÏ7SUûœïþ$ô(Ǭ5oðh(´\ qȼ¦¾�4këôÃÌÔ›8Zà@Ä0c JÀëTmeK€ûiŒ-(òÇǨ@0ZB™BƘˆáp ãˆE.rB �‚û”Q´v¾Æ¨™›»‰@ô—£¯Å™é‹{�ÓCߘí&5l+ã-qÉv)Ïs RŒ»/÷ÙW½.ËÖËMÐòƒ#•Ü!˜ÆS–Ÿú–ކ”&„¡€›?ÿëöÈ­¯Ô J5Tà÷· !J“h©Pp�áK3UM¦©°ƒÚ·¾\5Þë(d:<í¶Z§‚^TûøRJØÉ¯�‡~_mnPFö HÌ@( L68(aÁ cq@ã5ðÃ4¨,”©‚ ºËñˆâ®G[ ŬOå]Æ Ú¾� 7øY•ÏáI"±¸¼K{øˆ‰Ù½ï¸žNXX "ü£VHThUEë…„e|×ͲÖ!Zaˆn�'@46–<�rä¤Ebµ7\ì@^eìi½¥š>õmŒ�r�vß*}yUóœ@´`*Ÿ]Q?Ì’&.cB<ÊbZ HäŒB*%œ|ä‚h¹âÒmä6UE­Ã“±†_v ™�(¡†++”cfÆ46`‰`–ÉãSì; 2WföLºNWÜÇÿÿüUU>çëÿ½µq|:¥îæI¸Oàca`“� ™nÀ¼iþ¯OÌ»2ÉÈ1Ì ™* eœ·-=;Þ2eÁ~´ÖR›”½�!Øüv/.ÒåM³Üè|ýeÕçW©Zcÿñ $ê)ÿû’`»Í>ÕYZà@Ãú`aïJ¨ûTmek€ù�iÁ‡½(@¾ÐàQ*ÄOňŠLf:ÜYGšyÅ ¿�Bv…Dæq[ÓÒ… È’^u¹GŸiCJ�º0S+l-b?+¤¥ƒoHp�·Ý< œ¶G~õýe—5¬°Þêª6ö½¿RývûÒÈé™Xus(•a#�«±¿ýXΨË"ú=šíÚk ¥ KUÐvõ;œBF[B�ê $脜0,¹D™`ç‹ìU—&üÅåÊé–H4OäÕßéª3Âè^CT¿U¯e+ �gÿ‹MqUŪ€þ™œ)É�¬Ì®™ÊÜ HÊë£R1ƒÀ˜`$itÉE$Yˆµœö‹P]%ˆ…–�@Ðå�šj×ä„xAÐìL`…bæÌ¦²5l§×£í¯óßÌD_ÏQ}='ܼ™¸Üƒ!OϦ’ÁSBŽ D,ð®ÅuôI¦¥ S¼Ÿ§Ã#E)fšÓKsG�…{Ðl䯛"Þ¦¤eš³Ê¦DºuA-áÑL£•w»H®ê ÿû’`¿'XTYpD$*q=ïJdùRme ��i€ü=(ïü½i´•¯rÀ‘ÿ" >`†�ä$€ ˆî\¸g¦'zgâU ¸�"öÆØôbÜÍÜlyÌÞ}[„fÅ-n׫Œ¥ï•W’[“rAjÛa4mVSNO?Ïbòä¾½|ÉŠyEM ðº™9ÅŸÿýÂ<Êá�Þ$‚δ¼ç9ÚÎV4ð>̨°Õ>À˜„ü—»Òxù…?OlíÆ)¡ÁœÆÊåf»ÐŸŽ?tv[.Ø}¡;ßÎ1�ÌM«�»EAàqùZ"P<*V^¢)Œà~okK>w�aÇ!=¯¾ÎÌ‘á”Àî+›/þ0qCìu µ®–8sÿôz§˜T"h?ÌRV.«dÎV-]°¿OƒÔkÿ8èÈi~ †'{Qð³`©{üüƒ yÃÖI?ÿû’`¹€LS›Zð?ãê@? J¥#RmdkÀä�éü%(ÿé;¦bºÀºÐÈÐè8$(*�# †€‡ˆa‹°¼œ@LÐ9žŠT.0»“uê‚oÔh“Ó°˜MŠ]»ooV i蜋° 6=‹‹ ˆBc*M!±•Õsªc›¿ÿþyâ"»ú¨¨›ý’ÄÝuÕµTÐÖ'Nî%:tQŸe‚Šq%jøÈF×ðe“i¼ÖXU‘ºÌT®’ƒCVÙ©l®KÔukÅ1‚Â;ÕIÁHéN­Çs›ôTf$6ÞŸ"9…6Ìïéÿú«šxt DVDƒ¡P d†L9Ž2nìC„a‡üO$‰*êDq8Ñ•„À™Ëî’6¯Ï+\ZUKOc {’Ïi +ÍŠEe�lÐ0±4Ä ‘vé= †Âö~Úë�Ÿÿÿÿžyšî&ª*øªkiè:uOJT@FÙ-ÒØyÃ�=¸2§?ù3V|•è\ ´—ù;/¹p“( 3€5Œ°kEŠ–ˆ_ðÅ%‘‚œ°Ñ9¦�E)^… �Y”¼°=ÆY{•dÓ’xÔ²+°·bkqªÒš—®;ɨŽñ¸gÓý¾ebó¦WͪŸV6¹áZ¢ý7FG&28W2ÿý«¾ä„0*?h…±JËWïZ;«ðŠþ‰ 1 Â:$�Í•+ÉMHÜ>^Øv¥Je³??Á”Àÿ0EÀm‰ƒu‰�6«¼û3ÿû’`½€ CÔYZàDƒú c J-5RlàkÁ�)ü=(í˜T�[9¶ÿsÔ§·ý ŠßE@K ¸L€y PÃÈš‘3T‡�ÓÍ R‡l¶EPÊfâ%Búö£ëžuìH~¥nÔ×ðœ{›”0ÌI�ä°x1¢h+«AZfK€[dé­ ›kSRl^Å ¹AѹLªÅš•*Ç7ØŒ(¢CAðáXDdvئFæuqsÿÿ_üßuÇÈŽ[L{ã‰Ã÷BK é^ΰ$-u EjÝI:Ò´_×þ¬/ý°•/¦ÊW¹€Šà®?¤CHHèT¶½/¥Ñš(¦ 1¬ÚE,Fy—/ØÎÅ|�LmEX¢(Ÿëû$¥E1WüVb NL iæf°†Øe ¦˜\0ìÙÄ¢#�ÁqÖ¨%è;�@aÐO°i‰§åÛ”<1 øåˆÜ®«/¹†àWf�ÜXסÇÚ2íq‡¾�$ð2ž$")ìå=²~üøÔ™ÏÏZ:HI΃!Ha*e=›Vÿ€€¸çÂGë4¨ öa9Ù¯ Ö–�¡Š¶ ‡�Ž›ô7²�éG�òÅ ÕüÁ_q?4êJDN–ÿû’`·€üAÕ8ZàBCê`=ïJ�%PläKÁ�ªü=*Á3ýÇz›oÿâÓaíŠÞÒ³“<1 [Å@¯ÐàD#K¤A).¡j:ZÂ�¢£‡ô=j/2˜¶ä”×îNRÏK%±�Ö—ÃRÁ0`Ç)‰.F/™æu)H&çNÔ�Ö¦«þí«El´�®ƒ¦ÛÖÌÊtꦤM…Ââ(Ò?.ÕÑkµ«ãë–‹¶‘(“Mi°ãÔº‚�K¡CƒgsUl°§ýH=9`îC‘í ‘*޸ü°ÿ,Ì4’v5Ãíý|¹VOµmX6ûNó< Â…SøÉFP° DGm "B 6Ò•ž3W“ã«"n’û’¨nG1/µ;‘=SÉæ_yL1€}³›U°ÝpíRð¿î¹¡›1p�¿ŸÌì3Š çXL"‡IœY‘ÿùî™—\a�¿K}AWméí¯³¾Ô³À C\ãs{òvŇʓ�RMI¶6Ÿ|Ž??D¶„õÅñòv°. �4Ž�B†rÿû’`·Ö>UXjàDä`cJ9Rm`kÀó)Äü1(µÚ‚†]´€ˆÞ22xŒTò&B X@ªd¬¦ˆïXWÙÀ#Ët\8 %~8òÃr½µ¶—eè€ï¿ «õÞ<@úeï3èo# ™ñ€@—0æíQ’i©‘E$–´í«ý%3ÙÕ[iýÐmh^ÇœÛÐÐ(Ôþ<PYâ Ø“Z“†Ç¥~½Ìºïõhƒþ‰âƒ%8xLƒ‘ Rá8¯–-©%&j�ŠiÙdunÌXÓç'“V,c®Í�m /h÷zÇÅë‰z5Õ  'xt¨| œ)(H¦™†!0(Htä^ ñÚBÇ.3˜'ˆÂJ#T0ËÛK?òºgª-v’ô¦]AKÇåjŒÌL€6 XeÊ‚æC¡ôLœ29Cdâ£``Eª�²K˜š‘aIN±†b�§{{ÕÊv$\΂^¯*Q…¦Eø¡5(abÊs)··§]Ñ t«%] =ó.a§¡SÈÑÕ´oýYNîË8¢¹”­µ¡jb4tivo6SÅ J¬¼É£“‘5L9Ö– -ziúdJ‡µ/*Á7–>BʇǚÐgŠ$ê¿ÿû’`¸€ó=Ô›jàBƒú`?J‰=Pl¼ëÀõŽiÀü=)ÙÌhóÆÝ¨09°ÉÚêO†ši* º!aäö:+`‚…´/Ò -ÏtcPÃ[Šnqw[ÁÈ|!p\by›mYU”°'"̦`l9…â0Ê=®fƒ\õI½–Ý=Z–µn{Zn…7Ulº“­Ùt+QÄS©G9÷…†�‹æ…mÿXuɼ³"��'Šg‰üáét)¬Í2Ýê9—eþ�°ú‹yò¤fWÂ{©_uÁ B©?•öQŽ÷ÿù‹¸¶é¾kÁ€ wÈt°@Æ1nkÎ ‰Å*`_!›•Á*ÒÌ@I *.Ä^Ap‘mý¤z•�6Àú6 NÎ ‚‘Ý¡ŒS=nðP‰¡H- ŽãÐh<é”2a‡SŒ{ÕŒ_Û[+¼ÒÆo½­u} :Î0xlÐ"9Jé.Ž .’4º³ËY0X‡újñÅ•£Ÿˆ0|%òSW§ªÎ,(Ñ(ÒNŽ;Ië°�(³íìaÁ£ÖÍŒˆMÓ½¼½©0Сy ÿû’`ºõ@T8jà@¤ ‚=ïJP8çPláK� ©@ü=(<mðéÿÅ#ãSòXµŸ ‘þùU˜TryãˆÚBÀD‰2pæ—%ÄiŃGÉz¦®Ì¢™�Èç£xOÍ;PÕ-ù×Þ5/Âìž%‚e”ƒ¼L –|O�¶Kúc#¿¯ëîgÿïúæ÷OTÇqrðæVãeÎ�›~Ç ½ÕÅ�›þ"248X@°y�¶åéI.ܧ\Õ• 'ÇÒà¯>C#iRx1pëÓç]Nç¬ur³1bm§¤k1¡Ú¶3 +jï:ÿúÓ7]t€do2U,iÁ XPBALx^C4Å5€\eú‚”U�£ðqÐ�¼—<¬Y?ŒvO~bO ¤†\Ë3g¬B'Þa0H¸¡üÄyÂ96˜Ø‹{ ¡·ç–Ìÿu}W}»˜~϶ï™c­ŠÌÚšl4ŸÒ¦ˆG…sƒ…¯Öæw?ý;tÚ{ÖÕâ L¢*aj‚Xá&B’~:$±à=±Ç£D¿Uˆ½+tœ Iµ§B+šô\yÇì«ÿû’`·ôAÔ›8Zà;¤`=ïJ¨õRlák€ÿ�hÁ‡­(ÛÄ«(AWÅbú@€ÞR;ÐY�Cd�(Dt7&D YXï!2¡&h*™½qZa ×€{ÓÆí¸kª/òXŒ§’ž*þH–+)…c!‡"ñpò: O%–(ts0æTÔO;_|ÿÿó>ëžé—}ÏO|Ì]UÚKLE"¾�–[äÅ ‡Ãêau¤¡îæcÕ‹=fkºž^§Ê¯mUÐZÕfbé_¼¡óŸù`%¶ÉeRVqª\0�EúÕ\Iw©Htí“ò§HuÔ@Úh»¦�zÿû’`ºž"ÔbP°[¯íɬ5yK;€ƒo4ͬ±dÉB0„S;ÿÿÿÃæÇ¢—å5ÜñUr¹HäH^eÿÿ²ÛÇ#c¬òHÑZŒý»Ÿ»úw,G¶”ø@)t­( +,n/Û_.Ä€ԢÕJªÝVEè˜ùò»¾#$uX•rÆØî¨´¼Hú‹–Ô„ÿýÎ’éïrý@;¾ÁE(ƒsKcDÀ† � @î:0´£Z× ¬”áÌNZVê €Æj»öq†¥®T’5$A¸Ô®´*?®[j‰©?Í-IC�ê�ÒCRÛÝÇU{b®uð<êþOö¬ö²2"O¹çÑkVÔgvgU:�]Q¿îµm*uw0s¢$7ÓÙÉPǧބës#-=† Uv: Ñx€‹ÛBœIÞíVÀ8PËCªaœ¹c4s F—Mn8‡$å�/V”ÿû’`Ä€2TS›XðF$0cJíoNm`MÁi—½(‡ŒKɆ4†ê2=õ½z þàÌÀæ ð—H4@p 'ж’Ü¡ =†¦z(šµ4–ò–ŒC’û šÅ#ñ½Iœã�«Yê¬Z=.Y0ì;u¸Ka0 %‘Ww»)N¦#]ÿÚŒef‘š^Û££+Ä)QÎ9…ÜŒs:?ÿ4Æ}äQAªQr ÂÆÔ­¤(=ê†ÛÙLÂè[ÌDIvù}èÐq94¥‘Jµ™ãéO¨�$†³êɆÝ1 t!ëmä{‡Ö/OÛ­U<¨z=[ÿÆ#<úrpÈ6†ÑT<¦ù*Ö} �*QO“�\Ûlá0仦W·u5‡Ñåc¯Ë0D= ˜i�-,3KlÐMyËÙÒIp ñ8†qi?%œºçÔ‡¿qêìŠïû—Å}÷ï¾já¯÷1ónác´ðP L‘Ò?öÉ!¤D¡£É=ö£kÇý Þð¬$ÊðŒ˜Â*âƆ—"sLQ¤0Å)ò6�‚ä°ò4 @leÿû�`·€øST›8*ðB£êacJdíPlák� )€÷½(奶òù��ê2!'u®’þtgmÈ:sd&Lñ Õ8â§7X¡Ê¥@ÔùkåÉ…@PeÁ+“ Š\Á²7‚Œ§a`W�"ö�ئ³‘¦¥-D/>_gž£eÃèNŽ—õ™?tI¦Íwœ{ÿû’`¸Ò@Ô›jà=£Šq3J�M?Nlà«Á©‡±(­bÒ ÊÛ¤› ˜ª1 ¸¡† Ø:`DÀû’ã(6 A$ÇK²ÜüX }ºT´‘‹S˜¤ÿH a§Sr1ZÜf°°uŸáqÔ ðz‰š–²æ¡¶ƒ~¹ÛÿÓ¯áÓGŸ øg{{mõÌÏN¹>çÍ�X]ÿÿÝ¿T=Jøøç9uïŽó瀤ŒÞ’G°Pˆ yñþ®V‚öu �ã¦cÝÜú3�ë®�úÂ{U)bÛè[’� �¹·¨ûšÍ�oñÿwáêºåÀ´·ªCy¶‰‚`„$�P@ºÆxÇV„N”ˆé8D£WÅB„Ž2ól°u^ÞYª¥Ð˜Û–ü_”RÇ^Ú:j zîÕÈj!�ye«œ¬ÿ…z|`V»¯!ÿú5çP«"9âռ㻥¨I°wRQ,¸×^ÿÿ%�P>ç… Žå[kLÓv¯a 1É‹? \ц ]Û3ÒørœÃèË‚¡ÇW;Žyä`7rï€Á4w–5CJ23Jœi ¨Nÿû’`¼ AÓ9Zâ<¤P=ïJI7NlàkÁ¨Á‡­(£o’1ÿÖ®¶þ� þDIº"£„…—•K ;ÃBÆ&(JP¦åW U~£””¼LÎ dLÅ´|s’'m,wvÌ£�k¡G^¦/^ODA ŒÒíÌÑo·¡“)ÜÊÕd3ëÿÿ·¹D©HÅç«¿zi9äÈËgÿ©Ñ_q0T,bȹ붆P_ØL¨Aí¬4å”È„(J”Ò¤ÔÑËilgc�´ë9ÿ^SÈ“’|ˆÅDcvTLH�ü>Ó‰'·¯‡»¾+êˆ"6—�)%NÑ 0€-„Þ1ÉˆŽ‚A ^%B–ýh„h¶8UFVš2;‰÷'—)Åz{×'VPSKã-º8�ZëJz—$²KŠÂžÎt32)å+=[è‡>ès¶·0¹_%Tö¢-LCHC,‡ÿóÓ·0a‚°ÀÞµº8 Õ]Õòõƒ¡¸ XÄ/ScÀlå¶ŒCŒ’vˆ$ÖmÍ<,Â=z™U!¤¤ÓWÓR°±¶ÍÍ©âsÿû’`¸€ýMÓXð>¤šAaëJÕ=LmdKÁ Ž)Œ=(=Þn,'ý¾ ’‹›þ€ŠÚ„ªùÞˆ!dÈ$$!²A~D£ `Ç<@–â¸�¤IXL’Q²¦¹·‚qË�¦²»ÉÊ_¶$sô°ÄÔd1Z {–’8b=ν˜ÉÔ…]7Û¿ë«­çu¦¹õœR×IN¶®‚¨2��$™wïbÖ%x«ÿ~•}Õ׋GNH´AãW@E©ñ¯�YÀž�õ1¥’xG,&KŒ"³x›aÆCœF•ê—™Þ¨LÁ¾´Ö«úŸâë?ü½¸�ô.°H­§†~Ó›8jàC£ú@aïJ% Nl½«�éA‡½(é>¬Tëëø–u`šÞ4®\ØE€ Áƒ2[g©ÈDPÍBI+É céz7…ÝÂqì,­—)Û£ºIQÊ̱PÕ³ÖpгGrD|ÈʪGKÏ5UåV'º3UÇœÊG'ËZ™Ñlˆ`¤;#ýžÓ U— ¶Ô£W¯JhÂg½ we£ÂS¨ÀÊXíS5ƒý` ¡1”>ì){�r8�òÊW¿­c8_£ÜíHú/„ÍFu¶9Ù•¾U–MW¬Ls«¨kü Qq/Pl€Ô ª��¯5§©f«†ŠYH %Á#pËRšê¢¥Ž Ï@�·âíf’çË`‡†/ŒŠv¾PÔ+ —;9­I«¿úº¦R9¬ŒÖnªvçʪWcºóhèÇ`Õ‚îY·¡pAÿú  Å‹¤TbÛ�Äœ©tâÈÂS ŸW&eT»nÑjéî)º™¿l¦yÞK“ëM —Q’"L¯ ›ÿû’`¹€ÀLÓ›/ðGÃúPcJ17PlàKÁ�i„ü=(Õ~+fúžÈrÜ7ðqÀH˜p[ÅK„–¼fí›ÅãÞ¸ NB `™p"sKêôJVY8MlF󇕢A´—e4Ó%o{µ�J笳]ô4Yhˆlrįš¡D×ÿû’`¸–NÔ›:ðF$*q?J�5PlaK�)`ü=(ÿ׊òO¤iøtF!ü )V¥Wà…8$®®XÏÒ2_Å–,V^›ˆ@aiâ‘4pSX�Ù½}ñ�Gfÿ¸e§’€ÆHÅqÄDLÀÉ–£Ž‰¢kÖ�kºìÞïÛ=¡IukN�tS¤ÌµÐA’/3ú�¨'rCG–@›6kûy Êú™X“P!âÞ^”ð’Ρ&¼`ï[ÓläÅC6I vÚàðÜ¿)˜Êøñ=/Íò®7·]/AÏùÄ)ñ]ëæÕù¾5™I³Ž»Á$ECsDÔW …îeO-œ•Ëè´‡ê¨ t¡AP‚Š’�Ûø�Òèƒé\�vRÜe’»ZÜÒúXa7 ˆ£G\ÆCtÌæóÕïÿ½×÷cøú$B* _x2™™…z‹ÔÛ±KžÍëSåŒÛežb^üEÌ™i ¹—™„�ÀsE˜3»NÌAÐ�íª9É™dr3“t�"¯$Ui_uiJÄ™RYu<Áj´ð¢M‹ÆR(ãgZÆbÿû’`»€Ì?Ó8jäEdÚb=ïJÜÇHlá �"¨�Œ=)‚šNÏííý¡’Õâ(—éX£IÌ3T¶xz¤nR¥óHî Õ‹;J:< ý4£HU ­IÚŸÊ–oÓØæµ”pá`£<�‰DÕJ= eË:ÝÝÞåý‘åÕê–ÓctwyÓ”ãÉK9îý½ß«©xdÞ’Í×Ím{¥•§;~Çüt;ëtlp[ÎÝØpŠÌ…I#È­;W…µ€Â& ò?.èÕàå«Qý#tK5Êfz´µn& [¾¨Ý»¿¿úÆå‚7ÿç?ù˜.Úx� Ç%ÃÞÁQ•%L”ý³¯ˆ~[§dá`çпÓm™YƸÉk§á€vêÆ¡}µË’¹ºÖ¹•îÌ9aê™·Ýýë2”obÜŸ‹ãÿ¸Š›eJ �ñmÛÏõòÿ|ñõhZìzŽn¤†Ò|•„+"<§Z£Y[öh1XhŠóK™b1‘Ôo•zCl &§!X•ˆ´n§Ú&=Ä�æá�ŒUÆÁ©±Õ:¼–,.�®^ˆR¯¯>ÿû’`»ÐAÒ›RâGÚ0aïJ5Jlak� �h͇­(“ÒÖY^,úîeì¬åþ¨’Å9(}•òDa‡í‹«G‹>lE夆içsšÙ¦Crhx¦£ùÊ·î=S°Ö69ŒüÇJ©²ß-SÊÀÏШ¤´…yÞ·ýj”Œþ’V¶Íì]õKÖ}E;ÿÝs*AVZHr2ðvúþ÷jü� ´V螀4“ÐõµéÊV¡“¸½,Š8“ã�½™ª!ð[%Á†J IN`ºÙ h\„Ûs¤ù=Ú²ž�>ÿMÖ¶r¯þþ@«nnvÚÊ�Š$¸°ªú €’ƒgÎJ¤YL~ÓÔ ††�}-FÒÊÚ"+ç@ê±ßž£íÜ),ÝÝÊ*[A473œ@èàgÖ‹(êJ[Ìû?ØÙ%)ÜÈÍÙ{.­WjK{2'‹ädPá�M¯CÙzV>+sÝzlÜÔ€5�ƨ‡¬)üKu =f Q®Wbü6 ÷àÆŒå©ÑÕÓ¦n¬Ù,nè,­3Œ‰Ü©Ü›³ Érg�×p?Sÿû’`¸€¹LÒ8òIäCaéJ$éLlá«�E�(ÍŒ=(àß�7ÿnâð’rvþSê—UÞ€_ùõe‘\ÝJx“ˆ8 —È$RwżÚÛ¦8º–ˆ²äÔ†ÐRz³½KÿkpE¨ ÄŸè.X ƒÕ<ÇreAø$ýˆ*vƒŠóSúmùÕHÃ-R„“$ç•[6$¸²UI't’Pÿ_í†ÔX ôA�mø–¬˜X¢U\I)Sõë‹Xeåth¸1-·›ËàµN×dkÍq~­»³«tNãa¹ÊT¨‰ÒÃΧ'oèë0b ¨ÊìZT�;m¤MÔUw¥†&WÙ.‹á2)ê·#Y¸>Âþ-Ʋž±²W8+„#/©•y‘©�jËÅ"àðò‘©¢&ÃêϪÓdQ1^ŠNõ¿ôÓDÝóÌb\p™ >Yb܆£jN›:†­Á5zWõþ•EúžÓr$–¸e À#b>þÜ€óªI ÅòæJ¦åË©ßFÃ#­ Pi‡]e^žVï 0ì†e·ØìpRõÿô�½õ½_ßÄ7¥¬¨ÿû’`µ€V3R“:äJÊcaìJ x¹Ll=©�&éŒü=(¿þÔŒÂiâ¤e”¬¤:ôHtÝD�QÐâSemL“¡zm;ѽ檀&­,çeÍÊ;„‚‡V)�°:$yQiA,R%¦£æ2>§ñû¢ßæ~E¾Œç™¥U*ªQf¼`¹FàOFÀÀÉ�›òŠïÅ÷ü(=Rþ¿?ÙRßö) À Ho¢c º´ Àùñ}±éxwÅ*Š7ÚF˜„¡M(PTÖj¤%³q`UŒþž#eœ bGÖ>œÚÓ—oÿ8� �·= z¿‡z­žn< Ûkö_â–áOƒR ‘�½´PU?`°æÏ½q;Ô�sXd.ý„:�*s&! §·znJ_02510<&¡ô`1Ô V9‹ Jë26DÉÙÖé».ÿ®ëAw¨Þµ¬�7RŠ-²Û�|œ€P§Tn?Z÷#Ï¥Š(�Zl^Û!pÂÅJW!”¿spÔ96‡A7¥ØÊ…BB× F`Qo.uKSСH Q[›4lD‚vø�QÕðÏ:ÿû’`¿Þ:R›8:âOúS=ïJ»Jlá©�KèÍŒ½(ñ—˜.çÖl¿÷k1=s7¨?þ)4R9_ÎUÃCn)~W>™Ö¯ ’¬Ô�)§;jC­Öå/ñعC/×mþ!BŽMtä™Bª�@ãíMé³Ù]Z_Y·êZw]ݯÐt­”õ˜B"B"Ôš*80‡Ü‹½›²ÛÇ‹ fÝzåDQ7æ‰9sSi5&, ‡ö5!OKRÌ"ÀïÒiÞ-(�H¤+!®CØÌŸA0CCÀdCfá\cÈ ·AHsf�w‰³ý`ŸÿÈcá•H.°…Lƒ¯–¥¨4I¶¨¥2¶(˜�Ém±Ô¿r•þ¥݆•„ŠÊXBQé!ëOK©@å¦ÅË…Œ#Ûªc/ÍI5�G¨…#?•žå˜/לöÝKhè¿æcÜN{ÿû’`·y@Ó›jàODªAcJ�Õ3Ll&!=aTD“6æ)ƾ§½Ûûo¦…¿˜FÊ¿:z"º1ÓŽE0�ͺáÙërÒ#+ Z¾ßs½[ÊÿfóYïwˆü´˜½FíìªÐÛI�z‘ü‰•¸ ¸ÚÂ¥‹ …�Øæq%w$Û,›šÔõIè~¨ŽèQ±~Ü÷1~¿Ö©ŒjÙÿ^ÅŒùÔ=½ ¦ÿÈæ„H•›fbèM¯8ÜG ¬ò šQ`W!†ÐªfšåiYSQOD ÙÌ ¨&–g+ýîtÓ�—ãM޳±(ïB”£gƒÏ©•ÏîH~ü¯õã~Ý™ëPŽ+2Ëý;ÙäO“pÖÄ9ââ—›4`¨ KYØ €ëº.p�f �sqÎ�fÉŠÒŠYkœ}]xPÄ…¾å`*0ÖÿLìι?;VÂ3x„“Oœ‘Ôw/«íãÝîûÿúýl,éšÉÜF3*²9ɹ›/JĤ‚Œ‚œäµð§™ gŠõÿû’`¾0ES›bà@ª aëJ�/Tl=‹É hœ5((;'A2ŒBiɧ.›Žä-NNfh. VåFj%S«fY7˜f=€œÿà©5<˜%øDk9ý…îP|ZAè¡Éicji„fÿ¬‘cé­©®á’Sšv·À¸â”ñàè|9‚³¸É8?D»©,4QòšI±VUšPwE­B¢M>Ó{Moë®iN†À1µhî+ô›ýþåU›@±¸!¡†-Åžt«“‚WCLu«’BϪQqÂókXF´„ I§×®Vƒ�"NTµuÖÙô5½39ŽŒr¿¡ }lŒŠ‹Ö! 4ÁÓYQFƒL` ¨p�zÊÃZÌ=J?ûÌ÷QWC".bê哺(\°laˆ4C,€t ¸œCq°yEÜ^EG¤Ý-ñ4¿ÅUÖÙ°ÆÌUEýÏù6ãCGÜ.‡N‘ˆ³×SÒ‚Ÿ¸xÛ%`³ñº‘—¨8öÝ€ýAõb�ʽÈàñ/aBç­vk�ˆ{¥PR6ðHy¨Û|{ÿû’`«€™MÖ™èBòA£ú aìJ …-Vg¡ Á§ÁŒ-(†œ¢ø¨ëVý§u½‡%Ԣɬ'e‡‡ÀV<QeUUgjû‘׿ z=ºß¿+œvyÂ0•Ês5&“2Ü–jIž$ÅÅQXZmŸ±\ö4K[^«Ží_Ô×Se¯ÿ÷^ü?ßúqŽ� CöD‹%+ìÝTýÄìh°yrR¦cžª­ŽM‹(ýŒ ˆ­y Ho÷ï¹wç¶õjŽ[�öÛ篃M zÅàÓlT\)'ÿö÷>¸§ÄÞšòî–(uÒ˜¿  @+ëZ†J g) )Nõ'– {©D'½®=^ö:ê˜çÌÍME±ÐÏ´óæ^|ºÝ]¬’ËâP€„Ñ žÁ†_gÐŒ*B@i4,ÎÕ…Ê«!*½÷ 3ç(l®1•æÔ7}ßÿË7Ƶ‚åìÑ@ôŠ„:¨¢H0À-¶±�a¢ƒXEoxß¶™ ‰çrèÛìÙéºú&–íDVmLÕ§ã`jµ7’º/£ŸÙ™&\TWJØÂÿû’`¹�IUæJðL$©àgJ‘1UL-+Á%§ÁŒ-( ö ˆ’†ÿþ°¾Ÿ‘â³YŽF#�„­wôÐ4SW>äÜ™8Úª‹}’¦¹K�£N¶nS/—æ.Ô ž,ûžbw”¹aÑ �KU4`Âñ:|º ÁÐÛ ûtí?·ÿ?vµïÙ†ÿi�í_ší>~\kFA�Tà¡e®äŸxJË>Õè¨ÝamÆÛZDWm ẨHëg©Œ°ÕN)ä™ç `µpÛCÁŒÂ/Õ Àp‹\dá‘¢n#$¸c^ᡱ=q[nË�rÒ@Ú/<>ЇF`Ëeº$‚-�›¾‘mÊmÖvŸ/Yþ3s“3F};k¹Vþþª…ÒâŒ=X¬}%• ©å¦î1Ìlxð’eö?à˜7g÷òi}ÏÞ¼Þ›�mÝ›eÿþ~ffÌ�É” 1½â„B´©•WOÝ”´ ݽk‹œš5cÒ 5W aíõú¿Vû)K;z–aøs[³ÿ¾ñÕU¥Š{_A÷5ºDM;]cšªK6’¹ÿû’`ºÀIÔ›bðF$aèJNÑ%R虋Á•(AŒ!1Fýfoô ¾ÜiÁÚêxÂ@®qÝÒ‡yÓ‘-BÑduhñ1ÕÂÁ"$ªŒë…7°¥¦Eƒá\L5�O”¦%@À@‡$1¤2Yi�±°±sQ²úŽ&*ÜöÎÛ©©U«ÝL¹žÛ«÷OÔ>æWÕ�1ð:^x¡y“.><›j²�8Ã@]àÈh`5A© ¶Å¤€·/Ç�4`AS* P˜Qî·ZïxÍ”ÿ 8 ›ö`è¡üÖ1fkê¬YÔ@Ó&^‡U ±çCPT›õÿhD6¼·sØÚ‹Û$Š$ß3sÁ�_Ìu]ÍÅõ)™fºn½Ód“&Žò±è= …ôGÓþ3‰‰Ò)©¡Å |ùòy¹‚�“Lú�˜VËwVÉý4­Ö¶™Uº.ïAúJ3Z)¢µš¸�â¡RdOþ¿×«–F�/Iæj¶ÄO tvü±„:Æì$ r©<õS£xCsÔ;ú¥PƒIþ"À�WŸ’C"<ÐÆË¬´í(žž &�m,ÿû’`¼€ÓLÔèZðIÅš=èLY5Rg¡«Á3'Á‡¡1_'»A0[­ZÞØ ßV€¬�Íc¥íÖ0­€.­Äöò ÕÒÆ=b-?†Ô·9SÄL›Ö.®žUñ”†å^q�õ,ka…‘ëÖÙ«,® Çò²[ǬZf›Æõ�ÞÿçëúM‰½·¿óõë¬ÿÇ–û®þ·¬×;ÌQh¿Ÿ/x$Í÷æßu¿O|™Ë =Øñ:´šÜíO¸CÂéb>(‡|ãêÿ-ý׬@;_Üb,§üV!ÓÕ+t¯ékÌ .Ç…EÀÀ€ë•éܰ+êb2(vüuæ�U{?¶€[`v}UϳÜVÿW[k§6�¢z Ó­xòùû‹[?:tq _ó8ªõz€‘ Å'ß}sÖu»ÿgoË]lœÞŸÏ·Ö9¼ÓwìßßT߯Xg?S¤ÿÍ<BÓ³wˆþvãŸn”¡_YR‘"‹…M8â›Há‰g„­ÛuûEŸôê ™ü×4c2�º üÓ©3]I+\õÛ�»VjÕÿû’`¹€ÆOÓ™èzòEÅZaèLU Ll!‹‰$˜¨„­0^ƒ`1Ûz�{ýAÈ®S:~Ä^ì§’j‘§Ï"´DÊz£O¢ñ©¿¯j“ð<¹á“‡ˆ %ÌËüðËØØ”Æ�oºõ—PþósÿîñUü£p› ìe:~ÿ²þ§³«”õ¿7±WwžáëßÚ»O F+ñnÊÂÏ(wIA5U( ¡žxŒ¼íd4Y8¨È&=÷žûÃ<Óï@<íßq3�~Ïm‚WÑC”ÉöÏAE®äfa…þ�›˜b`‡ÊÐÿè ]÷�Ñähj`;1è„Ö‚.€žd®œ?ÔküÎ7îªàS»(s¢'æ­¬YÅ% ¨d\ˆØÐôsR—y4.óx¶<|’�Ìw´7ÜJÿP0¦H–H©TmZ%­£ü[¤—iæ¨pRS¿­WombqOÆ×ßÕÿvð]©¿ó,÷J¶°)² ã¡y|Ó&1µÏ?"ËÓP@uìWXÿû’`»|XT9ˆKpO&àaæLM¹'Nf! É!§Á†0 ÜÒà \Èll]´¢mư\ �­húï²&>š¶«—Z^²a£¥¹È<àô\à„<¡aåÔ’H¡Æ(bf:1ê«DÓüÜzG¡&5ô±OÄöº_|;ãø1®—™ZcAt1¢‰¾§ïûmþ*]IÀ.B»�T÷ï1£s¤U{&�VJü±âÏ/«ß¥©ë×Ü- ®“²AúþfüZ’¬uД@Ì0eˆŸDØkÖQ¸Û¥V¼-Ðþ$T÷AªÃ5,ÚÏ¢YŠQ%É3Ýžæ ª=F‡B7¡Èð÷(ó†�LïÐ|Ž(jeKÝ“Ip«ûO+XÃŽUš•4Ò^E¤‹‘*J ôP{u³¢Ýy·º=_P¿1ÍõhŒlŒ3b½™ûŒ…©BŒB�¡c>gÿMh³>¤˜n#ÊT]n>x89½&÷m8ß!ª¶X/$Ž®¼y½dêßñ­Í»{¶¶l¾ÚVå³~Ù®«õ¤ÓãD÷•¸*X[[€õ‡Î«U•"!ĽÍVº~ðôô?ÿû’`¶€CQ¹‹2àY&©Òaé\ I Dc¬k�€›&�—±q2Xu¹ÍlØøO Çú!Pª„Y­;a£¬÷At±1¾÷WÓ›æßSPÿçC}>²æÇȳth¦YÝŒÉ"ž'ÒwùçÍù^WQ4.\20A—4ûÍ®…%)C¨{É©»¦ÃpFQ5!Å€x×s¢,Ö�Ó½¥qs@›8¡%| IUK†œ-\ÇËë{ïÛ1ÙŒ+SVT­ÇQmÎ,r«(@0da±VÃY OBŒH.±¢4ÔH\ä$©ùÁìC™„:–’&r–„­2wð�)t"‰# 6-¬MŽ('ì­êè}u7w0פ¥ËC( —ÿ?žZ …½5T5{ÏÏ"ÿ€lDs+ù¬;J„FÈÖ@¸ÀÀ¢H‡‡ ±ŠyÂMyxñsÖk¨F9`%Jô�süÞ²8¢%@ÑDÏT¦f4 .-'èv¹ÏÞ±ÿÒîÖÙ¶¾\�‹«^ç‰m]RYTÕVi‰ÈÁ‘m™ð27)£ iÎa±ÒÚÜ%'ÕÉxÿû�`»æ@P™‹àe©�eé\ õ Bf k�}&…†%pk# &-xA‚œØ¸°¯«Èv 1Ù^VDˆX‚d#Uƒ™Í¤nq–vwEK­s¿¿¯�»æÿ³-¤-¬E ‚ܪ£PË9ŸÊ5o=µ®™ûnîoÿçbŒÜÅÌJSØõÿ¾{ZS’×õð�_Í^¸ç[þnÅs›è€`ñ:ÉŠ±—q”AO<ÓÀDgƒˆP’M�zZœóÖ~¯oÝ«˜î£u6n¾t¯»2˜TF¥…˜±pn´=`VKí»™KQ8áºÔ7ý×þóŸQaT©ô” î)p_ç­·$ß2A8­!”(è·Ê!+‡L>åðèÛ±÷íí/þî½h¨g�€ ´1Œ†Þþf@–0hv|™gçÕ#¤¼ˆ6Ÿ›W4¦³YOx)#Øôzé3 R¿é8¼h™ó¾p�`ã èEˆ Œ êŸb¥8%œQlo&|·}RMzÄ™ü1Š\¿ÏÚˆW8 &X]D" PÀožƒˆ ˜(Œ"ûæß?§úÿû’`¹]=Ïí2âV‡¹²a(\ Í>g¬k‰-˜çÄ q?. •ÑdǹS÷Ç,ʬfÈácp2ÔVlyŽái5­f ½e"Š+fC<ú™f‰V™ð3MÈGõ€Æé"γ,ϯ“³¥Ú^ݹ۲ѿî³[DM±­¹¹_ü¦ûÝ»V÷šÊ©}�›÷ä|Îúî¼�§™yµr³ÑÑW¦ˆ ,]`I‘ÖBK )gŸ$\Ìïµ42o¹ußfù�¾[~ç¯8âÑ{�¸–A:—œ¤Yéµôz½Ö?Aw.jTö¶Ø`»[”ò1æ ^ƒE¿v1ž`‡˜YQ’óûÅsr}ºÅ\Ê5÷/fµ\Ã-÷NôÏÏî•W6ýšGR /Lű h0.^SšY".`ô¤L“Ò•7ê=ˆúþªÿÊÏ·~ÿû’@¿Û2Ì1ëJâ`hÙ—aˆ\L¬Ë,'½‹‰•å„ö%pj MC}=`z‰€P&( ªHpt"l¢§-ixiÙ—=ZdGÄ4ímƒcbë<íêÕvEŸ9ý#€` ÎPâDŒ@¡<#á¸>ù—Ÿ¥ó%¤Íª­¼Ë?ðEìÒwð�\. ÿ¬) “_ßÿÞy^HÚI�¹˜š•ƒ™B«�DP†g°9׳‹·mÇ2ã�–üÝýGÂݳœ*²1ÌŒ¤±~B�v²,�PÛ@²•ÈqyÆŠ‹`"r�Ö¦ÃÔK…*L�H d¥=ˆJ5¦,#½Ʋ¸>˜h�2@f“i…ktš~ãW[(Â>óæ}f|—¾ß¿úÛ‰—T \7XY8t«ðtj› ,ºÙœšúûý»ÿÿõ¦t�Ý)ŽIïg?¦Mü*­ Ãíù>}ùÜ3º22ËeÓ‚…. ìw¤/�ƒ­„ÔWê§}Üß(Îå¾P¯÷<œã[îuµé¬™"pKLõY�Ø4»HRnä=X™³Ë¹ÿû’`º€aIM¹+òT†y`=)\ Àý2g¤Ë‰>š%Äô¥pXÓVÇàΦåÀ �àW•§�Õ#²V°…8ÊêrSéŽÀÎBû­G6w¦û¹}­¶¿›3OÉ‹ûÖí�’ÛÙwnéú Y�âÓ„r*û–QrÛO¿³ÿÿ�®Sšïž§¿mÍoÛ]LÐPLuDÛL¸/>]‚ð‚‰G*úhBÚ’¨âèšpØD¬4M— ª’HýJ£®ÈþN“}·dÛ¶™z׭ҵʧ…•WYŒÜ;,*Ô5´Bm˜)h*ÅÐàö&I¿7ße;G³Ä€KFdÈÄ64G8/�ήÕ]P† 䣭‰º¹˜K¦â­×æî繞£ž'�{9/!�Úˆ �§:vf°¶MÔÚ+ÛÛJ_=¾Ü´ñ,R-´FoSMÇ¿Õiqg<¤ÔÄ4Ä\qý•ÚHª‘¶§¹-…ßJM@$ÙøÝ9�¨ ǘ<]*�u…‹Z¤~ýšQÙ-Ù»{0|rëÖeõþ]d~BW‘ëôר†Åj²¸¾…Ë´™v²Dœ¼Ãtÿû’`ºŠJÌì2ðQF9P1,\M¥[2g¡ ÉCeDÆ%0Ö¤ˆ¡±(œŠÙs4=@(�wž .>¹ru‚�¶²–-AµF<|=¤Nµ+ZOPŸ¿ÃÜCYtÏ#¨Ž¤lvÄJ‚]³&wêµÈS5�üÈôËx°ÎSŒ}ÿÏ;ü>Ègz2Î'_×B͵8‹ØÍ‰£¡Ã¤v„z€"Â%i™ &gbÎ` ;¸½Jóºÿ)9ì¿¶öý/=ö÷ž£ÿ÷³‡¸¾^¢ï*È«(¨¡áÂv˜èŠ##˜¨­9ä•T¥j­+*t½(yUÐÜ© ¥�Î�z‹_PÕ§„x¤¡‚qacT$h³åké‹ùîndvÉqÓ\rÕ»#µÎÅʤ”`SsL,KŸ:%'v¾»“Zvz�èÆ*¬¨_%—3!ÒÇB˜i’$ }¾ÏÕ~ú²ÇYNŸfR¬¶«…Ò!L²{�¨�`6†É×v:•È_»­©^×½ÉæÍ½ùû])Oc\•È,Ò-U2p�ø e—¼Üõsj¦ÈXE'�Ë+ÿû’`¸€+NÍ9(òRF)Q=‰L MC0g «ÉG˜åô¥qü«ú þ §2½Ö·1FÆp!N…Å@0~  XËaašݵ˜îûÞù‹GÌ÷+]Ÿ)û¬3@h Í&I"q§²–ÐB— ²pÿ#ÜýÏãkìÿ­Õäÿ[˜¬èòµÍ·Fé�D’ÿà+�ËzvíÕï÷Úæ m<ÌFž¢Þ.ƒ`" Ä“¨£;Œu,9^Ñ*¡ŸßÝ»ºò¹îo¶3�©ìm&èºvá)cåêuPÂù–£.hX ‘¶%Ûˆ>ÿÿÿõ{¶ý$Pèe� Yƒg–u(Ù¢p©7_vc>îN?¦-µŸ×Ìû/NOJ¶Aw%c°n“5|áúžˆ‹T¤ývÒÿ½3 ÄJPp{+BR—4¥–”„¤±@LˆcÞ%î*né?(–dBK’Ðß/*’|ƒécɸ¥çÓZÅvŽÛríOûZÑË›z�¨øO·»~i;4mK “(’`ËDDäDâÈ’ÑæhR2}èÄN(¤»Iu5ÿû’`½€�@ʱè2âRÅùR= L Q53D˜kÁfšd€ö%p”•.b°,�¯?•5zσ™i­©”òc×¢ø@°Â‘fÛª³Ûù¶:Um²|ŸÏØÎeVÐâ]‡Äî K 9žÝe5ADHúy¾ýnt½®Ô©“¾ŽëõPš/S»ú©ûßõ®µœ®-~‹:J[V�ñg(™Ñiœ\Ù�Šv·_ Y^÷·»­?ï*Ul|�·?õõŠ™AD¥10Äh.Ð}SÁùÈš÷m&’´v,¬a(ršvÿþ…¯û k@ œ€È�ð9ÝYÓ爠äÅÉT1Pz•¿=¿Í÷wå.Û;M=ÿÎßÜΤã- ¤a¡AêõîæÚ>Zxb|i•lß쥚6±ü6x Aƒ=ë’^yŸâÎ ×UÄäzl W8®Ñ+ $aú±`·‘ƒaMsyJõÜuŠñ•ÿºÞìÚÿ¾ú[‰§ûý±²#¸Þq†ä…¶&Áp˜dÐö-0_X Œ<™éú=�Fé%jÅBBbÂ"‚`¥=HÒ©zE+·6†I è®éaĨ3”³I&,ÅÅ^M²¿Û›·¢µ›[3þÞw>ýæçÖhÖ9ßÕzÿ×Òês7ì;ã3Ó,í…÷ôýŒ_=ÿ4÷Çoô«ÇQˆüF=aÊ@Ìrd­ɬqIÜK×§Ïq)ûõž�Ô±Ÿ‘¹zù{y \l©|#�f#5j‰.•CI'&EÀË ¤¸ªâ–hÿÿÿÿWUDN2&ËfÜ–]“‘н®ØìH# Ïc jPkõ÷ÅÜpéžeÓ7M›sÑ—ÿþÔÆúL” ¤9Ë^É$˜›LëÙˆLœÓ9ŸÞçÔò÷[¿õ[Oýÿlíí¯îçí­¸òÙÞóý�¥«OÈvyØ3õ÷¼Ú ñB¢@V’ÊÃpVÁ;eZ,uSC�¢·‰C�=Œþ‘éåÒuüóúñö/ÃÕÆB D|ˆ€sáÆ�H¢9b}ÿÿÿèkk“Yáÿû’`¾WJ™…3rO…Ù10ÉLŽ¡O(ì,ËÉ2¥œÁ�p€&V(âòIÏ#+Ü¥›U¹Fd˜N÷ ™\Uf×È)—ü?ËÚ­ŽVDzÜ.)ÞZ\Ê;`²G‘B’¹ §=z³oY¢{5õq“ÿçëwî×9ß/{7Œí÷ʨ»{<–긟‚˜ÿáØ»ëóm¯“q�þ Vž €£Zv¨p0af'RŠêzœ¬§u?N²Ÿ³[\ ÿÿÖçB ë¹F¤°<´šTÛJ¹m/¤ŸÖS$j5¯|6´N]ÿÿßú½U�ˆ) {¢Å…ØJÖ._1œæÙïRFŸ6siÛí?ÛVö<š³Q\�9NãH$ÅDCØ@Ìyïqs‰©˜ã/cV­÷-S*R�EJ ¡ZëùÍwí�€ôm¿*ëa4�{¯•T¼`@„YCX3E¹éò " *=¨f±*2¿·÷,Ú»ªùÜÚͺ»ÈfíuV(ŒHåØzD ßRÎì*©;Ó 2 ˆÑ3võÿÿÿ×õÿû’`¼€yGÉ‘é2âQ™20¦\ ñ+F«‰Vä¤Ã%0Rµqe€ €l>‘ *ÈF& ñ‡2ˆJÈÃ<í7šé¯úíb j¥º™‹¿øzƈ£’,uƒÃO‘ Dt±N³QÉ×L˼MÖ~ÌëXæ—¤mjÚïÍýý|W}΢MrgšïUM[W=ïÿÿè ·$k‚œvª Jéëk$„h e¡(”Ǿ?Mñ¼¶Ïíoü®ÎÎ5WR¯‘¤Ög(L„¼�¨5CâeU+ÐÂ?Ãin4¦&£H2ÖC¬ËP°z&rÑ—¿7¥¶ŸÈe“ÀÐXR,77653¢:ÌñŸû|›Ü¦»­�üSûwÿÿ,ø�ËD>Á'å%ØÇû)zZç ™ÖøZÒ;Kô<ªÿúжÖßÿô€ ÄhS(´øŸaä); !\œÑOe QêÑÈÔ¥YóÃ]­íyûãä7Ïûí­½HAjÒè2ÍÔ¼ƒç²»«yI ª³ÜýJÃÔËbs:9ж;aaÚHÕ�ÿÝäµúø}½U¢}b‚¡˜+‚¤P3_- ò„|ê‡`úß~ÞÆ~ÚZvža·×¯»ß¿¿ò›£4y1GMar”º Æ¥;àqp¡PL6H€U€VždÖÿÿÿöéÛiñ}úÿû’`¾€qBI9é2âOy&0Æ\ ÌÃ$f$ɉc¤HÆ0J¥"Rò)è8U@ñ<mÁ¨t¨GJK¤Îµ&=³û¯›tÿ¬;Ü]T=EÝ Ã³ S„t$Ð âÖáÞ,î$‰ÌŒj’\\« ÿèú¨«å—£ÅÙ¯v‡Õb»Ñ¹@?@¶”&<6ZpùdB@šPŒk`Ú ËÅ9™q¯á:÷üK%ÔÖjÎøb�l²žä›pN� ¤æ¼vœ).“¤wR-¸¤våQ¬ˆ;.µ]¡âì×îìCþôêë¯Í]Ç~Ódv„“Kvrü°Î™Oˆ‰Ü¸•&Œ ˆ‘Ë ìŸÛ¸VeN;xó¯ó|ÏܧÇýµžâÐ&iÏAí )5xSTki¬/v¿ý¿ÿìúÿmÞ¯ÿèD2‰u`Š˜àLH‡“tÊ(‘„™i­…׸_ھݿÝÿö�Íivlï›…=EM§$Ry <Œ£eXl2‡Á¬«öÿÿ÷ÿÕñŸÙûUý@-军$"b{bJ›CYHB¡’Dñ *‚!”)5ÿû’@¿ 1Ç�‹Bàbæ(ð=+L ðÁ '¤É�5•dÄ™0r¸�’ä·ªÏò•Æ%Y&Õú´¬5ÿ ,-*¹'1BŃSTT:²€¨zP°r‡3JÃSpd,<Á©ÕEpéW/«, ‰\ h4¨‰cvï•ÊŒ‰a¢²Îò^ �-ü—*æ�%a¬¶[ Ê3<•3S•XE‰0”ªµÅÝiÆ­½nê«ÿ媩çdŒÕJ¤ä¦ ’,)ç\ðeÏ”X“Ž„ºIdQYÞGÿèèSùýG„§d«8è‰ê¬‰\ Z·'õ‚ï+Ñ3"xñpzÆHh•¡`z/Ï$(H*=QƒÖ�þ|½B‘ ÿû’@Íß3Â�éBàhE¨`a†LØ Þ $ .ÛÁǤÿû’@ÿ€*·ƒ# fðmƒ@�Þ �Á£dropbox-dropbox-sdk-python-6064f79/test/fixtures/foo.txt000066400000000000000000000000331522735175000234060ustar00rootroot00000000000000abcdefghijklmnopqrstuvwxyz dropbox-dropbox-sdk-python-6064f79/test/integration/000077500000000000000000000000001522735175000225405ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/test/integration/expired-certs.crt000066400000000000000000000104231522735175000260300ustar00rootroot00000000000000# 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----- dropbox-dropbox-sdk-python-6064f79/test/integration/test_dropbox.py000066400000000000000000000324341522735175000256340ustar00rootroot00000000000000#!/usr/bin/env python from __future__ import absolute_import, division, print_function, unicode_literals import datetime import os import random import re import string import sys import pytest import dropbox.dropbox_client as dropbox_client try: from io import BytesIO except ImportError: from StringIO import StringIO as BytesIO from dropbox import ( create_session, Dropbox, DropboxOAuth2Flow, DropboxTeam, session, stone_serializers, ) from dropbox.dropbox_client import PATH_ROOT_HEADER, SELECT_USER_HEADER from dropbox.exceptions import ( ApiError, AuthError, BadInputError, PathRootError, ) from dropbox.files import ( DeleteResult, ListFolderError, PathOrLink, SharedLinkFileInfo, ) from dropbox.common import ( PathRoot, PathRoot_validator, ) from dropbox.session import SSLError # Key Types REFRESH_TOKEN_KEY = "REFRESH_TOKEN" ACCESS_TOKEN_KEY = "DROPBOX_TOKEN" CLIENT_ID_KEY = "CLIENT_ID" CLIENT_SECRET_KEY = "CLIENT_SECRET" # App Types SCOPED_KEY = "SCOPED" LEGACY_KEY = "LEGACY" # User Types USER_KEY = "USER" TEAM_KEY = "TEAM" # Misc types SHARED_LINK_KEY = "DROPBOX_SHARED_LINK" def format_env_name(app_type=SCOPED_KEY, user_type=USER_KEY, key_type=ACCESS_TOKEN_KEY): return "{}_{}_{}".format(app_type, user_type, key_type) def _value_from_env_or_die(env_name): value = os.environ.get(env_name) if value is None: print( "Set {} environment variable to a valid value.".format(env_name), file=sys.stderr, ) sys.exit(1) return value _TRUSTED_CERTS_FILE = os.path.join(os.path.dirname(__file__), "trusted-certs.crt") _EXPIRED_CERTS_FILE = os.path.join(os.path.dirname(__file__), "expired-certs.crt") # enables testing both with and without a manually-provided CA bundle @pytest.fixture(params=[None, _TRUSTED_CERTS_FILE], ids=["no-pinning", "pinning"]) def dbx_session(request): return create_session(ca_certs=request.param) def _refresh_dbx(dbx_session=None): # Build a user client from the refresh token instead of a stored access # token; the SDK mints a short-lived access token on demand. Access tokens # were the recurring cause of CI auth failures, so this removes them from # the required credentials. refresh_token = _value_from_env_or_die(format_env_name(SCOPED_KEY, USER_KEY, REFRESH_TOKEN_KEY)) app_key = _value_from_env_or_die(format_env_name(SCOPED_KEY, USER_KEY, CLIENT_ID_KEY)) app_secret = _value_from_env_or_die(format_env_name(SCOPED_KEY, USER_KEY, CLIENT_SECRET_KEY)) return Dropbox( oauth2_refresh_token=refresh_token, app_key=app_key, app_secret=app_secret, session=dbx_session, ) @pytest.fixture() def dbx_from_env(dbx_session): return _refresh_dbx(dbx_session) @pytest.fixture() def refresh_dbx_from_env(dbx_session): return _refresh_dbx(dbx_session) @pytest.fixture() def bad_secret_dbx_from_env(dbx_session): # Valid refresh token and app key, but a wrong app secret, so the token # endpoint rejects the refresh. refresh_token = _value_from_env_or_die(format_env_name(SCOPED_KEY, USER_KEY, REFRESH_TOKEN_KEY)) app_key = _value_from_env_or_die(format_env_name(SCOPED_KEY, USER_KEY, CLIENT_ID_KEY)) return Dropbox( oauth2_refresh_token=refresh_token, app_key=app_key, app_secret="invalid_app_secret", session=dbx_session, ) @pytest.fixture() def dbx_team_from_env(dbx_session): refresh_token = _value_from_env_or_die(format_env_name(SCOPED_KEY, TEAM_KEY, REFRESH_TOKEN_KEY)) app_key = _value_from_env_or_die(format_env_name(SCOPED_KEY, TEAM_KEY, CLIENT_ID_KEY)) app_secret = _value_from_env_or_die(format_env_name(SCOPED_KEY, TEAM_KEY, CLIENT_SECRET_KEY)) return DropboxTeam( oauth2_refresh_token=refresh_token, app_key=app_key, app_secret=app_secret, session=dbx_session, ) @pytest.fixture() def dbx_app_auth_from_env(dbx_session): app_key = _value_from_env_or_die(format_env_name(SCOPED_KEY, USER_KEY, CLIENT_ID_KEY)) app_secret = _value_from_env_or_die(format_env_name(SCOPED_KEY, USER_KEY, CLIENT_SECRET_KEY)) return Dropbox(app_key=app_key, app_secret=app_secret, session=dbx_session) @pytest.fixture() def dbx_share_url_from_env(): return _value_from_env_or_die(SHARED_LINK_KEY) MALFORMED_TOKEN = "asdf" INVALID_TOKEN = "z" * 62 # Need bytes type for Python3 DUMMY_PAYLOAD = string.ascii_letters.encode("ascii") RANDOM_FOLDER = random.sample(string.ascii_letters, 15) TIMESTAMP = str(datetime.datetime.now(datetime.timezone.utc)) STATIC_FILE = "/test.txt" @pytest.fixture(scope="module") def pytest_setup(): print("Setup") dbx = _refresh_dbx() try: dbx.files_delete(STATIC_FILE) except Exception: print("File not found") try: dbx.files_delete("/Test/%s" % TIMESTAMP) except Exception: print("File not found") @pytest.mark.usefixtures( "pytest_setup", "dbx_from_env", "refresh_dbx_from_env", "dbx_app_auth_from_env", "dbx_share_url_from_env", ) class TestDropbox: def test_multi_auth(self, dbx_from_env, dbx_app_auth_from_env, dbx_share_url_from_env): # Test for user (with oauth token) preview_result, resp = dbx_from_env.files_get_thumbnail_v2( PathOrLink.link(SharedLinkFileInfo(url=dbx_share_url_from_env)) ) assert resp.status_code == 200 # Test for app (with app key and secret) preview_result, resp = dbx_from_env.files_get_thumbnail_v2( PathOrLink.link(SharedLinkFileInfo(url=dbx_share_url_from_env)) ) assert resp.status_code == 200 def test_refresh(self, refresh_dbx_from_env): refresh_dbx_from_env.users_get_current_account() def test_refresh_failure_error_detail(self, bad_secret_dbx_from_env): with pytest.raises(BadInputError) as cm: bad_secret_dbx_from_env.users_get_current_account() assert "invalid_client" in cm.value.message def test_app_auth(self, dbx_app_auth_from_env): dbx_app_auth_from_env.check_app(query="hello world") def test_downscope(self, refresh_dbx_from_env): refresh_dbx_from_env.users_get_current_account() refresh_dbx_from_env.refresh_access_token(scope=["files.metadata.read"]) with pytest.raises(AuthError): # Should fail because downscoped to not include needed scope refresh_dbx_from_env.users_get_current_account() def test_rpc(self, dbx_from_env): dbx_from_env.files_list_folder("") # Test API error random_folder_path = "/" + "".join(RANDOM_FOLDER) with pytest.raises(ApiError) as cm: dbx_from_env.files_list_folder(random_folder_path) assert isinstance(cm.value.error, ListFolderError) def test_upload_download(self, dbx_from_env): # Upload file random_filename = "".join(RANDOM_FOLDER) random_path = "/Test/%s/%s" % (TIMESTAMP, random_filename) test_contents = DUMMY_PAYLOAD dbx_from_env.files_upload(test_contents, random_path) # Download file _, resp = dbx_from_env.files_download(random_path) assert DUMMY_PAYLOAD == resp.content # Cleanup folder dbx_from_env.files_delete("/Test/%s" % TIMESTAMP) def test_upload_auto_content_hash(self, dbx_from_env, monkeypatch): # A deliberately incorrect auto-computed hash must be rejected by the # server, proving the default hash is included in the request. monkeypatch.setattr(dropbox_client, "_content_hash", lambda _: "0" * 64) random_filename = "".join(RANDOM_FOLDER) random_path = "/Test/%s/%s" % (TIMESTAMP, random_filename) with pytest.raises(ApiError) as cm: dbx_from_env.files_upload(DUMMY_PAYLOAD, random_path) assert cm.value.error.is_content_hash_mismatch() def test_bad_upload_types(self, dbx_from_env): with pytest.raises(TypeError): dbx_from_env.files_upload(BytesIO(b"test"), "/Test") def test_clone_when_user_linked(self, dbx_from_env): new_dbx = dbx_from_env.clone() assert dbx_from_env is not new_dbx assert isinstance(new_dbx, dbx_from_env.__class__) def test_with_path_root_constructor(self, dbx_from_env): # Verify valid mode types for path_root in ( PathRoot.home, PathRoot.root("123"), PathRoot.namespace_id("123"), ): dbx_new = dbx_from_env.with_path_root(path_root) assert dbx_new is not dbx_from_env expected = stone_serializers.json_encode(PathRoot_validator, path_root) assert dbx_new._headers.get(PATH_ROOT_HEADER) == expected # verify invalid mode raises ValueError with pytest.raises(ValueError): dbx_from_env.with_path_root(None) def test_path_root(self, dbx_from_env): root_info = dbx_from_env.users_get_current_account().root_info root_ns = root_info.root_namespace_id home_ns = root_info.home_namespace_id # verify home mode dbxpr = dbx_from_env.with_path_root(PathRoot.home) dbxpr.files_list_folder("") # verify root mode dbxpr = dbx_from_env.with_path_root(PathRoot.root(root_ns)) dbxpr.files_list_folder("") # verify namespace_id mode dbxpr = dbx_from_env.with_path_root(PathRoot.namespace_id(home_ns)) dbxpr.files_list_folder("") def test_path_root_err(self, dbx_from_env): # verify invalid namespace return is_no_permission error dbxpr = dbx_from_env.with_path_root(PathRoot.namespace_id("1234567890")) with pytest.raises(PathRootError) as cm: dbxpr.files_list_folder("") assert cm.value.error.is_no_permission() dbxpr = dbx_from_env.with_path_root(PathRoot.root("1234567890")) with pytest.raises(PathRootError) as cm: dbxpr.files_list_folder("") assert cm.value.error.is_invalid_root() def test_versioned_route(self, dbx_from_env): # Upload a test file dbx_from_env.files_upload(DUMMY_PAYLOAD, STATIC_FILE) # Delete the file with v2 route resp = dbx_from_env.files_delete_v2(STATIC_FILE) # Verify response type is of v2 route assert isinstance(resp, DeleteResult) @pytest.mark.usefixtures( "pytest_setup", "dbx_team_from_env", ) class TestDropboxTeam: def test_team(self, dbx_team_from_env): dbx_team_from_env.team_groups_list() r = dbx_team_from_env.team_members_list() if r.members: # Only test assuming a member if there is a member team_member_id = r.members[0].profile.team_member_id dbx_team_from_env.as_user(team_member_id).files_list_folder("") def test_as_user(self, dbx_team_from_env): dbx_as_user = dbx_team_from_env.as_user("1") path_root = PathRoot.root("123") dbx_new = dbx_as_user.with_path_root(path_root) assert isinstance(dbx_new, Dropbox) assert dbx_new._headers.get(SELECT_USER_HEADER) == "1" expected = stone_serializers.json_encode(PathRoot_validator, path_root) assert dbx_new._headers.get(PATH_ROOT_HEADER) == expected def test_as_admin(self, dbx_team_from_env): dbx_as_admin = dbx_team_from_env.as_admin("1") assert isinstance(dbx_as_admin, Dropbox) def test_clone_when_team_linked(self, dbx_team_from_env): new_dbxt = dbx_team_from_env.clone() assert dbx_team_from_env is not new_dbxt assert isinstance(new_dbxt, dbx_team_from_env.__class__) def test_default_oauth2_urls(): flow_obj = DropboxOAuth2Flow( "dummy_app_key", "dummy_app_secret", "http://localhost/dummy", "dummy_session", "dbx-auth-csrf-token", ) assert re.match( r"^https://{}/oauth2/authorize\?".format(re.escape(session.WEB_HOST)), flow_obj._get_authorize_url("http://localhost/redirect", "state", "legacy"), ) assert flow_obj.build_url("/oauth2/authorize") == "https://{}/oauth2/authorize".format( session.API_HOST ) assert flow_obj.build_url( "/oauth2/authorize", host=session.WEB_HOST ) == "https://{}/oauth2/authorize".format(session.WEB_HOST) def test_bad_auth(dbx_session): # Test malformed token malformed_token_dbx = Dropbox(MALFORMED_TOKEN, session=dbx_session) # TODO: backend is no longer returning `BadInputError` # with pytest.raises(BadInputError,) as cm: # malformed_token_dbx.files_list_folder('') # assert 'token is malformed' in cm.value.message with pytest.raises(AuthError): malformed_token_dbx.files_list_folder("") # Test reasonable-looking invalid token invalid_token_dbx = Dropbox(INVALID_TOKEN, session=dbx_session) with pytest.raises(AuthError) as cm: invalid_token_dbx.files_list_folder("") assert cm.value.error.is_invalid_access_token() def test_bad_pins(): # sanity-check: if we're pinning using expired pins, we should fail w/ an SSL error _dbx = Dropbox("dummy_token", ca_certs=_EXPIRED_CERTS_FILE) with pytest.raises( SSLError, ): _dbx.files_list_folder("") def test_bad_pins_session(): _session = create_session(ca_certs=_EXPIRED_CERTS_FILE) _dbx = Dropbox("dummy_token2", session=_session) with pytest.raises( SSLError, ): _dbx.files_list_folder("") dropbox-dropbox-sdk-python-6064f79/test/integration/trusted-certs.crt000066400000000000000000000346041522735175000260710ustar00rootroot00000000000000-----BEGIN CERTIFICATE----- MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM 9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L 93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU 5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy rqXRfboQnoZsG4q5WTP468SQvvG5 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg 1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K 8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r 2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR 8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz 7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 +XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI 0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY +gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl 7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE 76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H 9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT 4PsJYGw= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM YyRIHN8wfdVoOw== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi 9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB /zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW 1KyLa2tJElMzrdfkviT8tQp21KW8EA== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIICETCCAZegAwIBAgIQDfPZN2WjecWVZuqS4iRPNDAKBggqhkjOPQQDAzBKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xIjAgBgNVBAMTGURp Z2lDZXJ0IEVDQyBQMzg0IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcNNDYwMTE0 MjM1OTU5WjBKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4x IjAgBgNVBAMTGURpZ2lDZXJ0IEVDQyBQMzg0IFJvb3QgRzUwdjAQBgcqhkjOPQIB BgUrgQQAIgNiAAT8WR/OmWx/mw62KWNvxoXzCtPWm65XFUwO7V3jCX5tKqOGqrp4 oKdxvUT6CMBKBtZv3SxKOHTl0L3/ev/lOU69vRceH0Ot1bwn2Eu/dowwMqT7+VPl 2Ko4U12ooDegZwqjQjBAMB0GA1UdDgQWBBSSlvfmutURuvkiLnt+WtnwJeUFGzAO BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBl AjEA/cBN8aSn26cMJhH0Sb0HOGMrRGIGeQjHw9TPmz6rOieqkMf9WaK4MlLbyo4X CwqQAjBdGuxRidRk3PnlHji9Wy7j5UTkOxh61/CVQI/y68/0+dBlokHysOZ8wTYs j1453Tc= -----END CERTIFICATE----- -----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----- -----BEGIN CERTIFICATE----- MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI 2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx 1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV 5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY 1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl MrY= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 sycX -----END CERTIFICATE----- -----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----- -----BEGIN CERTIFICATE----- MIIFXjCCA0agAwIBAgIQCL+ib5o/M2WirPCmOMQBcDANBgkqhkiG9w0BAQwFADBJ MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xITAfBgNVBAMT GERpZ2lDZXJ0IFJTQTQwOTYgUm9vdCBHNTAeFw0yMTAxMTUwMDAwMDBaFw00NjAx MTQyMzU5NTlaMEkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5j LjEhMB8GA1UEAxMYRGlnaUNlcnQgUlNBNDA5NiBSb290IEc1MIICIjANBgkqhkiG 9w0BAQEFAAOCAg8AMIICCgKCAgEAqr4NsgZ9JvlH6uQb50JpuJnCue4ksUaQy1kk UlQ1piTCX5EZyLZC1vNHZZVk54VlZ6mufABP4HgDUK3zf464EeeBYrGL3/JJJgne Dxa82iibociXL5OQ2iAq44TU/6mesC2/tADemx/IoGNTaIVvTYXGqmP5jbI1dmJ0 A9yTmGgFns2QZd3SejGrJC1tQC6QP2NsLOv6HoBUjXkCkBSztU9O9YgEQ4DDSLMm L6xRlTJVJS9BlrBWoQg73JgfcoUsd8qYzDj7jnLJbewF7O1NtzxbFFCF3Zf7WfeQ EvQTv4NNgLIVZRGXYOXWXOYEtVDmcTO2IJOpaAA4zknbtFw7ctdFXFS/zTwBIx58 1vhpLKUACmwySLTecC06ExfBf2TL8zDtoT2WZ/GUtWBsW2lo9YIzCaK22fOFsm6g lPDCxH2hLMpz9a7gUpyiZuYDzurf7RjUuWOL9+j/+7Nbj0PFr7d0lFA1Za7WL/GF j1OhcPSNMl28lsMewgQEnAQPs11+iSDKXicNiUoSI7T2xN3YH/hoszb4HrzG94S2 6IpOiDA4wCbYcAoJOjQOa4ISlhwv5p6t2HE1gbGMBm70bmb/S0quvfD+11xfU7sy PM1i0RSgKR8Q3qlyT7GtZOWDKo+L6oSV7pglmJqzcTzBp1DyrEJiMcKhkMbu4reK qLW2GzsCAwEAAaNCMEAwHQYDVR0OBBYEFGJtt5FPxOqjYmCPoNC+tY8GfGgAMA4G A1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBDAUAA4IC AQBh6PsnbdbiuLMJr6rwsYJM/j0XiU0tFZ377tC7hOyEddtDE96Mn8cp74d0yxNw gVYAdPyu9Nk63iIIUaWgXIJmtntMqdqPq6wcQZZm1p3eVua/TrGyXl/Aw27UwoSQ 9X2xuhbRKYrInenP0McZOz/P7vfhM65CyJjACJ7zWvPf1Cs7jqgoVhnHTnc8JVTc uEhI0fknaj7sE6+yBYn9VV/zfY4NnAldLIp+hc744b8RPTKMWtd+PfQzWM+iBZij s/vOib/9whbdbtyISQ0LoAP/50XpBMHp/aqddfi4H4eD2es501qny5isE4kA/G+V TuF9EUZt9jhGoxOgLAH1Ys+/HFCRJ3Rdt+xHfNDRdct77tFNIwrDYKV3LYDaZw+O a3YH8KYP6oSuHnm/CIraCfP07rU289R6Q7qUNeH6wTsblpmkV2PrtaiC9634d9d2 hvN2U1Zb/CZChM6fg5GRr/S+cBWApdjoabHYkVS4GbJi+aL6Ve0Ev7lEhuTP8ZsA vxEPvrV0JFH/dzRj7EgjDugR63dt2sqCkb6khJNM2qH+zAaE6CHoVLrm0x1jPcJa /ObJg55yZKmGWQCMwvcTg7bQpDHGrJGOe6QiVhPGdccjvItb/EY9/l1SKa+v6MnD dkvoq0cC8poN0yyIgAeGwGMPAkyOBFN2uVhCb3wpcF2/Jw== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2 MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS 7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp 0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49 BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4 DXZDjC5Ty3zfDBeWUA== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+ ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0 2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv /PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+ p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+ -----END CERTIFICATE----- dropbox-dropbox-sdk-python-6064f79/test/requirements.txt000066400000000000000000000000611522735175000234760ustar00rootroot00000000000000pytest mock pytest-mock coverage stone>=3.5.3,<4 dropbox-dropbox-sdk-python-6064f79/test/unit/000077500000000000000000000000001522735175000211745ustar00rootroot00000000000000dropbox-dropbox-sdk-python-6064f79/test/unit/test_content_hash.py000066400000000000000000000102421522735175000252610ustar00rootroot00000000000000#!/usr/bin/env python import hashlib import io import pytest from dropbox.content_hash import ( DropboxContentHasher, StreamHasher, content_hash, ) BLOCK_SIZE = DropboxContentHasher.BLOCK_SIZE # SHA-256 of empty input; the content hash of empty content. EMPTY_HASH = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" def _reference_hash(data): # Independent reference implementation of the block-based algorithm. block_hashes = b"" for i in range(0, len(data), BLOCK_SIZE): block_hashes += hashlib.sha256(data[i : i + BLOCK_SIZE]).digest() return hashlib.sha256(block_hashes).hexdigest() class TestContentHash: def test_empty(self): assert content_hash(b"") == EMPTY_HASH def test_single_block(self): data = b"hello world" assert content_hash(data) == _reference_hash(data) def test_exact_block_boundary(self): data = b"a" * BLOCK_SIZE assert content_hash(data) == _reference_hash(data) def test_multiple_blocks(self): data = b"a" * (BLOCK_SIZE + 123) assert content_hash(data) == _reference_hash(data) def test_update_in_chunks_matches_single_update(self): data = b"x" * (BLOCK_SIZE * 2 + 500) chunked = DropboxContentHasher() for i in range(0, len(data), 1000): chunked.update(data[i : i + 1000]) assert chunked.hexdigest() == content_hash(data) def test_digest_and_hexdigest_agree(self): data = b"some bytes" h1 = DropboxContentHasher() h1.update(data) h2 = DropboxContentHasher() h2.update(data) assert h1.digest().hex() == h2.hexdigest() def test_update_rejects_non_bytes(self): hasher = DropboxContentHasher() with pytest.raises(AssertionError): hasher.update("not bytes") def test_cannot_reuse_after_digest(self): hasher = DropboxContentHasher() hasher.update(b"data") hasher.hexdigest() with pytest.raises(AssertionError): hasher.update(b"more") def test_copy_is_independent(self): h = DropboxContentHasher() h.update(b"prefix") c = h.copy() assert c.digest_size == h.digest_size h.update(b"-original") c.update(b"-copy") assert h.hexdigest() != c.hexdigest() class TestStreamHasher: def test_read_hashes_passthrough(self): data = b"streamed content" hasher = DropboxContentHasher() wrapped = StreamHasher(io.BytesIO(data), hasher) read_back = wrapped.read() assert read_back == data assert hasher.hexdigest() == content_hash(data) def test_write_hashes_passthrough(self): data = b"written content" hasher = DropboxContentHasher() out = io.BytesIO() wrapped = StreamHasher(out, hasher) wrapped.write(data) assert out.getvalue() == data assert hasher.hexdigest() == content_hash(data) def test_readlines_hashes_and_returns_all_lines(self): lines = [b"first\n", b"second\n"] hasher = DropboxContentHasher() wrapped = StreamHasher(io.BytesIO(b"".join(lines)), hasher) assert wrapped.readlines() == lines assert hasher.hexdigest() == content_hash(b"".join(lines)) def test_readlines_empty_stream(self): hasher = DropboxContentHasher() wrapped = StreamHasher(io.BytesIO(), hasher) assert wrapped.readlines() == [] assert hasher.hexdigest() == content_hash(b"") def test_python3_iteration_hashes_passthrough(self): data = b"first\nsecond\n" hasher = DropboxContentHasher() wrapped = StreamHasher(io.BytesIO(data), hasher) assert list(wrapped) == [b"first\n", b"second\n"] assert hasher.hexdigest() == content_hash(data) def test_next_compatibility_method_hashes_passthrough(self): data = b"first\nsecond\n" hasher = DropboxContentHasher() wrapped = StreamHasher(io.BytesIO(data), hasher) assert wrapped.next() == b"first\n" assert wrapped.next() == b"second\n" with pytest.raises(StopIteration): wrapped.next() assert hasher.hexdigest() == content_hash(data) dropbox-dropbox-sdk-python-6064f79/test/unit/test_dropbox_unit.py000066400000000000000000000672421522735175000253340ustar00rootroot00000000000000#!/usr/bin/env python import json import mock import pickle import pytest # Tests OAuth Flow from dropbox import DropboxOAuth2Flow, session, Dropbox, create_session from dropbox.dropbox_client import ( BadInputException, DropboxTeam, RouteResult, ) from dropbox.content_hash import content_hash from dropbox.common import PathRoot from dropbox.exceptions import AuthError, BadInputError from dropbox.oauth import OAuth2FlowNoRedirectResult, DropboxOAuth2FlowNoRedirect from datetime import datetime, timedelta APP_KEY = "dummy_app_key" APP_SECRET = "dummy_app_secret" ACCESS_TOKEN = "dummy_access_token" REFRESH_TOKEN = "dummy_refresh_token" EXPIRES_IN = 14400 ACCOUNT_ID = "dummy_account_id" USER_ID = "dummy_user_id" ADMIN_ID = "dummy_admin_id" TEAM_MEMBER_ID = "dummy_team_member_id" SCOPE_LIST = ["files.metadata.read", "files.metadata.write"] EXPIRATION = datetime.utcnow() + timedelta(seconds=EXPIRES_IN) CA_CERTS = "/dummy/path/ca.crt" EXPIRATION_BUFFER = timedelta(minutes=5) class TestOAuth: def test_authorization_url(self): flow_obj = DropboxOAuth2Flow( APP_KEY, APP_SECRET, "http://localhost/dummy", "dummy_session", "dbx-auth-csrf-token", ) for redirect_uri in [None, "localhost"]: for state in [None, "state"]: for token_access_type in [None, "legacy", "offline", "online"]: for scope in [None, SCOPE_LIST]: for include_granted_scopes in [None, "user", "team"]: for code_challenge in [None, "mychallenge"]: authorization_url = flow_obj._get_authorize_url( redirect_uri, state, token_access_type, scope, include_granted_scopes, code_challenge, ) assert authorization_url.startswith( "https://{}/oauth2/authorize?".format(session.WEB_HOST) ) assert "client_id={}".format(APP_KEY) in authorization_url assert "response_type=code" in authorization_url if redirect_uri: assert ( "redirect_uri={}".format(redirect_uri) in authorization_url ) else: assert "redirect_uri" not in authorization_url if state: assert "state={}".format(state) in authorization_url else: assert "state" not in authorization_url if token_access_type: assert ( "token_access_type={}".format(token_access_type) in authorization_url ) else: assert "token_access_type" not in authorization_url if scope: assert "scope={}".format("+".join(scope)) in authorization_url else: assert "scope" not in authorization_url if include_granted_scopes and scope: assert ( "include_granted_scopes={}".format(include_granted_scopes) in authorization_url ) else: assert "include_granted_scopes" not in authorization_url if code_challenge: assert "code_challenge_method=S256" in authorization_url assert ( "code_challenge={}".format(code_challenge) in authorization_url ) else: assert "code_challenge_method" not in authorization_url assert "code_challenge" not in authorization_url def test_authorization_with_ca_certs(self): DropboxOAuth2Flow( APP_KEY, APP_SECRET, "http://localhost/dummy", "dummy_session", "dbx-auth-csrf-token", ca_certs=CA_CERTS, ) def test_authorization_url_legacy_default(self): flow_obj = DropboxOAuth2Flow( APP_KEY, APP_SECRET, "http://localhost/dummy", "dummy_session", "dbx-auth-csrf-token", ) legacy_default_authorization_url = flow_obj._get_authorize_url(None, None, "legacy") assert legacy_default_authorization_url.startswith( "https://{}/oauth2/authorize?".format(session.WEB_HOST) ) assert "client_id={}".format(APP_KEY) in legacy_default_authorization_url assert "response_type=code" in legacy_default_authorization_url def test_authorization_url_invalid_token_type_raises_assertion_error(self): flow_obj = DropboxOAuth2Flow( APP_KEY, APP_SECRET, "http://localhost/dummy", "dummy_session", "dbx-auth-csrf-token", ) with pytest.raises(AssertionError): flow_obj._get_authorize_url(None, None, "invalid") def test_authorization_url_online_token_type(self): flow_obj = DropboxOAuth2Flow( APP_KEY, APP_SECRET, "http://localhost/dummy", "dummy_session", "dbx-auth-csrf-token", ) online_authorization_url = flow_obj._get_authorize_url(None, None, "online") assert online_authorization_url.startswith( "https://{}/oauth2/authorize?".format(session.WEB_HOST) ) assert "client_id={}".format(APP_KEY) in online_authorization_url assert "response_type=code" in online_authorization_url assert "token_access_type=online" in online_authorization_url def test_authorization_url_offline_token_type(self): flow_obj = DropboxOAuth2Flow( APP_KEY, APP_SECRET, "http://localhost/dummy", "dummy_session", "dbx-auth-csrf-token", ) offline_authorization_url = flow_obj._get_authorize_url(None, None, "offline") assert offline_authorization_url.startswith( "https://{}/oauth2/authorize?".format(session.WEB_HOST) ) assert "client_id={}".format(APP_KEY) in offline_authorization_url assert "response_type=code" in offline_authorization_url assert "token_access_type=offline" in offline_authorization_url def test_authorization_url_with_scopes_and_granted(self): flow_obj = DropboxOAuth2Flow( APP_KEY, APP_SECRET, "http://localhost/dummy", "dummy_session", "dbx-auth-csrf-token", ) scopes = ["account_info.read", "files.metadata.read"] scope_authorization_url = flow_obj._get_authorize_url(None, None, "offline", scopes, "user") assert scope_authorization_url.startswith( "https://{}/oauth2/authorize?".format(session.WEB_HOST) ) assert "client_id={}".format(APP_KEY) in scope_authorization_url assert "response_type=code" in scope_authorization_url assert "token_access_type=offline" in scope_authorization_url assert "scope=account_info.read+files.metadata.read" in scope_authorization_url assert "include_granted_scopes=user" in scope_authorization_url def test_authorization_url_with_scopes(self): flow_obj = DropboxOAuth2Flow( APP_KEY, APP_SECRET, "http://localhost/dummy", "dummy_session", "dbx-auth-csrf-token", ) scopes = ["account_info.read", "files.metadata.read"] scope_authorization_url = flow_obj._get_authorize_url(None, None, "offline", scopes) assert scope_authorization_url.startswith( "https://{}/oauth2/authorize?".format(session.WEB_HOST) ) assert "client_id={}".format(APP_KEY) in scope_authorization_url assert "response_type=code" in scope_authorization_url assert "token_access_type=offline" in scope_authorization_url assert "scope=account_info.read+files.metadata.read" in scope_authorization_url assert "include_granted_scopes" not in scope_authorization_url def test_OAuth2FlowNoRedirectResult_legacy(self): # Test legacy result result_obj = OAuth2FlowNoRedirectResult( ACCESS_TOKEN, ACCOUNT_ID, USER_ID, None, None, SCOPE_LIST ) assert result_obj.access_token == ACCESS_TOKEN assert not result_obj.refresh_token assert not result_obj.expires_at def test_OAuth2FlowNoRedirectResult_offline(self): # Test offline result result_obj = OAuth2FlowNoRedirectResult( ACCESS_TOKEN, ACCOUNT_ID, USER_ID, REFRESH_TOKEN, EXPIRES_IN, SCOPE_LIST ) assert result_obj.access_token == ACCESS_TOKEN assert result_obj.refresh_token == REFRESH_TOKEN assert abs(result_obj.expires_at - EXPIRATION) < EXPIRATION_BUFFER assert result_obj.account_id == ACCOUNT_ID assert result_obj.user_id == USER_ID assert result_obj.scope == SCOPE_LIST def test_OAuth2FlowNoRedirectResult_online(self): # Test online result result_obj = OAuth2FlowNoRedirectResult( ACCESS_TOKEN, ACCOUNT_ID, USER_ID, None, EXPIRES_IN, SCOPE_LIST ) assert result_obj.access_token == ACCESS_TOKEN assert not result_obj.refresh_token assert abs(result_obj.expires_at - EXPIRATION) < EXPIRATION_BUFFER def test_OAuth2FlowNoRedirectResult_copy(self): # Test constructor for copying object result_obj = OAuth2FlowNoRedirectResult( ACCESS_TOKEN, ACCOUNT_ID, USER_ID, REFRESH_TOKEN, EXPIRATION, SCOPE_LIST ) assert result_obj.expires_at == EXPIRATION @pytest.fixture(scope="function") def auth_flow_offline_with_scopes(self, mocker): auth_flow = DropboxOAuth2FlowNoRedirect( APP_KEY, APP_SECRET, token_access_type="offline", scope=SCOPE_LIST ) session = mock.MagicMock() post_response = mock.MagicMock(status_code=200) post_response.json.return_value = { "access_token": ACCESS_TOKEN, "refresh_token": REFRESH_TOKEN, "expires_in": EXPIRES_IN, "uid": USER_ID, "account_id": ACCOUNT_ID, "scope": " ".join(SCOPE_LIST), } mocker.patch.object(session, "post", return_value=post_response) auth_flow.requests_session = session return auth_flow def test_NoRedirect_whole_flow(self, auth_flow_offline_with_scopes): authorization_url = auth_flow_offline_with_scopes.start() assert authorization_url.startswith("https://{}/oauth2/authorize?".format(session.WEB_HOST)) assert "client_id={}".format(APP_KEY) in authorization_url assert "response_type=code" in authorization_url mycode = "test oauth code" auth_result = auth_flow_offline_with_scopes.finish(mycode) assert auth_result.access_token == ACCESS_TOKEN assert auth_result.refresh_token == REFRESH_TOKEN assert abs(auth_result.expires_at - EXPIRATION) < EXPIRATION_BUFFER assert auth_result.user_id == USER_ID assert auth_result.account_id == ACCOUNT_ID assert auth_result.scope == " ".join(SCOPE_LIST) assert auth_flow_offline_with_scopes.requests_session.post.call_count == 1 token_call_args = auth_flow_offline_with_scopes.requests_session.post.call_args_list assert len(token_call_args) == 1 first_call_args = token_call_args[0] assert first_call_args[0][0] == "https://{}/oauth2/token".format(session.API_HOST) call_data = first_call_args[1]["data"] assert call_data["client_id"] == APP_KEY assert call_data["grant_type"] == "authorization_code" assert call_data["client_secret"] == APP_SECRET assert call_data["code"] == mycode class TestClient: @pytest.fixture(scope="function") def session_instance(self, mocker): session_obj = create_session() post_response = mock.MagicMock(status_code=200) post_response.json.return_value = { "access_token": ACCESS_TOKEN, "expires_in": EXPIRES_IN, } mocker.patch.object(session_obj, "post", return_value=post_response) return session_obj @pytest.fixture(scope="function") def session_instance_with_ca_certs(self, mocker): session_obj = create_session(ca_certs=CA_CERTS) post_response = mock.MagicMock(status_code=200) post_response.json.return_value = { "access_token": ACCESS_TOKEN, "expires_in": EXPIRES_IN, } mocker.patch.object(session_obj, "post", return_value=post_response) return session_obj @pytest.fixture(scope="function") def invalid_grant_session_instance(self, mocker): session_obj = create_session() post_response = mock.MagicMock(status_code=400) post_response.json.return_value = {"error": "invalid_grant"} mocker.patch.object(session_obj, "post", return_value=post_response) return session_obj @pytest.fixture(scope="function") def bad_request_no_error_key_session_instance(self, mocker): # A 400 response whose JSON body does not contain an "error" key. session_obj = create_session() post_response = mock.MagicMock(status_code=400) post_response.json.return_value = {"error_description": "some other problem"} post_response.text = '{"error_description": "some other problem"}' mocker.patch.object(session_obj, "post", return_value=post_response) return session_obj @pytest.fixture(scope="function") def server_error_then_ok_session_instance(self, mocker): # First refresh POST returns 500, second returns 200 with a valid token. session_obj = create_session() error_response = mock.MagicMock(status_code=500) error_response.text = "internal server error" ok_response = mock.MagicMock(status_code=200) ok_response.json.return_value = { "access_token": ACCESS_TOKEN, "expires_in": EXPIRES_IN, } mocker.patch.object(session_obj, "post", side_effect=[error_response, ok_response]) return session_obj @pytest.fixture(scope="function") def server_error_session_instance(self, mocker): # Every refresh POST returns 500. session_obj = create_session() error_response = mock.MagicMock(status_code=500) error_response.text = "internal server error" mocker.patch.object(session_obj, "post", return_value=error_response) return session_obj def test_default_Dropbox_raises_assertion_error(self): with pytest.raises(BadInputException): # Requires either access token or refresh token Dropbox() def test_Dropbox_with_refresh_only_raises_assertion_error(self): with pytest.raises(BadInputException): # Refresh tokens also require app key and secret Dropbox(oauth2_refresh_token=REFRESH_TOKEN) def test_Dropbox_with_legacy_token(self, session_instance): Dropbox(oauth2_access_token=ACCESS_TOKEN, session=session_instance) def test_Dropbox_with_valid_online_token(self, session_instance): # Test Online Case w/ valid access Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_access_token_expiration=EXPIRATION, session=session_instance, ) def test_Dropbox_with_expired_online_token(self, session_instance): # Test Online Case w/ invalid access Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_access_token_expiration=EXPIRATION - timedelta(weeks=1), session=session_instance, ) def test_Dropbox_with_valid_offline_token(self, session_instance): # Test Offline Case w/ valid access Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_refresh_token=REFRESH_TOKEN, oauth2_access_token_expiration=EXPIRATION, app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, ) def test_Dropbox_with_expired_offline_token(self, session_instance): # Test Offline Case w/ invalid access Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_refresh_token=REFRESH_TOKEN, oauth2_access_token_expiration=EXPIRATION - timedelta(weeks=1), app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, ) def test_Dropbox_with_only_refresh(self, session_instance): # Test Offline Case w/ only refresh Dropbox( oauth2_refresh_token=REFRESH_TOKEN, app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, ) def test_Dropbox_with_only_app_key_and_secret(self, session_instance): Dropbox(app_key=APP_KEY, app_secret=APP_SECRET) def test_check_refresh_with_legacy_token(self, session_instance): dbx = Dropbox(oauth2_access_token=ACCESS_TOKEN, session=session_instance) dbx.check_and_refresh_access_token() session_instance.post.assert_not_called() def test_check_refresh_with_valid_online_token(self, session_instance): # Test Online Case w/ valid access dbx = Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_access_token_expiration=EXPIRATION, session=session_instance, ) dbx.check_and_refresh_access_token() session_instance.post.assert_not_called() def test_check_refresh_with_expired_online_token(self, session_instance): # Test Online Case w/ invalid access dbx = Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_access_token_expiration=EXPIRATION - timedelta(weeks=1), session=session_instance, ) dbx.check_and_refresh_access_token() session_instance.post.assert_not_called() def test_check_refresh_with_valid_offline_token(self, session_instance): # Test Offline Case w/ valid access dbx = Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_refresh_token=REFRESH_TOKEN, oauth2_access_token_expiration=EXPIRATION, app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, ) dbx.check_and_refresh_access_token() session_instance.post.assert_not_called() def test_check_refresh_with_expired_offline_token(self, session_instance): # Test Offline Case w/ invalid access dbx = Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_refresh_token=REFRESH_TOKEN, oauth2_access_token_expiration=EXPIRATION - timedelta(weeks=1), app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, ) dbx.check_and_refresh_access_token() assert session_instance.post.call_count == 1 def test_check_refresh_with_only_refresh(self, session_instance): # Test Offline Case w/ only refresh dbx = Dropbox( oauth2_refresh_token=REFRESH_TOKEN, app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, ) dbx.check_and_refresh_access_token() assert session_instance.post.call_count == 1 def test_refresh_token_with_no_expiration(self, session_instance): # Test refresh token is refreshed when not given expiration dbx = Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_refresh_token=REFRESH_TOKEN, oauth2_access_token_expiration=None, app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, ) dbx.check_and_refresh_access_token() assert session_instance.post.call_count == 1 assert dbx._oauth2_access_token_expiration def test_check_refresh_with_invalid_grant(self, invalid_grant_session_instance): dbx = Dropbox( oauth2_refresh_token=REFRESH_TOKEN, app_key=APP_KEY, app_secret=APP_SECRET, session=invalid_grant_session_instance, ) with pytest.raises(AuthError) as e: dbx.check_and_refresh_access_token() assert invalid_grant_session_instance.post.call_count == 1 assert e.error.is_invalid_access_token() def test_check_Dropbox_with_ca_certs(self, session_instance_with_ca_certs): Dropbox( oauth2_access_token=ACCESS_TOKEN, oauth2_access_token_expiration=EXPIRATION, session=session_instance_with_ca_certs, ) def test_team_client_refresh(self, session_instance): dbx = DropboxTeam( oauth2_refresh_token=REFRESH_TOKEN, app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, ) dbx.check_and_refresh_access_token() assert session_instance.post.call_count == 1 def test_team_client_as_admin(self, session_instance): dbx = DropboxTeam( oauth2_refresh_token=REFRESH_TOKEN, app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, auto_content_hash=False, ) assert dbx.as_admin(ADMIN_ID)._auto_content_hash is False def test_team_client_as_user(self, session_instance): dbx = DropboxTeam( oauth2_refresh_token=REFRESH_TOKEN, app_key=APP_KEY, app_secret=APP_SECRET, session=session_instance, auto_content_hash=False, ) assert dbx.as_user(TEAM_MEMBER_ID)._auto_content_hash is False def test_non_list_scope_raises_bad_input(self, session_instance): # A non-list scope with no len() must raise BadInputException, not # TypeError from calling len() before the isinstance check. with pytest.raises(BadInputException): Dropbox(oauth2_access_token=ACCESS_TOKEN, scope=12345, session=session_instance) def test_clone_does_not_double_user_agent(self, session_instance): dbx = Dropbox( oauth2_access_token=ACCESS_TOKEN, session=session_instance, user_agent="myapp", ) cloned = dbx.clone() # The base suffix must appear exactly once after cloning. assert cloned._user_agent.count("OfficialDropboxPythonSDKv2/") == 1 assert cloned._user_agent == dbx._user_agent def test_clone_preserves_and_can_override_auto_content_hash(self, session_instance): dbx = Dropbox( oauth2_access_token=ACCESS_TOKEN, session=session_instance, auto_content_hash=False, ) assert dbx.clone()._auto_content_hash is False assert dbx.clone(auto_content_hash=True)._auto_content_hash is True def test_with_path_root_preserves_auto_content_hash(self, session_instance): dbx = Dropbox( oauth2_access_token=ACCESS_TOKEN, session=session_instance, auto_content_hash=False, ) cloned = dbx.with_path_root(PathRoot.home) assert cloned._auto_content_hash is False def test_refresh_400_without_error_key(self, bad_request_no_error_key_session_instance): # A 400 body lacking the "error" key must raise BadInputError, not KeyError. dbx = Dropbox( oauth2_refresh_token=REFRESH_TOKEN, app_key=APP_KEY, app_secret=APP_SECRET, session=bad_request_no_error_key_session_instance, ) with pytest.raises(BadInputError): dbx.check_and_refresh_access_token() def test_refresh_retries_on_server_error(self, server_error_then_ok_session_instance): # A 5xx on the refresh POST must be retried, then succeed. dbx = Dropbox( oauth2_refresh_token=REFRESH_TOKEN, app_key=APP_KEY, app_secret=APP_SECRET, max_retries_on_error=2, session=server_error_then_ok_session_instance, ) dbx.check_and_refresh_access_token() assert server_error_then_ok_session_instance.post.call_count == 2 assert dbx._oauth2_access_token == ACCESS_TOKEN def test_refresh_raises_after_exhausting_retries(self, server_error_session_instance): # Once retries are exhausted, the 5xx propagates as InternalServerError. from dropbox.exceptions import InternalServerError dbx = Dropbox( oauth2_refresh_token=REFRESH_TOKEN, app_key=APP_KEY, app_secret=APP_SECRET, max_retries_on_error=2, session=server_error_session_instance, ) with pytest.raises(InternalServerError): dbx.check_and_refresh_access_token() # Initial attempt + 2 retries. assert server_error_session_instance.post.call_count == 3 class TestAutoContentHash: def _fake_file_metadata(self, size, file_content_hash): return json.dumps( { "name": "a.txt", "id": "id:1", "client_modified": "2020-01-01T00:00:00Z", "server_modified": "2020-01-01T00:00:00Z", "rev": "0123456789", "size": size, "path_lower": "/a.txt", "path_display": "/a.txt", "content_hash": file_content_hash, } ) def _capture_upload(self, dbx, data, **upload_kwargs): # Stub out the network layer and capture the serialized argument sent. captured = {} def fake_request(host, name, style, serialized_arg, auth, binary, timeout=None): captured["arg"] = json.loads(serialized_arg) return RouteResult(self._fake_file_metadata(len(data), content_hash(data))) dbx.request_json_string_with_retry = fake_request dbx.check_and_refresh_access_token = lambda: None dbx.files_upload(data, "/a.txt", **upload_kwargs) return captured["arg"] def test_upload_adds_content_hash_by_default(self): data = b"hello world" dbx = Dropbox(oauth2_access_token=ACCESS_TOKEN) arg = self._capture_upload(dbx, data) assert arg["content_hash"] == content_hash(data) def test_upload_no_content_hash_when_disabled(self): data = b"hello world" dbx = Dropbox(oauth2_access_token=ACCESS_TOKEN, auto_content_hash=False) arg = self._capture_upload(dbx, data) assert "content_hash" not in arg def test_upload_respects_caller_content_hash(self): data = b"hello world" caller_hash = "f" * 64 dbx = Dropbox(oauth2_access_token=ACCESS_TOKEN) arg = self._capture_upload(dbx, data, content_hash=caller_hash) assert arg["content_hash"] == caller_hash class TestSession: def test_pickle_session(self): session_obj = create_session() pickled_session = pickle.dumps(session_obj) pickle.loads(pickled_session) dropbox-dropbox-sdk-python-6064f79/tox.ini000066400000000000000000000024301522735175000205500ustar00rootroot00000000000000[tox] envlist = py{311,312,313,py3},check,lint,docs,test_unit,coverage skip_missing_interpreters = true [testenv:test_integration] commands = pytest test/integration/ passenv = DROPBOX_REFRESH_TOKEN DROPBOX_APP_KEY DROPBOX_APP_SECRET DROPBOX_DOMAIN DROPBOX_TEAM_TOKEN DROPBOX_TOKEN DROPBOX_WEB_HOST DROPBOX_SHARED_LINK deps = pip -rtest/requirements.txt [testenv:check] commands = python -m build twine check dist/* deps = build twine usedevelop = true [testenv:lint] description = check code with Ruff commands = ruff check dropbox example test ruff format --check dropbox example test deps = ruff -rtest/requirements.txt usedevelop = true [testenv:coverage] commands = coverage run --rcfile=.coveragerc -m pytest test/unit/test_dropbox_unit.py coverage report deps = -rtest/requirements.txt [testenv:codecov] commands = coverage run --rcfile=.coveragerc -m pytest test/unit/test_dropbox_unit.py coverage xml deps = -rtest/requirements.txt [testenv:test_unit] commands = pytest test/unit/ deps = -rtest/requirements.txt [testenv:docs] description = invoke sphinx-build to build the HTML docs extras = docs commands = sphinx-build -b html docs build/html deps = sphinx