diff --git a/.flake8 b/.flake8 index 87f6e40..32986c7 100644 --- a/.flake8 +++ b/.flake8 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 2aefd0e..6d064dd 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:97b671488ad548ef783a452a9e1276ac10f144d5ae56d98cc4bf77ba504082b4 -# created: 2024-02-06T03:20:16.660474034Z + digest: sha256:94bb690db96e6242b2567a4860a94d48fa48696d092e51b0884a1a2c0a79a407 +# created: 2024-07-31T14:52:44.926548819Z diff --git a/.github/auto-label.yaml b/.github/auto-label.yaml index b2016d1..21786a4 100644 --- a/.github/auto-label.yaml +++ b/.github/auto-label.yaml @@ -1,4 +1,4 @@ -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,3 +13,8 @@ # limitations under the License. requestsize: enabled: true + +path: + pullrequest: true + paths: + samples: "samples" diff --git a/.github/blunderbuss.yml b/.github/blunderbuss.yml new file mode 100644 index 0000000..990b311 --- /dev/null +++ b/.github/blunderbuss.yml @@ -0,0 +1,17 @@ +# Blunderbuss config +# +# This file controls who is assigned for pull requests and issues. +# Note: This file is autogenerated. To make changes to the assignee +# team, please update `codeowner_team` in `.repo-metadata.json`. + +assign_issues: + - googleapis/python-core-client-libraries + +assign_issues_by: + - labels: + - "samples" + to: + - googleapis/python-samples-reviewers + +assign_prs: + - googleapis/python-core-client-libraries diff --git a/.kokoro/build.sh b/.kokoro/build.sh index c362418..f6abedf 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -33,13 +33,6 @@ export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/service-account.json # Setup project id. export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json") -# Remove old nox -python3 -m pip uninstall --yes --quiet nox-automation - -# Install nox -python3 -m pip install --upgrade --quiet nox -python3 -m nox --version - # If this is a continuous build, send the test log to the FlakyBot. # See https://github.com/googleapis/repo-automation-bots/tree/main/packages/flakybot. if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"continuous"* ]]; then diff --git a/.kokoro/docker/docs/Dockerfile b/.kokoro/docker/docs/Dockerfile index 8e39a2c..e5410e2 100644 --- a/.kokoro/docker/docs/Dockerfile +++ b/.kokoro/docker/docs/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ubuntu:22.04 +from ubuntu:24.04 ENV DEBIAN_FRONTEND noninteractive @@ -40,7 +40,6 @@ RUN apt-get update \ libssl-dev \ libsqlite3-dev \ portaudio19-dev \ - python3-distutils \ redis-server \ software-properties-common \ ssh \ @@ -60,24 +59,31 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* \ && rm -f /var/cache/apt/archives/*.deb -###################### Install python 3.9.13 -# Download python 3.9.13 -RUN wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz +###################### Install python 3.10.14 for docs/docfx session + +# Download python 3.10.14 +RUN wget https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz # Extract files -RUN tar -xvf Python-3.9.13.tgz +RUN tar -xvf Python-3.10.14.tgz -# Install python 3.9.13 -RUN ./Python-3.9.13/configure --enable-optimizations +# Install python 3.10.14 +RUN ./Python-3.10.14/configure --enable-optimizations RUN make altinstall +ENV PATH /usr/local/bin/python3.10:$PATH + ###################### Install pip RUN wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \ - && python3 /tmp/get-pip.py \ + && python3.10 /tmp/get-pip.py \ && rm /tmp/get-pip.py # Test pip -RUN python3 -m pip +RUN python3.10 -m pip + +# Install build requirements +COPY requirements.txt /requirements.txt +RUN python3.10 -m pip install --require-hashes -r requirements.txt -CMD ["python3.8"] +CMD ["python3.10"] diff --git a/.kokoro/docker/docs/noxfile.py b/.kokoro/docker/docs/noxfile.py new file mode 100644 index 0000000..483b559 --- /dev/null +++ b/.kokoro/docker/docs/noxfile.py @@ -0,0 +1,292 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function + +import glob +import os +from pathlib import Path +import sys +from typing import Callable, Dict, Optional + +import nox + + +# WARNING - WARNING - WARNING - WARNING - WARNING +# WARNING - WARNING - WARNING - WARNING - WARNING +# DO NOT EDIT THIS FILE EVER! +# WARNING - WARNING - WARNING - WARNING - WARNING +# WARNING - WARNING - WARNING - WARNING - WARNING + +BLACK_VERSION = "black==22.3.0" +ISORT_VERSION = "isort==5.10.1" + +# Copy `noxfile_config.py` to your directory and modify it instead. + +# `TEST_CONFIG` dict is a configuration hook that allows users to +# modify the test configurations. The values here should be in sync +# with `noxfile_config.py`. Users will copy `noxfile_config.py` into +# their directory and modify it. + +TEST_CONFIG = { + # You can opt out from the test for specific Python versions. + "ignored_versions": [], + # Old samples are opted out of enforcing Python type hints + # All new samples should feature them + "enforce_type_hints": False, + # An envvar key for determining the project id to use. Change it + # to 'BUILD_SPECIFIC_GCLOUD_PROJECT' if you want to opt in using a + # build specific Cloud project. You can also use your own string + # to use your own Cloud project. + "gcloud_project_env": "GOOGLE_CLOUD_PROJECT", + # 'gcloud_project_env': 'BUILD_SPECIFIC_GCLOUD_PROJECT', + # If you need to use a specific version of pip, + # change pip_version_override to the string representation + # of the version number, for example, "20.2.4" + "pip_version_override": None, + # A dictionary you want to inject into your test. Don't put any + # secrets here. These values will override predefined values. + "envs": {}, +} + + +try: + # Ensure we can import noxfile_config in the project's directory. + sys.path.append(".") + from noxfile_config import TEST_CONFIG_OVERRIDE +except ImportError as e: + print("No user noxfile_config found: detail: {}".format(e)) + TEST_CONFIG_OVERRIDE = {} + +# Update the TEST_CONFIG with the user supplied values. +TEST_CONFIG.update(TEST_CONFIG_OVERRIDE) + + +def get_pytest_env_vars() -> Dict[str, str]: + """Returns a dict for pytest invocation.""" + ret = {} + + # Override the GCLOUD_PROJECT and the alias. + env_key = TEST_CONFIG["gcloud_project_env"] + # This should error out if not set. + ret["GOOGLE_CLOUD_PROJECT"] = os.environ[env_key] + + # Apply user supplied envs. + ret.update(TEST_CONFIG["envs"]) + return ret + + +# DO NOT EDIT - automatically generated. +# All versions used to test samples. +ALL_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + +# Any default versions that should be ignored. +IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] + +TESTED_VERSIONS = sorted([v for v in ALL_VERSIONS if v not in IGNORED_VERSIONS]) + +INSTALL_LIBRARY_FROM_SOURCE = os.environ.get("INSTALL_LIBRARY_FROM_SOURCE", False) in ( + "True", + "true", +) + +# Error if a python version is missing +nox.options.error_on_missing_interpreters = True + +# +# Style Checks +# + + +# Linting with flake8. +# +# We ignore the following rules: +# E203: whitespace before ‘:’ +# E266: too many leading ‘#’ for block comment +# E501: line too long +# I202: Additional newline in a section of imports +# +# We also need to specify the rules which are ignored by default: +# ['E226', 'W504', 'E126', 'E123', 'W503', 'E24', 'E704', 'E121'] +FLAKE8_COMMON_ARGS = [ + "--show-source", + "--builtin=gettext", + "--max-complexity=20", + "--exclude=.nox,.cache,env,lib,generated_pb2,*_pb2.py,*_pb2_grpc.py", + "--ignore=E121,E123,E126,E203,E226,E24,E266,E501,E704,W503,W504,I202", + "--max-line-length=88", +] + + +@nox.session +def lint(session: nox.sessions.Session) -> None: + if not TEST_CONFIG["enforce_type_hints"]: + session.install("flake8") + else: + session.install("flake8", "flake8-annotations") + + args = FLAKE8_COMMON_ARGS + [ + ".", + ] + session.run("flake8", *args) + + +# +# Black +# + + +@nox.session +def blacken(session: nox.sessions.Session) -> None: + """Run black. Format code to uniform standard.""" + session.install(BLACK_VERSION) + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + + session.run("black", *python_files) + + +# +# format = isort + black +# + +@nox.session +def format(session: nox.sessions.Session) -> None: + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run("isort", "--fss", *python_files) + session.run("black", *python_files) + + +# +# Sample Tests +# + + +PYTEST_COMMON_ARGS = ["--junitxml=sponge_log.xml"] + + +def _session_tests( + session: nox.sessions.Session, post_install: Callable = None +) -> None: + # check for presence of tests + test_list = glob.glob("**/*_test.py", recursive=True) + glob.glob("**/test_*.py", recursive=True) + test_list.extend(glob.glob("**/tests", recursive=True)) + + if len(test_list) == 0: + print("No tests found, skipping directory.") + return + + if TEST_CONFIG["pip_version_override"]: + pip_version = TEST_CONFIG["pip_version_override"] + session.install(f"pip=={pip_version}") + """Runs py.test for a particular project.""" + concurrent_args = [] + if os.path.exists("requirements.txt"): + if os.path.exists("constraints.txt"): + session.install("-r", "requirements.txt", "-c", "constraints.txt") + else: + session.install("-r", "requirements.txt") + with open("requirements.txt") as rfile: + packages = rfile.read() + + if os.path.exists("requirements-test.txt"): + if os.path.exists("constraints-test.txt"): + session.install( + "-r", "requirements-test.txt", "-c", "constraints-test.txt" + ) + else: + session.install("-r", "requirements-test.txt") + with open("requirements-test.txt") as rtfile: + packages += rtfile.read() + + if INSTALL_LIBRARY_FROM_SOURCE: + session.install("-e", _get_repo_root()) + + if post_install: + post_install(session) + + if "pytest-parallel" in packages: + concurrent_args.extend(['--workers', 'auto', '--tests-per-worker', 'auto']) + elif "pytest-xdist" in packages: + concurrent_args.extend(['-n', 'auto']) + + session.run( + "pytest", + *(PYTEST_COMMON_ARGS + session.posargs + concurrent_args), + # Pytest will return 5 when no tests are collected. This can happen + # on travis where slow and flaky tests are excluded. + # See http://doc.pytest.org/en/latest/_modules/_pytest/main.html + success_codes=[0, 5], + env=get_pytest_env_vars(), + ) + + +@nox.session(python=ALL_VERSIONS) +def py(session: nox.sessions.Session) -> None: + """Runs py.test for a sample using the specified version of Python.""" + if session.python in TESTED_VERSIONS: + _session_tests(session) + else: + session.skip( + "SKIPPED: {} tests are disabled for this sample.".format(session.python) + ) + + +# +# Readmegen +# + + +def _get_repo_root() -> Optional[str]: + """ Returns the root folder of the project. """ + # Get root of this repository. Assume we don't have directories nested deeper than 10 items. + p = Path(os.getcwd()) + for i in range(10): + if p is None: + break + if Path(p / ".git").exists(): + return str(p) + # .git is not available in repos cloned via Cloud Build + # setup.py is always in the library's root, so use that instead + # https://github.com/googleapis/synthtool/issues/792 + if Path(p / "setup.py").exists(): + return str(p) + p = p.parent + raise Exception("Unable to detect repository root.") + + +GENERATED_READMES = sorted([x for x in Path(".").rglob("*.rst.in")]) + + +@nox.session +@nox.parametrize("path", GENERATED_READMES) +def readmegen(session: nox.sessions.Session, path: str) -> None: + """(Re-)generates the readme for a sample.""" + session.install("jinja2", "pyyaml") + dir_ = os.path.dirname(path) + + if os.path.exists(os.path.join(dir_, "requirements.txt")): + session.install("-r", os.path.join(dir_, "requirements.txt")) + + in_file = os.path.join(dir_, "README.rst.in") + session.run( + "python", _get_repo_root() + "/scripts/readme-gen/readme_gen.py", in_file + ) diff --git a/.kokoro/docker/docs/requirements.in b/.kokoro/docker/docs/requirements.in new file mode 100644 index 0000000..816817c --- /dev/null +++ b/.kokoro/docker/docs/requirements.in @@ -0,0 +1 @@ +nox diff --git a/.kokoro/docker/docs/requirements.txt b/.kokoro/docker/docs/requirements.txt new file mode 100644 index 0000000..7129c77 --- /dev/null +++ b/.kokoro/docker/docs/requirements.txt @@ -0,0 +1,42 @@ +# +# This file is autogenerated by pip-compile with Python 3.9 +# by the following command: +# +# pip-compile --allow-unsafe --generate-hashes requirements.in +# +argcomplete==3.4.0 \ + --hash=sha256:69a79e083a716173e5532e0fa3bef45f793f4e61096cf52b5a42c0211c8b8aa5 \ + --hash=sha256:c2abcdfe1be8ace47ba777d4fce319eb13bf8ad9dace8d085dcad6eded88057f + # via nox +colorlog==6.8.2 \ + --hash=sha256:3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44 \ + --hash=sha256:4dcbb62368e2800cb3c5abd348da7e53f6c362dda502ec27c560b2e58a66bd33 + # via nox +distlib==0.3.8 \ + --hash=sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784 \ + --hash=sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64 + # via virtualenv +filelock==3.15.4 \ + --hash=sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb \ + --hash=sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7 + # via virtualenv +nox==2024.4.15 \ + --hash=sha256:6492236efa15a460ecb98e7b67562a28b70da006ab0be164e8821177577c0565 \ + --hash=sha256:ecf6700199cdfa9e5ea0a41ff5e6ef4641d09508eda6edb89d9987864115817f + # via -r requirements.in +packaging==24.1 \ + --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ + --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 + # via nox +platformdirs==4.2.2 \ + --hash=sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee \ + --hash=sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3 + # via virtualenv +tomli==2.0.1 \ + --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ + --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f + # via nox +virtualenv==20.26.3 \ + --hash=sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a \ + --hash=sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589 + # via nox diff --git a/.kokoro/populate-secrets.sh b/.kokoro/populate-secrets.sh index 6f39721..c435402 100755 --- a/.kokoro/populate-secrets.sh +++ b/.kokoro/populate-secrets.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2023 Google LLC. +# Copyright 2024 Google LLC. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.kokoro/publish-docs.sh b/.kokoro/publish-docs.sh index 9eafe0b..233205d 100755 --- a/.kokoro/publish-docs.sh +++ b/.kokoro/publish-docs.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,18 +21,18 @@ export PYTHONUNBUFFERED=1 export PATH="${HOME}/.local/bin:${PATH}" # Install nox -python3 -m pip install --require-hashes -r .kokoro/requirements.txt -python3 -m nox --version +python3.10 -m pip install --require-hashes -r .kokoro/requirements.txt +python3.10 -m nox --version # build docs nox -s docs # create metadata -python3 -m docuploader create-metadata \ +python3.10 -m docuploader create-metadata \ --name=$(jq --raw-output '.name // empty' .repo-metadata.json) \ - --version=$(python3 setup.py --version) \ + --version=$(python3.10 setup.py --version) \ --language=$(jq --raw-output '.language // empty' .repo-metadata.json) \ - --distribution-name=$(python3 setup.py --name) \ + --distribution-name=$(python3.10 setup.py --name) \ --product-page=$(jq --raw-output '.product_documentation // empty' .repo-metadata.json) \ --github-repository=$(jq --raw-output '.repo // empty' .repo-metadata.json) \ --issue-tracker=$(jq --raw-output '.issue_tracker // empty' .repo-metadata.json) @@ -40,18 +40,18 @@ python3 -m docuploader create-metadata \ cat docs.metadata # upload docs -python3 -m docuploader upload docs/_build/html --metadata-file docs.metadata --staging-bucket "${STAGING_BUCKET}" +python3.10 -m docuploader upload docs/_build/html --metadata-file docs.metadata --staging-bucket "${STAGING_BUCKET}" # docfx yaml files nox -s docfx # create metadata. -python3 -m docuploader create-metadata \ +python3.10 -m docuploader create-metadata \ --name=$(jq --raw-output '.name // empty' .repo-metadata.json) \ - --version=$(python3 setup.py --version) \ + --version=$(python3.10 setup.py --version) \ --language=$(jq --raw-output '.language // empty' .repo-metadata.json) \ - --distribution-name=$(python3 setup.py --name) \ + --distribution-name=$(python3.10 setup.py --name) \ --product-page=$(jq --raw-output '.product_documentation // empty' .repo-metadata.json) \ --github-repository=$(jq --raw-output '.repo // empty' .repo-metadata.json) \ --issue-tracker=$(jq --raw-output '.issue_tracker // empty' .repo-metadata.json) @@ -59,4 +59,4 @@ python3 -m docuploader create-metadata \ cat docs.metadata # upload docs -python3 -m docuploader upload docs/_build/html/docfx_yaml --metadata-file docs.metadata --destination-prefix docfx --staging-bucket "${V2_STAGING_BUCKET}" +python3.10 -m docuploader upload docs/_build/html/docfx_yaml --metadata-file docs.metadata --destination-prefix docfx --staging-bucket "${V2_STAGING_BUCKET}" diff --git a/.kokoro/release.sh b/.kokoro/release.sh index e0d2f4f..95d766b 100755 --- a/.kokoro/release.sh +++ b/.kokoro/release.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.kokoro/requirements.in b/.kokoro/requirements.in index ec867d9..fff4d9c 100644 --- a/.kokoro/requirements.in +++ b/.kokoro/requirements.in @@ -1,5 +1,5 @@ gcp-docuploader -gcp-releasetool>=1.10.5 # required for compatibility with cryptography>=39.x +gcp-releasetool>=2 # required for compatibility with cryptography>=42.x importlib-metadata typing-extensions twine @@ -8,3 +8,4 @@ setuptools nox>=2022.11.21 # required to remove dependency on py charset-normalizer<3 click<8.1.0 +cryptography>=42.0.5 diff --git a/.kokoro/requirements.txt b/.kokoro/requirements.txt index 8c11c9f..9622baf 100644 --- a/.kokoro/requirements.txt +++ b/.kokoro/requirements.txt @@ -4,21 +4,25 @@ # # pip-compile --allow-unsafe --generate-hashes requirements.in # -argcomplete==3.1.4 \ - --hash=sha256:72558ba729e4c468572609817226fb0a6e7e9a0a7d477b882be168c0b4a62b94 \ - --hash=sha256:fbe56f8cda08aa9a04b307d8482ea703e96a6a801611acb4be9bf3942017989f +argcomplete==3.4.0 \ + --hash=sha256:69a79e083a716173e5532e0fa3bef45f793f4e61096cf52b5a42c0211c8b8aa5 \ + --hash=sha256:c2abcdfe1be8ace47ba777d4fce319eb13bf8ad9dace8d085dcad6eded88057f # via nox -attrs==23.1.0 \ - --hash=sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04 \ - --hash=sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015 +attrs==23.2.0 \ + --hash=sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 \ + --hash=sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1 # via gcp-releasetool -cachetools==5.3.2 \ - --hash=sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2 \ - --hash=sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1 +backports-tarfile==1.2.0 \ + --hash=sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 \ + --hash=sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991 + # via jaraco-context +cachetools==5.3.3 \ + --hash=sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945 \ + --hash=sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105 # via google-auth -certifi==2023.7.22 \ - --hash=sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082 \ - --hash=sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9 +certifi==2024.7.4 \ + --hash=sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b \ + --hash=sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90 # via requests cffi==1.16.0 \ --hash=sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc \ @@ -87,89 +91,90 @@ click==8.0.4 \ # -r requirements.in # gcp-docuploader # gcp-releasetool -colorlog==6.7.0 \ - --hash=sha256:0d33ca236784a1ba3ff9c532d4964126d8a2c44f1f0cb1d2b0728196f512f662 \ - --hash=sha256:bd94bd21c1e13fac7bd3153f4bc3a7dc0eb0974b8bc2fdf1a989e474f6e582e5 +colorlog==6.8.2 \ + --hash=sha256:3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44 \ + --hash=sha256:4dcbb62368e2800cb3c5abd348da7e53f6c362dda502ec27c560b2e58a66bd33 # via # gcp-docuploader # nox -cryptography==42.0.0 \ - --hash=sha256:0a68bfcf57a6887818307600c3c0ebc3f62fbb6ccad2240aa21887cda1f8df1b \ - --hash=sha256:146e971e92a6dd042214b537a726c9750496128453146ab0ee8971a0299dc9bd \ - --hash=sha256:14e4b909373bc5bf1095311fa0f7fcabf2d1a160ca13f1e9e467be1ac4cbdf94 \ - --hash=sha256:206aaf42e031b93f86ad60f9f5d9da1b09164f25488238ac1dc488334eb5e221 \ - --hash=sha256:3005166a39b70c8b94455fdbe78d87a444da31ff70de3331cdec2c568cf25b7e \ - --hash=sha256:324721d93b998cb7367f1e6897370644751e5580ff9b370c0a50dc60a2003513 \ - --hash=sha256:33588310b5c886dfb87dba5f013b8d27df7ffd31dc753775342a1e5ab139e59d \ - --hash=sha256:35cf6ed4c38f054478a9df14f03c1169bb14bd98f0b1705751079b25e1cb58bc \ - --hash=sha256:3ca482ea80626048975360c8e62be3ceb0f11803180b73163acd24bf014133a0 \ - --hash=sha256:56ce0c106d5c3fec1038c3cca3d55ac320a5be1b44bf15116732d0bc716979a2 \ - --hash=sha256:5a217bca51f3b91971400890905a9323ad805838ca3fa1e202a01844f485ee87 \ - --hash=sha256:678cfa0d1e72ef41d48993a7be75a76b0725d29b820ff3cfd606a5b2b33fda01 \ - --hash=sha256:69fd009a325cad6fbfd5b04c711a4da563c6c4854fc4c9544bff3088387c77c0 \ - --hash=sha256:6cf9b76d6e93c62114bd19485e5cb003115c134cf9ce91f8ac924c44f8c8c3f4 \ - --hash=sha256:74f18a4c8ca04134d2052a140322002fef535c99cdbc2a6afc18a8024d5c9d5b \ - --hash=sha256:85f759ed59ffd1d0baad296e72780aa62ff8a71f94dc1ab340386a1207d0ea81 \ - --hash=sha256:87086eae86a700307b544625e3ba11cc600c3c0ef8ab97b0fda0705d6db3d4e3 \ - --hash=sha256:8814722cffcfd1fbd91edd9f3451b88a8f26a5fd41b28c1c9193949d1c689dc4 \ - --hash=sha256:8fedec73d590fd30c4e3f0d0f4bc961aeca8390c72f3eaa1a0874d180e868ddf \ - --hash=sha256:9515ea7f596c8092fdc9902627e51b23a75daa2c7815ed5aa8cf4f07469212ec \ - --hash=sha256:988b738f56c665366b1e4bfd9045c3efae89ee366ca3839cd5af53eaa1401bce \ - --hash=sha256:a2a8d873667e4fd2f34aedab02ba500b824692c6542e017075a2efc38f60a4c0 \ - --hash=sha256:bd7cf7a8d9f34cc67220f1195884151426ce616fdc8285df9054bfa10135925f \ - --hash=sha256:bdce70e562c69bb089523e75ef1d9625b7417c6297a76ac27b1b8b1eb51b7d0f \ - --hash=sha256:be14b31eb3a293fc6e6aa2807c8a3224c71426f7c4e3639ccf1a2f3ffd6df8c3 \ - --hash=sha256:be41b0c7366e5549265adf2145135dca107718fa44b6e418dc7499cfff6b4689 \ - --hash=sha256:c310767268d88803b653fffe6d6f2f17bb9d49ffceb8d70aed50ad45ea49ab08 \ - --hash=sha256:c58115384bdcfe9c7f644c72f10f6f42bed7cf59f7b52fe1bf7ae0a622b3a139 \ - --hash=sha256:c640b0ef54138fde761ec99a6c7dc4ce05e80420262c20fa239e694ca371d434 \ - --hash=sha256:ca20550bb590db16223eb9ccc5852335b48b8f597e2f6f0878bbfd9e7314eb17 \ - --hash=sha256:d97aae66b7de41cdf5b12087b5509e4e9805ed6f562406dfcf60e8481a9a28f8 \ - --hash=sha256:e9326ca78111e4c645f7e49cbce4ed2f3f85e17b61a563328c85a5208cf34440 +cryptography==42.0.8 \ + --hash=sha256:013629ae70b40af70c9a7a5db40abe5d9054e6f4380e50ce769947b73bf3caad \ + --hash=sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583 \ + --hash=sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b \ + --hash=sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c \ + --hash=sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1 \ + --hash=sha256:343728aac38decfdeecf55ecab3264b015be68fc2816ca800db649607aeee648 \ + --hash=sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949 \ + --hash=sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba \ + --hash=sha256:5a94eccb2a81a309806027e1670a358b99b8fe8bfe9f8d329f27d72c094dde8c \ + --hash=sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9 \ + --hash=sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d \ + --hash=sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c \ + --hash=sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e \ + --hash=sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2 \ + --hash=sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d \ + --hash=sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7 \ + --hash=sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70 \ + --hash=sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2 \ + --hash=sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7 \ + --hash=sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14 \ + --hash=sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe \ + --hash=sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e \ + --hash=sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71 \ + --hash=sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961 \ + --hash=sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7 \ + --hash=sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c \ + --hash=sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28 \ + --hash=sha256:dec9b018df185f08483f294cae6ccac29e7a6e0678996587363dc352dc65c842 \ + --hash=sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902 \ + --hash=sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801 \ + --hash=sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a \ + --hash=sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e # via + # -r requirements.in # gcp-releasetool # secretstorage -distlib==0.3.7 \ - --hash=sha256:2e24928bc811348f0feb63014e97aaae3037f2cf48712d51ae61df7fd6075057 \ - --hash=sha256:9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8 +distlib==0.3.8 \ + --hash=sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784 \ + --hash=sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64 # via virtualenv -docutils==0.20.1 \ - --hash=sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6 \ - --hash=sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b +docutils==0.21.2 \ + --hash=sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f \ + --hash=sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2 # via readme-renderer -filelock==3.13.1 \ - --hash=sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e \ - --hash=sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c +filelock==3.15.4 \ + --hash=sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb \ + --hash=sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7 # via virtualenv gcp-docuploader==0.6.5 \ --hash=sha256:30221d4ac3e5a2b9c69aa52fdbef68cc3f27d0e6d0d90e220fc024584b8d2318 \ --hash=sha256:b7458ef93f605b9d46a4bf3a8dc1755dad1f31d030c8679edf304e343b347eea # via -r requirements.in -gcp-releasetool==1.16.0 \ - --hash=sha256:27bf19d2e87aaa884096ff941aa3c592c482be3d6a2bfe6f06afafa6af2353e3 \ - --hash=sha256:a316b197a543fd036209d0caba7a8eb4d236d8e65381c80cbc6d7efaa7606d63 +gcp-releasetool==2.0.1 \ + --hash=sha256:34314a910c08e8911d9c965bd44f8f2185c4f556e737d719c33a41f6a610de96 \ + --hash=sha256:b0d5863c6a070702b10883d37c4bdfd74bf930fe417f36c0c965d3b7c779ae62 # via -r requirements.in -google-api-core==2.12.0 \ - --hash=sha256:c22e01b1e3c4dcd90998494879612c38d0a3411d1f7b679eb89e2abe3ce1f553 \ - --hash=sha256:ec6054f7d64ad13b41e43d96f735acbd763b0f3b695dabaa2d579673f6a6e160 +google-api-core==2.19.1 \ + --hash=sha256:f12a9b8309b5e21d92483bbd47ce2c445861ec7d269ef6784ecc0ea8c1fa6125 \ + --hash=sha256:f4695f1e3650b316a795108a76a1c416e6afb036199d1c1f1f110916df479ffd # via # google-cloud-core # google-cloud-storage -google-auth==2.23.4 \ - --hash=sha256:79905d6b1652187def79d491d6e23d0cbb3a21d3c7ba0dbaa9c8a01906b13ff3 \ - --hash=sha256:d4bbc92fe4b8bfd2f3e8d88e5ba7085935da208ee38a134fc280e7ce682a05f2 +google-auth==2.31.0 \ + --hash=sha256:042c4702efa9f7d3c48d3a69341c209381b125faa6dbf3ebe56bc7e40ae05c23 \ + --hash=sha256:87805c36970047247c8afe614d4e3af8eceafc1ebba0c679fe75ddd1d575e871 # via # gcp-releasetool # google-api-core # google-cloud-core # google-cloud-storage -google-cloud-core==2.3.3 \ - --hash=sha256:37b80273c8d7eee1ae816b3a20ae43585ea50506cb0e60f3cf5be5f87f1373cb \ - --hash=sha256:fbd11cad3e98a7e5b0343dc07cb1039a5ffd7a5bb96e1f1e27cee4bda4a90863 +google-cloud-core==2.4.1 \ + --hash=sha256:9b7749272a812bde58fff28868d0c5e2f585b82f37e09a1f6ed2d4d10f134073 \ + --hash=sha256:a9e6a4422b9ac5c29f79a0ede9485473338e2ce78d91f2370c01e730eab22e61 # via google-cloud-storage -google-cloud-storage==2.13.0 \ - --hash=sha256:ab0bf2e1780a1b74cf17fccb13788070b729f50c252f0c94ada2aae0ca95437d \ - --hash=sha256:f62dc4c7b6cd4360d072e3deb28035fbdad491ac3d9b0b1815a12daea10f37c7 +google-cloud-storage==2.17.0 \ + --hash=sha256:49378abff54ef656b52dca5ef0f2eba9aa83dc2b2c72c78714b03a1a95fe9388 \ + --hash=sha256:5b393bc766b7a3bc6f5407b9e665b2450d36282614b7945e570b3480a456d1e1 # via gcp-docuploader google-crc32c==1.5.0 \ --hash=sha256:024894d9d3cfbc5943f8f230e23950cd4906b2fe004c72e29b209420a1e6b05a \ @@ -243,28 +248,36 @@ google-crc32c==1.5.0 \ # via # google-cloud-storage # google-resumable-media -google-resumable-media==2.6.0 \ - --hash=sha256:972852f6c65f933e15a4a210c2b96930763b47197cdf4aa5f5bea435efb626e7 \ - --hash=sha256:fc03d344381970f79eebb632a3c18bb1828593a2dc5572b5f90115ef7d11e81b +google-resumable-media==2.7.1 \ + --hash=sha256:103ebc4ba331ab1bfdac0250f8033627a2cd7cde09e7ccff9181e31ba4315b2c \ + --hash=sha256:eae451a7b2e2cdbaaa0fd2eb00cc8a1ee5e95e16b55597359cbc3d27d7d90e33 # via google-cloud-storage -googleapis-common-protos==1.61.0 \ - --hash=sha256:22f1915393bb3245343f6efe87f6fe868532efc12aa26b391b15132e1279f1c0 \ - --hash=sha256:8a64866a97f6304a7179873a465d6eee97b7a24ec6cfd78e0f575e96b821240b +googleapis-common-protos==1.63.2 \ + --hash=sha256:27a2499c7e8aff199665b22741997e485eccc8645aa9176c7c988e6fae507945 \ + --hash=sha256:27c5abdffc4911f28101e635de1533fb4cfd2c37fbaa9174587c799fac90aa87 # via google-api-core -idna==3.4 \ - --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ - --hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 +idna==3.7 \ + --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \ + --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0 # via requests -importlib-metadata==6.8.0 \ - --hash=sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb \ - --hash=sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743 +importlib-metadata==8.0.0 \ + --hash=sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f \ + --hash=sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812 # via # -r requirements.in # keyring # twine -jaraco-classes==3.3.0 \ - --hash=sha256:10afa92b6743f25c0cf5f37c6bb6e18e2c5bb84a16527ccfc0040ea377e7aaeb \ - --hash=sha256:c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621 +jaraco-classes==3.4.0 \ + --hash=sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd \ + --hash=sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 + # via keyring +jaraco-context==5.3.0 \ + --hash=sha256:3e16388f7da43d384a1a7cd3452e72e14732ac9fe459678773a3608a812bf266 \ + --hash=sha256:c2f67165ce1f9be20f32f650f25d8edfc1646a8aeee48ae06fb35f90763576d2 + # via keyring +jaraco-functools==4.0.1 \ + --hash=sha256:3b24ccb921d6b593bdceb56ce14799204f473976e2a9d4b15b04d0f2c2326664 \ + --hash=sha256:d33fa765374c0611b52f8b3a795f8900869aa88c84769d4d1746cd68fb28c3e8 # via keyring jeepney==0.8.0 \ --hash=sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806 \ @@ -272,13 +285,13 @@ jeepney==0.8.0 \ # via # keyring # secretstorage -jinja2==3.1.3 \ - --hash=sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa \ - --hash=sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90 +jinja2==3.1.4 \ + --hash=sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 \ + --hash=sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d # via gcp-releasetool -keyring==24.2.0 \ - --hash=sha256:4901caaf597bfd3bbd78c9a0c7c4c29fcd8310dab2cffefe749e916b6527acd6 \ - --hash=sha256:ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509 +keyring==25.2.1 \ + --hash=sha256:2458681cdefc0dbc0b7eb6cf75d0b98e59f9ad9b2d4edd319d18f68bdca95e50 \ + --hash=sha256:daaffd42dbda25ddafb1ad5fec4024e5bbcfe424597ca1ca452b299861e49f1b # via # gcp-releasetool # twine @@ -286,157 +299,153 @@ markdown-it-py==3.0.0 \ --hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \ --hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb # via rich -markupsafe==2.1.3 \ - --hash=sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e \ - --hash=sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e \ - --hash=sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431 \ - --hash=sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686 \ - --hash=sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c \ - --hash=sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559 \ - --hash=sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc \ - --hash=sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb \ - --hash=sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939 \ - --hash=sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c \ - --hash=sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0 \ - --hash=sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4 \ - --hash=sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9 \ - --hash=sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575 \ - --hash=sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba \ - --hash=sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d \ - --hash=sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd \ - --hash=sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3 \ - --hash=sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00 \ - --hash=sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155 \ - --hash=sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac \ - --hash=sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52 \ - --hash=sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f \ - --hash=sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8 \ - --hash=sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b \ - --hash=sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007 \ - --hash=sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24 \ - --hash=sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea \ - --hash=sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198 \ - --hash=sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0 \ - --hash=sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee \ - --hash=sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be \ - --hash=sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2 \ - --hash=sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1 \ - --hash=sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707 \ - --hash=sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6 \ - --hash=sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c \ - --hash=sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58 \ - --hash=sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823 \ - --hash=sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779 \ - --hash=sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636 \ - --hash=sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c \ - --hash=sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad \ - --hash=sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee \ - --hash=sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc \ - --hash=sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2 \ - --hash=sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48 \ - --hash=sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7 \ - --hash=sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e \ - --hash=sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b \ - --hash=sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa \ - --hash=sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5 \ - --hash=sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e \ - --hash=sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb \ - --hash=sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9 \ - --hash=sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57 \ - --hash=sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc \ - --hash=sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc \ - --hash=sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2 \ - --hash=sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11 +markupsafe==2.1.5 \ + --hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \ + --hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \ + --hash=sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f \ + --hash=sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3 \ + --hash=sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532 \ + --hash=sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f \ + --hash=sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617 \ + --hash=sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df \ + --hash=sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4 \ + --hash=sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906 \ + --hash=sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f \ + --hash=sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4 \ + --hash=sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8 \ + --hash=sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371 \ + --hash=sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2 \ + --hash=sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465 \ + --hash=sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52 \ + --hash=sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6 \ + --hash=sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169 \ + --hash=sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad \ + --hash=sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2 \ + --hash=sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0 \ + --hash=sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029 \ + --hash=sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f \ + --hash=sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a \ + --hash=sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced \ + --hash=sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5 \ + --hash=sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c \ + --hash=sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf \ + --hash=sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9 \ + --hash=sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb \ + --hash=sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad \ + --hash=sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3 \ + --hash=sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1 \ + --hash=sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46 \ + --hash=sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc \ + --hash=sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a \ + --hash=sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee \ + --hash=sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900 \ + --hash=sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5 \ + --hash=sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea \ + --hash=sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f \ + --hash=sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5 \ + --hash=sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e \ + --hash=sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a \ + --hash=sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f \ + --hash=sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50 \ + --hash=sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a \ + --hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \ + --hash=sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4 \ + --hash=sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff \ + --hash=sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2 \ + --hash=sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46 \ + --hash=sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b \ + --hash=sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf \ + --hash=sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5 \ + --hash=sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5 \ + --hash=sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab \ + --hash=sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd \ + --hash=sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68 # via jinja2 mdurl==0.1.2 \ --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \ --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba # via markdown-it-py -more-itertools==10.1.0 \ - --hash=sha256:626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a \ - --hash=sha256:64e0735fcfdc6f3464ea133afe8ea4483b1c5fe3a3d69852e6503b43a0b222e6 - # via jaraco-classes -nh3==0.2.14 \ - --hash=sha256:116c9515937f94f0057ef50ebcbcc10600860065953ba56f14473ff706371873 \ - --hash=sha256:18415df36db9b001f71a42a3a5395db79cf23d556996090d293764436e98e8ad \ - --hash=sha256:203cac86e313cf6486704d0ec620a992c8bc164c86d3a4fd3d761dd552d839b5 \ - --hash=sha256:2b0be5c792bd43d0abef8ca39dd8acb3c0611052ce466d0401d51ea0d9aa7525 \ - --hash=sha256:377aaf6a9e7c63962f367158d808c6a1344e2b4f83d071c43fbd631b75c4f0b2 \ - --hash=sha256:525846c56c2bcd376f5eaee76063ebf33cf1e620c1498b2a40107f60cfc6054e \ - --hash=sha256:5529a3bf99402c34056576d80ae5547123f1078da76aa99e8ed79e44fa67282d \ - --hash=sha256:7771d43222b639a4cd9e341f870cee336b9d886de1ad9bec8dddab22fe1de450 \ - --hash=sha256:88c753efbcdfc2644a5012938c6b9753f1c64a5723a67f0301ca43e7b85dcf0e \ - --hash=sha256:93a943cfd3e33bd03f77b97baa11990148687877b74193bf777956b67054dcc6 \ - --hash=sha256:9be2f68fb9a40d8440cbf34cbf40758aa7f6093160bfc7fb018cce8e424f0c3a \ - --hash=sha256:a0c509894fd4dccdff557068e5074999ae3b75f4c5a2d6fb5415e782e25679c4 \ - --hash=sha256:ac8056e937f264995a82bf0053ca898a1cb1c9efc7cd68fa07fe0060734df7e4 \ - --hash=sha256:aed56a86daa43966dd790ba86d4b810b219f75b4bb737461b6886ce2bde38fd6 \ - --hash=sha256:e8986f1dd3221d1e741fda0a12eaa4a273f1d80a35e31a1ffe579e7c621d069e \ - --hash=sha256:f99212a81c62b5f22f9e7c3e347aa00491114a5647e1f13bbebd79c3e5f08d75 +more-itertools==10.3.0 \ + --hash=sha256:e5d93ef411224fbcef366a6e8ddc4c5781bc6359d43412a65dd5964e46111463 \ + --hash=sha256:ea6a02e24a9161e51faad17a8782b92a0df82c12c1c8886fec7f0c3fa1a1b320 + # via + # jaraco-classes + # jaraco-functools +nh3==0.2.18 \ + --hash=sha256:0411beb0589eacb6734f28d5497ca2ed379eafab8ad8c84b31bb5c34072b7164 \ + --hash=sha256:14c5a72e9fe82aea5fe3072116ad4661af5cf8e8ff8fc5ad3450f123e4925e86 \ + --hash=sha256:19aaba96e0f795bd0a6c56291495ff59364f4300d4a39b29a0abc9cb3774a84b \ + --hash=sha256:34c03fa78e328c691f982b7c03d4423bdfd7da69cd707fe572f544cf74ac23ad \ + --hash=sha256:36c95d4b70530b320b365659bb5034341316e6a9b30f0b25fa9c9eff4c27a204 \ + --hash=sha256:3a157ab149e591bb638a55c8c6bcb8cdb559c8b12c13a8affaba6cedfe51713a \ + --hash=sha256:42c64511469005058cd17cc1537578eac40ae9f7200bedcfd1fc1a05f4f8c200 \ + --hash=sha256:5f36b271dae35c465ef5e9090e1fdaba4a60a56f0bb0ba03e0932a66f28b9189 \ + --hash=sha256:6955369e4d9f48f41e3f238a9e60f9410645db7e07435e62c6a9ea6135a4907f \ + --hash=sha256:7b7c2a3c9eb1a827d42539aa64091640bd275b81e097cd1d8d82ef91ffa2e811 \ + --hash=sha256:8ce0f819d2f1933953fca255db2471ad58184a60508f03e6285e5114b6254844 \ + --hash=sha256:94a166927e53972a9698af9542ace4e38b9de50c34352b962f4d9a7d4c927af4 \ + --hash=sha256:a7f1b5b2c15866f2db413a3649a8fe4fd7b428ae58be2c0f6bca5eefd53ca2be \ + --hash=sha256:c8b3a1cebcba9b3669ed1a84cc65bf005728d2f0bc1ed2a6594a992e817f3a50 \ + --hash=sha256:de3ceed6e661954871d6cd78b410213bdcb136f79aafe22aa7182e028b8c7307 \ + --hash=sha256:f0eca9ca8628dbb4e916ae2491d72957fdd35f7a5d326b7032a345f111ac07fe # via readme-renderer -nox==2023.4.22 \ - --hash=sha256:0b1adc619c58ab4fa57d6ab2e7823fe47a32e70202f287d78474adcc7bda1891 \ - --hash=sha256:46c0560b0dc609d7d967dc99e22cb463d3c4caf54a5fda735d6c11b5177e3a9f +nox==2024.4.15 \ + --hash=sha256:6492236efa15a460ecb98e7b67562a28b70da006ab0be164e8821177577c0565 \ + --hash=sha256:ecf6700199cdfa9e5ea0a41ff5e6ef4641d09508eda6edb89d9987864115817f # via -r requirements.in -packaging==23.2 \ - --hash=sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5 \ - --hash=sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7 +packaging==24.1 \ + --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ + --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 # via # gcp-releasetool # nox -pkginfo==1.9.6 \ - --hash=sha256:4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546 \ - --hash=sha256:8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046 +pkginfo==1.10.0 \ + --hash=sha256:5df73835398d10db79f8eecd5cd86b1f6d29317589ea70796994d49399af6297 \ + --hash=sha256:889a6da2ed7ffc58ab5b900d888ddce90bce912f2d2de1dc1c26f4cb9fe65097 # via twine -platformdirs==3.11.0 \ - --hash=sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3 \ - --hash=sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e +platformdirs==4.2.2 \ + --hash=sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee \ + --hash=sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3 # via virtualenv -protobuf==3.20.3 \ - --hash=sha256:03038ac1cfbc41aa21f6afcbcd357281d7521b4157926f30ebecc8d4ea59dcb7 \ - --hash=sha256:28545383d61f55b57cf4df63eebd9827754fd2dc25f80c5253f9184235db242c \ - --hash=sha256:2e3427429c9cffebf259491be0af70189607f365c2f41c7c3764af6f337105f2 \ - --hash=sha256:398a9e0c3eaceb34ec1aee71894ca3299605fa8e761544934378bbc6c97de23b \ - --hash=sha256:44246bab5dd4b7fbd3c0c80b6f16686808fab0e4aca819ade6e8d294a29c7050 \ - --hash=sha256:447d43819997825d4e71bf5769d869b968ce96848b6479397e29fc24c4a5dfe9 \ - --hash=sha256:67a3598f0a2dcbc58d02dd1928544e7d88f764b47d4a286202913f0b2801c2e7 \ - --hash=sha256:74480f79a023f90dc6e18febbf7b8bac7508420f2006fabd512013c0c238f454 \ - --hash=sha256:819559cafa1a373b7096a482b504ae8a857c89593cf3a25af743ac9ecbd23480 \ - --hash=sha256:899dc660cd599d7352d6f10d83c95df430a38b410c1b66b407a6b29265d66469 \ - --hash=sha256:8c0c984a1b8fef4086329ff8dd19ac77576b384079247c770f29cc8ce3afa06c \ - --hash=sha256:9aae4406ea63d825636cc11ffb34ad3379335803216ee3a856787bcf5ccc751e \ - --hash=sha256:a7ca6d488aa8ff7f329d4c545b2dbad8ac31464f1d8b1c87ad1346717731e4db \ - --hash=sha256:b6cc7ba72a8850621bfec987cb72623e703b7fe2b9127a161ce61e61558ad905 \ - --hash=sha256:bf01b5720be110540be4286e791db73f84a2b721072a3711efff6c324cdf074b \ - --hash=sha256:c02ce36ec760252242a33967d51c289fd0e1c0e6e5cc9397e2279177716add86 \ - --hash=sha256:d9e4432ff660d67d775c66ac42a67cf2453c27cb4d738fc22cb53b5d84c135d4 \ - --hash=sha256:daa564862dd0d39c00f8086f88700fdbe8bc717e993a21e90711acfed02f2402 \ - --hash=sha256:de78575669dddf6099a8a0f46a27e82a1783c557ccc38ee620ed8cc96d3be7d7 \ - --hash=sha256:e64857f395505ebf3d2569935506ae0dfc4a15cb80dc25261176c784662cdcc4 \ - --hash=sha256:f4bd856d702e5b0d96a00ec6b307b0f51c1982c2bf9c0052cf9019e9a544ba99 \ - --hash=sha256:f4c42102bc82a51108e449cbb32b19b180022941c727bac0cfd50170341f16ee +proto-plus==1.24.0 \ + --hash=sha256:30b72a5ecafe4406b0d339db35b56c4059064e69227b8c3bda7462397f966445 \ + --hash=sha256:402576830425e5f6ce4c2a6702400ac79897dab0b4343821aa5188b0fab81a12 + # via google-api-core +protobuf==5.27.2 \ + --hash=sha256:0e341109c609749d501986b835f667c6e1e24531096cff9d34ae411595e26505 \ + --hash=sha256:176c12b1f1c880bf7a76d9f7c75822b6a2bc3db2d28baa4d300e8ce4cde7409b \ + --hash=sha256:354d84fac2b0d76062e9b3221f4abbbacdfd2a4d8af36bab0474f3a0bb30ab38 \ + --hash=sha256:4fadd8d83e1992eed0248bc50a4a6361dc31bcccc84388c54c86e530b7f58863 \ + --hash=sha256:54330f07e4949d09614707c48b06d1a22f8ffb5763c159efd5c0928326a91470 \ + --hash=sha256:610e700f02469c4a997e58e328cac6f305f649826853813177e6290416e846c6 \ + --hash=sha256:7fc3add9e6003e026da5fc9e59b131b8f22b428b991ccd53e2af8071687b4fce \ + --hash=sha256:9e8f199bf7f97bd7ecebffcae45ebf9527603549b2b562df0fbc6d4d688f14ca \ + --hash=sha256:a109916aaac42bff84702fb5187f3edadbc7c97fc2c99c5ff81dd15dcce0d1e5 \ + --hash=sha256:b848dbe1d57ed7c191dfc4ea64b8b004a3f9ece4bf4d0d80a367b76df20bf36e \ + --hash=sha256:f3ecdef226b9af856075f28227ff2c90ce3a594d092c39bee5513573f25e2714 # via # gcp-docuploader # gcp-releasetool # google-api-core # googleapis-common-protos -pyasn1==0.5.0 \ - --hash=sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57 \ - --hash=sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde + # proto-plus +pyasn1==0.6.0 \ + --hash=sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c \ + --hash=sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473 # via # pyasn1-modules # rsa -pyasn1-modules==0.3.0 \ - --hash=sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c \ - --hash=sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d +pyasn1-modules==0.4.0 \ + --hash=sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6 \ + --hash=sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b # via google-auth -pycparser==2.21 \ - --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \ - --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 +pycparser==2.22 \ + --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \ + --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc # via cffi -pygments==2.16.1 \ - --hash=sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692 \ - --hash=sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29 +pygments==2.18.0 \ + --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ + --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a # via # readme-renderer # rich @@ -444,20 +453,20 @@ pyjwt==2.8.0 \ --hash=sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de \ --hash=sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320 # via gcp-releasetool -pyperclip==1.8.2 \ - --hash=sha256:105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57 +pyperclip==1.9.0 \ + --hash=sha256:b7de0142ddc81bfc5c7507eea19da920b92252b548b96186caf94a5e2527d310 # via gcp-releasetool -python-dateutil==2.8.2 \ - --hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \ - --hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 # via gcp-releasetool -readme-renderer==42.0 \ - --hash=sha256:13d039515c1f24de668e2c93f2e877b9dbe6c6c32328b90a40a49d8b2b85f36d \ - --hash=sha256:2d55489f83be4992fe4454939d1a051c33edbab778e82761d060c9fc6b308cd1 +readme-renderer==44.0 \ + --hash=sha256:2fbca89b81a08526aadf1357a8c2ae889ec05fb03f5da67f9769c9a592166151 \ + --hash=sha256:8712034eabbfa6805cacf1402b4eeb2a73028f72d1166d6f5cb7f9c047c5d1e1 # via twine -requests==2.31.0 \ - --hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \ - --hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1 +requests==2.32.3 \ + --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \ + --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 # via # gcp-releasetool # google-api-core @@ -472,9 +481,9 @@ rfc3986==2.0.0 \ --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd \ --hash=sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c # via twine -rich==13.6.0 \ - --hash=sha256:2b38e2fe9ca72c9a00170a1a2d20c63c790d0e10ef1fe35eba76e1e7b1d7d245 \ - --hash=sha256:5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef +rich==13.7.1 \ + --hash=sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222 \ + --hash=sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432 # via twine rsa==4.9 \ --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 \ @@ -490,35 +499,39 @@ six==1.16.0 \ # via # gcp-docuploader # python-dateutil -twine==4.0.2 \ - --hash=sha256:929bc3c280033347a00f847236564d1c52a3e61b1ac2516c97c48f3ceab756d8 \ - --hash=sha256:9e102ef5fdd5a20661eb88fad46338806c3bd32cf1db729603fe3697b1bc83c8 +tomli==2.0.1 \ + --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ + --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f + # via nox +twine==5.1.1 \ + --hash=sha256:215dbe7b4b94c2c50a7315c0275d2258399280fbb7d04182c7e55e24b5f93997 \ + --hash=sha256:9aa0825139c02b3434d913545c7b847a21c835e11597f5255842d457da2322db # via -r requirements.in -typing-extensions==4.8.0 \ - --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ - --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef +typing-extensions==4.12.2 \ + --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \ + --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 # via -r requirements.in -urllib3==2.0.7 \ - --hash=sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84 \ - --hash=sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e +urllib3==2.2.2 \ + --hash=sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472 \ + --hash=sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168 # via # requests # twine -virtualenv==20.24.6 \ - --hash=sha256:02ece4f56fbf939dbbc33c0715159951d6bf14aaf5457b092e4548e1382455af \ - --hash=sha256:520d056652454c5098a00c0f073611ccbea4c79089331f60bf9d7ba247bb7381 +virtualenv==20.26.3 \ + --hash=sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a \ + --hash=sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589 # via nox -wheel==0.41.3 \ - --hash=sha256:488609bc63a29322326e05560731bf7bfea8e48ad646e1f5e40d366607de0942 \ - --hash=sha256:4d4987ce51a49370ea65c0bfd2234e8ce80a12780820d9dc462597a6e60d0841 +wheel==0.43.0 \ + --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ + --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 # via -r requirements.in -zipp==3.17.0 \ - --hash=sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31 \ - --hash=sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0 +zipp==3.19.2 \ + --hash=sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19 \ + --hash=sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -setuptools==68.2.2 \ - --hash=sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87 \ - --hash=sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a +setuptools==70.2.0 \ + --hash=sha256:b8b8060bb426838fbe942479c90296ce976249451118ef566a5a0b7d8b78fb05 \ + --hash=sha256:bd63e505105011b25c3c11f753f7e3b8465ea739efddaccef8f0efac2137bac1 # via -r requirements.in diff --git a/.kokoro/test-samples-against-head.sh b/.kokoro/test-samples-against-head.sh index 63ac41d..e9d8bd7 100755 --- a/.kokoro/test-samples-against-head.sh +++ b/.kokoro/test-samples-against-head.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.kokoro/test-samples-impl.sh b/.kokoro/test-samples-impl.sh index 5a0f5fa..55910c8 100755 --- a/.kokoro/test-samples-impl.sh +++ b/.kokoro/test-samples-impl.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.kokoro/test-samples.sh b/.kokoro/test-samples.sh index 50b35a4..7933d82 100755 --- a/.kokoro/test-samples.sh +++ b/.kokoro/test-samples.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.kokoro/trampoline.sh b/.kokoro/trampoline.sh index d85b1f2..48f7969 100755 --- a/.kokoro/trampoline.sh +++ b/.kokoro/trampoline.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.kokoro/trampoline_v2.sh b/.kokoro/trampoline_v2.sh index 59a7cf3..35fa529 100755 --- a/.kokoro/trampoline_v2.sh +++ b/.kokoro/trampoline_v2.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6a8e169..1d74695 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,4 @@ -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/.trampolinerc b/.trampolinerc index a7dfeb4..0080152 100644 --- a/.trampolinerc +++ b/.trampolinerc @@ -1,4 +1,4 @@ -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e40b48..e85daa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [0.2.1](https://github.com/googleapis/python-access-context-manager/compare/v0.2.0...v0.2.1) (2024-08-14) + + +### Bug Fixes + +* **deps:** Require protobuf>=3.20.2, protobuf<6 ([ef6827b](https://github.com/googleapis/python-access-context-manager/commit/ef6827b2aa9519abf760ddd20cd9ea0f228c4272)) +* Regenerate pb2 files for compatibility with protobuf 5.x ([ef6827b](https://github.com/googleapis/python-access-context-manager/commit/ef6827b2aa9519abf760ddd20cd9ea0f228c4272)) + ## [0.2.0](https://github.com/googleapis/python-access-context-manager/compare/v0.1.16...v0.2.0) (2024-02-15) diff --git a/MANIFEST.in b/MANIFEST.in index e0a6670..d6814cd 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/docs/conf.py b/docs/conf.py index d897b04..57acd8d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/identity/accesscontextmanager/type/device_resources.proto b/google/identity/accesscontextmanager/type/device_resources.proto index a3f000c..c442283 100644 --- a/google/identity/accesscontextmanager/type/device_resources.proto +++ b/google/identity/accesscontextmanager/type/device_resources.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/google/identity/accesscontextmanager/type/device_resources_pb2.py b/google/identity/accesscontextmanager/type/device_resources_pb2.py index cb48d1e..594894e 100644 --- a/google/identity/accesscontextmanager/type/device_resources_pb2.py +++ b/google/identity/accesscontextmanager/type/device_resources_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,12 +17,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/identity/accesscontextmanager/type/device_resources.proto """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) @@ -33,37 +31,20 @@ b"\n@google/identity/accesscontextmanager/type/device_resources.proto\x12)google.identity.accesscontextmanager.type*p\n\x16\x44\x65viceEncryptionStatus\x12\x1a\n\x16\x45NCRYPTION_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x45NCRYPTION_UNSUPPORTED\x10\x01\x12\x0f\n\x0bUNENCRYPTED\x10\x02\x12\r\n\tENCRYPTED\x10\x03*\x82\x01\n\x06OsType\x12\x12\n\x0eOS_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44\x45SKTOP_MAC\x10\x01\x12\x13\n\x0f\x44\x45SKTOP_WINDOWS\x10\x02\x12\x11\n\rDESKTOP_LINUX\x10\x03\x12\x15\n\x11\x44\x45SKTOP_CHROME_OS\x10\x06\x12\x0b\n\x07\x41NDROID\x10\x04\x12\x07\n\x03IOS\x10\x05*V\n\x15\x44\x65viceManagementLevel\x12\x1a\n\x16MANAGEMENT_UNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\t\n\x05\x42\x41SIC\x10\x02\x12\x0c\n\x08\x43OMPLETE\x10\x03\x42\x8d\x02\n-com.google.identity.accesscontextmanager.typeB\tTypeProtoP\x01ZHgoogle.golang.org/genproto/googleapis/identity/accesscontextmanager/type\xaa\x02)Google.Identity.AccessContextManager.Type\xca\x02)Google\\Identity\\AccessContextManager\\Type\xea\x02,Google::Identity::AccessContextManager::Typeb\x06proto3" ) -_DEVICEENCRYPTIONSTATUS = DESCRIPTOR.enum_types_by_name["DeviceEncryptionStatus"] -DeviceEncryptionStatus = enum_type_wrapper.EnumTypeWrapper(_DEVICEENCRYPTIONSTATUS) -_OSTYPE = DESCRIPTOR.enum_types_by_name["OsType"] -OsType = enum_type_wrapper.EnumTypeWrapper(_OSTYPE) -_DEVICEMANAGEMENTLEVEL = DESCRIPTOR.enum_types_by_name["DeviceManagementLevel"] -DeviceManagementLevel = enum_type_wrapper.EnumTypeWrapper(_DEVICEMANAGEMENTLEVEL) -ENCRYPTION_UNSPECIFIED = 0 -ENCRYPTION_UNSUPPORTED = 1 -UNENCRYPTED = 2 -ENCRYPTED = 3 -OS_UNSPECIFIED = 0 -DESKTOP_MAC = 1 -DESKTOP_WINDOWS = 2 -DESKTOP_LINUX = 3 -DESKTOP_CHROME_OS = 6 -ANDROID = 4 -IOS = 5 -MANAGEMENT_UNSPECIFIED = 0 -NONE = 1 -BASIC = 2 -COMPLETE = 3 - - +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, + "google.identity.accesscontextmanager.type.device_resources_pb2", + _globals, +) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b"\n-com.google.identity.accesscontextmanager.typeB\tTypeProtoP\001ZHgoogle.golang.org/genproto/googleapis/identity/accesscontextmanager/type\252\002)Google.Identity.AccessContextManager.Type\312\002)Google\\Identity\\AccessContextManager\\Type\352\002,Google::Identity::AccessContextManager::Type" - _DEVICEENCRYPTIONSTATUS._serialized_start = 111 - _DEVICEENCRYPTIONSTATUS._serialized_end = 223 - _OSTYPE._serialized_start = 226 - _OSTYPE._serialized_end = 356 - _DEVICEMANAGEMENTLEVEL._serialized_start = 358 - _DEVICEMANAGEMENTLEVEL._serialized_end = 444 + _globals["_DEVICEENCRYPTIONSTATUS"]._serialized_start = 111 + _globals["_DEVICEENCRYPTIONSTATUS"]._serialized_end = 223 + _globals["_OSTYPE"]._serialized_start = 226 + _globals["_OSTYPE"]._serialized_end = 356 + _globals["_DEVICEMANAGEMENTLEVEL"]._serialized_start = 358 + _globals["_DEVICEMANAGEMENTLEVEL"]._serialized_end = 444 # @@protoc_insertion_point(module_scope) diff --git a/google/identity/accesscontextmanager/v1/access_context_manager.proto b/google/identity/accesscontextmanager/v1/access_context_manager.proto index c2ea610..7563f09 100644 --- a/google/identity/accesscontextmanager/v1/access_context_manager.proto +++ b/google/identity/accesscontextmanager/v1/access_context_manager.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/google/identity/accesscontextmanager/v1/access_context_manager_pb2.py b/google/identity/accesscontextmanager/v1/access_context_manager_pb2.py index c0ccd6e..a77c944 100644 --- a/google/identity/accesscontextmanager/v1/access_context_manager_pb2.py +++ b/google/identity/accesscontextmanager/v1/access_context_manager_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,12 +17,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/identity/accesscontextmanager/v1/access_context_manager.proto """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) @@ -54,439 +52,17 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( - b'\nDgoogle/identity/accesscontextmanager/v1/access_context_manager.proto\x12\'google.identity.accesscontextmanager.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a:google/identity/accesscontextmanager/v1/access_level.proto\x1a;google/identity/accesscontextmanager/v1/access_policy.proto\x1a\x45google/identity/accesscontextmanager/v1/gcp_user_access_binding.proto\x1a?google/identity/accesscontextmanager/v1/service_perimeter.proto\x1a#google/longrunning/operations.proto\x1a google/protobuf/field_mask.proto"\x8c\x01\n\x19ListAccessPoliciesRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0cloudresourcemanager.googleapis.com/Organization\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"\x85\x01\n\x1aListAccessPoliciesResponse\x12N\n\x0f\x61\x63\x63\x65ss_policies\x18\x01 \x03(\x0b\x32\x35.google.identity.accesscontextmanager.v1.AccessPolicy\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"`\n\x16GetAccessPolicyRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0accesscontextmanager.googleapis.com/AccessPolicy"\x9d\x01\n\x19UpdateAccessPolicyRequest\x12J\n\x06policy\x18\x01 \x01(\x0b\x32\x35.google.identity.accesscontextmanager.v1.AccessPolicyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"c\n\x19\x44\x65leteAccessPolicyRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0accesscontextmanager.googleapis.com/AccessPolicy"\xdc\x01\n\x17ListAccessLevelsRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/accesscontextmanager.googleapis.com/AccessLevel\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12Q\n\x13\x61\x63\x63\x65ss_level_format\x18\x04 \x01(\x0e\x32\x34.google.identity.accesscontextmanager.v1.LevelFormat"\x80\x01\n\x18ListAccessLevelsResponse\x12K\n\raccess_levels\x18\x01 \x03(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevel\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"\xb1\x01\n\x15GetAccessLevelRequest\x12\x45\n\x04name\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\n/accesscontextmanager.googleapis.com/AccessLevel\x12Q\n\x13\x61\x63\x63\x65ss_level_format\x18\x02 \x01(\x0e\x32\x34.google.identity.accesscontextmanager.v1.LevelFormat"\xb4\x01\n\x18\x43reateAccessLevelRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/accesscontextmanager.googleapis.com/AccessLevel\x12O\n\x0c\x61\x63\x63\x65ss_level\x18\x02 \x01(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevelB\x03\xe0\x41\x02"\xa1\x01\n\x18UpdateAccessLevelRequest\x12O\n\x0c\x61\x63\x63\x65ss_level\x18\x01 \x01(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevelB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"a\n\x18\x44\x65leteAccessLevelRequest\x12\x45\n\x04name\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\n/accesscontextmanager.googleapis.com/AccessLevel"\xc5\x01\n\x1aReplaceAccessLevelsRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/accesscontextmanager.googleapis.com/AccessLevel\x12P\n\raccess_levels\x18\x02 \x03(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevelB\x03\xe0\x41\x02\x12\x0c\n\x04\x65tag\x18\x04 \x01(\t"j\n\x1bReplaceAccessLevelsResponse\x12K\n\raccess_levels\x18\x01 \x03(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevel"\x93\x01\n\x1cListServicePerimetersRequest\x12L\n\x06parent\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\x12\x34\x61\x63\x63\x65sscontextmanager.googleapis.com/ServicePerimeter\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"\x8f\x01\n\x1dListServicePerimetersResponse\x12U\n\x12service_perimeters\x18\x01 \x03(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeter\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"h\n\x1aGetServicePerimeterRequest\x12J\n\x04name\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\n4accesscontextmanager.googleapis.com/ServicePerimeter"\xc8\x01\n\x1d\x43reateServicePerimeterRequest\x12L\n\x06parent\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\x12\x34\x61\x63\x63\x65sscontextmanager.googleapis.com/ServicePerimeter\x12Y\n\x11service_perimeter\x18\x02 \x01(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeterB\x03\xe0\x41\x02"\xb0\x01\n\x1dUpdateServicePerimeterRequest\x12Y\n\x11service_perimeter\x18\x01 \x01(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeterB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"k\n\x1d\x44\x65leteServicePerimeterRequest\x12J\n\x04name\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\n4accesscontextmanager.googleapis.com/ServicePerimeter"\xd9\x01\n\x1fReplaceServicePerimetersRequest\x12L\n\x06parent\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\x12\x34\x61\x63\x63\x65sscontextmanager.googleapis.com/ServicePerimeter\x12Z\n\x12service_perimeters\x18\x02 \x03(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeterB\x03\xe0\x41\x02\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t"y\n ReplaceServicePerimetersResponse\x12U\n\x12service_perimeters\x18\x01 \x03(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeter"|\n\x1e\x43ommitServicePerimetersRequest\x12L\n\x06parent\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\x12\x34\x61\x63\x63\x65sscontextmanager.googleapis.com/ServicePerimeter\x12\x0c\n\x04\x65tag\x18\x02 \x01(\t"x\n\x1f\x43ommitServicePerimetersResponse\x12U\n\x12service_perimeters\x18\x01 \x03(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeter"\x9d\x01\n ListGcpUserAccessBindingsRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0cloudresourcemanager.googleapis.com/Organization\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01"\x9d\x01\n!ListGcpUserAccessBindingsResponse\x12_\n\x18gcp_user_access_bindings\x18\x01 \x03(\x0b\x32=.google.identity.accesscontextmanager.v1.GcpUserAccessBinding\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"p\n\x1eGetGcpUserAccessBindingRequest\x12N\n\x04name\x18\x01 \x01(\tB@\xe0\x41\x02\xfa\x41:\n8accesscontextmanager.googleapis.com/GcpUserAccessBinding"\xd2\x01\n!CreateGcpUserAccessBindingRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0cloudresourcemanager.googleapis.com/Organization\x12\x63\n\x17gcp_user_access_binding\x18\x02 \x01(\x0b\x32=.google.identity.accesscontextmanager.v1.GcpUserAccessBindingB\x03\xe0\x41\x02"\xbe\x01\n!UpdateGcpUserAccessBindingRequest\x12\x63\n\x17gcp_user_access_binding\x18\x01 \x01(\x0b\x32=.google.identity.accesscontextmanager.v1.GcpUserAccessBindingB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"s\n!DeleteGcpUserAccessBindingRequest\x12N\n\x04name\x18\x01 \x01(\tB@\xe0\x41\x02\xfa\x41:\n8accesscontextmanager.googleapis.com/GcpUserAccessBinding"\'\n%GcpUserAccessBindingOperationMetadata"\'\n%AccessContextManagerOperationMetadata*D\n\x0bLevelFormat\x12\x1c\n\x18LEVEL_FORMAT_UNSPECIFIED\x10\x00\x12\x0e\n\nAS_DEFINED\x10\x01\x12\x07\n\x03\x43\x45L\x10\x02\x32\xf1\x32\n\x14\x41\x63\x63\x65ssContextManager\x12\xb9\x01\n\x12ListAccessPolicies\x12\x42.google.identity.accesscontextmanager.v1.ListAccessPoliciesRequest\x1a\x43.google.identity.accesscontextmanager.v1.ListAccessPoliciesResponse"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/v1/accessPolicies\x12\xb5\x01\n\x0fGetAccessPolicy\x12?.google.identity.accesscontextmanager.v1.GetAccessPolicyRequest\x1a\x35.google.identity.accesscontextmanager.v1.AccessPolicy"*\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v1/{name=accessPolicies/*}\xda\x41\x04name\x12\xc1\x01\n\x12\x43reateAccessPolicy\x12\x35.google.identity.accesscontextmanager.v1.AccessPolicy\x1a\x1d.google.longrunning.Operation"U\x82\xd3\xe4\x93\x02\x17"\x12/v1/accessPolicies:\x01*\xca\x41\x35\n\x0c\x41\x63\x63\x65ssPolicy\x12%AccessContextManagerOperationMetadata\x12\xf8\x01\n\x12UpdateAccessPolicy\x12\x42.google.identity.accesscontextmanager.v1.UpdateAccessPolicyRequest\x1a\x1d.google.longrunning.Operation"\x7f\x82\xd3\xe4\x93\x02,2"/v1/{policy.name=accessPolicies/*}:\x06policy\xda\x41\x12policy,update_mask\xca\x41\x35\n\x0c\x41\x63\x63\x65ssPolicy\x12%AccessContextManagerOperationMetadata\x12\xe4\x01\n\x12\x44\x65leteAccessPolicy\x12\x42.google.identity.accesscontextmanager.v1.DeleteAccessPolicyRequest\x1a\x1d.google.longrunning.Operation"k\x82\xd3\xe4\x93\x02\x1d*\x1b/v1/{name=accessPolicies/*}\xda\x41\x04name\xca\x41>\n\x15google.protobuf.Empty\x12%AccessContextManagerOperationMetadata\x12\xd4\x01\n\x10ListAccessLevels\x12@.google.identity.accesscontextmanager.v1.ListAccessLevelsRequest\x1a\x41.google.identity.accesscontextmanager.v1.ListAccessLevelsResponse";\x82\xd3\xe4\x93\x02,\x12*/v1/{parent=accessPolicies/*}/accessLevels\xda\x41\x06parent\x12\xc1\x01\n\x0eGetAccessLevel\x12>.google.identity.accesscontextmanager.v1.GetAccessLevelRequest\x1a\x34.google.identity.accesscontextmanager.v1.AccessLevel"9\x82\xd3\xe4\x93\x02,\x12*/v1/{name=accessPolicies/*/accessLevels/*}\xda\x41\x04name\x12\x85\x02\n\x11\x43reateAccessLevel\x12\x41.google.identity.accesscontextmanager.v1.CreateAccessLevelRequest\x1a\x1d.google.longrunning.Operation"\x8d\x01\x82\xd3\xe4\x93\x02:"*/v1/{parent=accessPolicies/*}/accessLevels:\x0c\x61\x63\x63\x65ss_level\xda\x41\x13parent,access_level\xca\x41\x34\n\x0b\x41\x63\x63\x65ssLevel\x12%AccessContextManagerOperationMetadata\x12\x97\x02\n\x11UpdateAccessLevel\x12\x41.google.identity.accesscontextmanager.v1.UpdateAccessLevelRequest\x1a\x1d.google.longrunning.Operation"\x9f\x01\x82\xd3\xe4\x93\x02G27/v1/{access_level.name=accessPolicies/*/accessLevels/*}:\x0c\x61\x63\x63\x65ss_level\xda\x41\x18\x61\x63\x63\x65ss_level,update_mask\xca\x41\x34\n\x0b\x41\x63\x63\x65ssLevel\x12%AccessContextManagerOperationMetadata\x12\xf1\x01\n\x11\x44\x65leteAccessLevel\x12\x41.google.identity.accesscontextmanager.v1.DeleteAccessLevelRequest\x1a\x1d.google.longrunning.Operation"z\x82\xd3\xe4\x93\x02,**/v1/{name=accessPolicies/*/accessLevels/*}\xda\x41\x04name\xca\x41>\n\x15google.protobuf.Empty\x12%AccessContextManagerOperationMetadata\x12\x83\x02\n\x13ReplaceAccessLevels\x12\x43.google.identity.accesscontextmanager.v1.ReplaceAccessLevelsRequest\x1a\x1d.google.longrunning.Operation"\x87\x01\x82\xd3\xe4\x93\x02:"5/v1/{parent=accessPolicies/*}/accessLevels:replaceAll:\x01*\xca\x41\x44\n\x1bReplaceAccessLevelsResponse\x12%AccessContextManagerOperationMetadata\x12\xe8\x01\n\x15ListServicePerimeters\x12\x45.google.identity.accesscontextmanager.v1.ListServicePerimetersRequest\x1a\x46.google.identity.accesscontextmanager.v1.ListServicePerimetersResponse"@\x82\xd3\xe4\x93\x02\x31\x12//v1/{parent=accessPolicies/*}/servicePerimeters\xda\x41\x06parent\x12\xd5\x01\n\x13GetServicePerimeter\x12\x43.google.identity.accesscontextmanager.v1.GetServicePerimeterRequest\x1a\x39.google.identity.accesscontextmanager.v1.ServicePerimeter">\x82\xd3\xe4\x93\x02\x31\x12//v1/{name=accessPolicies/*/servicePerimeters/*}\xda\x41\x04name\x12\xa3\x02\n\x16\x43reateServicePerimeter\x12\x46.google.identity.accesscontextmanager.v1.CreateServicePerimeterRequest\x1a\x1d.google.longrunning.Operation"\xa1\x01\x82\xd3\xe4\x93\x02\x44"//v1/{parent=accessPolicies/*}/servicePerimeters:\x11service_perimeter\xda\x41\x18parent,service_perimeter\xca\x41\x39\n\x10ServicePerimeter\x12%AccessContextManagerOperationMetadata\x12\xba\x02\n\x16UpdateServicePerimeter\x12\x46.google.identity.accesscontextmanager.v1.UpdateServicePerimeterRequest\x1a\x1d.google.longrunning.Operation"\xb8\x01\x82\xd3\xe4\x93\x02V2A/v1/{service_perimeter.name=accessPolicies/*/servicePerimeters/*}:\x11service_perimeter\xda\x41\x1dservice_perimeter,update_mask\xca\x41\x39\n\x10ServicePerimeter\x12%AccessContextManagerOperationMetadata\x12\x80\x02\n\x16\x44\x65leteServicePerimeter\x12\x46.google.identity.accesscontextmanager.v1.DeleteServicePerimeterRequest\x1a\x1d.google.longrunning.Operation"\x7f\x82\xd3\xe4\x93\x02\x31*//v1/{name=accessPolicies/*/servicePerimeters/*}\xda\x41\x04name\xca\x41>\n\x15google.protobuf.Empty\x12%AccessContextManagerOperationMetadata\x12\x97\x02\n\x18ReplaceServicePerimeters\x12H.google.identity.accesscontextmanager.v1.ReplaceServicePerimetersRequest\x1a\x1d.google.longrunning.Operation"\x91\x01\x82\xd3\xe4\x93\x02?":/v1/{parent=accessPolicies/*}/servicePerimeters:replaceAll:\x01*\xca\x41I\n ReplaceServicePerimetersResponse\x12%AccessContextManagerOperationMetadata\x12\x90\x02\n\x17\x43ommitServicePerimeters\x12G.google.identity.accesscontextmanager.v1.CommitServicePerimetersRequest\x1a\x1d.google.longrunning.Operation"\x8c\x01\x82\xd3\xe4\x93\x02;"6/v1/{parent=accessPolicies/*}/servicePerimeters:commit:\x01*\xca\x41H\n\x1f\x43ommitServicePerimetersResponse\x12%AccessContextManagerOperationMetadata\x12\xf7\x01\n\x19ListGcpUserAccessBindings\x12I.google.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsRequest\x1aJ.google.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsResponse"C\x82\xd3\xe4\x93\x02\x34\x12\x32/v1/{parent=organizations/*}/gcpUserAccessBindings\xda\x41\x06parent\x12\xe4\x01\n\x17GetGcpUserAccessBinding\x12G.google.identity.accesscontextmanager.v1.GetGcpUserAccessBindingRequest\x1a=.google.identity.accesscontextmanager.v1.GcpUserAccessBinding"A\x82\xd3\xe4\x93\x02\x34\x12\x32/v1/{name=organizations/*/gcpUserAccessBindings/*}\xda\x41\x04name\x12\xbe\x02\n\x1a\x43reateGcpUserAccessBinding\x12J.google.identity.accesscontextmanager.v1.CreateGcpUserAccessBindingRequest\x1a\x1d.google.longrunning.Operation"\xb4\x01\x82\xd3\xe4\x93\x02M"2/v1/{parent=organizations/*}/gcpUserAccessBindings:\x17gcp_user_access_binding\xda\x41\x1eparent,gcp_user_access_binding\xca\x41=\n\x14GcpUserAccessBinding\x12%GcpUserAccessBindingOperationMetadata\x12\xdb\x02\n\x1aUpdateGcpUserAccessBinding\x12J.google.identity.accesscontextmanager.v1.UpdateGcpUserAccessBindingRequest\x1a\x1d.google.longrunning.Operation"\xd1\x01\x82\xd3\xe4\x93\x02\x65\x32J/v1/{gcp_user_access_binding.name=organizations/*/gcpUserAccessBindings/*}:\x17gcp_user_access_binding\xda\x41#gcp_user_access_binding,update_mask\xca\x41=\n\x14GcpUserAccessBinding\x12%GcpUserAccessBindingOperationMetadata\x12\x8c\x02\n\x1a\x44\x65leteGcpUserAccessBinding\x12J.google.identity.accesscontextmanager.v1.DeleteGcpUserAccessBindingRequest\x1a\x1d.google.longrunning.Operation"\x82\x01\x82\xd3\xe4\x93\x02\x34*2/v1/{name=organizations/*/gcpUserAccessBindings/*}\xda\x41\x04name\xca\x41>\n\x15google.protobuf.Empty\x12%GcpUserAccessBindingOperationMetadata\x12\x82\x01\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"7\x82\xd3\xe4\x93\x02\x31",/v1/{resource=accessPolicies/*}:setIamPolicy:\x01*\x12\x82\x01\n\x0cGetIamPolicy\x12".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"7\x82\xd3\xe4\x93\x02\x31",/v1/{resource=accessPolicies/*}:getIamPolicy:\x01*\x12\xbf\x02\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse"\xd3\x01\x82\xd3\xe4\x93\x02\xcc\x01"2/v1/{resource=accessPolicies/*}:testIamPermissions:\x01*ZF"A/v1/{resource=accessPolicies/*/accessLevels/*}:testIamPermissions:\x01*ZK"F/v1/{resource=accessPolicies/*/servicePerimeters/*}:testIamPermissions:\x01*\x1aW\xca\x41#accesscontextmanager.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xb0\x02\n+com.google.identity.accesscontextmanager.v1B\x19\x41\x63\x63\x65ssContextManagerProtoP\x01Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\xa2\x02\x04GACM\xaa\x02\'Google.Identity.AccessContextManager.V1\xca\x02\'Google\\Identity\\AccessContextManager\\V1\xea\x02*Google::Identity::AccessContextManager::V1b\x06proto3' + b'\nDgoogle/identity/accesscontextmanager/v1/access_context_manager.proto\x12\'google.identity.accesscontextmanager.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a:google/identity/accesscontextmanager/v1/access_level.proto\x1a;google/identity/accesscontextmanager/v1/access_policy.proto\x1a\x45google/identity/accesscontextmanager/v1/gcp_user_access_binding.proto\x1a?google/identity/accesscontextmanager/v1/service_perimeter.proto\x1a#google/longrunning/operations.proto\x1a google/protobuf/field_mask.proto"\x8c\x01\n\x19ListAccessPoliciesRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0cloudresourcemanager.googleapis.com/Organization\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"\x85\x01\n\x1aListAccessPoliciesResponse\x12N\n\x0f\x61\x63\x63\x65ss_policies\x18\x01 \x03(\x0b\x32\x35.google.identity.accesscontextmanager.v1.AccessPolicy\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"`\n\x16GetAccessPolicyRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0accesscontextmanager.googleapis.com/AccessPolicy"\x9d\x01\n\x19UpdateAccessPolicyRequest\x12J\n\x06policy\x18\x01 \x01(\x0b\x32\x35.google.identity.accesscontextmanager.v1.AccessPolicyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"c\n\x19\x44\x65leteAccessPolicyRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0accesscontextmanager.googleapis.com/AccessPolicy"\xdc\x01\n\x17ListAccessLevelsRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/accesscontextmanager.googleapis.com/AccessLevel\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12Q\n\x13\x61\x63\x63\x65ss_level_format\x18\x04 \x01(\x0e\x32\x34.google.identity.accesscontextmanager.v1.LevelFormat"\x80\x01\n\x18ListAccessLevelsResponse\x12K\n\raccess_levels\x18\x01 \x03(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevel\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"\xb1\x01\n\x15GetAccessLevelRequest\x12\x45\n\x04name\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\n/accesscontextmanager.googleapis.com/AccessLevel\x12Q\n\x13\x61\x63\x63\x65ss_level_format\x18\x02 \x01(\x0e\x32\x34.google.identity.accesscontextmanager.v1.LevelFormat"\xb4\x01\n\x18\x43reateAccessLevelRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/accesscontextmanager.googleapis.com/AccessLevel\x12O\n\x0c\x61\x63\x63\x65ss_level\x18\x02 \x01(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevelB\x03\xe0\x41\x02"\xa1\x01\n\x18UpdateAccessLevelRequest\x12O\n\x0c\x61\x63\x63\x65ss_level\x18\x01 \x01(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevelB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"a\n\x18\x44\x65leteAccessLevelRequest\x12\x45\n\x04name\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\n/accesscontextmanager.googleapis.com/AccessLevel"\xc5\x01\n\x1aReplaceAccessLevelsRequest\x12G\n\x06parent\x18\x01 \x01(\tB7\xe0\x41\x02\xfa\x41\x31\x12/accesscontextmanager.googleapis.com/AccessLevel\x12P\n\raccess_levels\x18\x02 \x03(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevelB\x03\xe0\x41\x02\x12\x0c\n\x04\x65tag\x18\x04 \x01(\t"j\n\x1bReplaceAccessLevelsResponse\x12K\n\raccess_levels\x18\x01 \x03(\x0b\x32\x34.google.identity.accesscontextmanager.v1.AccessLevel"\x93\x01\n\x1cListServicePerimetersRequest\x12L\n\x06parent\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\x12\x34\x61\x63\x63\x65sscontextmanager.googleapis.com/ServicePerimeter\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"\x8f\x01\n\x1dListServicePerimetersResponse\x12U\n\x12service_perimeters\x18\x01 \x03(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeter\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"h\n\x1aGetServicePerimeterRequest\x12J\n\x04name\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\n4accesscontextmanager.googleapis.com/ServicePerimeter"\xc8\x01\n\x1d\x43reateServicePerimeterRequest\x12L\n\x06parent\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\x12\x34\x61\x63\x63\x65sscontextmanager.googleapis.com/ServicePerimeter\x12Y\n\x11service_perimeter\x18\x02 \x01(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeterB\x03\xe0\x41\x02"\xb0\x01\n\x1dUpdateServicePerimeterRequest\x12Y\n\x11service_perimeter\x18\x01 \x01(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeterB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"k\n\x1d\x44\x65leteServicePerimeterRequest\x12J\n\x04name\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\n4accesscontextmanager.googleapis.com/ServicePerimeter"\xd9\x01\n\x1fReplaceServicePerimetersRequest\x12L\n\x06parent\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\x12\x34\x61\x63\x63\x65sscontextmanager.googleapis.com/ServicePerimeter\x12Z\n\x12service_perimeters\x18\x02 \x03(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeterB\x03\xe0\x41\x02\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t"y\n ReplaceServicePerimetersResponse\x12U\n\x12service_perimeters\x18\x01 \x03(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeter"|\n\x1e\x43ommitServicePerimetersRequest\x12L\n\x06parent\x18\x01 \x01(\tB<\xe0\x41\x02\xfa\x41\x36\x12\x34\x61\x63\x63\x65sscontextmanager.googleapis.com/ServicePerimeter\x12\x0c\n\x04\x65tag\x18\x02 \x01(\t"x\n\x1f\x43ommitServicePerimetersResponse\x12U\n\x12service_perimeters\x18\x01 \x03(\x0b\x32\x39.google.identity.accesscontextmanager.v1.ServicePerimeter"\x9d\x01\n ListGcpUserAccessBindingsRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0cloudresourcemanager.googleapis.com/Organization\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01"\x9d\x01\n!ListGcpUserAccessBindingsResponse\x12_\n\x18gcp_user_access_bindings\x18\x01 \x03(\x0b\x32=.google.identity.accesscontextmanager.v1.GcpUserAccessBinding\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"p\n\x1eGetGcpUserAccessBindingRequest\x12N\n\x04name\x18\x01 \x01(\tB@\xe0\x41\x02\xfa\x41:\n8accesscontextmanager.googleapis.com/GcpUserAccessBinding"\xd2\x01\n!CreateGcpUserAccessBindingRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0cloudresourcemanager.googleapis.com/Organization\x12\x63\n\x17gcp_user_access_binding\x18\x02 \x01(\x0b\x32=.google.identity.accesscontextmanager.v1.GcpUserAccessBindingB\x03\xe0\x41\x02"\xbe\x01\n!UpdateGcpUserAccessBindingRequest\x12\x63\n\x17gcp_user_access_binding\x18\x01 \x01(\x0b\x32=.google.identity.accesscontextmanager.v1.GcpUserAccessBindingB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"s\n!DeleteGcpUserAccessBindingRequest\x12N\n\x04name\x18\x01 \x01(\tB@\xe0\x41\x02\xfa\x41:\n8accesscontextmanager.googleapis.com/GcpUserAccessBinding"\'\n%GcpUserAccessBindingOperationMetadata"\'\n%AccessContextManagerOperationMetadata*D\n\x0bLevelFormat\x12\x1c\n\x18LEVEL_FORMAT_UNSPECIFIED\x10\x00\x12\x0e\n\nAS_DEFINED\x10\x01\x12\x07\n\x03\x43\x45L\x10\x02\x32\xf1\x32\n\x14\x41\x63\x63\x65ssContextManager\x12\xb9\x01\n\x12ListAccessPolicies\x12\x42.google.identity.accesscontextmanager.v1.ListAccessPoliciesRequest\x1a\x43.google.identity.accesscontextmanager.v1.ListAccessPoliciesResponse"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/v1/accessPolicies\x12\xb5\x01\n\x0fGetAccessPolicy\x12?.google.identity.accesscontextmanager.v1.GetAccessPolicyRequest\x1a\x35.google.identity.accesscontextmanager.v1.AccessPolicy"*\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v1/{name=accessPolicies/*}\x12\xc1\x01\n\x12\x43reateAccessPolicy\x12\x35.google.identity.accesscontextmanager.v1.AccessPolicy\x1a\x1d.google.longrunning.Operation"U\xca\x41\x35\n\x0c\x41\x63\x63\x65ssPolicy\x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\x93\x02\x17"\x12/v1/accessPolicies:\x01*\x12\xf8\x01\n\x12UpdateAccessPolicy\x12\x42.google.identity.accesscontextmanager.v1.UpdateAccessPolicyRequest\x1a\x1d.google.longrunning.Operation"\x7f\xca\x41\x35\n\x0c\x41\x63\x63\x65ssPolicy\x12%AccessContextManagerOperationMetadata\xda\x41\x12policy,update_mask\x82\xd3\xe4\x93\x02,2"/v1/{policy.name=accessPolicies/*}:\x06policy\x12\xe4\x01\n\x12\x44\x65leteAccessPolicy\x12\x42.google.identity.accesscontextmanager.v1.DeleteAccessPolicyRequest\x1a\x1d.google.longrunning.Operation"k\xca\x41>\n\x15google.protobuf.Empty\x12%AccessContextManagerOperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1d*\x1b/v1/{name=accessPolicies/*}\x12\xd4\x01\n\x10ListAccessLevels\x12@.google.identity.accesscontextmanager.v1.ListAccessLevelsRequest\x1a\x41.google.identity.accesscontextmanager.v1.ListAccessLevelsResponse";\xda\x41\x06parent\x82\xd3\xe4\x93\x02,\x12*/v1/{parent=accessPolicies/*}/accessLevels\x12\xc1\x01\n\x0eGetAccessLevel\x12>.google.identity.accesscontextmanager.v1.GetAccessLevelRequest\x1a\x34.google.identity.accesscontextmanager.v1.AccessLevel"9\xda\x41\x04name\x82\xd3\xe4\x93\x02,\x12*/v1/{name=accessPolicies/*/accessLevels/*}\x12\x85\x02\n\x11\x43reateAccessLevel\x12\x41.google.identity.accesscontextmanager.v1.CreateAccessLevelRequest\x1a\x1d.google.longrunning.Operation"\x8d\x01\xca\x41\x34\n\x0b\x41\x63\x63\x65ssLevel\x12%AccessContextManagerOperationMetadata\xda\x41\x13parent,access_level\x82\xd3\xe4\x93\x02:"*/v1/{parent=accessPolicies/*}/accessLevels:\x0c\x61\x63\x63\x65ss_level\x12\x97\x02\n\x11UpdateAccessLevel\x12\x41.google.identity.accesscontextmanager.v1.UpdateAccessLevelRequest\x1a\x1d.google.longrunning.Operation"\x9f\x01\xca\x41\x34\n\x0b\x41\x63\x63\x65ssLevel\x12%AccessContextManagerOperationMetadata\xda\x41\x18\x61\x63\x63\x65ss_level,update_mask\x82\xd3\xe4\x93\x02G27/v1/{access_level.name=accessPolicies/*/accessLevels/*}:\x0c\x61\x63\x63\x65ss_level\x12\xf1\x01\n\x11\x44\x65leteAccessLevel\x12\x41.google.identity.accesscontextmanager.v1.DeleteAccessLevelRequest\x1a\x1d.google.longrunning.Operation"z\xca\x41>\n\x15google.protobuf.Empty\x12%AccessContextManagerOperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02,**/v1/{name=accessPolicies/*/accessLevels/*}\x12\x83\x02\n\x13ReplaceAccessLevels\x12\x43.google.identity.accesscontextmanager.v1.ReplaceAccessLevelsRequest\x1a\x1d.google.longrunning.Operation"\x87\x01\xca\x41\x44\n\x1bReplaceAccessLevelsResponse\x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\x93\x02:"5/v1/{parent=accessPolicies/*}/accessLevels:replaceAll:\x01*\x12\xe8\x01\n\x15ListServicePerimeters\x12\x45.google.identity.accesscontextmanager.v1.ListServicePerimetersRequest\x1a\x46.google.identity.accesscontextmanager.v1.ListServicePerimetersResponse"@\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x31\x12//v1/{parent=accessPolicies/*}/servicePerimeters\x12\xd5\x01\n\x13GetServicePerimeter\x12\x43.google.identity.accesscontextmanager.v1.GetServicePerimeterRequest\x1a\x39.google.identity.accesscontextmanager.v1.ServicePerimeter">\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31\x12//v1/{name=accessPolicies/*/servicePerimeters/*}\x12\xa3\x02\n\x16\x43reateServicePerimeter\x12\x46.google.identity.accesscontextmanager.v1.CreateServicePerimeterRequest\x1a\x1d.google.longrunning.Operation"\xa1\x01\xca\x41\x39\n\x10ServicePerimeter\x12%AccessContextManagerOperationMetadata\xda\x41\x18parent,service_perimeter\x82\xd3\xe4\x93\x02\x44"//v1/{parent=accessPolicies/*}/servicePerimeters:\x11service_perimeter\x12\xba\x02\n\x16UpdateServicePerimeter\x12\x46.google.identity.accesscontextmanager.v1.UpdateServicePerimeterRequest\x1a\x1d.google.longrunning.Operation"\xb8\x01\xca\x41\x39\n\x10ServicePerimeter\x12%AccessContextManagerOperationMetadata\xda\x41\x1dservice_perimeter,update_mask\x82\xd3\xe4\x93\x02V2A/v1/{service_perimeter.name=accessPolicies/*/servicePerimeters/*}:\x11service_perimeter\x12\x80\x02\n\x16\x44\x65leteServicePerimeter\x12\x46.google.identity.accesscontextmanager.v1.DeleteServicePerimeterRequest\x1a\x1d.google.longrunning.Operation"\x7f\xca\x41>\n\x15google.protobuf.Empty\x12%AccessContextManagerOperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31*//v1/{name=accessPolicies/*/servicePerimeters/*}\x12\x97\x02\n\x18ReplaceServicePerimeters\x12H.google.identity.accesscontextmanager.v1.ReplaceServicePerimetersRequest\x1a\x1d.google.longrunning.Operation"\x91\x01\xca\x41I\n ReplaceServicePerimetersResponse\x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\x93\x02?":/v1/{parent=accessPolicies/*}/servicePerimeters:replaceAll:\x01*\x12\x90\x02\n\x17\x43ommitServicePerimeters\x12G.google.identity.accesscontextmanager.v1.CommitServicePerimetersRequest\x1a\x1d.google.longrunning.Operation"\x8c\x01\xca\x41H\n\x1f\x43ommitServicePerimetersResponse\x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\x93\x02;"6/v1/{parent=accessPolicies/*}/servicePerimeters:commit:\x01*\x12\xf7\x01\n\x19ListGcpUserAccessBindings\x12I.google.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsRequest\x1aJ.google.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsResponse"C\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x34\x12\x32/v1/{parent=organizations/*}/gcpUserAccessBindings\x12\xe4\x01\n\x17GetGcpUserAccessBinding\x12G.google.identity.accesscontextmanager.v1.GetGcpUserAccessBindingRequest\x1a=.google.identity.accesscontextmanager.v1.GcpUserAccessBinding"A\xda\x41\x04name\x82\xd3\xe4\x93\x02\x34\x12\x32/v1/{name=organizations/*/gcpUserAccessBindings/*}\x12\xbe\x02\n\x1a\x43reateGcpUserAccessBinding\x12J.google.identity.accesscontextmanager.v1.CreateGcpUserAccessBindingRequest\x1a\x1d.google.longrunning.Operation"\xb4\x01\xca\x41=\n\x14GcpUserAccessBinding\x12%GcpUserAccessBindingOperationMetadata\xda\x41\x1eparent,gcp_user_access_binding\x82\xd3\xe4\x93\x02M"2/v1/{parent=organizations/*}/gcpUserAccessBindings:\x17gcp_user_access_binding\x12\xdb\x02\n\x1aUpdateGcpUserAccessBinding\x12J.google.identity.accesscontextmanager.v1.UpdateGcpUserAccessBindingRequest\x1a\x1d.google.longrunning.Operation"\xd1\x01\xca\x41=\n\x14GcpUserAccessBinding\x12%GcpUserAccessBindingOperationMetadata\xda\x41#gcp_user_access_binding,update_mask\x82\xd3\xe4\x93\x02\x65\x32J/v1/{gcp_user_access_binding.name=organizations/*/gcpUserAccessBindings/*}:\x17gcp_user_access_binding\x12\x8c\x02\n\x1a\x44\x65leteGcpUserAccessBinding\x12J.google.identity.accesscontextmanager.v1.DeleteGcpUserAccessBindingRequest\x1a\x1d.google.longrunning.Operation"\x82\x01\xca\x41>\n\x15google.protobuf.Empty\x12%GcpUserAccessBindingOperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x34*2/v1/{name=organizations/*/gcpUserAccessBindings/*}\x12\x82\x01\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"7\x82\xd3\xe4\x93\x02\x31",/v1/{resource=accessPolicies/*}:setIamPolicy:\x01*\x12\x82\x01\n\x0cGetIamPolicy\x12".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"7\x82\xd3\xe4\x93\x02\x31",/v1/{resource=accessPolicies/*}:getIamPolicy:\x01*\x12\xbf\x02\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse"\xd3\x01\x82\xd3\xe4\x93\x02\xcc\x01"2/v1/{resource=accessPolicies/*}:testIamPermissions:\x01*ZF"A/v1/{resource=accessPolicies/*/accessLevels/*}:testIamPermissions:\x01*ZK"F/v1/{resource=accessPolicies/*/servicePerimeters/*}:testIamPermissions:\x01*\x1aW\xca\x41#accesscontextmanager.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xb0\x02\n+com.google.identity.accesscontextmanager.v1B\x19\x41\x63\x63\x65ssContextManagerProtoP\x01Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\xa2\x02\x04GACM\xaa\x02\'Google.Identity.AccessContextManager.V1\xca\x02\'Google\\Identity\\AccessContextManager\\V1\xea\x02*Google::Identity::AccessContextManager::V1b\x06proto3' ) -_LEVELFORMAT = DESCRIPTOR.enum_types_by_name["LevelFormat"] -LevelFormat = enum_type_wrapper.EnumTypeWrapper(_LEVELFORMAT) -LEVEL_FORMAT_UNSPECIFIED = 0 -AS_DEFINED = 1 -CEL = 2 - - -_LISTACCESSPOLICIESREQUEST = DESCRIPTOR.message_types_by_name[ - "ListAccessPoliciesRequest" -] -_LISTACCESSPOLICIESRESPONSE = DESCRIPTOR.message_types_by_name[ - "ListAccessPoliciesResponse" -] -_GETACCESSPOLICYREQUEST = DESCRIPTOR.message_types_by_name["GetAccessPolicyRequest"] -_UPDATEACCESSPOLICYREQUEST = DESCRIPTOR.message_types_by_name[ - "UpdateAccessPolicyRequest" -] -_DELETEACCESSPOLICYREQUEST = DESCRIPTOR.message_types_by_name[ - "DeleteAccessPolicyRequest" -] -_LISTACCESSLEVELSREQUEST = DESCRIPTOR.message_types_by_name["ListAccessLevelsRequest"] -_LISTACCESSLEVELSRESPONSE = DESCRIPTOR.message_types_by_name["ListAccessLevelsResponse"] -_GETACCESSLEVELREQUEST = DESCRIPTOR.message_types_by_name["GetAccessLevelRequest"] -_CREATEACCESSLEVELREQUEST = DESCRIPTOR.message_types_by_name["CreateAccessLevelRequest"] -_UPDATEACCESSLEVELREQUEST = DESCRIPTOR.message_types_by_name["UpdateAccessLevelRequest"] -_DELETEACCESSLEVELREQUEST = DESCRIPTOR.message_types_by_name["DeleteAccessLevelRequest"] -_REPLACEACCESSLEVELSREQUEST = DESCRIPTOR.message_types_by_name[ - "ReplaceAccessLevelsRequest" -] -_REPLACEACCESSLEVELSRESPONSE = DESCRIPTOR.message_types_by_name[ - "ReplaceAccessLevelsResponse" -] -_LISTSERVICEPERIMETERSREQUEST = DESCRIPTOR.message_types_by_name[ - "ListServicePerimetersRequest" -] -_LISTSERVICEPERIMETERSRESPONSE = DESCRIPTOR.message_types_by_name[ - "ListServicePerimetersResponse" -] -_GETSERVICEPERIMETERREQUEST = DESCRIPTOR.message_types_by_name[ - "GetServicePerimeterRequest" -] -_CREATESERVICEPERIMETERREQUEST = DESCRIPTOR.message_types_by_name[ - "CreateServicePerimeterRequest" -] -_UPDATESERVICEPERIMETERREQUEST = DESCRIPTOR.message_types_by_name[ - "UpdateServicePerimeterRequest" -] -_DELETESERVICEPERIMETERREQUEST = DESCRIPTOR.message_types_by_name[ - "DeleteServicePerimeterRequest" -] -_REPLACESERVICEPERIMETERSREQUEST = DESCRIPTOR.message_types_by_name[ - "ReplaceServicePerimetersRequest" -] -_REPLACESERVICEPERIMETERSRESPONSE = DESCRIPTOR.message_types_by_name[ - "ReplaceServicePerimetersResponse" -] -_COMMITSERVICEPERIMETERSREQUEST = DESCRIPTOR.message_types_by_name[ - "CommitServicePerimetersRequest" -] -_COMMITSERVICEPERIMETERSRESPONSE = DESCRIPTOR.message_types_by_name[ - "CommitServicePerimetersResponse" -] -_LISTGCPUSERACCESSBINDINGSREQUEST = DESCRIPTOR.message_types_by_name[ - "ListGcpUserAccessBindingsRequest" -] -_LISTGCPUSERACCESSBINDINGSRESPONSE = DESCRIPTOR.message_types_by_name[ - "ListGcpUserAccessBindingsResponse" -] -_GETGCPUSERACCESSBINDINGREQUEST = DESCRIPTOR.message_types_by_name[ - "GetGcpUserAccessBindingRequest" -] -_CREATEGCPUSERACCESSBINDINGREQUEST = DESCRIPTOR.message_types_by_name[ - "CreateGcpUserAccessBindingRequest" -] -_UPDATEGCPUSERACCESSBINDINGREQUEST = DESCRIPTOR.message_types_by_name[ - "UpdateGcpUserAccessBindingRequest" -] -_DELETEGCPUSERACCESSBINDINGREQUEST = DESCRIPTOR.message_types_by_name[ - "DeleteGcpUserAccessBindingRequest" -] -_GCPUSERACCESSBINDINGOPERATIONMETADATA = DESCRIPTOR.message_types_by_name[ - "GcpUserAccessBindingOperationMetadata" -] -_ACCESSCONTEXTMANAGEROPERATIONMETADATA = DESCRIPTOR.message_types_by_name[ - "AccessContextManagerOperationMetadata" -] -ListAccessPoliciesRequest = _reflection.GeneratedProtocolMessageType( - "ListAccessPoliciesRequest", - (_message.Message,), - { - "DESCRIPTOR": _LISTACCESSPOLICIESREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ListAccessPoliciesRequest) - }, -) -_sym_db.RegisterMessage(ListAccessPoliciesRequest) - -ListAccessPoliciesResponse = _reflection.GeneratedProtocolMessageType( - "ListAccessPoliciesResponse", - (_message.Message,), - { - "DESCRIPTOR": _LISTACCESSPOLICIESRESPONSE, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ListAccessPoliciesResponse) - }, -) -_sym_db.RegisterMessage(ListAccessPoliciesResponse) - -GetAccessPolicyRequest = _reflection.GeneratedProtocolMessageType( - "GetAccessPolicyRequest", - (_message.Message,), - { - "DESCRIPTOR": _GETACCESSPOLICYREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.GetAccessPolicyRequest) - }, -) -_sym_db.RegisterMessage(GetAccessPolicyRequest) - -UpdateAccessPolicyRequest = _reflection.GeneratedProtocolMessageType( - "UpdateAccessPolicyRequest", - (_message.Message,), - { - "DESCRIPTOR": _UPDATEACCESSPOLICYREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.UpdateAccessPolicyRequest) - }, -) -_sym_db.RegisterMessage(UpdateAccessPolicyRequest) - -DeleteAccessPolicyRequest = _reflection.GeneratedProtocolMessageType( - "DeleteAccessPolicyRequest", - (_message.Message,), - { - "DESCRIPTOR": _DELETEACCESSPOLICYREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.DeleteAccessPolicyRequest) - }, -) -_sym_db.RegisterMessage(DeleteAccessPolicyRequest) - -ListAccessLevelsRequest = _reflection.GeneratedProtocolMessageType( - "ListAccessLevelsRequest", - (_message.Message,), - { - "DESCRIPTOR": _LISTACCESSLEVELSREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ListAccessLevelsRequest) - }, -) -_sym_db.RegisterMessage(ListAccessLevelsRequest) - -ListAccessLevelsResponse = _reflection.GeneratedProtocolMessageType( - "ListAccessLevelsResponse", - (_message.Message,), - { - "DESCRIPTOR": _LISTACCESSLEVELSRESPONSE, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ListAccessLevelsResponse) - }, -) -_sym_db.RegisterMessage(ListAccessLevelsResponse) - -GetAccessLevelRequest = _reflection.GeneratedProtocolMessageType( - "GetAccessLevelRequest", - (_message.Message,), - { - "DESCRIPTOR": _GETACCESSLEVELREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.GetAccessLevelRequest) - }, -) -_sym_db.RegisterMessage(GetAccessLevelRequest) - -CreateAccessLevelRequest = _reflection.GeneratedProtocolMessageType( - "CreateAccessLevelRequest", - (_message.Message,), - { - "DESCRIPTOR": _CREATEACCESSLEVELREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.CreateAccessLevelRequest) - }, -) -_sym_db.RegisterMessage(CreateAccessLevelRequest) - -UpdateAccessLevelRequest = _reflection.GeneratedProtocolMessageType( - "UpdateAccessLevelRequest", - (_message.Message,), - { - "DESCRIPTOR": _UPDATEACCESSLEVELREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.UpdateAccessLevelRequest) - }, -) -_sym_db.RegisterMessage(UpdateAccessLevelRequest) - -DeleteAccessLevelRequest = _reflection.GeneratedProtocolMessageType( - "DeleteAccessLevelRequest", - (_message.Message,), - { - "DESCRIPTOR": _DELETEACCESSLEVELREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.DeleteAccessLevelRequest) - }, -) -_sym_db.RegisterMessage(DeleteAccessLevelRequest) - -ReplaceAccessLevelsRequest = _reflection.GeneratedProtocolMessageType( - "ReplaceAccessLevelsRequest", - (_message.Message,), - { - "DESCRIPTOR": _REPLACEACCESSLEVELSREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ReplaceAccessLevelsRequest) - }, -) -_sym_db.RegisterMessage(ReplaceAccessLevelsRequest) - -ReplaceAccessLevelsResponse = _reflection.GeneratedProtocolMessageType( - "ReplaceAccessLevelsResponse", - (_message.Message,), - { - "DESCRIPTOR": _REPLACEACCESSLEVELSRESPONSE, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ReplaceAccessLevelsResponse) - }, -) -_sym_db.RegisterMessage(ReplaceAccessLevelsResponse) - -ListServicePerimetersRequest = _reflection.GeneratedProtocolMessageType( - "ListServicePerimetersRequest", - (_message.Message,), - { - "DESCRIPTOR": _LISTSERVICEPERIMETERSREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ListServicePerimetersRequest) - }, -) -_sym_db.RegisterMessage(ListServicePerimetersRequest) - -ListServicePerimetersResponse = _reflection.GeneratedProtocolMessageType( - "ListServicePerimetersResponse", - (_message.Message,), - { - "DESCRIPTOR": _LISTSERVICEPERIMETERSRESPONSE, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ListServicePerimetersResponse) - }, -) -_sym_db.RegisterMessage(ListServicePerimetersResponse) - -GetServicePerimeterRequest = _reflection.GeneratedProtocolMessageType( - "GetServicePerimeterRequest", - (_message.Message,), - { - "DESCRIPTOR": _GETSERVICEPERIMETERREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.GetServicePerimeterRequest) - }, +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, + "google.identity.accesscontextmanager.v1.access_context_manager_pb2", + _globals, ) -_sym_db.RegisterMessage(GetServicePerimeterRequest) - -CreateServicePerimeterRequest = _reflection.GeneratedProtocolMessageType( - "CreateServicePerimeterRequest", - (_message.Message,), - { - "DESCRIPTOR": _CREATESERVICEPERIMETERREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.CreateServicePerimeterRequest) - }, -) -_sym_db.RegisterMessage(CreateServicePerimeterRequest) - -UpdateServicePerimeterRequest = _reflection.GeneratedProtocolMessageType( - "UpdateServicePerimeterRequest", - (_message.Message,), - { - "DESCRIPTOR": _UPDATESERVICEPERIMETERREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.UpdateServicePerimeterRequest) - }, -) -_sym_db.RegisterMessage(UpdateServicePerimeterRequest) - -DeleteServicePerimeterRequest = _reflection.GeneratedProtocolMessageType( - "DeleteServicePerimeterRequest", - (_message.Message,), - { - "DESCRIPTOR": _DELETESERVICEPERIMETERREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.DeleteServicePerimeterRequest) - }, -) -_sym_db.RegisterMessage(DeleteServicePerimeterRequest) - -ReplaceServicePerimetersRequest = _reflection.GeneratedProtocolMessageType( - "ReplaceServicePerimetersRequest", - (_message.Message,), - { - "DESCRIPTOR": _REPLACESERVICEPERIMETERSREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ReplaceServicePerimetersRequest) - }, -) -_sym_db.RegisterMessage(ReplaceServicePerimetersRequest) - -ReplaceServicePerimetersResponse = _reflection.GeneratedProtocolMessageType( - "ReplaceServicePerimetersResponse", - (_message.Message,), - { - "DESCRIPTOR": _REPLACESERVICEPERIMETERSRESPONSE, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ReplaceServicePerimetersResponse) - }, -) -_sym_db.RegisterMessage(ReplaceServicePerimetersResponse) - -CommitServicePerimetersRequest = _reflection.GeneratedProtocolMessageType( - "CommitServicePerimetersRequest", - (_message.Message,), - { - "DESCRIPTOR": _COMMITSERVICEPERIMETERSREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.CommitServicePerimetersRequest) - }, -) -_sym_db.RegisterMessage(CommitServicePerimetersRequest) - -CommitServicePerimetersResponse = _reflection.GeneratedProtocolMessageType( - "CommitServicePerimetersResponse", - (_message.Message,), - { - "DESCRIPTOR": _COMMITSERVICEPERIMETERSRESPONSE, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.CommitServicePerimetersResponse) - }, -) -_sym_db.RegisterMessage(CommitServicePerimetersResponse) - -ListGcpUserAccessBindingsRequest = _reflection.GeneratedProtocolMessageType( - "ListGcpUserAccessBindingsRequest", - (_message.Message,), - { - "DESCRIPTOR": _LISTGCPUSERACCESSBINDINGSREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsRequest) - }, -) -_sym_db.RegisterMessage(ListGcpUserAccessBindingsRequest) - -ListGcpUserAccessBindingsResponse = _reflection.GeneratedProtocolMessageType( - "ListGcpUserAccessBindingsResponse", - (_message.Message,), - { - "DESCRIPTOR": _LISTGCPUSERACCESSBINDINGSRESPONSE, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsResponse) - }, -) -_sym_db.RegisterMessage(ListGcpUserAccessBindingsResponse) - -GetGcpUserAccessBindingRequest = _reflection.GeneratedProtocolMessageType( - "GetGcpUserAccessBindingRequest", - (_message.Message,), - { - "DESCRIPTOR": _GETGCPUSERACCESSBINDINGREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.GetGcpUserAccessBindingRequest) - }, -) -_sym_db.RegisterMessage(GetGcpUserAccessBindingRequest) - -CreateGcpUserAccessBindingRequest = _reflection.GeneratedProtocolMessageType( - "CreateGcpUserAccessBindingRequest", - (_message.Message,), - { - "DESCRIPTOR": _CREATEGCPUSERACCESSBINDINGREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.CreateGcpUserAccessBindingRequest) - }, -) -_sym_db.RegisterMessage(CreateGcpUserAccessBindingRequest) - -UpdateGcpUserAccessBindingRequest = _reflection.GeneratedProtocolMessageType( - "UpdateGcpUserAccessBindingRequest", - (_message.Message,), - { - "DESCRIPTOR": _UPDATEGCPUSERACCESSBINDINGREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.UpdateGcpUserAccessBindingRequest) - }, -) -_sym_db.RegisterMessage(UpdateGcpUserAccessBindingRequest) - -DeleteGcpUserAccessBindingRequest = _reflection.GeneratedProtocolMessageType( - "DeleteGcpUserAccessBindingRequest", - (_message.Message,), - { - "DESCRIPTOR": _DELETEGCPUSERACCESSBINDINGREQUEST, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.DeleteGcpUserAccessBindingRequest) - }, -) -_sym_db.RegisterMessage(DeleteGcpUserAccessBindingRequest) - -GcpUserAccessBindingOperationMetadata = _reflection.GeneratedProtocolMessageType( - "GcpUserAccessBindingOperationMetadata", - (_message.Message,), - { - "DESCRIPTOR": _GCPUSERACCESSBINDINGOPERATIONMETADATA, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.GcpUserAccessBindingOperationMetadata) - }, -) -_sym_db.RegisterMessage(GcpUserAccessBindingOperationMetadata) - -AccessContextManagerOperationMetadata = _reflection.GeneratedProtocolMessageType( - "AccessContextManagerOperationMetadata", - (_message.Message,), - { - "DESCRIPTOR": _ACCESSCONTEXTMANAGEROPERATIONMETADATA, - "__module__": "google.identity.accesscontextmanager.v1.access_context_manager_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.AccessContextManagerOperationMetadata) - }, -) -_sym_db.RegisterMessage(AccessContextManagerOperationMetadata) - -_ACCESSCONTEXTMANAGER = DESCRIPTOR.services_by_name["AccessContextManager"] if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b"\n+com.google.identity.accesscontextmanager.v1B\031AccessContextManagerProtoP\001Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\242\002\004GACM\252\002'Google.Identity.AccessContextManager.V1\312\002'Google\\Identity\\AccessContextManager\\V1\352\002*Google::Identity::AccessContextManager::V1" _LISTACCESSPOLICIESREQUEST.fields_by_name["parent"]._options = None @@ -673,92 +249,92 @@ _ACCESSCONTEXTMANAGER.methods_by_name[ "GetAccessPolicy" ]._serialized_options = ( - b"\202\323\344\223\002\035\022\033/v1/{name=accessPolicies/*}\332A\004name" + b"\332A\004name\202\323\344\223\002\035\022\033/v1/{name=accessPolicies/*}" ) _ACCESSCONTEXTMANAGER.methods_by_name["CreateAccessPolicy"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "CreateAccessPolicy" - ]._serialized_options = b'\202\323\344\223\002\027"\022/v1/accessPolicies:\001*\312A5\n\014AccessPolicy\022%AccessContextManagerOperationMetadata' + ]._serialized_options = b'\312A5\n\014AccessPolicy\022%AccessContextManagerOperationMetadata\202\323\344\223\002\027"\022/v1/accessPolicies:\001*' _ACCESSCONTEXTMANAGER.methods_by_name["UpdateAccessPolicy"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "UpdateAccessPolicy" - ]._serialized_options = b'\202\323\344\223\002,2"/v1/{policy.name=accessPolicies/*}:\006policy\332A\022policy,update_mask\312A5\n\014AccessPolicy\022%AccessContextManagerOperationMetadata' + ]._serialized_options = b'\312A5\n\014AccessPolicy\022%AccessContextManagerOperationMetadata\332A\022policy,update_mask\202\323\344\223\002,2"/v1/{policy.name=accessPolicies/*}:\006policy' _ACCESSCONTEXTMANAGER.methods_by_name["DeleteAccessPolicy"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "DeleteAccessPolicy" - ]._serialized_options = b"\202\323\344\223\002\035*\033/v1/{name=accessPolicies/*}\332A\004name\312A>\n\025google.protobuf.Empty\022%AccessContextManagerOperationMetadata" + ]._serialized_options = b"\312A>\n\025google.protobuf.Empty\022%AccessContextManagerOperationMetadata\332A\004name\202\323\344\223\002\035*\033/v1/{name=accessPolicies/*}" _ACCESSCONTEXTMANAGER.methods_by_name["ListAccessLevels"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "ListAccessLevels" - ]._serialized_options = b"\202\323\344\223\002,\022*/v1/{parent=accessPolicies/*}/accessLevels\332A\006parent" + ]._serialized_options = b"\332A\006parent\202\323\344\223\002,\022*/v1/{parent=accessPolicies/*}/accessLevels" _ACCESSCONTEXTMANAGER.methods_by_name["GetAccessLevel"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "GetAccessLevel" - ]._serialized_options = b"\202\323\344\223\002,\022*/v1/{name=accessPolicies/*/accessLevels/*}\332A\004name" + ]._serialized_options = b"\332A\004name\202\323\344\223\002,\022*/v1/{name=accessPolicies/*/accessLevels/*}" _ACCESSCONTEXTMANAGER.methods_by_name["CreateAccessLevel"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "CreateAccessLevel" - ]._serialized_options = b'\202\323\344\223\002:"*/v1/{parent=accessPolicies/*}/accessLevels:\014access_level\332A\023parent,access_level\312A4\n\013AccessLevel\022%AccessContextManagerOperationMetadata' + ]._serialized_options = b'\312A4\n\013AccessLevel\022%AccessContextManagerOperationMetadata\332A\023parent,access_level\202\323\344\223\002:"*/v1/{parent=accessPolicies/*}/accessLevels:\014access_level' _ACCESSCONTEXTMANAGER.methods_by_name["UpdateAccessLevel"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "UpdateAccessLevel" - ]._serialized_options = b"\202\323\344\223\002G27/v1/{access_level.name=accessPolicies/*/accessLevels/*}:\014access_level\332A\030access_level,update_mask\312A4\n\013AccessLevel\022%AccessContextManagerOperationMetadata" + ]._serialized_options = b"\312A4\n\013AccessLevel\022%AccessContextManagerOperationMetadata\332A\030access_level,update_mask\202\323\344\223\002G27/v1/{access_level.name=accessPolicies/*/accessLevels/*}:\014access_level" _ACCESSCONTEXTMANAGER.methods_by_name["DeleteAccessLevel"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "DeleteAccessLevel" - ]._serialized_options = b"\202\323\344\223\002,**/v1/{name=accessPolicies/*/accessLevels/*}\332A\004name\312A>\n\025google.protobuf.Empty\022%AccessContextManagerOperationMetadata" + ]._serialized_options = b"\312A>\n\025google.protobuf.Empty\022%AccessContextManagerOperationMetadata\332A\004name\202\323\344\223\002,**/v1/{name=accessPolicies/*/accessLevels/*}" _ACCESSCONTEXTMANAGER.methods_by_name["ReplaceAccessLevels"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "ReplaceAccessLevels" - ]._serialized_options = b'\202\323\344\223\002:"5/v1/{parent=accessPolicies/*}/accessLevels:replaceAll:\001*\312AD\n\033ReplaceAccessLevelsResponse\022%AccessContextManagerOperationMetadata' + ]._serialized_options = b'\312AD\n\033ReplaceAccessLevelsResponse\022%AccessContextManagerOperationMetadata\202\323\344\223\002:"5/v1/{parent=accessPolicies/*}/accessLevels:replaceAll:\001*' _ACCESSCONTEXTMANAGER.methods_by_name["ListServicePerimeters"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "ListServicePerimeters" - ]._serialized_options = b"\202\323\344\223\0021\022//v1/{parent=accessPolicies/*}/servicePerimeters\332A\006parent" + ]._serialized_options = b"\332A\006parent\202\323\344\223\0021\022//v1/{parent=accessPolicies/*}/servicePerimeters" _ACCESSCONTEXTMANAGER.methods_by_name["GetServicePerimeter"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "GetServicePerimeter" - ]._serialized_options = b"\202\323\344\223\0021\022//v1/{name=accessPolicies/*/servicePerimeters/*}\332A\004name" + ]._serialized_options = b"\332A\004name\202\323\344\223\0021\022//v1/{name=accessPolicies/*/servicePerimeters/*}" _ACCESSCONTEXTMANAGER.methods_by_name["CreateServicePerimeter"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "CreateServicePerimeter" - ]._serialized_options = b'\202\323\344\223\002D"//v1/{parent=accessPolicies/*}/servicePerimeters:\021service_perimeter\332A\030parent,service_perimeter\312A9\n\020ServicePerimeter\022%AccessContextManagerOperationMetadata' + ]._serialized_options = b'\312A9\n\020ServicePerimeter\022%AccessContextManagerOperationMetadata\332A\030parent,service_perimeter\202\323\344\223\002D"//v1/{parent=accessPolicies/*}/servicePerimeters:\021service_perimeter' _ACCESSCONTEXTMANAGER.methods_by_name["UpdateServicePerimeter"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "UpdateServicePerimeter" - ]._serialized_options = b"\202\323\344\223\002V2A/v1/{service_perimeter.name=accessPolicies/*/servicePerimeters/*}:\021service_perimeter\332A\035service_perimeter,update_mask\312A9\n\020ServicePerimeter\022%AccessContextManagerOperationMetadata" + ]._serialized_options = b"\312A9\n\020ServicePerimeter\022%AccessContextManagerOperationMetadata\332A\035service_perimeter,update_mask\202\323\344\223\002V2A/v1/{service_perimeter.name=accessPolicies/*/servicePerimeters/*}:\021service_perimeter" _ACCESSCONTEXTMANAGER.methods_by_name["DeleteServicePerimeter"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "DeleteServicePerimeter" - ]._serialized_options = b"\202\323\344\223\0021*//v1/{name=accessPolicies/*/servicePerimeters/*}\332A\004name\312A>\n\025google.protobuf.Empty\022%AccessContextManagerOperationMetadata" + ]._serialized_options = b"\312A>\n\025google.protobuf.Empty\022%AccessContextManagerOperationMetadata\332A\004name\202\323\344\223\0021*//v1/{name=accessPolicies/*/servicePerimeters/*}" _ACCESSCONTEXTMANAGER.methods_by_name["ReplaceServicePerimeters"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "ReplaceServicePerimeters" - ]._serialized_options = b'\202\323\344\223\002?":/v1/{parent=accessPolicies/*}/servicePerimeters:replaceAll:\001*\312AI\n ReplaceServicePerimetersResponse\022%AccessContextManagerOperationMetadata' + ]._serialized_options = b'\312AI\n ReplaceServicePerimetersResponse\022%AccessContextManagerOperationMetadata\202\323\344\223\002?":/v1/{parent=accessPolicies/*}/servicePerimeters:replaceAll:\001*' _ACCESSCONTEXTMANAGER.methods_by_name["CommitServicePerimeters"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "CommitServicePerimeters" - ]._serialized_options = b'\202\323\344\223\002;"6/v1/{parent=accessPolicies/*}/servicePerimeters:commit:\001*\312AH\n\037CommitServicePerimetersResponse\022%AccessContextManagerOperationMetadata' + ]._serialized_options = b'\312AH\n\037CommitServicePerimetersResponse\022%AccessContextManagerOperationMetadata\202\323\344\223\002;"6/v1/{parent=accessPolicies/*}/servicePerimeters:commit:\001*' _ACCESSCONTEXTMANAGER.methods_by_name["ListGcpUserAccessBindings"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "ListGcpUserAccessBindings" - ]._serialized_options = b"\202\323\344\223\0024\0222/v1/{parent=organizations/*}/gcpUserAccessBindings\332A\006parent" + ]._serialized_options = b"\332A\006parent\202\323\344\223\0024\0222/v1/{parent=organizations/*}/gcpUserAccessBindings" _ACCESSCONTEXTMANAGER.methods_by_name["GetGcpUserAccessBinding"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "GetGcpUserAccessBinding" - ]._serialized_options = b"\202\323\344\223\0024\0222/v1/{name=organizations/*/gcpUserAccessBindings/*}\332A\004name" + ]._serialized_options = b"\332A\004name\202\323\344\223\0024\0222/v1/{name=organizations/*/gcpUserAccessBindings/*}" _ACCESSCONTEXTMANAGER.methods_by_name["CreateGcpUserAccessBinding"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "CreateGcpUserAccessBinding" - ]._serialized_options = b'\202\323\344\223\002M"2/v1/{parent=organizations/*}/gcpUserAccessBindings:\027gcp_user_access_binding\332A\036parent,gcp_user_access_binding\312A=\n\024GcpUserAccessBinding\022%GcpUserAccessBindingOperationMetadata' + ]._serialized_options = b'\312A=\n\024GcpUserAccessBinding\022%GcpUserAccessBindingOperationMetadata\332A\036parent,gcp_user_access_binding\202\323\344\223\002M"2/v1/{parent=organizations/*}/gcpUserAccessBindings:\027gcp_user_access_binding' _ACCESSCONTEXTMANAGER.methods_by_name["UpdateGcpUserAccessBinding"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "UpdateGcpUserAccessBinding" - ]._serialized_options = b"\202\323\344\223\002e2J/v1/{gcp_user_access_binding.name=organizations/*/gcpUserAccessBindings/*}:\027gcp_user_access_binding\332A#gcp_user_access_binding,update_mask\312A=\n\024GcpUserAccessBinding\022%GcpUserAccessBindingOperationMetadata" + ]._serialized_options = b"\312A=\n\024GcpUserAccessBinding\022%GcpUserAccessBindingOperationMetadata\332A#gcp_user_access_binding,update_mask\202\323\344\223\002e2J/v1/{gcp_user_access_binding.name=organizations/*/gcpUserAccessBindings/*}:\027gcp_user_access_binding" _ACCESSCONTEXTMANAGER.methods_by_name["DeleteGcpUserAccessBinding"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "DeleteGcpUserAccessBinding" - ]._serialized_options = b"\202\323\344\223\0024*2/v1/{name=organizations/*/gcpUserAccessBindings/*}\332A\004name\312A>\n\025google.protobuf.Empty\022%GcpUserAccessBindingOperationMetadata" + ]._serialized_options = b"\312A>\n\025google.protobuf.Empty\022%GcpUserAccessBindingOperationMetadata\332A\004name\202\323\344\223\0024*2/v1/{name=organizations/*/gcpUserAccessBindings/*}" _ACCESSCONTEXTMANAGER.methods_by_name["SetIamPolicy"]._options = None _ACCESSCONTEXTMANAGER.methods_by_name[ "SetIamPolicy" @@ -775,70 +351,70 @@ _ACCESSCONTEXTMANAGER.methods_by_name[ "TestIamPermissions" ]._serialized_options = b'\202\323\344\223\002\314\001"2/v1/{resource=accessPolicies/*}:testIamPermissions:\001*ZF"A/v1/{resource=accessPolicies/*/accessLevels/*}:testIamPermissions:\001*ZK"F/v1/{resource=accessPolicies/*/servicePerimeters/*}:testIamPermissions:\001*' - _LEVELFORMAT._serialized_start = 5065 - _LEVELFORMAT._serialized_end = 5133 - _LISTACCESSPOLICIESREQUEST._serialized_start = 617 - _LISTACCESSPOLICIESREQUEST._serialized_end = 757 - _LISTACCESSPOLICIESRESPONSE._serialized_start = 760 - _LISTACCESSPOLICIESRESPONSE._serialized_end = 893 - _GETACCESSPOLICYREQUEST._serialized_start = 895 - _GETACCESSPOLICYREQUEST._serialized_end = 991 - _UPDATEACCESSPOLICYREQUEST._serialized_start = 994 - _UPDATEACCESSPOLICYREQUEST._serialized_end = 1151 - _DELETEACCESSPOLICYREQUEST._serialized_start = 1153 - _DELETEACCESSPOLICYREQUEST._serialized_end = 1252 - _LISTACCESSLEVELSREQUEST._serialized_start = 1255 - _LISTACCESSLEVELSREQUEST._serialized_end = 1475 - _LISTACCESSLEVELSRESPONSE._serialized_start = 1478 - _LISTACCESSLEVELSRESPONSE._serialized_end = 1606 - _GETACCESSLEVELREQUEST._serialized_start = 1609 - _GETACCESSLEVELREQUEST._serialized_end = 1786 - _CREATEACCESSLEVELREQUEST._serialized_start = 1789 - _CREATEACCESSLEVELREQUEST._serialized_end = 1969 - _UPDATEACCESSLEVELREQUEST._serialized_start = 1972 - _UPDATEACCESSLEVELREQUEST._serialized_end = 2133 - _DELETEACCESSLEVELREQUEST._serialized_start = 2135 - _DELETEACCESSLEVELREQUEST._serialized_end = 2232 - _REPLACEACCESSLEVELSREQUEST._serialized_start = 2235 - _REPLACEACCESSLEVELSREQUEST._serialized_end = 2432 - _REPLACEACCESSLEVELSRESPONSE._serialized_start = 2434 - _REPLACEACCESSLEVELSRESPONSE._serialized_end = 2540 - _LISTSERVICEPERIMETERSREQUEST._serialized_start = 2543 - _LISTSERVICEPERIMETERSREQUEST._serialized_end = 2690 - _LISTSERVICEPERIMETERSRESPONSE._serialized_start = 2693 - _LISTSERVICEPERIMETERSRESPONSE._serialized_end = 2836 - _GETSERVICEPERIMETERREQUEST._serialized_start = 2838 - _GETSERVICEPERIMETERREQUEST._serialized_end = 2942 - _CREATESERVICEPERIMETERREQUEST._serialized_start = 2945 - _CREATESERVICEPERIMETERREQUEST._serialized_end = 3145 - _UPDATESERVICEPERIMETERREQUEST._serialized_start = 3148 - _UPDATESERVICEPERIMETERREQUEST._serialized_end = 3324 - _DELETESERVICEPERIMETERREQUEST._serialized_start = 3326 - _DELETESERVICEPERIMETERREQUEST._serialized_end = 3433 - _REPLACESERVICEPERIMETERSREQUEST._serialized_start = 3436 - _REPLACESERVICEPERIMETERSREQUEST._serialized_end = 3653 - _REPLACESERVICEPERIMETERSRESPONSE._serialized_start = 3655 - _REPLACESERVICEPERIMETERSRESPONSE._serialized_end = 3776 - _COMMITSERVICEPERIMETERSREQUEST._serialized_start = 3778 - _COMMITSERVICEPERIMETERSREQUEST._serialized_end = 3902 - _COMMITSERVICEPERIMETERSRESPONSE._serialized_start = 3904 - _COMMITSERVICEPERIMETERSRESPONSE._serialized_end = 4024 - _LISTGCPUSERACCESSBINDINGSREQUEST._serialized_start = 4027 - _LISTGCPUSERACCESSBINDINGSREQUEST._serialized_end = 4184 - _LISTGCPUSERACCESSBINDINGSRESPONSE._serialized_start = 4187 - _LISTGCPUSERACCESSBINDINGSRESPONSE._serialized_end = 4344 - _GETGCPUSERACCESSBINDINGREQUEST._serialized_start = 4346 - _GETGCPUSERACCESSBINDINGREQUEST._serialized_end = 4458 - _CREATEGCPUSERACCESSBINDINGREQUEST._serialized_start = 4461 - _CREATEGCPUSERACCESSBINDINGREQUEST._serialized_end = 4671 - _UPDATEGCPUSERACCESSBINDINGREQUEST._serialized_start = 4674 - _UPDATEGCPUSERACCESSBINDINGREQUEST._serialized_end = 4864 - _DELETEGCPUSERACCESSBINDINGREQUEST._serialized_start = 4866 - _DELETEGCPUSERACCESSBINDINGREQUEST._serialized_end = 4981 - _GCPUSERACCESSBINDINGOPERATIONMETADATA._serialized_start = 4983 - _GCPUSERACCESSBINDINGOPERATIONMETADATA._serialized_end = 5022 - _ACCESSCONTEXTMANAGEROPERATIONMETADATA._serialized_start = 5024 - _ACCESSCONTEXTMANAGEROPERATIONMETADATA._serialized_end = 5063 - _ACCESSCONTEXTMANAGER._serialized_start = 5136 - _ACCESSCONTEXTMANAGER._serialized_end = 11649 + _globals["_LEVELFORMAT"]._serialized_start = 5065 + _globals["_LEVELFORMAT"]._serialized_end = 5133 + _globals["_LISTACCESSPOLICIESREQUEST"]._serialized_start = 617 + _globals["_LISTACCESSPOLICIESREQUEST"]._serialized_end = 757 + _globals["_LISTACCESSPOLICIESRESPONSE"]._serialized_start = 760 + _globals["_LISTACCESSPOLICIESRESPONSE"]._serialized_end = 893 + _globals["_GETACCESSPOLICYREQUEST"]._serialized_start = 895 + _globals["_GETACCESSPOLICYREQUEST"]._serialized_end = 991 + _globals["_UPDATEACCESSPOLICYREQUEST"]._serialized_start = 994 + _globals["_UPDATEACCESSPOLICYREQUEST"]._serialized_end = 1151 + _globals["_DELETEACCESSPOLICYREQUEST"]._serialized_start = 1153 + _globals["_DELETEACCESSPOLICYREQUEST"]._serialized_end = 1252 + _globals["_LISTACCESSLEVELSREQUEST"]._serialized_start = 1255 + _globals["_LISTACCESSLEVELSREQUEST"]._serialized_end = 1475 + _globals["_LISTACCESSLEVELSRESPONSE"]._serialized_start = 1478 + _globals["_LISTACCESSLEVELSRESPONSE"]._serialized_end = 1606 + _globals["_GETACCESSLEVELREQUEST"]._serialized_start = 1609 + _globals["_GETACCESSLEVELREQUEST"]._serialized_end = 1786 + _globals["_CREATEACCESSLEVELREQUEST"]._serialized_start = 1789 + _globals["_CREATEACCESSLEVELREQUEST"]._serialized_end = 1969 + _globals["_UPDATEACCESSLEVELREQUEST"]._serialized_start = 1972 + _globals["_UPDATEACCESSLEVELREQUEST"]._serialized_end = 2133 + _globals["_DELETEACCESSLEVELREQUEST"]._serialized_start = 2135 + _globals["_DELETEACCESSLEVELREQUEST"]._serialized_end = 2232 + _globals["_REPLACEACCESSLEVELSREQUEST"]._serialized_start = 2235 + _globals["_REPLACEACCESSLEVELSREQUEST"]._serialized_end = 2432 + _globals["_REPLACEACCESSLEVELSRESPONSE"]._serialized_start = 2434 + _globals["_REPLACEACCESSLEVELSRESPONSE"]._serialized_end = 2540 + _globals["_LISTSERVICEPERIMETERSREQUEST"]._serialized_start = 2543 + _globals["_LISTSERVICEPERIMETERSREQUEST"]._serialized_end = 2690 + _globals["_LISTSERVICEPERIMETERSRESPONSE"]._serialized_start = 2693 + _globals["_LISTSERVICEPERIMETERSRESPONSE"]._serialized_end = 2836 + _globals["_GETSERVICEPERIMETERREQUEST"]._serialized_start = 2838 + _globals["_GETSERVICEPERIMETERREQUEST"]._serialized_end = 2942 + _globals["_CREATESERVICEPERIMETERREQUEST"]._serialized_start = 2945 + _globals["_CREATESERVICEPERIMETERREQUEST"]._serialized_end = 3145 + _globals["_UPDATESERVICEPERIMETERREQUEST"]._serialized_start = 3148 + _globals["_UPDATESERVICEPERIMETERREQUEST"]._serialized_end = 3324 + _globals["_DELETESERVICEPERIMETERREQUEST"]._serialized_start = 3326 + _globals["_DELETESERVICEPERIMETERREQUEST"]._serialized_end = 3433 + _globals["_REPLACESERVICEPERIMETERSREQUEST"]._serialized_start = 3436 + _globals["_REPLACESERVICEPERIMETERSREQUEST"]._serialized_end = 3653 + _globals["_REPLACESERVICEPERIMETERSRESPONSE"]._serialized_start = 3655 + _globals["_REPLACESERVICEPERIMETERSRESPONSE"]._serialized_end = 3776 + _globals["_COMMITSERVICEPERIMETERSREQUEST"]._serialized_start = 3778 + _globals["_COMMITSERVICEPERIMETERSREQUEST"]._serialized_end = 3902 + _globals["_COMMITSERVICEPERIMETERSRESPONSE"]._serialized_start = 3904 + _globals["_COMMITSERVICEPERIMETERSRESPONSE"]._serialized_end = 4024 + _globals["_LISTGCPUSERACCESSBINDINGSREQUEST"]._serialized_start = 4027 + _globals["_LISTGCPUSERACCESSBINDINGSREQUEST"]._serialized_end = 4184 + _globals["_LISTGCPUSERACCESSBINDINGSRESPONSE"]._serialized_start = 4187 + _globals["_LISTGCPUSERACCESSBINDINGSRESPONSE"]._serialized_end = 4344 + _globals["_GETGCPUSERACCESSBINDINGREQUEST"]._serialized_start = 4346 + _globals["_GETGCPUSERACCESSBINDINGREQUEST"]._serialized_end = 4458 + _globals["_CREATEGCPUSERACCESSBINDINGREQUEST"]._serialized_start = 4461 + _globals["_CREATEGCPUSERACCESSBINDINGREQUEST"]._serialized_end = 4671 + _globals["_UPDATEGCPUSERACCESSBINDINGREQUEST"]._serialized_start = 4674 + _globals["_UPDATEGCPUSERACCESSBINDINGREQUEST"]._serialized_end = 4864 + _globals["_DELETEGCPUSERACCESSBINDINGREQUEST"]._serialized_start = 4866 + _globals["_DELETEGCPUSERACCESSBINDINGREQUEST"]._serialized_end = 4981 + _globals["_GCPUSERACCESSBINDINGOPERATIONMETADATA"]._serialized_start = 4983 + _globals["_GCPUSERACCESSBINDINGOPERATIONMETADATA"]._serialized_end = 5022 + _globals["_ACCESSCONTEXTMANAGEROPERATIONMETADATA"]._serialized_start = 5024 + _globals["_ACCESSCONTEXTMANAGEROPERATIONMETADATA"]._serialized_end = 5063 + _globals["_ACCESSCONTEXTMANAGER"]._serialized_start = 5136 + _globals["_ACCESSCONTEXTMANAGER"]._serialized_end = 11649 # @@protoc_insertion_point(module_scope) diff --git a/google/identity/accesscontextmanager/v1/access_level.proto b/google/identity/accesscontextmanager/v1/access_level.proto index 9c2db6c..204b74a 100644 --- a/google/identity/accesscontextmanager/v1/access_level.proto +++ b/google/identity/accesscontextmanager/v1/access_level.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/google/identity/accesscontextmanager/v1/access_level_pb2.py b/google/identity/accesscontextmanager/v1/access_level_pb2.py index 35b4624..b14d474 100644 --- a/google/identity/accesscontextmanager/v1/access_level_pb2.py +++ b/google/identity/accesscontextmanager/v1/access_level_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,9 +19,8 @@ """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) @@ -40,100 +39,28 @@ b'\n:google/identity/accesscontextmanager/v1/access_level.proto\x12\'google.identity.accesscontextmanager.v1\x1a\x19google/api/resource.proto\x1a@google/identity/accesscontextmanager/type/device_resources.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16google/type/expr.proto"\xaa\x03\n\x0b\x41\x63\x63\x65ssLevel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x44\n\x05\x62\x61sic\x18\x04 \x01(\x0b\x32\x33.google.identity.accesscontextmanager.v1.BasicLevelH\x00\x12\x46\n\x06\x63ustom\x18\x05 \x01(\x0b\x32\x34.google.identity.accesscontextmanager.v1.CustomLevelH\x00\x12/\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp:p\xea\x41m\n/accesscontextmanager.googleapis.com/AccessLevel\x12:accessPolicies/{access_policy}/accessLevels/{access_level}B\x07\n\x05level"\xef\x01\n\nBasicLevel\x12\x46\n\nconditions\x18\x01 \x03(\x0b\x32\x32.google.identity.accesscontextmanager.v1.Condition\x12j\n\x12\x63ombining_function\x18\x02 \x01(\x0e\x32N.google.identity.accesscontextmanager.v1.BasicLevel.ConditionCombiningFunction"-\n\x1a\x43onditionCombiningFunction\x12\x07\n\x03\x41ND\x10\x00\x12\x06\n\x02OR\x10\x01"\xc3\x01\n\tCondition\x12\x16\n\x0eip_subnetworks\x18\x01 \x03(\t\x12L\n\rdevice_policy\x18\x02 \x01(\x0b\x32\x35.google.identity.accesscontextmanager.v1.DevicePolicy\x12\x1e\n\x16required_access_levels\x18\x03 \x03(\t\x12\x0e\n\x06negate\x18\x05 \x01(\x08\x12\x0f\n\x07members\x18\x06 \x03(\t\x12\x0f\n\x07regions\x18\x07 \x03(\t".\n\x0b\x43ustomLevel\x12\x1f\n\x04\x65xpr\x18\x01 \x01(\x0b\x32\x11.google.type.Expr"\x89\x03\n\x0c\x44\x65vicePolicy\x12\x1a\n\x12require_screenlock\x18\x01 \x01(\x08\x12\x66\n\x1b\x61llowed_encryption_statuses\x18\x02 \x03(\x0e\x32\x41.google.identity.accesscontextmanager.type.DeviceEncryptionStatus\x12M\n\x0eos_constraints\x18\x03 \x03(\x0b\x32\x35.google.identity.accesscontextmanager.v1.OsConstraint\x12j\n allowed_device_management_levels\x18\x06 \x03(\x0e\x32@.google.identity.accesscontextmanager.type.DeviceManagementLevel\x12\x1e\n\x16require_admin_approval\x18\x07 \x01(\x08\x12\x1a\n\x12require_corp_owned\x18\x08 \x01(\x08"\x8f\x01\n\x0cOsConstraint\x12\x42\n\x07os_type\x18\x01 \x01(\x0e\x32\x31.google.identity.accesscontextmanager.type.OsType\x12\x17\n\x0fminimum_version\x18\x02 \x01(\t\x12"\n\x1arequire_verified_chrome_os\x18\x03 \x01(\x08\x42\xa7\x02\n+com.google.identity.accesscontextmanager.v1B\x10\x41\x63\x63\x65ssLevelProtoP\x01Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\xa2\x02\x04GACM\xaa\x02\'Google.Identity.AccessContextManager.V1\xca\x02\'Google\\Identity\\AccessContextManager\\V1\xea\x02*Google::Identity::AccessContextManager::V1b\x06proto3' ) - -_ACCESSLEVEL = DESCRIPTOR.message_types_by_name["AccessLevel"] -_BASICLEVEL = DESCRIPTOR.message_types_by_name["BasicLevel"] -_CONDITION = DESCRIPTOR.message_types_by_name["Condition"] -_CUSTOMLEVEL = DESCRIPTOR.message_types_by_name["CustomLevel"] -_DEVICEPOLICY = DESCRIPTOR.message_types_by_name["DevicePolicy"] -_OSCONSTRAINT = DESCRIPTOR.message_types_by_name["OsConstraint"] -_BASICLEVEL_CONDITIONCOMBININGFUNCTION = _BASICLEVEL.enum_types_by_name[ - "ConditionCombiningFunction" -] -AccessLevel = _reflection.GeneratedProtocolMessageType( - "AccessLevel", - (_message.Message,), - { - "DESCRIPTOR": _ACCESSLEVEL, - "__module__": "google.identity.accesscontextmanager.v1.access_level_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.AccessLevel) - }, -) -_sym_db.RegisterMessage(AccessLevel) - -BasicLevel = _reflection.GeneratedProtocolMessageType( - "BasicLevel", - (_message.Message,), - { - "DESCRIPTOR": _BASICLEVEL, - "__module__": "google.identity.accesscontextmanager.v1.access_level_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.BasicLevel) - }, -) -_sym_db.RegisterMessage(BasicLevel) - -Condition = _reflection.GeneratedProtocolMessageType( - "Condition", - (_message.Message,), - { - "DESCRIPTOR": _CONDITION, - "__module__": "google.identity.accesscontextmanager.v1.access_level_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.Condition) - }, -) -_sym_db.RegisterMessage(Condition) - -CustomLevel = _reflection.GeneratedProtocolMessageType( - "CustomLevel", - (_message.Message,), - { - "DESCRIPTOR": _CUSTOMLEVEL, - "__module__": "google.identity.accesscontextmanager.v1.access_level_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.CustomLevel) - }, +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "google.identity.accesscontextmanager.v1.access_level_pb2", _globals ) -_sym_db.RegisterMessage(CustomLevel) - -DevicePolicy = _reflection.GeneratedProtocolMessageType( - "DevicePolicy", - (_message.Message,), - { - "DESCRIPTOR": _DEVICEPOLICY, - "__module__": "google.identity.accesscontextmanager.v1.access_level_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.DevicePolicy) - }, -) -_sym_db.RegisterMessage(DevicePolicy) - -OsConstraint = _reflection.GeneratedProtocolMessageType( - "OsConstraint", - (_message.Message,), - { - "DESCRIPTOR": _OSCONSTRAINT, - "__module__": "google.identity.accesscontextmanager.v1.access_level_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.OsConstraint) - }, -) -_sym_db.RegisterMessage(OsConstraint) - if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b"\n+com.google.identity.accesscontextmanager.v1B\020AccessLevelProtoP\001Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\242\002\004GACM\252\002'Google.Identity.AccessContextManager.V1\312\002'Google\\Identity\\AccessContextManager\\V1\352\002*Google::Identity::AccessContextManager::V1" _ACCESSLEVEL._options = None _ACCESSLEVEL._serialized_options = b"\352Am\n/accesscontextmanager.googleapis.com/AccessLevel\022:accessPolicies/{access_policy}/accessLevels/{access_level}" - _ACCESSLEVEL._serialized_start = 254 - _ACCESSLEVEL._serialized_end = 680 - _BASICLEVEL._serialized_start = 683 - _BASICLEVEL._serialized_end = 922 - _BASICLEVEL_CONDITIONCOMBININGFUNCTION._serialized_start = 877 - _BASICLEVEL_CONDITIONCOMBININGFUNCTION._serialized_end = 922 - _CONDITION._serialized_start = 925 - _CONDITION._serialized_end = 1120 - _CUSTOMLEVEL._serialized_start = 1122 - _CUSTOMLEVEL._serialized_end = 1168 - _DEVICEPOLICY._serialized_start = 1171 - _DEVICEPOLICY._serialized_end = 1564 - _OSCONSTRAINT._serialized_start = 1567 - _OSCONSTRAINT._serialized_end = 1710 + _globals["_ACCESSLEVEL"]._serialized_start = 254 + _globals["_ACCESSLEVEL"]._serialized_end = 680 + _globals["_BASICLEVEL"]._serialized_start = 683 + _globals["_BASICLEVEL"]._serialized_end = 922 + _globals["_BASICLEVEL_CONDITIONCOMBININGFUNCTION"]._serialized_start = 877 + _globals["_BASICLEVEL_CONDITIONCOMBININGFUNCTION"]._serialized_end = 922 + _globals["_CONDITION"]._serialized_start = 925 + _globals["_CONDITION"]._serialized_end = 1120 + _globals["_CUSTOMLEVEL"]._serialized_start = 1122 + _globals["_CUSTOMLEVEL"]._serialized_end = 1168 + _globals["_DEVICEPOLICY"]._serialized_start = 1171 + _globals["_DEVICEPOLICY"]._serialized_end = 1564 + _globals["_OSCONSTRAINT"]._serialized_start = 1567 + _globals["_OSCONSTRAINT"]._serialized_end = 1710 # @@protoc_insertion_point(module_scope) diff --git a/google/identity/accesscontextmanager/v1/access_policy.proto b/google/identity/accesscontextmanager/v1/access_policy.proto index 86d6541..65b574d 100644 --- a/google/identity/accesscontextmanager/v1/access_policy.proto +++ b/google/identity/accesscontextmanager/v1/access_policy.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/google/identity/accesscontextmanager/v1/access_policy_pb2.py b/google/identity/accesscontextmanager/v1/access_policy_pb2.py index 965776c..c264970 100644 --- a/google/identity/accesscontextmanager/v1/access_policy_pb2.py +++ b/google/identity/accesscontextmanager/v1/access_policy_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,9 +19,8 @@ """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) @@ -36,25 +35,16 @@ b"\n;google/identity/accesscontextmanager/v1/access_policy.proto\x12'google.identity.accesscontextmanager.v1\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x92\x02\n\x0c\x41\x63\x63\x65ssPolicy\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06parent\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x0e\n\x06scopes\x18\x07 \x03(\t\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x65tag\x18\x06 \x01(\t:U\xea\x41R\n0accesscontextmanager.googleapis.com/AccessPolicy\x12\x1e\x61\x63\x63\x65ssPolicies/{access_policy}B\xa2\x02\n+com.google.identity.accesscontextmanager.v1B\x0bPolicyProtoP\x01Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\xa2\x02\x04GACM\xaa\x02'Google.Identity.AccessContextManager.V1\xca\x02'Google\\Identity\\AccessContextManager\\V1\xea\x02*Google::Identity::AccessContextManager::V1b\x06proto3" ) - -_ACCESSPOLICY = DESCRIPTOR.message_types_by_name["AccessPolicy"] -AccessPolicy = _reflection.GeneratedProtocolMessageType( - "AccessPolicy", - (_message.Message,), - { - "DESCRIPTOR": _ACCESSPOLICY, - "__module__": "google.identity.accesscontextmanager.v1.access_policy_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.AccessPolicy) - }, +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "google.identity.accesscontextmanager.v1.access_policy_pb2", _globals ) -_sym_db.RegisterMessage(AccessPolicy) - if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b"\n+com.google.identity.accesscontextmanager.v1B\013PolicyProtoP\001Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\242\002\004GACM\252\002'Google.Identity.AccessContextManager.V1\312\002'Google\\Identity\\AccessContextManager\\V1\352\002*Google::Identity::AccessContextManager::V1" _ACCESSPOLICY._options = None _ACCESSPOLICY._serialized_options = b"\352AR\n0accesscontextmanager.googleapis.com/AccessPolicy\022\036accessPolicies/{access_policy}" - _ACCESSPOLICY._serialized_start = 165 - _ACCESSPOLICY._serialized_end = 439 + _globals["_ACCESSPOLICY"]._serialized_start = 165 + _globals["_ACCESSPOLICY"]._serialized_end = 439 # @@protoc_insertion_point(module_scope) diff --git a/google/identity/accesscontextmanager/v1/gcp_user_access_binding.proto b/google/identity/accesscontextmanager/v1/gcp_user_access_binding.proto index 4a296d5..ced18e9 100644 --- a/google/identity/accesscontextmanager/v1/gcp_user_access_binding.proto +++ b/google/identity/accesscontextmanager/v1/gcp_user_access_binding.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/google/identity/accesscontextmanager/v1/gcp_user_access_binding_pb2.py b/google/identity/accesscontextmanager/v1/gcp_user_access_binding_pb2.py index 67e850a..71d8afe 100644 --- a/google/identity/accesscontextmanager/v1/gcp_user_access_binding_pb2.py +++ b/google/identity/accesscontextmanager/v1/gcp_user_access_binding_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,9 +19,8 @@ """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) @@ -36,21 +35,14 @@ b"\nEgoogle/identity/accesscontextmanager/v1/gcp_user_access_binding.proto\x12'google.identity.accesscontextmanager.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\"\xa3\x02\n\x14GcpUserAccessBinding\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x19\n\tgroup_key\x18\x02 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12N\n\raccess_levels\x18\x03 \x03(\tB7\xe0\x41\x02\xfa\x41\x31\n/accesscontextmanager.googleapis.com/AccessLevel:\x8c\x01\xea\x41\x88\x01\n8accesscontextmanager.googleapis.com/GcpUserAccessBinding\x12Lorganizations/{organization}/gcpUserAccessBindings/{gcp_user_access_binding}B\xb0\x02\n+com.google.identity.accesscontextmanager.v1B\x19GcpUserAccessBindingProtoP\x01Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\xa2\x02\x04GACM\xaa\x02'Google.Identity.AccessContextManager.V1\xca\x02'Google\\Identity\\AccessContextManager\\V1\xea\x02*Google::Identity::AccessContextManager::V1b\x06proto3" ) - -_GCPUSERACCESSBINDING = DESCRIPTOR.message_types_by_name["GcpUserAccessBinding"] -GcpUserAccessBinding = _reflection.GeneratedProtocolMessageType( - "GcpUserAccessBinding", - (_message.Message,), - { - "DESCRIPTOR": _GCPUSERACCESSBINDING, - "__module__": "google.identity.accesscontextmanager.v1.gcp_user_access_binding_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.GcpUserAccessBinding) - }, +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, + "google.identity.accesscontextmanager.v1.gcp_user_access_binding_pb2", + _globals, ) -_sym_db.RegisterMessage(GcpUserAccessBinding) - if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b"\n+com.google.identity.accesscontextmanager.v1B\031GcpUserAccessBindingProtoP\001Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\242\002\004GACM\252\002'Google.Identity.AccessContextManager.V1\312\002'Google\\Identity\\AccessContextManager\\V1\352\002*Google::Identity::AccessContextManager::V1" _GCPUSERACCESSBINDING.fields_by_name["name"]._options = None @@ -67,6 +59,6 @@ ) _GCPUSERACCESSBINDING._options = None _GCPUSERACCESSBINDING._serialized_options = b"\352A\210\001\n8accesscontextmanager.googleapis.com/GcpUserAccessBinding\022Lorganizations/{organization}/gcpUserAccessBindings/{gcp_user_access_binding}" - _GCPUSERACCESSBINDING._serialized_start = 175 - _GCPUSERACCESSBINDING._serialized_end = 466 + _globals["_GCPUSERACCESSBINDING"]._serialized_start = 175 + _globals["_GCPUSERACCESSBINDING"]._serialized_end = 466 # @@protoc_insertion_point(module_scope) diff --git a/google/identity/accesscontextmanager/v1/service_perimeter.proto b/google/identity/accesscontextmanager/v1/service_perimeter.proto index 03c324d..d135380 100644 --- a/google/identity/accesscontextmanager/v1/service_perimeter.proto +++ b/google/identity/accesscontextmanager/v1/service_perimeter.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/google/identity/accesscontextmanager/v1/service_perimeter_pb2.py b/google/identity/accesscontextmanager/v1/service_perimeter_pb2.py index 1478a3f..c4c1c2c 100644 --- a/google/identity/accesscontextmanager/v1/service_perimeter_pb2.py +++ b/google/identity/accesscontextmanager/v1/service_perimeter_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,9 +19,8 @@ """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) @@ -36,197 +35,44 @@ b'\n?google/identity/accesscontextmanager/v1/service_perimeter.proto\x12\'google.identity.accesscontextmanager.v1\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x93\x05\n\x10ServicePerimeter\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12_\n\x0eperimeter_type\x18\x06 \x01(\x0e\x32G.google.identity.accesscontextmanager.v1.ServicePerimeter.PerimeterType\x12O\n\x06status\x18\x07 \x01(\x0b\x32?.google.identity.accesscontextmanager.v1.ServicePerimeterConfig\x12M\n\x04spec\x18\x08 \x01(\x0b\x32?.google.identity.accesscontextmanager.v1.ServicePerimeterConfig\x12!\n\x19use_explicit_dry_run_spec\x18\t \x01(\x08"F\n\rPerimeterType\x12\x1a\n\x16PERIMETER_TYPE_REGULAR\x10\x00\x12\x19\n\x15PERIMETER_TYPE_BRIDGE\x10\x01:\x7f\xea\x41|\n4accesscontextmanager.googleapis.com/ServicePerimeter\x12\x44\x61\x63\x63\x65ssPolicies/{access_policy}/servicePerimeters/{service_perimeter}"\xb5\x0f\n\x16ServicePerimeterConfig\x12\x11\n\tresources\x18\x01 \x03(\t\x12\x15\n\raccess_levels\x18\x02 \x03(\t\x12\x1b\n\x13restricted_services\x18\x04 \x03(\t\x12v\n\x17vpc_accessible_services\x18\n \x01(\x0b\x32U.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices\x12g\n\x10ingress_policies\x18\x08 \x03(\x0b\x32M.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy\x12\x65\n\x0f\x65gress_policies\x18\t \x03(\x0b\x32L.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy\x1aM\n\x15VpcAccessibleServices\x12\x1a\n\x12\x65nable_restriction\x18\x01 \x01(\x08\x12\x18\n\x10\x61llowed_services\x18\x02 \x03(\t\x1a@\n\x0eMethodSelector\x12\x10\n\x06method\x18\x01 \x01(\tH\x00\x12\x14\n\npermission\x18\x02 \x01(\tH\x00\x42\x06\n\x04kind\x1a\x8e\x01\n\x0c\x41piOperation\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12h\n\x10method_selectors\x18\x02 \x03(\x0b\x32N.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.MethodSelector\x1a\x45\n\rIngressSource\x12\x16\n\x0c\x61\x63\x63\x65ss_level\x18\x01 \x01(\tH\x00\x12\x12\n\x08resource\x18\x02 \x01(\tH\x00\x42\x08\n\x06source\x1a\xe6\x01\n\x0bIngressFrom\x12^\n\x07sources\x18\x01 \x03(\x0b\x32M.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressSource\x12\x12\n\nidentities\x18\x02 \x03(\t\x12\x63\n\ridentity_type\x18\x03 \x01(\x0e\x32L.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IdentityType\x1a\x80\x01\n\tIngressTo\x12`\n\noperations\x18\x01 \x03(\x0b\x32L.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation\x12\x11\n\tresources\x18\x02 \x03(\t\x1a\xd1\x01\n\rIngressPolicy\x12\x61\n\x0cingress_from\x18\x01 \x01(\x0b\x32K.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressFrom\x12]\n\ningress_to\x18\x02 \x01(\x0b\x32I.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressTo\x1a\x85\x01\n\nEgressFrom\x12\x12\n\nidentities\x18\x01 \x03(\t\x12\x63\n\ridentity_type\x18\x02 \x01(\x0e\x32L.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IdentityType\x1a\x9b\x01\n\x08\x45gressTo\x12\x11\n\tresources\x18\x01 \x03(\t\x12`\n\noperations\x18\x02 \x03(\x0b\x32L.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation\x12\x1a\n\x12\x65xternal_resources\x18\x03 \x03(\t\x1a\xcc\x01\n\x0c\x45gressPolicy\x12_\n\x0b\x65gress_from\x18\x01 \x01(\x0b\x32J.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressFrom\x12[\n\tegress_to\x18\x02 \x01(\x0b\x32H.google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressTo"n\n\x0cIdentityType\x12\x1d\n\x19IDENTITY_TYPE_UNSPECIFIED\x10\x00\x12\x10\n\x0c\x41NY_IDENTITY\x10\x01\x12\x14\n\x10\x41NY_USER_ACCOUNT\x10\x02\x12\x17\n\x13\x41NY_SERVICE_ACCOUNT\x10\x03\x42\xac\x02\n+com.google.identity.accesscontextmanager.v1B\x15ServicePerimeterProtoP\x01Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\xa2\x02\x04GACM\xaa\x02\'Google.Identity.AccessContextManager.V1\xca\x02\'Google\\Identity\\AccessContextManager\\V1\xea\x02*Google::Identity::AccessContextManager::V1b\x06proto3' ) - -_SERVICEPERIMETER = DESCRIPTOR.message_types_by_name["ServicePerimeter"] -_SERVICEPERIMETERCONFIG = DESCRIPTOR.message_types_by_name["ServicePerimeterConfig"] -_SERVICEPERIMETERCONFIG_VPCACCESSIBLESERVICES = ( - _SERVICEPERIMETERCONFIG.nested_types_by_name["VpcAccessibleServices"] -) -_SERVICEPERIMETERCONFIG_METHODSELECTOR = _SERVICEPERIMETERCONFIG.nested_types_by_name[ - "MethodSelector" -] -_SERVICEPERIMETERCONFIG_APIOPERATION = _SERVICEPERIMETERCONFIG.nested_types_by_name[ - "ApiOperation" -] -_SERVICEPERIMETERCONFIG_INGRESSSOURCE = _SERVICEPERIMETERCONFIG.nested_types_by_name[ - "IngressSource" -] -_SERVICEPERIMETERCONFIG_INGRESSFROM = _SERVICEPERIMETERCONFIG.nested_types_by_name[ - "IngressFrom" -] -_SERVICEPERIMETERCONFIG_INGRESSTO = _SERVICEPERIMETERCONFIG.nested_types_by_name[ - "IngressTo" -] -_SERVICEPERIMETERCONFIG_INGRESSPOLICY = _SERVICEPERIMETERCONFIG.nested_types_by_name[ - "IngressPolicy" -] -_SERVICEPERIMETERCONFIG_EGRESSFROM = _SERVICEPERIMETERCONFIG.nested_types_by_name[ - "EgressFrom" -] -_SERVICEPERIMETERCONFIG_EGRESSTO = _SERVICEPERIMETERCONFIG.nested_types_by_name[ - "EgressTo" -] -_SERVICEPERIMETERCONFIG_EGRESSPOLICY = _SERVICEPERIMETERCONFIG.nested_types_by_name[ - "EgressPolicy" -] -_SERVICEPERIMETER_PERIMETERTYPE = _SERVICEPERIMETER.enum_types_by_name["PerimeterType"] -_SERVICEPERIMETERCONFIG_IDENTITYTYPE = _SERVICEPERIMETERCONFIG.enum_types_by_name[ - "IdentityType" -] -ServicePerimeter = _reflection.GeneratedProtocolMessageType( - "ServicePerimeter", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETER, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeter) - }, -) -_sym_db.RegisterMessage(ServicePerimeter) - -ServicePerimeterConfig = _reflection.GeneratedProtocolMessageType( - "ServicePerimeterConfig", - (_message.Message,), - { - "VpcAccessibleServices": _reflection.GeneratedProtocolMessageType( - "VpcAccessibleServices", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_VPCACCESSIBLESERVICES, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices) - }, - ), - "MethodSelector": _reflection.GeneratedProtocolMessageType( - "MethodSelector", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_METHODSELECTOR, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.MethodSelector) - }, - ), - "ApiOperation": _reflection.GeneratedProtocolMessageType( - "ApiOperation", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_APIOPERATION, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation) - }, - ), - "IngressSource": _reflection.GeneratedProtocolMessageType( - "IngressSource", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_INGRESSSOURCE, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressSource) - }, - ), - "IngressFrom": _reflection.GeneratedProtocolMessageType( - "IngressFrom", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_INGRESSFROM, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressFrom) - }, - ), - "IngressTo": _reflection.GeneratedProtocolMessageType( - "IngressTo", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_INGRESSTO, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressTo) - }, - ), - "IngressPolicy": _reflection.GeneratedProtocolMessageType( - "IngressPolicy", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_INGRESSPOLICY, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy) - }, - ), - "EgressFrom": _reflection.GeneratedProtocolMessageType( - "EgressFrom", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_EGRESSFROM, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressFrom) - }, - ), - "EgressTo": _reflection.GeneratedProtocolMessageType( - "EgressTo", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_EGRESSTO, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressTo) - }, - ), - "EgressPolicy": _reflection.GeneratedProtocolMessageType( - "EgressPolicy", - (_message.Message,), - { - "DESCRIPTOR": _SERVICEPERIMETERCONFIG_EGRESSPOLICY, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy) - }, - ), - "DESCRIPTOR": _SERVICEPERIMETERCONFIG, - "__module__": "google.identity.accesscontextmanager.v1.service_perimeter_pb2" - # @@protoc_insertion_point(class_scope:google.identity.accesscontextmanager.v1.ServicePerimeterConfig) - }, +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, + "google.identity.accesscontextmanager.v1.service_perimeter_pb2", + _globals, ) -_sym_db.RegisterMessage(ServicePerimeterConfig) -_sym_db.RegisterMessage(ServicePerimeterConfig.VpcAccessibleServices) -_sym_db.RegisterMessage(ServicePerimeterConfig.MethodSelector) -_sym_db.RegisterMessage(ServicePerimeterConfig.ApiOperation) -_sym_db.RegisterMessage(ServicePerimeterConfig.IngressSource) -_sym_db.RegisterMessage(ServicePerimeterConfig.IngressFrom) -_sym_db.RegisterMessage(ServicePerimeterConfig.IngressTo) -_sym_db.RegisterMessage(ServicePerimeterConfig.IngressPolicy) -_sym_db.RegisterMessage(ServicePerimeterConfig.EgressFrom) -_sym_db.RegisterMessage(ServicePerimeterConfig.EgressTo) -_sym_db.RegisterMessage(ServicePerimeterConfig.EgressPolicy) - if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b"\n+com.google.identity.accesscontextmanager.v1B\025ServicePerimeterProtoP\001Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscontextmanagerpb\242\002\004GACM\252\002'Google.Identity.AccessContextManager.V1\312\002'Google\\Identity\\AccessContextManager\\V1\352\002*Google::Identity::AccessContextManager::V1" _SERVICEPERIMETER._options = None _SERVICEPERIMETER._serialized_options = b"\352A|\n4accesscontextmanager.googleapis.com/ServicePerimeter\022DaccessPolicies/{access_policy}/servicePerimeters/{service_perimeter}" - _SERVICEPERIMETER._serialized_start = 169 - _SERVICEPERIMETER._serialized_end = 828 - _SERVICEPERIMETER_PERIMETERTYPE._serialized_start = 629 - _SERVICEPERIMETER_PERIMETERTYPE._serialized_end = 699 - _SERVICEPERIMETERCONFIG._serialized_start = 831 - _SERVICEPERIMETERCONFIG._serialized_end = 2804 - _SERVICEPERIMETERCONFIG_VPCACCESSIBLESERVICES._serialized_start = 1256 - _SERVICEPERIMETERCONFIG_VPCACCESSIBLESERVICES._serialized_end = 1333 - _SERVICEPERIMETERCONFIG_METHODSELECTOR._serialized_start = 1335 - _SERVICEPERIMETERCONFIG_METHODSELECTOR._serialized_end = 1399 - _SERVICEPERIMETERCONFIG_APIOPERATION._serialized_start = 1402 - _SERVICEPERIMETERCONFIG_APIOPERATION._serialized_end = 1544 - _SERVICEPERIMETERCONFIG_INGRESSSOURCE._serialized_start = 1546 - _SERVICEPERIMETERCONFIG_INGRESSSOURCE._serialized_end = 1615 - _SERVICEPERIMETERCONFIG_INGRESSFROM._serialized_start = 1618 - _SERVICEPERIMETERCONFIG_INGRESSFROM._serialized_end = 1848 - _SERVICEPERIMETERCONFIG_INGRESSTO._serialized_start = 1851 - _SERVICEPERIMETERCONFIG_INGRESSTO._serialized_end = 1979 - _SERVICEPERIMETERCONFIG_INGRESSPOLICY._serialized_start = 1982 - _SERVICEPERIMETERCONFIG_INGRESSPOLICY._serialized_end = 2191 - _SERVICEPERIMETERCONFIG_EGRESSFROM._serialized_start = 2194 - _SERVICEPERIMETERCONFIG_EGRESSFROM._serialized_end = 2327 - _SERVICEPERIMETERCONFIG_EGRESSTO._serialized_start = 2330 - _SERVICEPERIMETERCONFIG_EGRESSTO._serialized_end = 2485 - _SERVICEPERIMETERCONFIG_EGRESSPOLICY._serialized_start = 2488 - _SERVICEPERIMETERCONFIG_EGRESSPOLICY._serialized_end = 2692 - _SERVICEPERIMETERCONFIG_IDENTITYTYPE._serialized_start = 2694 - _SERVICEPERIMETERCONFIG_IDENTITYTYPE._serialized_end = 2804 + _globals["_SERVICEPERIMETER"]._serialized_start = 169 + _globals["_SERVICEPERIMETER"]._serialized_end = 828 + _globals["_SERVICEPERIMETER_PERIMETERTYPE"]._serialized_start = 629 + _globals["_SERVICEPERIMETER_PERIMETERTYPE"]._serialized_end = 699 + _globals["_SERVICEPERIMETERCONFIG"]._serialized_start = 831 + _globals["_SERVICEPERIMETERCONFIG"]._serialized_end = 2804 + _globals["_SERVICEPERIMETERCONFIG_VPCACCESSIBLESERVICES"]._serialized_start = 1256 + _globals["_SERVICEPERIMETERCONFIG_VPCACCESSIBLESERVICES"]._serialized_end = 1333 + _globals["_SERVICEPERIMETERCONFIG_METHODSELECTOR"]._serialized_start = 1335 + _globals["_SERVICEPERIMETERCONFIG_METHODSELECTOR"]._serialized_end = 1399 + _globals["_SERVICEPERIMETERCONFIG_APIOPERATION"]._serialized_start = 1402 + _globals["_SERVICEPERIMETERCONFIG_APIOPERATION"]._serialized_end = 1544 + _globals["_SERVICEPERIMETERCONFIG_INGRESSSOURCE"]._serialized_start = 1546 + _globals["_SERVICEPERIMETERCONFIG_INGRESSSOURCE"]._serialized_end = 1615 + _globals["_SERVICEPERIMETERCONFIG_INGRESSFROM"]._serialized_start = 1618 + _globals["_SERVICEPERIMETERCONFIG_INGRESSFROM"]._serialized_end = 1848 + _globals["_SERVICEPERIMETERCONFIG_INGRESSTO"]._serialized_start = 1851 + _globals["_SERVICEPERIMETERCONFIG_INGRESSTO"]._serialized_end = 1979 + _globals["_SERVICEPERIMETERCONFIG_INGRESSPOLICY"]._serialized_start = 1982 + _globals["_SERVICEPERIMETERCONFIG_INGRESSPOLICY"]._serialized_end = 2191 + _globals["_SERVICEPERIMETERCONFIG_EGRESSFROM"]._serialized_start = 2194 + _globals["_SERVICEPERIMETERCONFIG_EGRESSFROM"]._serialized_end = 2327 + _globals["_SERVICEPERIMETERCONFIG_EGRESSTO"]._serialized_start = 2330 + _globals["_SERVICEPERIMETERCONFIG_EGRESSTO"]._serialized_end = 2485 + _globals["_SERVICEPERIMETERCONFIG_EGRESSPOLICY"]._serialized_start = 2488 + _globals["_SERVICEPERIMETERCONFIG_EGRESSPOLICY"]._serialized_end = 2692 + _globals["_SERVICEPERIMETERCONFIG_IDENTITYTYPE"]._serialized_start = 2694 + _globals["_SERVICEPERIMETERCONFIG_IDENTITYTYPE"]._serialized_end = 2804 # @@protoc_insertion_point(module_scope) diff --git a/noxfile.py b/noxfile.py index 7b1fd9b..2058e71 100644 --- a/noxfile.py +++ b/noxfile.py @@ -14,246 +14,334 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Generated by synthtool. DO NOT EDIT! - -from __future__ import absolute_import import os import pathlib +from pathlib import Path +import re import shutil -import warnings +import tempfile import nox -BLACK_VERSION = "black==22.3.0" -ISORT_VERSION = "isort==5.10.1" -LINT_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] -# NOTE: Pin the version of grpcio-tools to 1.48.2 for compatibility with -# Protobuf 3.19.5. Please ensure that the minimum required version of -# protobuf in setup.py is compatible with the pb2 files generated -# by grpcio-tools before changing the pinned version below. -GRPCIO_TOOLS_VERSION = "grpcio-tools==1.48.2" +BLACK_VERSION = "black==22.3.0" +LINT_PATHS = ["docs", "google", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.8" -UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] -UNIT_TEST_STANDARD_DEPENDENCIES = [ - "mock", - "asyncmock", - "pytest", - "pytest-cov", - "pytest-asyncio", -] -UNIT_TEST_EXTERNAL_DEPENDENCIES = [] -UNIT_TEST_LOCAL_DEPENDENCIES = [] -UNIT_TEST_DEPENDENCIES = [] -UNIT_TEST_EXTRAS = [] -UNIT_TEST_EXTRAS_BY_PYTHON = {} - -SYSTEM_TEST_PYTHON_VERSIONS = ["3.8"] -SYSTEM_TEST_STANDARD_DEPENDENCIES = [ - "mock", - "pytest", - "google-cloud-testutils", -] -SYSTEM_TEST_EXTERNAL_DEPENDENCIES = [] -SYSTEM_TEST_LOCAL_DEPENDENCIES = [] -SYSTEM_TEST_DEPENDENCIES = [] -SYSTEM_TEST_EXTRAS = [] -SYSTEM_TEST_EXTRAS_BY_PYTHON = {} +# `grpcio-tools` 1.59.0 or newer is required for protobuf 5.x compatibility. +GRPCIO_TOOLS_VERSION = "grpcio-tools==1.59.0" CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() +UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] -# 'docfx' is excluded since it only needs to run in 'docs-presubmit' nox.options.sessions = [ - "system", - "lint", - "integration_test", - "lint_setup_py", + "unit_local", + "unit_remote", "blacken", + "lint_setup_py", "docs", - "unit", + "docfx", + "lint", ] # Error if a python version is missing nox.options.error_on_missing_interpreters = True -@nox.session(python=DEFAULT_PYTHON_VERSION) -def lint(session): - """Run linters. - - Returns a failure if the linters find linting errors or sufficiently - serious code quality issues. - """ - session.install("flake8", BLACK_VERSION) - session.run( - "black", - "--check", - *LINT_PATHS, - ) - session.run("flake8", "google", "tests") - - -@nox.session(python=DEFAULT_PYTHON_VERSION) +@nox.session(python="3.8") def blacken(session): - """Run black. Format code to uniform standard.""" - session.install(BLACK_VERSION) - session.run( - "black", - *LINT_PATHS, - ) - - -@nox.session(python=DEFAULT_PYTHON_VERSION) -def format(session): + """Run black. + Format code to uniform standard. + This currently uses Python 3.6 due to the automated Kokoro run of synthtool. + That run uses an image that doesn't have 3.6 installed. Before updating this + check the state of the `gcp_ubuntu_config` we use for that Kokoro run. """ - Run isort to sort imports. Then run black - to format code to uniform standard. - """ - session.install(BLACK_VERSION, ISORT_VERSION) - # Use the --fss option to sort imports using strict alphabetical order. - # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections - session.run( - "isort", - "--fss", - *LINT_PATHS, - ) - session.run( - "black", - *LINT_PATHS, - ) + session.install(BLACK_VERSION) + session.run("black", "google", "setup.py") -@nox.session(python=DEFAULT_PYTHON_VERSION) +@nox.session(python="3.8") def lint_setup_py(session): - """Verify that setup.py is valid (including RST check).""" + """Verify that setup.py is valid""" session.install("docutils", "pygments") - session.run("python", "setup.py", "check", "--restructuredtext", "--strict") + session.run("python", "setup.py", "check", "--strict") -def install_unittest_dependencies(session, *constraints): - standard_deps = UNIT_TEST_STANDARD_DEPENDENCIES + UNIT_TEST_DEPENDENCIES - session.install(*standard_deps, *constraints) +def unit(session, repository, package, prerelease, protobuf_implementation): + """Run the unit test suite.""" + downstream_dir = repository + if package: + downstream_dir = f"{repository}/packages/{package}" - if UNIT_TEST_EXTERNAL_DEPENDENCIES: - warnings.warn( - "'unit_test_external_dependencies' is deprecated. Instead, please " - "use 'unit_test_dependencies' or 'unit_test_local_dependencies'.", - DeprecationWarning, - ) - session.install(*UNIT_TEST_EXTERNAL_DEPENDENCIES, *constraints) + # Install all test dependencies, then install this package in-place. + session.install("asyncmock", "pytest-asyncio") - if UNIT_TEST_LOCAL_DEPENDENCIES: - session.install(*UNIT_TEST_LOCAL_DEPENDENCIES, *constraints) + # Pin mock due to https://github.com/googleapis/python-pubsub/issues/840 + session.install("mock==5.0.0", "pytest", "pytest-cov") - if UNIT_TEST_EXTRAS_BY_PYTHON: - extras = UNIT_TEST_EXTRAS_BY_PYTHON.get(session.python, []) - elif UNIT_TEST_EXTRAS: - extras = UNIT_TEST_EXTRAS - else: - extras = [] + install_command = ["-e", f"{CURRENT_DIRECTORY}/{downstream_dir}"] - if extras: - session.install("-e", f".[{','.join(extras)}]", *constraints) + if prerelease: + install_prerelease_dependencies( + session, + f"{CURRENT_DIRECTORY}/{downstream_dir}/testing/constraints-{UNIT_TEST_PYTHON_VERSIONS[0]}.txt", + ) + # Use the `--no-deps` options to allow pre-release versions of dependencies to be installed + install_command.extend(["--no-deps"]) else: - session.install("-e", ".", *constraints) + # Install the pinned dependencies in constraints file + install_command.extend( + [ + "-c", + f"{CURRENT_DIRECTORY}/{downstream_dir}/testing/constraints-{session.python}.txt", + ] + ) + # These *must* be the last 3 install commands to get the packages from source. + session.install(*install_command) -def default(session): - # Install all test dependencies, then install this package in-place. + # Remove the 'cpp' implementation once support for Protobuf 3.x is dropped. + # The 'cpp' implementation requires Protobuf<4. + if protobuf_implementation == "cpp": + session.install("protobuf<4") - constraints_path = str( - CURRENT_DIRECTORY / "testing" / f"constraints-{session.python}.txt" - ) - install_unittest_dependencies(session, "-c", constraints_path) + # Install this library from source + session.install(CURRENT_DIRECTORY, "--no-deps") - # Run py.test against the unit tests. + # Print out package versions of dependencies session.run( - "py.test", - "--quiet", - f"--junitxml=unit_{session.python}_sponge_log.xml", - "--cov=google", - "--cov=tests/unit", - "--cov-append", - "--cov-config=.coveragerc", - "--cov-report=", - "--cov-fail-under=0", - os.path.join("tests", "unit"), - *session.posargs, + "python", "-c", "import google.protobuf; print(google.protobuf.__version__)" ) + session.run("python", "-c", "import grpc; print(grpc.__version__)") + session.run("python", "-c", "import google.auth; print(google.auth.__version__)") + session.run( + "python", "-c", "import google.api_core; print(google.api_core.__version__)" + ) -def install_systemtest_dependencies(session, *constraints): - - # Use pre-release gRPC for system tests. - session.install("--pre", "grpcio") - - session.install(*SYSTEM_TEST_STANDARD_DEPENDENCIES, *constraints) - - if SYSTEM_TEST_EXTERNAL_DEPENDENCIES: - session.install(*SYSTEM_TEST_EXTERNAL_DEPENDENCIES, *constraints) - - if SYSTEM_TEST_LOCAL_DEPENDENCIES: - session.install("-e", *SYSTEM_TEST_LOCAL_DEPENDENCIES, *constraints) - - if SYSTEM_TEST_DEPENDENCIES: - session.install("-e", *SYSTEM_TEST_DEPENDENCIES, *constraints) + # Run py.test against the unit tests in the downstream repository + with session.chdir(downstream_dir): + # Run py.test against the unit tests. + session.run( + "py.test", + "--quiet", + "--cov=google/cloud", + "--cov=tests/unit", + "--cov-append", + "--cov-config=.coveragerc", + "--cov-report=", + "--cov-fail-under=0", + os.path.join("tests", "unit"), + *session.posargs, + env={ + "PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": protobuf_implementation, + }, + ) - if SYSTEM_TEST_EXTRAS_BY_PYTHON: - extras = SYSTEM_TEST_EXTRAS_BY_PYTHON.get(session.python, []) - elif SYSTEM_TEST_EXTRAS: - extras = SYSTEM_TEST_EXTRAS - else: - extras = [] - if extras: - session.install("-e", f".[{','.join(extras)}]", *constraints) - else: - session.install("-e", ".", *constraints) +def install_prerelease_dependencies(session, constraints_path): + with open(constraints_path, encoding="utf-8") as constraints_file: + constraints_text = constraints_file.read() + # Ignore leading whitespace and comment lines. + constraints_deps = [ + match.group(1) + for match in re.finditer( + r"^\s*(\S+)(?===\S+)", constraints_text, flags=re.MULTILINE + ) + ] + session.install(*constraints_deps) + prerel_deps = [ + "googleapis-common-protos", + "protobuf", + "six", + "grpcio", + "grpcio-status", + "google-api-core", + "google-auth", + "proto-plus", + "google-cloud-testutils", + # dependencies of google-cloud-testutils" + "click", + ] + + for dep in prerel_deps: + session.install("--pre", "--no-deps", "--upgrade", dep) + + # Remaining dependencies + other_deps = [ + "requests", + ] + session.install(*other_deps) @nox.session(python=UNIT_TEST_PYTHON_VERSIONS) @nox.parametrize( - "library", + "library,prerelease,protobuf_implementation", [ - ("google-cloud-python", "google-cloud-asset"), + (("google-cloud-python", "google-cloud-asset"), False, "python"), + (("google-cloud-python", "google-cloud-asset"), False, "upb"), + (("google-cloud-python", "google-cloud-asset"), False, "cpp"), + (("google-cloud-python", "google-cloud-asset"), True, "python"), + (("google-cloud-python", "google-cloud-asset"), True, "upb"), + (("google-cloud-python", "google-cloud-asset"), True, "cpp"), ], - ids=["asset"], ) -def integration_test(session, library): +def unit_remote(session, library, prerelease, protobuf_implementation): """Run tests from a downstream libraries. + To verify that any changes we make here will not break downstream libraries, clone a few and run their unit and system tests. + NOTE: The unit and system test functions above are copied from the templates. They will need to be updated when the templates change. + + * Asset: GAPIC which uses `google-cloud-access-context-manager` """ - package = "" - if type(library) == tuple: - library, package = library - try: - session.run("git", "-C", library, "pull", external=True) - except nox.command.CommandFailed: + + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + session.skip("cpp implementation is not supported in python 3.11+") + + repository, package = library + with tempfile.TemporaryDirectory() as working_dir: session.run( "git", "clone", "--single-branch", - f"https://github.com/googleapis/{library}", + f"https://github.com/googleapis/{repository}", + f"{working_dir}/{repository}", external=True, ) - session.cd(library) - if package: - session.cd(f"packages/{package}") - default(session) - # system tests are run 3.7 only - if session.python == "3.7": - system(session) + downstream_dir = repository + if package: + downstream_dir = f"{working_dir}/{repository}/packages/{package}" + + # Install all test dependencies, then install this package in-place. + session.install("asyncmock", "pytest-asyncio") + + session.install("mock", "pytest", "pytest-cov") + + install_command = ["-e", downstream_dir] + + if prerelease: + install_prerelease_dependencies( + session, + f"{downstream_dir}/testing/constraints-{UNIT_TEST_PYTHON_VERSIONS[0]}.txt", + ) + # Use the `--no-deps` options to allow pre-release versions of dependencies to be installed + install_command.extend(["--no-deps"]) + else: + # Install the pinned dependencies in constraints file + install_command.extend( + [ + "-c", + f"{downstream_dir}/testing/constraints-{session.python}.txt", + ] + ) + + # These *must* be the last 3 install commands to get the packages from source. + session.install(*install_command) + + # Remove the 'cpp' implementation once support for Protobuf 3.x is dropped. + # The 'cpp' implementation requires Protobuf<4. + if protobuf_implementation == "cpp": + session.install("protobuf<4") + + # Install this library from source + session.install(CURRENT_DIRECTORY, "--no-deps") + + # Print out package versions of dependencies + session.run( + "python", "-c", "import google.protobuf; print(google.protobuf.__version__)" + ) + session.run("python", "-c", "import grpc; print(grpc.__version__)") + session.run( + "python", "-c", "import google.auth; print(google.auth.__version__)" + ) + + session.run( + "python", "-c", "import google.api_core; print(google.api_core.__version__)" + ) + + # Run py.test against the unit tests in the downstream repository + with session.chdir(downstream_dir): + # Run py.test against the unit tests. + session.run( + "py.test", + "--quiet", + "--cov=google/cloud", + "--cov=tests/unit", + "--cov-append", + "--cov-config=.coveragerc", + "--cov-report=", + "--cov-fail-under=0", + os.path.join("tests", "unit"), + *session.posargs, + env={ + "PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": protobuf_implementation, + }, + ) + + +@nox.session(python=UNIT_TEST_PYTHON_VERSIONS) +@nox.parametrize("protobuf_implementation", ["python", "upb", "cpp"]) +def unit_local(session, protobuf_implementation): + """Run tests in this local repo.""" + # Install all test dependencies, then install this package in-place. + + # TODO(https://github.com/googleapis/proto-plus-python/issues/389): + # Remove the 'cpp' implementation once support for Protobuf 3.x is dropped. + # The 'cpp' implementation requires Protobuf == 3.x however version 3.x + # does not support Python 3.11 and newer. The 'cpp' implementation + # must be excluded from the test matrix for these runtimes. + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + session.skip("cpp implementation is not supported in python 3.11+") + + constraints_path = str( + CURRENT_DIRECTORY / "testing" / f"constraints-{session.python}.txt" + ) + session.install( + "mock", + "asyncmock", + "pytest", + "pytest-cov", + "pytest-asyncio", + "-c", + constraints_path, + ) + + session.install("-e", ".", "-c", constraints_path) + + # Remove the 'cpp' implementation once support for Protobuf 3.x is dropped. + # The 'cpp' implementation requires Protobuf<4. + if protobuf_implementation == "cpp": + session.install("protobuf<4") + + # Run py.test against the unit tests. + session.run( + "py.test", + "--quiet", + f"--junitxml=unit_{session.python}_sponge_log.xml", + "--cov=google", + "--cov=tests/unit", + "--cov-append", + "--cov-config=.coveragerc", + "--cov-report=", + "--cov-fail-under=0", + os.path.join("tests", "unit"), + *session.posargs, + env={ + "PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": protobuf_implementation, + }, + ) @nox.session(python="3.8") def generate_protos(session): """Generates the protos using protoc. + + This session but be last to avoid overwriting the protos used in CI runs. + Some notes on the `google` directory: 1. The `_pb2.py` files are produced by protoc. 2. The .proto files are non-functional but are left in the repository @@ -262,62 +350,14 @@ def generate_protos(session): If a new subdirectory is added, you will need to create more `__init__.py` files. """ - session.install(GRPCIO_TOOLS_VERSION) - protos = [str(p) for p in (pathlib.Path(".").glob("google/**/*.proto"))] + session.install(GRPCIO_TOOLS_VERSION) + protos = [str(p) for p in (Path(".").glob("google/**/*.proto"))] session.run( - "python", - "-m", - "grpc_tools.protoc", - "--proto_path=.", - "--python_out=.", - *protos, + "python", "-m", "grpc_tools.protoc", "--proto_path=.", "--python_out=.", *protos ) -@nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS) -def system(session): - """Run the system test suite.""" - constraints_path = str( - CURRENT_DIRECTORY / "testing" / f"constraints-{session.python}.txt" - ) - system_test_path = os.path.join("tests", "system.py") - system_test_folder_path = os.path.join("tests", "system") - - # Check the value of `RUN_SYSTEM_TESTS` env var. It defaults to true. - if os.environ.get("RUN_SYSTEM_TESTS", "true") == "false": - session.skip("RUN_SYSTEM_TESTS is set to false, skipping") - # Install pyopenssl for mTLS testing. - if os.environ.get("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true": - session.install("pyopenssl") - - system_test_exists = os.path.exists(system_test_path) - system_test_folder_exists = os.path.exists(system_test_folder_path) - # Sanity check: only run tests if found. - if not system_test_exists and not system_test_folder_exists: - session.skip("System tests were not found") - - install_systemtest_dependencies(session, "-c", constraints_path) - - # Run py.test against the system tests. - if system_test_exists: - session.run( - "py.test", - "--quiet", - f"--junitxml=system_{session.python}_sponge_log.xml", - system_test_path, - *session.posargs, - ) - if system_test_folder_exists: - session.run( - "py.test", - "--quiet", - f"--junitxml=system_{session.python}_sponge_log.xml", - system_test_folder_path, - *session.posargs, - ) - - @nox.session(python="3.9") def docs(session): """Build the docs for this library.""" @@ -399,7 +439,16 @@ def docfx(session): ) -@nox.session(python=UNIT_TEST_PYTHON_VERSIONS) -def unit(session): - """Run the unit test suite.""" - default(session) +@nox.session(python="3.8") +def lint(session): + """Run linters. + + Returns a failure if the linters find linting errors or sufficiently + serious code quality issues. + """ + session.install("flake8", BLACK_VERSION) + session.run( + "black", + "--check", + *LINT_PATHS, + ) diff --git a/scripts/decrypt-secrets.sh b/scripts/decrypt-secrets.sh index 0018b42..120b0dd 100755 --- a/scripts/decrypt-secrets.sh +++ b/scripts/decrypt-secrets.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2023 Google LLC All rights reserved. +# Copyright 2024 Google LLC All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/scripts/readme-gen/readme_gen.py b/scripts/readme-gen/readme_gen.py index 1acc119..8f5e248 100644 --- a/scripts/readme-gen/readme_gen.py +++ b/scripts/readme-gen/readme_gen.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# Copyright 2023 Google LLC +# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/setup.py b/setup.py index 9fefb46..1eceba4 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ name = "google-cloud-access-context-manager" description = "Google Cloud Access Context Manager Protobufs" -version = "0.2.0" +version = "0.2.1" # Should be one of: # 'Development Status :: 3 - Alpha' # 'Development Status :: 4 - Beta' @@ -30,7 +30,7 @@ release_status = "Development Status :: 4 - Beta" dependencies = [ "google-api-core[grpc] >= 1.34.1, <3.0.0dev,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*", - "protobuf>=3.19.5,<5.0.0dev,!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", + "protobuf>=3.20.2,<6.0.0dev,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", ] # Setup boilerplate below this line. diff --git a/testing/constraints-3.7.txt b/testing/constraints-3.7.txt index 7a1c665..5dccad8 100644 --- a/testing/constraints-3.7.txt +++ b/testing/constraints-3.7.txt @@ -5,5 +5,5 @@ # # e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", # Then this file should have foo==1.14.0 -protobuf==3.19.5 +protobuf==3.20.2 google-api-core==1.34.1