diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/.coveragerc b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/.coveragerc deleted file mode 100644 index a3d09d1eff6a..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/.coveragerc +++ /dev/null @@ -1,13 +0,0 @@ -[run] -branch = True - -[report] -show_missing = True -omit = - google/cloud/recaptchaenterprise/__init__.py - google/cloud/recaptchaenterprise/gapic_version.py -exclude_lines = - # Re-enable the standard pragma - pragma: NO COVER - # Ignore debug-only repr - def __repr__ diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/.flake8 b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/.flake8 deleted file mode 100644 index 29227d4cf419..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/.flake8 +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Copyright 2020 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 -# -# https://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. - -# Generated by synthtool. DO NOT EDIT! -[flake8] -ignore = E203, E266, E501, W503 -exclude = - # Exclude generated code. - **/proto/** - **/gapic/** - **/services/** - **/types/** - *_pb2.py - - # Standard linting exemptions. - **/.nox/** - __pycache__, - .git, - *.pyc, - conf.py diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/MANIFEST.in b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/MANIFEST.in deleted file mode 100644 index 2ebaff4460d8..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/MANIFEST.in +++ /dev/null @@ -1,2 +0,0 @@ -recursive-include google/cloud/recaptchaenterprise *.py -recursive-include google/cloud/recaptchaenterprise_v1 *.py diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/README.rst b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/README.rst deleted file mode 100644 index dd39e48797f2..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/README.rst +++ /dev/null @@ -1,49 +0,0 @@ -Python Client for Google Cloud Recaptchaenterprise API -================================================= - -Quick Start ------------ - -In order to use this library, you first need to go through the following steps: - -1. `Select or create a Cloud Platform project.`_ -2. `Enable billing for your project.`_ -3. Enable the Google Cloud Recaptchaenterprise API. -4. `Setup Authentication.`_ - -.. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project -.. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project -.. _Setup Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html - -Installation -~~~~~~~~~~~~ - -Install this library in a `virtualenv`_ using pip. `virtualenv`_ is a tool to -create isolated Python environments. The basic problem it addresses is one of -dependencies and versions, and indirectly permissions. - -With `virtualenv`_, it's possible to install this library without needing system -install permissions, and without clashing with the installed system -dependencies. - -.. _`virtualenv`: https://virtualenv.pypa.io/en/latest/ - - -Mac/Linux -^^^^^^^^^ - -.. code-block:: console - - python3 -m venv - source /bin/activate - /bin/pip install /path/to/library - - -Windows -^^^^^^^ - -.. code-block:: console - - python3 -m venv - \Scripts\activate - \Scripts\pip.exe install \path\to\library diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/_static/custom.css b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/_static/custom.css deleted file mode 100644 index 06423be0b592..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/_static/custom.css +++ /dev/null @@ -1,3 +0,0 @@ -dl.field-list > dt { - min-width: 100px -} diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/conf.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/conf.py deleted file mode 100644 index 08173c8380a5..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/conf.py +++ /dev/null @@ -1,376 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# -# google-cloud-recaptcha-enterprise documentation build configuration file -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys -import os -import shlex - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath("..")) - -__version__ = "0.1.0" - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -needs_sphinx = "4.0.1" - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - "sphinx.ext.autodoc", - "sphinx.ext.autosummary", - "sphinx.ext.intersphinx", - "sphinx.ext.coverage", - "sphinx.ext.napoleon", - "sphinx.ext.todo", - "sphinx.ext.viewcode", -] - -# autodoc/autosummary flags -autoclass_content = "both" -autodoc_default_flags = ["members"] -autosummary_generate = True - - -# Add any paths that contain templates here, relative to this directory. -templates_path = ["_templates"] - -# Allow markdown includes (so releases.md can include CHANGLEOG.md) -# http://www.sphinx-doc.org/en/master/markdown.html -source_parsers = {".md": "recommonmark.parser.CommonMarkParser"} - -# The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -source_suffix = [".rst", ".md"] - -# The encoding of source files. -# source_encoding = 'utf-8-sig' - -# The root toctree document. -root_doc = "index" - -# General information about the project. -project = u"google-cloud-recaptcha-enterprise" -copyright = u"2023, Google, LLC" -author = u"Google APIs" # TODO: autogenerate this bit - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The full version, including alpha/beta/rc tags. -release = __version__ -# The short X.Y version. -version = ".".join(release.split(".")[0:2]) - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = 'en' - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -# today = '' -# Else, today_fmt is used as the format for a strftime call. -# today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ["_build"] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -# default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -# add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -# add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -# show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = "sphinx" - -# A list of ignored prefixes for module index sorting. -# modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -# keep_warnings = False - -# If true, `todo` and `todoList` produce output, else they produce nothing. -todo_include_todos = True - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = "alabaster" - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -html_theme_options = { - "description": "Google Cloud Client Libraries for Python", - "github_user": "googleapis", - "github_repo": "google-cloud-python", - "github_banner": True, - "font_family": "'Roboto', Georgia, sans", - "head_font_family": "'Roboto', Georgia, serif", - "code_font_family": "'Roboto Mono', 'Consolas', monospace", -} - -# Add any paths that contain custom themes here, relative to this directory. -# html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -# html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -# html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -# html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -# html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["_static"] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -# html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -# html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -# html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -# html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -# html_additional_pages = {} - -# If false, no module index is generated. -# html_domain_indices = True - -# If false, no index is generated. -# html_use_index = True - -# If true, the index is split into individual pages for each letter. -# html_split_index = False - -# If true, links to the reST sources are added to the pages. -# html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -# html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -# html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -# html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -# html_file_suffix = None - -# Language to be used for generating the HTML full-text search index. -# Sphinx supports the following languages: -# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' -# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' -# html_search_language = 'en' - -# A dictionary with options for the search language support, empty by default. -# Now only 'ja' uses this config value -# html_search_options = {'type': 'default'} - -# The name of a javascript file (relative to the configuration directory) that -# implements a search results scorer. If empty, the default will be used. -# html_search_scorer = 'scorer.js' - -# Output file base name for HTML help builder. -htmlhelp_basename = "google-cloud-recaptcha-enterprise-doc" - -# -- Options for warnings ------------------------------------------------------ - - -suppress_warnings = [ - # Temporarily suppress this to avoid "more than one target found for - # cross-reference" warning, which are intractable for us to avoid while in - # a mono-repo. - # See https://github.com/sphinx-doc/sphinx/blob - # /2a65ffeef5c107c19084fabdd706cdff3f52d93c/sphinx/domains/python.py#L843 - "ref.python" -] - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - # 'papersize': 'letterpaper', - # The font size ('10pt', '11pt' or '12pt'). - # 'pointsize': '10pt', - # Additional stuff for the LaTeX preamble. - # 'preamble': '', - # Latex figure (float) alignment - # 'figure_align': 'htbp', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - ( - root_doc, - "google-cloud-recaptcha-enterprise.tex", - u"google-cloud-recaptcha-enterprise Documentation", - author, - "manual", - ) -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -# latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -# latex_use_parts = False - -# If true, show page references after internal links. -# latex_show_pagerefs = False - -# If true, show URL addresses after external links. -# latex_show_urls = False - -# Documents to append as an appendix to all manuals. -# latex_appendices = [] - -# If false, no module index is generated. -# latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ( - root_doc, - "google-cloud-recaptcha-enterprise", - u"Google Cloud Recaptchaenterprise Documentation", - [author], - 1, - ) -] - -# If true, show URL addresses after external links. -# man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ( - root_doc, - "google-cloud-recaptcha-enterprise", - u"google-cloud-recaptcha-enterprise Documentation", - author, - "google-cloud-recaptcha-enterprise", - "GAPIC library for Google Cloud Recaptchaenterprise API", - "APIs", - ) -] - -# Documents to append as an appendix to all manuals. -# texinfo_appendices = [] - -# If false, no module index is generated. -# texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -# texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -# texinfo_no_detailmenu = False - - -# Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = { - "python": ("http://python.readthedocs.org/en/latest/", None), - "gax": ("https://gax-python.readthedocs.org/en/latest/", None), - "google-auth": ("https://google-auth.readthedocs.io/en/stable", None), - "google-gax": ("https://gax-python.readthedocs.io/en/latest/", None), - "google.api_core": ("https://googleapis.dev/python/google-api-core/latest/", None), - "grpc": ("https://grpc.io/grpc/python/", None), - "requests": ("http://requests.kennethreitz.org/en/stable/", None), - "proto": ("https://proto-plus-python.readthedocs.io/en/stable", None), - "protobuf": ("https://googleapis.dev/python/protobuf/latest/", None), -} - - -# Napoleon settings -napoleon_google_docstring = True -napoleon_numpy_docstring = True -napoleon_include_private_with_doc = False -napoleon_include_special_with_doc = True -napoleon_use_admonition_for_examples = False -napoleon_use_admonition_for_notes = False -napoleon_use_admonition_for_references = False -napoleon_use_ivar = False -napoleon_use_param = True -napoleon_use_rtype = True diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/index.rst b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/index.rst deleted file mode 100644 index 1e69c1dbfa3b..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/index.rst +++ /dev/null @@ -1,7 +0,0 @@ -API Reference -------------- -.. toctree:: - :maxdepth: 2 - - recaptchaenterprise_v1/services_ - recaptchaenterprise_v1/types_ diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/recaptchaenterprise_v1/recaptcha_enterprise_service.rst b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/recaptchaenterprise_v1/recaptcha_enterprise_service.rst deleted file mode 100644 index 5031186993b1..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/recaptchaenterprise_v1/recaptcha_enterprise_service.rst +++ /dev/null @@ -1,10 +0,0 @@ -RecaptchaEnterpriseService --------------------------------------------- - -.. automodule:: google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service - :members: - :inherited-members: - -.. automodule:: google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers - :members: - :inherited-members: diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/recaptchaenterprise_v1/services_.rst b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/recaptchaenterprise_v1/services_.rst deleted file mode 100644 index 4211502c298e..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/recaptchaenterprise_v1/services_.rst +++ /dev/null @@ -1,6 +0,0 @@ -Services for Google Cloud Recaptchaenterprise v1 API -==================================================== -.. toctree:: - :maxdepth: 2 - - recaptcha_enterprise_service diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/recaptchaenterprise_v1/types_.rst b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/recaptchaenterprise_v1/types_.rst deleted file mode 100644 index 788d8d5e2905..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/docs/recaptchaenterprise_v1/types_.rst +++ /dev/null @@ -1,6 +0,0 @@ -Types for Google Cloud Recaptchaenterprise v1 API -================================================= - -.. automodule:: google.cloud.recaptchaenterprise_v1.types - :members: - :show-inheritance: diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise/__init__.py deleted file mode 100644 index ea8aa4928daa..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise/__init__.py +++ /dev/null @@ -1,163 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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 google.cloud.recaptchaenterprise import gapic_version as package_version - -__version__ = package_version.__version__ - - -from google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.client import RecaptchaEnterpriseServiceClient -from google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.async_client import RecaptchaEnterpriseServiceAsyncClient - -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import AccountDefenderAssessment -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import AccountVerificationInfo -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import AddIpOverrideRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import AddIpOverrideResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import AndroidKeySettings -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import AnnotateAssessmentRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import AnnotateAssessmentResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import AppleDeveloperId -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import Assessment -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import AssessmentEnvironment -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ChallengeMetrics -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import CreateAssessmentRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import CreateFirewallPolicyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import CreateKeyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import DeleteFirewallPolicyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import DeleteKeyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import EndpointVerificationInfo -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import Event -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ExpressKeySettings -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import FirewallAction -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import FirewallPolicy -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import FirewallPolicyAssessment -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import FraudPreventionAssessment -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import FraudSignals -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import GetFirewallPolicyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import GetKeyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import GetMetricsRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import IOSKeySettings -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import IpOverrideData -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import Key -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListFirewallPoliciesRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListFirewallPoliciesResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListIpOverridesRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListIpOverridesResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListKeysRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListKeysResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListRelatedAccountGroupMembershipsRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListRelatedAccountGroupMembershipsResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListRelatedAccountGroupsRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ListRelatedAccountGroupsResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import Metrics -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import MigrateKeyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import PhoneFraudAssessment -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import PrivatePasswordLeakVerification -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import RelatedAccountGroup -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import RelatedAccountGroupMembership -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import RemoveIpOverrideRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import RemoveIpOverrideResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ReorderFirewallPoliciesRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ReorderFirewallPoliciesResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import RetrieveLegacySecretKeyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import RetrieveLegacySecretKeyResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import RiskAnalysis -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ScoreDistribution -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import ScoreMetrics -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import SearchRelatedAccountGroupMembershipsRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import SearchRelatedAccountGroupMembershipsResponse -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import SmsTollFraudVerdict -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import TestingOptions -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import TokenProperties -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import TransactionData -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import TransactionEvent -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import UpdateFirewallPolicyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import UpdateKeyRequest -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import UserId -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import UserInfo -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import WafSettings -from google.cloud.recaptchaenterprise_v1.types.recaptchaenterprise import WebKeySettings - -__all__ = ('RecaptchaEnterpriseServiceClient', - 'RecaptchaEnterpriseServiceAsyncClient', - 'AccountDefenderAssessment', - 'AccountVerificationInfo', - 'AddIpOverrideRequest', - 'AddIpOverrideResponse', - 'AndroidKeySettings', - 'AnnotateAssessmentRequest', - 'AnnotateAssessmentResponse', - 'AppleDeveloperId', - 'Assessment', - 'AssessmentEnvironment', - 'ChallengeMetrics', - 'CreateAssessmentRequest', - 'CreateFirewallPolicyRequest', - 'CreateKeyRequest', - 'DeleteFirewallPolicyRequest', - 'DeleteKeyRequest', - 'EndpointVerificationInfo', - 'Event', - 'ExpressKeySettings', - 'FirewallAction', - 'FirewallPolicy', - 'FirewallPolicyAssessment', - 'FraudPreventionAssessment', - 'FraudSignals', - 'GetFirewallPolicyRequest', - 'GetKeyRequest', - 'GetMetricsRequest', - 'IOSKeySettings', - 'IpOverrideData', - 'Key', - 'ListFirewallPoliciesRequest', - 'ListFirewallPoliciesResponse', - 'ListIpOverridesRequest', - 'ListIpOverridesResponse', - 'ListKeysRequest', - 'ListKeysResponse', - 'ListRelatedAccountGroupMembershipsRequest', - 'ListRelatedAccountGroupMembershipsResponse', - 'ListRelatedAccountGroupsRequest', - 'ListRelatedAccountGroupsResponse', - 'Metrics', - 'MigrateKeyRequest', - 'PhoneFraudAssessment', - 'PrivatePasswordLeakVerification', - 'RelatedAccountGroup', - 'RelatedAccountGroupMembership', - 'RemoveIpOverrideRequest', - 'RemoveIpOverrideResponse', - 'ReorderFirewallPoliciesRequest', - 'ReorderFirewallPoliciesResponse', - 'RetrieveLegacySecretKeyRequest', - 'RetrieveLegacySecretKeyResponse', - 'RiskAnalysis', - 'ScoreDistribution', - 'ScoreMetrics', - 'SearchRelatedAccountGroupMembershipsRequest', - 'SearchRelatedAccountGroupMembershipsResponse', - 'SmsTollFraudVerdict', - 'TestingOptions', - 'TokenProperties', - 'TransactionData', - 'TransactionEvent', - 'UpdateFirewallPolicyRequest', - 'UpdateKeyRequest', - 'UserId', - 'UserInfo', - 'WafSettings', - 'WebKeySettings', -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise/gapic_version.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise/gapic_version.py deleted file mode 100644 index 558c8aab67c5..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise/gapic_version.py +++ /dev/null @@ -1,16 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -__version__ = "0.0.0" # {x-release-please-version} diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise/py.typed b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise/py.typed deleted file mode 100644 index 2c6a51a5fb99..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise/py.typed +++ /dev/null @@ -1,2 +0,0 @@ -# Marker file for PEP 561. -# The google-cloud-recaptcha-enterprise package uses inline types. diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/__init__.py deleted file mode 100644 index 99ca3aaa8cf4..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/__init__.py +++ /dev/null @@ -1,164 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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 google.cloud.recaptchaenterprise_v1 import gapic_version as package_version - -__version__ = package_version.__version__ - - -from .services.recaptcha_enterprise_service import RecaptchaEnterpriseServiceClient -from .services.recaptcha_enterprise_service import RecaptchaEnterpriseServiceAsyncClient - -from .types.recaptchaenterprise import AccountDefenderAssessment -from .types.recaptchaenterprise import AccountVerificationInfo -from .types.recaptchaenterprise import AddIpOverrideRequest -from .types.recaptchaenterprise import AddIpOverrideResponse -from .types.recaptchaenterprise import AndroidKeySettings -from .types.recaptchaenterprise import AnnotateAssessmentRequest -from .types.recaptchaenterprise import AnnotateAssessmentResponse -from .types.recaptchaenterprise import AppleDeveloperId -from .types.recaptchaenterprise import Assessment -from .types.recaptchaenterprise import AssessmentEnvironment -from .types.recaptchaenterprise import ChallengeMetrics -from .types.recaptchaenterprise import CreateAssessmentRequest -from .types.recaptchaenterprise import CreateFirewallPolicyRequest -from .types.recaptchaenterprise import CreateKeyRequest -from .types.recaptchaenterprise import DeleteFirewallPolicyRequest -from .types.recaptchaenterprise import DeleteKeyRequest -from .types.recaptchaenterprise import EndpointVerificationInfo -from .types.recaptchaenterprise import Event -from .types.recaptchaenterprise import ExpressKeySettings -from .types.recaptchaenterprise import FirewallAction -from .types.recaptchaenterprise import FirewallPolicy -from .types.recaptchaenterprise import FirewallPolicyAssessment -from .types.recaptchaenterprise import FraudPreventionAssessment -from .types.recaptchaenterprise import FraudSignals -from .types.recaptchaenterprise import GetFirewallPolicyRequest -from .types.recaptchaenterprise import GetKeyRequest -from .types.recaptchaenterprise import GetMetricsRequest -from .types.recaptchaenterprise import IOSKeySettings -from .types.recaptchaenterprise import IpOverrideData -from .types.recaptchaenterprise import Key -from .types.recaptchaenterprise import ListFirewallPoliciesRequest -from .types.recaptchaenterprise import ListFirewallPoliciesResponse -from .types.recaptchaenterprise import ListIpOverridesRequest -from .types.recaptchaenterprise import ListIpOverridesResponse -from .types.recaptchaenterprise import ListKeysRequest -from .types.recaptchaenterprise import ListKeysResponse -from .types.recaptchaenterprise import ListRelatedAccountGroupMembershipsRequest -from .types.recaptchaenterprise import ListRelatedAccountGroupMembershipsResponse -from .types.recaptchaenterprise import ListRelatedAccountGroupsRequest -from .types.recaptchaenterprise import ListRelatedAccountGroupsResponse -from .types.recaptchaenterprise import Metrics -from .types.recaptchaenterprise import MigrateKeyRequest -from .types.recaptchaenterprise import PhoneFraudAssessment -from .types.recaptchaenterprise import PrivatePasswordLeakVerification -from .types.recaptchaenterprise import RelatedAccountGroup -from .types.recaptchaenterprise import RelatedAccountGroupMembership -from .types.recaptchaenterprise import RemoveIpOverrideRequest -from .types.recaptchaenterprise import RemoveIpOverrideResponse -from .types.recaptchaenterprise import ReorderFirewallPoliciesRequest -from .types.recaptchaenterprise import ReorderFirewallPoliciesResponse -from .types.recaptchaenterprise import RetrieveLegacySecretKeyRequest -from .types.recaptchaenterprise import RetrieveLegacySecretKeyResponse -from .types.recaptchaenterprise import RiskAnalysis -from .types.recaptchaenterprise import ScoreDistribution -from .types.recaptchaenterprise import ScoreMetrics -from .types.recaptchaenterprise import SearchRelatedAccountGroupMembershipsRequest -from .types.recaptchaenterprise import SearchRelatedAccountGroupMembershipsResponse -from .types.recaptchaenterprise import SmsTollFraudVerdict -from .types.recaptchaenterprise import TestingOptions -from .types.recaptchaenterprise import TokenProperties -from .types.recaptchaenterprise import TransactionData -from .types.recaptchaenterprise import TransactionEvent -from .types.recaptchaenterprise import UpdateFirewallPolicyRequest -from .types.recaptchaenterprise import UpdateKeyRequest -from .types.recaptchaenterprise import UserId -from .types.recaptchaenterprise import UserInfo -from .types.recaptchaenterprise import WafSettings -from .types.recaptchaenterprise import WebKeySettings - -__all__ = ( - 'RecaptchaEnterpriseServiceAsyncClient', -'AccountDefenderAssessment', -'AccountVerificationInfo', -'AddIpOverrideRequest', -'AddIpOverrideResponse', -'AndroidKeySettings', -'AnnotateAssessmentRequest', -'AnnotateAssessmentResponse', -'AppleDeveloperId', -'Assessment', -'AssessmentEnvironment', -'ChallengeMetrics', -'CreateAssessmentRequest', -'CreateFirewallPolicyRequest', -'CreateKeyRequest', -'DeleteFirewallPolicyRequest', -'DeleteKeyRequest', -'EndpointVerificationInfo', -'Event', -'ExpressKeySettings', -'FirewallAction', -'FirewallPolicy', -'FirewallPolicyAssessment', -'FraudPreventionAssessment', -'FraudSignals', -'GetFirewallPolicyRequest', -'GetKeyRequest', -'GetMetricsRequest', -'IOSKeySettings', -'IpOverrideData', -'Key', -'ListFirewallPoliciesRequest', -'ListFirewallPoliciesResponse', -'ListIpOverridesRequest', -'ListIpOverridesResponse', -'ListKeysRequest', -'ListKeysResponse', -'ListRelatedAccountGroupMembershipsRequest', -'ListRelatedAccountGroupMembershipsResponse', -'ListRelatedAccountGroupsRequest', -'ListRelatedAccountGroupsResponse', -'Metrics', -'MigrateKeyRequest', -'PhoneFraudAssessment', -'PrivatePasswordLeakVerification', -'RecaptchaEnterpriseServiceClient', -'RelatedAccountGroup', -'RelatedAccountGroupMembership', -'RemoveIpOverrideRequest', -'RemoveIpOverrideResponse', -'ReorderFirewallPoliciesRequest', -'ReorderFirewallPoliciesResponse', -'RetrieveLegacySecretKeyRequest', -'RetrieveLegacySecretKeyResponse', -'RiskAnalysis', -'ScoreDistribution', -'ScoreMetrics', -'SearchRelatedAccountGroupMembershipsRequest', -'SearchRelatedAccountGroupMembershipsResponse', -'SmsTollFraudVerdict', -'TestingOptions', -'TokenProperties', -'TransactionData', -'TransactionEvent', -'UpdateFirewallPolicyRequest', -'UpdateKeyRequest', -'UserId', -'UserInfo', -'WafSettings', -'WebKeySettings', -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/gapic_metadata.json b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/gapic_metadata.json deleted file mode 100644 index fc9061dcda44..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/gapic_metadata.json +++ /dev/null @@ -1,243 +0,0 @@ - { - "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", - "language": "python", - "libraryPackage": "google.cloud.recaptchaenterprise_v1", - "protoPackage": "google.cloud.recaptchaenterprise.v1", - "schema": "1.0", - "services": { - "RecaptchaEnterpriseService": { - "clients": { - "grpc": { - "libraryClient": "RecaptchaEnterpriseServiceClient", - "rpcs": { - "AddIpOverride": { - "methods": [ - "add_ip_override" - ] - }, - "AnnotateAssessment": { - "methods": [ - "annotate_assessment" - ] - }, - "CreateAssessment": { - "methods": [ - "create_assessment" - ] - }, - "CreateFirewallPolicy": { - "methods": [ - "create_firewall_policy" - ] - }, - "CreateKey": { - "methods": [ - "create_key" - ] - }, - "DeleteFirewallPolicy": { - "methods": [ - "delete_firewall_policy" - ] - }, - "DeleteKey": { - "methods": [ - "delete_key" - ] - }, - "GetFirewallPolicy": { - "methods": [ - "get_firewall_policy" - ] - }, - "GetKey": { - "methods": [ - "get_key" - ] - }, - "GetMetrics": { - "methods": [ - "get_metrics" - ] - }, - "ListFirewallPolicies": { - "methods": [ - "list_firewall_policies" - ] - }, - "ListIpOverrides": { - "methods": [ - "list_ip_overrides" - ] - }, - "ListKeys": { - "methods": [ - "list_keys" - ] - }, - "ListRelatedAccountGroupMemberships": { - "methods": [ - "list_related_account_group_memberships" - ] - }, - "ListRelatedAccountGroups": { - "methods": [ - "list_related_account_groups" - ] - }, - "MigrateKey": { - "methods": [ - "migrate_key" - ] - }, - "RemoveIpOverride": { - "methods": [ - "remove_ip_override" - ] - }, - "ReorderFirewallPolicies": { - "methods": [ - "reorder_firewall_policies" - ] - }, - "RetrieveLegacySecretKey": { - "methods": [ - "retrieve_legacy_secret_key" - ] - }, - "SearchRelatedAccountGroupMemberships": { - "methods": [ - "search_related_account_group_memberships" - ] - }, - "UpdateFirewallPolicy": { - "methods": [ - "update_firewall_policy" - ] - }, - "UpdateKey": { - "methods": [ - "update_key" - ] - } - } - }, - "grpc-async": { - "libraryClient": "RecaptchaEnterpriseServiceAsyncClient", - "rpcs": { - "AddIpOverride": { - "methods": [ - "add_ip_override" - ] - }, - "AnnotateAssessment": { - "methods": [ - "annotate_assessment" - ] - }, - "CreateAssessment": { - "methods": [ - "create_assessment" - ] - }, - "CreateFirewallPolicy": { - "methods": [ - "create_firewall_policy" - ] - }, - "CreateKey": { - "methods": [ - "create_key" - ] - }, - "DeleteFirewallPolicy": { - "methods": [ - "delete_firewall_policy" - ] - }, - "DeleteKey": { - "methods": [ - "delete_key" - ] - }, - "GetFirewallPolicy": { - "methods": [ - "get_firewall_policy" - ] - }, - "GetKey": { - "methods": [ - "get_key" - ] - }, - "GetMetrics": { - "methods": [ - "get_metrics" - ] - }, - "ListFirewallPolicies": { - "methods": [ - "list_firewall_policies" - ] - }, - "ListIpOverrides": { - "methods": [ - "list_ip_overrides" - ] - }, - "ListKeys": { - "methods": [ - "list_keys" - ] - }, - "ListRelatedAccountGroupMemberships": { - "methods": [ - "list_related_account_group_memberships" - ] - }, - "ListRelatedAccountGroups": { - "methods": [ - "list_related_account_groups" - ] - }, - "MigrateKey": { - "methods": [ - "migrate_key" - ] - }, - "RemoveIpOverride": { - "methods": [ - "remove_ip_override" - ] - }, - "ReorderFirewallPolicies": { - "methods": [ - "reorder_firewall_policies" - ] - }, - "RetrieveLegacySecretKey": { - "methods": [ - "retrieve_legacy_secret_key" - ] - }, - "SearchRelatedAccountGroupMemberships": { - "methods": [ - "search_related_account_group_memberships" - ] - }, - "UpdateFirewallPolicy": { - "methods": [ - "update_firewall_policy" - ] - }, - "UpdateKey": { - "methods": [ - "update_key" - ] - } - } - } - } - } - } -} diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/gapic_version.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/gapic_version.py deleted file mode 100644 index 558c8aab67c5..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/gapic_version.py +++ /dev/null @@ -1,16 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -__version__ = "0.0.0" # {x-release-please-version} diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/py.typed b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/py.typed deleted file mode 100644 index 2c6a51a5fb99..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/py.typed +++ /dev/null @@ -1,2 +0,0 @@ -# Marker file for PEP 561. -# The google-cloud-recaptcha-enterprise package uses inline types. diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/__init__.py deleted file mode 100644 index 8f6cf068242c..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/__init__.py deleted file mode 100644 index 566f3ddb0c32..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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 .client import RecaptchaEnterpriseServiceClient -from .async_client import RecaptchaEnterpriseServiceAsyncClient - -__all__ = ( - 'RecaptchaEnterpriseServiceClient', - 'RecaptchaEnterpriseServiceAsyncClient', -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/async_client.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/async_client.py deleted file mode 100644 index 7abf7a34217a..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/async_client.py +++ /dev/null @@ -1,2715 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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 collections import OrderedDict -import re -from typing import Dict, Callable, Mapping, MutableMapping, MutableSequence, Optional, Sequence, Tuple, Type, Union - -from google.cloud.recaptchaenterprise_v1 import gapic_version as package_version - -from google.api_core.client_options import ClientOptions -from google.api_core import exceptions as core_exceptions -from google.api_core import gapic_v1 -from google.api_core import retry_async as retries -from google.auth import credentials as ga_credentials # type: ignore -from google.oauth2 import service_account # type: ignore - - -try: - OptionalRetry = Union[retries.AsyncRetry, gapic_v1.method._MethodDefault, None] -except AttributeError: # pragma: NO COVER - OptionalRetry = Union[retries.AsyncRetry, object, None] # type: ignore - -from google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service import pagers -from google.cloud.recaptchaenterprise_v1.types import recaptchaenterprise -from google.protobuf import field_mask_pb2 # type: ignore -from google.protobuf import timestamp_pb2 # type: ignore -from .transports.base import RecaptchaEnterpriseServiceTransport, DEFAULT_CLIENT_INFO -from .transports.grpc_asyncio import RecaptchaEnterpriseServiceGrpcAsyncIOTransport -from .client import RecaptchaEnterpriseServiceClient - - -class RecaptchaEnterpriseServiceAsyncClient: - """Service to determine the likelihood an event is legitimate.""" - - _client: RecaptchaEnterpriseServiceClient - - # Copy defaults from the synchronous client for use here. - # Note: DEFAULT_ENDPOINT is deprecated. Use _DEFAULT_ENDPOINT_TEMPLATE instead. - DEFAULT_ENDPOINT = RecaptchaEnterpriseServiceClient.DEFAULT_ENDPOINT - DEFAULT_MTLS_ENDPOINT = RecaptchaEnterpriseServiceClient.DEFAULT_MTLS_ENDPOINT - _DEFAULT_ENDPOINT_TEMPLATE = RecaptchaEnterpriseServiceClient._DEFAULT_ENDPOINT_TEMPLATE - _DEFAULT_UNIVERSE = RecaptchaEnterpriseServiceClient._DEFAULT_UNIVERSE - - assessment_path = staticmethod(RecaptchaEnterpriseServiceClient.assessment_path) - parse_assessment_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_assessment_path) - firewall_policy_path = staticmethod(RecaptchaEnterpriseServiceClient.firewall_policy_path) - parse_firewall_policy_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_firewall_policy_path) - key_path = staticmethod(RecaptchaEnterpriseServiceClient.key_path) - parse_key_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_key_path) - metrics_path = staticmethod(RecaptchaEnterpriseServiceClient.metrics_path) - parse_metrics_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_metrics_path) - related_account_group_path = staticmethod(RecaptchaEnterpriseServiceClient.related_account_group_path) - parse_related_account_group_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_related_account_group_path) - related_account_group_membership_path = staticmethod(RecaptchaEnterpriseServiceClient.related_account_group_membership_path) - parse_related_account_group_membership_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_related_account_group_membership_path) - common_billing_account_path = staticmethod(RecaptchaEnterpriseServiceClient.common_billing_account_path) - parse_common_billing_account_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_common_billing_account_path) - common_folder_path = staticmethod(RecaptchaEnterpriseServiceClient.common_folder_path) - parse_common_folder_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_common_folder_path) - common_organization_path = staticmethod(RecaptchaEnterpriseServiceClient.common_organization_path) - parse_common_organization_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_common_organization_path) - common_project_path = staticmethod(RecaptchaEnterpriseServiceClient.common_project_path) - parse_common_project_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_common_project_path) - common_location_path = staticmethod(RecaptchaEnterpriseServiceClient.common_location_path) - parse_common_location_path = staticmethod(RecaptchaEnterpriseServiceClient.parse_common_location_path) - - @classmethod - def from_service_account_info(cls, info: dict, *args, **kwargs): - """Creates an instance of this client using the provided credentials - info. - - Args: - info (dict): The service account private key info. - args: Additional arguments to pass to the constructor. - kwargs: Additional arguments to pass to the constructor. - - Returns: - RecaptchaEnterpriseServiceAsyncClient: The constructed client. - """ - return RecaptchaEnterpriseServiceClient.from_service_account_info.__func__(RecaptchaEnterpriseServiceAsyncClient, info, *args, **kwargs) # type: ignore - - @classmethod - def from_service_account_file(cls, filename: str, *args, **kwargs): - """Creates an instance of this client using the provided credentials - file. - - Args: - filename (str): The path to the service account private key json - file. - args: Additional arguments to pass to the constructor. - kwargs: Additional arguments to pass to the constructor. - - Returns: - RecaptchaEnterpriseServiceAsyncClient: The constructed client. - """ - return RecaptchaEnterpriseServiceClient.from_service_account_file.__func__(RecaptchaEnterpriseServiceAsyncClient, filename, *args, **kwargs) # type: ignore - - from_service_account_json = from_service_account_file - - @classmethod - def get_mtls_endpoint_and_cert_source(cls, client_options: Optional[ClientOptions] = None): - """Return the API endpoint and client cert source for mutual TLS. - - The client cert source is determined in the following order: - (1) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is not "true", the - client cert source is None. - (2) if `client_options.client_cert_source` is provided, use the provided one; if the - default client cert source exists, use the default one; otherwise the client cert - source is None. - - The API endpoint is determined in the following order: - (1) if `client_options.api_endpoint` if provided, use the provided one. - (2) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is "always", use the - default mTLS endpoint; if the environment variable is "never", use the default API - endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise - use the default API endpoint. - - More details can be found at https://google.aip.dev/auth/4114. - - Args: - client_options (google.api_core.client_options.ClientOptions): Custom options for the - client. Only the `api_endpoint` and `client_cert_source` properties may be used - in this method. - - Returns: - Tuple[str, Callable[[], Tuple[bytes, bytes]]]: returns the API endpoint and the - client cert source to use. - - Raises: - google.auth.exceptions.MutualTLSChannelError: If any errors happen. - """ - return RecaptchaEnterpriseServiceClient.get_mtls_endpoint_and_cert_source(client_options) # type: ignore - - @property - def transport(self) -> RecaptchaEnterpriseServiceTransport: - """Returns the transport used by the client instance. - - Returns: - RecaptchaEnterpriseServiceTransport: The transport used by the client instance. - """ - return self._client.transport - - @property - def api_endpoint(self): - """Return the API endpoint used by the client instance. - - Returns: - str: The API endpoint used by the client instance. - """ - return self._client._api_endpoint - - @property - def universe_domain(self) -> str: - """Return the universe domain used by the client instance. - - Returns: - str: The universe domain used - by the client instance. - """ - return self._client._universe_domain - - get_transport_class = RecaptchaEnterpriseServiceClient.get_transport_class - - def __init__(self, *, - credentials: Optional[ga_credentials.Credentials] = None, - transport: Optional[Union[str, RecaptchaEnterpriseServiceTransport, Callable[..., RecaptchaEnterpriseServiceTransport]]] = "grpc_asyncio", - client_options: Optional[ClientOptions] = None, - client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, - ) -> None: - """Instantiates the recaptcha enterprise service async client. - - Args: - credentials (Optional[google.auth.credentials.Credentials]): The - authorization credentials to attach to requests. These - credentials identify the application to the service; if none - are specified, the client will attempt to ascertain the - credentials from the environment. - transport (Optional[Union[str,RecaptchaEnterpriseServiceTransport,Callable[..., RecaptchaEnterpriseServiceTransport]]]): - The transport to use, or a Callable that constructs and returns a new transport to use. - If a Callable is given, it will be called with the same set of initialization - arguments as used in the RecaptchaEnterpriseServiceTransport constructor. - If set to None, a transport is chosen automatically. - client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]): - Custom options for the client. - - 1. The ``api_endpoint`` property can be used to override the - default endpoint provided by the client when ``transport`` is - not explicitly provided. Only if this property is not set and - ``transport`` was not explicitly provided, the endpoint is - determined by the GOOGLE_API_USE_MTLS_ENDPOINT environment - variable, which have one of the following values: - "always" (always use the default mTLS endpoint), "never" (always - use the default regular endpoint) and "auto" (auto-switch to the - default mTLS endpoint if client certificate is present; this is - the default value). - - 2. If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable - is "true", then the ``client_cert_source`` property can be used - to provide a client certificate for mTLS transport. If - not provided, the default SSL client certificate will be used if - present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not - set, no client certificate will be used. - - 3. The ``universe_domain`` property can be used to override the - default "googleapis.com" universe. Note that ``api_endpoint`` - property still takes precedence; and ``universe_domain`` is - currently not supported for mTLS. - - client_info (google.api_core.gapic_v1.client_info.ClientInfo): - The client info used to send a user-agent string along with - API requests. If ``None``, then default info will be used. - Generally, you only need to set this if you're developing - your own client library. - - Raises: - google.auth.exceptions.MutualTlsChannelError: If mutual TLS transport - creation failed for any reason. - """ - self._client = RecaptchaEnterpriseServiceClient( - credentials=credentials, - transport=transport, - client_options=client_options, - client_info=client_info, - - ) - - async def create_assessment(self, - request: Optional[Union[recaptchaenterprise.CreateAssessmentRequest, dict]] = None, - *, - parent: Optional[str] = None, - assessment: Optional[recaptchaenterprise.Assessment] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Assessment: - r"""Creates an Assessment of the likelihood an event is - legitimate. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_create_assessment(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.CreateAssessmentRequest( - parent="parent_value", - ) - - # Make the request - response = await client.create_assessment(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.CreateAssessmentRequest, dict]]): - The request object. The create assessment request - message. - parent (:class:`str`): - Required. The name of the project in which the - assessment is created, in the format - ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - assessment (:class:`google.cloud.recaptchaenterprise_v1.types.Assessment`): - Required. The assessment details. - This corresponds to the ``assessment`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Assessment: - A reCAPTCHA Enterprise assessment - resource. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent, assessment]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.CreateAssessmentRequest): - request = recaptchaenterprise.CreateAssessmentRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - if assessment is not None: - request.assessment = assessment - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.create_assessment] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def annotate_assessment(self, - request: Optional[Union[recaptchaenterprise.AnnotateAssessmentRequest, dict]] = None, - *, - name: Optional[str] = None, - annotation: Optional[recaptchaenterprise.AnnotateAssessmentRequest.Annotation] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.AnnotateAssessmentResponse: - r"""Annotates a previously created Assessment to provide - additional information on whether the event turned out - to be authentic or fraudulent. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_annotate_assessment(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.AnnotateAssessmentRequest( - name="name_value", - ) - - # Make the request - response = await client.annotate_assessment(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest, dict]]): - The request object. The request message to annotate an - Assessment. - name (:class:`str`): - Required. The resource name of the Assessment, in the - format ``projects/{project}/assessments/{assessment}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - annotation (:class:`google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest.Annotation`): - Optional. The annotation that is - assigned to the Event. This field can be - left empty to provide reasons that apply - to an event without concluding whether - the event is legitimate or fraudulent. - - This corresponds to the ``annotation`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentResponse: - Empty response for - AnnotateAssessment. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name, annotation]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.AnnotateAssessmentRequest): - request = recaptchaenterprise.AnnotateAssessmentRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - if annotation is not None: - request.annotation = annotation - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.annotate_assessment] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def create_key(self, - request: Optional[Union[recaptchaenterprise.CreateKeyRequest, dict]] = None, - *, - parent: Optional[str] = None, - key: Optional[recaptchaenterprise.Key] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Key: - r"""Creates a new reCAPTCHA Enterprise key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_create_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - key = recaptchaenterprise_v1.Key() - key.web_settings.integration_type = "INVISIBLE" - key.display_name = "display_name_value" - - request = recaptchaenterprise_v1.CreateKeyRequest( - parent="parent_value", - key=key, - ) - - # Make the request - response = await client.create_key(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.CreateKeyRequest, dict]]): - The request object. The create key request message. - parent (:class:`str`): - Required. The name of the project in which the key is - created, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - key (:class:`google.cloud.recaptchaenterprise_v1.types.Key`): - Required. Information to create a - reCAPTCHA Enterprise key. - - This corresponds to the ``key`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Key: - A key used to identify and configure - applications (web and/or mobile) that - use reCAPTCHA Enterprise. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent, key]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.CreateKeyRequest): - request = recaptchaenterprise.CreateKeyRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - if key is not None: - request.key = key - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.create_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def list_keys(self, - request: Optional[Union[recaptchaenterprise.ListKeysRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListKeysAsyncPager: - r"""Returns the list of all keys that belong to a - project. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_list_keys(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListKeysRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_keys(request=request) - - # Handle the response - async for response in page_result: - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.ListKeysRequest, dict]]): - The request object. The list keys request message. - parent (:class:`str`): - Required. The name of the project that contains the keys - that is listed, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListKeysAsyncPager: - Response to request to list keys in a - project. - Iterating over this object will yield - results and resolve additional pages - automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListKeysRequest): - request = recaptchaenterprise.ListKeysRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.list_keys] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__aiter__` convenience method. - response = pagers.ListKeysAsyncPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def retrieve_legacy_secret_key(self, - request: Optional[Union[recaptchaenterprise.RetrieveLegacySecretKeyRequest, dict]] = None, - *, - key: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.RetrieveLegacySecretKeyResponse: - r"""Returns the secret key related to the specified - public key. You must use the legacy secret key only in a - 3rd party integration with legacy reCAPTCHA. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_retrieve_legacy_secret_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.RetrieveLegacySecretKeyRequest( - key="key_value", - ) - - # Make the request - response = await client.retrieve_legacy_secret_key(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.RetrieveLegacySecretKeyRequest, dict]]): - The request object. The retrieve legacy secret key - request message. - key (:class:`str`): - Required. The public key name linked to the requested - secret key in the format - ``projects/{project}/keys/{key}``. - - This corresponds to the ``key`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.RetrieveLegacySecretKeyResponse: - Secret key is used only in legacy - reCAPTCHA. It must be used in a 3rd - party integration with legacy reCAPTCHA. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([key]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.RetrieveLegacySecretKeyRequest): - request = recaptchaenterprise.RetrieveLegacySecretKeyRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if key is not None: - request.key = key - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.retrieve_legacy_secret_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("key", request.key), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def get_key(self, - request: Optional[Union[recaptchaenterprise.GetKeyRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Key: - r"""Returns the specified key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_get_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetKeyRequest( - name="name_value", - ) - - # Make the request - response = await client.get_key(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.GetKeyRequest, dict]]): - The request object. The get key request message. - name (:class:`str`): - Required. The name of the requested key, in the format - ``projects/{project}/keys/{key}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Key: - A key used to identify and configure - applications (web and/or mobile) that - use reCAPTCHA Enterprise. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.GetKeyRequest): - request = recaptchaenterprise.GetKeyRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.get_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def update_key(self, - request: Optional[Union[recaptchaenterprise.UpdateKeyRequest, dict]] = None, - *, - key: Optional[recaptchaenterprise.Key] = None, - update_mask: Optional[field_mask_pb2.FieldMask] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Key: - r"""Updates the specified key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_update_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - key = recaptchaenterprise_v1.Key() - key.web_settings.integration_type = "INVISIBLE" - key.display_name = "display_name_value" - - request = recaptchaenterprise_v1.UpdateKeyRequest( - key=key, - ) - - # Make the request - response = await client.update_key(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.UpdateKeyRequest, dict]]): - The request object. The update key request message. - key (:class:`google.cloud.recaptchaenterprise_v1.types.Key`): - Required. The key to update. - This corresponds to the ``key`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - update_mask (:class:`google.protobuf.field_mask_pb2.FieldMask`): - Optional. The mask to control which - fields of the key get updated. If the - mask is not present, all fields are - updated. - - This corresponds to the ``update_mask`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Key: - A key used to identify and configure - applications (web and/or mobile) that - use reCAPTCHA Enterprise. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([key, update_mask]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.UpdateKeyRequest): - request = recaptchaenterprise.UpdateKeyRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if key is not None: - request.key = key - if update_mask is not None: - request.update_mask = update_mask - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.update_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("key.name", request.key.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def delete_key(self, - request: Optional[Union[recaptchaenterprise.DeleteKeyRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> None: - r"""Deletes the specified key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_delete_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.DeleteKeyRequest( - name="name_value", - ) - - # Make the request - await client.delete_key(request=request) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.DeleteKeyRequest, dict]]): - The request object. The delete key request message. - name (:class:`str`): - Required. The name of the key to be deleted, in the - format ``projects/{project}/keys/{key}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.DeleteKeyRequest): - request = recaptchaenterprise.DeleteKeyRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.delete_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - async def migrate_key(self, - request: Optional[Union[recaptchaenterprise.MigrateKeyRequest, dict]] = None, - *, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Key: - r"""Migrates an existing key from reCAPTCHA to reCAPTCHA - Enterprise. Once a key is migrated, it can be used from - either product. SiteVerify requests are billed as - CreateAssessment calls. You must be authenticated as one - of the current owners of the reCAPTCHA Key, and your - user must have the reCAPTCHA Enterprise Admin IAM role - in the destination project. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_migrate_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.MigrateKeyRequest( - name="name_value", - ) - - # Make the request - response = await client.migrate_key(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.MigrateKeyRequest, dict]]): - The request object. The migrate key request message. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Key: - A key used to identify and configure - applications (web and/or mobile) that - use reCAPTCHA Enterprise. - - """ - # Create or coerce a protobuf request object. - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.MigrateKeyRequest): - request = recaptchaenterprise.MigrateKeyRequest(request) - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.migrate_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def add_ip_override(self, - request: Optional[Union[recaptchaenterprise.AddIpOverrideRequest, dict]] = None, - *, - name: Optional[str] = None, - ip_override_data: Optional[recaptchaenterprise.IpOverrideData] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.AddIpOverrideResponse: - r"""Adds an IP override to a key. The following restrictions hold: - - - The maximum number of IP overrides per key is 100. - - For any conflict (such as IP already exists or IP part of an - existing IP range), an error is returned. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_add_ip_override(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - ip_override_data = recaptchaenterprise_v1.IpOverrideData() - ip_override_data.ip = "ip_value" - ip_override_data.override_type = "ALLOW" - - request = recaptchaenterprise_v1.AddIpOverrideRequest( - name="name_value", - ip_override_data=ip_override_data, - ) - - # Make the request - response = await client.add_ip_override(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.AddIpOverrideRequest, dict]]): - The request object. The AddIpOverride request message. - name (:class:`str`): - Required. The name of the key to which the IP override - is added, in the format - ``projects/{project}/keys/{key}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - ip_override_data (:class:`google.cloud.recaptchaenterprise_v1.types.IpOverrideData`): - Required. IP override added to the - key. - - This corresponds to the ``ip_override_data`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.AddIpOverrideResponse: - Response for AddIpOverride. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name, ip_override_data]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.AddIpOverrideRequest): - request = recaptchaenterprise.AddIpOverrideRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - if ip_override_data is not None: - request.ip_override_data = ip_override_data - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.add_ip_override] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def remove_ip_override(self, - request: Optional[Union[recaptchaenterprise.RemoveIpOverrideRequest, dict]] = None, - *, - name: Optional[str] = None, - ip_override_data: Optional[recaptchaenterprise.IpOverrideData] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.RemoveIpOverrideResponse: - r"""Removes an IP override from a key. The following restrictions - hold: - - - If the IP isn't found in an existing IP override, a - ``NOT_FOUND`` error is returned. - - If the IP is found in an existing IP override, but the - override type does not match, a ``NOT_FOUND`` error is - returned. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_remove_ip_override(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - ip_override_data = recaptchaenterprise_v1.IpOverrideData() - ip_override_data.ip = "ip_value" - ip_override_data.override_type = "ALLOW" - - request = recaptchaenterprise_v1.RemoveIpOverrideRequest( - name="name_value", - ip_override_data=ip_override_data, - ) - - # Make the request - response = await client.remove_ip_override(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideRequest, dict]]): - The request object. The removeIpOverride request message. - name (:class:`str`): - Required. The name of the key from which the IP override - is removed, in the format - ``projects/{project}/keys/{key}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - ip_override_data (:class:`google.cloud.recaptchaenterprise_v1.types.IpOverrideData`): - Required. IP override to be removed - from the key. - - This corresponds to the ``ip_override_data`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideResponse: - Response for RemoveIpOverride. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name, ip_override_data]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.RemoveIpOverrideRequest): - request = recaptchaenterprise.RemoveIpOverrideRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - if ip_override_data is not None: - request.ip_override_data = ip_override_data - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.remove_ip_override] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def list_ip_overrides(self, - request: Optional[Union[recaptchaenterprise.ListIpOverridesRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListIpOverridesAsyncPager: - r"""Lists all IP overrides for a key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_list_ip_overrides(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListIpOverridesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_ip_overrides(request=request) - - # Handle the response - async for response in page_result: - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest, dict]]): - The request object. The ListIpOverrides request message. - parent (:class:`str`): - Required. The parent key for which the IP overrides are - listed, in the format ``projects/{project}/keys/{key}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListIpOverridesAsyncPager: - Response for ListIpOverrides. - - Iterating over this object will yield - results and resolve additional pages - automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListIpOverridesRequest): - request = recaptchaenterprise.ListIpOverridesRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.list_ip_overrides] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__aiter__` convenience method. - response = pagers.ListIpOverridesAsyncPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def get_metrics(self, - request: Optional[Union[recaptchaenterprise.GetMetricsRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Metrics: - r"""Get some aggregated metrics for a Key. This data can - be used to build dashboards. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_get_metrics(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetMetricsRequest( - name="name_value", - ) - - # Make the request - response = await client.get_metrics(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.GetMetricsRequest, dict]]): - The request object. The get metrics request message. - name (:class:`str`): - Required. The name of the requested metrics, in the - format ``projects/{project}/keys/{key}/metrics``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Metrics: - Metrics for a single Key. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.GetMetricsRequest): - request = recaptchaenterprise.GetMetricsRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.get_metrics] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def create_firewall_policy(self, - request: Optional[Union[recaptchaenterprise.CreateFirewallPolicyRequest, dict]] = None, - *, - parent: Optional[str] = None, - firewall_policy: Optional[recaptchaenterprise.FirewallPolicy] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.FirewallPolicy: - r"""Creates a new FirewallPolicy, specifying conditions - at which reCAPTCHA Enterprise actions can be executed. A - project may have a maximum of 1000 policies. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_create_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.CreateFirewallPolicyRequest( - parent="parent_value", - ) - - # Make the request - response = await client.create_firewall_policy(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.CreateFirewallPolicyRequest, dict]]): - The request object. The create firewall policy request - message. - parent (:class:`str`): - Required. The name of the project this policy applies - to, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - firewall_policy (:class:`google.cloud.recaptchaenterprise_v1.types.FirewallPolicy`): - Required. Information to create the - policy. - - This corresponds to the ``firewall_policy`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.FirewallPolicy: - A FirewallPolicy represents a single - matching pattern and resulting actions - to take. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent, firewall_policy]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.CreateFirewallPolicyRequest): - request = recaptchaenterprise.CreateFirewallPolicyRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - if firewall_policy is not None: - request.firewall_policy = firewall_policy - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.create_firewall_policy] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def list_firewall_policies(self, - request: Optional[Union[recaptchaenterprise.ListFirewallPoliciesRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListFirewallPoliciesAsyncPager: - r"""Returns the list of all firewall policies that belong - to a project. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_list_firewall_policies(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListFirewallPoliciesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_firewall_policies(request=request) - - # Handle the response - async for response in page_result: - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesRequest, dict]]): - The request object. The list firewall policies request - message. - parent (:class:`str`): - Required. The name of the project to list the policies - for, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListFirewallPoliciesAsyncPager: - Response to request to list firewall - policies belonging to a project. - Iterating over this object will yield - results and resolve additional pages - automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListFirewallPoliciesRequest): - request = recaptchaenterprise.ListFirewallPoliciesRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.list_firewall_policies] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__aiter__` convenience method. - response = pagers.ListFirewallPoliciesAsyncPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def get_firewall_policy(self, - request: Optional[Union[recaptchaenterprise.GetFirewallPolicyRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.FirewallPolicy: - r"""Returns the specified firewall policy. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_get_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetFirewallPolicyRequest( - name="name_value", - ) - - # Make the request - response = await client.get_firewall_policy(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.GetFirewallPolicyRequest, dict]]): - The request object. The get firewall policy request - message. - name (:class:`str`): - Required. The name of the requested policy, in the - format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.FirewallPolicy: - A FirewallPolicy represents a single - matching pattern and resulting actions - to take. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.GetFirewallPolicyRequest): - request = recaptchaenterprise.GetFirewallPolicyRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.get_firewall_policy] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def update_firewall_policy(self, - request: Optional[Union[recaptchaenterprise.UpdateFirewallPolicyRequest, dict]] = None, - *, - firewall_policy: Optional[recaptchaenterprise.FirewallPolicy] = None, - update_mask: Optional[field_mask_pb2.FieldMask] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.FirewallPolicy: - r"""Updates the specified firewall policy. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_update_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.UpdateFirewallPolicyRequest( - ) - - # Make the request - response = await client.update_firewall_policy(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.UpdateFirewallPolicyRequest, dict]]): - The request object. The update firewall policy request - message. - firewall_policy (:class:`google.cloud.recaptchaenterprise_v1.types.FirewallPolicy`): - Required. The policy to update. - This corresponds to the ``firewall_policy`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - update_mask (:class:`google.protobuf.field_mask_pb2.FieldMask`): - Optional. The mask to control which - fields of the policy get updated. If the - mask is not present, all fields are - updated. - - This corresponds to the ``update_mask`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.FirewallPolicy: - A FirewallPolicy represents a single - matching pattern and resulting actions - to take. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([firewall_policy, update_mask]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.UpdateFirewallPolicyRequest): - request = recaptchaenterprise.UpdateFirewallPolicyRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if firewall_policy is not None: - request.firewall_policy = firewall_policy - if update_mask is not None: - request.update_mask = update_mask - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.update_firewall_policy] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("firewall_policy.name", request.firewall_policy.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def delete_firewall_policy(self, - request: Optional[Union[recaptchaenterprise.DeleteFirewallPolicyRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> None: - r"""Deletes the specified firewall policy. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_delete_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.DeleteFirewallPolicyRequest( - name="name_value", - ) - - # Make the request - await client.delete_firewall_policy(request=request) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.DeleteFirewallPolicyRequest, dict]]): - The request object. The delete firewall policy request - message. - name (:class:`str`): - Required. The name of the policy to be deleted, in the - format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.DeleteFirewallPolicyRequest): - request = recaptchaenterprise.DeleteFirewallPolicyRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.delete_firewall_policy] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - async def reorder_firewall_policies(self, - request: Optional[Union[recaptchaenterprise.ReorderFirewallPoliciesRequest, dict]] = None, - *, - parent: Optional[str] = None, - names: Optional[MutableSequence[str]] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.ReorderFirewallPoliciesResponse: - r"""Reorders all firewall policies. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_reorder_firewall_policies(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ReorderFirewallPoliciesRequest( - parent="parent_value", - names=['names_value1', 'names_value2'], - ) - - # Make the request - response = await client.reorder_firewall_policies(request=request) - - # Handle the response - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.ReorderFirewallPoliciesRequest, dict]]): - The request object. The reorder firewall policies request - message. - parent (:class:`str`): - Required. The name of the project to list the policies - for, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - names (:class:`MutableSequence[str]`): - Required. A list containing all policy names, in the new - order. Each name is in the format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - - This corresponds to the ``names`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.ReorderFirewallPoliciesResponse: - The reorder firewall policies - response message. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent, names]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ReorderFirewallPoliciesRequest): - request = recaptchaenterprise.ReorderFirewallPoliciesRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - if names: - request.names.extend(names) - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.reorder_firewall_policies] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def list_related_account_groups(self, - request: Optional[Union[recaptchaenterprise.ListRelatedAccountGroupsRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListRelatedAccountGroupsAsyncPager: - r"""List groups of related accounts. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_list_related_account_groups(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListRelatedAccountGroupsRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_related_account_groups(request=request) - - # Handle the response - async for response in page_result: - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsRequest, dict]]): - The request object. The request message to list related - account groups. - parent (:class:`str`): - Required. The name of the project to list related - account groups from, in the format - ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListRelatedAccountGroupsAsyncPager: - The response to a ListRelatedAccountGroups call. - - Iterating over this object will yield results and - resolve additional pages automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListRelatedAccountGroupsRequest): - request = recaptchaenterprise.ListRelatedAccountGroupsRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.list_related_account_groups] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__aiter__` convenience method. - response = pagers.ListRelatedAccountGroupsAsyncPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def list_related_account_group_memberships(self, - request: Optional[Union[recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListRelatedAccountGroupMembershipsAsyncPager: - r"""Get memberships in a group of related accounts. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_list_related_account_group_memberships(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListRelatedAccountGroupMembershipsRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_related_account_group_memberships(request=request) - - # Handle the response - async for response in page_result: - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsRequest, dict]]): - The request object. The request message to list - memberships in a related account group. - parent (:class:`str`): - Required. The resource name for the related account - group in the format - ``projects/{project}/relatedaccountgroups/{relatedaccountgroup}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListRelatedAccountGroupMembershipsAsyncPager: - The response to a ListRelatedAccountGroupMemberships - call. - - Iterating over this object will yield results and - resolve additional pages automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest): - request = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.list_related_account_group_memberships] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__aiter__` convenience method. - response = pagers.ListRelatedAccountGroupMembershipsAsyncPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def search_related_account_group_memberships(self, - request: Optional[Union[recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest, dict]] = None, - *, - project: Optional[str] = None, - hashed_account_id: Optional[bytes] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.SearchRelatedAccountGroupMembershipsAsyncPager: - r"""Search group memberships related to a given account. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - async def sample_search_related_account_group_memberships(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.SearchRelatedAccountGroupMembershipsRequest( - project="project_value", - ) - - # Make the request - page_result = client.search_related_account_group_memberships(request=request) - - # Handle the response - async for response in page_result: - print(response) - - Args: - request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsRequest, dict]]): - The request object. The request message to search related - account group memberships. - project (:class:`str`): - Required. The name of the project to search related - account group memberships from. Specify the project name - in the following format: ``projects/{project}``. - - This corresponds to the ``project`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - hashed_account_id (:class:`bytes`): - Optional. Deprecated: use ``account_id`` instead. The - unique stable hashed account identifier used to search - connections. The identifier should correspond to a - ``hashed_account_id`` provided in a previous - ``CreateAssessment`` or ``AnnotateAssessment`` call. - Either hashed_account_id or account_id must be set, but - not both. - - This corresponds to the ``hashed_account_id`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.SearchRelatedAccountGroupMembershipsAsyncPager: - The response to a SearchRelatedAccountGroupMemberships - call. - - Iterating over this object will yield results and - resolve additional pages automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([project, hashed_account_id]) - if request is not None and has_flattened_params: - raise ValueError("If the `request` argument is set, then none of " - "the individual field arguments should be set.") - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest): - request = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest(request) - - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if project is not None: - request.project = project - if hashed_account_id is not None: - request.hashed_account_id = hashed_account_id - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._client._transport._wrapped_methods[self._client._transport.search_related_account_group_memberships] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("project", request.project), - )), - ) - - # Validate the universe domain. - self._client._validate_universe_domain() - - # Send the request. - response = await rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__aiter__` convenience method. - response = pagers.SearchRelatedAccountGroupMembershipsAsyncPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - async def __aenter__(self) -> "RecaptchaEnterpriseServiceAsyncClient": - return self - - async def __aexit__(self, exc_type, exc, tb): - await self.transport.close() - -DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(gapic_version=package_version.__version__) - - -__all__ = ( - "RecaptchaEnterpriseServiceAsyncClient", -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/client.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/client.py deleted file mode 100644 index 984fc0320b60..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/client.py +++ /dev/null @@ -1,3094 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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 collections import OrderedDict -import os -import re -from typing import Dict, Callable, Mapping, MutableMapping, MutableSequence, Optional, Sequence, Tuple, Type, Union, cast -import warnings - -from google.cloud.recaptchaenterprise_v1 import gapic_version as package_version - -from google.api_core import client_options as client_options_lib -from google.api_core import exceptions as core_exceptions -from google.api_core import gapic_v1 -from google.api_core import retry as retries -from google.auth import credentials as ga_credentials # type: ignore -from google.auth.transport import mtls # type: ignore -from google.auth.transport.grpc import SslCredentials # type: ignore -from google.auth.exceptions import MutualTLSChannelError # type: ignore -from google.oauth2 import service_account # type: ignore - -try: - OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None] -except AttributeError: # pragma: NO COVER - OptionalRetry = Union[retries.Retry, object, None] # type: ignore - -from google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service import pagers -from google.cloud.recaptchaenterprise_v1.types import recaptchaenterprise -from google.protobuf import field_mask_pb2 # type: ignore -from google.protobuf import timestamp_pb2 # type: ignore -from .transports.base import RecaptchaEnterpriseServiceTransport, DEFAULT_CLIENT_INFO -from .transports.grpc import RecaptchaEnterpriseServiceGrpcTransport -from .transports.grpc_asyncio import RecaptchaEnterpriseServiceGrpcAsyncIOTransport - - -class RecaptchaEnterpriseServiceClientMeta(type): - """Metaclass for the RecaptchaEnterpriseService client. - - This provides class-level methods for building and retrieving - support objects (e.g. transport) without polluting the client instance - objects. - """ - _transport_registry = OrderedDict() # type: Dict[str, Type[RecaptchaEnterpriseServiceTransport]] - _transport_registry["grpc"] = RecaptchaEnterpriseServiceGrpcTransport - _transport_registry["grpc_asyncio"] = RecaptchaEnterpriseServiceGrpcAsyncIOTransport - - def get_transport_class(cls, - label: Optional[str] = None, - ) -> Type[RecaptchaEnterpriseServiceTransport]: - """Returns an appropriate transport class. - - Args: - label: The name of the desired transport. If none is - provided, then the first transport in the registry is used. - - Returns: - The transport class to use. - """ - # If a specific transport is requested, return that one. - if label: - return cls._transport_registry[label] - - # No transport is requested; return the default (that is, the first one - # in the dictionary). - return next(iter(cls._transport_registry.values())) - - -class RecaptchaEnterpriseServiceClient(metaclass=RecaptchaEnterpriseServiceClientMeta): - """Service to determine the likelihood an event is legitimate.""" - - @staticmethod - def _get_default_mtls_endpoint(api_endpoint): - """Converts api endpoint to mTLS endpoint. - - Convert "*.sandbox.googleapis.com" and "*.googleapis.com" to - "*.mtls.sandbox.googleapis.com" and "*.mtls.googleapis.com" respectively. - Args: - api_endpoint (Optional[str]): the api endpoint to convert. - Returns: - str: converted mTLS api endpoint. - """ - if not api_endpoint: - return api_endpoint - - mtls_endpoint_re = re.compile( - r"(?P[^.]+)(?P\.mtls)?(?P\.sandbox)?(?P\.googleapis\.com)?" - ) - - m = mtls_endpoint_re.match(api_endpoint) - name, mtls, sandbox, googledomain = m.groups() - if mtls or not googledomain: - return api_endpoint - - if sandbox: - return api_endpoint.replace( - "sandbox.googleapis.com", "mtls.sandbox.googleapis.com" - ) - - return api_endpoint.replace(".googleapis.com", ".mtls.googleapis.com") - - # Note: DEFAULT_ENDPOINT is deprecated. Use _DEFAULT_ENDPOINT_TEMPLATE instead. - DEFAULT_ENDPOINT = "recaptchaenterprise.googleapis.com" - DEFAULT_MTLS_ENDPOINT = _get_default_mtls_endpoint.__func__( # type: ignore - DEFAULT_ENDPOINT - ) - - _DEFAULT_ENDPOINT_TEMPLATE = "recaptchaenterprise.{UNIVERSE_DOMAIN}" - _DEFAULT_UNIVERSE = "googleapis.com" - - @classmethod - def from_service_account_info(cls, info: dict, *args, **kwargs): - """Creates an instance of this client using the provided credentials - info. - - Args: - info (dict): The service account private key info. - args: Additional arguments to pass to the constructor. - kwargs: Additional arguments to pass to the constructor. - - Returns: - RecaptchaEnterpriseServiceClient: The constructed client. - """ - credentials = service_account.Credentials.from_service_account_info(info) - kwargs["credentials"] = credentials - return cls(*args, **kwargs) - - @classmethod - def from_service_account_file(cls, filename: str, *args, **kwargs): - """Creates an instance of this client using the provided credentials - file. - - Args: - filename (str): The path to the service account private key json - file. - args: Additional arguments to pass to the constructor. - kwargs: Additional arguments to pass to the constructor. - - Returns: - RecaptchaEnterpriseServiceClient: The constructed client. - """ - credentials = service_account.Credentials.from_service_account_file( - filename) - kwargs["credentials"] = credentials - return cls(*args, **kwargs) - - from_service_account_json = from_service_account_file - - @property - def transport(self) -> RecaptchaEnterpriseServiceTransport: - """Returns the transport used by the client instance. - - Returns: - RecaptchaEnterpriseServiceTransport: The transport used by the client - instance. - """ - return self._transport - - @staticmethod - def assessment_path(project: str,assessment: str,) -> str: - """Returns a fully-qualified assessment string.""" - return "projects/{project}/assessments/{assessment}".format(project=project, assessment=assessment, ) - - @staticmethod - def parse_assessment_path(path: str) -> Dict[str,str]: - """Parses a assessment path into its component segments.""" - m = re.match(r"^projects/(?P.+?)/assessments/(?P.+?)$", path) - return m.groupdict() if m else {} - - @staticmethod - def firewall_policy_path(project: str,firewallpolicy: str,) -> str: - """Returns a fully-qualified firewall_policy string.""" - return "projects/{project}/firewallpolicies/{firewallpolicy}".format(project=project, firewallpolicy=firewallpolicy, ) - - @staticmethod - def parse_firewall_policy_path(path: str) -> Dict[str,str]: - """Parses a firewall_policy path into its component segments.""" - m = re.match(r"^projects/(?P.+?)/firewallpolicies/(?P.+?)$", path) - return m.groupdict() if m else {} - - @staticmethod - def key_path(project: str,key: str,) -> str: - """Returns a fully-qualified key string.""" - return "projects/{project}/keys/{key}".format(project=project, key=key, ) - - @staticmethod - def parse_key_path(path: str) -> Dict[str,str]: - """Parses a key path into its component segments.""" - m = re.match(r"^projects/(?P.+?)/keys/(?P.+?)$", path) - return m.groupdict() if m else {} - - @staticmethod - def metrics_path(project: str,key: str,) -> str: - """Returns a fully-qualified metrics string.""" - return "projects/{project}/keys/{key}/metrics".format(project=project, key=key, ) - - @staticmethod - def parse_metrics_path(path: str) -> Dict[str,str]: - """Parses a metrics path into its component segments.""" - m = re.match(r"^projects/(?P.+?)/keys/(?P.+?)/metrics$", path) - return m.groupdict() if m else {} - - @staticmethod - def related_account_group_path(project: str,relatedaccountgroup: str,) -> str: - """Returns a fully-qualified related_account_group string.""" - return "projects/{project}/relatedaccountgroups/{relatedaccountgroup}".format(project=project, relatedaccountgroup=relatedaccountgroup, ) - - @staticmethod - def parse_related_account_group_path(path: str) -> Dict[str,str]: - """Parses a related_account_group path into its component segments.""" - m = re.match(r"^projects/(?P.+?)/relatedaccountgroups/(?P.+?)$", path) - return m.groupdict() if m else {} - - @staticmethod - def related_account_group_membership_path(project: str,relatedaccountgroup: str,membership: str,) -> str: - """Returns a fully-qualified related_account_group_membership string.""" - return "projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}".format(project=project, relatedaccountgroup=relatedaccountgroup, membership=membership, ) - - @staticmethod - def parse_related_account_group_membership_path(path: str) -> Dict[str,str]: - """Parses a related_account_group_membership path into its component segments.""" - m = re.match(r"^projects/(?P.+?)/relatedaccountgroups/(?P.+?)/memberships/(?P.+?)$", path) - return m.groupdict() if m else {} - - @staticmethod - def common_billing_account_path(billing_account: str, ) -> str: - """Returns a fully-qualified billing_account string.""" - return "billingAccounts/{billing_account}".format(billing_account=billing_account, ) - - @staticmethod - def parse_common_billing_account_path(path: str) -> Dict[str,str]: - """Parse a billing_account path into its component segments.""" - m = re.match(r"^billingAccounts/(?P.+?)$", path) - return m.groupdict() if m else {} - - @staticmethod - def common_folder_path(folder: str, ) -> str: - """Returns a fully-qualified folder string.""" - return "folders/{folder}".format(folder=folder, ) - - @staticmethod - def parse_common_folder_path(path: str) -> Dict[str,str]: - """Parse a folder path into its component segments.""" - m = re.match(r"^folders/(?P.+?)$", path) - return m.groupdict() if m else {} - - @staticmethod - def common_organization_path(organization: str, ) -> str: - """Returns a fully-qualified organization string.""" - return "organizations/{organization}".format(organization=organization, ) - - @staticmethod - def parse_common_organization_path(path: str) -> Dict[str,str]: - """Parse a organization path into its component segments.""" - m = re.match(r"^organizations/(?P.+?)$", path) - return m.groupdict() if m else {} - - @staticmethod - def common_project_path(project: str, ) -> str: - """Returns a fully-qualified project string.""" - return "projects/{project}".format(project=project, ) - - @staticmethod - def parse_common_project_path(path: str) -> Dict[str,str]: - """Parse a project path into its component segments.""" - m = re.match(r"^projects/(?P.+?)$", path) - return m.groupdict() if m else {} - - @staticmethod - def common_location_path(project: str, location: str, ) -> str: - """Returns a fully-qualified location string.""" - return "projects/{project}/locations/{location}".format(project=project, location=location, ) - - @staticmethod - def parse_common_location_path(path: str) -> Dict[str,str]: - """Parse a location path into its component segments.""" - m = re.match(r"^projects/(?P.+?)/locations/(?P.+?)$", path) - return m.groupdict() if m else {} - - @classmethod - def get_mtls_endpoint_and_cert_source(cls, client_options: Optional[client_options_lib.ClientOptions] = None): - """Deprecated. Return the API endpoint and client cert source for mutual TLS. - - The client cert source is determined in the following order: - (1) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is not "true", the - client cert source is None. - (2) if `client_options.client_cert_source` is provided, use the provided one; if the - default client cert source exists, use the default one; otherwise the client cert - source is None. - - The API endpoint is determined in the following order: - (1) if `client_options.api_endpoint` if provided, use the provided one. - (2) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is "always", use the - default mTLS endpoint; if the environment variable is "never", use the default API - endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise - use the default API endpoint. - - More details can be found at https://google.aip.dev/auth/4114. - - Args: - client_options (google.api_core.client_options.ClientOptions): Custom options for the - client. Only the `api_endpoint` and `client_cert_source` properties may be used - in this method. - - Returns: - Tuple[str, Callable[[], Tuple[bytes, bytes]]]: returns the API endpoint and the - client cert source to use. - - Raises: - google.auth.exceptions.MutualTLSChannelError: If any errors happen. - """ - - warnings.warn("get_mtls_endpoint_and_cert_source is deprecated. Use the api_endpoint property instead.", - DeprecationWarning) - if client_options is None: - client_options = client_options_lib.ClientOptions() - use_client_cert = os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") - use_mtls_endpoint = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto") - if use_client_cert not in ("true", "false"): - raise ValueError("Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`") - if use_mtls_endpoint not in ("auto", "never", "always"): - raise MutualTLSChannelError("Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`") - - # Figure out the client cert source to use. - client_cert_source = None - if use_client_cert == "true": - if client_options.client_cert_source: - client_cert_source = client_options.client_cert_source - elif mtls.has_default_client_cert_source(): - client_cert_source = mtls.default_client_cert_source() - - # Figure out which api endpoint to use. - if client_options.api_endpoint is not None: - api_endpoint = client_options.api_endpoint - elif use_mtls_endpoint == "always" or (use_mtls_endpoint == "auto" and client_cert_source): - api_endpoint = cls.DEFAULT_MTLS_ENDPOINT - else: - api_endpoint = cls.DEFAULT_ENDPOINT - - return api_endpoint, client_cert_source - - @staticmethod - def _read_environment_variables(): - """Returns the environment variables used by the client. - - Returns: - Tuple[bool, str, str]: returns the GOOGLE_API_USE_CLIENT_CERTIFICATE, - GOOGLE_API_USE_MTLS_ENDPOINT, and GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variables. - - Raises: - ValueError: If GOOGLE_API_USE_CLIENT_CERTIFICATE is not - any of ["true", "false"]. - google.auth.exceptions.MutualTLSChannelError: If GOOGLE_API_USE_MTLS_ENDPOINT - is not any of ["auto", "never", "always"]. - """ - use_client_cert = os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false").lower() - use_mtls_endpoint = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto").lower() - universe_domain_env = os.getenv("GOOGLE_CLOUD_UNIVERSE_DOMAIN") - if use_client_cert not in ("true", "false"): - raise ValueError("Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`") - if use_mtls_endpoint not in ("auto", "never", "always"): - raise MutualTLSChannelError("Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`") - return use_client_cert == "true", use_mtls_endpoint, universe_domain_env - - @staticmethod - def _get_client_cert_source(provided_cert_source, use_cert_flag): - """Return the client cert source to be used by the client. - - Args: - provided_cert_source (bytes): The client certificate source provided. - use_cert_flag (bool): A flag indicating whether to use the client certificate. - - Returns: - bytes or None: The client cert source to be used by the client. - """ - client_cert_source = None - if use_cert_flag: - if provided_cert_source: - client_cert_source = provided_cert_source - elif mtls.has_default_client_cert_source(): - client_cert_source = mtls.default_client_cert_source() - return client_cert_source - - @staticmethod - def _get_api_endpoint(api_override, client_cert_source, universe_domain, use_mtls_endpoint): - """Return the API endpoint used by the client. - - Args: - api_override (str): The API endpoint override. If specified, this is always - the return value of this function and the other arguments are not used. - client_cert_source (bytes): The client certificate source used by the client. - universe_domain (str): The universe domain used by the client. - use_mtls_endpoint (str): How to use the mTLS endpoint, which depends also on the other parameters. - Possible values are "always", "auto", or "never". - - Returns: - str: The API endpoint to be used by the client. - """ - if api_override is not None: - api_endpoint = api_override - elif use_mtls_endpoint == "always" or (use_mtls_endpoint == "auto" and client_cert_source): - _default_universe = RecaptchaEnterpriseServiceClient._DEFAULT_UNIVERSE - if universe_domain != _default_universe: - raise MutualTLSChannelError(f"mTLS is not supported in any universe other than {_default_universe}.") - api_endpoint = RecaptchaEnterpriseServiceClient.DEFAULT_MTLS_ENDPOINT - else: - api_endpoint = RecaptchaEnterpriseServiceClient._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=universe_domain) - return api_endpoint - - @staticmethod - def _get_universe_domain(client_universe_domain: Optional[str], universe_domain_env: Optional[str]) -> str: - """Return the universe domain used by the client. - - Args: - client_universe_domain (Optional[str]): The universe domain configured via the client options. - universe_domain_env (Optional[str]): The universe domain configured via the "GOOGLE_CLOUD_UNIVERSE_DOMAIN" environment variable. - - Returns: - str: The universe domain to be used by the client. - - Raises: - ValueError: If the universe domain is an empty string. - """ - universe_domain = RecaptchaEnterpriseServiceClient._DEFAULT_UNIVERSE - if client_universe_domain is not None: - universe_domain = client_universe_domain - elif universe_domain_env is not None: - universe_domain = universe_domain_env - if len(universe_domain.strip()) == 0: - raise ValueError("Universe Domain cannot be an empty string.") - return universe_domain - - @staticmethod - def _compare_universes(client_universe: str, - credentials: ga_credentials.Credentials) -> bool: - """Returns True iff the universe domains used by the client and credentials match. - - Args: - client_universe (str): The universe domain configured via the client options. - credentials (ga_credentials.Credentials): The credentials being used in the client. - - Returns: - bool: True iff client_universe matches the universe in credentials. - - Raises: - ValueError: when client_universe does not match the universe in credentials. - """ - - default_universe = RecaptchaEnterpriseServiceClient._DEFAULT_UNIVERSE - credentials_universe = getattr(credentials, "universe_domain", default_universe) - - if client_universe != credentials_universe: - raise ValueError("The configured universe domain " - f"({client_universe}) does not match the universe domain " - f"found in the credentials ({credentials_universe}). " - "If you haven't configured the universe domain explicitly, " - f"`{default_universe}` is the default.") - return True - - def _validate_universe_domain(self): - """Validates client's and credentials' universe domains are consistent. - - Returns: - bool: True iff the configured universe domain is valid. - - Raises: - ValueError: If the configured universe domain is not valid. - """ - self._is_universe_domain_valid = (self._is_universe_domain_valid or - RecaptchaEnterpriseServiceClient._compare_universes(self.universe_domain, self.transport._credentials)) - return self._is_universe_domain_valid - - @property - def api_endpoint(self): - """Return the API endpoint used by the client instance. - - Returns: - str: The API endpoint used by the client instance. - """ - return self._api_endpoint - - @property - def universe_domain(self) -> str: - """Return the universe domain used by the client instance. - - Returns: - str: The universe domain used by the client instance. - """ - return self._universe_domain - - def __init__(self, *, - credentials: Optional[ga_credentials.Credentials] = None, - transport: Optional[Union[str, RecaptchaEnterpriseServiceTransport, Callable[..., RecaptchaEnterpriseServiceTransport]]] = None, - client_options: Optional[Union[client_options_lib.ClientOptions, dict]] = None, - client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, - ) -> None: - """Instantiates the recaptcha enterprise service client. - - Args: - credentials (Optional[google.auth.credentials.Credentials]): The - authorization credentials to attach to requests. These - credentials identify the application to the service; if none - are specified, the client will attempt to ascertain the - credentials from the environment. - transport (Optional[Union[str,RecaptchaEnterpriseServiceTransport,Callable[..., RecaptchaEnterpriseServiceTransport]]]): - The transport to use, or a Callable that constructs and returns a new transport. - If a Callable is given, it will be called with the same set of initialization - arguments as used in the RecaptchaEnterpriseServiceTransport constructor. - If set to None, a transport is chosen automatically. - client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]): - Custom options for the client. - - 1. The ``api_endpoint`` property can be used to override the - default endpoint provided by the client when ``transport`` is - not explicitly provided. Only if this property is not set and - ``transport`` was not explicitly provided, the endpoint is - determined by the GOOGLE_API_USE_MTLS_ENDPOINT environment - variable, which have one of the following values: - "always" (always use the default mTLS endpoint), "never" (always - use the default regular endpoint) and "auto" (auto-switch to the - default mTLS endpoint if client certificate is present; this is - the default value). - - 2. If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable - is "true", then the ``client_cert_source`` property can be used - to provide a client certificate for mTLS transport. If - not provided, the default SSL client certificate will be used if - present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not - set, no client certificate will be used. - - 3. The ``universe_domain`` property can be used to override the - default "googleapis.com" universe. Note that the ``api_endpoint`` - property still takes precedence; and ``universe_domain`` is - currently not supported for mTLS. - - client_info (google.api_core.gapic_v1.client_info.ClientInfo): - The client info used to send a user-agent string along with - API requests. If ``None``, then default info will be used. - Generally, you only need to set this if you're developing - your own client library. - - Raises: - google.auth.exceptions.MutualTLSChannelError: If mutual TLS transport - creation failed for any reason. - """ - self._client_options = client_options - if isinstance(self._client_options, dict): - self._client_options = client_options_lib.from_dict(self._client_options) - if self._client_options is None: - self._client_options = client_options_lib.ClientOptions() - self._client_options = cast(client_options_lib.ClientOptions, self._client_options) - - universe_domain_opt = getattr(self._client_options, 'universe_domain', None) - - self._use_client_cert, self._use_mtls_endpoint, self._universe_domain_env = RecaptchaEnterpriseServiceClient._read_environment_variables() - self._client_cert_source = RecaptchaEnterpriseServiceClient._get_client_cert_source(self._client_options.client_cert_source, self._use_client_cert) - self._universe_domain = RecaptchaEnterpriseServiceClient._get_universe_domain(universe_domain_opt, self._universe_domain_env) - self._api_endpoint = None # updated below, depending on `transport` - - # Initialize the universe domain validation. - self._is_universe_domain_valid = False - - api_key_value = getattr(self._client_options, "api_key", None) - if api_key_value and credentials: - raise ValueError("client_options.api_key and credentials are mutually exclusive") - - # Save or instantiate the transport. - # Ordinarily, we provide the transport, but allowing a custom transport - # instance provides an extensibility point for unusual situations. - transport_provided = isinstance(transport, RecaptchaEnterpriseServiceTransport) - if transport_provided: - # transport is a RecaptchaEnterpriseServiceTransport instance. - if credentials or self._client_options.credentials_file or api_key_value: - raise ValueError("When providing a transport instance, " - "provide its credentials directly.") - if self._client_options.scopes: - raise ValueError( - "When providing a transport instance, provide its scopes " - "directly." - ) - self._transport = cast(RecaptchaEnterpriseServiceTransport, transport) - self._api_endpoint = self._transport.host - - self._api_endpoint = (self._api_endpoint or - RecaptchaEnterpriseServiceClient._get_api_endpoint( - self._client_options.api_endpoint, - self._client_cert_source, - self._universe_domain, - self._use_mtls_endpoint)) - - if not transport_provided: - import google.auth._default # type: ignore - - if api_key_value and hasattr(google.auth._default, "get_api_key_credentials"): - credentials = google.auth._default.get_api_key_credentials(api_key_value) - - transport_init: Union[Type[RecaptchaEnterpriseServiceTransport], Callable[..., RecaptchaEnterpriseServiceTransport]] = ( - RecaptchaEnterpriseServiceClient.get_transport_class(transport) - if isinstance(transport, str) or transport is None - else cast(Callable[..., RecaptchaEnterpriseServiceTransport], transport) - ) - # initialize with the provided callable or the passed in class - self._transport = transport_init( - credentials=credentials, - credentials_file=self._client_options.credentials_file, - host=self._api_endpoint, - scopes=self._client_options.scopes, - client_cert_source_for_mtls=self._client_cert_source, - quota_project_id=self._client_options.quota_project_id, - client_info=client_info, - always_use_jwt_access=True, - api_audience=self._client_options.api_audience, - ) - - def create_assessment(self, - request: Optional[Union[recaptchaenterprise.CreateAssessmentRequest, dict]] = None, - *, - parent: Optional[str] = None, - assessment: Optional[recaptchaenterprise.Assessment] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Assessment: - r"""Creates an Assessment of the likelihood an event is - legitimate. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_create_assessment(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.CreateAssessmentRequest( - parent="parent_value", - ) - - # Make the request - response = client.create_assessment(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.CreateAssessmentRequest, dict]): - The request object. The create assessment request - message. - parent (str): - Required. The name of the project in which the - assessment is created, in the format - ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - assessment (google.cloud.recaptchaenterprise_v1.types.Assessment): - Required. The assessment details. - This corresponds to the ``assessment`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Assessment: - A reCAPTCHA Enterprise assessment - resource. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent, assessment]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.CreateAssessmentRequest): - request = recaptchaenterprise.CreateAssessmentRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - if assessment is not None: - request.assessment = assessment - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.create_assessment] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def annotate_assessment(self, - request: Optional[Union[recaptchaenterprise.AnnotateAssessmentRequest, dict]] = None, - *, - name: Optional[str] = None, - annotation: Optional[recaptchaenterprise.AnnotateAssessmentRequest.Annotation] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.AnnotateAssessmentResponse: - r"""Annotates a previously created Assessment to provide - additional information on whether the event turned out - to be authentic or fraudulent. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_annotate_assessment(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.AnnotateAssessmentRequest( - name="name_value", - ) - - # Make the request - response = client.annotate_assessment(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest, dict]): - The request object. The request message to annotate an - Assessment. - name (str): - Required. The resource name of the Assessment, in the - format ``projects/{project}/assessments/{assessment}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - annotation (google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest.Annotation): - Optional. The annotation that is - assigned to the Event. This field can be - left empty to provide reasons that apply - to an event without concluding whether - the event is legitimate or fraudulent. - - This corresponds to the ``annotation`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentResponse: - Empty response for - AnnotateAssessment. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name, annotation]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.AnnotateAssessmentRequest): - request = recaptchaenterprise.AnnotateAssessmentRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - if annotation is not None: - request.annotation = annotation - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.annotate_assessment] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def create_key(self, - request: Optional[Union[recaptchaenterprise.CreateKeyRequest, dict]] = None, - *, - parent: Optional[str] = None, - key: Optional[recaptchaenterprise.Key] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Key: - r"""Creates a new reCAPTCHA Enterprise key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_create_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - key = recaptchaenterprise_v1.Key() - key.web_settings.integration_type = "INVISIBLE" - key.display_name = "display_name_value" - - request = recaptchaenterprise_v1.CreateKeyRequest( - parent="parent_value", - key=key, - ) - - # Make the request - response = client.create_key(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.CreateKeyRequest, dict]): - The request object. The create key request message. - parent (str): - Required. The name of the project in which the key is - created, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - key (google.cloud.recaptchaenterprise_v1.types.Key): - Required. Information to create a - reCAPTCHA Enterprise key. - - This corresponds to the ``key`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Key: - A key used to identify and configure - applications (web and/or mobile) that - use reCAPTCHA Enterprise. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent, key]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.CreateKeyRequest): - request = recaptchaenterprise.CreateKeyRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - if key is not None: - request.key = key - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.create_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def list_keys(self, - request: Optional[Union[recaptchaenterprise.ListKeysRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListKeysPager: - r"""Returns the list of all keys that belong to a - project. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_list_keys(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListKeysRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_keys(request=request) - - # Handle the response - for response in page_result: - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.ListKeysRequest, dict]): - The request object. The list keys request message. - parent (str): - Required. The name of the project that contains the keys - that is listed, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListKeysPager: - Response to request to list keys in a - project. - Iterating over this object will yield - results and resolve additional pages - automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListKeysRequest): - request = recaptchaenterprise.ListKeysRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.list_keys] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__iter__` convenience method. - response = pagers.ListKeysPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def retrieve_legacy_secret_key(self, - request: Optional[Union[recaptchaenterprise.RetrieveLegacySecretKeyRequest, dict]] = None, - *, - key: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.RetrieveLegacySecretKeyResponse: - r"""Returns the secret key related to the specified - public key. You must use the legacy secret key only in a - 3rd party integration with legacy reCAPTCHA. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_retrieve_legacy_secret_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.RetrieveLegacySecretKeyRequest( - key="key_value", - ) - - # Make the request - response = client.retrieve_legacy_secret_key(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.RetrieveLegacySecretKeyRequest, dict]): - The request object. The retrieve legacy secret key - request message. - key (str): - Required. The public key name linked to the requested - secret key in the format - ``projects/{project}/keys/{key}``. - - This corresponds to the ``key`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.RetrieveLegacySecretKeyResponse: - Secret key is used only in legacy - reCAPTCHA. It must be used in a 3rd - party integration with legacy reCAPTCHA. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([key]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.RetrieveLegacySecretKeyRequest): - request = recaptchaenterprise.RetrieveLegacySecretKeyRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if key is not None: - request.key = key - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.retrieve_legacy_secret_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("key", request.key), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def get_key(self, - request: Optional[Union[recaptchaenterprise.GetKeyRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Key: - r"""Returns the specified key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_get_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetKeyRequest( - name="name_value", - ) - - # Make the request - response = client.get_key(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.GetKeyRequest, dict]): - The request object. The get key request message. - name (str): - Required. The name of the requested key, in the format - ``projects/{project}/keys/{key}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Key: - A key used to identify and configure - applications (web and/or mobile) that - use reCAPTCHA Enterprise. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.GetKeyRequest): - request = recaptchaenterprise.GetKeyRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.get_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def update_key(self, - request: Optional[Union[recaptchaenterprise.UpdateKeyRequest, dict]] = None, - *, - key: Optional[recaptchaenterprise.Key] = None, - update_mask: Optional[field_mask_pb2.FieldMask] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Key: - r"""Updates the specified key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_update_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - key = recaptchaenterprise_v1.Key() - key.web_settings.integration_type = "INVISIBLE" - key.display_name = "display_name_value" - - request = recaptchaenterprise_v1.UpdateKeyRequest( - key=key, - ) - - # Make the request - response = client.update_key(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.UpdateKeyRequest, dict]): - The request object. The update key request message. - key (google.cloud.recaptchaenterprise_v1.types.Key): - Required. The key to update. - This corresponds to the ``key`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - update_mask (google.protobuf.field_mask_pb2.FieldMask): - Optional. The mask to control which - fields of the key get updated. If the - mask is not present, all fields are - updated. - - This corresponds to the ``update_mask`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Key: - A key used to identify and configure - applications (web and/or mobile) that - use reCAPTCHA Enterprise. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([key, update_mask]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.UpdateKeyRequest): - request = recaptchaenterprise.UpdateKeyRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if key is not None: - request.key = key - if update_mask is not None: - request.update_mask = update_mask - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.update_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("key.name", request.key.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def delete_key(self, - request: Optional[Union[recaptchaenterprise.DeleteKeyRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> None: - r"""Deletes the specified key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_delete_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.DeleteKeyRequest( - name="name_value", - ) - - # Make the request - client.delete_key(request=request) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.DeleteKeyRequest, dict]): - The request object. The delete key request message. - name (str): - Required. The name of the key to be deleted, in the - format ``projects/{project}/keys/{key}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.DeleteKeyRequest): - request = recaptchaenterprise.DeleteKeyRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.delete_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - def migrate_key(self, - request: Optional[Union[recaptchaenterprise.MigrateKeyRequest, dict]] = None, - *, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Key: - r"""Migrates an existing key from reCAPTCHA to reCAPTCHA - Enterprise. Once a key is migrated, it can be used from - either product. SiteVerify requests are billed as - CreateAssessment calls. You must be authenticated as one - of the current owners of the reCAPTCHA Key, and your - user must have the reCAPTCHA Enterprise Admin IAM role - in the destination project. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_migrate_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.MigrateKeyRequest( - name="name_value", - ) - - # Make the request - response = client.migrate_key(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.MigrateKeyRequest, dict]): - The request object. The migrate key request message. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Key: - A key used to identify and configure - applications (web and/or mobile) that - use reCAPTCHA Enterprise. - - """ - # Create or coerce a protobuf request object. - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.MigrateKeyRequest): - request = recaptchaenterprise.MigrateKeyRequest(request) - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.migrate_key] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def add_ip_override(self, - request: Optional[Union[recaptchaenterprise.AddIpOverrideRequest, dict]] = None, - *, - name: Optional[str] = None, - ip_override_data: Optional[recaptchaenterprise.IpOverrideData] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.AddIpOverrideResponse: - r"""Adds an IP override to a key. The following restrictions hold: - - - The maximum number of IP overrides per key is 100. - - For any conflict (such as IP already exists or IP part of an - existing IP range), an error is returned. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_add_ip_override(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - ip_override_data = recaptchaenterprise_v1.IpOverrideData() - ip_override_data.ip = "ip_value" - ip_override_data.override_type = "ALLOW" - - request = recaptchaenterprise_v1.AddIpOverrideRequest( - name="name_value", - ip_override_data=ip_override_data, - ) - - # Make the request - response = client.add_ip_override(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.AddIpOverrideRequest, dict]): - The request object. The AddIpOverride request message. - name (str): - Required. The name of the key to which the IP override - is added, in the format - ``projects/{project}/keys/{key}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - ip_override_data (google.cloud.recaptchaenterprise_v1.types.IpOverrideData): - Required. IP override added to the - key. - - This corresponds to the ``ip_override_data`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.AddIpOverrideResponse: - Response for AddIpOverride. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name, ip_override_data]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.AddIpOverrideRequest): - request = recaptchaenterprise.AddIpOverrideRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - if ip_override_data is not None: - request.ip_override_data = ip_override_data - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.add_ip_override] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def remove_ip_override(self, - request: Optional[Union[recaptchaenterprise.RemoveIpOverrideRequest, dict]] = None, - *, - name: Optional[str] = None, - ip_override_data: Optional[recaptchaenterprise.IpOverrideData] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.RemoveIpOverrideResponse: - r"""Removes an IP override from a key. The following restrictions - hold: - - - If the IP isn't found in an existing IP override, a - ``NOT_FOUND`` error is returned. - - If the IP is found in an existing IP override, but the - override type does not match, a ``NOT_FOUND`` error is - returned. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_remove_ip_override(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - ip_override_data = recaptchaenterprise_v1.IpOverrideData() - ip_override_data.ip = "ip_value" - ip_override_data.override_type = "ALLOW" - - request = recaptchaenterprise_v1.RemoveIpOverrideRequest( - name="name_value", - ip_override_data=ip_override_data, - ) - - # Make the request - response = client.remove_ip_override(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideRequest, dict]): - The request object. The removeIpOverride request message. - name (str): - Required. The name of the key from which the IP override - is removed, in the format - ``projects/{project}/keys/{key}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - ip_override_data (google.cloud.recaptchaenterprise_v1.types.IpOverrideData): - Required. IP override to be removed - from the key. - - This corresponds to the ``ip_override_data`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideResponse: - Response for RemoveIpOverride. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name, ip_override_data]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.RemoveIpOverrideRequest): - request = recaptchaenterprise.RemoveIpOverrideRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - if ip_override_data is not None: - request.ip_override_data = ip_override_data - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.remove_ip_override] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def list_ip_overrides(self, - request: Optional[Union[recaptchaenterprise.ListIpOverridesRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListIpOverridesPager: - r"""Lists all IP overrides for a key. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_list_ip_overrides(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListIpOverridesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_ip_overrides(request=request) - - # Handle the response - for response in page_result: - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest, dict]): - The request object. The ListIpOverrides request message. - parent (str): - Required. The parent key for which the IP overrides are - listed, in the format ``projects/{project}/keys/{key}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListIpOverridesPager: - Response for ListIpOverrides. - - Iterating over this object will yield - results and resolve additional pages - automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListIpOverridesRequest): - request = recaptchaenterprise.ListIpOverridesRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.list_ip_overrides] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__iter__` convenience method. - response = pagers.ListIpOverridesPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def get_metrics(self, - request: Optional[Union[recaptchaenterprise.GetMetricsRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.Metrics: - r"""Get some aggregated metrics for a Key. This data can - be used to build dashboards. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_get_metrics(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetMetricsRequest( - name="name_value", - ) - - # Make the request - response = client.get_metrics(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.GetMetricsRequest, dict]): - The request object. The get metrics request message. - name (str): - Required. The name of the requested metrics, in the - format ``projects/{project}/keys/{key}/metrics``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.Metrics: - Metrics for a single Key. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.GetMetricsRequest): - request = recaptchaenterprise.GetMetricsRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.get_metrics] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def create_firewall_policy(self, - request: Optional[Union[recaptchaenterprise.CreateFirewallPolicyRequest, dict]] = None, - *, - parent: Optional[str] = None, - firewall_policy: Optional[recaptchaenterprise.FirewallPolicy] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.FirewallPolicy: - r"""Creates a new FirewallPolicy, specifying conditions - at which reCAPTCHA Enterprise actions can be executed. A - project may have a maximum of 1000 policies. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_create_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.CreateFirewallPolicyRequest( - parent="parent_value", - ) - - # Make the request - response = client.create_firewall_policy(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.CreateFirewallPolicyRequest, dict]): - The request object. The create firewall policy request - message. - parent (str): - Required. The name of the project this policy applies - to, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - firewall_policy (google.cloud.recaptchaenterprise_v1.types.FirewallPolicy): - Required. Information to create the - policy. - - This corresponds to the ``firewall_policy`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.FirewallPolicy: - A FirewallPolicy represents a single - matching pattern and resulting actions - to take. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent, firewall_policy]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.CreateFirewallPolicyRequest): - request = recaptchaenterprise.CreateFirewallPolicyRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - if firewall_policy is not None: - request.firewall_policy = firewall_policy - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.create_firewall_policy] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def list_firewall_policies(self, - request: Optional[Union[recaptchaenterprise.ListFirewallPoliciesRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListFirewallPoliciesPager: - r"""Returns the list of all firewall policies that belong - to a project. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_list_firewall_policies(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListFirewallPoliciesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_firewall_policies(request=request) - - # Handle the response - for response in page_result: - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesRequest, dict]): - The request object. The list firewall policies request - message. - parent (str): - Required. The name of the project to list the policies - for, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListFirewallPoliciesPager: - Response to request to list firewall - policies belonging to a project. - Iterating over this object will yield - results and resolve additional pages - automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListFirewallPoliciesRequest): - request = recaptchaenterprise.ListFirewallPoliciesRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.list_firewall_policies] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__iter__` convenience method. - response = pagers.ListFirewallPoliciesPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def get_firewall_policy(self, - request: Optional[Union[recaptchaenterprise.GetFirewallPolicyRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.FirewallPolicy: - r"""Returns the specified firewall policy. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_get_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetFirewallPolicyRequest( - name="name_value", - ) - - # Make the request - response = client.get_firewall_policy(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.GetFirewallPolicyRequest, dict]): - The request object. The get firewall policy request - message. - name (str): - Required. The name of the requested policy, in the - format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.FirewallPolicy: - A FirewallPolicy represents a single - matching pattern and resulting actions - to take. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.GetFirewallPolicyRequest): - request = recaptchaenterprise.GetFirewallPolicyRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.get_firewall_policy] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def update_firewall_policy(self, - request: Optional[Union[recaptchaenterprise.UpdateFirewallPolicyRequest, dict]] = None, - *, - firewall_policy: Optional[recaptchaenterprise.FirewallPolicy] = None, - update_mask: Optional[field_mask_pb2.FieldMask] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.FirewallPolicy: - r"""Updates the specified firewall policy. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_update_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.UpdateFirewallPolicyRequest( - ) - - # Make the request - response = client.update_firewall_policy(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.UpdateFirewallPolicyRequest, dict]): - The request object. The update firewall policy request - message. - firewall_policy (google.cloud.recaptchaenterprise_v1.types.FirewallPolicy): - Required. The policy to update. - This corresponds to the ``firewall_policy`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - update_mask (google.protobuf.field_mask_pb2.FieldMask): - Optional. The mask to control which - fields of the policy get updated. If the - mask is not present, all fields are - updated. - - This corresponds to the ``update_mask`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.FirewallPolicy: - A FirewallPolicy represents a single - matching pattern and resulting actions - to take. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([firewall_policy, update_mask]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.UpdateFirewallPolicyRequest): - request = recaptchaenterprise.UpdateFirewallPolicyRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if firewall_policy is not None: - request.firewall_policy = firewall_policy - if update_mask is not None: - request.update_mask = update_mask - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.update_firewall_policy] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("firewall_policy.name", request.firewall_policy.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def delete_firewall_policy(self, - request: Optional[Union[recaptchaenterprise.DeleteFirewallPolicyRequest, dict]] = None, - *, - name: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> None: - r"""Deletes the specified firewall policy. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_delete_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.DeleteFirewallPolicyRequest( - name="name_value", - ) - - # Make the request - client.delete_firewall_policy(request=request) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.DeleteFirewallPolicyRequest, dict]): - The request object. The delete firewall policy request - message. - name (str): - Required. The name of the policy to be deleted, in the - format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - - This corresponds to the ``name`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([name]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.DeleteFirewallPolicyRequest): - request = recaptchaenterprise.DeleteFirewallPolicyRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if name is not None: - request.name = name - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.delete_firewall_policy] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("name", request.name), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - def reorder_firewall_policies(self, - request: Optional[Union[recaptchaenterprise.ReorderFirewallPoliciesRequest, dict]] = None, - *, - parent: Optional[str] = None, - names: Optional[MutableSequence[str]] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> recaptchaenterprise.ReorderFirewallPoliciesResponse: - r"""Reorders all firewall policies. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_reorder_firewall_policies(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ReorderFirewallPoliciesRequest( - parent="parent_value", - names=['names_value1', 'names_value2'], - ) - - # Make the request - response = client.reorder_firewall_policies(request=request) - - # Handle the response - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.ReorderFirewallPoliciesRequest, dict]): - The request object. The reorder firewall policies request - message. - parent (str): - Required. The name of the project to list the policies - for, in the format ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - names (MutableSequence[str]): - Required. A list containing all policy names, in the new - order. Each name is in the format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - - This corresponds to the ``names`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.types.ReorderFirewallPoliciesResponse: - The reorder firewall policies - response message. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent, names]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ReorderFirewallPoliciesRequest): - request = recaptchaenterprise.ReorderFirewallPoliciesRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - if names is not None: - request.names = names - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.reorder_firewall_policies] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def list_related_account_groups(self, - request: Optional[Union[recaptchaenterprise.ListRelatedAccountGroupsRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListRelatedAccountGroupsPager: - r"""List groups of related accounts. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_list_related_account_groups(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListRelatedAccountGroupsRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_related_account_groups(request=request) - - # Handle the response - for response in page_result: - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsRequest, dict]): - The request object. The request message to list related - account groups. - parent (str): - Required. The name of the project to list related - account groups from, in the format - ``projects/{project}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListRelatedAccountGroupsPager: - The response to a ListRelatedAccountGroups call. - - Iterating over this object will yield results and - resolve additional pages automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListRelatedAccountGroupsRequest): - request = recaptchaenterprise.ListRelatedAccountGroupsRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.list_related_account_groups] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__iter__` convenience method. - response = pagers.ListRelatedAccountGroupsPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def list_related_account_group_memberships(self, - request: Optional[Union[recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest, dict]] = None, - *, - parent: Optional[str] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.ListRelatedAccountGroupMembershipsPager: - r"""Get memberships in a group of related accounts. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_list_related_account_group_memberships(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListRelatedAccountGroupMembershipsRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_related_account_group_memberships(request=request) - - # Handle the response - for response in page_result: - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsRequest, dict]): - The request object. The request message to list - memberships in a related account group. - parent (str): - Required. The resource name for the related account - group in the format - ``projects/{project}/relatedaccountgroups/{relatedaccountgroup}``. - - This corresponds to the ``parent`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListRelatedAccountGroupMembershipsPager: - The response to a ListRelatedAccountGroupMemberships - call. - - Iterating over this object will yield results and - resolve additional pages automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([parent]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest): - request = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if parent is not None: - request.parent = parent - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.list_related_account_group_memberships] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("parent", request.parent), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__iter__` convenience method. - response = pagers.ListRelatedAccountGroupMembershipsPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def search_related_account_group_memberships(self, - request: Optional[Union[recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest, dict]] = None, - *, - project: Optional[str] = None, - hashed_account_id: Optional[bytes] = None, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = (), - ) -> pagers.SearchRelatedAccountGroupMembershipsPager: - r"""Search group memberships related to a given account. - - .. code-block:: python - - # This snippet has been automatically generated and should be regarded as a - # code template only. - # It will require modifications to work: - # - It may require correct/in-range values for request initialization. - # - It may require specifying regional endpoints when creating the service - # client as shown in: - # https://googleapis.dev/python/google-api-core/latest/client_options.html - from google.cloud import recaptchaenterprise_v1 - - def sample_search_related_account_group_memberships(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.SearchRelatedAccountGroupMembershipsRequest( - project="project_value", - ) - - # Make the request - page_result = client.search_related_account_group_memberships(request=request) - - # Handle the response - for response in page_result: - print(response) - - Args: - request (Union[google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsRequest, dict]): - The request object. The request message to search related - account group memberships. - project (str): - Required. The name of the project to search related - account group memberships from. Specify the project name - in the following format: ``projects/{project}``. - - This corresponds to the ``project`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - hashed_account_id (bytes): - Optional. Deprecated: use ``account_id`` instead. The - unique stable hashed account identifier used to search - connections. The identifier should correspond to a - ``hashed_account_id`` provided in a previous - ``CreateAssessment`` or ``AnnotateAssessment`` call. - Either hashed_account_id or account_id must be set, but - not both. - - This corresponds to the ``hashed_account_id`` field - on the ``request`` instance; if ``request`` is provided, this - should not be set. - retry (google.api_core.retry.Retry): Designation of what errors, if any, - should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - - Returns: - google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.SearchRelatedAccountGroupMembershipsPager: - The response to a SearchRelatedAccountGroupMemberships - call. - - Iterating over this object will yield results and - resolve additional pages automatically. - - """ - # Create or coerce a protobuf request object. - # - Quick check: If we got a request object, we should *not* have - # gotten any keyword arguments that map to the request. - has_flattened_params = any([project, hashed_account_id]) - if request is not None and has_flattened_params: - raise ValueError('If the `request` argument is set, then none of ' - 'the individual field arguments should be set.') - - # - Use the request object if provided (there's no risk of modifying the input as - # there are no flattened fields), or create one. - if not isinstance(request, recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest): - request = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest(request) - # If we have keyword arguments corresponding to fields on the - # request, apply these. - if project is not None: - request.project = project - if hashed_account_id is not None: - request.hashed_account_id = hashed_account_id - - # Wrap the RPC method; this adds retry and timeout information, - # and friendly error handling. - rpc = self._transport._wrapped_methods[self._transport.search_related_account_group_memberships] - - # Certain fields should be provided within the metadata header; - # add these here. - metadata = tuple(metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ("project", request.project), - )), - ) - - # Validate the universe domain. - self._validate_universe_domain() - - # Send the request. - response = rpc( - request, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # This method is paged; wrap the response in a pager, which provides - # an `__iter__` convenience method. - response = pagers.SearchRelatedAccountGroupMembershipsPager( - method=rpc, - request=request, - response=response, - retry=retry, - timeout=timeout, - metadata=metadata, - ) - - # Done; return the response. - return response - - def __enter__(self) -> "RecaptchaEnterpriseServiceClient": - return self - - def __exit__(self, type, value, traceback): - """Releases underlying transport's resources. - - .. warning:: - ONLY use as a context manager if the transport is NOT shared - with other clients! Exiting the with block will CLOSE the transport - and may cause errors in other clients! - """ - self.transport.close() - - - - - - - -DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(gapic_version=package_version.__version__) - - -__all__ = ( - "RecaptchaEnterpriseServiceClient", -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/pagers.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/pagers.py deleted file mode 100644 index f576dbaaf609..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/pagers.py +++ /dev/null @@ -1,837 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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 google.api_core import gapic_v1 -from google.api_core import retry as retries -from google.api_core import retry_async as retries_async -from typing import Any, AsyncIterator, Awaitable, Callable, Sequence, Tuple, Optional, Iterator, Union -try: - OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None] - OptionalAsyncRetry = Union[retries_async.AsyncRetry, gapic_v1.method._MethodDefault, None] -except AttributeError: # pragma: NO COVER - OptionalRetry = Union[retries.Retry, object, None] # type: ignore - OptionalAsyncRetry = Union[retries_async.AsyncRetry, object, None] # type: ignore - -from google.cloud.recaptchaenterprise_v1.types import recaptchaenterprise - - -class ListKeysPager: - """A pager for iterating through ``list_keys`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListKeysResponse` object, and - provides an ``__iter__`` method to iterate through its - ``keys`` field. - - If there are more pages, the ``__iter__`` method will make additional - ``ListKeys`` requests and continue to iterate - through the ``keys`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListKeysResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., recaptchaenterprise.ListKeysResponse], - request: recaptchaenterprise.ListKeysRequest, - response: recaptchaenterprise.ListKeysResponse, - *, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiate the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListKeysRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListKeysResponse): - The initial response object. - retry (google.api_core.retry.Retry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListKeysRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - def pages(self) -> Iterator[recaptchaenterprise.ListKeysResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - - def __iter__(self) -> Iterator[recaptchaenterprise.Key]: - for page in self.pages: - yield from page.keys - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class ListKeysAsyncPager: - """A pager for iterating through ``list_keys`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListKeysResponse` object, and - provides an ``__aiter__`` method to iterate through its - ``keys`` field. - - If there are more pages, the ``__aiter__`` method will make additional - ``ListKeys`` requests and continue to iterate - through the ``keys`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListKeysResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., Awaitable[recaptchaenterprise.ListKeysResponse]], - request: recaptchaenterprise.ListKeysRequest, - response: recaptchaenterprise.ListKeysResponse, - *, - retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiates the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListKeysRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListKeysResponse): - The initial response object. - retry (google.api_core.retry.AsyncRetry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListKeysRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - async def pages(self) -> AsyncIterator[recaptchaenterprise.ListKeysResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = await self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - def __aiter__(self) -> AsyncIterator[recaptchaenterprise.Key]: - async def async_generator(): - async for page in self.pages: - for response in page.keys: - yield response - - return async_generator() - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class ListIpOverridesPager: - """A pager for iterating through ``list_ip_overrides`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse` object, and - provides an ``__iter__`` method to iterate through its - ``ip_overrides`` field. - - If there are more pages, the ``__iter__`` method will make additional - ``ListIpOverrides`` requests and continue to iterate - through the ``ip_overrides`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., recaptchaenterprise.ListIpOverridesResponse], - request: recaptchaenterprise.ListIpOverridesRequest, - response: recaptchaenterprise.ListIpOverridesResponse, - *, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiate the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse): - The initial response object. - retry (google.api_core.retry.Retry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListIpOverridesRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - def pages(self) -> Iterator[recaptchaenterprise.ListIpOverridesResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - - def __iter__(self) -> Iterator[recaptchaenterprise.IpOverrideData]: - for page in self.pages: - yield from page.ip_overrides - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class ListIpOverridesAsyncPager: - """A pager for iterating through ``list_ip_overrides`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse` object, and - provides an ``__aiter__`` method to iterate through its - ``ip_overrides`` field. - - If there are more pages, the ``__aiter__`` method will make additional - ``ListIpOverrides`` requests and continue to iterate - through the ``ip_overrides`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., Awaitable[recaptchaenterprise.ListIpOverridesResponse]], - request: recaptchaenterprise.ListIpOverridesRequest, - response: recaptchaenterprise.ListIpOverridesResponse, - *, - retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiates the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse): - The initial response object. - retry (google.api_core.retry.AsyncRetry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListIpOverridesRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - async def pages(self) -> AsyncIterator[recaptchaenterprise.ListIpOverridesResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = await self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - def __aiter__(self) -> AsyncIterator[recaptchaenterprise.IpOverrideData]: - async def async_generator(): - async for page in self.pages: - for response in page.ip_overrides: - yield response - - return async_generator() - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class ListFirewallPoliciesPager: - """A pager for iterating through ``list_firewall_policies`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesResponse` object, and - provides an ``__iter__`` method to iterate through its - ``firewall_policies`` field. - - If there are more pages, the ``__iter__`` method will make additional - ``ListFirewallPolicies`` requests and continue to iterate - through the ``firewall_policies`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., recaptchaenterprise.ListFirewallPoliciesResponse], - request: recaptchaenterprise.ListFirewallPoliciesRequest, - response: recaptchaenterprise.ListFirewallPoliciesResponse, - *, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiate the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesResponse): - The initial response object. - retry (google.api_core.retry.Retry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListFirewallPoliciesRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - def pages(self) -> Iterator[recaptchaenterprise.ListFirewallPoliciesResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - - def __iter__(self) -> Iterator[recaptchaenterprise.FirewallPolicy]: - for page in self.pages: - yield from page.firewall_policies - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class ListFirewallPoliciesAsyncPager: - """A pager for iterating through ``list_firewall_policies`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesResponse` object, and - provides an ``__aiter__`` method to iterate through its - ``firewall_policies`` field. - - If there are more pages, the ``__aiter__`` method will make additional - ``ListFirewallPolicies`` requests and continue to iterate - through the ``firewall_policies`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., Awaitable[recaptchaenterprise.ListFirewallPoliciesResponse]], - request: recaptchaenterprise.ListFirewallPoliciesRequest, - response: recaptchaenterprise.ListFirewallPoliciesResponse, - *, - retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiates the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesResponse): - The initial response object. - retry (google.api_core.retry.AsyncRetry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListFirewallPoliciesRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - async def pages(self) -> AsyncIterator[recaptchaenterprise.ListFirewallPoliciesResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = await self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - def __aiter__(self) -> AsyncIterator[recaptchaenterprise.FirewallPolicy]: - async def async_generator(): - async for page in self.pages: - for response in page.firewall_policies: - yield response - - return async_generator() - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class ListRelatedAccountGroupsPager: - """A pager for iterating through ``list_related_account_groups`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsResponse` object, and - provides an ``__iter__`` method to iterate through its - ``related_account_groups`` field. - - If there are more pages, the ``__iter__`` method will make additional - ``ListRelatedAccountGroups`` requests and continue to iterate - through the ``related_account_groups`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., recaptchaenterprise.ListRelatedAccountGroupsResponse], - request: recaptchaenterprise.ListRelatedAccountGroupsRequest, - response: recaptchaenterprise.ListRelatedAccountGroupsResponse, - *, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiate the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsResponse): - The initial response object. - retry (google.api_core.retry.Retry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListRelatedAccountGroupsRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - def pages(self) -> Iterator[recaptchaenterprise.ListRelatedAccountGroupsResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - - def __iter__(self) -> Iterator[recaptchaenterprise.RelatedAccountGroup]: - for page in self.pages: - yield from page.related_account_groups - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class ListRelatedAccountGroupsAsyncPager: - """A pager for iterating through ``list_related_account_groups`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsResponse` object, and - provides an ``__aiter__`` method to iterate through its - ``related_account_groups`` field. - - If there are more pages, the ``__aiter__`` method will make additional - ``ListRelatedAccountGroups`` requests and continue to iterate - through the ``related_account_groups`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., Awaitable[recaptchaenterprise.ListRelatedAccountGroupsResponse]], - request: recaptchaenterprise.ListRelatedAccountGroupsRequest, - response: recaptchaenterprise.ListRelatedAccountGroupsResponse, - *, - retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiates the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsResponse): - The initial response object. - retry (google.api_core.retry.AsyncRetry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListRelatedAccountGroupsRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - async def pages(self) -> AsyncIterator[recaptchaenterprise.ListRelatedAccountGroupsResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = await self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - def __aiter__(self) -> AsyncIterator[recaptchaenterprise.RelatedAccountGroup]: - async def async_generator(): - async for page in self.pages: - for response in page.related_account_groups: - yield response - - return async_generator() - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class ListRelatedAccountGroupMembershipsPager: - """A pager for iterating through ``list_related_account_group_memberships`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsResponse` object, and - provides an ``__iter__`` method to iterate through its - ``related_account_group_memberships`` field. - - If there are more pages, the ``__iter__`` method will make additional - ``ListRelatedAccountGroupMemberships`` requests and continue to iterate - through the ``related_account_group_memberships`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse], - request: recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest, - response: recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse, - *, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiate the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsResponse): - The initial response object. - retry (google.api_core.retry.Retry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - def pages(self) -> Iterator[recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - - def __iter__(self) -> Iterator[recaptchaenterprise.RelatedAccountGroupMembership]: - for page in self.pages: - yield from page.related_account_group_memberships - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class ListRelatedAccountGroupMembershipsAsyncPager: - """A pager for iterating through ``list_related_account_group_memberships`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsResponse` object, and - provides an ``__aiter__`` method to iterate through its - ``related_account_group_memberships`` field. - - If there are more pages, the ``__aiter__`` method will make additional - ``ListRelatedAccountGroupMemberships`` requests and continue to iterate - through the ``related_account_group_memberships`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., Awaitable[recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse]], - request: recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest, - response: recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse, - *, - retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiates the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsResponse): - The initial response object. - retry (google.api_core.retry.AsyncRetry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - async def pages(self) -> AsyncIterator[recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = await self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - def __aiter__(self) -> AsyncIterator[recaptchaenterprise.RelatedAccountGroupMembership]: - async def async_generator(): - async for page in self.pages: - for response in page.related_account_group_memberships: - yield response - - return async_generator() - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class SearchRelatedAccountGroupMembershipsPager: - """A pager for iterating through ``search_related_account_group_memberships`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsResponse` object, and - provides an ``__iter__`` method to iterate through its - ``related_account_group_memberships`` field. - - If there are more pages, the ``__iter__`` method will make additional - ``SearchRelatedAccountGroupMemberships`` requests and continue to iterate - through the ``related_account_group_memberships`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse], - request: recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest, - response: recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse, - *, - retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiate the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsResponse): - The initial response object. - retry (google.api_core.retry.Retry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - def pages(self) -> Iterator[recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - - def __iter__(self) -> Iterator[recaptchaenterprise.RelatedAccountGroupMembership]: - for page in self.pages: - yield from page.related_account_group_memberships - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) - - -class SearchRelatedAccountGroupMembershipsAsyncPager: - """A pager for iterating through ``search_related_account_group_memberships`` requests. - - This class thinly wraps an initial - :class:`google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsResponse` object, and - provides an ``__aiter__`` method to iterate through its - ``related_account_group_memberships`` field. - - If there are more pages, the ``__aiter__`` method will make additional - ``SearchRelatedAccountGroupMemberships`` requests and continue to iterate - through the ``related_account_group_memberships`` field on the - corresponding responses. - - All the usual :class:`google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsResponse` - attributes are available on the pager. If multiple requests are made, only - the most recent response is retained, and thus used for attribute lookup. - """ - def __init__(self, - method: Callable[..., Awaitable[recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse]], - request: recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest, - response: recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse, - *, - retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT, - timeout: Union[float, object] = gapic_v1.method.DEFAULT, - metadata: Sequence[Tuple[str, str]] = ()): - """Instantiates the pager. - - Args: - method (Callable): The method that was originally called, and - which instantiated this pager. - request (google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsRequest): - The initial request object. - response (google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsResponse): - The initial response object. - retry (google.api_core.retry.AsyncRetry): Designation of what errors, - if any, should be retried. - timeout (float): The timeout for this request. - metadata (Sequence[Tuple[str, str]]): Strings which should be - sent along with the request as metadata. - """ - self._method = method - self._request = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest(request) - self._response = response - self._retry = retry - self._timeout = timeout - self._metadata = metadata - - def __getattr__(self, name: str) -> Any: - return getattr(self._response, name) - - @property - async def pages(self) -> AsyncIterator[recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse]: - yield self._response - while self._response.next_page_token: - self._request.page_token = self._response.next_page_token - self._response = await self._method(self._request, retry=self._retry, timeout=self._timeout, metadata=self._metadata) - yield self._response - def __aiter__(self) -> AsyncIterator[recaptchaenterprise.RelatedAccountGroupMembership]: - async def async_generator(): - async for page in self.pages: - for response in page.related_account_group_memberships: - yield response - - return async_generator() - - def __repr__(self) -> str: - return '{0}<{1!r}>'.format(self.__class__.__name__, self._response) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/README.rst b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/README.rst deleted file mode 100644 index 102392385be4..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/README.rst +++ /dev/null @@ -1,9 +0,0 @@ - -transport inheritance structure -_______________________________ - -`RecaptchaEnterpriseServiceTransport` is the ABC for all transports. -- public child `RecaptchaEnterpriseServiceGrpcTransport` for sync gRPC transport (defined in `grpc.py`). -- public child `RecaptchaEnterpriseServiceGrpcAsyncIOTransport` for async gRPC transport (defined in `grpc_asyncio.py`). -- private child `_BaseRecaptchaEnterpriseServiceRestTransport` for base REST transport with inner classes `_BaseMETHOD` (defined in `rest_base.py`). -- public child `RecaptchaEnterpriseServiceRestTransport` for sync REST transport with inner classes `METHOD` derived from the parent's corresponding `_BaseMETHOD` classes (defined in `rest.py`). diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/__init__.py deleted file mode 100644 index 441fb3562a85..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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 collections import OrderedDict -from typing import Dict, Type - -from .base import RecaptchaEnterpriseServiceTransport -from .grpc import RecaptchaEnterpriseServiceGrpcTransport -from .grpc_asyncio import RecaptchaEnterpriseServiceGrpcAsyncIOTransport - - -# Compile a registry of transports. -_transport_registry = OrderedDict() # type: Dict[str, Type[RecaptchaEnterpriseServiceTransport]] -_transport_registry['grpc'] = RecaptchaEnterpriseServiceGrpcTransport -_transport_registry['grpc_asyncio'] = RecaptchaEnterpriseServiceGrpcAsyncIOTransport - -__all__ = ( - 'RecaptchaEnterpriseServiceTransport', - 'RecaptchaEnterpriseServiceGrpcTransport', - 'RecaptchaEnterpriseServiceGrpcAsyncIOTransport', -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/base.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/base.py deleted file mode 100644 index 67d4a9c004d2..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/base.py +++ /dev/null @@ -1,449 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -import abc -from typing import Awaitable, Callable, Dict, Optional, Sequence, Union - -from google.cloud.recaptchaenterprise_v1 import gapic_version as package_version - -import google.auth # type: ignore -import google.api_core -from google.api_core import exceptions as core_exceptions -from google.api_core import gapic_v1 -from google.api_core import retry as retries -from google.auth import credentials as ga_credentials # type: ignore -from google.oauth2 import service_account # type: ignore - -from google.cloud.recaptchaenterprise_v1.types import recaptchaenterprise -from google.protobuf import empty_pb2 # type: ignore - -DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(gapic_version=package_version.__version__) - - -class RecaptchaEnterpriseServiceTransport(abc.ABC): - """Abstract transport class for RecaptchaEnterpriseService.""" - - AUTH_SCOPES = ( - 'https://www.googleapis.com/auth/cloud-platform', - ) - - DEFAULT_HOST: str = 'recaptchaenterprise.googleapis.com' - def __init__( - self, *, - host: str = DEFAULT_HOST, - credentials: Optional[ga_credentials.Credentials] = None, - credentials_file: Optional[str] = None, - scopes: Optional[Sequence[str]] = None, - quota_project_id: Optional[str] = None, - client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, - always_use_jwt_access: Optional[bool] = False, - api_audience: Optional[str] = None, - **kwargs, - ) -> None: - """Instantiate the transport. - - Args: - host (Optional[str]): - The hostname to connect to (default: 'recaptchaenterprise.googleapis.com'). - credentials (Optional[google.auth.credentials.Credentials]): The - authorization credentials to attach to requests. These - credentials identify the application to the service; if none - are specified, the client will attempt to ascertain the - credentials from the environment. - credentials_file (Optional[str]): A file with credentials that can - be loaded with :func:`google.auth.load_credentials_from_file`. - This argument is mutually exclusive with credentials. - scopes (Optional[Sequence[str]]): A list of scopes. - quota_project_id (Optional[str]): An optional project to use for billing - and quota. - client_info (google.api_core.gapic_v1.client_info.ClientInfo): - The client info used to send a user-agent string along with - API requests. If ``None``, then default info will be used. - Generally, you only need to set this if you're developing - your own client library. - always_use_jwt_access (Optional[bool]): Whether self signed JWT should - be used for service account credentials. - """ - - scopes_kwargs = {"scopes": scopes, "default_scopes": self.AUTH_SCOPES} - - # Save the scopes. - self._scopes = scopes - if not hasattr(self, "_ignore_credentials"): - self._ignore_credentials: bool = False - - # If no credentials are provided, then determine the appropriate - # defaults. - if credentials and credentials_file: - raise core_exceptions.DuplicateCredentialArgs("'credentials_file' and 'credentials' are mutually exclusive") - - if credentials_file is not None: - credentials, _ = google.auth.load_credentials_from_file( - credentials_file, - **scopes_kwargs, - quota_project_id=quota_project_id - ) - elif credentials is None and not self._ignore_credentials: - credentials, _ = google.auth.default(**scopes_kwargs, quota_project_id=quota_project_id) - # Don't apply audience if the credentials file passed from user. - if hasattr(credentials, "with_gdch_audience"): - credentials = credentials.with_gdch_audience(api_audience if api_audience else host) - - # If the credentials are service account credentials, then always try to use self signed JWT. - if always_use_jwt_access and isinstance(credentials, service_account.Credentials) and hasattr(service_account.Credentials, "with_always_use_jwt_access"): - credentials = credentials.with_always_use_jwt_access(True) - - # Save the credentials. - self._credentials = credentials - - # Save the hostname. Default to port 443 (HTTPS) if none is specified. - if ':' not in host: - host += ':443' - self._host = host - - @property - def host(self): - return self._host - - def _prep_wrapped_messages(self, client_info): - # Precompute the wrapped methods. - self._wrapped_methods = { - self.create_assessment: gapic_v1.method.wrap_method( - self.create_assessment, - default_timeout=600.0, - client_info=client_info, - ), - self.annotate_assessment: gapic_v1.method.wrap_method( - self.annotate_assessment, - default_timeout=600.0, - client_info=client_info, - ), - self.create_key: gapic_v1.method.wrap_method( - self.create_key, - default_timeout=600.0, - client_info=client_info, - ), - self.list_keys: gapic_v1.method.wrap_method( - self.list_keys, - default_timeout=600.0, - client_info=client_info, - ), - self.retrieve_legacy_secret_key: gapic_v1.method.wrap_method( - self.retrieve_legacy_secret_key, - default_timeout=None, - client_info=client_info, - ), - self.get_key: gapic_v1.method.wrap_method( - self.get_key, - default_timeout=600.0, - client_info=client_info, - ), - self.update_key: gapic_v1.method.wrap_method( - self.update_key, - default_timeout=600.0, - client_info=client_info, - ), - self.delete_key: gapic_v1.method.wrap_method( - self.delete_key, - default_timeout=600.0, - client_info=client_info, - ), - self.migrate_key: gapic_v1.method.wrap_method( - self.migrate_key, - default_timeout=None, - client_info=client_info, - ), - self.add_ip_override: gapic_v1.method.wrap_method( - self.add_ip_override, - default_timeout=None, - client_info=client_info, - ), - self.remove_ip_override: gapic_v1.method.wrap_method( - self.remove_ip_override, - default_timeout=None, - client_info=client_info, - ), - self.list_ip_overrides: gapic_v1.method.wrap_method( - self.list_ip_overrides, - default_timeout=None, - client_info=client_info, - ), - self.get_metrics: gapic_v1.method.wrap_method( - self.get_metrics, - default_timeout=None, - client_info=client_info, - ), - self.create_firewall_policy: gapic_v1.method.wrap_method( - self.create_firewall_policy, - default_timeout=None, - client_info=client_info, - ), - self.list_firewall_policies: gapic_v1.method.wrap_method( - self.list_firewall_policies, - default_timeout=None, - client_info=client_info, - ), - self.get_firewall_policy: gapic_v1.method.wrap_method( - self.get_firewall_policy, - default_timeout=None, - client_info=client_info, - ), - self.update_firewall_policy: gapic_v1.method.wrap_method( - self.update_firewall_policy, - default_timeout=None, - client_info=client_info, - ), - self.delete_firewall_policy: gapic_v1.method.wrap_method( - self.delete_firewall_policy, - default_timeout=None, - client_info=client_info, - ), - self.reorder_firewall_policies: gapic_v1.method.wrap_method( - self.reorder_firewall_policies, - default_timeout=None, - client_info=client_info, - ), - self.list_related_account_groups: gapic_v1.method.wrap_method( - self.list_related_account_groups, - default_timeout=None, - client_info=client_info, - ), - self.list_related_account_group_memberships: gapic_v1.method.wrap_method( - self.list_related_account_group_memberships, - default_timeout=None, - client_info=client_info, - ), - self.search_related_account_group_memberships: gapic_v1.method.wrap_method( - self.search_related_account_group_memberships, - default_timeout=None, - client_info=client_info, - ), - } - - def close(self): - """Closes resources associated with the transport. - - .. warning:: - Only call this method if the transport is NOT shared - with other clients - this may cause errors in other clients! - """ - raise NotImplementedError() - - @property - def create_assessment(self) -> Callable[ - [recaptchaenterprise.CreateAssessmentRequest], - Union[ - recaptchaenterprise.Assessment, - Awaitable[recaptchaenterprise.Assessment] - ]]: - raise NotImplementedError() - - @property - def annotate_assessment(self) -> Callable[ - [recaptchaenterprise.AnnotateAssessmentRequest], - Union[ - recaptchaenterprise.AnnotateAssessmentResponse, - Awaitable[recaptchaenterprise.AnnotateAssessmentResponse] - ]]: - raise NotImplementedError() - - @property - def create_key(self) -> Callable[ - [recaptchaenterprise.CreateKeyRequest], - Union[ - recaptchaenterprise.Key, - Awaitable[recaptchaenterprise.Key] - ]]: - raise NotImplementedError() - - @property - def list_keys(self) -> Callable[ - [recaptchaenterprise.ListKeysRequest], - Union[ - recaptchaenterprise.ListKeysResponse, - Awaitable[recaptchaenterprise.ListKeysResponse] - ]]: - raise NotImplementedError() - - @property - def retrieve_legacy_secret_key(self) -> Callable[ - [recaptchaenterprise.RetrieveLegacySecretKeyRequest], - Union[ - recaptchaenterprise.RetrieveLegacySecretKeyResponse, - Awaitable[recaptchaenterprise.RetrieveLegacySecretKeyResponse] - ]]: - raise NotImplementedError() - - @property - def get_key(self) -> Callable[ - [recaptchaenterprise.GetKeyRequest], - Union[ - recaptchaenterprise.Key, - Awaitable[recaptchaenterprise.Key] - ]]: - raise NotImplementedError() - - @property - def update_key(self) -> Callable[ - [recaptchaenterprise.UpdateKeyRequest], - Union[ - recaptchaenterprise.Key, - Awaitable[recaptchaenterprise.Key] - ]]: - raise NotImplementedError() - - @property - def delete_key(self) -> Callable[ - [recaptchaenterprise.DeleteKeyRequest], - Union[ - empty_pb2.Empty, - Awaitable[empty_pb2.Empty] - ]]: - raise NotImplementedError() - - @property - def migrate_key(self) -> Callable[ - [recaptchaenterprise.MigrateKeyRequest], - Union[ - recaptchaenterprise.Key, - Awaitable[recaptchaenterprise.Key] - ]]: - raise NotImplementedError() - - @property - def add_ip_override(self) -> Callable[ - [recaptchaenterprise.AddIpOverrideRequest], - Union[ - recaptchaenterprise.AddIpOverrideResponse, - Awaitable[recaptchaenterprise.AddIpOverrideResponse] - ]]: - raise NotImplementedError() - - @property - def remove_ip_override(self) -> Callable[ - [recaptchaenterprise.RemoveIpOverrideRequest], - Union[ - recaptchaenterprise.RemoveIpOverrideResponse, - Awaitable[recaptchaenterprise.RemoveIpOverrideResponse] - ]]: - raise NotImplementedError() - - @property - def list_ip_overrides(self) -> Callable[ - [recaptchaenterprise.ListIpOverridesRequest], - Union[ - recaptchaenterprise.ListIpOverridesResponse, - Awaitable[recaptchaenterprise.ListIpOverridesResponse] - ]]: - raise NotImplementedError() - - @property - def get_metrics(self) -> Callable[ - [recaptchaenterprise.GetMetricsRequest], - Union[ - recaptchaenterprise.Metrics, - Awaitable[recaptchaenterprise.Metrics] - ]]: - raise NotImplementedError() - - @property - def create_firewall_policy(self) -> Callable[ - [recaptchaenterprise.CreateFirewallPolicyRequest], - Union[ - recaptchaenterprise.FirewallPolicy, - Awaitable[recaptchaenterprise.FirewallPolicy] - ]]: - raise NotImplementedError() - - @property - def list_firewall_policies(self) -> Callable[ - [recaptchaenterprise.ListFirewallPoliciesRequest], - Union[ - recaptchaenterprise.ListFirewallPoliciesResponse, - Awaitable[recaptchaenterprise.ListFirewallPoliciesResponse] - ]]: - raise NotImplementedError() - - @property - def get_firewall_policy(self) -> Callable[ - [recaptchaenterprise.GetFirewallPolicyRequest], - Union[ - recaptchaenterprise.FirewallPolicy, - Awaitable[recaptchaenterprise.FirewallPolicy] - ]]: - raise NotImplementedError() - - @property - def update_firewall_policy(self) -> Callable[ - [recaptchaenterprise.UpdateFirewallPolicyRequest], - Union[ - recaptchaenterprise.FirewallPolicy, - Awaitable[recaptchaenterprise.FirewallPolicy] - ]]: - raise NotImplementedError() - - @property - def delete_firewall_policy(self) -> Callable[ - [recaptchaenterprise.DeleteFirewallPolicyRequest], - Union[ - empty_pb2.Empty, - Awaitable[empty_pb2.Empty] - ]]: - raise NotImplementedError() - - @property - def reorder_firewall_policies(self) -> Callable[ - [recaptchaenterprise.ReorderFirewallPoliciesRequest], - Union[ - recaptchaenterprise.ReorderFirewallPoliciesResponse, - Awaitable[recaptchaenterprise.ReorderFirewallPoliciesResponse] - ]]: - raise NotImplementedError() - - @property - def list_related_account_groups(self) -> Callable[ - [recaptchaenterprise.ListRelatedAccountGroupsRequest], - Union[ - recaptchaenterprise.ListRelatedAccountGroupsResponse, - Awaitable[recaptchaenterprise.ListRelatedAccountGroupsResponse] - ]]: - raise NotImplementedError() - - @property - def list_related_account_group_memberships(self) -> Callable[ - [recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest], - Union[ - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse, - Awaitable[recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse] - ]]: - raise NotImplementedError() - - @property - def search_related_account_group_memberships(self) -> Callable[ - [recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest], - Union[ - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse, - Awaitable[recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse] - ]]: - raise NotImplementedError() - - @property - def kind(self) -> str: - raise NotImplementedError() - - -__all__ = ( - 'RecaptchaEnterpriseServiceTransport', -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc.py deleted file mode 100644 index c35220594868..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc.py +++ /dev/null @@ -1,846 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -import warnings -from typing import Callable, Dict, Optional, Sequence, Tuple, Union - -from google.api_core import grpc_helpers -from google.api_core import gapic_v1 -import google.auth # type: ignore -from google.auth import credentials as ga_credentials # type: ignore -from google.auth.transport.grpc import SslCredentials # type: ignore - -import grpc # type: ignore - -from google.cloud.recaptchaenterprise_v1.types import recaptchaenterprise -from google.protobuf import empty_pb2 # type: ignore -from .base import RecaptchaEnterpriseServiceTransport, DEFAULT_CLIENT_INFO - - -class RecaptchaEnterpriseServiceGrpcTransport(RecaptchaEnterpriseServiceTransport): - """gRPC backend transport for RecaptchaEnterpriseService. - - Service to determine the likelihood an event is legitimate. - - This class defines the same methods as the primary client, so the - primary client can load the underlying transport implementation - and call it. - - It sends protocol buffers over the wire using gRPC (which is built on - top of HTTP/2); the ``grpcio`` package must be installed. - """ - _stubs: Dict[str, Callable] - - def __init__(self, *, - host: str = 'recaptchaenterprise.googleapis.com', - credentials: Optional[ga_credentials.Credentials] = None, - credentials_file: Optional[str] = None, - scopes: Optional[Sequence[str]] = None, - channel: Optional[Union[grpc.Channel, Callable[..., grpc.Channel]]] = None, - api_mtls_endpoint: Optional[str] = None, - client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, - ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, - client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, - quota_project_id: Optional[str] = None, - client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, - always_use_jwt_access: Optional[bool] = False, - api_audience: Optional[str] = None, - ) -> None: - """Instantiate the transport. - - Args: - host (Optional[str]): - The hostname to connect to (default: 'recaptchaenterprise.googleapis.com'). - credentials (Optional[google.auth.credentials.Credentials]): The - authorization credentials to attach to requests. These - credentials identify the application to the service; if none - are specified, the client will attempt to ascertain the - credentials from the environment. - This argument is ignored if a ``channel`` instance is provided. - credentials_file (Optional[str]): A file with credentials that can - be loaded with :func:`google.auth.load_credentials_from_file`. - This argument is ignored if a ``channel`` instance is provided. - scopes (Optional(Sequence[str])): A list of scopes. This argument is - ignored if a ``channel`` instance is provided. - channel (Optional[Union[grpc.Channel, Callable[..., grpc.Channel]]]): - A ``Channel`` instance through which to make calls, or a Callable - that constructs and returns one. If set to None, ``self.create_channel`` - is used to create the channel. If a Callable is given, it will be called - with the same arguments as used in ``self.create_channel``. - api_mtls_endpoint (Optional[str]): Deprecated. The mutual TLS endpoint. - If provided, it overrides the ``host`` argument and tries to create - a mutual TLS channel with client SSL credentials from - ``client_cert_source`` or application default SSL credentials. - client_cert_source (Optional[Callable[[], Tuple[bytes, bytes]]]): - Deprecated. A callback to provide client SSL certificate bytes and - private key bytes, both in PEM format. It is ignored if - ``api_mtls_endpoint`` is None. - ssl_channel_credentials (grpc.ChannelCredentials): SSL credentials - for the grpc channel. It is ignored if a ``channel`` instance is provided. - client_cert_source_for_mtls (Optional[Callable[[], Tuple[bytes, bytes]]]): - A callback to provide client certificate bytes and private key bytes, - both in PEM format. It is used to configure a mutual TLS channel. It is - ignored if a ``channel`` instance or ``ssl_channel_credentials`` is provided. - quota_project_id (Optional[str]): An optional project to use for billing - and quota. - client_info (google.api_core.gapic_v1.client_info.ClientInfo): - The client info used to send a user-agent string along with - API requests. If ``None``, then default info will be used. - Generally, you only need to set this if you're developing - your own client library. - always_use_jwt_access (Optional[bool]): Whether self signed JWT should - be used for service account credentials. - - Raises: - google.auth.exceptions.MutualTLSChannelError: If mutual TLS transport - creation failed for any reason. - google.api_core.exceptions.DuplicateCredentialArgs: If both ``credentials`` - and ``credentials_file`` are passed. - """ - self._grpc_channel = None - self._ssl_channel_credentials = ssl_channel_credentials - self._stubs: Dict[str, Callable] = {} - - if api_mtls_endpoint: - warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) - if client_cert_source: - warnings.warn("client_cert_source is deprecated", DeprecationWarning) - - if isinstance(channel, grpc.Channel): - # Ignore credentials if a channel was passed. - credentials = None - self._ignore_credentials = True - # If a channel was explicitly provided, set it. - self._grpc_channel = channel - self._ssl_channel_credentials = None - - else: - if api_mtls_endpoint: - host = api_mtls_endpoint - - # Create SSL credentials with client_cert_source or application - # default SSL credentials. - if client_cert_source: - cert, key = client_cert_source() - self._ssl_channel_credentials = grpc.ssl_channel_credentials( - certificate_chain=cert, private_key=key - ) - else: - self._ssl_channel_credentials = SslCredentials().ssl_credentials - - else: - if client_cert_source_for_mtls and not ssl_channel_credentials: - cert, key = client_cert_source_for_mtls() - self._ssl_channel_credentials = grpc.ssl_channel_credentials( - certificate_chain=cert, private_key=key - ) - - # The base transport sets the host, credentials and scopes - super().__init__( - host=host, - credentials=credentials, - credentials_file=credentials_file, - scopes=scopes, - quota_project_id=quota_project_id, - client_info=client_info, - always_use_jwt_access=always_use_jwt_access, - api_audience=api_audience, - ) - - if not self._grpc_channel: - # initialize with the provided callable or the default channel - channel_init = channel or type(self).create_channel - self._grpc_channel = channel_init( - self._host, - # use the credentials which are saved - credentials=self._credentials, - # Set ``credentials_file`` to ``None`` here as - # the credentials that we saved earlier should be used. - credentials_file=None, - scopes=self._scopes, - ssl_credentials=self._ssl_channel_credentials, - quota_project_id=quota_project_id, - options=[ - ("grpc.max_send_message_length", -1), - ("grpc.max_receive_message_length", -1), - ], - ) - - # Wrap messages. This must be done after self._grpc_channel exists - self._prep_wrapped_messages(client_info) - - @classmethod - def create_channel(cls, - host: str = 'recaptchaenterprise.googleapis.com', - credentials: Optional[ga_credentials.Credentials] = None, - credentials_file: Optional[str] = None, - scopes: Optional[Sequence[str]] = None, - quota_project_id: Optional[str] = None, - **kwargs) -> grpc.Channel: - """Create and return a gRPC channel object. - Args: - host (Optional[str]): The host for the channel to use. - credentials (Optional[~.Credentials]): The - authorization credentials to attach to requests. These - credentials identify this application to the service. If - none are specified, the client will attempt to ascertain - the credentials from the environment. - credentials_file (Optional[str]): A file with credentials that can - be loaded with :func:`google.auth.load_credentials_from_file`. - This argument is mutually exclusive with credentials. - scopes (Optional[Sequence[str]]): A optional list of scopes needed for this - service. These are only used when credentials are not specified and - are passed to :func:`google.auth.default`. - quota_project_id (Optional[str]): An optional project to use for billing - and quota. - kwargs (Optional[dict]): Keyword arguments, which are passed to the - channel creation. - Returns: - grpc.Channel: A gRPC channel object. - - Raises: - google.api_core.exceptions.DuplicateCredentialArgs: If both ``credentials`` - and ``credentials_file`` are passed. - """ - - return grpc_helpers.create_channel( - host, - credentials=credentials, - credentials_file=credentials_file, - quota_project_id=quota_project_id, - default_scopes=cls.AUTH_SCOPES, - scopes=scopes, - default_host=cls.DEFAULT_HOST, - **kwargs - ) - - @property - def grpc_channel(self) -> grpc.Channel: - """Return the channel designed to connect to this service. - """ - return self._grpc_channel - - @property - def create_assessment(self) -> Callable[ - [recaptchaenterprise.CreateAssessmentRequest], - recaptchaenterprise.Assessment]: - r"""Return a callable for the create assessment method over gRPC. - - Creates an Assessment of the likelihood an event is - legitimate. - - Returns: - Callable[[~.CreateAssessmentRequest], - ~.Assessment]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'create_assessment' not in self._stubs: - self._stubs['create_assessment'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateAssessment', - request_serializer=recaptchaenterprise.CreateAssessmentRequest.serialize, - response_deserializer=recaptchaenterprise.Assessment.deserialize, - ) - return self._stubs['create_assessment'] - - @property - def annotate_assessment(self) -> Callable[ - [recaptchaenterprise.AnnotateAssessmentRequest], - recaptchaenterprise.AnnotateAssessmentResponse]: - r"""Return a callable for the annotate assessment method over gRPC. - - Annotates a previously created Assessment to provide - additional information on whether the event turned out - to be authentic or fraudulent. - - Returns: - Callable[[~.AnnotateAssessmentRequest], - ~.AnnotateAssessmentResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'annotate_assessment' not in self._stubs: - self._stubs['annotate_assessment'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/AnnotateAssessment', - request_serializer=recaptchaenterprise.AnnotateAssessmentRequest.serialize, - response_deserializer=recaptchaenterprise.AnnotateAssessmentResponse.deserialize, - ) - return self._stubs['annotate_assessment'] - - @property - def create_key(self) -> Callable[ - [recaptchaenterprise.CreateKeyRequest], - recaptchaenterprise.Key]: - r"""Return a callable for the create key method over gRPC. - - Creates a new reCAPTCHA Enterprise key. - - Returns: - Callable[[~.CreateKeyRequest], - ~.Key]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'create_key' not in self._stubs: - self._stubs['create_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateKey', - request_serializer=recaptchaenterprise.CreateKeyRequest.serialize, - response_deserializer=recaptchaenterprise.Key.deserialize, - ) - return self._stubs['create_key'] - - @property - def list_keys(self) -> Callable[ - [recaptchaenterprise.ListKeysRequest], - recaptchaenterprise.ListKeysResponse]: - r"""Return a callable for the list keys method over gRPC. - - Returns the list of all keys that belong to a - project. - - Returns: - Callable[[~.ListKeysRequest], - ~.ListKeysResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_keys' not in self._stubs: - self._stubs['list_keys'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListKeys', - request_serializer=recaptchaenterprise.ListKeysRequest.serialize, - response_deserializer=recaptchaenterprise.ListKeysResponse.deserialize, - ) - return self._stubs['list_keys'] - - @property - def retrieve_legacy_secret_key(self) -> Callable[ - [recaptchaenterprise.RetrieveLegacySecretKeyRequest], - recaptchaenterprise.RetrieveLegacySecretKeyResponse]: - r"""Return a callable for the retrieve legacy secret key method over gRPC. - - Returns the secret key related to the specified - public key. You must use the legacy secret key only in a - 3rd party integration with legacy reCAPTCHA. - - Returns: - Callable[[~.RetrieveLegacySecretKeyRequest], - ~.RetrieveLegacySecretKeyResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'retrieve_legacy_secret_key' not in self._stubs: - self._stubs['retrieve_legacy_secret_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/RetrieveLegacySecretKey', - request_serializer=recaptchaenterprise.RetrieveLegacySecretKeyRequest.serialize, - response_deserializer=recaptchaenterprise.RetrieveLegacySecretKeyResponse.deserialize, - ) - return self._stubs['retrieve_legacy_secret_key'] - - @property - def get_key(self) -> Callable[ - [recaptchaenterprise.GetKeyRequest], - recaptchaenterprise.Key]: - r"""Return a callable for the get key method over gRPC. - - Returns the specified key. - - Returns: - Callable[[~.GetKeyRequest], - ~.Key]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'get_key' not in self._stubs: - self._stubs['get_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetKey', - request_serializer=recaptchaenterprise.GetKeyRequest.serialize, - response_deserializer=recaptchaenterprise.Key.deserialize, - ) - return self._stubs['get_key'] - - @property - def update_key(self) -> Callable[ - [recaptchaenterprise.UpdateKeyRequest], - recaptchaenterprise.Key]: - r"""Return a callable for the update key method over gRPC. - - Updates the specified key. - - Returns: - Callable[[~.UpdateKeyRequest], - ~.Key]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'update_key' not in self._stubs: - self._stubs['update_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/UpdateKey', - request_serializer=recaptchaenterprise.UpdateKeyRequest.serialize, - response_deserializer=recaptchaenterprise.Key.deserialize, - ) - return self._stubs['update_key'] - - @property - def delete_key(self) -> Callable[ - [recaptchaenterprise.DeleteKeyRequest], - empty_pb2.Empty]: - r"""Return a callable for the delete key method over gRPC. - - Deletes the specified key. - - Returns: - Callable[[~.DeleteKeyRequest], - ~.Empty]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'delete_key' not in self._stubs: - self._stubs['delete_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/DeleteKey', - request_serializer=recaptchaenterprise.DeleteKeyRequest.serialize, - response_deserializer=empty_pb2.Empty.FromString, - ) - return self._stubs['delete_key'] - - @property - def migrate_key(self) -> Callable[ - [recaptchaenterprise.MigrateKeyRequest], - recaptchaenterprise.Key]: - r"""Return a callable for the migrate key method over gRPC. - - Migrates an existing key from reCAPTCHA to reCAPTCHA - Enterprise. Once a key is migrated, it can be used from - either product. SiteVerify requests are billed as - CreateAssessment calls. You must be authenticated as one - of the current owners of the reCAPTCHA Key, and your - user must have the reCAPTCHA Enterprise Admin IAM role - in the destination project. - - Returns: - Callable[[~.MigrateKeyRequest], - ~.Key]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'migrate_key' not in self._stubs: - self._stubs['migrate_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/MigrateKey', - request_serializer=recaptchaenterprise.MigrateKeyRequest.serialize, - response_deserializer=recaptchaenterprise.Key.deserialize, - ) - return self._stubs['migrate_key'] - - @property - def add_ip_override(self) -> Callable[ - [recaptchaenterprise.AddIpOverrideRequest], - recaptchaenterprise.AddIpOverrideResponse]: - r"""Return a callable for the add ip override method over gRPC. - - Adds an IP override to a key. The following restrictions hold: - - - The maximum number of IP overrides per key is 100. - - For any conflict (such as IP already exists or IP part of an - existing IP range), an error is returned. - - Returns: - Callable[[~.AddIpOverrideRequest], - ~.AddIpOverrideResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'add_ip_override' not in self._stubs: - self._stubs['add_ip_override'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/AddIpOverride', - request_serializer=recaptchaenterprise.AddIpOverrideRequest.serialize, - response_deserializer=recaptchaenterprise.AddIpOverrideResponse.deserialize, - ) - return self._stubs['add_ip_override'] - - @property - def remove_ip_override(self) -> Callable[ - [recaptchaenterprise.RemoveIpOverrideRequest], - recaptchaenterprise.RemoveIpOverrideResponse]: - r"""Return a callable for the remove ip override method over gRPC. - - Removes an IP override from a key. The following restrictions - hold: - - - If the IP isn't found in an existing IP override, a - ``NOT_FOUND`` error is returned. - - If the IP is found in an existing IP override, but the - override type does not match, a ``NOT_FOUND`` error is - returned. - - Returns: - Callable[[~.RemoveIpOverrideRequest], - ~.RemoveIpOverrideResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'remove_ip_override' not in self._stubs: - self._stubs['remove_ip_override'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/RemoveIpOverride', - request_serializer=recaptchaenterprise.RemoveIpOverrideRequest.serialize, - response_deserializer=recaptchaenterprise.RemoveIpOverrideResponse.deserialize, - ) - return self._stubs['remove_ip_override'] - - @property - def list_ip_overrides(self) -> Callable[ - [recaptchaenterprise.ListIpOverridesRequest], - recaptchaenterprise.ListIpOverridesResponse]: - r"""Return a callable for the list ip overrides method over gRPC. - - Lists all IP overrides for a key. - - Returns: - Callable[[~.ListIpOverridesRequest], - ~.ListIpOverridesResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_ip_overrides' not in self._stubs: - self._stubs['list_ip_overrides'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListIpOverrides', - request_serializer=recaptchaenterprise.ListIpOverridesRequest.serialize, - response_deserializer=recaptchaenterprise.ListIpOverridesResponse.deserialize, - ) - return self._stubs['list_ip_overrides'] - - @property - def get_metrics(self) -> Callable[ - [recaptchaenterprise.GetMetricsRequest], - recaptchaenterprise.Metrics]: - r"""Return a callable for the get metrics method over gRPC. - - Get some aggregated metrics for a Key. This data can - be used to build dashboards. - - Returns: - Callable[[~.GetMetricsRequest], - ~.Metrics]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'get_metrics' not in self._stubs: - self._stubs['get_metrics'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetMetrics', - request_serializer=recaptchaenterprise.GetMetricsRequest.serialize, - response_deserializer=recaptchaenterprise.Metrics.deserialize, - ) - return self._stubs['get_metrics'] - - @property - def create_firewall_policy(self) -> Callable[ - [recaptchaenterprise.CreateFirewallPolicyRequest], - recaptchaenterprise.FirewallPolicy]: - r"""Return a callable for the create firewall policy method over gRPC. - - Creates a new FirewallPolicy, specifying conditions - at which reCAPTCHA Enterprise actions can be executed. A - project may have a maximum of 1000 policies. - - Returns: - Callable[[~.CreateFirewallPolicyRequest], - ~.FirewallPolicy]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'create_firewall_policy' not in self._stubs: - self._stubs['create_firewall_policy'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateFirewallPolicy', - request_serializer=recaptchaenterprise.CreateFirewallPolicyRequest.serialize, - response_deserializer=recaptchaenterprise.FirewallPolicy.deserialize, - ) - return self._stubs['create_firewall_policy'] - - @property - def list_firewall_policies(self) -> Callable[ - [recaptchaenterprise.ListFirewallPoliciesRequest], - recaptchaenterprise.ListFirewallPoliciesResponse]: - r"""Return a callable for the list firewall policies method over gRPC. - - Returns the list of all firewall policies that belong - to a project. - - Returns: - Callable[[~.ListFirewallPoliciesRequest], - ~.ListFirewallPoliciesResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_firewall_policies' not in self._stubs: - self._stubs['list_firewall_policies'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListFirewallPolicies', - request_serializer=recaptchaenterprise.ListFirewallPoliciesRequest.serialize, - response_deserializer=recaptchaenterprise.ListFirewallPoliciesResponse.deserialize, - ) - return self._stubs['list_firewall_policies'] - - @property - def get_firewall_policy(self) -> Callable[ - [recaptchaenterprise.GetFirewallPolicyRequest], - recaptchaenterprise.FirewallPolicy]: - r"""Return a callable for the get firewall policy method over gRPC. - - Returns the specified firewall policy. - - Returns: - Callable[[~.GetFirewallPolicyRequest], - ~.FirewallPolicy]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'get_firewall_policy' not in self._stubs: - self._stubs['get_firewall_policy'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetFirewallPolicy', - request_serializer=recaptchaenterprise.GetFirewallPolicyRequest.serialize, - response_deserializer=recaptchaenterprise.FirewallPolicy.deserialize, - ) - return self._stubs['get_firewall_policy'] - - @property - def update_firewall_policy(self) -> Callable[ - [recaptchaenterprise.UpdateFirewallPolicyRequest], - recaptchaenterprise.FirewallPolicy]: - r"""Return a callable for the update firewall policy method over gRPC. - - Updates the specified firewall policy. - - Returns: - Callable[[~.UpdateFirewallPolicyRequest], - ~.FirewallPolicy]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'update_firewall_policy' not in self._stubs: - self._stubs['update_firewall_policy'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/UpdateFirewallPolicy', - request_serializer=recaptchaenterprise.UpdateFirewallPolicyRequest.serialize, - response_deserializer=recaptchaenterprise.FirewallPolicy.deserialize, - ) - return self._stubs['update_firewall_policy'] - - @property - def delete_firewall_policy(self) -> Callable[ - [recaptchaenterprise.DeleteFirewallPolicyRequest], - empty_pb2.Empty]: - r"""Return a callable for the delete firewall policy method over gRPC. - - Deletes the specified firewall policy. - - Returns: - Callable[[~.DeleteFirewallPolicyRequest], - ~.Empty]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'delete_firewall_policy' not in self._stubs: - self._stubs['delete_firewall_policy'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/DeleteFirewallPolicy', - request_serializer=recaptchaenterprise.DeleteFirewallPolicyRequest.serialize, - response_deserializer=empty_pb2.Empty.FromString, - ) - return self._stubs['delete_firewall_policy'] - - @property - def reorder_firewall_policies(self) -> Callable[ - [recaptchaenterprise.ReorderFirewallPoliciesRequest], - recaptchaenterprise.ReorderFirewallPoliciesResponse]: - r"""Return a callable for the reorder firewall policies method over gRPC. - - Reorders all firewall policies. - - Returns: - Callable[[~.ReorderFirewallPoliciesRequest], - ~.ReorderFirewallPoliciesResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'reorder_firewall_policies' not in self._stubs: - self._stubs['reorder_firewall_policies'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ReorderFirewallPolicies', - request_serializer=recaptchaenterprise.ReorderFirewallPoliciesRequest.serialize, - response_deserializer=recaptchaenterprise.ReorderFirewallPoliciesResponse.deserialize, - ) - return self._stubs['reorder_firewall_policies'] - - @property - def list_related_account_groups(self) -> Callable[ - [recaptchaenterprise.ListRelatedAccountGroupsRequest], - recaptchaenterprise.ListRelatedAccountGroupsResponse]: - r"""Return a callable for the list related account groups method over gRPC. - - List groups of related accounts. - - Returns: - Callable[[~.ListRelatedAccountGroupsRequest], - ~.ListRelatedAccountGroupsResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_related_account_groups' not in self._stubs: - self._stubs['list_related_account_groups'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListRelatedAccountGroups', - request_serializer=recaptchaenterprise.ListRelatedAccountGroupsRequest.serialize, - response_deserializer=recaptchaenterprise.ListRelatedAccountGroupsResponse.deserialize, - ) - return self._stubs['list_related_account_groups'] - - @property - def list_related_account_group_memberships(self) -> Callable[ - [recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest], - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse]: - r"""Return a callable for the list related account group - memberships method over gRPC. - - Get memberships in a group of related accounts. - - Returns: - Callable[[~.ListRelatedAccountGroupMembershipsRequest], - ~.ListRelatedAccountGroupMembershipsResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_related_account_group_memberships' not in self._stubs: - self._stubs['list_related_account_group_memberships'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListRelatedAccountGroupMemberships', - request_serializer=recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest.serialize, - response_deserializer=recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse.deserialize, - ) - return self._stubs['list_related_account_group_memberships'] - - @property - def search_related_account_group_memberships(self) -> Callable[ - [recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest], - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse]: - r"""Return a callable for the search related account group - memberships method over gRPC. - - Search group memberships related to a given account. - - Returns: - Callable[[~.SearchRelatedAccountGroupMembershipsRequest], - ~.SearchRelatedAccountGroupMembershipsResponse]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'search_related_account_group_memberships' not in self._stubs: - self._stubs['search_related_account_group_memberships'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/SearchRelatedAccountGroupMemberships', - request_serializer=recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest.serialize, - response_deserializer=recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse.deserialize, - ) - return self._stubs['search_related_account_group_memberships'] - - def close(self): - self.grpc_channel.close() - - @property - def kind(self) -> str: - return "grpc" - - -__all__ = ( - 'RecaptchaEnterpriseServiceGrpcTransport', -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc_asyncio.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc_asyncio.py deleted file mode 100644 index 6db14797e005..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc_asyncio.py +++ /dev/null @@ -1,972 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -import inspect -import warnings -from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union - -from google.api_core import gapic_v1 -from google.api_core import grpc_helpers_async -from google.api_core import exceptions as core_exceptions -from google.api_core import retry_async as retries -from google.auth import credentials as ga_credentials # type: ignore -from google.auth.transport.grpc import SslCredentials # type: ignore - -import grpc # type: ignore -from grpc.experimental import aio # type: ignore - -from google.cloud.recaptchaenterprise_v1.types import recaptchaenterprise -from google.protobuf import empty_pb2 # type: ignore -from .base import RecaptchaEnterpriseServiceTransport, DEFAULT_CLIENT_INFO -from .grpc import RecaptchaEnterpriseServiceGrpcTransport - - -class RecaptchaEnterpriseServiceGrpcAsyncIOTransport(RecaptchaEnterpriseServiceTransport): - """gRPC AsyncIO backend transport for RecaptchaEnterpriseService. - - Service to determine the likelihood an event is legitimate. - - This class defines the same methods as the primary client, so the - primary client can load the underlying transport implementation - and call it. - - It sends protocol buffers over the wire using gRPC (which is built on - top of HTTP/2); the ``grpcio`` package must be installed. - """ - - _grpc_channel: aio.Channel - _stubs: Dict[str, Callable] = {} - - @classmethod - def create_channel(cls, - host: str = 'recaptchaenterprise.googleapis.com', - credentials: Optional[ga_credentials.Credentials] = None, - credentials_file: Optional[str] = None, - scopes: Optional[Sequence[str]] = None, - quota_project_id: Optional[str] = None, - **kwargs) -> aio.Channel: - """Create and return a gRPC AsyncIO channel object. - Args: - host (Optional[str]): The host for the channel to use. - credentials (Optional[~.Credentials]): The - authorization credentials to attach to requests. These - credentials identify this application to the service. If - none are specified, the client will attempt to ascertain - the credentials from the environment. - credentials_file (Optional[str]): A file with credentials that can - be loaded with :func:`google.auth.load_credentials_from_file`. - scopes (Optional[Sequence[str]]): A optional list of scopes needed for this - service. These are only used when credentials are not specified and - are passed to :func:`google.auth.default`. - quota_project_id (Optional[str]): An optional project to use for billing - and quota. - kwargs (Optional[dict]): Keyword arguments, which are passed to the - channel creation. - Returns: - aio.Channel: A gRPC AsyncIO channel object. - """ - - return grpc_helpers_async.create_channel( - host, - credentials=credentials, - credentials_file=credentials_file, - quota_project_id=quota_project_id, - default_scopes=cls.AUTH_SCOPES, - scopes=scopes, - default_host=cls.DEFAULT_HOST, - **kwargs - ) - - def __init__(self, *, - host: str = 'recaptchaenterprise.googleapis.com', - credentials: Optional[ga_credentials.Credentials] = None, - credentials_file: Optional[str] = None, - scopes: Optional[Sequence[str]] = None, - channel: Optional[Union[aio.Channel, Callable[..., aio.Channel]]] = None, - api_mtls_endpoint: Optional[str] = None, - client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, - ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, - client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, - quota_project_id: Optional[str] = None, - client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, - always_use_jwt_access: Optional[bool] = False, - api_audience: Optional[str] = None, - ) -> None: - """Instantiate the transport. - - Args: - host (Optional[str]): - The hostname to connect to (default: 'recaptchaenterprise.googleapis.com'). - credentials (Optional[google.auth.credentials.Credentials]): The - authorization credentials to attach to requests. These - credentials identify the application to the service; if none - are specified, the client will attempt to ascertain the - credentials from the environment. - This argument is ignored if a ``channel`` instance is provided. - credentials_file (Optional[str]): A file with credentials that can - be loaded with :func:`google.auth.load_credentials_from_file`. - This argument is ignored if a ``channel`` instance is provided. - scopes (Optional[Sequence[str]]): A optional list of scopes needed for this - service. These are only used when credentials are not specified and - are passed to :func:`google.auth.default`. - channel (Optional[Union[aio.Channel, Callable[..., aio.Channel]]]): - A ``Channel`` instance through which to make calls, or a Callable - that constructs and returns one. If set to None, ``self.create_channel`` - is used to create the channel. If a Callable is given, it will be called - with the same arguments as used in ``self.create_channel``. - api_mtls_endpoint (Optional[str]): Deprecated. The mutual TLS endpoint. - If provided, it overrides the ``host`` argument and tries to create - a mutual TLS channel with client SSL credentials from - ``client_cert_source`` or application default SSL credentials. - client_cert_source (Optional[Callable[[], Tuple[bytes, bytes]]]): - Deprecated. A callback to provide client SSL certificate bytes and - private key bytes, both in PEM format. It is ignored if - ``api_mtls_endpoint`` is None. - ssl_channel_credentials (grpc.ChannelCredentials): SSL credentials - for the grpc channel. It is ignored if a ``channel`` instance is provided. - client_cert_source_for_mtls (Optional[Callable[[], Tuple[bytes, bytes]]]): - A callback to provide client certificate bytes and private key bytes, - both in PEM format. It is used to configure a mutual TLS channel. It is - ignored if a ``channel`` instance or ``ssl_channel_credentials`` is provided. - quota_project_id (Optional[str]): An optional project to use for billing - and quota. - client_info (google.api_core.gapic_v1.client_info.ClientInfo): - The client info used to send a user-agent string along with - API requests. If ``None``, then default info will be used. - Generally, you only need to set this if you're developing - your own client library. - always_use_jwt_access (Optional[bool]): Whether self signed JWT should - be used for service account credentials. - - Raises: - google.auth.exceptions.MutualTlsChannelError: If mutual TLS transport - creation failed for any reason. - google.api_core.exceptions.DuplicateCredentialArgs: If both ``credentials`` - and ``credentials_file`` are passed. - """ - self._grpc_channel = None - self._ssl_channel_credentials = ssl_channel_credentials - self._stubs: Dict[str, Callable] = {} - - if api_mtls_endpoint: - warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) - if client_cert_source: - warnings.warn("client_cert_source is deprecated", DeprecationWarning) - - if isinstance(channel, aio.Channel): - # Ignore credentials if a channel was passed. - credentials = None - self._ignore_credentials = True - # If a channel was explicitly provided, set it. - self._grpc_channel = channel - self._ssl_channel_credentials = None - else: - if api_mtls_endpoint: - host = api_mtls_endpoint - - # Create SSL credentials with client_cert_source or application - # default SSL credentials. - if client_cert_source: - cert, key = client_cert_source() - self._ssl_channel_credentials = grpc.ssl_channel_credentials( - certificate_chain=cert, private_key=key - ) - else: - self._ssl_channel_credentials = SslCredentials().ssl_credentials - - else: - if client_cert_source_for_mtls and not ssl_channel_credentials: - cert, key = client_cert_source_for_mtls() - self._ssl_channel_credentials = grpc.ssl_channel_credentials( - certificate_chain=cert, private_key=key - ) - - # The base transport sets the host, credentials and scopes - super().__init__( - host=host, - credentials=credentials, - credentials_file=credentials_file, - scopes=scopes, - quota_project_id=quota_project_id, - client_info=client_info, - always_use_jwt_access=always_use_jwt_access, - api_audience=api_audience, - ) - - if not self._grpc_channel: - # initialize with the provided callable or the default channel - channel_init = channel or type(self).create_channel - self._grpc_channel = channel_init( - self._host, - # use the credentials which are saved - credentials=self._credentials, - # Set ``credentials_file`` to ``None`` here as - # the credentials that we saved earlier should be used. - credentials_file=None, - scopes=self._scopes, - ssl_credentials=self._ssl_channel_credentials, - quota_project_id=quota_project_id, - options=[ - ("grpc.max_send_message_length", -1), - ("grpc.max_receive_message_length", -1), - ], - ) - - # Wrap messages. This must be done after self._grpc_channel exists - self._wrap_with_kind = "kind" in inspect.signature(gapic_v1.method_async.wrap_method).parameters - self._prep_wrapped_messages(client_info) - - @property - def grpc_channel(self) -> aio.Channel: - """Create the channel designed to connect to this service. - - This property caches on the instance; repeated calls return - the same channel. - """ - # Return the channel from cache. - return self._grpc_channel - - @property - def create_assessment(self) -> Callable[ - [recaptchaenterprise.CreateAssessmentRequest], - Awaitable[recaptchaenterprise.Assessment]]: - r"""Return a callable for the create assessment method over gRPC. - - Creates an Assessment of the likelihood an event is - legitimate. - - Returns: - Callable[[~.CreateAssessmentRequest], - Awaitable[~.Assessment]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'create_assessment' not in self._stubs: - self._stubs['create_assessment'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateAssessment', - request_serializer=recaptchaenterprise.CreateAssessmentRequest.serialize, - response_deserializer=recaptchaenterprise.Assessment.deserialize, - ) - return self._stubs['create_assessment'] - - @property - def annotate_assessment(self) -> Callable[ - [recaptchaenterprise.AnnotateAssessmentRequest], - Awaitable[recaptchaenterprise.AnnotateAssessmentResponse]]: - r"""Return a callable for the annotate assessment method over gRPC. - - Annotates a previously created Assessment to provide - additional information on whether the event turned out - to be authentic or fraudulent. - - Returns: - Callable[[~.AnnotateAssessmentRequest], - Awaitable[~.AnnotateAssessmentResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'annotate_assessment' not in self._stubs: - self._stubs['annotate_assessment'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/AnnotateAssessment', - request_serializer=recaptchaenterprise.AnnotateAssessmentRequest.serialize, - response_deserializer=recaptchaenterprise.AnnotateAssessmentResponse.deserialize, - ) - return self._stubs['annotate_assessment'] - - @property - def create_key(self) -> Callable[ - [recaptchaenterprise.CreateKeyRequest], - Awaitable[recaptchaenterprise.Key]]: - r"""Return a callable for the create key method over gRPC. - - Creates a new reCAPTCHA Enterprise key. - - Returns: - Callable[[~.CreateKeyRequest], - Awaitable[~.Key]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'create_key' not in self._stubs: - self._stubs['create_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateKey', - request_serializer=recaptchaenterprise.CreateKeyRequest.serialize, - response_deserializer=recaptchaenterprise.Key.deserialize, - ) - return self._stubs['create_key'] - - @property - def list_keys(self) -> Callable[ - [recaptchaenterprise.ListKeysRequest], - Awaitable[recaptchaenterprise.ListKeysResponse]]: - r"""Return a callable for the list keys method over gRPC. - - Returns the list of all keys that belong to a - project. - - Returns: - Callable[[~.ListKeysRequest], - Awaitable[~.ListKeysResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_keys' not in self._stubs: - self._stubs['list_keys'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListKeys', - request_serializer=recaptchaenterprise.ListKeysRequest.serialize, - response_deserializer=recaptchaenterprise.ListKeysResponse.deserialize, - ) - return self._stubs['list_keys'] - - @property - def retrieve_legacy_secret_key(self) -> Callable[ - [recaptchaenterprise.RetrieveLegacySecretKeyRequest], - Awaitable[recaptchaenterprise.RetrieveLegacySecretKeyResponse]]: - r"""Return a callable for the retrieve legacy secret key method over gRPC. - - Returns the secret key related to the specified - public key. You must use the legacy secret key only in a - 3rd party integration with legacy reCAPTCHA. - - Returns: - Callable[[~.RetrieveLegacySecretKeyRequest], - Awaitable[~.RetrieveLegacySecretKeyResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'retrieve_legacy_secret_key' not in self._stubs: - self._stubs['retrieve_legacy_secret_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/RetrieveLegacySecretKey', - request_serializer=recaptchaenterprise.RetrieveLegacySecretKeyRequest.serialize, - response_deserializer=recaptchaenterprise.RetrieveLegacySecretKeyResponse.deserialize, - ) - return self._stubs['retrieve_legacy_secret_key'] - - @property - def get_key(self) -> Callable[ - [recaptchaenterprise.GetKeyRequest], - Awaitable[recaptchaenterprise.Key]]: - r"""Return a callable for the get key method over gRPC. - - Returns the specified key. - - Returns: - Callable[[~.GetKeyRequest], - Awaitable[~.Key]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'get_key' not in self._stubs: - self._stubs['get_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetKey', - request_serializer=recaptchaenterprise.GetKeyRequest.serialize, - response_deserializer=recaptchaenterprise.Key.deserialize, - ) - return self._stubs['get_key'] - - @property - def update_key(self) -> Callable[ - [recaptchaenterprise.UpdateKeyRequest], - Awaitable[recaptchaenterprise.Key]]: - r"""Return a callable for the update key method over gRPC. - - Updates the specified key. - - Returns: - Callable[[~.UpdateKeyRequest], - Awaitable[~.Key]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'update_key' not in self._stubs: - self._stubs['update_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/UpdateKey', - request_serializer=recaptchaenterprise.UpdateKeyRequest.serialize, - response_deserializer=recaptchaenterprise.Key.deserialize, - ) - return self._stubs['update_key'] - - @property - def delete_key(self) -> Callable[ - [recaptchaenterprise.DeleteKeyRequest], - Awaitable[empty_pb2.Empty]]: - r"""Return a callable for the delete key method over gRPC. - - Deletes the specified key. - - Returns: - Callable[[~.DeleteKeyRequest], - Awaitable[~.Empty]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'delete_key' not in self._stubs: - self._stubs['delete_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/DeleteKey', - request_serializer=recaptchaenterprise.DeleteKeyRequest.serialize, - response_deserializer=empty_pb2.Empty.FromString, - ) - return self._stubs['delete_key'] - - @property - def migrate_key(self) -> Callable[ - [recaptchaenterprise.MigrateKeyRequest], - Awaitable[recaptchaenterprise.Key]]: - r"""Return a callable for the migrate key method over gRPC. - - Migrates an existing key from reCAPTCHA to reCAPTCHA - Enterprise. Once a key is migrated, it can be used from - either product. SiteVerify requests are billed as - CreateAssessment calls. You must be authenticated as one - of the current owners of the reCAPTCHA Key, and your - user must have the reCAPTCHA Enterprise Admin IAM role - in the destination project. - - Returns: - Callable[[~.MigrateKeyRequest], - Awaitable[~.Key]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'migrate_key' not in self._stubs: - self._stubs['migrate_key'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/MigrateKey', - request_serializer=recaptchaenterprise.MigrateKeyRequest.serialize, - response_deserializer=recaptchaenterprise.Key.deserialize, - ) - return self._stubs['migrate_key'] - - @property - def add_ip_override(self) -> Callable[ - [recaptchaenterprise.AddIpOverrideRequest], - Awaitable[recaptchaenterprise.AddIpOverrideResponse]]: - r"""Return a callable for the add ip override method over gRPC. - - Adds an IP override to a key. The following restrictions hold: - - - The maximum number of IP overrides per key is 100. - - For any conflict (such as IP already exists or IP part of an - existing IP range), an error is returned. - - Returns: - Callable[[~.AddIpOverrideRequest], - Awaitable[~.AddIpOverrideResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'add_ip_override' not in self._stubs: - self._stubs['add_ip_override'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/AddIpOverride', - request_serializer=recaptchaenterprise.AddIpOverrideRequest.serialize, - response_deserializer=recaptchaenterprise.AddIpOverrideResponse.deserialize, - ) - return self._stubs['add_ip_override'] - - @property - def remove_ip_override(self) -> Callable[ - [recaptchaenterprise.RemoveIpOverrideRequest], - Awaitable[recaptchaenterprise.RemoveIpOverrideResponse]]: - r"""Return a callable for the remove ip override method over gRPC. - - Removes an IP override from a key. The following restrictions - hold: - - - If the IP isn't found in an existing IP override, a - ``NOT_FOUND`` error is returned. - - If the IP is found in an existing IP override, but the - override type does not match, a ``NOT_FOUND`` error is - returned. - - Returns: - Callable[[~.RemoveIpOverrideRequest], - Awaitable[~.RemoveIpOverrideResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'remove_ip_override' not in self._stubs: - self._stubs['remove_ip_override'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/RemoveIpOverride', - request_serializer=recaptchaenterprise.RemoveIpOverrideRequest.serialize, - response_deserializer=recaptchaenterprise.RemoveIpOverrideResponse.deserialize, - ) - return self._stubs['remove_ip_override'] - - @property - def list_ip_overrides(self) -> Callable[ - [recaptchaenterprise.ListIpOverridesRequest], - Awaitable[recaptchaenterprise.ListIpOverridesResponse]]: - r"""Return a callable for the list ip overrides method over gRPC. - - Lists all IP overrides for a key. - - Returns: - Callable[[~.ListIpOverridesRequest], - Awaitable[~.ListIpOverridesResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_ip_overrides' not in self._stubs: - self._stubs['list_ip_overrides'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListIpOverrides', - request_serializer=recaptchaenterprise.ListIpOverridesRequest.serialize, - response_deserializer=recaptchaenterprise.ListIpOverridesResponse.deserialize, - ) - return self._stubs['list_ip_overrides'] - - @property - def get_metrics(self) -> Callable[ - [recaptchaenterprise.GetMetricsRequest], - Awaitable[recaptchaenterprise.Metrics]]: - r"""Return a callable for the get metrics method over gRPC. - - Get some aggregated metrics for a Key. This data can - be used to build dashboards. - - Returns: - Callable[[~.GetMetricsRequest], - Awaitable[~.Metrics]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'get_metrics' not in self._stubs: - self._stubs['get_metrics'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetMetrics', - request_serializer=recaptchaenterprise.GetMetricsRequest.serialize, - response_deserializer=recaptchaenterprise.Metrics.deserialize, - ) - return self._stubs['get_metrics'] - - @property - def create_firewall_policy(self) -> Callable[ - [recaptchaenterprise.CreateFirewallPolicyRequest], - Awaitable[recaptchaenterprise.FirewallPolicy]]: - r"""Return a callable for the create firewall policy method over gRPC. - - Creates a new FirewallPolicy, specifying conditions - at which reCAPTCHA Enterprise actions can be executed. A - project may have a maximum of 1000 policies. - - Returns: - Callable[[~.CreateFirewallPolicyRequest], - Awaitable[~.FirewallPolicy]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'create_firewall_policy' not in self._stubs: - self._stubs['create_firewall_policy'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateFirewallPolicy', - request_serializer=recaptchaenterprise.CreateFirewallPolicyRequest.serialize, - response_deserializer=recaptchaenterprise.FirewallPolicy.deserialize, - ) - return self._stubs['create_firewall_policy'] - - @property - def list_firewall_policies(self) -> Callable[ - [recaptchaenterprise.ListFirewallPoliciesRequest], - Awaitable[recaptchaenterprise.ListFirewallPoliciesResponse]]: - r"""Return a callable for the list firewall policies method over gRPC. - - Returns the list of all firewall policies that belong - to a project. - - Returns: - Callable[[~.ListFirewallPoliciesRequest], - Awaitable[~.ListFirewallPoliciesResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_firewall_policies' not in self._stubs: - self._stubs['list_firewall_policies'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListFirewallPolicies', - request_serializer=recaptchaenterprise.ListFirewallPoliciesRequest.serialize, - response_deserializer=recaptchaenterprise.ListFirewallPoliciesResponse.deserialize, - ) - return self._stubs['list_firewall_policies'] - - @property - def get_firewall_policy(self) -> Callable[ - [recaptchaenterprise.GetFirewallPolicyRequest], - Awaitable[recaptchaenterprise.FirewallPolicy]]: - r"""Return a callable for the get firewall policy method over gRPC. - - Returns the specified firewall policy. - - Returns: - Callable[[~.GetFirewallPolicyRequest], - Awaitable[~.FirewallPolicy]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'get_firewall_policy' not in self._stubs: - self._stubs['get_firewall_policy'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetFirewallPolicy', - request_serializer=recaptchaenterprise.GetFirewallPolicyRequest.serialize, - response_deserializer=recaptchaenterprise.FirewallPolicy.deserialize, - ) - return self._stubs['get_firewall_policy'] - - @property - def update_firewall_policy(self) -> Callable[ - [recaptchaenterprise.UpdateFirewallPolicyRequest], - Awaitable[recaptchaenterprise.FirewallPolicy]]: - r"""Return a callable for the update firewall policy method over gRPC. - - Updates the specified firewall policy. - - Returns: - Callable[[~.UpdateFirewallPolicyRequest], - Awaitable[~.FirewallPolicy]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'update_firewall_policy' not in self._stubs: - self._stubs['update_firewall_policy'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/UpdateFirewallPolicy', - request_serializer=recaptchaenterprise.UpdateFirewallPolicyRequest.serialize, - response_deserializer=recaptchaenterprise.FirewallPolicy.deserialize, - ) - return self._stubs['update_firewall_policy'] - - @property - def delete_firewall_policy(self) -> Callable[ - [recaptchaenterprise.DeleteFirewallPolicyRequest], - Awaitable[empty_pb2.Empty]]: - r"""Return a callable for the delete firewall policy method over gRPC. - - Deletes the specified firewall policy. - - Returns: - Callable[[~.DeleteFirewallPolicyRequest], - Awaitable[~.Empty]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'delete_firewall_policy' not in self._stubs: - self._stubs['delete_firewall_policy'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/DeleteFirewallPolicy', - request_serializer=recaptchaenterprise.DeleteFirewallPolicyRequest.serialize, - response_deserializer=empty_pb2.Empty.FromString, - ) - return self._stubs['delete_firewall_policy'] - - @property - def reorder_firewall_policies(self) -> Callable[ - [recaptchaenterprise.ReorderFirewallPoliciesRequest], - Awaitable[recaptchaenterprise.ReorderFirewallPoliciesResponse]]: - r"""Return a callable for the reorder firewall policies method over gRPC. - - Reorders all firewall policies. - - Returns: - Callable[[~.ReorderFirewallPoliciesRequest], - Awaitable[~.ReorderFirewallPoliciesResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'reorder_firewall_policies' not in self._stubs: - self._stubs['reorder_firewall_policies'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ReorderFirewallPolicies', - request_serializer=recaptchaenterprise.ReorderFirewallPoliciesRequest.serialize, - response_deserializer=recaptchaenterprise.ReorderFirewallPoliciesResponse.deserialize, - ) - return self._stubs['reorder_firewall_policies'] - - @property - def list_related_account_groups(self) -> Callable[ - [recaptchaenterprise.ListRelatedAccountGroupsRequest], - Awaitable[recaptchaenterprise.ListRelatedAccountGroupsResponse]]: - r"""Return a callable for the list related account groups method over gRPC. - - List groups of related accounts. - - Returns: - Callable[[~.ListRelatedAccountGroupsRequest], - Awaitable[~.ListRelatedAccountGroupsResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_related_account_groups' not in self._stubs: - self._stubs['list_related_account_groups'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListRelatedAccountGroups', - request_serializer=recaptchaenterprise.ListRelatedAccountGroupsRequest.serialize, - response_deserializer=recaptchaenterprise.ListRelatedAccountGroupsResponse.deserialize, - ) - return self._stubs['list_related_account_groups'] - - @property - def list_related_account_group_memberships(self) -> Callable[ - [recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest], - Awaitable[recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse]]: - r"""Return a callable for the list related account group - memberships method over gRPC. - - Get memberships in a group of related accounts. - - Returns: - Callable[[~.ListRelatedAccountGroupMembershipsRequest], - Awaitable[~.ListRelatedAccountGroupMembershipsResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'list_related_account_group_memberships' not in self._stubs: - self._stubs['list_related_account_group_memberships'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListRelatedAccountGroupMemberships', - request_serializer=recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest.serialize, - response_deserializer=recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse.deserialize, - ) - return self._stubs['list_related_account_group_memberships'] - - @property - def search_related_account_group_memberships(self) -> Callable[ - [recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest], - Awaitable[recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse]]: - r"""Return a callable for the search related account group - memberships method over gRPC. - - Search group memberships related to a given account. - - Returns: - Callable[[~.SearchRelatedAccountGroupMembershipsRequest], - Awaitable[~.SearchRelatedAccountGroupMembershipsResponse]]: - A function that, when called, will call the underlying RPC - on the server. - """ - # Generate a "stub function" on-the-fly which will actually make - # the request. - # gRPC handles serialization and deserialization, so we just need - # to pass in the functions for each. - if 'search_related_account_group_memberships' not in self._stubs: - self._stubs['search_related_account_group_memberships'] = self.grpc_channel.unary_unary( - '/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/SearchRelatedAccountGroupMemberships', - request_serializer=recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest.serialize, - response_deserializer=recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse.deserialize, - ) - return self._stubs['search_related_account_group_memberships'] - - def _prep_wrapped_messages(self, client_info): - """ Precompute the wrapped methods, overriding the base class method to use async wrappers.""" - self._wrapped_methods = { - self.create_assessment: self._wrap_method( - self.create_assessment, - default_timeout=600.0, - client_info=client_info, - ), - self.annotate_assessment: self._wrap_method( - self.annotate_assessment, - default_timeout=600.0, - client_info=client_info, - ), - self.create_key: self._wrap_method( - self.create_key, - default_timeout=600.0, - client_info=client_info, - ), - self.list_keys: self._wrap_method( - self.list_keys, - default_timeout=600.0, - client_info=client_info, - ), - self.retrieve_legacy_secret_key: self._wrap_method( - self.retrieve_legacy_secret_key, - default_timeout=None, - client_info=client_info, - ), - self.get_key: self._wrap_method( - self.get_key, - default_timeout=600.0, - client_info=client_info, - ), - self.update_key: self._wrap_method( - self.update_key, - default_timeout=600.0, - client_info=client_info, - ), - self.delete_key: self._wrap_method( - self.delete_key, - default_timeout=600.0, - client_info=client_info, - ), - self.migrate_key: self._wrap_method( - self.migrate_key, - default_timeout=None, - client_info=client_info, - ), - self.add_ip_override: self._wrap_method( - self.add_ip_override, - default_timeout=None, - client_info=client_info, - ), - self.remove_ip_override: self._wrap_method( - self.remove_ip_override, - default_timeout=None, - client_info=client_info, - ), - self.list_ip_overrides: self._wrap_method( - self.list_ip_overrides, - default_timeout=None, - client_info=client_info, - ), - self.get_metrics: self._wrap_method( - self.get_metrics, - default_timeout=None, - client_info=client_info, - ), - self.create_firewall_policy: self._wrap_method( - self.create_firewall_policy, - default_timeout=None, - client_info=client_info, - ), - self.list_firewall_policies: self._wrap_method( - self.list_firewall_policies, - default_timeout=None, - client_info=client_info, - ), - self.get_firewall_policy: self._wrap_method( - self.get_firewall_policy, - default_timeout=None, - client_info=client_info, - ), - self.update_firewall_policy: self._wrap_method( - self.update_firewall_policy, - default_timeout=None, - client_info=client_info, - ), - self.delete_firewall_policy: self._wrap_method( - self.delete_firewall_policy, - default_timeout=None, - client_info=client_info, - ), - self.reorder_firewall_policies: self._wrap_method( - self.reorder_firewall_policies, - default_timeout=None, - client_info=client_info, - ), - self.list_related_account_groups: self._wrap_method( - self.list_related_account_groups, - default_timeout=None, - client_info=client_info, - ), - self.list_related_account_group_memberships: self._wrap_method( - self.list_related_account_group_memberships, - default_timeout=None, - client_info=client_info, - ), - self.search_related_account_group_memberships: self._wrap_method( - self.search_related_account_group_memberships, - default_timeout=None, - client_info=client_info, - ), - } - - def _wrap_method(self, func, *args, **kwargs): - if self._wrap_with_kind: # pragma: NO COVER - kwargs["kind"] = self.kind - return gapic_v1.method_async.wrap_method(func, *args, **kwargs) - - def close(self): - return self.grpc_channel.close() - - @property - def kind(self) -> str: - return "grpc_asyncio" - - -__all__ = ( - 'RecaptchaEnterpriseServiceGrpcAsyncIOTransport', -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/types/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/types/__init__.py deleted file mode 100644 index f38c9eb019ef..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/types/__init__.py +++ /dev/null @@ -1,156 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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 .recaptchaenterprise import ( - AccountDefenderAssessment, - AccountVerificationInfo, - AddIpOverrideRequest, - AddIpOverrideResponse, - AndroidKeySettings, - AnnotateAssessmentRequest, - AnnotateAssessmentResponse, - AppleDeveloperId, - Assessment, - AssessmentEnvironment, - ChallengeMetrics, - CreateAssessmentRequest, - CreateFirewallPolicyRequest, - CreateKeyRequest, - DeleteFirewallPolicyRequest, - DeleteKeyRequest, - EndpointVerificationInfo, - Event, - ExpressKeySettings, - FirewallAction, - FirewallPolicy, - FirewallPolicyAssessment, - FraudPreventionAssessment, - FraudSignals, - GetFirewallPolicyRequest, - GetKeyRequest, - GetMetricsRequest, - IOSKeySettings, - IpOverrideData, - Key, - ListFirewallPoliciesRequest, - ListFirewallPoliciesResponse, - ListIpOverridesRequest, - ListIpOverridesResponse, - ListKeysRequest, - ListKeysResponse, - ListRelatedAccountGroupMembershipsRequest, - ListRelatedAccountGroupMembershipsResponse, - ListRelatedAccountGroupsRequest, - ListRelatedAccountGroupsResponse, - Metrics, - MigrateKeyRequest, - PhoneFraudAssessment, - PrivatePasswordLeakVerification, - RelatedAccountGroup, - RelatedAccountGroupMembership, - RemoveIpOverrideRequest, - RemoveIpOverrideResponse, - ReorderFirewallPoliciesRequest, - ReorderFirewallPoliciesResponse, - RetrieveLegacySecretKeyRequest, - RetrieveLegacySecretKeyResponse, - RiskAnalysis, - ScoreDistribution, - ScoreMetrics, - SearchRelatedAccountGroupMembershipsRequest, - SearchRelatedAccountGroupMembershipsResponse, - SmsTollFraudVerdict, - TestingOptions, - TokenProperties, - TransactionData, - TransactionEvent, - UpdateFirewallPolicyRequest, - UpdateKeyRequest, - UserId, - UserInfo, - WafSettings, - WebKeySettings, -) - -__all__ = ( - 'AccountDefenderAssessment', - 'AccountVerificationInfo', - 'AddIpOverrideRequest', - 'AddIpOverrideResponse', - 'AndroidKeySettings', - 'AnnotateAssessmentRequest', - 'AnnotateAssessmentResponse', - 'AppleDeveloperId', - 'Assessment', - 'AssessmentEnvironment', - 'ChallengeMetrics', - 'CreateAssessmentRequest', - 'CreateFirewallPolicyRequest', - 'CreateKeyRequest', - 'DeleteFirewallPolicyRequest', - 'DeleteKeyRequest', - 'EndpointVerificationInfo', - 'Event', - 'ExpressKeySettings', - 'FirewallAction', - 'FirewallPolicy', - 'FirewallPolicyAssessment', - 'FraudPreventionAssessment', - 'FraudSignals', - 'GetFirewallPolicyRequest', - 'GetKeyRequest', - 'GetMetricsRequest', - 'IOSKeySettings', - 'IpOverrideData', - 'Key', - 'ListFirewallPoliciesRequest', - 'ListFirewallPoliciesResponse', - 'ListIpOverridesRequest', - 'ListIpOverridesResponse', - 'ListKeysRequest', - 'ListKeysResponse', - 'ListRelatedAccountGroupMembershipsRequest', - 'ListRelatedAccountGroupMembershipsResponse', - 'ListRelatedAccountGroupsRequest', - 'ListRelatedAccountGroupsResponse', - 'Metrics', - 'MigrateKeyRequest', - 'PhoneFraudAssessment', - 'PrivatePasswordLeakVerification', - 'RelatedAccountGroup', - 'RelatedAccountGroupMembership', - 'RemoveIpOverrideRequest', - 'RemoveIpOverrideResponse', - 'ReorderFirewallPoliciesRequest', - 'ReorderFirewallPoliciesResponse', - 'RetrieveLegacySecretKeyRequest', - 'RetrieveLegacySecretKeyResponse', - 'RiskAnalysis', - 'ScoreDistribution', - 'ScoreMetrics', - 'SearchRelatedAccountGroupMembershipsRequest', - 'SearchRelatedAccountGroupMembershipsResponse', - 'SmsTollFraudVerdict', - 'TestingOptions', - 'TokenProperties', - 'TransactionData', - 'TransactionEvent', - 'UpdateFirewallPolicyRequest', - 'UpdateKeyRequest', - 'UserId', - 'UserInfo', - 'WafSettings', - 'WebKeySettings', -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/types/recaptchaenterprise.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/types/recaptchaenterprise.py deleted file mode 100644 index 23e581a7ea2a..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/google/cloud/recaptchaenterprise_v1/types/recaptchaenterprise.py +++ /dev/null @@ -1,3362 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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 annotations - -from typing import MutableMapping, MutableSequence - -import proto # type: ignore - -from google.protobuf import field_mask_pb2 # type: ignore -from google.protobuf import timestamp_pb2 # type: ignore -from google.rpc import status_pb2 # type: ignore - - -__protobuf__ = proto.module( - package='google.cloud.recaptchaenterprise.v1', - manifest={ - 'CreateAssessmentRequest', - 'TransactionEvent', - 'AnnotateAssessmentRequest', - 'AnnotateAssessmentResponse', - 'EndpointVerificationInfo', - 'AccountVerificationInfo', - 'PrivatePasswordLeakVerification', - 'Assessment', - 'Event', - 'TransactionData', - 'UserInfo', - 'UserId', - 'RiskAnalysis', - 'TokenProperties', - 'FraudPreventionAssessment', - 'FraudSignals', - 'SmsTollFraudVerdict', - 'PhoneFraudAssessment', - 'AccountDefenderAssessment', - 'CreateKeyRequest', - 'ListKeysRequest', - 'ListKeysResponse', - 'RetrieveLegacySecretKeyRequest', - 'GetKeyRequest', - 'UpdateKeyRequest', - 'DeleteKeyRequest', - 'CreateFirewallPolicyRequest', - 'ListFirewallPoliciesRequest', - 'ListFirewallPoliciesResponse', - 'GetFirewallPolicyRequest', - 'UpdateFirewallPolicyRequest', - 'DeleteFirewallPolicyRequest', - 'ReorderFirewallPoliciesRequest', - 'ReorderFirewallPoliciesResponse', - 'MigrateKeyRequest', - 'GetMetricsRequest', - 'Metrics', - 'RetrieveLegacySecretKeyResponse', - 'Key', - 'TestingOptions', - 'WebKeySettings', - 'AndroidKeySettings', - 'IOSKeySettings', - 'ExpressKeySettings', - 'AppleDeveloperId', - 'ScoreDistribution', - 'ScoreMetrics', - 'ChallengeMetrics', - 'FirewallPolicyAssessment', - 'FirewallAction', - 'FirewallPolicy', - 'ListRelatedAccountGroupMembershipsRequest', - 'ListRelatedAccountGroupMembershipsResponse', - 'ListRelatedAccountGroupsRequest', - 'ListRelatedAccountGroupsResponse', - 'SearchRelatedAccountGroupMembershipsRequest', - 'SearchRelatedAccountGroupMembershipsResponse', - 'AddIpOverrideRequest', - 'AddIpOverrideResponse', - 'RemoveIpOverrideRequest', - 'RemoveIpOverrideResponse', - 'ListIpOverridesRequest', - 'ListIpOverridesResponse', - 'RelatedAccountGroupMembership', - 'RelatedAccountGroup', - 'WafSettings', - 'AssessmentEnvironment', - 'IpOverrideData', - }, -) - - -class CreateAssessmentRequest(proto.Message): - r"""The create assessment request message. - - Attributes: - parent (str): - Required. The name of the project in which the assessment is - created, in the format ``projects/{project}``. - assessment (google.cloud.recaptchaenterprise_v1.types.Assessment): - Required. The assessment details. - """ - - parent: str = proto.Field( - proto.STRING, - number=1, - ) - assessment: 'Assessment' = proto.Field( - proto.MESSAGE, - number=2, - message='Assessment', - ) - - -class TransactionEvent(proto.Message): - r"""Describes an event in the lifecycle of a payment transaction. - - Attributes: - event_type (google.cloud.recaptchaenterprise_v1.types.TransactionEvent.TransactionEventType): - Optional. The type of this transaction event. - reason (str): - Optional. The reason or standardized code - that corresponds with this transaction event, if - one exists. For example, a CHARGEBACK event with - code 6005. - value (float): - Optional. The value that corresponds with - this transaction event, if one exists. For - example, a refund event where $5.00 was - refunded. Currency is obtained from the original - transaction data. - event_time (google.protobuf.timestamp_pb2.Timestamp): - Optional. Timestamp when this transaction - event occurred; otherwise assumed to be the time - of the API call. - """ - class TransactionEventType(proto.Enum): - r"""Enum that represents an event in the payment transaction - lifecycle. - - Values: - TRANSACTION_EVENT_TYPE_UNSPECIFIED (0): - Default, unspecified event type. - MERCHANT_APPROVE (1): - Indicates that the transaction is approved by the merchant. - The accompanying reasons can include terms such as - 'INHOUSE', 'ACCERTIFY', 'CYBERSOURCE', or 'MANUAL_REVIEW'. - MERCHANT_DENY (2): - Indicates that the transaction is denied and concluded due - to risks detected by the merchant. The accompanying reasons - can include terms such as 'INHOUSE', 'ACCERTIFY', - 'CYBERSOURCE', or 'MANUAL_REVIEW'. - MANUAL_REVIEW (3): - Indicates that the transaction is being - evaluated by a human, due to suspicion or risk. - AUTHORIZATION (4): - Indicates that the authorization attempt with - the card issuer succeeded. - AUTHORIZATION_DECLINE (5): - Indicates that the authorization attempt with - the card issuer failed. The accompanying reasons - can include Visa's '54' indicating that the card - is expired, or '82' indicating that the CVV is - incorrect. - PAYMENT_CAPTURE (6): - Indicates that the transaction is completed - because the funds were settled. - PAYMENT_CAPTURE_DECLINE (7): - Indicates that the transaction could not be - completed because the funds were not settled. - CANCEL (8): - Indicates that the transaction has been canceled. Specify - the reason for the cancellation. For example, - 'INSUFFICIENT_INVENTORY'. - CHARGEBACK_INQUIRY (9): - Indicates that the merchant has received a - chargeback inquiry due to fraud for the - transaction, requesting additional information - before a fraud chargeback is officially issued - and a formal chargeback notification is sent. - CHARGEBACK_ALERT (10): - Indicates that the merchant has received a - chargeback alert due to fraud for the - transaction. The process of resolving the - dispute without involving the payment network is - started. - FRAUD_NOTIFICATION (11): - Indicates that a fraud notification is issued for the - transaction, sent by the payment instrument's issuing bank - because the transaction appears to be fraudulent. We - recommend including TC40 or SAFE data in the ``reason`` - field for this event type. For partial chargebacks, we - recommend that you include an amount in the ``value`` field. - CHARGEBACK (12): - Indicates that the merchant is informed by the payment - network that the transaction has entered the chargeback - process due to fraud. Reason code examples include - Discover's '6005' and '6041'. For partial chargebacks, we - recommend that you include an amount in the ``value`` field. - CHARGEBACK_REPRESENTMENT (13): - Indicates that the transaction has entered the chargeback - process due to fraud, and that the merchant has chosen to - enter representment. Reason examples include Discover's - '6005' and '6041'. For partial chargebacks, we recommend - that you include an amount in the ``value`` field. - CHARGEBACK_REVERSE (14): - Indicates that the transaction has had a fraud chargeback - which was illegitimate and was reversed as a result. For - partial chargebacks, we recommend that you include an amount - in the ``value`` field. - REFUND_REQUEST (15): - Indicates that the merchant has received a refund for a - completed transaction. For partial refunds, we recommend - that you include an amount in the ``value`` field. Reason - example: 'TAX_EXEMPT' (partial refund of exempt tax) - REFUND_DECLINE (16): - Indicates that the merchant has received a refund request - for this transaction, but that they have declined it. For - partial refunds, we recommend that you include an amount in - the ``value`` field. Reason example: 'TAX_EXEMPT' (partial - refund of exempt tax) - REFUND (17): - Indicates that the completed transaction was refunded by the - merchant. For partial refunds, we recommend that you include - an amount in the ``value`` field. Reason example: - 'TAX_EXEMPT' (partial refund of exempt tax) - REFUND_REVERSE (18): - Indicates that the completed transaction was refunded by the - merchant, and that this refund was reversed. For partial - refunds, we recommend that you include an amount in the - ``value`` field. - """ - TRANSACTION_EVENT_TYPE_UNSPECIFIED = 0 - MERCHANT_APPROVE = 1 - MERCHANT_DENY = 2 - MANUAL_REVIEW = 3 - AUTHORIZATION = 4 - AUTHORIZATION_DECLINE = 5 - PAYMENT_CAPTURE = 6 - PAYMENT_CAPTURE_DECLINE = 7 - CANCEL = 8 - CHARGEBACK_INQUIRY = 9 - CHARGEBACK_ALERT = 10 - FRAUD_NOTIFICATION = 11 - CHARGEBACK = 12 - CHARGEBACK_REPRESENTMENT = 13 - CHARGEBACK_REVERSE = 14 - REFUND_REQUEST = 15 - REFUND_DECLINE = 16 - REFUND = 17 - REFUND_REVERSE = 18 - - event_type: TransactionEventType = proto.Field( - proto.ENUM, - number=1, - enum=TransactionEventType, - ) - reason: str = proto.Field( - proto.STRING, - number=2, - ) - value: float = proto.Field( - proto.DOUBLE, - number=3, - ) - event_time: timestamp_pb2.Timestamp = proto.Field( - proto.MESSAGE, - number=4, - message=timestamp_pb2.Timestamp, - ) - - -class AnnotateAssessmentRequest(proto.Message): - r"""The request message to annotate an Assessment. - - Attributes: - name (str): - Required. The resource name of the Assessment, in the format - ``projects/{project}/assessments/{assessment}``. - annotation (google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest.Annotation): - Optional. The annotation that is assigned to - the Event. This field can be left empty to - provide reasons that apply to an event without - concluding whether the event is legitimate or - fraudulent. - reasons (MutableSequence[google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest.Reason]): - Optional. Reasons for the annotation that are - assigned to the event. - account_id (str): - Optional. A stable account identifier to apply to the - assessment. This is an alternative to setting ``account_id`` - in ``CreateAssessment``, for example when a stable account - identifier is not yet known in the initial request. - hashed_account_id (bytes): - Optional. A stable hashed account identifier to apply to the - assessment. This is an alternative to setting - ``hashed_account_id`` in ``CreateAssessment``, for example - when a stable account identifier is not yet known in the - initial request. - transaction_event (google.cloud.recaptchaenterprise_v1.types.TransactionEvent): - Optional. If the assessment is part of a - payment transaction, provide details on payment - lifecycle events that occur in the transaction. - """ - class Annotation(proto.Enum): - r"""Enum that represents the types of annotations. - - Values: - ANNOTATION_UNSPECIFIED (0): - Default unspecified type. - LEGITIMATE (1): - Provides information that the event turned - out to be legitimate. - FRAUDULENT (2): - Provides information that the event turned - out to be fraudulent. - PASSWORD_CORRECT (3): - Provides information that the event was related to a login - event in which the user typed the correct password. - Deprecated, prefer indicating CORRECT_PASSWORD through the - reasons field instead. - PASSWORD_INCORRECT (4): - Provides information that the event was related to a login - event in which the user typed the incorrect password. - Deprecated, prefer indicating INCORRECT_PASSWORD through the - reasons field instead. - """ - ANNOTATION_UNSPECIFIED = 0 - LEGITIMATE = 1 - FRAUDULENT = 2 - PASSWORD_CORRECT = 3 - PASSWORD_INCORRECT = 4 - - class Reason(proto.Enum): - r"""Enum that represents potential reasons for annotating an - assessment. - - Values: - REASON_UNSPECIFIED (0): - Default unspecified reason. - CHARGEBACK (1): - Indicates that the transaction had a chargeback issued with - no other details. When possible, specify the type by using - CHARGEBACK_FRAUD or CHARGEBACK_DISPUTE instead. - CHARGEBACK_FRAUD (8): - Indicates that the transaction had a - chargeback issued related to an alleged - unauthorized transaction from the cardholder's - perspective (for example, the card number was - stolen). - CHARGEBACK_DISPUTE (9): - Indicates that the transaction had a - chargeback issued related to the cardholder - having provided their card details but allegedly - not being satisfied with the purchase (for - example, misrepresentation, attempted - cancellation). - REFUND (10): - Indicates that the completed payment - transaction was refunded by the seller. - REFUND_FRAUD (11): - Indicates that the completed payment - transaction was determined to be fraudulent by - the seller, and was cancelled and refunded as a - result. - TRANSACTION_ACCEPTED (12): - Indicates that the payment transaction was - accepted, and the user was charged. - TRANSACTION_DECLINED (13): - Indicates that the payment transaction was - declined, for example due to invalid card - details. - PAYMENT_HEURISTICS (2): - Indicates the transaction associated with the - assessment is suspected of being fraudulent - based on the payment method, billing details, - shipping address or other transaction - information. - INITIATED_TWO_FACTOR (7): - Indicates that the user was served a 2FA challenge. An old - assessment with ``ENUM_VALUES.INITIATED_TWO_FACTOR`` reason - that has not been overwritten with ``PASSED_TWO_FACTOR`` is - treated as an abandoned 2FA flow. This is equivalent to - ``FAILED_TWO_FACTOR``. - PASSED_TWO_FACTOR (3): - Indicates that the user passed a 2FA - challenge. - FAILED_TWO_FACTOR (4): - Indicates that the user failed a 2FA - challenge. - CORRECT_PASSWORD (5): - Indicates the user provided the correct - password. - INCORRECT_PASSWORD (6): - Indicates the user provided an incorrect - password. - SOCIAL_SPAM (14): - Indicates that the user sent unwanted and - abusive messages to other users of the platform, - such as spam, scams, phishing, or social - engineering. - """ - REASON_UNSPECIFIED = 0 - CHARGEBACK = 1 - CHARGEBACK_FRAUD = 8 - CHARGEBACK_DISPUTE = 9 - REFUND = 10 - REFUND_FRAUD = 11 - TRANSACTION_ACCEPTED = 12 - TRANSACTION_DECLINED = 13 - PAYMENT_HEURISTICS = 2 - INITIATED_TWO_FACTOR = 7 - PASSED_TWO_FACTOR = 3 - FAILED_TWO_FACTOR = 4 - CORRECT_PASSWORD = 5 - INCORRECT_PASSWORD = 6 - SOCIAL_SPAM = 14 - - name: str = proto.Field( - proto.STRING, - number=1, - ) - annotation: Annotation = proto.Field( - proto.ENUM, - number=2, - enum=Annotation, - ) - reasons: MutableSequence[Reason] = proto.RepeatedField( - proto.ENUM, - number=3, - enum=Reason, - ) - account_id: str = proto.Field( - proto.STRING, - number=7, - ) - hashed_account_id: bytes = proto.Field( - proto.BYTES, - number=4, - ) - transaction_event: 'TransactionEvent' = proto.Field( - proto.MESSAGE, - number=5, - message='TransactionEvent', - ) - - -class AnnotateAssessmentResponse(proto.Message): - r"""Empty response for AnnotateAssessment. - """ - - -class EndpointVerificationInfo(proto.Message): - r"""Information about a verification endpoint that can be used - for 2FA. - - This message has `oneof`_ fields (mutually exclusive fields). - For each oneof, at most one member field can be set at the same time. - Setting any member of the oneof automatically clears all other - members. - - .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields - - Attributes: - email_address (str): - Email address for which to trigger a - verification request. - - This field is a member of `oneof`_ ``endpoint``. - phone_number (str): - Phone number for which to trigger a - verification request. Should be given in E.164 - format. - - This field is a member of `oneof`_ ``endpoint``. - request_token (str): - Output only. Token to provide to the client - to trigger endpoint verification. It must be - used within 15 minutes. - last_verification_time (google.protobuf.timestamp_pb2.Timestamp): - Output only. Timestamp of the last successful - verification for the endpoint, if any. - """ - - email_address: str = proto.Field( - proto.STRING, - number=1, - oneof='endpoint', - ) - phone_number: str = proto.Field( - proto.STRING, - number=2, - oneof='endpoint', - ) - request_token: str = proto.Field( - proto.STRING, - number=3, - ) - last_verification_time: timestamp_pb2.Timestamp = proto.Field( - proto.MESSAGE, - number=4, - message=timestamp_pb2.Timestamp, - ) - - -class AccountVerificationInfo(proto.Message): - r"""Information about account verification, used for identity - verification. - - Attributes: - endpoints (MutableSequence[google.cloud.recaptchaenterprise_v1.types.EndpointVerificationInfo]): - Optional. Endpoints that can be used for - identity verification. - language_code (str): - Optional. Language code preference for the - verification message, set as a IETF BCP 47 - language code. - latest_verification_result (google.cloud.recaptchaenterprise_v1.types.AccountVerificationInfo.Result): - Output only. Result of the latest account - verification challenge. - username (str): - Username of the account that is being verified. Deprecated. - Customers should now provide the ``account_id`` field in - ``event.user_info``. - """ - class Result(proto.Enum): - r"""Result of the account verification as contained in the - verdict token issued at the end of the verification flow. - - Values: - RESULT_UNSPECIFIED (0): - No information about the latest account - verification. - SUCCESS_USER_VERIFIED (1): - The user was successfully verified. This - means the account verification challenge was - successfully completed. - ERROR_USER_NOT_VERIFIED (2): - The user failed the verification challenge. - ERROR_SITE_ONBOARDING_INCOMPLETE (3): - The site is not properly onboarded to use the - account verification feature. - ERROR_RECIPIENT_NOT_ALLOWED (4): - The recipient is not allowed for account - verification. This can occur during integration - but should not occur in production. - ERROR_RECIPIENT_ABUSE_LIMIT_EXHAUSTED (5): - The recipient has already been sent too many - verification codes in a short amount of time. - ERROR_CRITICAL_INTERNAL (6): - The verification flow could not be completed - due to a critical internal error. - ERROR_CUSTOMER_QUOTA_EXHAUSTED (7): - The client has exceeded their two factor - request quota for this period of time. - ERROR_VERIFICATION_BYPASSED (8): - The request cannot be processed at the time - because of an incident. This bypass can be - restricted to a problematic destination email - domain, a customer, or could affect the entire - service. - ERROR_VERDICT_MISMATCH (9): - The request parameters do not match with the - token provided and cannot be processed. - """ - RESULT_UNSPECIFIED = 0 - SUCCESS_USER_VERIFIED = 1 - ERROR_USER_NOT_VERIFIED = 2 - ERROR_SITE_ONBOARDING_INCOMPLETE = 3 - ERROR_RECIPIENT_NOT_ALLOWED = 4 - ERROR_RECIPIENT_ABUSE_LIMIT_EXHAUSTED = 5 - ERROR_CRITICAL_INTERNAL = 6 - ERROR_CUSTOMER_QUOTA_EXHAUSTED = 7 - ERROR_VERIFICATION_BYPASSED = 8 - ERROR_VERDICT_MISMATCH = 9 - - endpoints: MutableSequence['EndpointVerificationInfo'] = proto.RepeatedField( - proto.MESSAGE, - number=1, - message='EndpointVerificationInfo', - ) - language_code: str = proto.Field( - proto.STRING, - number=3, - ) - latest_verification_result: Result = proto.Field( - proto.ENUM, - number=7, - enum=Result, - ) - username: str = proto.Field( - proto.STRING, - number=2, - ) - - -class PrivatePasswordLeakVerification(proto.Message): - r"""Private password leak verification info. - - Attributes: - lookup_hash_prefix (bytes): - Required. Exactly 26-bit prefix of the - SHA-256 hash of the canonicalized username. It - is used to look up password leaks associated - with that hash prefix. - encrypted_user_credentials_hash (bytes): - Optional. Encrypted Scrypt hash of the canonicalized - username+password. It is re-encrypted by the server and - returned through ``reencrypted_user_credentials_hash``. - encrypted_leak_match_prefixes (MutableSequence[bytes]): - Output only. List of prefixes of the encrypted potential - password leaks that matched the given parameters. They must - be compared with the client-side decryption prefix of - ``reencrypted_user_credentials_hash`` - reencrypted_user_credentials_hash (bytes): - Output only. Corresponds to the re-encryption of the - ``encrypted_user_credentials_hash`` field. It is used to - match potential password leaks within - ``encrypted_leak_match_prefixes``. - """ - - lookup_hash_prefix: bytes = proto.Field( - proto.BYTES, - number=1, - ) - encrypted_user_credentials_hash: bytes = proto.Field( - proto.BYTES, - number=2, - ) - encrypted_leak_match_prefixes: MutableSequence[bytes] = proto.RepeatedField( - proto.BYTES, - number=3, - ) - reencrypted_user_credentials_hash: bytes = proto.Field( - proto.BYTES, - number=4, - ) - - -class Assessment(proto.Message): - r"""A reCAPTCHA Enterprise assessment resource. - - Attributes: - name (str): - Output only. Identifier. The resource name for the - Assessment in the format - ``projects/{project}/assessments/{assessment}``. - event (google.cloud.recaptchaenterprise_v1.types.Event): - Optional. The event being assessed. - risk_analysis (google.cloud.recaptchaenterprise_v1.types.RiskAnalysis): - Output only. The risk analysis result for the - event being assessed. - token_properties (google.cloud.recaptchaenterprise_v1.types.TokenProperties): - Output only. Properties of the provided event - token. - account_verification (google.cloud.recaptchaenterprise_v1.types.AccountVerificationInfo): - Optional. Account verification information - for identity verification. The assessment event - must include a token and site key to use this - feature. - account_defender_assessment (google.cloud.recaptchaenterprise_v1.types.AccountDefenderAssessment): - Output only. Assessment returned by account - defender when an account identifier is provided. - private_password_leak_verification (google.cloud.recaptchaenterprise_v1.types.PrivatePasswordLeakVerification): - Optional. The private password leak - verification field contains the parameters that - are used to to check for leaks privately without - sharing user credentials. - firewall_policy_assessment (google.cloud.recaptchaenterprise_v1.types.FirewallPolicyAssessment): - Output only. Assessment returned when firewall policies - belonging to the project are evaluated using the field - firewall_policy_evaluation. - fraud_prevention_assessment (google.cloud.recaptchaenterprise_v1.types.FraudPreventionAssessment): - Output only. Assessment returned by Fraud - Prevention when TransactionData is provided. - fraud_signals (google.cloud.recaptchaenterprise_v1.types.FraudSignals): - Output only. Fraud Signals specific to the - users involved in a payment transaction. - phone_fraud_assessment (google.cloud.recaptchaenterprise_v1.types.PhoneFraudAssessment): - Output only. Assessment returned when a site key, a token, - and a phone number as ``user_id`` are provided. Account - defender and SMS toll fraud protection need to be enabled. - assessment_environment (google.cloud.recaptchaenterprise_v1.types.AssessmentEnvironment): - Optional. The environment creating the - assessment. This describes your environment (the - system invoking CreateAssessment), NOT the - environment of your user. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - event: 'Event' = proto.Field( - proto.MESSAGE, - number=2, - message='Event', - ) - risk_analysis: 'RiskAnalysis' = proto.Field( - proto.MESSAGE, - number=3, - message='RiskAnalysis', - ) - token_properties: 'TokenProperties' = proto.Field( - proto.MESSAGE, - number=4, - message='TokenProperties', - ) - account_verification: 'AccountVerificationInfo' = proto.Field( - proto.MESSAGE, - number=5, - message='AccountVerificationInfo', - ) - account_defender_assessment: 'AccountDefenderAssessment' = proto.Field( - proto.MESSAGE, - number=6, - message='AccountDefenderAssessment', - ) - private_password_leak_verification: 'PrivatePasswordLeakVerification' = proto.Field( - proto.MESSAGE, - number=8, - message='PrivatePasswordLeakVerification', - ) - firewall_policy_assessment: 'FirewallPolicyAssessment' = proto.Field( - proto.MESSAGE, - number=10, - message='FirewallPolicyAssessment', - ) - fraud_prevention_assessment: 'FraudPreventionAssessment' = proto.Field( - proto.MESSAGE, - number=11, - message='FraudPreventionAssessment', - ) - fraud_signals: 'FraudSignals' = proto.Field( - proto.MESSAGE, - number=13, - message='FraudSignals', - ) - phone_fraud_assessment: 'PhoneFraudAssessment' = proto.Field( - proto.MESSAGE, - number=12, - message='PhoneFraudAssessment', - ) - assessment_environment: 'AssessmentEnvironment' = proto.Field( - proto.MESSAGE, - number=14, - message='AssessmentEnvironment', - ) - - -class Event(proto.Message): - r"""The event being assessed. - - Attributes: - token (str): - Optional. The user response token provided by - the reCAPTCHA Enterprise client-side integration - on your site. - site_key (str): - Optional. The site key that was used to - invoke reCAPTCHA Enterprise on your site and - generate the token. - user_agent (str): - Optional. The user agent present in the - request from the user's device related to this - event. - user_ip_address (str): - Optional. The IP address in the request from - the user's device related to this event. - expected_action (str): - Optional. The expected action for this type - of event. This should be the same action - provided at token generation time on client-side - platforms already integrated with recaptcha - enterprise. - hashed_account_id (bytes): - Optional. Deprecated: use ``user_info.account_id`` instead. - Unique stable hashed user identifier for the request. The - identifier must be hashed using hmac-sha256 with stable - secret. - express (bool): - Optional. Flag for a reCAPTCHA express request for an - assessment without a token. If enabled, ``site_key`` must - reference an Express site key. - requested_uri (str): - Optional. The URI resource the user requested - that triggered an assessment. - waf_token_assessment (bool): - Optional. Flag for running WAF token - assessment. If enabled, the token must be - specified, and have been created by a - WAF-enabled key. - ja3 (str): - Optional. JA3 fingerprint for SSL clients. - headers (MutableSequence[str]): - Optional. HTTP header information about the - request. - firewall_policy_evaluation (bool): - Optional. Flag for enabling firewall policy - config assessment. If this flag is enabled, the - firewall policy is evaluated and a suggested - firewall action is returned in the response. - transaction_data (google.cloud.recaptchaenterprise_v1.types.TransactionData): - Optional. Data describing a payment - transaction to be assessed. Sending this data - enables reCAPTCHA Enterprise Fraud Prevention - and the FraudPreventionAssessment component in - the response. - user_info (google.cloud.recaptchaenterprise_v1.types.UserInfo): - Optional. Information about the user that - generates this event, when they can be - identified. They are often identified through - the use of an account for logged-in requests or - login/registration requests, or by providing - user identifiers for guest actions like - checkout. - fraud_prevention (google.cloud.recaptchaenterprise_v1.types.Event.FraudPrevention): - Optional. The Fraud Prevention setting for - this assessment. - """ - class FraudPrevention(proto.Enum): - r"""Setting that controls Fraud Prevention assessments. - - Values: - FRAUD_PREVENTION_UNSPECIFIED (0): - Default, unspecified setting. If opted in for automatic - detection, ``fraud_prevention_assessment`` is returned based - on the request. Otherwise, ``fraud_prevention_assessment`` - is returned if ``transaction_data`` is present in the - ``Event`` and Fraud Prevention is enabled in the Google - Cloud console. - ENABLED (1): - Enable Fraud Prevention for this assessment, - if Fraud Prevention is enabled in the Google - Cloud console. - DISABLED (2): - Disable Fraud Prevention for this assessment, - regardless of opt-in status or Google Cloud - console settings. - """ - FRAUD_PREVENTION_UNSPECIFIED = 0 - ENABLED = 1 - DISABLED = 2 - - token: str = proto.Field( - proto.STRING, - number=1, - ) - site_key: str = proto.Field( - proto.STRING, - number=2, - ) - user_agent: str = proto.Field( - proto.STRING, - number=3, - ) - user_ip_address: str = proto.Field( - proto.STRING, - number=4, - ) - expected_action: str = proto.Field( - proto.STRING, - number=5, - ) - hashed_account_id: bytes = proto.Field( - proto.BYTES, - number=6, - ) - express: bool = proto.Field( - proto.BOOL, - number=14, - ) - requested_uri: str = proto.Field( - proto.STRING, - number=8, - ) - waf_token_assessment: bool = proto.Field( - proto.BOOL, - number=9, - ) - ja3: str = proto.Field( - proto.STRING, - number=10, - ) - headers: MutableSequence[str] = proto.RepeatedField( - proto.STRING, - number=11, - ) - firewall_policy_evaluation: bool = proto.Field( - proto.BOOL, - number=12, - ) - transaction_data: 'TransactionData' = proto.Field( - proto.MESSAGE, - number=13, - message='TransactionData', - ) - user_info: 'UserInfo' = proto.Field( - proto.MESSAGE, - number=15, - message='UserInfo', - ) - fraud_prevention: FraudPrevention = proto.Field( - proto.ENUM, - number=17, - enum=FraudPrevention, - ) - - -class TransactionData(proto.Message): - r"""Transaction data associated with a payment protected by - reCAPTCHA Enterprise. - - - .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields - - Attributes: - transaction_id (str): - Unique identifier for the transaction. This - custom identifier can be used to reference this - transaction in the future, for example, labeling - a refund or chargeback event. Two attempts at - the same transaction should use the same - transaction id. - - This field is a member of `oneof`_ ``_transaction_id``. - payment_method (str): - Optional. The payment method for the transaction. The - allowed values are: - - - credit-card - - debit-card - - gift-card - - processor-{name} (If a third-party is used, for example, - processor-paypal) - - custom-{name} (If an alternative method is used, for - example, custom-crypto) - card_bin (str): - Optional. The Bank Identification Number - - generally the first 6 or 8 digits of the card. - card_last_four (str): - Optional. The last four digits of the card. - currency_code (str): - Optional. The currency code in ISO-4217 - format. - value (float): - Optional. The decimal value of the - transaction in the specified currency. - shipping_value (float): - Optional. The value of shipping in the - specified currency. 0 for free or no shipping. - shipping_address (google.cloud.recaptchaenterprise_v1.types.TransactionData.Address): - Optional. Destination address if this - transaction involves shipping a physical item. - billing_address (google.cloud.recaptchaenterprise_v1.types.TransactionData.Address): - Optional. Address associated with the payment - method when applicable. - user (google.cloud.recaptchaenterprise_v1.types.TransactionData.User): - Optional. Information about the user - paying/initiating the transaction. - merchants (MutableSequence[google.cloud.recaptchaenterprise_v1.types.TransactionData.User]): - Optional. Information about the user or users - fulfilling the transaction. - items (MutableSequence[google.cloud.recaptchaenterprise_v1.types.TransactionData.Item]): - Optional. Items purchased in this - transaction. - gateway_info (google.cloud.recaptchaenterprise_v1.types.TransactionData.GatewayInfo): - Optional. Information about the payment - gateway's response to the transaction. - """ - - class Address(proto.Message): - r"""Structured address format for billing and shipping addresses. - - Attributes: - recipient (str): - Optional. The recipient name, potentially - including information such as "care of". - address (MutableSequence[str]): - Optional. The first lines of the address. The - first line generally contains the street name - and number, and further lines may include - information such as an apartment number. - locality (str): - Optional. The town/city of the address. - administrative_area (str): - Optional. The state, province, or otherwise - administrative area of the address. - region_code (str): - Optional. The CLDR country/region of the - address. - postal_code (str): - Optional. The postal or ZIP code of the - address. - """ - - recipient: str = proto.Field( - proto.STRING, - number=1, - ) - address: MutableSequence[str] = proto.RepeatedField( - proto.STRING, - number=2, - ) - locality: str = proto.Field( - proto.STRING, - number=3, - ) - administrative_area: str = proto.Field( - proto.STRING, - number=4, - ) - region_code: str = proto.Field( - proto.STRING, - number=5, - ) - postal_code: str = proto.Field( - proto.STRING, - number=6, - ) - - class User(proto.Message): - r"""Details about a user's account involved in the transaction. - - Attributes: - account_id (str): - Optional. Unique account identifier for this user. If using - account defender, this should match the hashed_account_id - field. Otherwise, a unique and persistent identifier for - this account. - creation_ms (int): - Optional. The epoch milliseconds of the - user's account creation. - email (str): - Optional. The email address of the user. - email_verified (bool): - Optional. Whether the email has been verified - to be accessible by the user (OTP or similar). - phone_number (str): - Optional. The phone number of the user, with - country code. - phone_verified (bool): - Optional. Whether the phone number has been - verified to be accessible by the user (OTP or - similar). - """ - - account_id: str = proto.Field( - proto.STRING, - number=6, - ) - creation_ms: int = proto.Field( - proto.INT64, - number=1, - ) - email: str = proto.Field( - proto.STRING, - number=2, - ) - email_verified: bool = proto.Field( - proto.BOOL, - number=3, - ) - phone_number: str = proto.Field( - proto.STRING, - number=4, - ) - phone_verified: bool = proto.Field( - proto.BOOL, - number=5, - ) - - class Item(proto.Message): - r"""Line items being purchased in this transaction. - - Attributes: - name (str): - Optional. The full name of the item. - value (float): - Optional. The value per item that the user is - paying, in the transaction currency, after - discounts. - quantity (int): - Optional. The quantity of this item that is - being purchased. - merchant_account_id (str): - Optional. When a merchant is specified, its corresponding - account_id. Necessary to populate marketplace-style - transactions. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - value: float = proto.Field( - proto.DOUBLE, - number=2, - ) - quantity: int = proto.Field( - proto.INT64, - number=3, - ) - merchant_account_id: str = proto.Field( - proto.STRING, - number=4, - ) - - class GatewayInfo(proto.Message): - r"""Details about the transaction from the gateway. - - Attributes: - name (str): - Optional. Name of the gateway service (for - example, stripe, square, paypal). - gateway_response_code (str): - Optional. Gateway response code describing - the state of the transaction. - avs_response_code (str): - Optional. AVS response code from the gateway - (available only when reCAPTCHA Enterprise is - called after authorization). - cvv_response_code (str): - Optional. CVV response code from the gateway - (available only when reCAPTCHA Enterprise is - called after authorization). - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - gateway_response_code: str = proto.Field( - proto.STRING, - number=2, - ) - avs_response_code: str = proto.Field( - proto.STRING, - number=3, - ) - cvv_response_code: str = proto.Field( - proto.STRING, - number=4, - ) - - transaction_id: str = proto.Field( - proto.STRING, - number=11, - optional=True, - ) - payment_method: str = proto.Field( - proto.STRING, - number=1, - ) - card_bin: str = proto.Field( - proto.STRING, - number=2, - ) - card_last_four: str = proto.Field( - proto.STRING, - number=3, - ) - currency_code: str = proto.Field( - proto.STRING, - number=4, - ) - value: float = proto.Field( - proto.DOUBLE, - number=5, - ) - shipping_value: float = proto.Field( - proto.DOUBLE, - number=12, - ) - shipping_address: Address = proto.Field( - proto.MESSAGE, - number=6, - message=Address, - ) - billing_address: Address = proto.Field( - proto.MESSAGE, - number=7, - message=Address, - ) - user: User = proto.Field( - proto.MESSAGE, - number=8, - message=User, - ) - merchants: MutableSequence[User] = proto.RepeatedField( - proto.MESSAGE, - number=13, - message=User, - ) - items: MutableSequence[Item] = proto.RepeatedField( - proto.MESSAGE, - number=14, - message=Item, - ) - gateway_info: GatewayInfo = proto.Field( - proto.MESSAGE, - number=10, - message=GatewayInfo, - ) - - -class UserInfo(proto.Message): - r"""User information associated with a request protected by - reCAPTCHA Enterprise. - - Attributes: - create_account_time (google.protobuf.timestamp_pb2.Timestamp): - Optional. Creation time for this account - associated with this user. Leave blank for non - logged-in actions, guest checkout, or when there - is no account associated with the current user. - account_id (str): - Optional. For logged-in requests or - login/registration requests, the unique account - identifier associated with this user. You can - use the username if it is stable (meaning it is - the same for every request associated with the - same user), or any stable user ID of your - choice. Leave blank for non logged-in actions or - guest checkout. - user_ids (MutableSequence[google.cloud.recaptchaenterprise_v1.types.UserId]): - Optional. Identifiers associated with this - user or request. - """ - - create_account_time: timestamp_pb2.Timestamp = proto.Field( - proto.MESSAGE, - number=1, - message=timestamp_pb2.Timestamp, - ) - account_id: str = proto.Field( - proto.STRING, - number=2, - ) - user_ids: MutableSequence['UserId'] = proto.RepeatedField( - proto.MESSAGE, - number=3, - message='UserId', - ) - - -class UserId(proto.Message): - r"""An identifier associated with a user. - - This message has `oneof`_ fields (mutually exclusive fields). - For each oneof, at most one member field can be set at the same time. - Setting any member of the oneof automatically clears all other - members. - - .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields - - Attributes: - email (str): - Optional. An email address. - - This field is a member of `oneof`_ ``id_oneof``. - phone_number (str): - Optional. A phone number. Should use the - E.164 format. - - This field is a member of `oneof`_ ``id_oneof``. - username (str): - Optional. A unique username, if different from all the other - identifiers and ``account_id`` that are provided. Can be a - unique login handle or display name for a user. - - This field is a member of `oneof`_ ``id_oneof``. - """ - - email: str = proto.Field( - proto.STRING, - number=1, - oneof='id_oneof', - ) - phone_number: str = proto.Field( - proto.STRING, - number=2, - oneof='id_oneof', - ) - username: str = proto.Field( - proto.STRING, - number=3, - oneof='id_oneof', - ) - - -class RiskAnalysis(proto.Message): - r"""Risk analysis result for an event. - - Attributes: - score (float): - Output only. Legitimate event score from 0.0 - to 1.0. (1.0 means very likely legitimate - traffic while 0.0 means very likely - non-legitimate traffic). - reasons (MutableSequence[google.cloud.recaptchaenterprise_v1.types.RiskAnalysis.ClassificationReason]): - Output only. Reasons contributing to the risk - analysis verdict. - extended_verdict_reasons (MutableSequence[str]): - Output only. Extended verdict reasons to be - used for experimentation only. The set of - possible reasons is subject to change. - """ - class ClassificationReason(proto.Enum): - r"""Reasons contributing to the risk analysis verdict. - - Values: - CLASSIFICATION_REASON_UNSPECIFIED (0): - Default unspecified type. - AUTOMATION (1): - Interactions matched the behavior of an - automated agent. - UNEXPECTED_ENVIRONMENT (2): - The event originated from an illegitimate - environment. - TOO_MUCH_TRAFFIC (3): - Traffic volume from the event source is - higher than normal. - UNEXPECTED_USAGE_PATTERNS (4): - Interactions with the site were significantly - different than expected patterns. - LOW_CONFIDENCE_SCORE (5): - Too little traffic has been received from - this site thus far to generate quality risk - analysis. - SUSPECTED_CARDING (6): - The request matches behavioral - characteristics of a carding attack. - SUSPECTED_CHARGEBACK (7): - The request matches behavioral - characteristics of chargebacks for fraud. - """ - CLASSIFICATION_REASON_UNSPECIFIED = 0 - AUTOMATION = 1 - UNEXPECTED_ENVIRONMENT = 2 - TOO_MUCH_TRAFFIC = 3 - UNEXPECTED_USAGE_PATTERNS = 4 - LOW_CONFIDENCE_SCORE = 5 - SUSPECTED_CARDING = 6 - SUSPECTED_CHARGEBACK = 7 - - score: float = proto.Field( - proto.FLOAT, - number=1, - ) - reasons: MutableSequence[ClassificationReason] = proto.RepeatedField( - proto.ENUM, - number=2, - enum=ClassificationReason, - ) - extended_verdict_reasons: MutableSequence[str] = proto.RepeatedField( - proto.STRING, - number=3, - ) - - -class TokenProperties(proto.Message): - r"""Properties of the provided event token. - - Attributes: - valid (bool): - Output only. Whether the provided user response token is - valid. When valid = false, the reason could be specified in - invalid_reason or it could also be due to a user failing to - solve a challenge or a sitekey mismatch (i.e the sitekey - used to generate the token was different than the one - specified in the assessment). - invalid_reason (google.cloud.recaptchaenterprise_v1.types.TokenProperties.InvalidReason): - Output only. Reason associated with the - response when valid = false. - create_time (google.protobuf.timestamp_pb2.Timestamp): - Output only. The timestamp corresponding to - the generation of the token. - hostname (str): - Output only. The hostname of the page on - which the token was generated (Web keys only). - android_package_name (str): - Output only. The name of the Android package - with which the token was generated (Android keys - only). - ios_bundle_id (str): - Output only. The ID of the iOS bundle with - which the token was generated (iOS keys only). - action (str): - Output only. Action name provided at token - generation. - """ - class InvalidReason(proto.Enum): - r"""Enum that represents the types of invalid token reasons. - - Values: - INVALID_REASON_UNSPECIFIED (0): - Default unspecified type. - UNKNOWN_INVALID_REASON (1): - If the failure reason was not accounted for. - MALFORMED (2): - The provided user verification token was - malformed. - EXPIRED (3): - The user verification token had expired. - DUPE (4): - The user verification had already been seen. - MISSING (5): - The user verification token was not present. - BROWSER_ERROR (6): - A retriable error (such as network failure) - occurred on the browser. Could easily be - simulated by an attacker. - """ - INVALID_REASON_UNSPECIFIED = 0 - UNKNOWN_INVALID_REASON = 1 - MALFORMED = 2 - EXPIRED = 3 - DUPE = 4 - MISSING = 5 - BROWSER_ERROR = 6 - - valid: bool = proto.Field( - proto.BOOL, - number=1, - ) - invalid_reason: InvalidReason = proto.Field( - proto.ENUM, - number=2, - enum=InvalidReason, - ) - create_time: timestamp_pb2.Timestamp = proto.Field( - proto.MESSAGE, - number=3, - message=timestamp_pb2.Timestamp, - ) - hostname: str = proto.Field( - proto.STRING, - number=4, - ) - android_package_name: str = proto.Field( - proto.STRING, - number=8, - ) - ios_bundle_id: str = proto.Field( - proto.STRING, - number=9, - ) - action: str = proto.Field( - proto.STRING, - number=5, - ) - - -class FraudPreventionAssessment(proto.Message): - r"""Assessment for Fraud Prevention. - - Attributes: - transaction_risk (float): - Output only. Probability of this transaction - being fraudulent. Summarizes the combined risk - of attack vectors below. Values are from 0.0 - (lowest) to 1.0 (highest). - stolen_instrument_verdict (google.cloud.recaptchaenterprise_v1.types.FraudPreventionAssessment.StolenInstrumentVerdict): - Output only. Assessment of this transaction - for risk of a stolen instrument. - card_testing_verdict (google.cloud.recaptchaenterprise_v1.types.FraudPreventionAssessment.CardTestingVerdict): - Output only. Assessment of this transaction - for risk of being part of a card testing attack. - behavioral_trust_verdict (google.cloud.recaptchaenterprise_v1.types.FraudPreventionAssessment.BehavioralTrustVerdict): - Output only. Assessment of this transaction - for behavioral trust. - """ - - class StolenInstrumentVerdict(proto.Message): - r"""Information about stolen instrument fraud, where the user is - not the legitimate owner of the instrument being used for the - purchase. - - Attributes: - risk (float): - Output only. Probability of this transaction - being executed with a stolen instrument. Values - are from 0.0 (lowest) to 1.0 (highest). - """ - - risk: float = proto.Field( - proto.FLOAT, - number=1, - ) - - class CardTestingVerdict(proto.Message): - r"""Information about card testing fraud, where an adversary is - testing fraudulently obtained cards or brute forcing their - details. - - Attributes: - risk (float): - Output only. Probability of this transaction - attempt being part of a card testing attack. - Values are from 0.0 (lowest) to 1.0 (highest). - """ - - risk: float = proto.Field( - proto.FLOAT, - number=1, - ) - - class BehavioralTrustVerdict(proto.Message): - r"""Information about behavioral trust of the transaction. - - Attributes: - trust (float): - Output only. Probability of this transaction - attempt being executed in a behaviorally - trustworthy way. Values are from 0.0 (lowest) to - 1.0 (highest). - """ - - trust: float = proto.Field( - proto.FLOAT, - number=1, - ) - - transaction_risk: float = proto.Field( - proto.FLOAT, - number=1, - ) - stolen_instrument_verdict: StolenInstrumentVerdict = proto.Field( - proto.MESSAGE, - number=2, - message=StolenInstrumentVerdict, - ) - card_testing_verdict: CardTestingVerdict = proto.Field( - proto.MESSAGE, - number=3, - message=CardTestingVerdict, - ) - behavioral_trust_verdict: BehavioralTrustVerdict = proto.Field( - proto.MESSAGE, - number=4, - message=BehavioralTrustVerdict, - ) - - -class FraudSignals(proto.Message): - r"""Fraud signals describing users and cards involved in the - transaction. - - Attributes: - user_signals (google.cloud.recaptchaenterprise_v1.types.FraudSignals.UserSignals): - Output only. Signals describing the end user - in this transaction. - card_signals (google.cloud.recaptchaenterprise_v1.types.FraudSignals.CardSignals): - Output only. Signals describing the payment - card or cards used in this transaction. - """ - - class UserSignals(proto.Message): - r"""Signals describing the user involved in this transaction. - - Attributes: - active_days_lower_bound (int): - Output only. This user (based on email, - phone, and other identifiers) has been seen on - the internet for at least this number of days. - synthetic_risk (float): - Output only. Likelihood (from 0.0 to 1.0) - this user includes synthetic components in their - identity, such as a randomly generated email - address, temporary phone number, or fake - shipping address. - """ - - active_days_lower_bound: int = proto.Field( - proto.INT32, - number=1, - ) - synthetic_risk: float = proto.Field( - proto.FLOAT, - number=2, - ) - - class CardSignals(proto.Message): - r"""Signals describing the payment card used in this transaction. - - Attributes: - card_labels (MutableSequence[google.cloud.recaptchaenterprise_v1.types.FraudSignals.CardSignals.CardLabel]): - Output only. The labels for the payment card - in this transaction. - """ - class CardLabel(proto.Enum): - r"""Risk labels describing the card being assessed, such as its - funding mechanism. - - Values: - CARD_LABEL_UNSPECIFIED (0): - No label specified. - PREPAID (1): - This card has been detected as prepaid. - VIRTUAL (2): - This card has been detected as virtual, such - as a card number generated for a single - transaction or merchant. - UNEXPECTED_LOCATION (3): - This card has been detected as being used in - an unexpected geographic location. - """ - CARD_LABEL_UNSPECIFIED = 0 - PREPAID = 1 - VIRTUAL = 2 - UNEXPECTED_LOCATION = 3 - - card_labels: MutableSequence['FraudSignals.CardSignals.CardLabel'] = proto.RepeatedField( - proto.ENUM, - number=1, - enum='FraudSignals.CardSignals.CardLabel', - ) - - user_signals: UserSignals = proto.Field( - proto.MESSAGE, - number=1, - message=UserSignals, - ) - card_signals: CardSignals = proto.Field( - proto.MESSAGE, - number=2, - message=CardSignals, - ) - - -class SmsTollFraudVerdict(proto.Message): - r"""Information about SMS toll fraud. - - Attributes: - risk (float): - Output only. Probability of an SMS event - being fraudulent. Values are from 0.0 (lowest) - to 1.0 (highest). - reasons (MutableSequence[google.cloud.recaptchaenterprise_v1.types.SmsTollFraudVerdict.SmsTollFraudReason]): - Output only. Reasons contributing to the SMS - toll fraud verdict. - """ - class SmsTollFraudReason(proto.Enum): - r"""Reasons contributing to the SMS toll fraud verdict. - - Values: - SMS_TOLL_FRAUD_REASON_UNSPECIFIED (0): - Default unspecified reason - INVALID_PHONE_NUMBER (1): - The provided phone number was invalid - """ - SMS_TOLL_FRAUD_REASON_UNSPECIFIED = 0 - INVALID_PHONE_NUMBER = 1 - - risk: float = proto.Field( - proto.FLOAT, - number=1, - ) - reasons: MutableSequence[SmsTollFraudReason] = proto.RepeatedField( - proto.ENUM, - number=2, - enum=SmsTollFraudReason, - ) - - -class PhoneFraudAssessment(proto.Message): - r"""Assessment for Phone Fraud - - Attributes: - sms_toll_fraud_verdict (google.cloud.recaptchaenterprise_v1.types.SmsTollFraudVerdict): - Output only. Assessment of this phone event - for risk of SMS toll fraud. - """ - - sms_toll_fraud_verdict: 'SmsTollFraudVerdict' = proto.Field( - proto.MESSAGE, - number=1, - message='SmsTollFraudVerdict', - ) - - -class AccountDefenderAssessment(proto.Message): - r"""Account defender risk assessment. - - Attributes: - labels (MutableSequence[google.cloud.recaptchaenterprise_v1.types.AccountDefenderAssessment.AccountDefenderLabel]): - Output only. Labels for this request. - """ - class AccountDefenderLabel(proto.Enum): - r"""Labels returned by account defender for this request. - - Values: - ACCOUNT_DEFENDER_LABEL_UNSPECIFIED (0): - Default unspecified type. - PROFILE_MATCH (1): - The request matches a known good profile for - the user. - SUSPICIOUS_LOGIN_ACTIVITY (2): - The request is potentially a suspicious login - event and must be further verified either - through multi-factor authentication or another - system. - SUSPICIOUS_ACCOUNT_CREATION (3): - The request matched a profile that previously - had suspicious account creation behavior. This - can mean that this is a fake account. - RELATED_ACCOUNTS_NUMBER_HIGH (4): - The account in the request has a high number - of related accounts. It does not necessarily - imply that the account is bad but can require - further investigation. - """ - ACCOUNT_DEFENDER_LABEL_UNSPECIFIED = 0 - PROFILE_MATCH = 1 - SUSPICIOUS_LOGIN_ACTIVITY = 2 - SUSPICIOUS_ACCOUNT_CREATION = 3 - RELATED_ACCOUNTS_NUMBER_HIGH = 4 - - labels: MutableSequence[AccountDefenderLabel] = proto.RepeatedField( - proto.ENUM, - number=1, - enum=AccountDefenderLabel, - ) - - -class CreateKeyRequest(proto.Message): - r"""The create key request message. - - Attributes: - parent (str): - Required. The name of the project in which the key is - created, in the format ``projects/{project}``. - key (google.cloud.recaptchaenterprise_v1.types.Key): - Required. Information to create a reCAPTCHA - Enterprise key. - """ - - parent: str = proto.Field( - proto.STRING, - number=1, - ) - key: 'Key' = proto.Field( - proto.MESSAGE, - number=2, - message='Key', - ) - - -class ListKeysRequest(proto.Message): - r"""The list keys request message. - - Attributes: - parent (str): - Required. The name of the project that contains the keys - that is listed, in the format ``projects/{project}``. - page_size (int): - Optional. The maximum number of keys to - return. Default is 10. Max limit is 1000. - page_token (str): - Optional. The next_page_token value returned from a - previous. ListKeysRequest, if any. - """ - - parent: str = proto.Field( - proto.STRING, - number=1, - ) - page_size: int = proto.Field( - proto.INT32, - number=2, - ) - page_token: str = proto.Field( - proto.STRING, - number=3, - ) - - -class ListKeysResponse(proto.Message): - r"""Response to request to list keys in a project. - - Attributes: - keys (MutableSequence[google.cloud.recaptchaenterprise_v1.types.Key]): - Key details. - next_page_token (str): - Token to retrieve the next page of results. - It is set to empty if no keys remain in results. - """ - - @property - def raw_page(self): - return self - - keys: MutableSequence['Key'] = proto.RepeatedField( - proto.MESSAGE, - number=1, - message='Key', - ) - next_page_token: str = proto.Field( - proto.STRING, - number=2, - ) - - -class RetrieveLegacySecretKeyRequest(proto.Message): - r"""The retrieve legacy secret key request message. - - Attributes: - key (str): - Required. The public key name linked to the requested secret - key in the format ``projects/{project}/keys/{key}``. - """ - - key: str = proto.Field( - proto.STRING, - number=1, - ) - - -class GetKeyRequest(proto.Message): - r"""The get key request message. - - Attributes: - name (str): - Required. The name of the requested key, in the format - ``projects/{project}/keys/{key}``. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - - -class UpdateKeyRequest(proto.Message): - r"""The update key request message. - - Attributes: - key (google.cloud.recaptchaenterprise_v1.types.Key): - Required. The key to update. - update_mask (google.protobuf.field_mask_pb2.FieldMask): - Optional. The mask to control which fields of - the key get updated. If the mask is not present, - all fields are updated. - """ - - key: 'Key' = proto.Field( - proto.MESSAGE, - number=1, - message='Key', - ) - update_mask: field_mask_pb2.FieldMask = proto.Field( - proto.MESSAGE, - number=2, - message=field_mask_pb2.FieldMask, - ) - - -class DeleteKeyRequest(proto.Message): - r"""The delete key request message. - - Attributes: - name (str): - Required. The name of the key to be deleted, in the format - ``projects/{project}/keys/{key}``. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - - -class CreateFirewallPolicyRequest(proto.Message): - r"""The create firewall policy request message. - - Attributes: - parent (str): - Required. The name of the project this policy applies to, in - the format ``projects/{project}``. - firewall_policy (google.cloud.recaptchaenterprise_v1.types.FirewallPolicy): - Required. Information to create the policy. - """ - - parent: str = proto.Field( - proto.STRING, - number=1, - ) - firewall_policy: 'FirewallPolicy' = proto.Field( - proto.MESSAGE, - number=2, - message='FirewallPolicy', - ) - - -class ListFirewallPoliciesRequest(proto.Message): - r"""The list firewall policies request message. - - Attributes: - parent (str): - Required. The name of the project to list the policies for, - in the format ``projects/{project}``. - page_size (int): - Optional. The maximum number of policies to - return. Default is 10. Max limit is 1000. - page_token (str): - Optional. The next_page_token value returned from a - previous. ListFirewallPoliciesRequest, if any. - """ - - parent: str = proto.Field( - proto.STRING, - number=1, - ) - page_size: int = proto.Field( - proto.INT32, - number=2, - ) - page_token: str = proto.Field( - proto.STRING, - number=3, - ) - - -class ListFirewallPoliciesResponse(proto.Message): - r"""Response to request to list firewall policies belonging to a - project. - - Attributes: - firewall_policies (MutableSequence[google.cloud.recaptchaenterprise_v1.types.FirewallPolicy]): - Policy details. - next_page_token (str): - Token to retrieve the next page of results. - It is set to empty if no policies remain in - results. - """ - - @property - def raw_page(self): - return self - - firewall_policies: MutableSequence['FirewallPolicy'] = proto.RepeatedField( - proto.MESSAGE, - number=1, - message='FirewallPolicy', - ) - next_page_token: str = proto.Field( - proto.STRING, - number=2, - ) - - -class GetFirewallPolicyRequest(proto.Message): - r"""The get firewall policy request message. - - Attributes: - name (str): - Required. The name of the requested policy, in the format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - - -class UpdateFirewallPolicyRequest(proto.Message): - r"""The update firewall policy request message. - - Attributes: - firewall_policy (google.cloud.recaptchaenterprise_v1.types.FirewallPolicy): - Required. The policy to update. - update_mask (google.protobuf.field_mask_pb2.FieldMask): - Optional. The mask to control which fields of - the policy get updated. If the mask is not - present, all fields are updated. - """ - - firewall_policy: 'FirewallPolicy' = proto.Field( - proto.MESSAGE, - number=1, - message='FirewallPolicy', - ) - update_mask: field_mask_pb2.FieldMask = proto.Field( - proto.MESSAGE, - number=2, - message=field_mask_pb2.FieldMask, - ) - - -class DeleteFirewallPolicyRequest(proto.Message): - r"""The delete firewall policy request message. - - Attributes: - name (str): - Required. The name of the policy to be deleted, in the - format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - - -class ReorderFirewallPoliciesRequest(proto.Message): - r"""The reorder firewall policies request message. - - Attributes: - parent (str): - Required. The name of the project to list the policies for, - in the format ``projects/{project}``. - names (MutableSequence[str]): - Required. A list containing all policy names, in the new - order. Each name is in the format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - """ - - parent: str = proto.Field( - proto.STRING, - number=1, - ) - names: MutableSequence[str] = proto.RepeatedField( - proto.STRING, - number=2, - ) - - -class ReorderFirewallPoliciesResponse(proto.Message): - r"""The reorder firewall policies response message. - """ - - -class MigrateKeyRequest(proto.Message): - r"""The migrate key request message. - - Attributes: - name (str): - Required. The name of the key to be migrated, in the format - ``projects/{project}/keys/{key}``. - skip_billing_check (bool): - Optional. If true, skips the billing check. A reCAPTCHA - Enterprise key or migrated key behaves differently than a - reCAPTCHA (non-Enterprise version) key when you reach a - quota limit (see - https://cloud.google.com/recaptcha/quotas#quota_limit). To - avoid any disruption of your usage, we check that a billing - account is present. If your usage of reCAPTCHA is under the - free quota, you can safely skip the billing check and - proceed with the migration. See - https://cloud.google.com/recaptcha/docs/billing-information. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - skip_billing_check: bool = proto.Field( - proto.BOOL, - number=2, - ) - - -class GetMetricsRequest(proto.Message): - r"""The get metrics request message. - - Attributes: - name (str): - Required. The name of the requested metrics, in the format - ``projects/{project}/keys/{key}/metrics``. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - - -class Metrics(proto.Message): - r"""Metrics for a single Key. - - Attributes: - name (str): - Output only. Identifier. The name of the metrics, in the - format ``projects/{project}/keys/{key}/metrics``. - start_time (google.protobuf.timestamp_pb2.Timestamp): - Inclusive start time aligned to a day (UTC). - score_metrics (MutableSequence[google.cloud.recaptchaenterprise_v1.types.ScoreMetrics]): - Metrics are continuous and in order by dates, - and in the granularity of day. All Key types - should have score-based data. - challenge_metrics (MutableSequence[google.cloud.recaptchaenterprise_v1.types.ChallengeMetrics]): - Metrics are continuous and in order by dates, - and in the granularity of day. Only - challenge-based keys (CHECKBOX, INVISIBLE) have - challenge-based data. - """ - - name: str = proto.Field( - proto.STRING, - number=4, - ) - start_time: timestamp_pb2.Timestamp = proto.Field( - proto.MESSAGE, - number=1, - message=timestamp_pb2.Timestamp, - ) - score_metrics: MutableSequence['ScoreMetrics'] = proto.RepeatedField( - proto.MESSAGE, - number=2, - message='ScoreMetrics', - ) - challenge_metrics: MutableSequence['ChallengeMetrics'] = proto.RepeatedField( - proto.MESSAGE, - number=3, - message='ChallengeMetrics', - ) - - -class RetrieveLegacySecretKeyResponse(proto.Message): - r"""Secret key is used only in legacy reCAPTCHA. It must be used - in a 3rd party integration with legacy reCAPTCHA. - - Attributes: - legacy_secret_key (str): - The secret key (also known as shared secret) - authorizes communication between your - application backend and the reCAPTCHA Enterprise - server to create an assessment. - The secret key needs to be kept safe for - security purposes. - """ - - legacy_secret_key: str = proto.Field( - proto.STRING, - number=1, - ) - - -class Key(proto.Message): - r"""A key used to identify and configure applications (web and/or - mobile) that use reCAPTCHA Enterprise. - - This message has `oneof`_ fields (mutually exclusive fields). - For each oneof, at most one member field can be set at the same time. - Setting any member of the oneof automatically clears all other - members. - - .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields - - Attributes: - name (str): - Identifier. The resource name for the Key in the format - ``projects/{project}/keys/{key}``. - display_name (str): - Required. Human-readable display name of this - key. Modifiable by user. - web_settings (google.cloud.recaptchaenterprise_v1.types.WebKeySettings): - Settings for keys that can be used by - websites. - - This field is a member of `oneof`_ ``platform_settings``. - android_settings (google.cloud.recaptchaenterprise_v1.types.AndroidKeySettings): - Settings for keys that can be used by Android - apps. - - This field is a member of `oneof`_ ``platform_settings``. - ios_settings (google.cloud.recaptchaenterprise_v1.types.IOSKeySettings): - Settings for keys that can be used by iOS - apps. - - This field is a member of `oneof`_ ``platform_settings``. - express_settings (google.cloud.recaptchaenterprise_v1.types.ExpressKeySettings): - Settings for keys that can be used by - reCAPTCHA Express. - - This field is a member of `oneof`_ ``platform_settings``. - labels (MutableMapping[str, str]): - Optional. See [Creating and managing labels] - (https://cloud.google.com/recaptcha/docs/labels). - create_time (google.protobuf.timestamp_pb2.Timestamp): - Output only. The timestamp corresponding to - the creation of this key. - testing_options (google.cloud.recaptchaenterprise_v1.types.TestingOptions): - Optional. Options for user acceptance - testing. - waf_settings (google.cloud.recaptchaenterprise_v1.types.WafSettings): - Optional. Settings for WAF - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - display_name: str = proto.Field( - proto.STRING, - number=2, - ) - web_settings: 'WebKeySettings' = proto.Field( - proto.MESSAGE, - number=3, - oneof='platform_settings', - message='WebKeySettings', - ) - android_settings: 'AndroidKeySettings' = proto.Field( - proto.MESSAGE, - number=4, - oneof='platform_settings', - message='AndroidKeySettings', - ) - ios_settings: 'IOSKeySettings' = proto.Field( - proto.MESSAGE, - number=5, - oneof='platform_settings', - message='IOSKeySettings', - ) - express_settings: 'ExpressKeySettings' = proto.Field( - proto.MESSAGE, - number=11, - oneof='platform_settings', - message='ExpressKeySettings', - ) - labels: MutableMapping[str, str] = proto.MapField( - proto.STRING, - proto.STRING, - number=6, - ) - create_time: timestamp_pb2.Timestamp = proto.Field( - proto.MESSAGE, - number=7, - message=timestamp_pb2.Timestamp, - ) - testing_options: 'TestingOptions' = proto.Field( - proto.MESSAGE, - number=9, - message='TestingOptions', - ) - waf_settings: 'WafSettings' = proto.Field( - proto.MESSAGE, - number=10, - message='WafSettings', - ) - - -class TestingOptions(proto.Message): - r"""Options for user acceptance testing. - - Attributes: - testing_score (float): - Optional. All assessments for this Key return - this score. Must be between 0 (likely not - legitimate) and 1 (likely legitimate) inclusive. - testing_challenge (google.cloud.recaptchaenterprise_v1.types.TestingOptions.TestingChallenge): - Optional. For challenge-based keys only - (CHECKBOX, INVISIBLE), all challenge requests - for this site return nocaptcha if NOCAPTCHA, or - an unsolvable challenge if CHALLENGE. - """ - class TestingChallenge(proto.Enum): - r"""Enum that represents the challenge option for challenge-based - (CHECKBOX, INVISIBLE) testing keys. - - Values: - TESTING_CHALLENGE_UNSPECIFIED (0): - Perform the normal risk analysis and return - either nocaptcha or a challenge depending on - risk and trust factors. - NOCAPTCHA (1): - Challenge requests for this key always return - a nocaptcha, which does not require a solution. - UNSOLVABLE_CHALLENGE (2): - Challenge requests for this key always return - an unsolvable challenge. - """ - TESTING_CHALLENGE_UNSPECIFIED = 0 - NOCAPTCHA = 1 - UNSOLVABLE_CHALLENGE = 2 - - testing_score: float = proto.Field( - proto.FLOAT, - number=1, - ) - testing_challenge: TestingChallenge = proto.Field( - proto.ENUM, - number=2, - enum=TestingChallenge, - ) - - -class WebKeySettings(proto.Message): - r"""Settings specific to keys that can be used by websites. - - Attributes: - allow_all_domains (bool): - Optional. If set to true, it means allowed_domains are not - enforced. - allowed_domains (MutableSequence[str]): - Optional. Domains or subdomains of websites - allowed to use the key. All subdomains of an - allowed domain are automatically allowed. A - valid domain requires a host and must not - include any path, port, query or fragment. - Examples: 'example.com' or - 'subdomain.example.com' - allow_amp_traffic (bool): - Optional. If set to true, the key can be used - on AMP (Accelerated Mobile Pages) websites. This - is supported only for the SCORE integration - type. - integration_type (google.cloud.recaptchaenterprise_v1.types.WebKeySettings.IntegrationType): - Required. Describes how this key is - integrated with the website. - challenge_security_preference (google.cloud.recaptchaenterprise_v1.types.WebKeySettings.ChallengeSecurityPreference): - Optional. Settings for the frequency and difficulty at which - this key triggers captcha challenges. This should only be - specified for IntegrationTypes CHECKBOX and INVISIBLE and - SCORE_AND_CHALLENGE. - """ - class IntegrationType(proto.Enum): - r"""Enum that represents the integration types for web keys. - - Values: - INTEGRATION_TYPE_UNSPECIFIED (0): - Default type that indicates this enum hasn't - been specified. This is not a valid - IntegrationType, one of the other types must be - specified instead. - SCORE (1): - Only used to produce scores. It doesn't - display the "I'm not a robot" checkbox and never - shows captcha challenges. - CHECKBOX (2): - Displays the "I'm not a robot" checkbox and - may show captcha challenges after it is checked. - INVISIBLE (3): - Doesn't display the "I'm not a robot" - checkbox, but may show captcha challenges after - risk analysis. - """ - INTEGRATION_TYPE_UNSPECIFIED = 0 - SCORE = 1 - CHECKBOX = 2 - INVISIBLE = 3 - - class ChallengeSecurityPreference(proto.Enum): - r"""Enum that represents the possible challenge frequency and - difficulty configurations for a web key. - - Values: - CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED (0): - Default type that indicates this enum hasn't - been specified. - USABILITY (1): - Key tends to show fewer and easier - challenges. - BALANCE (2): - Key tends to show balanced (in amount and - difficulty) challenges. - SECURITY (3): - Key tends to show more and harder challenges. - """ - CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED = 0 - USABILITY = 1 - BALANCE = 2 - SECURITY = 3 - - allow_all_domains: bool = proto.Field( - proto.BOOL, - number=3, - ) - allowed_domains: MutableSequence[str] = proto.RepeatedField( - proto.STRING, - number=1, - ) - allow_amp_traffic: bool = proto.Field( - proto.BOOL, - number=2, - ) - integration_type: IntegrationType = proto.Field( - proto.ENUM, - number=4, - enum=IntegrationType, - ) - challenge_security_preference: ChallengeSecurityPreference = proto.Field( - proto.ENUM, - number=5, - enum=ChallengeSecurityPreference, - ) - - -class AndroidKeySettings(proto.Message): - r"""Settings specific to keys that can be used by Android apps. - - Attributes: - allow_all_package_names (bool): - Optional. If set to true, allowed_package_names are not - enforced. - allowed_package_names (MutableSequence[str]): - Optional. Android package names of apps - allowed to use the key. Example: - 'com.companyname.appname' - support_non_google_app_store_distribution (bool): - Optional. Set to true for keys that are used - in an Android application that is available for - download in app stores in addition to the Google - Play Store. - """ - - allow_all_package_names: bool = proto.Field( - proto.BOOL, - number=2, - ) - allowed_package_names: MutableSequence[str] = proto.RepeatedField( - proto.STRING, - number=1, - ) - support_non_google_app_store_distribution: bool = proto.Field( - proto.BOOL, - number=3, - ) - - -class IOSKeySettings(proto.Message): - r"""Settings specific to keys that can be used by iOS apps. - - Attributes: - allow_all_bundle_ids (bool): - Optional. If set to true, allowed_bundle_ids are not - enforced. - allowed_bundle_ids (MutableSequence[str]): - Optional. iOS bundle ids of apps allowed to - use the key. Example: - 'com.companyname.productname.appname' - apple_developer_id (google.cloud.recaptchaenterprise_v1.types.AppleDeveloperId): - Optional. Apple Developer account details for - the app that is protected by the reCAPTCHA Key. - reCAPTCHA leverages platform-specific checks - like Apple App Attest and Apple DeviceCheck to - protect your app from abuse. Providing these - fields allows reCAPTCHA to get a better - assessment of the integrity of your app. - """ - - allow_all_bundle_ids: bool = proto.Field( - proto.BOOL, - number=2, - ) - allowed_bundle_ids: MutableSequence[str] = proto.RepeatedField( - proto.STRING, - number=1, - ) - apple_developer_id: 'AppleDeveloperId' = proto.Field( - proto.MESSAGE, - number=3, - message='AppleDeveloperId', - ) - - -class ExpressKeySettings(proto.Message): - r"""Settings specific to keys that can be used for reCAPTCHA - Express. - - """ - - -class AppleDeveloperId(proto.Message): - r"""Contains fields that are required to perform Apple-specific - integrity checks. - - Attributes: - private_key (str): - Required. Input only. A private key - (downloaded as a text file with a .p8 file - extension) generated for your Apple Developer - account. Ensure that Apple DeviceCheck is - enabled for the private key. - key_id (str): - Required. The Apple developer key ID - (10-character string). - team_id (str): - Required. The Apple team ID (10-character - string) owning the provisioning profile used to - build your application. - """ - - private_key: str = proto.Field( - proto.STRING, - number=1, - ) - key_id: str = proto.Field( - proto.STRING, - number=2, - ) - team_id: str = proto.Field( - proto.STRING, - number=3, - ) - - -class ScoreDistribution(proto.Message): - r"""Score distribution. - - Attributes: - score_buckets (MutableMapping[int, int]): - Map key is score value multiplied by 100. The scores are - discrete values between [0, 1]. The maximum number of - buckets is on order of a few dozen, but typically much lower - (ie. 10). - """ - - score_buckets: MutableMapping[int, int] = proto.MapField( - proto.INT32, - proto.INT64, - number=1, - ) - - -class ScoreMetrics(proto.Message): - r"""Metrics related to scoring. - - Attributes: - overall_metrics (google.cloud.recaptchaenterprise_v1.types.ScoreDistribution): - Aggregated score metrics for all traffic. - action_metrics (MutableMapping[str, google.cloud.recaptchaenterprise_v1.types.ScoreDistribution]): - Action-based metrics. The map key is the - action name which specified by the site owners - at time of the "execute" client-side call. - """ - - overall_metrics: 'ScoreDistribution' = proto.Field( - proto.MESSAGE, - number=1, - message='ScoreDistribution', - ) - action_metrics: MutableMapping[str, 'ScoreDistribution'] = proto.MapField( - proto.STRING, - proto.MESSAGE, - number=2, - message='ScoreDistribution', - ) - - -class ChallengeMetrics(proto.Message): - r"""Metrics related to challenges. - - Attributes: - pageload_count (int): - Count of reCAPTCHA checkboxes or badges - rendered. This is mostly equivalent to a count - of pageloads for pages that include reCAPTCHA. - nocaptcha_count (int): - Count of nocaptchas (successful verification - without a challenge) issued. - failed_count (int): - Count of submitted challenge solutions that - were incorrect or otherwise deemed suspicious - such that a subsequent challenge was triggered. - passed_count (int): - Count of nocaptchas (successful verification - without a challenge) plus submitted challenge - solutions that were correct and resulted in - verification. - """ - - pageload_count: int = proto.Field( - proto.INT64, - number=1, - ) - nocaptcha_count: int = proto.Field( - proto.INT64, - number=2, - ) - failed_count: int = proto.Field( - proto.INT64, - number=3, - ) - passed_count: int = proto.Field( - proto.INT64, - number=4, - ) - - -class FirewallPolicyAssessment(proto.Message): - r"""Policy config assessment. - - Attributes: - error (google.rpc.status_pb2.Status): - Output only. If the processing of a policy config fails, an - error is populated and the firewall_policy is left empty. - firewall_policy (google.cloud.recaptchaenterprise_v1.types.FirewallPolicy): - Output only. The policy that matched the - request. If more than one policy may match, this - is the first match. If no policy matches the - incoming request, the policy field is left - empty. - """ - - error: status_pb2.Status = proto.Field( - proto.MESSAGE, - number=5, - message=status_pb2.Status, - ) - firewall_policy: 'FirewallPolicy' = proto.Field( - proto.MESSAGE, - number=8, - message='FirewallPolicy', - ) - - -class FirewallAction(proto.Message): - r"""An individual action. Each action represents what to do if a - policy matches. - - This message has `oneof`_ fields (mutually exclusive fields). - For each oneof, at most one member field can be set at the same time. - Setting any member of the oneof automatically clears all other - members. - - .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields - - Attributes: - allow (google.cloud.recaptchaenterprise_v1.types.FirewallAction.AllowAction): - The user request did not match any policy and - should be allowed access to the requested - resource. - - This field is a member of `oneof`_ ``firewall_action_oneof``. - block (google.cloud.recaptchaenterprise_v1.types.FirewallAction.BlockAction): - This action denies access to a given page. - The user gets an HTTP error code. - - This field is a member of `oneof`_ ``firewall_action_oneof``. - include_recaptcha_script (google.cloud.recaptchaenterprise_v1.types.FirewallAction.IncludeRecaptchaScriptAction): - This action injects reCAPTCHA JavaScript code - into the HTML page returned by the site backend. - - This field is a member of `oneof`_ ``firewall_action_oneof``. - redirect (google.cloud.recaptchaenterprise_v1.types.FirewallAction.RedirectAction): - This action redirects the request to a - reCAPTCHA interstitial to attach a token. - - This field is a member of `oneof`_ ``firewall_action_oneof``. - substitute (google.cloud.recaptchaenterprise_v1.types.FirewallAction.SubstituteAction): - This action transparently serves a different - page to an offending user. - - This field is a member of `oneof`_ ``firewall_action_oneof``. - set_header (google.cloud.recaptchaenterprise_v1.types.FirewallAction.SetHeaderAction): - This action sets a custom header but allow - the request to continue to the customer backend. - - This field is a member of `oneof`_ ``firewall_action_oneof``. - """ - - class AllowAction(proto.Message): - r"""An allow action continues processing a request unimpeded. - """ - - class BlockAction(proto.Message): - r"""A block action serves an HTTP error code a prevents the - request from hitting the backend. - - """ - - class IncludeRecaptchaScriptAction(proto.Message): - r"""An include reCAPTCHA script action involves injecting - reCAPTCHA JavaScript code into the HTML returned by the site - backend. This reCAPTCHA script is tasked with collecting user - signals on the requested web page, issuing tokens as a cookie - within the site domain, and enabling their utilization in - subsequent page requests. - - """ - - class RedirectAction(proto.Message): - r"""A redirect action returns a 307 (temporary redirect) - response, pointing the user to a reCAPTCHA interstitial page to - attach a token. - - """ - - class SubstituteAction(proto.Message): - r"""A substitute action transparently serves a different page - than the one requested. - - Attributes: - path (str): - Optional. The address to redirect to. The - target is a relative path in the current host. - Example: "/blog/404.html". - """ - - path: str = proto.Field( - proto.STRING, - number=1, - ) - - class SetHeaderAction(proto.Message): - r"""A set header action sets a header and forwards the request to - the backend. This can be used to trigger custom protection - implemented on the backend. - - Attributes: - key (str): - Optional. The header key to set in the - request to the backend server. - value (str): - Optional. The header value to set in the - request to the backend server. - """ - - key: str = proto.Field( - proto.STRING, - number=1, - ) - value: str = proto.Field( - proto.STRING, - number=2, - ) - - allow: AllowAction = proto.Field( - proto.MESSAGE, - number=1, - oneof='firewall_action_oneof', - message=AllowAction, - ) - block: BlockAction = proto.Field( - proto.MESSAGE, - number=2, - oneof='firewall_action_oneof', - message=BlockAction, - ) - include_recaptcha_script: IncludeRecaptchaScriptAction = proto.Field( - proto.MESSAGE, - number=6, - oneof='firewall_action_oneof', - message=IncludeRecaptchaScriptAction, - ) - redirect: RedirectAction = proto.Field( - proto.MESSAGE, - number=5, - oneof='firewall_action_oneof', - message=RedirectAction, - ) - substitute: SubstituteAction = proto.Field( - proto.MESSAGE, - number=3, - oneof='firewall_action_oneof', - message=SubstituteAction, - ) - set_header: SetHeaderAction = proto.Field( - proto.MESSAGE, - number=4, - oneof='firewall_action_oneof', - message=SetHeaderAction, - ) - - -class FirewallPolicy(proto.Message): - r"""A FirewallPolicy represents a single matching pattern and - resulting actions to take. - - Attributes: - name (str): - Identifier. The resource name for the FirewallPolicy in the - format - ``projects/{project}/firewallpolicies/{firewallpolicy}``. - description (str): - Optional. A description of what this policy - aims to achieve, for convenience purposes. The - description can at most include 256 UTF-8 - characters. - path (str): - Optional. The path for which this policy applies, specified - as a glob pattern. For more information on glob, see the - `manual - page `__. - A path has a max length of 200 characters. - condition (str): - Optional. A CEL (Common Expression Language) conditional - expression that specifies if this policy applies to an - incoming user request. If this condition evaluates to true - and the requested path matched the path pattern, the - associated actions should be executed by the caller. The - condition string is checked for CEL syntax correctness on - creation. For more information, see the `CEL - spec `__ and its - `language - definition `__. - A condition has a max length of 500 characters. - actions (MutableSequence[google.cloud.recaptchaenterprise_v1.types.FirewallAction]): - Optional. The actions that the caller should take regarding - user access. There should be at most one terminal action. A - terminal action is any action that forces a response, such - as ``AllowAction``, ``BlockAction`` or ``SubstituteAction``. - Zero or more non-terminal actions such as ``SetHeader`` - might be specified. A single policy can contain up to 16 - actions. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - description: str = proto.Field( - proto.STRING, - number=2, - ) - path: str = proto.Field( - proto.STRING, - number=4, - ) - condition: str = proto.Field( - proto.STRING, - number=5, - ) - actions: MutableSequence['FirewallAction'] = proto.RepeatedField( - proto.MESSAGE, - number=6, - message='FirewallAction', - ) - - -class ListRelatedAccountGroupMembershipsRequest(proto.Message): - r"""The request message to list memberships in a related account - group. - - Attributes: - parent (str): - Required. The resource name for the related account group in - the format - ``projects/{project}/relatedaccountgroups/{relatedaccountgroup}``. - page_size (int): - Optional. The maximum number of accounts to - return. The service might return fewer than this - value. If unspecified, at most 50 accounts are - returned. The maximum value is 1000; values - above 1000 are coerced to 1000. - page_token (str): - Optional. A page token, received from a previous - ``ListRelatedAccountGroupMemberships`` call. - - When paginating, all other parameters provided to - ``ListRelatedAccountGroupMemberships`` must match the call - that provided the page token. - """ - - parent: str = proto.Field( - proto.STRING, - number=1, - ) - page_size: int = proto.Field( - proto.INT32, - number=2, - ) - page_token: str = proto.Field( - proto.STRING, - number=3, - ) - - -class ListRelatedAccountGroupMembershipsResponse(proto.Message): - r"""The response to a ``ListRelatedAccountGroupMemberships`` call. - - Attributes: - related_account_group_memberships (MutableSequence[google.cloud.recaptchaenterprise_v1.types.RelatedAccountGroupMembership]): - The memberships listed by the query. - next_page_token (str): - A token, which can be sent as ``page_token`` to retrieve the - next page. If this field is omitted, there are no subsequent - pages. - """ - - @property - def raw_page(self): - return self - - related_account_group_memberships: MutableSequence['RelatedAccountGroupMembership'] = proto.RepeatedField( - proto.MESSAGE, - number=1, - message='RelatedAccountGroupMembership', - ) - next_page_token: str = proto.Field( - proto.STRING, - number=2, - ) - - -class ListRelatedAccountGroupsRequest(proto.Message): - r"""The request message to list related account groups. - - Attributes: - parent (str): - Required. The name of the project to list related account - groups from, in the format ``projects/{project}``. - page_size (int): - Optional. The maximum number of groups to - return. The service might return fewer than this - value. If unspecified, at most 50 groups are - returned. The maximum value is 1000; values - above 1000 are coerced to 1000. - page_token (str): - Optional. A page token, received from a previous - ``ListRelatedAccountGroups`` call. Provide this to retrieve - the subsequent page. - - When paginating, all other parameters provided to - ``ListRelatedAccountGroups`` must match the call that - provided the page token. - """ - - parent: str = proto.Field( - proto.STRING, - number=1, - ) - page_size: int = proto.Field( - proto.INT32, - number=2, - ) - page_token: str = proto.Field( - proto.STRING, - number=3, - ) - - -class ListRelatedAccountGroupsResponse(proto.Message): - r"""The response to a ``ListRelatedAccountGroups`` call. - - Attributes: - related_account_groups (MutableSequence[google.cloud.recaptchaenterprise_v1.types.RelatedAccountGroup]): - The groups of related accounts listed by the - query. - next_page_token (str): - A token, which can be sent as ``page_token`` to retrieve the - next page. If this field is omitted, there are no subsequent - pages. - """ - - @property - def raw_page(self): - return self - - related_account_groups: MutableSequence['RelatedAccountGroup'] = proto.RepeatedField( - proto.MESSAGE, - number=1, - message='RelatedAccountGroup', - ) - next_page_token: str = proto.Field( - proto.STRING, - number=2, - ) - - -class SearchRelatedAccountGroupMembershipsRequest(proto.Message): - r"""The request message to search related account group - memberships. - - Attributes: - project (str): - Required. The name of the project to search related account - group memberships from. Specify the project name in the - following format: ``projects/{project}``. - account_id (str): - Optional. The unique stable account identifier used to - search connections. The identifier should correspond to an - ``account_id`` provided in a previous ``CreateAssessment`` - or ``AnnotateAssessment`` call. Either hashed_account_id or - account_id must be set, but not both. - hashed_account_id (bytes): - Optional. Deprecated: use ``account_id`` instead. The unique - stable hashed account identifier used to search connections. - The identifier should correspond to a ``hashed_account_id`` - provided in a previous ``CreateAssessment`` or - ``AnnotateAssessment`` call. Either hashed_account_id or - account_id must be set, but not both. - page_size (int): - Optional. The maximum number of groups to - return. The service might return fewer than this - value. If unspecified, at most 50 groups are - returned. The maximum value is 1000; values - above 1000 are coerced to 1000. - page_token (str): - Optional. A page token, received from a previous - ``SearchRelatedAccountGroupMemberships`` call. Provide this - to retrieve the subsequent page. - - When paginating, all other parameters provided to - ``SearchRelatedAccountGroupMemberships`` must match the call - that provided the page token. - """ - - project: str = proto.Field( - proto.STRING, - number=1, - ) - account_id: str = proto.Field( - proto.STRING, - number=5, - ) - hashed_account_id: bytes = proto.Field( - proto.BYTES, - number=2, - ) - page_size: int = proto.Field( - proto.INT32, - number=3, - ) - page_token: str = proto.Field( - proto.STRING, - number=4, - ) - - -class SearchRelatedAccountGroupMembershipsResponse(proto.Message): - r"""The response to a ``SearchRelatedAccountGroupMemberships`` call. - - Attributes: - related_account_group_memberships (MutableSequence[google.cloud.recaptchaenterprise_v1.types.RelatedAccountGroupMembership]): - The queried memberships. - next_page_token (str): - A token, which can be sent as ``page_token`` to retrieve the - next page. If this field is omitted, there are no subsequent - pages. - """ - - @property - def raw_page(self): - return self - - related_account_group_memberships: MutableSequence['RelatedAccountGroupMembership'] = proto.RepeatedField( - proto.MESSAGE, - number=1, - message='RelatedAccountGroupMembership', - ) - next_page_token: str = proto.Field( - proto.STRING, - number=2, - ) - - -class AddIpOverrideRequest(proto.Message): - r"""The AddIpOverride request message. - - Attributes: - name (str): - Required. The name of the key to which the IP override is - added, in the format ``projects/{project}/keys/{key}``. - ip_override_data (google.cloud.recaptchaenterprise_v1.types.IpOverrideData): - Required. IP override added to the key. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - ip_override_data: 'IpOverrideData' = proto.Field( - proto.MESSAGE, - number=2, - message='IpOverrideData', - ) - - -class AddIpOverrideResponse(proto.Message): - r"""Response for AddIpOverride. - """ - - -class RemoveIpOverrideRequest(proto.Message): - r"""The removeIpOverride request message. - - Attributes: - name (str): - Required. The name of the key from which the IP override is - removed, in the format ``projects/{project}/keys/{key}``. - ip_override_data (google.cloud.recaptchaenterprise_v1.types.IpOverrideData): - Required. IP override to be removed from the - key. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - ip_override_data: 'IpOverrideData' = proto.Field( - proto.MESSAGE, - number=2, - message='IpOverrideData', - ) - - -class RemoveIpOverrideResponse(proto.Message): - r"""Response for RemoveIpOverride. - """ - - -class ListIpOverridesRequest(proto.Message): - r"""The ListIpOverrides request message. - - Attributes: - parent (str): - Required. The parent key for which the IP overrides are - listed, in the format ``projects/{project}/keys/{key}``. - page_size (int): - Optional. The maximum number of overrides to return. Default - is 10. Max limit is 100. If the number of overrides is less - than the page_size, all overrides are returned. If the page - size is more than 100, it is coerced to 100. - page_token (str): - Optional. The next_page_token value returned from a previous - ListIpOverridesRequest, if any. - """ - - parent: str = proto.Field( - proto.STRING, - number=1, - ) - page_size: int = proto.Field( - proto.INT32, - number=2, - ) - page_token: str = proto.Field( - proto.STRING, - number=3, - ) - - -class ListIpOverridesResponse(proto.Message): - r"""Response for ListIpOverrides. - - Attributes: - ip_overrides (MutableSequence[google.cloud.recaptchaenterprise_v1.types.IpOverrideData]): - IP Overrides details. - next_page_token (str): - Token to retrieve the next page of results. - If this field is empty, no keys remain in the - results. - """ - - @property - def raw_page(self): - return self - - ip_overrides: MutableSequence['IpOverrideData'] = proto.RepeatedField( - proto.MESSAGE, - number=1, - message='IpOverrideData', - ) - next_page_token: str = proto.Field( - proto.STRING, - number=2, - ) - - -class RelatedAccountGroupMembership(proto.Message): - r"""A membership in a group of related accounts. - - Attributes: - name (str): - Required. Identifier. The resource name for this membership - in the format - ``projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}``. - account_id (str): - The unique stable account identifier of the member. The - identifier corresponds to an ``account_id`` provided in a - previous ``CreateAssessment`` or ``AnnotateAssessment`` - call. - hashed_account_id (bytes): - Deprecated: use ``account_id`` instead. The unique stable - hashed account identifier of the member. The identifier - corresponds to a ``hashed_account_id`` provided in a - previous ``CreateAssessment`` or ``AnnotateAssessment`` - call. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - account_id: str = proto.Field( - proto.STRING, - number=4, - ) - hashed_account_id: bytes = proto.Field( - proto.BYTES, - number=2, - ) - - -class RelatedAccountGroup(proto.Message): - r"""A group of related accounts. - - Attributes: - name (str): - Required. Identifier. The resource name for the related - account group in the format - ``projects/{project}/relatedaccountgroups/{related_account_group}``. - """ - - name: str = proto.Field( - proto.STRING, - number=1, - ) - - -class WafSettings(proto.Message): - r"""Settings specific to keys that can be used for WAF (Web - Application Firewall). - - Attributes: - waf_service (google.cloud.recaptchaenterprise_v1.types.WafSettings.WafService): - Required. The WAF service that uses this key. - waf_feature (google.cloud.recaptchaenterprise_v1.types.WafSettings.WafFeature): - Required. The WAF feature for which this key - is enabled. - """ - class WafFeature(proto.Enum): - r"""Supported WAF features. For more information, see - https://cloud.google.com/recaptcha/docs/usecase#comparison_of_features. - - Values: - WAF_FEATURE_UNSPECIFIED (0): - Undefined feature. - CHALLENGE_PAGE (1): - Redirects suspicious traffic to reCAPTCHA. - SESSION_TOKEN (2): - Use reCAPTCHA session-tokens to protect the - whole user session on the site's domain. - ACTION_TOKEN (3): - Use reCAPTCHA action-tokens to protect user - actions. - EXPRESS (5): - Use reCAPTCHA WAF express protection to - protect any content other than web pages, like - APIs and IoT devices. - """ - WAF_FEATURE_UNSPECIFIED = 0 - CHALLENGE_PAGE = 1 - SESSION_TOKEN = 2 - ACTION_TOKEN = 3 - EXPRESS = 5 - - class WafService(proto.Enum): - r"""Web Application Firewalls supported by reCAPTCHA. - - Values: - WAF_SERVICE_UNSPECIFIED (0): - Undefined WAF - CA (1): - Cloud Armor - FASTLY (3): - Fastly - CLOUDFLARE (4): - Cloudflare - AKAMAI (5): - Akamai - """ - WAF_SERVICE_UNSPECIFIED = 0 - CA = 1 - FASTLY = 3 - CLOUDFLARE = 4 - AKAMAI = 5 - - waf_service: WafService = proto.Field( - proto.ENUM, - number=1, - enum=WafService, - ) - waf_feature: WafFeature = proto.Field( - proto.ENUM, - number=2, - enum=WafFeature, - ) - - -class AssessmentEnvironment(proto.Message): - r"""The environment creating the assessment. This describes your - environment (the system invoking CreateAssessment), NOT the - environment of your user. - - Attributes: - client (str): - Optional. Identifies the client module - initiating the CreateAssessment request. This - can be the link to the client module's project. - Examples include: - - - - "github.com/GoogleCloudPlatform/recaptcha-enterprise-google-tag-manager" - - - "cloud.google.com/recaptcha/docs/implement-waf-akamai" - - - "cloud.google.com/recaptcha/docs/implement-waf-cloudflare" - - "wordpress.org/plugins/recaptcha-something". - version (str): - Optional. The version of the client module. - For example, "1.0.0". - """ - - client: str = proto.Field( - proto.STRING, - number=1, - ) - version: str = proto.Field( - proto.STRING, - number=2, - ) - - -class IpOverrideData(proto.Message): - r"""Information about the IP or IP range override. - - Attributes: - ip (str): - Required. The IP address to override (can be - IPv4, IPv6 or CIDR). The IP override must be a - valid IPv4 or IPv6 address, or a CIDR range. The - IP override must be a public IP address. - Example of IPv4: 168.192.5.6 - Example of IPv6: - 2001:0000:130F:0000:0000:09C0:876A:130B Example - of IPv4 with CIDR: 168.192.5.0/24 - Example of IPv6 with CIDR: 2001:0DB8:1234::/48 - override_type (google.cloud.recaptchaenterprise_v1.types.IpOverrideData.OverrideType): - Required. Describes the type of IP override. - """ - class OverrideType(proto.Enum): - r"""Enum that represents the type of IP override. - - Values: - OVERRIDE_TYPE_UNSPECIFIED (0): - Default override type that indicates this - enum hasn't been specified. - ALLOW (1): - Allowlist the IP address; i.e. give a - ``risk_analysis.score`` of 0.9 for all valid assessments. - """ - OVERRIDE_TYPE_UNSPECIFIED = 0 - ALLOW = 1 - - ip: str = proto.Field( - proto.STRING, - number=1, - ) - override_type: OverrideType = proto.Field( - proto.ENUM, - number=3, - enum=OverrideType, - ) - - -__all__ = tuple(sorted(__protobuf__.manifest)) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/mypy.ini b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/mypy.ini deleted file mode 100644 index 574c5aed394b..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/mypy.ini +++ /dev/null @@ -1,3 +0,0 @@ -[mypy] -python_version = 3.7 -namespace_packages = True diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/noxfile.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/noxfile.py deleted file mode 100644 index 095ce361117f..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/noxfile.py +++ /dev/null @@ -1,280 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -import os -import pathlib -import re -import shutil -import subprocess -import sys - - -import nox # type: ignore - -ALL_PYTHON = [ - "3.7", - "3.8", - "3.9", - "3.10", - "3.11", - "3.12", - "3.13", -] - -CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() - -LOWER_BOUND_CONSTRAINTS_FILE = CURRENT_DIRECTORY / "constraints.txt" -PACKAGE_NAME = 'google-cloud-recaptcha-enterprise' - -BLACK_VERSION = "black==22.3.0" -BLACK_PATHS = ["docs", "google", "tests", "samples", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.13" - -nox.sessions = [ - "unit", - "cover", - "mypy", - "check_lower_bounds" - # exclude update_lower_bounds from default - "docs", - "blacken", - "lint", - "prerelease_deps", -] - -@nox.session(python=ALL_PYTHON) -@nox.parametrize( - "protobuf_implementation", - [ "python", "upb", "cpp" ], -) -def unit(session, protobuf_implementation): - """Run the unit test suite.""" - - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): - session.skip("cpp implementation is not supported in python 3.11+") - - session.install('coverage', 'pytest', 'pytest-cov', 'pytest-asyncio', 'asyncmock; python_version < "3.8"') - session.install('-e', '.', "-c", f"testing/constraints-{session.python}.txt") - - # 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") - - session.run( - 'py.test', - '--quiet', - '--cov=google/cloud/recaptchaenterprise_v1/', - '--cov=tests/', - '--cov-config=.coveragerc', - '--cov-report=term', - '--cov-report=html', - os.path.join('tests', 'unit', ''.join(session.posargs)), - env={ - "PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": protobuf_implementation, - }, - ) - -@nox.session(python=ALL_PYTHON[-1]) -@nox.parametrize( - "protobuf_implementation", - [ "python", "upb", "cpp" ], -) -def prerelease_deps(session, protobuf_implementation): - """Run the unit test suite against pre-release versions of dependencies.""" - - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): - session.skip("cpp implementation is not supported in python 3.11+") - - # Install test environment dependencies - session.install('coverage', 'pytest', 'pytest-cov', 'pytest-asyncio', 'asyncmock; python_version < "3.8"') - - # Install the package without dependencies - session.install('-e', '.', '--no-deps') - - # We test the minimum dependency versions using the minimum Python - # version so the lowest python runtime that we test has a corresponding constraints - # file, located at `testing/constraints--.txt`, which contains all of the - # dependencies and extras. - with open( - CURRENT_DIRECTORY - / "testing" - / f"constraints-{ALL_PYTHON[0]}.txt", - 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", - "google-api-core", - "google-auth", - # Exclude grpcio!=1.67.0rc1 which does not support python 3.13 - "grpcio!=1.67.0rc1", - "grpcio-status", - "protobuf", - "proto-plus", - ] - - for dep in prerel_deps: - session.install("--pre", "--no-deps", "--upgrade", dep) - - # Remaining dependencies - other_deps = [ - "requests", - ] - session.install(*other_deps) - - # Print out prerelease package versions - - session.run("python", "-c", "import google.api_core; print(google.api_core.__version__)") - session.run("python", "-c", "import google.auth; print(google.auth.__version__)") - session.run("python", "-c", "import grpc; print(grpc.__version__)") - session.run( - "python", "-c", "import google.protobuf; print(google.protobuf.__version__)" - ) - session.run( - "python", "-c", "import proto; print(proto.__version__)" - ) - - session.run( - 'py.test', - '--quiet', - '--cov=google/cloud/recaptchaenterprise_v1/', - '--cov=tests/', - '--cov-config=.coveragerc', - '--cov-report=term', - '--cov-report=html', - os.path.join('tests', 'unit', ''.join(session.posargs)), - env={ - "PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": protobuf_implementation, - }, - ) - - -@nox.session(python=DEFAULT_PYTHON_VERSION) -def cover(session): - """Run the final coverage report. - This outputs the coverage report aggregating coverage from the unit - test runs (not system test runs), and then erases coverage data. - """ - session.install("coverage", "pytest-cov") - session.run("coverage", "report", "--show-missing", "--fail-under=100") - - session.run("coverage", "erase") - - -@nox.session(python=ALL_PYTHON) -def mypy(session): - """Run the type checker.""" - session.install( - 'mypy', - 'types-requests', - 'types-protobuf' - ) - session.install('.') - session.run( - 'mypy', - '-p', - 'google', - ) - - -@nox.session -def update_lower_bounds(session): - """Update lower bounds in constraints.txt to match setup.py""" - session.install('google-cloud-testutils') - session.install('.') - - session.run( - 'lower-bound-checker', - 'update', - '--package-name', - PACKAGE_NAME, - '--constraints-file', - str(LOWER_BOUND_CONSTRAINTS_FILE), - ) - - -@nox.session -def check_lower_bounds(session): - """Check lower bounds in setup.py are reflected in constraints file""" - session.install('google-cloud-testutils') - session.install('.') - - session.run( - 'lower-bound-checker', - 'check', - '--package-name', - PACKAGE_NAME, - '--constraints-file', - str(LOWER_BOUND_CONSTRAINTS_FILE), - ) - -@nox.session(python=DEFAULT_PYTHON_VERSION) -def docs(session): - """Build the docs for this library.""" - - session.install("-e", ".") - session.install("sphinx==7.0.1", "alabaster", "recommonmark") - - shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True) - session.run( - "sphinx-build", - "-W", # warnings as errors - "-T", # show full traceback on exception - "-N", # no colors - "-b", - "html", - "-d", - os.path.join("docs", "_build", "doctrees", ""), - os.path.join("docs", ""), - os.path.join("docs", "_build", "html", ""), - ) - - -@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", - *BLACK_PATHS, - ) - session.run("flake8", "google", "tests", "samples") - - -@nox.session(python=DEFAULT_PYTHON_VERSION) -def blacken(session): - """Run black. Format code to uniform standard.""" - session.install(BLACK_VERSION) - session.run( - "black", - *BLACK_PATHS, - ) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_async.py deleted file mode 100644 index 0431a12687a1..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_async.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for AddIpOverride -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AddIpOverride_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_add_ip_override(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - ip_override_data = recaptchaenterprise_v1.IpOverrideData() - ip_override_data.ip = "ip_value" - ip_override_data.override_type = "ALLOW" - - request = recaptchaenterprise_v1.AddIpOverrideRequest( - name="name_value", - ip_override_data=ip_override_data, - ) - - # Make the request - response = await client.add_ip_override(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AddIpOverride_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_sync.py deleted file mode 100644 index f5727a9c8ee8..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_sync.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for AddIpOverride -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AddIpOverride_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_add_ip_override(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - ip_override_data = recaptchaenterprise_v1.IpOverrideData() - ip_override_data.ip = "ip_value" - ip_override_data.override_type = "ALLOW" - - request = recaptchaenterprise_v1.AddIpOverrideRequest( - name="name_value", - ip_override_data=ip_override_data, - ) - - # Make the request - response = client.add_ip_override(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AddIpOverride_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_async.py deleted file mode 100644 index eae9e3ed503c..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for AnnotateAssessment -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AnnotateAssessment_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_annotate_assessment(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.AnnotateAssessmentRequest( - name="name_value", - ) - - # Make the request - response = await client.annotate_assessment(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AnnotateAssessment_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_sync.py deleted file mode 100644 index 4e5418ceee03..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for AnnotateAssessment -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AnnotateAssessment_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_annotate_assessment(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.AnnotateAssessmentRequest( - name="name_value", - ) - - # Make the request - response = client.annotate_assessment(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AnnotateAssessment_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_async.py deleted file mode 100644 index b62504e3e03a..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateAssessment -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateAssessment_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_create_assessment(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.CreateAssessmentRequest( - parent="parent_value", - ) - - # Make the request - response = await client.create_assessment(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateAssessment_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_sync.py deleted file mode 100644 index 1d72e3f63944..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateAssessment -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateAssessment_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_create_assessment(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.CreateAssessmentRequest( - parent="parent_value", - ) - - # Make the request - response = client.create_assessment(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateAssessment_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_async.py deleted file mode 100644 index ab8b9527e2cf..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateFirewallPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateFirewallPolicy_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_create_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.CreateFirewallPolicyRequest( - parent="parent_value", - ) - - # Make the request - response = await client.create_firewall_policy(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateFirewallPolicy_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_sync.py deleted file mode 100644 index a42e52d6a76a..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateFirewallPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateFirewallPolicy_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_create_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.CreateFirewallPolicyRequest( - parent="parent_value", - ) - - # Make the request - response = client.create_firewall_policy(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateFirewallPolicy_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_async.py deleted file mode 100644 index 6bee2e90316a..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_async.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateKey_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_create_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - key = recaptchaenterprise_v1.Key() - key.web_settings.integration_type = "INVISIBLE" - key.display_name = "display_name_value" - - request = recaptchaenterprise_v1.CreateKeyRequest( - parent="parent_value", - key=key, - ) - - # Make the request - response = await client.create_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateKey_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_sync.py deleted file mode 100644 index 68a4b1456ceb..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_sync.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for CreateKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateKey_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_create_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - key = recaptchaenterprise_v1.Key() - key.web_settings.integration_type = "INVISIBLE" - key.display_name = "display_name_value" - - request = recaptchaenterprise_v1.CreateKeyRequest( - parent="parent_value", - key=key, - ) - - # Make the request - response = client.create_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateKey_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_async.py deleted file mode 100644 index 5e2cda11d3e6..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_async.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteFirewallPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteFirewallPolicy_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_delete_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.DeleteFirewallPolicyRequest( - name="name_value", - ) - - # Make the request - await client.delete_firewall_policy(request=request) - - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteFirewallPolicy_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_sync.py deleted file mode 100644 index d69c8c3b8abd..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_sync.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteFirewallPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteFirewallPolicy_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_delete_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.DeleteFirewallPolicyRequest( - name="name_value", - ) - - # Make the request - client.delete_firewall_policy(request=request) - - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteFirewallPolicy_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_async.py deleted file mode 100644 index 915a6ea8d3ea..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_async.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteKey_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_delete_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.DeleteKeyRequest( - name="name_value", - ) - - # Make the request - await client.delete_key(request=request) - - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteKey_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_sync.py deleted file mode 100644 index 96f9993b4688..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_sync.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for DeleteKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteKey_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_delete_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.DeleteKeyRequest( - name="name_value", - ) - - # Make the request - client.delete_key(request=request) - - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteKey_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_async.py deleted file mode 100644 index ae59da92b272..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetFirewallPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetFirewallPolicy_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_get_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetFirewallPolicyRequest( - name="name_value", - ) - - # Make the request - response = await client.get_firewall_policy(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetFirewallPolicy_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_sync.py deleted file mode 100644 index eb042e184d8f..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetFirewallPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetFirewallPolicy_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_get_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetFirewallPolicyRequest( - name="name_value", - ) - - # Make the request - response = client.get_firewall_policy(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetFirewallPolicy_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_async.py deleted file mode 100644 index 04acf4722e86..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetKey_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_get_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetKeyRequest( - name="name_value", - ) - - # Make the request - response = await client.get_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetKey_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_sync.py deleted file mode 100644 index ba52d88a1abb..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetKey_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_get_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetKeyRequest( - name="name_value", - ) - - # Make the request - response = client.get_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetKey_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_async.py deleted file mode 100644 index 219b8a297ee2..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetMetrics -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetMetrics_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_get_metrics(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetMetricsRequest( - name="name_value", - ) - - # Make the request - response = await client.get_metrics(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetMetrics_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_sync.py deleted file mode 100644 index 68a4077d3499..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for GetMetrics -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetMetrics_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_get_metrics(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.GetMetricsRequest( - name="name_value", - ) - - # Make the request - response = client.get_metrics(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetMetrics_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_async.py deleted file mode 100644 index 6294a808b97b..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListFirewallPolicies -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListFirewallPolicies_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_list_firewall_policies(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListFirewallPoliciesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_firewall_policies(request=request) - - # Handle the response - async for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListFirewallPolicies_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_sync.py deleted file mode 100644 index b965572a8fdb..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListFirewallPolicies -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListFirewallPolicies_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_list_firewall_policies(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListFirewallPoliciesRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_firewall_policies(request=request) - - # Handle the response - for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListFirewallPolicies_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_async.py deleted file mode 100644 index 3b59b19e04c7..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListKeys -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListKeys_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_list_keys(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListKeysRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_keys(request=request) - - # Handle the response - async for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListKeys_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_sync.py deleted file mode 100644 index 3aa4cbeacffe..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListKeys -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListKeys_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_list_keys(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListKeysRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_keys(request=request) - - # Handle the response - for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListKeys_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_async.py deleted file mode 100644 index f80a04c7d36a..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListRelatedAccountGroupMemberships -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroupMemberships_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_list_related_account_group_memberships(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListRelatedAccountGroupMembershipsRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_related_account_group_memberships(request=request) - - # Handle the response - async for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroupMemberships_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_sync.py deleted file mode 100644 index 90bafb1d708a..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListRelatedAccountGroupMemberships -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroupMemberships_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_list_related_account_group_memberships(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListRelatedAccountGroupMembershipsRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_related_account_group_memberships(request=request) - - # Handle the response - for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroupMemberships_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_async.py deleted file mode 100644 index fdbe3a2c6082..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListRelatedAccountGroups -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroups_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_list_related_account_groups(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListRelatedAccountGroupsRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_related_account_groups(request=request) - - # Handle the response - async for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroups_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_sync.py deleted file mode 100644 index 9caf105e1ab0..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ListRelatedAccountGroups -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroups_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_list_related_account_groups(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ListRelatedAccountGroupsRequest( - parent="parent_value", - ) - - # Make the request - page_result = client.list_related_account_groups(request=request) - - # Handle the response - for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroups_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_async.py deleted file mode 100644 index 230a980f56dd..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for MigrateKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_MigrateKey_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_migrate_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.MigrateKeyRequest( - name="name_value", - ) - - # Make the request - response = await client.migrate_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_MigrateKey_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_sync.py deleted file mode 100644 index b8d402b72511..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for MigrateKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_MigrateKey_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_migrate_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.MigrateKeyRequest( - name="name_value", - ) - - # Make the request - response = client.migrate_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_MigrateKey_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_async.py deleted file mode 100644 index 0c5736488d25..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ReorderFirewallPolicies -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ReorderFirewallPolicies_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_reorder_firewall_policies(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ReorderFirewallPoliciesRequest( - parent="parent_value", - names=['names_value1', 'names_value2'], - ) - - # Make the request - response = await client.reorder_firewall_policies(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ReorderFirewallPolicies_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_sync.py deleted file mode 100644 index 9a40a31b4663..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ReorderFirewallPolicies -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ReorderFirewallPolicies_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_reorder_firewall_policies(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.ReorderFirewallPoliciesRequest( - parent="parent_value", - names=['names_value1', 'names_value2'], - ) - - # Make the request - response = client.reorder_firewall_policies(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ReorderFirewallPolicies_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_async.py deleted file mode 100644 index 46e93d58a37c..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_async.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for RetrieveLegacySecretKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RetrieveLegacySecretKey_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_retrieve_legacy_secret_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.RetrieveLegacySecretKeyRequest( - key="key_value", - ) - - # Make the request - response = await client.retrieve_legacy_secret_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RetrieveLegacySecretKey_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_sync.py deleted file mode 100644 index f5d5bc19bcbb..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_sync.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for RetrieveLegacySecretKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RetrieveLegacySecretKey_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_retrieve_legacy_secret_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.RetrieveLegacySecretKeyRequest( - key="key_value", - ) - - # Make the request - response = client.retrieve_legacy_secret_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RetrieveLegacySecretKey_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_async.py deleted file mode 100644 index f84899f0a27f..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_async.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for SearchRelatedAccountGroupMemberships -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_SearchRelatedAccountGroupMemberships_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_search_related_account_group_memberships(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.SearchRelatedAccountGroupMembershipsRequest( - project="project_value", - ) - - # Make the request - page_result = client.search_related_account_group_memberships(request=request) - - # Handle the response - async for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_SearchRelatedAccountGroupMemberships_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_sync.py deleted file mode 100644 index 029e9a7fbd08..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_sync.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for SearchRelatedAccountGroupMemberships -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_SearchRelatedAccountGroupMemberships_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_search_related_account_group_memberships(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.SearchRelatedAccountGroupMembershipsRequest( - project="project_value", - ) - - # Make the request - page_result = client.search_related_account_group_memberships(request=request) - - # Handle the response - for response in page_result: - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_SearchRelatedAccountGroupMemberships_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_async.py deleted file mode 100644 index eed27723532c..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_async.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for UpdateFirewallPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateFirewallPolicy_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_update_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.UpdateFirewallPolicyRequest( - ) - - # Make the request - response = await client.update_firewall_policy(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateFirewallPolicy_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_sync.py deleted file mode 100644 index 1985f298ff55..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_sync.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for UpdateFirewallPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateFirewallPolicy_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_update_firewall_policy(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - request = recaptchaenterprise_v1.UpdateFirewallPolicyRequest( - ) - - # Make the request - response = client.update_firewall_policy(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateFirewallPolicy_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_async.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_async.py deleted file mode 100644 index 91656ccde896..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_async.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for UpdateKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateKey_async] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -async def sample_update_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() - - # Initialize request argument(s) - key = recaptchaenterprise_v1.Key() - key.web_settings.integration_type = "INVISIBLE" - key.display_name = "display_name_value" - - request = recaptchaenterprise_v1.UpdateKeyRequest( - key=key, - ) - - # Make the request - response = await client.update_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateKey_async] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_sync.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_sync.py deleted file mode 100644 index 52910d8bb3a0..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_sync.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for UpdateKey -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-recaptcha-enterprise - - -# [START recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateKey_sync] -# This snippet has been automatically generated and should be regarded as a -# code template only. -# It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in: -# https://googleapis.dev/python/google-api-core/latest/client_options.html -from google.cloud import recaptchaenterprise_v1 - - -def sample_update_key(): - # Create a client - client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() - - # Initialize request argument(s) - key = recaptchaenterprise_v1.Key() - key.web_settings.integration_type = "INVISIBLE" - key.display_name = "display_name_value" - - request = recaptchaenterprise_v1.UpdateKeyRequest( - key=key, - ) - - # Make the request - response = client.update_key(request=request) - - # Handle the response - print(response) - -# [END recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateKey_sync] diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/snippet_metadata_google.cloud.recaptchaenterprise.v1.json b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/snippet_metadata_google.cloud.recaptchaenterprise.v1.json deleted file mode 100644 index 0d14f8e6deb6..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/snippet_metadata_google.cloud.recaptchaenterprise.v1.json +++ /dev/null @@ -1,3617 +0,0 @@ -{ - "clientLibrary": { - "apis": [ - { - "id": "google.cloud.recaptchaenterprise.v1", - "version": "v1" - } - ], - "language": "PYTHON", - "name": "google-cloud-recaptcha-enterprise", - "version": "0.1.0" - }, - "snippets": [ - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.add_ip_override", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.AddIpOverride", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "AddIpOverride" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.AddIpOverrideRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "ip_override_data", - "type": "google.cloud.recaptchaenterprise_v1.types.IpOverrideData" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.AddIpOverrideResponse", - "shortName": "add_ip_override" - }, - "description": "Sample for AddIpOverride", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AddIpOverride_async", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.add_ip_override", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.AddIpOverride", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "AddIpOverride" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.AddIpOverrideRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "ip_override_data", - "type": "google.cloud.recaptchaenterprise_v1.types.IpOverrideData" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.AddIpOverrideResponse", - "shortName": "add_ip_override" - }, - "description": "Sample for AddIpOverride", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AddIpOverride_sync", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_add_ip_override_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.annotate_assessment", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.AnnotateAssessment", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "AnnotateAssessment" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "annotation", - "type": "google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest.Annotation" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentResponse", - "shortName": "annotate_assessment" - }, - "description": "Sample for AnnotateAssessment", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AnnotateAssessment_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.annotate_assessment", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.AnnotateAssessment", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "AnnotateAssessment" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "annotation", - "type": "google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentRequest.Annotation" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.AnnotateAssessmentResponse", - "shortName": "annotate_assessment" - }, - "description": "Sample for AnnotateAssessment", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_AnnotateAssessment_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_annotate_assessment_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.create_assessment", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateAssessment", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "CreateAssessment" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.CreateAssessmentRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "assessment", - "type": "google.cloud.recaptchaenterprise_v1.types.Assessment" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Assessment", - "shortName": "create_assessment" - }, - "description": "Sample for CreateAssessment", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateAssessment_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.create_assessment", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateAssessment", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "CreateAssessment" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.CreateAssessmentRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "assessment", - "type": "google.cloud.recaptchaenterprise_v1.types.Assessment" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Assessment", - "shortName": "create_assessment" - }, - "description": "Sample for CreateAssessment", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateAssessment_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_assessment_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.create_firewall_policy", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateFirewallPolicy", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "CreateFirewallPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.CreateFirewallPolicyRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "firewall_policy", - "type": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy", - "shortName": "create_firewall_policy" - }, - "description": "Sample for CreateFirewallPolicy", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateFirewallPolicy_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.create_firewall_policy", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateFirewallPolicy", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "CreateFirewallPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.CreateFirewallPolicyRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "firewall_policy", - "type": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy", - "shortName": "create_firewall_policy" - }, - "description": "Sample for CreateFirewallPolicy", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateFirewallPolicy_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_firewall_policy_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.create_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "CreateKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.CreateKeyRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "key", - "type": "google.cloud.recaptchaenterprise_v1.types.Key" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Key", - "shortName": "create_key" - }, - "description": "Sample for CreateKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateKey_async", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.create_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "CreateKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.CreateKeyRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "key", - "type": "google.cloud.recaptchaenterprise_v1.types.Key" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Key", - "shortName": "create_key" - }, - "description": "Sample for CreateKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_CreateKey_sync", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_create_key_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.delete_firewall_policy", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.DeleteFirewallPolicy", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "DeleteFirewallPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.DeleteFirewallPolicyRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "shortName": "delete_firewall_policy" - }, - "description": "Sample for DeleteFirewallPolicy", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteFirewallPolicy_async", - "segments": [ - { - "end": 49, - "start": 27, - "type": "FULL" - }, - { - "end": 49, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.delete_firewall_policy", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.DeleteFirewallPolicy", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "DeleteFirewallPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.DeleteFirewallPolicyRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "shortName": "delete_firewall_policy" - }, - "description": "Sample for DeleteFirewallPolicy", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteFirewallPolicy_sync", - "segments": [ - { - "end": 49, - "start": 27, - "type": "FULL" - }, - { - "end": 49, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_firewall_policy_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.delete_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.DeleteKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "DeleteKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.DeleteKeyRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "shortName": "delete_key" - }, - "description": "Sample for DeleteKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteKey_async", - "segments": [ - { - "end": 49, - "start": 27, - "type": "FULL" - }, - { - "end": 49, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.delete_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.DeleteKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "DeleteKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.DeleteKeyRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "shortName": "delete_key" - }, - "description": "Sample for DeleteKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_DeleteKey_sync", - "segments": [ - { - "end": 49, - "start": 27, - "type": "FULL" - }, - { - "end": 49, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_delete_key_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.get_firewall_policy", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.GetFirewallPolicy", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "GetFirewallPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.GetFirewallPolicyRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy", - "shortName": "get_firewall_policy" - }, - "description": "Sample for GetFirewallPolicy", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetFirewallPolicy_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.get_firewall_policy", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.GetFirewallPolicy", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "GetFirewallPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.GetFirewallPolicyRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy", - "shortName": "get_firewall_policy" - }, - "description": "Sample for GetFirewallPolicy", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetFirewallPolicy_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_firewall_policy_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.get_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.GetKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "GetKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.GetKeyRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Key", - "shortName": "get_key" - }, - "description": "Sample for GetKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetKey_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.get_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.GetKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "GetKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.GetKeyRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Key", - "shortName": "get_key" - }, - "description": "Sample for GetKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetKey_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_key_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.get_metrics", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.GetMetrics", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "GetMetrics" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.GetMetricsRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Metrics", - "shortName": "get_metrics" - }, - "description": "Sample for GetMetrics", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetMetrics_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.get_metrics", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.GetMetrics", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "GetMetrics" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.GetMetricsRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Metrics", - "shortName": "get_metrics" - }, - "description": "Sample for GetMetrics", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_GetMetrics_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_get_metrics_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.list_firewall_policies", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListFirewallPolicies", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListFirewallPolicies" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListFirewallPoliciesAsyncPager", - "shortName": "list_firewall_policies" - }, - "description": "Sample for ListFirewallPolicies", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListFirewallPolicies_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.list_firewall_policies", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListFirewallPolicies", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListFirewallPolicies" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListFirewallPoliciesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListFirewallPoliciesPager", - "shortName": "list_firewall_policies" - }, - "description": "Sample for ListFirewallPolicies", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListFirewallPolicies_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.list_ip_overrides", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListIpOverrides", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListIpOverrides" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListIpOverridesAsyncPager", - "shortName": "list_ip_overrides" - }, - "description": "Sample for ListIpOverrides", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListIpOverrides_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.list_ip_overrides", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListIpOverrides", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListIpOverrides" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListIpOverridesPager", - "shortName": "list_ip_overrides" - }, - "description": "Sample for ListIpOverrides", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListIpOverrides_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.list_keys", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListKeys", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListKeys" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListKeysRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListKeysAsyncPager", - "shortName": "list_keys" - }, - "description": "Sample for ListKeys", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListKeys_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.list_keys", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListKeys", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListKeys" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListKeysRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListKeysPager", - "shortName": "list_keys" - }, - "description": "Sample for ListKeys", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListKeys_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_keys_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.list_related_account_group_memberships", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListRelatedAccountGroupMemberships", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListRelatedAccountGroupMemberships" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListRelatedAccountGroupMembershipsAsyncPager", - "shortName": "list_related_account_group_memberships" - }, - "description": "Sample for ListRelatedAccountGroupMemberships", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroupMemberships_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.list_related_account_group_memberships", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListRelatedAccountGroupMemberships", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListRelatedAccountGroupMemberships" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupMembershipsRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListRelatedAccountGroupMembershipsPager", - "shortName": "list_related_account_group_memberships" - }, - "description": "Sample for ListRelatedAccountGroupMemberships", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroupMemberships_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_group_memberships_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.list_related_account_groups", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListRelatedAccountGroups", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListRelatedAccountGroups" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListRelatedAccountGroupsAsyncPager", - "shortName": "list_related_account_groups" - }, - "description": "Sample for ListRelatedAccountGroups", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroups_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.list_related_account_groups", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListRelatedAccountGroups", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ListRelatedAccountGroups" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ListRelatedAccountGroupsRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListRelatedAccountGroupsPager", - "shortName": "list_related_account_groups" - }, - "description": "Sample for ListRelatedAccountGroups", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListRelatedAccountGroups_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_related_account_groups_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.migrate_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.MigrateKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "MigrateKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.MigrateKeyRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Key", - "shortName": "migrate_key" - }, - "description": "Sample for MigrateKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_MigrateKey_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.migrate_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.MigrateKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "MigrateKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.MigrateKeyRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Key", - "shortName": "migrate_key" - }, - "description": "Sample for MigrateKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_MigrateKey_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.remove_ip_override", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.RemoveIpOverride", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "RemoveIpOverride" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "ip_override_data", - "type": "google.cloud.recaptchaenterprise_v1.types.IpOverrideData" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideResponse", - "shortName": "remove_ip_override" - }, - "description": "Sample for RemoveIpOverride", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RemoveIpOverride_async", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.remove_ip_override", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.RemoveIpOverride", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "RemoveIpOverride" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideRequest" - }, - { - "name": "name", - "type": "str" - }, - { - "name": "ip_override_data", - "type": "google.cloud.recaptchaenterprise_v1.types.IpOverrideData" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideResponse", - "shortName": "remove_ip_override" - }, - "description": "Sample for RemoveIpOverride", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RemoveIpOverride_sync", - "segments": [ - { - "end": 56, - "start": 27, - "type": "FULL" - }, - { - "end": 56, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 50, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 53, - "start": 51, - "type": "REQUEST_EXECUTION" - }, - { - "end": 57, - "start": 54, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.reorder_firewall_policies", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ReorderFirewallPolicies", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ReorderFirewallPolicies" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ReorderFirewallPoliciesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "names", - "type": "MutableSequence[str]" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.ReorderFirewallPoliciesResponse", - "shortName": "reorder_firewall_policies" - }, - "description": "Sample for ReorderFirewallPolicies", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ReorderFirewallPolicies_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 46, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 49, - "start": 47, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.reorder_firewall_policies", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ReorderFirewallPolicies", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "ReorderFirewallPolicies" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.ReorderFirewallPoliciesRequest" - }, - { - "name": "parent", - "type": "str" - }, - { - "name": "names", - "type": "MutableSequence[str]" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.ReorderFirewallPoliciesResponse", - "shortName": "reorder_firewall_policies" - }, - "description": "Sample for ReorderFirewallPolicies", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ReorderFirewallPolicies_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 46, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 49, - "start": 47, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 50, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_reorder_firewall_policies_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.retrieve_legacy_secret_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.RetrieveLegacySecretKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "RetrieveLegacySecretKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.RetrieveLegacySecretKeyRequest" - }, - { - "name": "key", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.RetrieveLegacySecretKeyResponse", - "shortName": "retrieve_legacy_secret_key" - }, - "description": "Sample for RetrieveLegacySecretKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RetrieveLegacySecretKey_async", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.retrieve_legacy_secret_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.RetrieveLegacySecretKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "RetrieveLegacySecretKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.RetrieveLegacySecretKeyRequest" - }, - { - "name": "key", - "type": "str" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.RetrieveLegacySecretKeyResponse", - "shortName": "retrieve_legacy_secret_key" - }, - "description": "Sample for RetrieveLegacySecretKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RetrieveLegacySecretKey_sync", - "segments": [ - { - "end": 51, - "start": 27, - "type": "FULL" - }, - { - "end": 51, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 52, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_retrieve_legacy_secret_key_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.search_related_account_group_memberships", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.SearchRelatedAccountGroupMemberships", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "SearchRelatedAccountGroupMemberships" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsRequest" - }, - { - "name": "project", - "type": "str" - }, - { - "name": "hashed_account_id", - "type": "bytes" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.SearchRelatedAccountGroupMembershipsAsyncPager", - "shortName": "search_related_account_group_memberships" - }, - "description": "Sample for SearchRelatedAccountGroupMemberships", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_SearchRelatedAccountGroupMemberships_async", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.search_related_account_group_memberships", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.SearchRelatedAccountGroupMemberships", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "SearchRelatedAccountGroupMemberships" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.SearchRelatedAccountGroupMembershipsRequest" - }, - { - "name": "project", - "type": "str" - }, - { - "name": "hashed_account_id", - "type": "bytes" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.SearchRelatedAccountGroupMembershipsPager", - "shortName": "search_related_account_group_memberships" - }, - "description": "Sample for SearchRelatedAccountGroupMemberships", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_SearchRelatedAccountGroupMemberships_sync", - "segments": [ - { - "end": 52, - "start": 27, - "type": "FULL" - }, - { - "end": 52, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 48, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 53, - "start": 49, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_search_related_account_group_memberships_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.update_firewall_policy", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.UpdateFirewallPolicy", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "UpdateFirewallPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.UpdateFirewallPolicyRequest" - }, - { - "name": "firewall_policy", - "type": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy" - }, - { - "name": "update_mask", - "type": "google.protobuf.field_mask_pb2.FieldMask" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy", - "shortName": "update_firewall_policy" - }, - "description": "Sample for UpdateFirewallPolicy", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateFirewallPolicy_async", - "segments": [ - { - "end": 50, - "start": 27, - "type": "FULL" - }, - { - "end": 50, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 44, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 47, - "start": 45, - "type": "REQUEST_EXECUTION" - }, - { - "end": 51, - "start": 48, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.update_firewall_policy", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.UpdateFirewallPolicy", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "UpdateFirewallPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.UpdateFirewallPolicyRequest" - }, - { - "name": "firewall_policy", - "type": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy" - }, - { - "name": "update_mask", - "type": "google.protobuf.field_mask_pb2.FieldMask" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.FirewallPolicy", - "shortName": "update_firewall_policy" - }, - "description": "Sample for UpdateFirewallPolicy", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateFirewallPolicy_sync", - "segments": [ - { - "end": 50, - "start": 27, - "type": "FULL" - }, - { - "end": 50, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 44, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 47, - "start": 45, - "type": "REQUEST_EXECUTION" - }, - { - "end": 51, - "start": 48, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_firewall_policy_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", - "shortName": "RecaptchaEnterpriseServiceAsyncClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.update_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.UpdateKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "UpdateKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.UpdateKeyRequest" - }, - { - "name": "key", - "type": "google.cloud.recaptchaenterprise_v1.types.Key" - }, - { - "name": "update_mask", - "type": "google.protobuf.field_mask_pb2.FieldMask" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Key", - "shortName": "update_key" - }, - "description": "Sample for UpdateKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateKey_async", - "segments": [ - { - "end": 55, - "start": 27, - "type": "FULL" - }, - { - "end": 55, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 49, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 52, - "start": 50, - "type": "REQUEST_EXECUTION" - }, - { - "end": 56, - "start": 53, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", - "shortName": "RecaptchaEnterpriseServiceClient" - }, - "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.update_key", - "method": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.UpdateKey", - "service": { - "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", - "shortName": "RecaptchaEnterpriseService" - }, - "shortName": "UpdateKey" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.recaptchaenterprise_v1.types.UpdateKeyRequest" - }, - { - "name": "key", - "type": "google.cloud.recaptchaenterprise_v1.types.Key" - }, - { - "name": "update_mask", - "type": "google.protobuf.field_mask_pb2.FieldMask" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.recaptchaenterprise_v1.types.Key", - "shortName": "update_key" - }, - "description": "Sample for UpdateKey", - "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_UpdateKey_sync", - "segments": [ - { - "end": 55, - "start": 27, - "type": "FULL" - }, - { - "end": 55, - "start": 27, - "type": "SHORT" - }, - { - "end": 40, - "start": 38, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 49, - "start": 41, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 52, - "start": 50, - "type": "REQUEST_EXECUTION" - }, - { - "end": 56, - "start": 53, - "type": "RESPONSE_HANDLING" - } - ], - "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_update_key_sync.py" - } - ] -} diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/scripts/fixup_recaptchaenterprise_v1_keywords.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/scripts/fixup_recaptchaenterprise_v1_keywords.py deleted file mode 100644 index f3a45648c28e..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/scripts/fixup_recaptchaenterprise_v1_keywords.py +++ /dev/null @@ -1,197 +0,0 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# 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. -# 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. -# -import argparse -import os -import libcst as cst -import pathlib -import sys -from typing import (Any, Callable, Dict, List, Sequence, Tuple) - - -def partition( - predicate: Callable[[Any], bool], - iterator: Sequence[Any] -) -> Tuple[List[Any], List[Any]]: - """A stable, out-of-place partition.""" - results = ([], []) - - for i in iterator: - results[int(predicate(i))].append(i) - - # Returns trueList, falseList - return results[1], results[0] - - -class recaptchaenterpriseCallTransformer(cst.CSTTransformer): - CTRL_PARAMS: Tuple[str] = ('retry', 'timeout', 'metadata') - METHOD_TO_PARAMS: Dict[str, Tuple[str]] = { - 'add_ip_override': ('name', 'ip_override_data', ), - 'annotate_assessment': ('name', 'annotation', 'reasons', 'account_id', 'hashed_account_id', 'transaction_event', ), - 'create_assessment': ('parent', 'assessment', ), - 'create_firewall_policy': ('parent', 'firewall_policy', ), - 'create_key': ('parent', 'key', ), - 'delete_firewall_policy': ('name', ), - 'delete_key': ('name', ), - 'get_firewall_policy': ('name', ), - 'get_key': ('name', ), - 'get_metrics': ('name', ), - 'list_firewall_policies': ('parent', 'page_size', 'page_token', ), - 'list_ip_overrides': ('parent', 'page_size', 'page_token', ), - 'list_keys': ('parent', 'page_size', 'page_token', ), - 'list_related_account_group_memberships': ('parent', 'page_size', 'page_token', ), - 'list_related_account_groups': ('parent', 'page_size', 'page_token', ), - 'migrate_key': ('name', 'skip_billing_check', ), - 'remove_ip_override': ('name', 'ip_override_data', ), - 'reorder_firewall_policies': ('parent', 'names', ), - 'retrieve_legacy_secret_key': ('key', ), - 'search_related_account_group_memberships': ('project', 'account_id', 'hashed_account_id', 'page_size', 'page_token', ), - 'update_firewall_policy': ('firewall_policy', 'update_mask', ), - 'update_key': ('key', 'update_mask', ), - } - - def leave_Call(self, original: cst.Call, updated: cst.Call) -> cst.CSTNode: - try: - key = original.func.attr.value - kword_params = self.METHOD_TO_PARAMS[key] - except (AttributeError, KeyError): - # Either not a method from the API or too convoluted to be sure. - return updated - - # If the existing code is valid, keyword args come after positional args. - # Therefore, all positional args must map to the first parameters. - args, kwargs = partition(lambda a: not bool(a.keyword), updated.args) - if any(k.keyword.value == "request" for k in kwargs): - # We've already fixed this file, don't fix it again. - return updated - - kwargs, ctrl_kwargs = partition( - lambda a: a.keyword.value not in self.CTRL_PARAMS, - kwargs - ) - - args, ctrl_args = args[:len(kword_params)], args[len(kword_params):] - ctrl_kwargs.extend(cst.Arg(value=a.value, keyword=cst.Name(value=ctrl)) - for a, ctrl in zip(ctrl_args, self.CTRL_PARAMS)) - - request_arg = cst.Arg( - value=cst.Dict([ - cst.DictElement( - cst.SimpleString("'{}'".format(name)), -cst.Element(value=arg.value) - ) - # Note: the args + kwargs looks silly, but keep in mind that - # the control parameters had to be stripped out, and that - # those could have been passed positionally or by keyword. - for name, arg in zip(kword_params, args + kwargs)]), - keyword=cst.Name("request") - ) - - return updated.with_changes( - args=[request_arg] + ctrl_kwargs - ) - - -def fix_files( - in_dir: pathlib.Path, - out_dir: pathlib.Path, - *, - transformer=recaptchaenterpriseCallTransformer(), -): - """Duplicate the input dir to the output dir, fixing file method calls. - - Preconditions: - * in_dir is a real directory - * out_dir is a real, empty directory - """ - pyfile_gen = ( - pathlib.Path(os.path.join(root, f)) - for root, _, files in os.walk(in_dir) - for f in files if os.path.splitext(f)[1] == ".py" - ) - - for fpath in pyfile_gen: - with open(fpath, 'r') as f: - src = f.read() - - # Parse the code and insert method call fixes. - tree = cst.parse_module(src) - updated = tree.visit(transformer) - - # Create the path and directory structure for the new file. - updated_path = out_dir.joinpath(fpath.relative_to(in_dir)) - updated_path.parent.mkdir(parents=True, exist_ok=True) - - # Generate the updated source file at the corresponding path. - with open(updated_path, 'w') as f: - f.write(updated.code) - - -if __name__ == '__main__': - parser = argparse.ArgumentParser( - description="""Fix up source that uses the recaptchaenterprise client library. - -The existing sources are NOT overwritten but are copied to output_dir with changes made. - -Note: This tool operates at a best-effort level at converting positional - parameters in client method calls to keyword based parameters. - Cases where it WILL FAIL include - A) * or ** expansion in a method call. - B) Calls via function or method alias (includes free function calls) - C) Indirect or dispatched calls (e.g. the method is looked up dynamically) - - These all constitute false negatives. The tool will also detect false - positives when an API method shares a name with another method. -""") - parser.add_argument( - '-d', - '--input-directory', - required=True, - dest='input_dir', - help='the input directory to walk for python files to fix up', - ) - parser.add_argument( - '-o', - '--output-directory', - required=True, - dest='output_dir', - help='the directory to output files fixed via un-flattening', - ) - args = parser.parse_args() - input_dir = pathlib.Path(args.input_dir) - output_dir = pathlib.Path(args.output_dir) - if not input_dir.is_dir(): - print( - f"input directory '{input_dir}' does not exist or is not a directory", - file=sys.stderr, - ) - sys.exit(-1) - - if not output_dir.is_dir(): - print( - f"output directory '{output_dir}' does not exist or is not a directory", - file=sys.stderr, - ) - sys.exit(-1) - - if os.listdir(output_dir): - print( - f"output directory '{output_dir}' is not empty", - file=sys.stderr, - ) - sys.exit(-1) - - fix_files(input_dir, output_dir) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/setup.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/setup.py deleted file mode 100644 index 775ede3c94f9..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/setup.py +++ /dev/null @@ -1,98 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -import io -import os -import re - -import setuptools # type: ignore - -package_root = os.path.abspath(os.path.dirname(__file__)) - -name = 'google-cloud-recaptcha-enterprise' - - -description = "Google Cloud Recaptcha Enterprise API client library" - -version = None - -with open(os.path.join(package_root, 'google/cloud/recaptchaenterprise/gapic_version.py')) as fp: - version_candidates = re.findall(r"(?<=\")\d+.\d+.\d+(?=\")", fp.read()) - assert (len(version_candidates) == 1) - version = version_candidates[0] - -if version[0] == "0": - release_status = "Development Status :: 4 - Beta" -else: - release_status = "Development Status :: 5 - Production/Stable" - -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.*", - # Exclude incompatible versions of `google-auth` - # See https://github.com/googleapis/google-cloud-python/issues/12364 - "google-auth >= 2.14.1, <3.0.0dev,!=2.24.0,!=2.25.0", - "proto-plus >= 1.22.3, <2.0.0dev", - "proto-plus >= 1.25.0, <2.0.0dev; python_version >= '3.13'", - "protobuf>=3.20.2,<6.0.0dev,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", -] -extras = { -} -url = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-recaptcha-enterprise" - -package_root = os.path.abspath(os.path.dirname(__file__)) - -readme_filename = os.path.join(package_root, "README.rst") -with io.open(readme_filename, encoding="utf-8") as readme_file: - readme = readme_file.read() - -packages = [ - package - for package in setuptools.find_namespace_packages() - if package.startswith("google") -] - -setuptools.setup( - name=name, - version=version, - description=description, - long_description=readme, - author="Google LLC", - author_email="googleapis-packages@google.com", - license="Apache 2.0", - url=url, - classifiers=[ - release_status, - "Intended Audience :: Developers", - "License :: OSI Approved :: Apache Software License", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Operating System :: OS Independent", - "Topic :: Internet", - ], - platforms="Posix; MacOS X; Windows", - packages=packages, - python_requires=">=3.7", - install_requires=dependencies, - extras_require=extras, - include_package_data=True, - zip_safe=False, -) diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.10.txt b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.10.txt deleted file mode 100644 index ed7f9aed2559..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.10.txt +++ /dev/null @@ -1,6 +0,0 @@ -# -*- coding: utf-8 -*- -# This constraints file is required for unit tests. -# List all library dependencies and extras in this file. -google-api-core -proto-plus -protobuf diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.11.txt b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.11.txt deleted file mode 100644 index ed7f9aed2559..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.11.txt +++ /dev/null @@ -1,6 +0,0 @@ -# -*- coding: utf-8 -*- -# This constraints file is required for unit tests. -# List all library dependencies and extras in this file. -google-api-core -proto-plus -protobuf diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.12.txt b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.12.txt deleted file mode 100644 index ed7f9aed2559..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.12.txt +++ /dev/null @@ -1,6 +0,0 @@ -# -*- coding: utf-8 -*- -# This constraints file is required for unit tests. -# List all library dependencies and extras in this file. -google-api-core -proto-plus -protobuf diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.13.txt b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.13.txt deleted file mode 100644 index ed7f9aed2559..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.13.txt +++ /dev/null @@ -1,6 +0,0 @@ -# -*- coding: utf-8 -*- -# This constraints file is required for unit tests. -# List all library dependencies and extras in this file. -google-api-core -proto-plus -protobuf diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.7.txt b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.7.txt deleted file mode 100644 index fc812592b0ee..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.7.txt +++ /dev/null @@ -1,10 +0,0 @@ -# This constraints file is used to check that lower bounds -# are correct in setup.py -# List all library dependencies and extras in this file. -# Pin the version to the lower bound. -# e.g., if setup.py has "google-cloud-foo >= 1.14.0, < 2.0.0dev", -# Then this file should have google-cloud-foo==1.14.0 -google-api-core==1.34.1 -google-auth==2.14.1 -proto-plus==1.22.3 -protobuf==3.20.2 diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.8.txt b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.8.txt deleted file mode 100644 index ed7f9aed2559..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.8.txt +++ /dev/null @@ -1,6 +0,0 @@ -# -*- coding: utf-8 -*- -# This constraints file is required for unit tests. -# List all library dependencies and extras in this file. -google-api-core -proto-plus -protobuf diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.9.txt b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.9.txt deleted file mode 100644 index ed7f9aed2559..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/testing/constraints-3.9.txt +++ /dev/null @@ -1,6 +0,0 @@ -# -*- coding: utf-8 -*- -# This constraints file is required for unit tests. -# List all library dependencies and extras in this file. -google-api-core -proto-plus -protobuf diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/__init__.py deleted file mode 100644 index 7b3de3117f38..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ - -# -*- coding: utf-8 -*- -# 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. -# 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. -# diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/__init__.py deleted file mode 100644 index 7b3de3117f38..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ - -# -*- coding: utf-8 -*- -# 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. -# 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. -# diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/gapic/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/gapic/__init__.py deleted file mode 100644 index 7b3de3117f38..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/gapic/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ - -# -*- coding: utf-8 -*- -# 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. -# 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. -# diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/gapic/recaptchaenterprise_v1/__init__.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/gapic/recaptchaenterprise_v1/__init__.py deleted file mode 100644 index 7b3de3117f38..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/gapic/recaptchaenterprise_v1/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ - -# -*- coding: utf-8 -*- -# 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. -# 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. -# diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/gapic/recaptchaenterprise_v1/test_recaptcha_enterprise_service.py b/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/gapic/recaptchaenterprise_v1/test_recaptcha_enterprise_service.py deleted file mode 100644 index 997cafb7edf9..000000000000 --- a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/tests/unit/gapic/recaptchaenterprise_v1/test_recaptcha_enterprise_service.py +++ /dev/null @@ -1,10668 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# 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. -# -import os -# try/except added for compatibility with python < 3.8 -try: - from unittest import mock - from unittest.mock import AsyncMock # pragma: NO COVER -except ImportError: # pragma: NO COVER - import mock - -import grpc -from grpc.experimental import aio -import math -import pytest -from google.api_core import api_core_version -from proto.marshal.rules.dates import DurationRule, TimestampRule -from proto.marshal.rules import wrappers - -try: - from google.auth.aio import credentials as ga_credentials_async - HAS_GOOGLE_AUTH_AIO = True -except ImportError: # pragma: NO COVER - HAS_GOOGLE_AUTH_AIO = False - -from google.api_core import client_options -from google.api_core import exceptions as core_exceptions -from google.api_core import gapic_v1 -from google.api_core import grpc_helpers -from google.api_core import grpc_helpers_async -from google.api_core import path_template -from google.api_core import retry as retries -from google.auth import credentials as ga_credentials -from google.auth.exceptions import MutualTLSChannelError -from google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service import RecaptchaEnterpriseServiceAsyncClient -from google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service import RecaptchaEnterpriseServiceClient -from google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service import pagers -from google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service import transports -from google.cloud.recaptchaenterprise_v1.types import recaptchaenterprise -from google.oauth2 import service_account -from google.protobuf import any_pb2 # type: ignore -from google.protobuf import field_mask_pb2 # type: ignore -from google.protobuf import timestamp_pb2 # type: ignore -from google.rpc import status_pb2 # type: ignore -import google.auth - - -async def mock_async_gen(data, chunk_size=1): - for i in range(0, len(data)): # pragma: NO COVER - chunk = data[i : i + chunk_size] - yield chunk.encode("utf-8") - -def client_cert_source_callback(): - return b"cert bytes", b"key bytes" - -# TODO: use async auth anon credentials by default once the minimum version of google-auth is upgraded. -# See related issue: https://github.com/googleapis/gapic-generator-python/issues/2107. -def async_anonymous_credentials(): - if HAS_GOOGLE_AUTH_AIO: - return ga_credentials_async.AnonymousCredentials() - return ga_credentials.AnonymousCredentials() - -# If default endpoint is localhost, then default mtls endpoint will be the same. -# This method modifies the default endpoint so the client can produce a different -# mtls endpoint for endpoint testing purposes. -def modify_default_endpoint(client): - return "foo.googleapis.com" if ("localhost" in client.DEFAULT_ENDPOINT) else client.DEFAULT_ENDPOINT - -# If default endpoint template is localhost, then default mtls endpoint will be the same. -# This method modifies the default endpoint template so the client can produce a different -# mtls endpoint for endpoint testing purposes. -def modify_default_endpoint_template(client): - return "test.{UNIVERSE_DOMAIN}" if ("localhost" in client._DEFAULT_ENDPOINT_TEMPLATE) else client._DEFAULT_ENDPOINT_TEMPLATE - - -def test__get_default_mtls_endpoint(): - api_endpoint = "example.googleapis.com" - api_mtls_endpoint = "example.mtls.googleapis.com" - sandbox_endpoint = "example.sandbox.googleapis.com" - sandbox_mtls_endpoint = "example.mtls.sandbox.googleapis.com" - non_googleapi = "api.example.com" - - assert RecaptchaEnterpriseServiceClient._get_default_mtls_endpoint(None) is None - assert RecaptchaEnterpriseServiceClient._get_default_mtls_endpoint(api_endpoint) == api_mtls_endpoint - assert RecaptchaEnterpriseServiceClient._get_default_mtls_endpoint(api_mtls_endpoint) == api_mtls_endpoint - assert RecaptchaEnterpriseServiceClient._get_default_mtls_endpoint(sandbox_endpoint) == sandbox_mtls_endpoint - assert RecaptchaEnterpriseServiceClient._get_default_mtls_endpoint(sandbox_mtls_endpoint) == sandbox_mtls_endpoint - assert RecaptchaEnterpriseServiceClient._get_default_mtls_endpoint(non_googleapi) == non_googleapi - -def test__read_environment_variables(): - assert RecaptchaEnterpriseServiceClient._read_environment_variables() == (False, "auto", None) - - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "true"}): - assert RecaptchaEnterpriseServiceClient._read_environment_variables() == (True, "auto", None) - - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "false"}): - assert RecaptchaEnterpriseServiceClient._read_environment_variables() == (False, "auto", None) - - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "Unsupported"}): - with pytest.raises(ValueError) as excinfo: - RecaptchaEnterpriseServiceClient._read_environment_variables() - assert str(excinfo.value) == "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" - - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): - assert RecaptchaEnterpriseServiceClient._read_environment_variables() == (False, "never", None) - - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}): - assert RecaptchaEnterpriseServiceClient._read_environment_variables() == (False, "always", None) - - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "auto"}): - assert RecaptchaEnterpriseServiceClient._read_environment_variables() == (False, "auto", None) - - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "Unsupported"}): - with pytest.raises(MutualTLSChannelError) as excinfo: - RecaptchaEnterpriseServiceClient._read_environment_variables() - assert str(excinfo.value) == "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`" - - with mock.patch.dict(os.environ, {"GOOGLE_CLOUD_UNIVERSE_DOMAIN": "foo.com"}): - assert RecaptchaEnterpriseServiceClient._read_environment_variables() == (False, "auto", "foo.com") - -def test__get_client_cert_source(): - mock_provided_cert_source = mock.Mock() - mock_default_cert_source = mock.Mock() - - assert RecaptchaEnterpriseServiceClient._get_client_cert_source(None, False) is None - assert RecaptchaEnterpriseServiceClient._get_client_cert_source(mock_provided_cert_source, False) is None - assert RecaptchaEnterpriseServiceClient._get_client_cert_source(mock_provided_cert_source, True) == mock_provided_cert_source - - with mock.patch('google.auth.transport.mtls.has_default_client_cert_source', return_value=True): - with mock.patch('google.auth.transport.mtls.default_client_cert_source', return_value=mock_default_cert_source): - assert RecaptchaEnterpriseServiceClient._get_client_cert_source(None, True) is mock_default_cert_source - assert RecaptchaEnterpriseServiceClient._get_client_cert_source(mock_provided_cert_source, "true") is mock_provided_cert_source - -@mock.patch.object(RecaptchaEnterpriseServiceClient, "_DEFAULT_ENDPOINT_TEMPLATE", modify_default_endpoint_template(RecaptchaEnterpriseServiceClient)) -@mock.patch.object(RecaptchaEnterpriseServiceAsyncClient, "_DEFAULT_ENDPOINT_TEMPLATE", modify_default_endpoint_template(RecaptchaEnterpriseServiceAsyncClient)) -def test__get_api_endpoint(): - api_override = "foo.com" - mock_client_cert_source = mock.Mock() - default_universe = RecaptchaEnterpriseServiceClient._DEFAULT_UNIVERSE - default_endpoint = RecaptchaEnterpriseServiceClient._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=default_universe) - mock_universe = "bar.com" - mock_endpoint = RecaptchaEnterpriseServiceClient._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=mock_universe) - - assert RecaptchaEnterpriseServiceClient._get_api_endpoint(api_override, mock_client_cert_source, default_universe, "always") == api_override - assert RecaptchaEnterpriseServiceClient._get_api_endpoint(None, mock_client_cert_source, default_universe, "auto") == RecaptchaEnterpriseServiceClient.DEFAULT_MTLS_ENDPOINT - assert RecaptchaEnterpriseServiceClient._get_api_endpoint(None, None, default_universe, "auto") == default_endpoint - assert RecaptchaEnterpriseServiceClient._get_api_endpoint(None, None, default_universe, "always") == RecaptchaEnterpriseServiceClient.DEFAULT_MTLS_ENDPOINT - assert RecaptchaEnterpriseServiceClient._get_api_endpoint(None, mock_client_cert_source, default_universe, "always") == RecaptchaEnterpriseServiceClient.DEFAULT_MTLS_ENDPOINT - assert RecaptchaEnterpriseServiceClient._get_api_endpoint(None, None, mock_universe, "never") == mock_endpoint - assert RecaptchaEnterpriseServiceClient._get_api_endpoint(None, None, default_universe, "never") == default_endpoint - - with pytest.raises(MutualTLSChannelError) as excinfo: - RecaptchaEnterpriseServiceClient._get_api_endpoint(None, mock_client_cert_source, mock_universe, "auto") - assert str(excinfo.value) == "mTLS is not supported in any universe other than googleapis.com." - - -def test__get_universe_domain(): - client_universe_domain = "foo.com" - universe_domain_env = "bar.com" - - assert RecaptchaEnterpriseServiceClient._get_universe_domain(client_universe_domain, universe_domain_env) == client_universe_domain - assert RecaptchaEnterpriseServiceClient._get_universe_domain(None, universe_domain_env) == universe_domain_env - assert RecaptchaEnterpriseServiceClient._get_universe_domain(None, None) == RecaptchaEnterpriseServiceClient._DEFAULT_UNIVERSE - - with pytest.raises(ValueError) as excinfo: - RecaptchaEnterpriseServiceClient._get_universe_domain("", None) - assert str(excinfo.value) == "Universe Domain cannot be an empty string." - -@pytest.mark.parametrize("client_class,transport_class,transport_name", [ - (RecaptchaEnterpriseServiceClient, transports.RecaptchaEnterpriseServiceGrpcTransport, "grpc"), -]) -def test__validate_universe_domain(client_class, transport_class, transport_name): - client = client_class( - transport=transport_class( - credentials=ga_credentials.AnonymousCredentials() - ) - ) - assert client._validate_universe_domain() == True - - # Test the case when universe is already validated. - assert client._validate_universe_domain() == True - - if transport_name == "grpc": - # Test the case where credentials are provided by the - # `local_channel_credentials`. The default universes in both match. - channel = grpc.secure_channel('http://localhost/', grpc.local_channel_credentials()) - client = client_class(transport=transport_class(channel=channel)) - assert client._validate_universe_domain() == True - - # Test the case where credentials do not exist: e.g. a transport is provided - # with no credentials. Validation should still succeed because there is no - # mismatch with non-existent credentials. - channel = grpc.secure_channel('http://localhost/', grpc.local_channel_credentials()) - transport=transport_class(channel=channel) - transport._credentials = None - client = client_class(transport=transport) - assert client._validate_universe_domain() == True - - # TODO: This is needed to cater for older versions of google-auth - # Make this test unconditional once the minimum supported version of - # google-auth becomes 2.23.0 or higher. - google_auth_major, google_auth_minor = [int(part) for part in google.auth.__version__.split(".")[0:2]] - if google_auth_major > 2 or (google_auth_major == 2 and google_auth_minor >= 23): - credentials = ga_credentials.AnonymousCredentials() - credentials._universe_domain = "foo.com" - # Test the case when there is a universe mismatch from the credentials. - client = client_class( - transport=transport_class(credentials=credentials) - ) - with pytest.raises(ValueError) as excinfo: - client._validate_universe_domain() - assert str(excinfo.value) == "The configured universe domain (googleapis.com) does not match the universe domain found in the credentials (foo.com). If you haven't configured the universe domain explicitly, `googleapis.com` is the default." - - # Test the case when there is a universe mismatch from the client. - # - # TODO: Make this test unconditional once the minimum supported version of - # google-api-core becomes 2.15.0 or higher. - api_core_major, api_core_minor = [int(part) for part in api_core_version.__version__.split(".")[0:2]] - if api_core_major > 2 or (api_core_major == 2 and api_core_minor >= 15): - client = client_class(client_options={"universe_domain": "bar.com"}, transport=transport_class(credentials=ga_credentials.AnonymousCredentials(),)) - with pytest.raises(ValueError) as excinfo: - client._validate_universe_domain() - assert str(excinfo.value) == "The configured universe domain (bar.com) does not match the universe domain found in the credentials (googleapis.com). If you haven't configured the universe domain explicitly, `googleapis.com` is the default." - - # Test that ValueError is raised if universe_domain is provided via client options and credentials is None - with pytest.raises(ValueError): - client._compare_universes("foo.bar", None) - - -@pytest.mark.parametrize("client_class,transport_name", [ - (RecaptchaEnterpriseServiceClient, "grpc"), - (RecaptchaEnterpriseServiceAsyncClient, "grpc_asyncio"), -]) -def test_recaptcha_enterprise_service_client_from_service_account_info(client_class, transport_name): - creds = ga_credentials.AnonymousCredentials() - with mock.patch.object(service_account.Credentials, 'from_service_account_info') as factory: - factory.return_value = creds - info = {"valid": True} - client = client_class.from_service_account_info(info, transport=transport_name) - assert client.transport._credentials == creds - assert isinstance(client, client_class) - - assert client.transport._host == ( - 'recaptchaenterprise.googleapis.com:443' - ) - - -@pytest.mark.parametrize("transport_class,transport_name", [ - (transports.RecaptchaEnterpriseServiceGrpcTransport, "grpc"), - (transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, "grpc_asyncio"), -]) -def test_recaptcha_enterprise_service_client_service_account_always_use_jwt(transport_class, transport_name): - with mock.patch.object(service_account.Credentials, 'with_always_use_jwt_access', create=True) as use_jwt: - creds = service_account.Credentials(None, None, None) - transport = transport_class(credentials=creds, always_use_jwt_access=True) - use_jwt.assert_called_once_with(True) - - with mock.patch.object(service_account.Credentials, 'with_always_use_jwt_access', create=True) as use_jwt: - creds = service_account.Credentials(None, None, None) - transport = transport_class(credentials=creds, always_use_jwt_access=False) - use_jwt.assert_not_called() - - -@pytest.mark.parametrize("client_class,transport_name", [ - (RecaptchaEnterpriseServiceClient, "grpc"), - (RecaptchaEnterpriseServiceAsyncClient, "grpc_asyncio"), -]) -def test_recaptcha_enterprise_service_client_from_service_account_file(client_class, transport_name): - creds = ga_credentials.AnonymousCredentials() - with mock.patch.object(service_account.Credentials, 'from_service_account_file') as factory: - factory.return_value = creds - client = client_class.from_service_account_file("dummy/file/path.json", transport=transport_name) - assert client.transport._credentials == creds - assert isinstance(client, client_class) - - client = client_class.from_service_account_json("dummy/file/path.json", transport=transport_name) - assert client.transport._credentials == creds - assert isinstance(client, client_class) - - assert client.transport._host == ( - 'recaptchaenterprise.googleapis.com:443' - ) - - -def test_recaptcha_enterprise_service_client_get_transport_class(): - transport = RecaptchaEnterpriseServiceClient.get_transport_class() - available_transports = [ - transports.RecaptchaEnterpriseServiceGrpcTransport, - ] - assert transport in available_transports - - transport = RecaptchaEnterpriseServiceClient.get_transport_class("grpc") - assert transport == transports.RecaptchaEnterpriseServiceGrpcTransport - - -@pytest.mark.parametrize("client_class,transport_class,transport_name", [ - (RecaptchaEnterpriseServiceClient, transports.RecaptchaEnterpriseServiceGrpcTransport, "grpc"), - (RecaptchaEnterpriseServiceAsyncClient, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, "grpc_asyncio"), -]) -@mock.patch.object(RecaptchaEnterpriseServiceClient, "_DEFAULT_ENDPOINT_TEMPLATE", modify_default_endpoint_template(RecaptchaEnterpriseServiceClient)) -@mock.patch.object(RecaptchaEnterpriseServiceAsyncClient, "_DEFAULT_ENDPOINT_TEMPLATE", modify_default_endpoint_template(RecaptchaEnterpriseServiceAsyncClient)) -def test_recaptcha_enterprise_service_client_client_options(client_class, transport_class, transport_name): - # Check that if channel is provided we won't create a new one. - with mock.patch.object(RecaptchaEnterpriseServiceClient, 'get_transport_class') as gtc: - transport = transport_class( - credentials=ga_credentials.AnonymousCredentials() - ) - client = client_class(transport=transport) - gtc.assert_not_called() - - # Check that if channel is provided via str we will create a new one. - with mock.patch.object(RecaptchaEnterpriseServiceClient, 'get_transport_class') as gtc: - client = client_class(transport=transport_name) - gtc.assert_called() - - # Check the case api_endpoint is provided. - options = client_options.ClientOptions(api_endpoint="squid.clam.whelk") - with mock.patch.object(transport_class, '__init__') as patched: - patched.return_value = None - client = client_class(transport=transport_name, client_options=options) - patched.assert_called_once_with( - credentials=None, - credentials_file=None, - host="squid.clam.whelk", - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - - # Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT is - # "never". - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): - with mock.patch.object(transport_class, '__init__') as patched: - patched.return_value = None - client = client_class(transport=transport_name) - patched.assert_called_once_with( - credentials=None, - credentials_file=None, - host=client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE), - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - - # Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT is - # "always". - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}): - with mock.patch.object(transport_class, '__init__') as patched: - patched.return_value = None - client = client_class(transport=transport_name) - patched.assert_called_once_with( - credentials=None, - credentials_file=None, - host=client.DEFAULT_MTLS_ENDPOINT, - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - - # Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT has - # unsupported value. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "Unsupported"}): - with pytest.raises(MutualTLSChannelError) as excinfo: - client = client_class(transport=transport_name) - assert str(excinfo.value) == "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`" - - # Check the case GOOGLE_API_USE_CLIENT_CERTIFICATE has unsupported value. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "Unsupported"}): - with pytest.raises(ValueError) as excinfo: - client = client_class(transport=transport_name) - assert str(excinfo.value) == "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" - - # Check the case quota_project_id is provided - options = client_options.ClientOptions(quota_project_id="octopus") - with mock.patch.object(transport_class, '__init__') as patched: - patched.return_value = None - client = client_class(client_options=options, transport=transport_name) - patched.assert_called_once_with( - credentials=None, - credentials_file=None, - host=client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE), - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id="octopus", - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - # Check the case api_endpoint is provided - options = client_options.ClientOptions(api_audience="https://language.googleapis.com") - with mock.patch.object(transport_class, '__init__') as patched: - patched.return_value = None - client = client_class(client_options=options, transport=transport_name) - patched.assert_called_once_with( - credentials=None, - credentials_file=None, - host=client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE), - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience="https://language.googleapis.com" - ) - -@pytest.mark.parametrize("client_class,transport_class,transport_name,use_client_cert_env", [ - (RecaptchaEnterpriseServiceClient, transports.RecaptchaEnterpriseServiceGrpcTransport, "grpc", "true"), - (RecaptchaEnterpriseServiceAsyncClient, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, "grpc_asyncio", "true"), - (RecaptchaEnterpriseServiceClient, transports.RecaptchaEnterpriseServiceGrpcTransport, "grpc", "false"), - (RecaptchaEnterpriseServiceAsyncClient, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, "grpc_asyncio", "false"), -]) -@mock.patch.object(RecaptchaEnterpriseServiceClient, "_DEFAULT_ENDPOINT_TEMPLATE", modify_default_endpoint_template(RecaptchaEnterpriseServiceClient)) -@mock.patch.object(RecaptchaEnterpriseServiceAsyncClient, "_DEFAULT_ENDPOINT_TEMPLATE", modify_default_endpoint_template(RecaptchaEnterpriseServiceAsyncClient)) -@mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "auto"}) -def test_recaptcha_enterprise_service_client_mtls_env_auto(client_class, transport_class, transport_name, use_client_cert_env): - # This tests the endpoint autoswitch behavior. Endpoint is autoswitched to the default - # mtls endpoint, if GOOGLE_API_USE_CLIENT_CERTIFICATE is "true" and client cert exists. - - # Check the case client_cert_source is provided. Whether client cert is used depends on - # GOOGLE_API_USE_CLIENT_CERTIFICATE value. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": use_client_cert_env}): - options = client_options.ClientOptions(client_cert_source=client_cert_source_callback) - with mock.patch.object(transport_class, '__init__') as patched: - patched.return_value = None - client = client_class(client_options=options, transport=transport_name) - - if use_client_cert_env == "false": - expected_client_cert_source = None - expected_host = client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE) - else: - expected_client_cert_source = client_cert_source_callback - expected_host = client.DEFAULT_MTLS_ENDPOINT - - patched.assert_called_once_with( - credentials=None, - credentials_file=None, - host=expected_host, - scopes=None, - client_cert_source_for_mtls=expected_client_cert_source, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - - # Check the case ADC client cert is provided. Whether client cert is used depends on - # GOOGLE_API_USE_CLIENT_CERTIFICATE value. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": use_client_cert_env}): - with mock.patch.object(transport_class, '__init__') as patched: - with mock.patch('google.auth.transport.mtls.has_default_client_cert_source', return_value=True): - with mock.patch('google.auth.transport.mtls.default_client_cert_source', return_value=client_cert_source_callback): - if use_client_cert_env == "false": - expected_host = client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE) - expected_client_cert_source = None - else: - expected_host = client.DEFAULT_MTLS_ENDPOINT - expected_client_cert_source = client_cert_source_callback - - patched.return_value = None - client = client_class(transport=transport_name) - patched.assert_called_once_with( - credentials=None, - credentials_file=None, - host=expected_host, - scopes=None, - client_cert_source_for_mtls=expected_client_cert_source, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - - # Check the case client_cert_source and ADC client cert are not provided. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": use_client_cert_env}): - with mock.patch.object(transport_class, '__init__') as patched: - with mock.patch("google.auth.transport.mtls.has_default_client_cert_source", return_value=False): - patched.return_value = None - client = client_class(transport=transport_name) - patched.assert_called_once_with( - credentials=None, - credentials_file=None, - host=client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE), - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - - -@pytest.mark.parametrize("client_class", [ - RecaptchaEnterpriseServiceClient, RecaptchaEnterpriseServiceAsyncClient -]) -@mock.patch.object(RecaptchaEnterpriseServiceClient, "DEFAULT_ENDPOINT", modify_default_endpoint(RecaptchaEnterpriseServiceClient)) -@mock.patch.object(RecaptchaEnterpriseServiceAsyncClient, "DEFAULT_ENDPOINT", modify_default_endpoint(RecaptchaEnterpriseServiceAsyncClient)) -def test_recaptcha_enterprise_service_client_get_mtls_endpoint_and_cert_source(client_class): - mock_client_cert_source = mock.Mock() - - # Test the case GOOGLE_API_USE_CLIENT_CERTIFICATE is "true". - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "true"}): - mock_api_endpoint = "foo" - options = client_options.ClientOptions(client_cert_source=mock_client_cert_source, api_endpoint=mock_api_endpoint) - api_endpoint, cert_source = client_class.get_mtls_endpoint_and_cert_source(options) - assert api_endpoint == mock_api_endpoint - assert cert_source == mock_client_cert_source - - # Test the case GOOGLE_API_USE_CLIENT_CERTIFICATE is "false". - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "false"}): - mock_client_cert_source = mock.Mock() - mock_api_endpoint = "foo" - options = client_options.ClientOptions(client_cert_source=mock_client_cert_source, api_endpoint=mock_api_endpoint) - api_endpoint, cert_source = client_class.get_mtls_endpoint_and_cert_source(options) - assert api_endpoint == mock_api_endpoint - assert cert_source is None - - # Test the case GOOGLE_API_USE_MTLS_ENDPOINT is "never". - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): - api_endpoint, cert_source = client_class.get_mtls_endpoint_and_cert_source() - assert api_endpoint == client_class.DEFAULT_ENDPOINT - assert cert_source is None - - # Test the case GOOGLE_API_USE_MTLS_ENDPOINT is "always". - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}): - api_endpoint, cert_source = client_class.get_mtls_endpoint_and_cert_source() - assert api_endpoint == client_class.DEFAULT_MTLS_ENDPOINT - assert cert_source is None - - # Test the case GOOGLE_API_USE_MTLS_ENDPOINT is "auto" and default cert doesn't exist. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "true"}): - with mock.patch('google.auth.transport.mtls.has_default_client_cert_source', return_value=False): - api_endpoint, cert_source = client_class.get_mtls_endpoint_and_cert_source() - assert api_endpoint == client_class.DEFAULT_ENDPOINT - assert cert_source is None - - # Test the case GOOGLE_API_USE_MTLS_ENDPOINT is "auto" and default cert exists. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "true"}): - with mock.patch('google.auth.transport.mtls.has_default_client_cert_source', return_value=True): - with mock.patch('google.auth.transport.mtls.default_client_cert_source', return_value=mock_client_cert_source): - api_endpoint, cert_source = client_class.get_mtls_endpoint_and_cert_source() - assert api_endpoint == client_class.DEFAULT_MTLS_ENDPOINT - assert cert_source == mock_client_cert_source - - # Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT has - # unsupported value. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "Unsupported"}): - with pytest.raises(MutualTLSChannelError) as excinfo: - client_class.get_mtls_endpoint_and_cert_source() - - assert str(excinfo.value) == "Environment variable `GOOGLE_API_USE_MTLS_ENDPOINT` must be `never`, `auto` or `always`" - - # Check the case GOOGLE_API_USE_CLIENT_CERTIFICATE has unsupported value. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "Unsupported"}): - with pytest.raises(ValueError) as excinfo: - client_class.get_mtls_endpoint_and_cert_source() - - assert str(excinfo.value) == "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" - -@pytest.mark.parametrize("client_class", [ - RecaptchaEnterpriseServiceClient, RecaptchaEnterpriseServiceAsyncClient -]) -@mock.patch.object(RecaptchaEnterpriseServiceClient, "_DEFAULT_ENDPOINT_TEMPLATE", modify_default_endpoint_template(RecaptchaEnterpriseServiceClient)) -@mock.patch.object(RecaptchaEnterpriseServiceAsyncClient, "_DEFAULT_ENDPOINT_TEMPLATE", modify_default_endpoint_template(RecaptchaEnterpriseServiceAsyncClient)) -def test_recaptcha_enterprise_service_client_client_api_endpoint(client_class): - mock_client_cert_source = client_cert_source_callback - api_override = "foo.com" - default_universe = RecaptchaEnterpriseServiceClient._DEFAULT_UNIVERSE - default_endpoint = RecaptchaEnterpriseServiceClient._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=default_universe) - mock_universe = "bar.com" - mock_endpoint = RecaptchaEnterpriseServiceClient._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=mock_universe) - - # If ClientOptions.api_endpoint is set and GOOGLE_API_USE_CLIENT_CERTIFICATE="true", - # use ClientOptions.api_endpoint as the api endpoint regardless. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_CLIENT_CERTIFICATE": "true"}): - with mock.patch("google.auth.transport.requests.AuthorizedSession.configure_mtls_channel"): - options = client_options.ClientOptions(client_cert_source=mock_client_cert_source, api_endpoint=api_override) - client = client_class(client_options=options, credentials=ga_credentials.AnonymousCredentials()) - assert client.api_endpoint == api_override - - # If ClientOptions.api_endpoint is not set and GOOGLE_API_USE_MTLS_ENDPOINT="never", - # use the _DEFAULT_ENDPOINT_TEMPLATE populated with GDU as the api endpoint. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): - client = client_class(credentials=ga_credentials.AnonymousCredentials()) - assert client.api_endpoint == default_endpoint - - # If ClientOptions.api_endpoint is not set and GOOGLE_API_USE_MTLS_ENDPOINT="always", - # use the DEFAULT_MTLS_ENDPOINT as the api endpoint. - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}): - client = client_class(credentials=ga_credentials.AnonymousCredentials()) - assert client.api_endpoint == client_class.DEFAULT_MTLS_ENDPOINT - - # If ClientOptions.api_endpoint is not set, GOOGLE_API_USE_MTLS_ENDPOINT="auto" (default), - # GOOGLE_API_USE_CLIENT_CERTIFICATE="false" (default), default cert source doesn't exist, - # and ClientOptions.universe_domain="bar.com", - # use the _DEFAULT_ENDPOINT_TEMPLATE populated with universe domain as the api endpoint. - options = client_options.ClientOptions() - universe_exists = hasattr(options, "universe_domain") - if universe_exists: - options = client_options.ClientOptions(universe_domain=mock_universe) - client = client_class(client_options=options, credentials=ga_credentials.AnonymousCredentials()) - else: - client = client_class(client_options=options, credentials=ga_credentials.AnonymousCredentials()) - assert client.api_endpoint == (mock_endpoint if universe_exists else default_endpoint) - assert client.universe_domain == (mock_universe if universe_exists else default_universe) - - # If ClientOptions does not have a universe domain attribute and GOOGLE_API_USE_MTLS_ENDPOINT="never", - # use the _DEFAULT_ENDPOINT_TEMPLATE populated with GDU as the api endpoint. - options = client_options.ClientOptions() - if hasattr(options, "universe_domain"): - delattr(options, "universe_domain") - with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): - client = client_class(client_options=options, credentials=ga_credentials.AnonymousCredentials()) - assert client.api_endpoint == default_endpoint - - -@pytest.mark.parametrize("client_class,transport_class,transport_name", [ - (RecaptchaEnterpriseServiceClient, transports.RecaptchaEnterpriseServiceGrpcTransport, "grpc"), - (RecaptchaEnterpriseServiceAsyncClient, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, "grpc_asyncio"), -]) -def test_recaptcha_enterprise_service_client_client_options_scopes(client_class, transport_class, transport_name): - # Check the case scopes are provided. - options = client_options.ClientOptions( - scopes=["1", "2"], - ) - with mock.patch.object(transport_class, '__init__') as patched: - patched.return_value = None - client = client_class(client_options=options, transport=transport_name) - patched.assert_called_once_with( - credentials=None, - credentials_file=None, - host=client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE), - scopes=["1", "2"], - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - -@pytest.mark.parametrize("client_class,transport_class,transport_name,grpc_helpers", [ - (RecaptchaEnterpriseServiceClient, transports.RecaptchaEnterpriseServiceGrpcTransport, "grpc", grpc_helpers), - (RecaptchaEnterpriseServiceAsyncClient, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, "grpc_asyncio", grpc_helpers_async), -]) -def test_recaptcha_enterprise_service_client_client_options_credentials_file(client_class, transport_class, transport_name, grpc_helpers): - # Check the case credentials file is provided. - options = client_options.ClientOptions( - credentials_file="credentials.json" - ) - - with mock.patch.object(transport_class, '__init__') as patched: - patched.return_value = None - client = client_class(client_options=options, transport=transport_name) - patched.assert_called_once_with( - credentials=None, - credentials_file="credentials.json", - host=client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE), - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - -def test_recaptcha_enterprise_service_client_client_options_from_dict(): - with mock.patch('google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.transports.RecaptchaEnterpriseServiceGrpcTransport.__init__') as grpc_transport: - grpc_transport.return_value = None - client = RecaptchaEnterpriseServiceClient( - client_options={'api_endpoint': 'squid.clam.whelk'} - ) - grpc_transport.assert_called_once_with( - credentials=None, - credentials_file=None, - host="squid.clam.whelk", - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - - -@pytest.mark.parametrize("client_class,transport_class,transport_name,grpc_helpers", [ - (RecaptchaEnterpriseServiceClient, transports.RecaptchaEnterpriseServiceGrpcTransport, "grpc", grpc_helpers), - (RecaptchaEnterpriseServiceAsyncClient, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, "grpc_asyncio", grpc_helpers_async), -]) -def test_recaptcha_enterprise_service_client_create_channel_credentials_file(client_class, transport_class, transport_name, grpc_helpers): - # Check the case credentials file is provided. - options = client_options.ClientOptions( - credentials_file="credentials.json" - ) - - with mock.patch.object(transport_class, '__init__') as patched: - patched.return_value = None - client = client_class(client_options=options, transport=transport_name) - patched.assert_called_once_with( - credentials=None, - credentials_file="credentials.json", - host=client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE), - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) - - # test that the credentials from file are saved and used as the credentials. - with mock.patch.object( - google.auth, "load_credentials_from_file", autospec=True - ) as load_creds, mock.patch.object( - google.auth, "default", autospec=True - ) as adc, mock.patch.object( - grpc_helpers, "create_channel" - ) as create_channel: - creds = ga_credentials.AnonymousCredentials() - file_creds = ga_credentials.AnonymousCredentials() - load_creds.return_value = (file_creds, None) - adc.return_value = (creds, None) - client = client_class(client_options=options, transport=transport_name) - create_channel.assert_called_with( - "recaptchaenterprise.googleapis.com:443", - credentials=file_creds, - credentials_file=None, - quota_project_id=None, - default_scopes=( - 'https://www.googleapis.com/auth/cloud-platform', -), - scopes=None, - default_host="recaptchaenterprise.googleapis.com", - ssl_credentials=None, - options=[ - ("grpc.max_send_message_length", -1), - ("grpc.max_receive_message_length", -1), - ], - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.CreateAssessmentRequest, - dict, -]) -def test_create_assessment(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Assessment( - name='name_value', - ) - response = client.create_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.CreateAssessmentRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Assessment) - assert response.name == 'name_value' - - -def test_create_assessment_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.CreateAssessmentRequest( - parent='parent_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_assessment), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.create_assessment(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.CreateAssessmentRequest( - parent='parent_value', - ) - -def test_create_assessment_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.create_assessment in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.create_assessment] = mock_rpc - request = {} - client.create_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.create_assessment(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_create_assessment_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.create_assessment in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.create_assessment] = mock_rpc - - request = {} - await client.create_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.create_assessment(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_create_assessment_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.CreateAssessmentRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Assessment( - name='name_value', - )) - response = await client.create_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.CreateAssessmentRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Assessment) - assert response.name == 'name_value' - - -@pytest.mark.asyncio -async def test_create_assessment_async_from_dict(): - await test_create_assessment_async(request_type=dict) - -def test_create_assessment_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.CreateAssessmentRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_assessment), - '__call__') as call: - call.return_value = recaptchaenterprise.Assessment() - client.create_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_create_assessment_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.CreateAssessmentRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_assessment), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Assessment()) - await client.create_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -def test_create_assessment_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Assessment() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.create_assessment( - parent='parent_value', - assessment=recaptchaenterprise.Assessment(name='name_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - arg = args[0].assessment - mock_val = recaptchaenterprise.Assessment(name='name_value') - assert arg == mock_val - - -def test_create_assessment_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.create_assessment( - recaptchaenterprise.CreateAssessmentRequest(), - parent='parent_value', - assessment=recaptchaenterprise.Assessment(name='name_value'), - ) - -@pytest.mark.asyncio -async def test_create_assessment_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Assessment() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Assessment()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.create_assessment( - parent='parent_value', - assessment=recaptchaenterprise.Assessment(name='name_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - arg = args[0].assessment - mock_val = recaptchaenterprise.Assessment(name='name_value') - assert arg == mock_val - -@pytest.mark.asyncio -async def test_create_assessment_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.create_assessment( - recaptchaenterprise.CreateAssessmentRequest(), - parent='parent_value', - assessment=recaptchaenterprise.Assessment(name='name_value'), - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.AnnotateAssessmentRequest, - dict, -]) -def test_annotate_assessment(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.annotate_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.AnnotateAssessmentResponse( - ) - response = client.annotate_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.AnnotateAssessmentRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.AnnotateAssessmentResponse) - - -def test_annotate_assessment_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.AnnotateAssessmentRequest( - name='name_value', - account_id='account_id_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.annotate_assessment), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.annotate_assessment(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.AnnotateAssessmentRequest( - name='name_value', - account_id='account_id_value', - ) - -def test_annotate_assessment_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.annotate_assessment in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.annotate_assessment] = mock_rpc - request = {} - client.annotate_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.annotate_assessment(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_annotate_assessment_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.annotate_assessment in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.annotate_assessment] = mock_rpc - - request = {} - await client.annotate_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.annotate_assessment(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_annotate_assessment_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.AnnotateAssessmentRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.annotate_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.AnnotateAssessmentResponse( - )) - response = await client.annotate_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.AnnotateAssessmentRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.AnnotateAssessmentResponse) - - -@pytest.mark.asyncio -async def test_annotate_assessment_async_from_dict(): - await test_annotate_assessment_async(request_type=dict) - -def test_annotate_assessment_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.AnnotateAssessmentRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.annotate_assessment), - '__call__') as call: - call.return_value = recaptchaenterprise.AnnotateAssessmentResponse() - client.annotate_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_annotate_assessment_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.AnnotateAssessmentRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.annotate_assessment), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.AnnotateAssessmentResponse()) - await client.annotate_assessment(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -def test_annotate_assessment_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.annotate_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.AnnotateAssessmentResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.annotate_assessment( - name='name_value', - annotation=recaptchaenterprise.AnnotateAssessmentRequest.Annotation.LEGITIMATE, - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - arg = args[0].annotation - mock_val = recaptchaenterprise.AnnotateAssessmentRequest.Annotation.LEGITIMATE - assert arg == mock_val - - -def test_annotate_assessment_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.annotate_assessment( - recaptchaenterprise.AnnotateAssessmentRequest(), - name='name_value', - annotation=recaptchaenterprise.AnnotateAssessmentRequest.Annotation.LEGITIMATE, - ) - -@pytest.mark.asyncio -async def test_annotate_assessment_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.annotate_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.AnnotateAssessmentResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.AnnotateAssessmentResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.annotate_assessment( - name='name_value', - annotation=recaptchaenterprise.AnnotateAssessmentRequest.Annotation.LEGITIMATE, - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - arg = args[0].annotation - mock_val = recaptchaenterprise.AnnotateAssessmentRequest.Annotation.LEGITIMATE - assert arg == mock_val - -@pytest.mark.asyncio -async def test_annotate_assessment_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.annotate_assessment( - recaptchaenterprise.AnnotateAssessmentRequest(), - name='name_value', - annotation=recaptchaenterprise.AnnotateAssessmentRequest.Annotation.LEGITIMATE, - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.CreateKeyRequest, - dict, -]) -def test_create_key(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - ) - response = client.create_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.CreateKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Key) - assert response.name == 'name_value' - assert response.display_name == 'display_name_value' - - -def test_create_key_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.CreateKeyRequest( - parent='parent_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_key), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.create_key(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.CreateKeyRequest( - parent='parent_value', - ) - -def test_create_key_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.create_key in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.create_key] = mock_rpc - request = {} - client.create_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.create_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_create_key_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.create_key in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.create_key] = mock_rpc - - request = {} - await client.create_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.create_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_create_key_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.CreateKeyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - )) - response = await client.create_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.CreateKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Key) - assert response.name == 'name_value' - assert response.display_name == 'display_name_value' - - -@pytest.mark.asyncio -async def test_create_key_async_from_dict(): - await test_create_key_async(request_type=dict) - -def test_create_key_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.CreateKeyRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_key), - '__call__') as call: - call.return_value = recaptchaenterprise.Key() - client.create_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_create_key_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.CreateKeyRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_key), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key()) - await client.create_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -def test_create_key_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.create_key( - parent='parent_value', - key=recaptchaenterprise.Key(name='name_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - arg = args[0].key - mock_val = recaptchaenterprise.Key(name='name_value') - assert arg == mock_val - - -def test_create_key_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.create_key( - recaptchaenterprise.CreateKeyRequest(), - parent='parent_value', - key=recaptchaenterprise.Key(name='name_value'), - ) - -@pytest.mark.asyncio -async def test_create_key_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.create_key( - parent='parent_value', - key=recaptchaenterprise.Key(name='name_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - arg = args[0].key - mock_val = recaptchaenterprise.Key(name='name_value') - assert arg == mock_val - -@pytest.mark.asyncio -async def test_create_key_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.create_key( - recaptchaenterprise.CreateKeyRequest(), - parent='parent_value', - key=recaptchaenterprise.Key(name='name_value'), - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.ListKeysRequest, - dict, -]) -def test_list_keys(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListKeysResponse( - next_page_token='next_page_token_value', - ) - response = client.list_keys(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListKeysRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListKeysPager) - assert response.next_page_token == 'next_page_token_value' - - -def test_list_keys_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.ListKeysRequest( - parent='parent_value', - page_token='page_token_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.list_keys(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.ListKeysRequest( - parent='parent_value', - page_token='page_token_value', - ) - -def test_list_keys_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.list_keys in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.list_keys] = mock_rpc - request = {} - client.list_keys(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.list_keys(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_keys_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.list_keys in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.list_keys] = mock_rpc - - request = {} - await client.list_keys(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.list_keys(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_keys_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.ListKeysRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListKeysResponse( - next_page_token='next_page_token_value', - )) - response = await client.list_keys(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListKeysRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListKeysAsyncPager) - assert response.next_page_token == 'next_page_token_value' - - -@pytest.mark.asyncio -async def test_list_keys_async_from_dict(): - await test_list_keys_async(request_type=dict) - -def test_list_keys_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListKeysRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - call.return_value = recaptchaenterprise.ListKeysResponse() - client.list_keys(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_list_keys_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListKeysRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListKeysResponse()) - await client.list_keys(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -def test_list_keys_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListKeysResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.list_keys( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - - -def test_list_keys_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.list_keys( - recaptchaenterprise.ListKeysRequest(), - parent='parent_value', - ) - -@pytest.mark.asyncio -async def test_list_keys_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListKeysResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListKeysResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.list_keys( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_list_keys_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.list_keys( - recaptchaenterprise.ListKeysRequest(), - parent='parent_value', - ) - - -def test_list_keys_pager(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListKeysResponse( - keys=[], - next_page_token='def', - ), - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - ], - ), - RuntimeError, - ) - - expected_metadata = () - retry = retries.Retry() - timeout = 5 - expected_metadata = tuple(expected_metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ('parent', ''), - )), - ) - pager = client.list_keys(request={}, retry=retry, timeout=timeout) - - assert pager._metadata == expected_metadata - assert pager._retry == retry - assert pager._timeout == timeout - - results = list(pager) - assert len(results) == 6 - assert all(isinstance(i, recaptchaenterprise.Key) - for i in results) -def test_list_keys_pages(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListKeysResponse( - keys=[], - next_page_token='def', - ), - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - ], - ), - RuntimeError, - ) - pages = list(client.list_keys(request={}).pages) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.asyncio -async def test_list_keys_async_pager(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListKeysResponse( - keys=[], - next_page_token='def', - ), - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - ], - ), - RuntimeError, - ) - async_pager = await client.list_keys(request={},) - assert async_pager.next_page_token == 'abc' - responses = [] - async for response in async_pager: # pragma: no branch - responses.append(response) - - assert len(responses) == 6 - assert all(isinstance(i, recaptchaenterprise.Key) - for i in responses) - - -@pytest.mark.asyncio -async def test_list_keys_async_pages(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListKeysResponse( - keys=[], - next_page_token='def', - ), - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListKeysResponse( - keys=[ - recaptchaenterprise.Key(), - recaptchaenterprise.Key(), - ], - ), - RuntimeError, - ) - pages = [] - # Workaround issue in python 3.9 related to code coverage by adding `# pragma: no branch` - # See https://github.com/googleapis/gapic-generator-python/pull/1174#issuecomment-1025132372 - async for page_ in ( # pragma: no branch - await client.list_keys(request={}) - ).pages: - pages.append(page_) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.RetrieveLegacySecretKeyRequest, - dict, -]) -def test_retrieve_legacy_secret_key(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.retrieve_legacy_secret_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.RetrieveLegacySecretKeyResponse( - legacy_secret_key='legacy_secret_key_value', - ) - response = client.retrieve_legacy_secret_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.RetrieveLegacySecretKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.RetrieveLegacySecretKeyResponse) - assert response.legacy_secret_key == 'legacy_secret_key_value' - - -def test_retrieve_legacy_secret_key_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.RetrieveLegacySecretKeyRequest( - key='key_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.retrieve_legacy_secret_key), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.retrieve_legacy_secret_key(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.RetrieveLegacySecretKeyRequest( - key='key_value', - ) - -def test_retrieve_legacy_secret_key_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.retrieve_legacy_secret_key in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.retrieve_legacy_secret_key] = mock_rpc - request = {} - client.retrieve_legacy_secret_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.retrieve_legacy_secret_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_retrieve_legacy_secret_key_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.retrieve_legacy_secret_key in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.retrieve_legacy_secret_key] = mock_rpc - - request = {} - await client.retrieve_legacy_secret_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.retrieve_legacy_secret_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_retrieve_legacy_secret_key_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.RetrieveLegacySecretKeyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.retrieve_legacy_secret_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.RetrieveLegacySecretKeyResponse( - legacy_secret_key='legacy_secret_key_value', - )) - response = await client.retrieve_legacy_secret_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.RetrieveLegacySecretKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.RetrieveLegacySecretKeyResponse) - assert response.legacy_secret_key == 'legacy_secret_key_value' - - -@pytest.mark.asyncio -async def test_retrieve_legacy_secret_key_async_from_dict(): - await test_retrieve_legacy_secret_key_async(request_type=dict) - -def test_retrieve_legacy_secret_key_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.RetrieveLegacySecretKeyRequest() - - request.key = 'key_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.retrieve_legacy_secret_key), - '__call__') as call: - call.return_value = recaptchaenterprise.RetrieveLegacySecretKeyResponse() - client.retrieve_legacy_secret_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'key=key_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_retrieve_legacy_secret_key_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.RetrieveLegacySecretKeyRequest() - - request.key = 'key_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.retrieve_legacy_secret_key), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.RetrieveLegacySecretKeyResponse()) - await client.retrieve_legacy_secret_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'key=key_value', - ) in kw['metadata'] - - -def test_retrieve_legacy_secret_key_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.retrieve_legacy_secret_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.RetrieveLegacySecretKeyResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.retrieve_legacy_secret_key( - key='key_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].key - mock_val = 'key_value' - assert arg == mock_val - - -def test_retrieve_legacy_secret_key_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.retrieve_legacy_secret_key( - recaptchaenterprise.RetrieveLegacySecretKeyRequest(), - key='key_value', - ) - -@pytest.mark.asyncio -async def test_retrieve_legacy_secret_key_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.retrieve_legacy_secret_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.RetrieveLegacySecretKeyResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.RetrieveLegacySecretKeyResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.retrieve_legacy_secret_key( - key='key_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].key - mock_val = 'key_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_retrieve_legacy_secret_key_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.retrieve_legacy_secret_key( - recaptchaenterprise.RetrieveLegacySecretKeyRequest(), - key='key_value', - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.GetKeyRequest, - dict, -]) -def test_get_key(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - ) - response = client.get_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.GetKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Key) - assert response.name == 'name_value' - assert response.display_name == 'display_name_value' - - -def test_get_key_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.GetKeyRequest( - name='name_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_key), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.get_key(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.GetKeyRequest( - name='name_value', - ) - -def test_get_key_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.get_key in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.get_key] = mock_rpc - request = {} - client.get_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.get_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_get_key_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.get_key in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.get_key] = mock_rpc - - request = {} - await client.get_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.get_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_get_key_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.GetKeyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - )) - response = await client.get_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.GetKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Key) - assert response.name == 'name_value' - assert response.display_name == 'display_name_value' - - -@pytest.mark.asyncio -async def test_get_key_async_from_dict(): - await test_get_key_async(request_type=dict) - -def test_get_key_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.GetKeyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_key), - '__call__') as call: - call.return_value = recaptchaenterprise.Key() - client.get_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_get_key_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.GetKeyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_key), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key()) - await client.get_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -def test_get_key_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.get_key( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - - -def test_get_key_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.get_key( - recaptchaenterprise.GetKeyRequest(), - name='name_value', - ) - -@pytest.mark.asyncio -async def test_get_key_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.get_key( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_get_key_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.get_key( - recaptchaenterprise.GetKeyRequest(), - name='name_value', - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.UpdateKeyRequest, - dict, -]) -def test_update_key(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - ) - response = client.update_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.UpdateKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Key) - assert response.name == 'name_value' - assert response.display_name == 'display_name_value' - - -def test_update_key_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.UpdateKeyRequest( - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_key), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.update_key(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.UpdateKeyRequest( - ) - -def test_update_key_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.update_key in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.update_key] = mock_rpc - request = {} - client.update_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.update_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_update_key_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.update_key in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.update_key] = mock_rpc - - request = {} - await client.update_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.update_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_update_key_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.UpdateKeyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - )) - response = await client.update_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.UpdateKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Key) - assert response.name == 'name_value' - assert response.display_name == 'display_name_value' - - -@pytest.mark.asyncio -async def test_update_key_async_from_dict(): - await test_update_key_async(request_type=dict) - -def test_update_key_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.UpdateKeyRequest() - - request.key.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_key), - '__call__') as call: - call.return_value = recaptchaenterprise.Key() - client.update_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'key.name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_update_key_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.UpdateKeyRequest() - - request.key.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_key), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key()) - await client.update_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'key.name=name_value', - ) in kw['metadata'] - - -def test_update_key_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.update_key( - key=recaptchaenterprise.Key(name='name_value'), - update_mask=field_mask_pb2.FieldMask(paths=['paths_value']), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].key - mock_val = recaptchaenterprise.Key(name='name_value') - assert arg == mock_val - arg = args[0].update_mask - mock_val = field_mask_pb2.FieldMask(paths=['paths_value']) - assert arg == mock_val - - -def test_update_key_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.update_key( - recaptchaenterprise.UpdateKeyRequest(), - key=recaptchaenterprise.Key(name='name_value'), - update_mask=field_mask_pb2.FieldMask(paths=['paths_value']), - ) - -@pytest.mark.asyncio -async def test_update_key_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.update_key( - key=recaptchaenterprise.Key(name='name_value'), - update_mask=field_mask_pb2.FieldMask(paths=['paths_value']), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].key - mock_val = recaptchaenterprise.Key(name='name_value') - assert arg == mock_val - arg = args[0].update_mask - mock_val = field_mask_pb2.FieldMask(paths=['paths_value']) - assert arg == mock_val - -@pytest.mark.asyncio -async def test_update_key_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.update_key( - recaptchaenterprise.UpdateKeyRequest(), - key=recaptchaenterprise.Key(name='name_value'), - update_mask=field_mask_pb2.FieldMask(paths=['paths_value']), - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.DeleteKeyRequest, - dict, -]) -def test_delete_key(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = None - response = client.delete_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.DeleteKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert response is None - - -def test_delete_key_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.DeleteKeyRequest( - name='name_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_key), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.delete_key(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.DeleteKeyRequest( - name='name_value', - ) - -def test_delete_key_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.delete_key in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.delete_key] = mock_rpc - request = {} - client.delete_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.delete_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_delete_key_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.delete_key in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.delete_key] = mock_rpc - - request = {} - await client.delete_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.delete_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_delete_key_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.DeleteKeyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(None) - response = await client.delete_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.DeleteKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert response is None - - -@pytest.mark.asyncio -async def test_delete_key_async_from_dict(): - await test_delete_key_async(request_type=dict) - -def test_delete_key_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.DeleteKeyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_key), - '__call__') as call: - call.return_value = None - client.delete_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_delete_key_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.DeleteKeyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_key), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(None) - await client.delete_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -def test_delete_key_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = None - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.delete_key( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - - -def test_delete_key_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.delete_key( - recaptchaenterprise.DeleteKeyRequest(), - name='name_value', - ) - -@pytest.mark.asyncio -async def test_delete_key_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = None - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(None) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.delete_key( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_delete_key_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.delete_key( - recaptchaenterprise.DeleteKeyRequest(), - name='name_value', - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.MigrateKeyRequest, - dict, -]) -def test_migrate_key(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.migrate_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - ) - response = client.migrate_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.MigrateKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Key) - assert response.name == 'name_value' - assert response.display_name == 'display_name_value' - - -def test_migrate_key_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.MigrateKeyRequest( - name='name_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.migrate_key), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.migrate_key(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.MigrateKeyRequest( - name='name_value', - ) - -def test_migrate_key_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.migrate_key in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.migrate_key] = mock_rpc - request = {} - client.migrate_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.migrate_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_migrate_key_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.migrate_key in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.migrate_key] = mock_rpc - - request = {} - await client.migrate_key(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.migrate_key(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_migrate_key_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.MigrateKeyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.migrate_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - )) - response = await client.migrate_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.MigrateKeyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Key) - assert response.name == 'name_value' - assert response.display_name == 'display_name_value' - - -@pytest.mark.asyncio -async def test_migrate_key_async_from_dict(): - await test_migrate_key_async(request_type=dict) - -def test_migrate_key_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.MigrateKeyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.migrate_key), - '__call__') as call: - call.return_value = recaptchaenterprise.Key() - client.migrate_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_migrate_key_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.MigrateKeyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.migrate_key), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key()) - await client.migrate_key(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.AddIpOverrideRequest, - dict, -]) -def test_add_ip_override(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.add_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.AddIpOverrideResponse( - ) - response = client.add_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.AddIpOverrideRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.AddIpOverrideResponse) - - -def test_add_ip_override_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.AddIpOverrideRequest( - name='name_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.add_ip_override), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.add_ip_override(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.AddIpOverrideRequest( - name='name_value', - ) - -def test_add_ip_override_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.add_ip_override in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.add_ip_override] = mock_rpc - request = {} - client.add_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.add_ip_override(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_add_ip_override_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.add_ip_override in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.add_ip_override] = mock_rpc - - request = {} - await client.add_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.add_ip_override(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_add_ip_override_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.AddIpOverrideRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.add_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.AddIpOverrideResponse( - )) - response = await client.add_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.AddIpOverrideRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.AddIpOverrideResponse) - - -@pytest.mark.asyncio -async def test_add_ip_override_async_from_dict(): - await test_add_ip_override_async(request_type=dict) - -def test_add_ip_override_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.AddIpOverrideRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.add_ip_override), - '__call__') as call: - call.return_value = recaptchaenterprise.AddIpOverrideResponse() - client.add_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_add_ip_override_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.AddIpOverrideRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.add_ip_override), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.AddIpOverrideResponse()) - await client.add_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -def test_add_ip_override_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.add_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.AddIpOverrideResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.add_ip_override( - name='name_value', - ip_override_data=recaptchaenterprise.IpOverrideData(ip='ip_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - arg = args[0].ip_override_data - mock_val = recaptchaenterprise.IpOverrideData(ip='ip_value') - assert arg == mock_val - - -def test_add_ip_override_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.add_ip_override( - recaptchaenterprise.AddIpOverrideRequest(), - name='name_value', - ip_override_data=recaptchaenterprise.IpOverrideData(ip='ip_value'), - ) - -@pytest.mark.asyncio -async def test_add_ip_override_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.add_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.AddIpOverrideResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.AddIpOverrideResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.add_ip_override( - name='name_value', - ip_override_data=recaptchaenterprise.IpOverrideData(ip='ip_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - arg = args[0].ip_override_data - mock_val = recaptchaenterprise.IpOverrideData(ip='ip_value') - assert arg == mock_val - -@pytest.mark.asyncio -async def test_add_ip_override_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.add_ip_override( - recaptchaenterprise.AddIpOverrideRequest(), - name='name_value', - ip_override_data=recaptchaenterprise.IpOverrideData(ip='ip_value'), - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.RemoveIpOverrideRequest, - dict, -]) -def test_remove_ip_override(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.remove_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.RemoveIpOverrideResponse( - ) - response = client.remove_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.RemoveIpOverrideRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.RemoveIpOverrideResponse) - - -def test_remove_ip_override_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.RemoveIpOverrideRequest( - name='name_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.remove_ip_override), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.remove_ip_override(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.RemoveIpOverrideRequest( - name='name_value', - ) - -def test_remove_ip_override_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.remove_ip_override in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.remove_ip_override] = mock_rpc - request = {} - client.remove_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.remove_ip_override(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_remove_ip_override_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.remove_ip_override in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.remove_ip_override] = mock_rpc - - request = {} - await client.remove_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.remove_ip_override(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_remove_ip_override_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.RemoveIpOverrideRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.remove_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.RemoveIpOverrideResponse( - )) - response = await client.remove_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.RemoveIpOverrideRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.RemoveIpOverrideResponse) - - -@pytest.mark.asyncio -async def test_remove_ip_override_async_from_dict(): - await test_remove_ip_override_async(request_type=dict) - -def test_remove_ip_override_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.RemoveIpOverrideRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.remove_ip_override), - '__call__') as call: - call.return_value = recaptchaenterprise.RemoveIpOverrideResponse() - client.remove_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_remove_ip_override_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.RemoveIpOverrideRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.remove_ip_override), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.RemoveIpOverrideResponse()) - await client.remove_ip_override(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -def test_remove_ip_override_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.remove_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.RemoveIpOverrideResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.remove_ip_override( - name='name_value', - ip_override_data=recaptchaenterprise.IpOverrideData(ip='ip_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - arg = args[0].ip_override_data - mock_val = recaptchaenterprise.IpOverrideData(ip='ip_value') - assert arg == mock_val - - -def test_remove_ip_override_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.remove_ip_override( - recaptchaenterprise.RemoveIpOverrideRequest(), - name='name_value', - ip_override_data=recaptchaenterprise.IpOverrideData(ip='ip_value'), - ) - -@pytest.mark.asyncio -async def test_remove_ip_override_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.remove_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.RemoveIpOverrideResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.RemoveIpOverrideResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.remove_ip_override( - name='name_value', - ip_override_data=recaptchaenterprise.IpOverrideData(ip='ip_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - arg = args[0].ip_override_data - mock_val = recaptchaenterprise.IpOverrideData(ip='ip_value') - assert arg == mock_val - -@pytest.mark.asyncio -async def test_remove_ip_override_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.remove_ip_override( - recaptchaenterprise.RemoveIpOverrideRequest(), - name='name_value', - ip_override_data=recaptchaenterprise.IpOverrideData(ip='ip_value'), - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.ListIpOverridesRequest, - dict, -]) -def test_list_ip_overrides(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListIpOverridesResponse( - next_page_token='next_page_token_value', - ) - response = client.list_ip_overrides(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListIpOverridesRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListIpOverridesPager) - assert response.next_page_token == 'next_page_token_value' - - -def test_list_ip_overrides_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.ListIpOverridesRequest( - parent='parent_value', - page_token='page_token_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.list_ip_overrides(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.ListIpOverridesRequest( - parent='parent_value', - page_token='page_token_value', - ) - -def test_list_ip_overrides_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.list_ip_overrides in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.list_ip_overrides] = mock_rpc - request = {} - client.list_ip_overrides(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.list_ip_overrides(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_ip_overrides_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.list_ip_overrides in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.list_ip_overrides] = mock_rpc - - request = {} - await client.list_ip_overrides(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.list_ip_overrides(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_ip_overrides_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.ListIpOverridesRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListIpOverridesResponse( - next_page_token='next_page_token_value', - )) - response = await client.list_ip_overrides(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListIpOverridesRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListIpOverridesAsyncPager) - assert response.next_page_token == 'next_page_token_value' - - -@pytest.mark.asyncio -async def test_list_ip_overrides_async_from_dict(): - await test_list_ip_overrides_async(request_type=dict) - -def test_list_ip_overrides_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListIpOverridesRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - call.return_value = recaptchaenterprise.ListIpOverridesResponse() - client.list_ip_overrides(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_list_ip_overrides_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListIpOverridesRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListIpOverridesResponse()) - await client.list_ip_overrides(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -def test_list_ip_overrides_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListIpOverridesResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.list_ip_overrides( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - - -def test_list_ip_overrides_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.list_ip_overrides( - recaptchaenterprise.ListIpOverridesRequest(), - parent='parent_value', - ) - -@pytest.mark.asyncio -async def test_list_ip_overrides_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListIpOverridesResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListIpOverridesResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.list_ip_overrides( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_list_ip_overrides_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.list_ip_overrides( - recaptchaenterprise.ListIpOverridesRequest(), - parent='parent_value', - ) - - -def test_list_ip_overrides_pager(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[], - next_page_token='def', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - ], - ), - RuntimeError, - ) - - expected_metadata = () - retry = retries.Retry() - timeout = 5 - expected_metadata = tuple(expected_metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ('parent', ''), - )), - ) - pager = client.list_ip_overrides(request={}, retry=retry, timeout=timeout) - - assert pager._metadata == expected_metadata - assert pager._retry == retry - assert pager._timeout == timeout - - results = list(pager) - assert len(results) == 6 - assert all(isinstance(i, recaptchaenterprise.IpOverrideData) - for i in results) -def test_list_ip_overrides_pages(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[], - next_page_token='def', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - ], - ), - RuntimeError, - ) - pages = list(client.list_ip_overrides(request={}).pages) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.asyncio -async def test_list_ip_overrides_async_pager(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[], - next_page_token='def', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - ], - ), - RuntimeError, - ) - async_pager = await client.list_ip_overrides(request={},) - assert async_pager.next_page_token == 'abc' - responses = [] - async for response in async_pager: # pragma: no branch - responses.append(response) - - assert len(responses) == 6 - assert all(isinstance(i, recaptchaenterprise.IpOverrideData) - for i in responses) - - -@pytest.mark.asyncio -async def test_list_ip_overrides_async_pages(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[], - next_page_token='def', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListIpOverridesResponse( - ip_overrides=[ - recaptchaenterprise.IpOverrideData(), - recaptchaenterprise.IpOverrideData(), - ], - ), - RuntimeError, - ) - pages = [] - # Workaround issue in python 3.9 related to code coverage by adding `# pragma: no branch` - # See https://github.com/googleapis/gapic-generator-python/pull/1174#issuecomment-1025132372 - async for page_ in ( # pragma: no branch - await client.list_ip_overrides(request={}) - ).pages: - pages.append(page_) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.GetMetricsRequest, - dict, -]) -def test_get_metrics(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_metrics), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Metrics( - name='name_value', - ) - response = client.get_metrics(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.GetMetricsRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Metrics) - assert response.name == 'name_value' - - -def test_get_metrics_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.GetMetricsRequest( - name='name_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_metrics), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.get_metrics(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.GetMetricsRequest( - name='name_value', - ) - -def test_get_metrics_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.get_metrics in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.get_metrics] = mock_rpc - request = {} - client.get_metrics(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.get_metrics(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_get_metrics_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.get_metrics in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.get_metrics] = mock_rpc - - request = {} - await client.get_metrics(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.get_metrics(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_get_metrics_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.GetMetricsRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_metrics), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Metrics( - name='name_value', - )) - response = await client.get_metrics(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.GetMetricsRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.Metrics) - assert response.name == 'name_value' - - -@pytest.mark.asyncio -async def test_get_metrics_async_from_dict(): - await test_get_metrics_async(request_type=dict) - -def test_get_metrics_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.GetMetricsRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_metrics), - '__call__') as call: - call.return_value = recaptchaenterprise.Metrics() - client.get_metrics(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_get_metrics_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.GetMetricsRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_metrics), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Metrics()) - await client.get_metrics(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -def test_get_metrics_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_metrics), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Metrics() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.get_metrics( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - - -def test_get_metrics_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.get_metrics( - recaptchaenterprise.GetMetricsRequest(), - name='name_value', - ) - -@pytest.mark.asyncio -async def test_get_metrics_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_metrics), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.Metrics() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Metrics()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.get_metrics( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_get_metrics_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.get_metrics( - recaptchaenterprise.GetMetricsRequest(), - name='name_value', - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.CreateFirewallPolicyRequest, - dict, -]) -def test_create_firewall_policy(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.FirewallPolicy( - name='name_value', - description='description_value', - path='path_value', - condition='condition_value', - ) - response = client.create_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.CreateFirewallPolicyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.FirewallPolicy) - assert response.name == 'name_value' - assert response.description == 'description_value' - assert response.path == 'path_value' - assert response.condition == 'condition_value' - - -def test_create_firewall_policy_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.CreateFirewallPolicyRequest( - parent='parent_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_firewall_policy), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.create_firewall_policy(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.CreateFirewallPolicyRequest( - parent='parent_value', - ) - -def test_create_firewall_policy_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.create_firewall_policy in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.create_firewall_policy] = mock_rpc - request = {} - client.create_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.create_firewall_policy(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_create_firewall_policy_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.create_firewall_policy in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.create_firewall_policy] = mock_rpc - - request = {} - await client.create_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.create_firewall_policy(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_create_firewall_policy_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.CreateFirewallPolicyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy( - name='name_value', - description='description_value', - path='path_value', - condition='condition_value', - )) - response = await client.create_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.CreateFirewallPolicyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.FirewallPolicy) - assert response.name == 'name_value' - assert response.description == 'description_value' - assert response.path == 'path_value' - assert response.condition == 'condition_value' - - -@pytest.mark.asyncio -async def test_create_firewall_policy_async_from_dict(): - await test_create_firewall_policy_async(request_type=dict) - -def test_create_firewall_policy_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.CreateFirewallPolicyRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_firewall_policy), - '__call__') as call: - call.return_value = recaptchaenterprise.FirewallPolicy() - client.create_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_create_firewall_policy_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.CreateFirewallPolicyRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_firewall_policy), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy()) - await client.create_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -def test_create_firewall_policy_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.FirewallPolicy() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.create_firewall_policy( - parent='parent_value', - firewall_policy=recaptchaenterprise.FirewallPolicy(name='name_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - arg = args[0].firewall_policy - mock_val = recaptchaenterprise.FirewallPolicy(name='name_value') - assert arg == mock_val - - -def test_create_firewall_policy_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.create_firewall_policy( - recaptchaenterprise.CreateFirewallPolicyRequest(), - parent='parent_value', - firewall_policy=recaptchaenterprise.FirewallPolicy(name='name_value'), - ) - -@pytest.mark.asyncio -async def test_create_firewall_policy_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.create_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.FirewallPolicy() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.create_firewall_policy( - parent='parent_value', - firewall_policy=recaptchaenterprise.FirewallPolicy(name='name_value'), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - arg = args[0].firewall_policy - mock_val = recaptchaenterprise.FirewallPolicy(name='name_value') - assert arg == mock_val - -@pytest.mark.asyncio -async def test_create_firewall_policy_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.create_firewall_policy( - recaptchaenterprise.CreateFirewallPolicyRequest(), - parent='parent_value', - firewall_policy=recaptchaenterprise.FirewallPolicy(name='name_value'), - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.ListFirewallPoliciesRequest, - dict, -]) -def test_list_firewall_policies(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListFirewallPoliciesResponse( - next_page_token='next_page_token_value', - ) - response = client.list_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListFirewallPoliciesRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListFirewallPoliciesPager) - assert response.next_page_token == 'next_page_token_value' - - -def test_list_firewall_policies_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.ListFirewallPoliciesRequest( - parent='parent_value', - page_token='page_token_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.list_firewall_policies(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.ListFirewallPoliciesRequest( - parent='parent_value', - page_token='page_token_value', - ) - -def test_list_firewall_policies_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.list_firewall_policies in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.list_firewall_policies] = mock_rpc - request = {} - client.list_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.list_firewall_policies(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_firewall_policies_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.list_firewall_policies in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.list_firewall_policies] = mock_rpc - - request = {} - await client.list_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.list_firewall_policies(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_firewall_policies_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.ListFirewallPoliciesRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListFirewallPoliciesResponse( - next_page_token='next_page_token_value', - )) - response = await client.list_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListFirewallPoliciesRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListFirewallPoliciesAsyncPager) - assert response.next_page_token == 'next_page_token_value' - - -@pytest.mark.asyncio -async def test_list_firewall_policies_async_from_dict(): - await test_list_firewall_policies_async(request_type=dict) - -def test_list_firewall_policies_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListFirewallPoliciesRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - call.return_value = recaptchaenterprise.ListFirewallPoliciesResponse() - client.list_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_list_firewall_policies_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListFirewallPoliciesRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListFirewallPoliciesResponse()) - await client.list_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -def test_list_firewall_policies_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListFirewallPoliciesResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.list_firewall_policies( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - - -def test_list_firewall_policies_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.list_firewall_policies( - recaptchaenterprise.ListFirewallPoliciesRequest(), - parent='parent_value', - ) - -@pytest.mark.asyncio -async def test_list_firewall_policies_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListFirewallPoliciesResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListFirewallPoliciesResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.list_firewall_policies( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_list_firewall_policies_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.list_firewall_policies( - recaptchaenterprise.ListFirewallPoliciesRequest(), - parent='parent_value', - ) - - -def test_list_firewall_policies_pager(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[], - next_page_token='def', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - ], - ), - RuntimeError, - ) - - expected_metadata = () - retry = retries.Retry() - timeout = 5 - expected_metadata = tuple(expected_metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ('parent', ''), - )), - ) - pager = client.list_firewall_policies(request={}, retry=retry, timeout=timeout) - - assert pager._metadata == expected_metadata - assert pager._retry == retry - assert pager._timeout == timeout - - results = list(pager) - assert len(results) == 6 - assert all(isinstance(i, recaptchaenterprise.FirewallPolicy) - for i in results) -def test_list_firewall_policies_pages(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[], - next_page_token='def', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - ], - ), - RuntimeError, - ) - pages = list(client.list_firewall_policies(request={}).pages) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.asyncio -async def test_list_firewall_policies_async_pager(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[], - next_page_token='def', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - ], - ), - RuntimeError, - ) - async_pager = await client.list_firewall_policies(request={},) - assert async_pager.next_page_token == 'abc' - responses = [] - async for response in async_pager: # pragma: no branch - responses.append(response) - - assert len(responses) == 6 - assert all(isinstance(i, recaptchaenterprise.FirewallPolicy) - for i in responses) - - -@pytest.mark.asyncio -async def test_list_firewall_policies_async_pages(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[], - next_page_token='def', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListFirewallPoliciesResponse( - firewall_policies=[ - recaptchaenterprise.FirewallPolicy(), - recaptchaenterprise.FirewallPolicy(), - ], - ), - RuntimeError, - ) - pages = [] - # Workaround issue in python 3.9 related to code coverage by adding `# pragma: no branch` - # See https://github.com/googleapis/gapic-generator-python/pull/1174#issuecomment-1025132372 - async for page_ in ( # pragma: no branch - await client.list_firewall_policies(request={}) - ).pages: - pages.append(page_) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.GetFirewallPolicyRequest, - dict, -]) -def test_get_firewall_policy(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.FirewallPolicy( - name='name_value', - description='description_value', - path='path_value', - condition='condition_value', - ) - response = client.get_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.GetFirewallPolicyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.FirewallPolicy) - assert response.name == 'name_value' - assert response.description == 'description_value' - assert response.path == 'path_value' - assert response.condition == 'condition_value' - - -def test_get_firewall_policy_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.GetFirewallPolicyRequest( - name='name_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_firewall_policy), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.get_firewall_policy(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.GetFirewallPolicyRequest( - name='name_value', - ) - -def test_get_firewall_policy_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.get_firewall_policy in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.get_firewall_policy] = mock_rpc - request = {} - client.get_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.get_firewall_policy(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_get_firewall_policy_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.get_firewall_policy in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.get_firewall_policy] = mock_rpc - - request = {} - await client.get_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.get_firewall_policy(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_get_firewall_policy_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.GetFirewallPolicyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy( - name='name_value', - description='description_value', - path='path_value', - condition='condition_value', - )) - response = await client.get_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.GetFirewallPolicyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.FirewallPolicy) - assert response.name == 'name_value' - assert response.description == 'description_value' - assert response.path == 'path_value' - assert response.condition == 'condition_value' - - -@pytest.mark.asyncio -async def test_get_firewall_policy_async_from_dict(): - await test_get_firewall_policy_async(request_type=dict) - -def test_get_firewall_policy_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.GetFirewallPolicyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_firewall_policy), - '__call__') as call: - call.return_value = recaptchaenterprise.FirewallPolicy() - client.get_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_get_firewall_policy_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.GetFirewallPolicyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_firewall_policy), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy()) - await client.get_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -def test_get_firewall_policy_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.FirewallPolicy() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.get_firewall_policy( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - - -def test_get_firewall_policy_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.get_firewall_policy( - recaptchaenterprise.GetFirewallPolicyRequest(), - name='name_value', - ) - -@pytest.mark.asyncio -async def test_get_firewall_policy_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.get_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.FirewallPolicy() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.get_firewall_policy( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_get_firewall_policy_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.get_firewall_policy( - recaptchaenterprise.GetFirewallPolicyRequest(), - name='name_value', - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.UpdateFirewallPolicyRequest, - dict, -]) -def test_update_firewall_policy(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.FirewallPolicy( - name='name_value', - description='description_value', - path='path_value', - condition='condition_value', - ) - response = client.update_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.UpdateFirewallPolicyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.FirewallPolicy) - assert response.name == 'name_value' - assert response.description == 'description_value' - assert response.path == 'path_value' - assert response.condition == 'condition_value' - - -def test_update_firewall_policy_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.UpdateFirewallPolicyRequest( - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_firewall_policy), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.update_firewall_policy(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.UpdateFirewallPolicyRequest( - ) - -def test_update_firewall_policy_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.update_firewall_policy in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.update_firewall_policy] = mock_rpc - request = {} - client.update_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.update_firewall_policy(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_update_firewall_policy_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.update_firewall_policy in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.update_firewall_policy] = mock_rpc - - request = {} - await client.update_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.update_firewall_policy(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_update_firewall_policy_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.UpdateFirewallPolicyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy( - name='name_value', - description='description_value', - path='path_value', - condition='condition_value', - )) - response = await client.update_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.UpdateFirewallPolicyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.FirewallPolicy) - assert response.name == 'name_value' - assert response.description == 'description_value' - assert response.path == 'path_value' - assert response.condition == 'condition_value' - - -@pytest.mark.asyncio -async def test_update_firewall_policy_async_from_dict(): - await test_update_firewall_policy_async(request_type=dict) - -def test_update_firewall_policy_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.UpdateFirewallPolicyRequest() - - request.firewall_policy.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_firewall_policy), - '__call__') as call: - call.return_value = recaptchaenterprise.FirewallPolicy() - client.update_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'firewall_policy.name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_update_firewall_policy_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.UpdateFirewallPolicyRequest() - - request.firewall_policy.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_firewall_policy), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy()) - await client.update_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'firewall_policy.name=name_value', - ) in kw['metadata'] - - -def test_update_firewall_policy_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.FirewallPolicy() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.update_firewall_policy( - firewall_policy=recaptchaenterprise.FirewallPolicy(name='name_value'), - update_mask=field_mask_pb2.FieldMask(paths=['paths_value']), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].firewall_policy - mock_val = recaptchaenterprise.FirewallPolicy(name='name_value') - assert arg == mock_val - arg = args[0].update_mask - mock_val = field_mask_pb2.FieldMask(paths=['paths_value']) - assert arg == mock_val - - -def test_update_firewall_policy_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.update_firewall_policy( - recaptchaenterprise.UpdateFirewallPolicyRequest(), - firewall_policy=recaptchaenterprise.FirewallPolicy(name='name_value'), - update_mask=field_mask_pb2.FieldMask(paths=['paths_value']), - ) - -@pytest.mark.asyncio -async def test_update_firewall_policy_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.update_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.FirewallPolicy() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.update_firewall_policy( - firewall_policy=recaptchaenterprise.FirewallPolicy(name='name_value'), - update_mask=field_mask_pb2.FieldMask(paths=['paths_value']), - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].firewall_policy - mock_val = recaptchaenterprise.FirewallPolicy(name='name_value') - assert arg == mock_val - arg = args[0].update_mask - mock_val = field_mask_pb2.FieldMask(paths=['paths_value']) - assert arg == mock_val - -@pytest.mark.asyncio -async def test_update_firewall_policy_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.update_firewall_policy( - recaptchaenterprise.UpdateFirewallPolicyRequest(), - firewall_policy=recaptchaenterprise.FirewallPolicy(name='name_value'), - update_mask=field_mask_pb2.FieldMask(paths=['paths_value']), - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.DeleteFirewallPolicyRequest, - dict, -]) -def test_delete_firewall_policy(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = None - response = client.delete_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.DeleteFirewallPolicyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert response is None - - -def test_delete_firewall_policy_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.DeleteFirewallPolicyRequest( - name='name_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_firewall_policy), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.delete_firewall_policy(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.DeleteFirewallPolicyRequest( - name='name_value', - ) - -def test_delete_firewall_policy_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.delete_firewall_policy in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.delete_firewall_policy] = mock_rpc - request = {} - client.delete_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.delete_firewall_policy(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_delete_firewall_policy_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.delete_firewall_policy in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.delete_firewall_policy] = mock_rpc - - request = {} - await client.delete_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.delete_firewall_policy(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_delete_firewall_policy_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.DeleteFirewallPolicyRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(None) - response = await client.delete_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.DeleteFirewallPolicyRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert response is None - - -@pytest.mark.asyncio -async def test_delete_firewall_policy_async_from_dict(): - await test_delete_firewall_policy_async(request_type=dict) - -def test_delete_firewall_policy_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.DeleteFirewallPolicyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_firewall_policy), - '__call__') as call: - call.return_value = None - client.delete_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_delete_firewall_policy_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.DeleteFirewallPolicyRequest() - - request.name = 'name_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_firewall_policy), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(None) - await client.delete_firewall_policy(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'name=name_value', - ) in kw['metadata'] - - -def test_delete_firewall_policy_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = None - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.delete_firewall_policy( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - - -def test_delete_firewall_policy_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.delete_firewall_policy( - recaptchaenterprise.DeleteFirewallPolicyRequest(), - name='name_value', - ) - -@pytest.mark.asyncio -async def test_delete_firewall_policy_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.delete_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = None - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(None) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.delete_firewall_policy( - name='name_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].name - mock_val = 'name_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_delete_firewall_policy_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.delete_firewall_policy( - recaptchaenterprise.DeleteFirewallPolicyRequest(), - name='name_value', - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.ReorderFirewallPoliciesRequest, - dict, -]) -def test_reorder_firewall_policies(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.reorder_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ReorderFirewallPoliciesResponse( - ) - response = client.reorder_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ReorderFirewallPoliciesRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.ReorderFirewallPoliciesResponse) - - -def test_reorder_firewall_policies_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.ReorderFirewallPoliciesRequest( - parent='parent_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.reorder_firewall_policies), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.reorder_firewall_policies(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.ReorderFirewallPoliciesRequest( - parent='parent_value', - ) - -def test_reorder_firewall_policies_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.reorder_firewall_policies in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.reorder_firewall_policies] = mock_rpc - request = {} - client.reorder_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.reorder_firewall_policies(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_reorder_firewall_policies_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.reorder_firewall_policies in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.reorder_firewall_policies] = mock_rpc - - request = {} - await client.reorder_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.reorder_firewall_policies(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_reorder_firewall_policies_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.ReorderFirewallPoliciesRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.reorder_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ReorderFirewallPoliciesResponse( - )) - response = await client.reorder_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ReorderFirewallPoliciesRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, recaptchaenterprise.ReorderFirewallPoliciesResponse) - - -@pytest.mark.asyncio -async def test_reorder_firewall_policies_async_from_dict(): - await test_reorder_firewall_policies_async(request_type=dict) - -def test_reorder_firewall_policies_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ReorderFirewallPoliciesRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.reorder_firewall_policies), - '__call__') as call: - call.return_value = recaptchaenterprise.ReorderFirewallPoliciesResponse() - client.reorder_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_reorder_firewall_policies_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ReorderFirewallPoliciesRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.reorder_firewall_policies), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ReorderFirewallPoliciesResponse()) - await client.reorder_firewall_policies(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -def test_reorder_firewall_policies_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.reorder_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ReorderFirewallPoliciesResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.reorder_firewall_policies( - parent='parent_value', - names=['names_value'], - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - arg = args[0].names - mock_val = ['names_value'] - assert arg == mock_val - - -def test_reorder_firewall_policies_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.reorder_firewall_policies( - recaptchaenterprise.ReorderFirewallPoliciesRequest(), - parent='parent_value', - names=['names_value'], - ) - -@pytest.mark.asyncio -async def test_reorder_firewall_policies_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.reorder_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ReorderFirewallPoliciesResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ReorderFirewallPoliciesResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.reorder_firewall_policies( - parent='parent_value', - names=['names_value'], - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - arg = args[0].names - mock_val = ['names_value'] - assert arg == mock_val - -@pytest.mark.asyncio -async def test_reorder_firewall_policies_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.reorder_firewall_policies( - recaptchaenterprise.ReorderFirewallPoliciesRequest(), - parent='parent_value', - names=['names_value'], - ) - - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.ListRelatedAccountGroupsRequest, - dict, -]) -def test_list_related_account_groups(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListRelatedAccountGroupsResponse( - next_page_token='next_page_token_value', - ) - response = client.list_related_account_groups(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListRelatedAccountGroupsRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListRelatedAccountGroupsPager) - assert response.next_page_token == 'next_page_token_value' - - -def test_list_related_account_groups_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.ListRelatedAccountGroupsRequest( - parent='parent_value', - page_token='page_token_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.list_related_account_groups(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.ListRelatedAccountGroupsRequest( - parent='parent_value', - page_token='page_token_value', - ) - -def test_list_related_account_groups_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.list_related_account_groups in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.list_related_account_groups] = mock_rpc - request = {} - client.list_related_account_groups(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.list_related_account_groups(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_related_account_groups_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.list_related_account_groups in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.list_related_account_groups] = mock_rpc - - request = {} - await client.list_related_account_groups(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.list_related_account_groups(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_related_account_groups_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.ListRelatedAccountGroupsRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListRelatedAccountGroupsResponse( - next_page_token='next_page_token_value', - )) - response = await client.list_related_account_groups(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListRelatedAccountGroupsRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListRelatedAccountGroupsAsyncPager) - assert response.next_page_token == 'next_page_token_value' - - -@pytest.mark.asyncio -async def test_list_related_account_groups_async_from_dict(): - await test_list_related_account_groups_async(request_type=dict) - -def test_list_related_account_groups_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListRelatedAccountGroupsRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - call.return_value = recaptchaenterprise.ListRelatedAccountGroupsResponse() - client.list_related_account_groups(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_list_related_account_groups_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListRelatedAccountGroupsRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListRelatedAccountGroupsResponse()) - await client.list_related_account_groups(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -def test_list_related_account_groups_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListRelatedAccountGroupsResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.list_related_account_groups( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - - -def test_list_related_account_groups_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.list_related_account_groups( - recaptchaenterprise.ListRelatedAccountGroupsRequest(), - parent='parent_value', - ) - -@pytest.mark.asyncio -async def test_list_related_account_groups_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListRelatedAccountGroupsResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListRelatedAccountGroupsResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.list_related_account_groups( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_list_related_account_groups_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.list_related_account_groups( - recaptchaenterprise.ListRelatedAccountGroupsRequest(), - parent='parent_value', - ) - - -def test_list_related_account_groups_pager(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[], - next_page_token='def', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - ], - ), - RuntimeError, - ) - - expected_metadata = () - retry = retries.Retry() - timeout = 5 - expected_metadata = tuple(expected_metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ('parent', ''), - )), - ) - pager = client.list_related_account_groups(request={}, retry=retry, timeout=timeout) - - assert pager._metadata == expected_metadata - assert pager._retry == retry - assert pager._timeout == timeout - - results = list(pager) - assert len(results) == 6 - assert all(isinstance(i, recaptchaenterprise.RelatedAccountGroup) - for i in results) -def test_list_related_account_groups_pages(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[], - next_page_token='def', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - ], - ), - RuntimeError, - ) - pages = list(client.list_related_account_groups(request={}).pages) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.asyncio -async def test_list_related_account_groups_async_pager(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[], - next_page_token='def', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - ], - ), - RuntimeError, - ) - async_pager = await client.list_related_account_groups(request={},) - assert async_pager.next_page_token == 'abc' - responses = [] - async for response in async_pager: # pragma: no branch - responses.append(response) - - assert len(responses) == 6 - assert all(isinstance(i, recaptchaenterprise.RelatedAccountGroup) - for i in responses) - - -@pytest.mark.asyncio -async def test_list_related_account_groups_async_pages(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[], - next_page_token='def', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListRelatedAccountGroupsResponse( - related_account_groups=[ - recaptchaenterprise.RelatedAccountGroup(), - recaptchaenterprise.RelatedAccountGroup(), - ], - ), - RuntimeError, - ) - pages = [] - # Workaround issue in python 3.9 related to code coverage by adding `# pragma: no branch` - # See https://github.com/googleapis/gapic-generator-python/pull/1174#issuecomment-1025132372 - async for page_ in ( # pragma: no branch - await client.list_related_account_groups(request={}) - ).pages: - pages.append(page_) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest, - dict, -]) -def test_list_related_account_group_memberships(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - next_page_token='next_page_token_value', - ) - response = client.list_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListRelatedAccountGroupMembershipsPager) - assert response.next_page_token == 'next_page_token_value' - - -def test_list_related_account_group_memberships_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest( - parent='parent_value', - page_token='page_token_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.list_related_account_group_memberships(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest( - parent='parent_value', - page_token='page_token_value', - ) - -def test_list_related_account_group_memberships_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.list_related_account_group_memberships in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.list_related_account_group_memberships] = mock_rpc - request = {} - client.list_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.list_related_account_group_memberships(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_related_account_group_memberships_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.list_related_account_group_memberships in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.list_related_account_group_memberships] = mock_rpc - - request = {} - await client.list_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.list_related_account_group_memberships(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_list_related_account_group_memberships_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - next_page_token='next_page_token_value', - )) - response = await client.list_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.ListRelatedAccountGroupMembershipsAsyncPager) - assert response.next_page_token == 'next_page_token_value' - - -@pytest.mark.asyncio -async def test_list_related_account_group_memberships_async_from_dict(): - await test_list_related_account_group_memberships_async(request_type=dict) - -def test_list_related_account_group_memberships_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - call.return_value = recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse() - client.list_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_list_related_account_group_memberships_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest() - - request.parent = 'parent_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse()) - await client.list_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'parent=parent_value', - ) in kw['metadata'] - - -def test_list_related_account_group_memberships_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.list_related_account_group_memberships( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - - -def test_list_related_account_group_memberships_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.list_related_account_group_memberships( - recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest(), - parent='parent_value', - ) - -@pytest.mark.asyncio -async def test_list_related_account_group_memberships_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.list_related_account_group_memberships( - parent='parent_value', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].parent - mock_val = 'parent_value' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_list_related_account_group_memberships_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.list_related_account_group_memberships( - recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest(), - parent='parent_value', - ) - - -def test_list_related_account_group_memberships_pager(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[], - next_page_token='def', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - ), - RuntimeError, - ) - - expected_metadata = () - retry = retries.Retry() - timeout = 5 - expected_metadata = tuple(expected_metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ('parent', ''), - )), - ) - pager = client.list_related_account_group_memberships(request={}, retry=retry, timeout=timeout) - - assert pager._metadata == expected_metadata - assert pager._retry == retry - assert pager._timeout == timeout - - results = list(pager) - assert len(results) == 6 - assert all(isinstance(i, recaptchaenterprise.RelatedAccountGroupMembership) - for i in results) -def test_list_related_account_group_memberships_pages(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[], - next_page_token='def', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - ), - RuntimeError, - ) - pages = list(client.list_related_account_group_memberships(request={}).pages) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.asyncio -async def test_list_related_account_group_memberships_async_pager(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[], - next_page_token='def', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - ), - RuntimeError, - ) - async_pager = await client.list_related_account_group_memberships(request={},) - assert async_pager.next_page_token == 'abc' - responses = [] - async for response in async_pager: # pragma: no branch - responses.append(response) - - assert len(responses) == 6 - assert all(isinstance(i, recaptchaenterprise.RelatedAccountGroupMembership) - for i in responses) - - -@pytest.mark.asyncio -async def test_list_related_account_group_memberships_async_pages(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='abc', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[], - next_page_token='def', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - ), - RuntimeError, - ) - pages = [] - # Workaround issue in python 3.9 related to code coverage by adding `# pragma: no branch` - # See https://github.com/googleapis/gapic-generator-python/pull/1174#issuecomment-1025132372 - async for page_ in ( # pragma: no branch - await client.list_related_account_group_memberships(request={}) - ).pages: - pages.append(page_) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.parametrize("request_type", [ - recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest, - dict, -]) -def test_search_related_account_group_memberships(request_type, transport: str = 'grpc'): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - next_page_token='next_page_token_value', - ) - response = client.search_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.SearchRelatedAccountGroupMembershipsPager) - assert response.next_page_token == 'next_page_token_value' - - -def test_search_related_account_group_memberships_non_empty_request_with_auto_populated_field(): - # This test is a coverage failsafe to make sure that UUID4 fields are - # automatically populated, according to AIP-4235, with non-empty requests. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport='grpc', - ) - - # Populate all string fields in the request which are not UUID4 - # since we want to check that UUID4 are populated automatically - # if they meet the requirements of AIP 4235. - request = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest( - project='project_value', - account_id='account_id_value', - page_token='page_token_value', - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - call.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client.search_related_account_group_memberships(request=request) - call.assert_called() - _, args, _ = call.mock_calls[0] - assert args[0] == recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest( - project='project_value', - account_id='account_id_value', - page_token='page_token_value', - ) - -def test_search_related_account_group_memberships_use_cached_wrapped_rpc(): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._transport.search_related_account_group_memberships in client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.Mock() - mock_rpc.return_value.name = "foo" # operation_request.operation in compute client(s) expect a string. - client._transport._wrapped_methods[client._transport.search_related_account_group_memberships] = mock_rpc - request = {} - client.search_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - client.search_related_account_group_memberships(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_search_related_account_group_memberships_async_use_cached_wrapped_rpc(transport: str = "grpc_asyncio"): - # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, - # instead of constructing them on each call - with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Should wrap all calls on client creation - assert wrapper_fn.call_count > 0 - wrapper_fn.reset_mock() - - # Ensure method has been cached - assert client._client._transport.search_related_account_group_memberships in client._client._transport._wrapped_methods - - # Replace cached wrapped function with mock - mock_rpc = mock.AsyncMock() - mock_rpc.return_value = mock.Mock() - client._client._transport._wrapped_methods[client._client._transport.search_related_account_group_memberships] = mock_rpc - - request = {} - await client.search_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert mock_rpc.call_count == 1 - - await client.search_related_account_group_memberships(request) - - # Establish that a new wrapper was not created for this call - assert wrapper_fn.call_count == 0 - assert mock_rpc.call_count == 2 - -@pytest.mark.asyncio -async def test_search_related_account_group_memberships_async(transport: str = 'grpc_asyncio', request_type=recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport=transport, - ) - - # Everything is optional in proto3 as far as the runtime is concerned, - # and we are mocking out the actual API, so just send an empty request. - request = request_type() - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value =grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - next_page_token='next_page_token_value', - )) - response = await client.search_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - request = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest() - assert args[0] == request - - # Establish that the response is the type that we expect. - assert isinstance(response, pagers.SearchRelatedAccountGroupMembershipsAsyncPager) - assert response.next_page_token == 'next_page_token_value' - - -@pytest.mark.asyncio -async def test_search_related_account_group_memberships_async_from_dict(): - await test_search_related_account_group_memberships_async(request_type=dict) - -def test_search_related_account_group_memberships_field_headers(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest() - - request.project = 'project_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - call.return_value = recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse() - client.search_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'project=project_value', - ) in kw['metadata'] - - -@pytest.mark.asyncio -async def test_search_related_account_group_memberships_field_headers_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Any value that is part of the HTTP/1.1 URI should be sent as - # a field header. Set these to a non-empty value. - request = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest() - - request.project = 'project_value' - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse()) - await client.search_related_account_group_memberships(request) - - # Establish that the underlying gRPC stub method was called. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - assert args[0] == request - - # Establish that the field header was sent. - _, _, kw = call.mock_calls[0] - assert ( - 'x-goog-request-params', - 'project=project_value', - ) in kw['metadata'] - - -def test_search_related_account_group_memberships_flattened(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse() - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - client.search_related_account_group_memberships( - project='project_value', - hashed_account_id=b'hashed_account_id_blob', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) == 1 - _, args, _ = call.mock_calls[0] - arg = args[0].project - mock_val = 'project_value' - assert arg == mock_val - arg = args[0].hashed_account_id - mock_val = b'hashed_account_id_blob' - assert arg == mock_val - - -def test_search_related_account_group_memberships_flattened_error(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - client.search_related_account_group_memberships( - recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest(), - project='project_value', - hashed_account_id=b'hashed_account_id_blob', - ) - -@pytest.mark.asyncio -async def test_search_related_account_group_memberships_flattened_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse() - - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse()) - # Call the method with a truthy value for each flattened field, - # using the keyword arguments to the method. - response = await client.search_related_account_group_memberships( - project='project_value', - hashed_account_id=b'hashed_account_id_blob', - ) - - # Establish that the underlying call was made with the expected - # request object values. - assert len(call.mock_calls) - _, args, _ = call.mock_calls[0] - arg = args[0].project - mock_val = 'project_value' - assert arg == mock_val - arg = args[0].hashed_account_id - mock_val = b'hashed_account_id_blob' - assert arg == mock_val - -@pytest.mark.asyncio -async def test_search_related_account_group_memberships_flattened_error_async(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Attempting to call a method with both a request object and flattened - # fields is an error. - with pytest.raises(ValueError): - await client.search_related_account_group_memberships( - recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest(), - project='project_value', - hashed_account_id=b'hashed_account_id_blob', - ) - - -def test_search_related_account_group_memberships_pager(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='abc', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[], - next_page_token='def', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - ), - RuntimeError, - ) - - expected_metadata = () - retry = retries.Retry() - timeout = 5 - expected_metadata = tuple(expected_metadata) + ( - gapic_v1.routing_header.to_grpc_metadata(( - ('project', ''), - )), - ) - pager = client.search_related_account_group_memberships(request={}, retry=retry, timeout=timeout) - - assert pager._metadata == expected_metadata - assert pager._retry == retry - assert pager._timeout == timeout - - results = list(pager) - assert len(results) == 6 - assert all(isinstance(i, recaptchaenterprise.RelatedAccountGroupMembership) - for i in results) -def test_search_related_account_group_memberships_pages(transport_name: str = "grpc"): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport_name, - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='abc', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[], - next_page_token='def', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - ), - RuntimeError, - ) - pages = list(client.search_related_account_group_memberships(request={}).pages) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - -@pytest.mark.asyncio -async def test_search_related_account_group_memberships_async_pager(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='abc', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[], - next_page_token='def', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - ), - RuntimeError, - ) - async_pager = await client.search_related_account_group_memberships(request={},) - assert async_pager.next_page_token == 'abc' - responses = [] - async for response in async_pager: # pragma: no branch - responses.append(response) - - assert len(responses) == 6 - assert all(isinstance(i, recaptchaenterprise.RelatedAccountGroupMembership) - for i in responses) - - -@pytest.mark.asyncio -async def test_search_related_account_group_memberships_async_pages(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - ) - - # Mock the actual call within the gRPC stub, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__', new_callable=mock.AsyncMock) as call: - # Set the response to a series of pages. - call.side_effect = ( - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='abc', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[], - next_page_token='def', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - next_page_token='ghi', - ), - recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - related_account_group_memberships=[ - recaptchaenterprise.RelatedAccountGroupMembership(), - recaptchaenterprise.RelatedAccountGroupMembership(), - ], - ), - RuntimeError, - ) - pages = [] - # Workaround issue in python 3.9 related to code coverage by adding `# pragma: no branch` - # See https://github.com/googleapis/gapic-generator-python/pull/1174#issuecomment-1025132372 - async for page_ in ( # pragma: no branch - await client.search_related_account_group_memberships(request={}) - ).pages: - pages.append(page_) - for page_, token in zip(pages, ['abc','def','ghi', '']): - assert page_.raw_page.next_page_token == token - - -def test_credentials_transport_error(): - # It is an error to provide credentials and a transport instance. - transport = transports.RecaptchaEnterpriseServiceGrpcTransport( - credentials=ga_credentials.AnonymousCredentials(), - ) - with pytest.raises(ValueError): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport, - ) - - # It is an error to provide a credentials file and a transport instance. - transport = transports.RecaptchaEnterpriseServiceGrpcTransport( - credentials=ga_credentials.AnonymousCredentials(), - ) - with pytest.raises(ValueError): - client = RecaptchaEnterpriseServiceClient( - client_options={"credentials_file": "credentials.json"}, - transport=transport, - ) - - # It is an error to provide an api_key and a transport instance. - transport = transports.RecaptchaEnterpriseServiceGrpcTransport( - credentials=ga_credentials.AnonymousCredentials(), - ) - options = client_options.ClientOptions() - options.api_key = "api_key" - with pytest.raises(ValueError): - client = RecaptchaEnterpriseServiceClient( - client_options=options, - transport=transport, - ) - - # It is an error to provide an api_key and a credential. - options = client_options.ClientOptions() - options.api_key = "api_key" - with pytest.raises(ValueError): - client = RecaptchaEnterpriseServiceClient( - client_options=options, - credentials=ga_credentials.AnonymousCredentials() - ) - - # It is an error to provide scopes and a transport instance. - transport = transports.RecaptchaEnterpriseServiceGrpcTransport( - credentials=ga_credentials.AnonymousCredentials(), - ) - with pytest.raises(ValueError): - client = RecaptchaEnterpriseServiceClient( - client_options={"scopes": ["1", "2"]}, - transport=transport, - ) - - -def test_transport_instance(): - # A client may be instantiated with a custom transport instance. - transport = transports.RecaptchaEnterpriseServiceGrpcTransport( - credentials=ga_credentials.AnonymousCredentials(), - ) - client = RecaptchaEnterpriseServiceClient(transport=transport) - assert client.transport is transport - -def test_transport_get_channel(): - # A client may be instantiated with a custom transport instance. - transport = transports.RecaptchaEnterpriseServiceGrpcTransport( - credentials=ga_credentials.AnonymousCredentials(), - ) - channel = transport.grpc_channel - assert channel - - transport = transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport( - credentials=ga_credentials.AnonymousCredentials(), - ) - channel = transport.grpc_channel - assert channel - -@pytest.mark.parametrize("transport_class", [ - transports.RecaptchaEnterpriseServiceGrpcTransport, - transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, -]) -def test_transport_adc(transport_class): - # Test default credentials are used if not provided. - with mock.patch.object(google.auth, 'default') as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - transport_class() - adc.assert_called_once() - -def test_transport_kind_grpc(): - transport = RecaptchaEnterpriseServiceClient.get_transport_class("grpc")( - credentials=ga_credentials.AnonymousCredentials() - ) - assert transport.kind == "grpc" - - -def test_initialize_client_w_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc" - ) - assert client is not None - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_create_assessment_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.create_assessment), - '__call__') as call: - call.return_value = recaptchaenterprise.Assessment() - client.create_assessment(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.CreateAssessmentRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_annotate_assessment_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.annotate_assessment), - '__call__') as call: - call.return_value = recaptchaenterprise.AnnotateAssessmentResponse() - client.annotate_assessment(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.AnnotateAssessmentRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_create_key_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.create_key), - '__call__') as call: - call.return_value = recaptchaenterprise.Key() - client.create_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.CreateKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_list_keys_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - call.return_value = recaptchaenterprise.ListKeysResponse() - client.list_keys(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListKeysRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_retrieve_legacy_secret_key_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.retrieve_legacy_secret_key), - '__call__') as call: - call.return_value = recaptchaenterprise.RetrieveLegacySecretKeyResponse() - client.retrieve_legacy_secret_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.RetrieveLegacySecretKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_get_key_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.get_key), - '__call__') as call: - call.return_value = recaptchaenterprise.Key() - client.get_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.GetKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_update_key_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.update_key), - '__call__') as call: - call.return_value = recaptchaenterprise.Key() - client.update_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.UpdateKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_delete_key_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.delete_key), - '__call__') as call: - call.return_value = None - client.delete_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.DeleteKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_migrate_key_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.migrate_key), - '__call__') as call: - call.return_value = recaptchaenterprise.Key() - client.migrate_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.MigrateKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_add_ip_override_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.add_ip_override), - '__call__') as call: - call.return_value = recaptchaenterprise.AddIpOverrideResponse() - client.add_ip_override(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.AddIpOverrideRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_remove_ip_override_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.remove_ip_override), - '__call__') as call: - call.return_value = recaptchaenterprise.RemoveIpOverrideResponse() - client.remove_ip_override(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.RemoveIpOverrideRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_list_ip_overrides_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - call.return_value = recaptchaenterprise.ListIpOverridesResponse() - client.list_ip_overrides(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListIpOverridesRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_get_metrics_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.get_metrics), - '__call__') as call: - call.return_value = recaptchaenterprise.Metrics() - client.get_metrics(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.GetMetricsRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_create_firewall_policy_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.create_firewall_policy), - '__call__') as call: - call.return_value = recaptchaenterprise.FirewallPolicy() - client.create_firewall_policy(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.CreateFirewallPolicyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_list_firewall_policies_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - call.return_value = recaptchaenterprise.ListFirewallPoliciesResponse() - client.list_firewall_policies(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListFirewallPoliciesRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_get_firewall_policy_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.get_firewall_policy), - '__call__') as call: - call.return_value = recaptchaenterprise.FirewallPolicy() - client.get_firewall_policy(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.GetFirewallPolicyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_update_firewall_policy_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.update_firewall_policy), - '__call__') as call: - call.return_value = recaptchaenterprise.FirewallPolicy() - client.update_firewall_policy(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.UpdateFirewallPolicyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_delete_firewall_policy_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.delete_firewall_policy), - '__call__') as call: - call.return_value = None - client.delete_firewall_policy(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.DeleteFirewallPolicyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_reorder_firewall_policies_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.reorder_firewall_policies), - '__call__') as call: - call.return_value = recaptchaenterprise.ReorderFirewallPoliciesResponse() - client.reorder_firewall_policies(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ReorderFirewallPoliciesRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_list_related_account_groups_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - call.return_value = recaptchaenterprise.ListRelatedAccountGroupsResponse() - client.list_related_account_groups(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListRelatedAccountGroupsRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_list_related_account_group_memberships_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - call.return_value = recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse() - client.list_related_account_group_memberships(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -def test_search_related_account_group_memberships_empty_call_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - call.return_value = recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse() - client.search_related_account_group_memberships(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest() - - assert args[0] == request_msg - - -def test_transport_kind_grpc_asyncio(): - transport = RecaptchaEnterpriseServiceAsyncClient.get_transport_class("grpc_asyncio")( - credentials=async_anonymous_credentials() - ) - assert transport.kind == "grpc_asyncio" - - -def test_initialize_client_w_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio" - ) - assert client is not None - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_create_assessment_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.create_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Assessment( - name='name_value', - )) - await client.create_assessment(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.CreateAssessmentRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_annotate_assessment_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.annotate_assessment), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.AnnotateAssessmentResponse( - )) - await client.annotate_assessment(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.AnnotateAssessmentRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_create_key_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.create_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - )) - await client.create_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.CreateKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_list_keys_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_keys), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListKeysResponse( - next_page_token='next_page_token_value', - )) - await client.list_keys(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListKeysRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_retrieve_legacy_secret_key_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.retrieve_legacy_secret_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.RetrieveLegacySecretKeyResponse( - legacy_secret_key='legacy_secret_key_value', - )) - await client.retrieve_legacy_secret_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.RetrieveLegacySecretKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_get_key_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.get_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - )) - await client.get_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.GetKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_update_key_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.update_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - )) - await client.update_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.UpdateKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_delete_key_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.delete_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(None) - await client.delete_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.DeleteKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_migrate_key_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.migrate_key), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Key( - name='name_value', - display_name='display_name_value', - )) - await client.migrate_key(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.MigrateKeyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_add_ip_override_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.add_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.AddIpOverrideResponse( - )) - await client.add_ip_override(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.AddIpOverrideRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_remove_ip_override_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.remove_ip_override), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.RemoveIpOverrideResponse( - )) - await client.remove_ip_override(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.RemoveIpOverrideRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_list_ip_overrides_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_ip_overrides), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListIpOverridesResponse( - next_page_token='next_page_token_value', - )) - await client.list_ip_overrides(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListIpOverridesRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_get_metrics_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.get_metrics), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.Metrics( - name='name_value', - )) - await client.get_metrics(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.GetMetricsRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_create_firewall_policy_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.create_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy( - name='name_value', - description='description_value', - path='path_value', - condition='condition_value', - )) - await client.create_firewall_policy(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.CreateFirewallPolicyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_list_firewall_policies_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListFirewallPoliciesResponse( - next_page_token='next_page_token_value', - )) - await client.list_firewall_policies(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListFirewallPoliciesRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_get_firewall_policy_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.get_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy( - name='name_value', - description='description_value', - path='path_value', - condition='condition_value', - )) - await client.get_firewall_policy(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.GetFirewallPolicyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_update_firewall_policy_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.update_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.FirewallPolicy( - name='name_value', - description='description_value', - path='path_value', - condition='condition_value', - )) - await client.update_firewall_policy(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.UpdateFirewallPolicyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_delete_firewall_policy_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.delete_firewall_policy), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(None) - await client.delete_firewall_policy(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.DeleteFirewallPolicyRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_reorder_firewall_policies_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.reorder_firewall_policies), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ReorderFirewallPoliciesResponse( - )) - await client.reorder_firewall_policies(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ReorderFirewallPoliciesRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_list_related_account_groups_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_groups), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListRelatedAccountGroupsResponse( - next_page_token='next_page_token_value', - )) - await client.list_related_account_groups(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListRelatedAccountGroupsRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_list_related_account_group_memberships_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.list_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.ListRelatedAccountGroupMembershipsResponse( - next_page_token='next_page_token_value', - )) - await client.list_related_account_group_memberships(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.ListRelatedAccountGroupMembershipsRequest() - - assert args[0] == request_msg - - -# This test is a coverage failsafe to make sure that totally empty calls, -# i.e. request == None and no flattened fields passed, work. -@pytest.mark.asyncio -async def test_search_related_account_group_memberships_empty_call_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio", - ) - - # Mock the actual call, and fake the request. - with mock.patch.object( - type(client.transport.search_related_account_group_memberships), - '__call__') as call: - # Designate an appropriate return value for the call. - call.return_value = grpc_helpers_async.FakeUnaryUnaryCall(recaptchaenterprise.SearchRelatedAccountGroupMembershipsResponse( - next_page_token='next_page_token_value', - )) - await client.search_related_account_group_memberships(request=None) - - # Establish that the underlying stub method was called. - call.assert_called() - _, args, _ = call.mock_calls[0] - request_msg = recaptchaenterprise.SearchRelatedAccountGroupMembershipsRequest() - - assert args[0] == request_msg - - -def test_transport_grpc_default(): - # A client should use the gRPC transport by default. - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - ) - assert isinstance( - client.transport, - transports.RecaptchaEnterpriseServiceGrpcTransport, - ) - -def test_recaptcha_enterprise_service_base_transport_error(): - # Passing both a credentials object and credentials_file should raise an error - with pytest.raises(core_exceptions.DuplicateCredentialArgs): - transport = transports.RecaptchaEnterpriseServiceTransport( - credentials=ga_credentials.AnonymousCredentials(), - credentials_file="credentials.json" - ) - - -def test_recaptcha_enterprise_service_base_transport(): - # Instantiate the base transport. - with mock.patch('google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.transports.RecaptchaEnterpriseServiceTransport.__init__') as Transport: - Transport.return_value = None - transport = transports.RecaptchaEnterpriseServiceTransport( - credentials=ga_credentials.AnonymousCredentials(), - ) - - # Every method on the transport should just blindly - # raise NotImplementedError. - methods = ( - 'create_assessment', - 'annotate_assessment', - 'create_key', - 'list_keys', - 'retrieve_legacy_secret_key', - 'get_key', - 'update_key', - 'delete_key', - 'migrate_key', - 'add_ip_override', - 'remove_ip_override', - 'list_ip_overrides', - 'get_metrics', - 'create_firewall_policy', - 'list_firewall_policies', - 'get_firewall_policy', - 'update_firewall_policy', - 'delete_firewall_policy', - 'reorder_firewall_policies', - 'list_related_account_groups', - 'list_related_account_group_memberships', - 'search_related_account_group_memberships', - ) - for method in methods: - with pytest.raises(NotImplementedError): - getattr(transport, method)(request=object()) - - with pytest.raises(NotImplementedError): - transport.close() - - # Catch all for all remaining methods and properties - remainder = [ - 'kind', - ] - for r in remainder: - with pytest.raises(NotImplementedError): - getattr(transport, r)() - - -def test_recaptcha_enterprise_service_base_transport_with_credentials_file(): - # Instantiate the base transport with a credentials file - with mock.patch.object(google.auth, 'load_credentials_from_file', autospec=True) as load_creds, mock.patch('google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.transports.RecaptchaEnterpriseServiceTransport._prep_wrapped_messages') as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.RecaptchaEnterpriseServiceTransport( - credentials_file="credentials.json", - quota_project_id="octopus", - ) - load_creds.assert_called_once_with("credentials.json", - scopes=None, - default_scopes=( - 'https://www.googleapis.com/auth/cloud-platform', -), - quota_project_id="octopus", - ) - - -def test_recaptcha_enterprise_service_base_transport_with_adc(): - # Test the default credentials are used if credentials and credentials_file are None. - with mock.patch.object(google.auth, 'default', autospec=True) as adc, mock.patch('google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.transports.RecaptchaEnterpriseServiceTransport._prep_wrapped_messages') as Transport: - Transport.return_value = None - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.RecaptchaEnterpriseServiceTransport() - adc.assert_called_once() - - -def test_recaptcha_enterprise_service_auth_adc(): - # If no credentials are provided, we should use ADC credentials. - with mock.patch.object(google.auth, 'default', autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - RecaptchaEnterpriseServiceClient() - adc.assert_called_once_with( - scopes=None, - default_scopes=( - 'https://www.googleapis.com/auth/cloud-platform', -), - quota_project_id=None, - ) - - -@pytest.mark.parametrize( - "transport_class", - [ - transports.RecaptchaEnterpriseServiceGrpcTransport, - transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, - ], -) -def test_recaptcha_enterprise_service_transport_auth_adc(transport_class): - # If credentials and host are not provided, the transport class should use - # ADC credentials. - with mock.patch.object(google.auth, 'default', autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - transport_class(quota_project_id="octopus", scopes=["1", "2"]) - adc.assert_called_once_with( - scopes=["1", "2"], - default_scopes=( 'https://www.googleapis.com/auth/cloud-platform',), - quota_project_id="octopus", - ) - - -@pytest.mark.parametrize( - "transport_class", - [ - transports.RecaptchaEnterpriseServiceGrpcTransport, - transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, - ], -) -def test_recaptcha_enterprise_service_transport_auth_gdch_credentials(transport_class): - host = 'https://language.com' - api_audience_tests = [None, 'https://language2.com'] - api_audience_expect = [host, 'https://language2.com'] - for t, e in zip(api_audience_tests, api_audience_expect): - with mock.patch.object(google.auth, 'default', autospec=True) as adc: - gdch_mock = mock.MagicMock() - type(gdch_mock).with_gdch_audience = mock.PropertyMock(return_value=gdch_mock) - adc.return_value = (gdch_mock, None) - transport_class(host=host, api_audience=t) - gdch_mock.with_gdch_audience.assert_called_once_with( - e - ) - - -@pytest.mark.parametrize( - "transport_class,grpc_helpers", - [ - (transports.RecaptchaEnterpriseServiceGrpcTransport, grpc_helpers), - (transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport, grpc_helpers_async) - ], -) -def test_recaptcha_enterprise_service_transport_create_channel(transport_class, grpc_helpers): - # If credentials and host are not provided, the transport class should use - # ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch.object( - grpc_helpers, "create_channel", autospec=True - ) as create_channel: - creds = ga_credentials.AnonymousCredentials() - adc.return_value = (creds, None) - transport_class( - quota_project_id="octopus", - scopes=["1", "2"] - ) - - create_channel.assert_called_with( - "recaptchaenterprise.googleapis.com:443", - credentials=creds, - credentials_file=None, - quota_project_id="octopus", - default_scopes=( - 'https://www.googleapis.com/auth/cloud-platform', -), - scopes=["1", "2"], - default_host="recaptchaenterprise.googleapis.com", - ssl_credentials=None, - options=[ - ("grpc.max_send_message_length", -1), - ("grpc.max_receive_message_length", -1), - ], - ) - - -@pytest.mark.parametrize("transport_class", [transports.RecaptchaEnterpriseServiceGrpcTransport, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport]) -def test_recaptcha_enterprise_service_grpc_transport_client_cert_source_for_mtls( - transport_class -): - cred = ga_credentials.AnonymousCredentials() - - # Check ssl_channel_credentials is used if provided. - with mock.patch.object(transport_class, "create_channel") as mock_create_channel: - mock_ssl_channel_creds = mock.Mock() - transport_class( - host="squid.clam.whelk", - credentials=cred, - ssl_channel_credentials=mock_ssl_channel_creds - ) - mock_create_channel.assert_called_once_with( - "squid.clam.whelk:443", - credentials=cred, - credentials_file=None, - scopes=None, - ssl_credentials=mock_ssl_channel_creds, - quota_project_id=None, - options=[ - ("grpc.max_send_message_length", -1), - ("grpc.max_receive_message_length", -1), - ], - ) - - # Check if ssl_channel_credentials is not provided, then client_cert_source_for_mtls - # is used. - with mock.patch.object(transport_class, "create_channel", return_value=mock.Mock()): - with mock.patch("grpc.ssl_channel_credentials") as mock_ssl_cred: - transport_class( - credentials=cred, - client_cert_source_for_mtls=client_cert_source_callback - ) - expected_cert, expected_key = client_cert_source_callback() - mock_ssl_cred.assert_called_once_with( - certificate_chain=expected_cert, - private_key=expected_key - ) - - -@pytest.mark.parametrize("transport_name", [ - "grpc", - "grpc_asyncio", -]) -def test_recaptcha_enterprise_service_host_no_port(transport_name): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - client_options=client_options.ClientOptions(api_endpoint='recaptchaenterprise.googleapis.com'), - transport=transport_name, - ) - assert client.transport._host == ( - 'recaptchaenterprise.googleapis.com:443' - ) - -@pytest.mark.parametrize("transport_name", [ - "grpc", - "grpc_asyncio", -]) -def test_recaptcha_enterprise_service_host_with_port(transport_name): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - client_options=client_options.ClientOptions(api_endpoint='recaptchaenterprise.googleapis.com:8000'), - transport=transport_name, - ) - assert client.transport._host == ( - 'recaptchaenterprise.googleapis.com:8000' - ) - -def test_recaptcha_enterprise_service_grpc_transport_channel(): - channel = grpc.secure_channel('http://localhost/', grpc.local_channel_credentials()) - - # Check that channel is used if provided. - transport = transports.RecaptchaEnterpriseServiceGrpcTransport( - host="squid.clam.whelk", - channel=channel, - ) - assert transport.grpc_channel == channel - assert transport._host == "squid.clam.whelk:443" - assert transport._ssl_channel_credentials == None - - -def test_recaptcha_enterprise_service_grpc_asyncio_transport_channel(): - channel = aio.secure_channel('http://localhost/', grpc.local_channel_credentials()) - - # Check that channel is used if provided. - transport = transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport( - host="squid.clam.whelk", - channel=channel, - ) - assert transport.grpc_channel == channel - assert transport._host == "squid.clam.whelk:443" - assert transport._ssl_channel_credentials == None - - -# Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are -# removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.parametrize("transport_class", [transports.RecaptchaEnterpriseServiceGrpcTransport, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport]) -def test_recaptcha_enterprise_service_transport_channel_mtls_with_client_cert_source( - transport_class -): - with mock.patch("grpc.ssl_channel_credentials", autospec=True) as grpc_ssl_channel_cred: - with mock.patch.object(transport_class, "create_channel") as grpc_create_channel: - mock_ssl_cred = mock.Mock() - grpc_ssl_channel_cred.return_value = mock_ssl_cred - - mock_grpc_channel = mock.Mock() - grpc_create_channel.return_value = mock_grpc_channel - - cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): - with mock.patch.object(google.auth, 'default') as adc: - adc.return_value = (cred, None) - transport = transport_class( - host="squid.clam.whelk", - api_mtls_endpoint="mtls.squid.clam.whelk", - client_cert_source=client_cert_source_callback, - ) - adc.assert_called_once() - - grpc_ssl_channel_cred.assert_called_once_with( - certificate_chain=b"cert bytes", private_key=b"key bytes" - ) - grpc_create_channel.assert_called_once_with( - "mtls.squid.clam.whelk:443", - credentials=cred, - credentials_file=None, - scopes=None, - ssl_credentials=mock_ssl_cred, - quota_project_id=None, - options=[ - ("grpc.max_send_message_length", -1), - ("grpc.max_receive_message_length", -1), - ], - ) - assert transport.grpc_channel == mock_grpc_channel - assert transport._ssl_channel_credentials == mock_ssl_cred - - -# Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are -# removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.parametrize("transport_class", [transports.RecaptchaEnterpriseServiceGrpcTransport, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport]) -def test_recaptcha_enterprise_service_transport_channel_mtls_with_adc( - transport_class -): - mock_ssl_cred = mock.Mock() - with mock.patch.multiple( - "google.auth.transport.grpc.SslCredentials", - __init__=mock.Mock(return_value=None), - ssl_credentials=mock.PropertyMock(return_value=mock_ssl_cred), - ): - with mock.patch.object(transport_class, "create_channel") as grpc_create_channel: - mock_grpc_channel = mock.Mock() - grpc_create_channel.return_value = mock_grpc_channel - mock_cred = mock.Mock() - - with pytest.warns(DeprecationWarning): - transport = transport_class( - host="squid.clam.whelk", - credentials=mock_cred, - api_mtls_endpoint="mtls.squid.clam.whelk", - client_cert_source=None, - ) - - grpc_create_channel.assert_called_once_with( - "mtls.squid.clam.whelk:443", - credentials=mock_cred, - credentials_file=None, - scopes=None, - ssl_credentials=mock_ssl_cred, - quota_project_id=None, - options=[ - ("grpc.max_send_message_length", -1), - ("grpc.max_receive_message_length", -1), - ], - ) - assert transport.grpc_channel == mock_grpc_channel - - -def test_assessment_path(): - project = "squid" - assessment = "clam" - expected = "projects/{project}/assessments/{assessment}".format(project=project, assessment=assessment, ) - actual = RecaptchaEnterpriseServiceClient.assessment_path(project, assessment) - assert expected == actual - - -def test_parse_assessment_path(): - expected = { - "project": "whelk", - "assessment": "octopus", - } - path = RecaptchaEnterpriseServiceClient.assessment_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_assessment_path(path) - assert expected == actual - -def test_firewall_policy_path(): - project = "oyster" - firewallpolicy = "nudibranch" - expected = "projects/{project}/firewallpolicies/{firewallpolicy}".format(project=project, firewallpolicy=firewallpolicy, ) - actual = RecaptchaEnterpriseServiceClient.firewall_policy_path(project, firewallpolicy) - assert expected == actual - - -def test_parse_firewall_policy_path(): - expected = { - "project": "cuttlefish", - "firewallpolicy": "mussel", - } - path = RecaptchaEnterpriseServiceClient.firewall_policy_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_firewall_policy_path(path) - assert expected == actual - -def test_key_path(): - project = "winkle" - key = "nautilus" - expected = "projects/{project}/keys/{key}".format(project=project, key=key, ) - actual = RecaptchaEnterpriseServiceClient.key_path(project, key) - assert expected == actual - - -def test_parse_key_path(): - expected = { - "project": "scallop", - "key": "abalone", - } - path = RecaptchaEnterpriseServiceClient.key_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_key_path(path) - assert expected == actual - -def test_metrics_path(): - project = "squid" - key = "clam" - expected = "projects/{project}/keys/{key}/metrics".format(project=project, key=key, ) - actual = RecaptchaEnterpriseServiceClient.metrics_path(project, key) - assert expected == actual - - -def test_parse_metrics_path(): - expected = { - "project": "whelk", - "key": "octopus", - } - path = RecaptchaEnterpriseServiceClient.metrics_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_metrics_path(path) - assert expected == actual - -def test_related_account_group_path(): - project = "oyster" - relatedaccountgroup = "nudibranch" - expected = "projects/{project}/relatedaccountgroups/{relatedaccountgroup}".format(project=project, relatedaccountgroup=relatedaccountgroup, ) - actual = RecaptchaEnterpriseServiceClient.related_account_group_path(project, relatedaccountgroup) - assert expected == actual - - -def test_parse_related_account_group_path(): - expected = { - "project": "cuttlefish", - "relatedaccountgroup": "mussel", - } - path = RecaptchaEnterpriseServiceClient.related_account_group_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_related_account_group_path(path) - assert expected == actual - -def test_related_account_group_membership_path(): - project = "winkle" - relatedaccountgroup = "nautilus" - membership = "scallop" - expected = "projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}".format(project=project, relatedaccountgroup=relatedaccountgroup, membership=membership, ) - actual = RecaptchaEnterpriseServiceClient.related_account_group_membership_path(project, relatedaccountgroup, membership) - assert expected == actual - - -def test_parse_related_account_group_membership_path(): - expected = { - "project": "abalone", - "relatedaccountgroup": "squid", - "membership": "clam", - } - path = RecaptchaEnterpriseServiceClient.related_account_group_membership_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_related_account_group_membership_path(path) - assert expected == actual - -def test_common_billing_account_path(): - billing_account = "whelk" - expected = "billingAccounts/{billing_account}".format(billing_account=billing_account, ) - actual = RecaptchaEnterpriseServiceClient.common_billing_account_path(billing_account) - assert expected == actual - - -def test_parse_common_billing_account_path(): - expected = { - "billing_account": "octopus", - } - path = RecaptchaEnterpriseServiceClient.common_billing_account_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_common_billing_account_path(path) - assert expected == actual - -def test_common_folder_path(): - folder = "oyster" - expected = "folders/{folder}".format(folder=folder, ) - actual = RecaptchaEnterpriseServiceClient.common_folder_path(folder) - assert expected == actual - - -def test_parse_common_folder_path(): - expected = { - "folder": "nudibranch", - } - path = RecaptchaEnterpriseServiceClient.common_folder_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_common_folder_path(path) - assert expected == actual - -def test_common_organization_path(): - organization = "cuttlefish" - expected = "organizations/{organization}".format(organization=organization, ) - actual = RecaptchaEnterpriseServiceClient.common_organization_path(organization) - assert expected == actual - - -def test_parse_common_organization_path(): - expected = { - "organization": "mussel", - } - path = RecaptchaEnterpriseServiceClient.common_organization_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_common_organization_path(path) - assert expected == actual - -def test_common_project_path(): - project = "winkle" - expected = "projects/{project}".format(project=project, ) - actual = RecaptchaEnterpriseServiceClient.common_project_path(project) - assert expected == actual - - -def test_parse_common_project_path(): - expected = { - "project": "nautilus", - } - path = RecaptchaEnterpriseServiceClient.common_project_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_common_project_path(path) - assert expected == actual - -def test_common_location_path(): - project = "scallop" - location = "abalone" - expected = "projects/{project}/locations/{location}".format(project=project, location=location, ) - actual = RecaptchaEnterpriseServiceClient.common_location_path(project, location) - assert expected == actual - - -def test_parse_common_location_path(): - expected = { - "project": "squid", - "location": "clam", - } - path = RecaptchaEnterpriseServiceClient.common_location_path(**expected) - - # Check that the path construction is reversible. - actual = RecaptchaEnterpriseServiceClient.parse_common_location_path(path) - assert expected == actual - - -def test_client_with_default_client_info(): - client_info = gapic_v1.client_info.ClientInfo() - - with mock.patch.object(transports.RecaptchaEnterpriseServiceTransport, '_prep_wrapped_messages') as prep: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - client_info=client_info, - ) - prep.assert_called_once_with(client_info) - - with mock.patch.object(transports.RecaptchaEnterpriseServiceTransport, '_prep_wrapped_messages') as prep: - transport_class = RecaptchaEnterpriseServiceClient.get_transport_class() - transport = transport_class( - credentials=ga_credentials.AnonymousCredentials(), - client_info=client_info, - ) - prep.assert_called_once_with(client_info) - - -def test_transport_close_grpc(): - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport="grpc" - ) - with mock.patch.object(type(getattr(client.transport, "_grpc_channel")), "close") as close: - with client: - close.assert_not_called() - close.assert_called_once() - - -@pytest.mark.asyncio -async def test_transport_close_grpc_asyncio(): - client = RecaptchaEnterpriseServiceAsyncClient( - credentials=async_anonymous_credentials(), - transport="grpc_asyncio" - ) - with mock.patch.object(type(getattr(client.transport, "_grpc_channel")), "close") as close: - async with client: - close.assert_not_called() - close.assert_called_once() - - -def test_client_ctx(): - transports = [ - 'grpc', - ] - for transport in transports: - client = RecaptchaEnterpriseServiceClient( - credentials=ga_credentials.AnonymousCredentials(), - transport=transport - ) - # Test client calls underlying transport. - with mock.patch.object(type(client.transport), "close") as close: - close.assert_not_called() - with client: - pass - close.assert_called() - -@pytest.mark.parametrize("client_class,transport_class", [ - (RecaptchaEnterpriseServiceClient, transports.RecaptchaEnterpriseServiceGrpcTransport), - (RecaptchaEnterpriseServiceAsyncClient, transports.RecaptchaEnterpriseServiceGrpcAsyncIOTransport), -]) -def test_api_key_credentials(client_class, transport_class): - with mock.patch.object( - google.auth._default, "get_api_key_credentials", create=True - ) as get_api_key_credentials: - mock_cred = mock.Mock() - get_api_key_credentials.return_value = mock_cred - options = client_options.ClientOptions() - options.api_key = "api_key" - with mock.patch.object(transport_class, "__init__") as patched: - patched.return_value = None - client = client_class(client_options=options) - patched.assert_called_once_with( - credentials=mock_cred, - credentials_file=None, - host=client._DEFAULT_ENDPOINT_TEMPLATE.format(UNIVERSE_DOMAIN=client._DEFAULT_UNIVERSE), - scopes=None, - client_cert_source_for_mtls=None, - quota_project_id=None, - client_info=transports.base.DEFAULT_CLIENT_INFO, - always_use_jwt_access=True, - api_audience=None, - ) diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise/__init__.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise/__init__.py index 74085402cea4..cab44f14d8ed 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise/__init__.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise/__init__.py @@ -57,6 +57,8 @@ Key, ListFirewallPoliciesRequest, ListFirewallPoliciesResponse, + ListIpOverridesRequest, + ListIpOverridesResponse, ListKeysRequest, ListKeysResponse, ListRelatedAccountGroupMembershipsRequest, @@ -69,6 +71,8 @@ PrivatePasswordLeakVerification, RelatedAccountGroup, RelatedAccountGroupMembership, + RemoveIpOverrideRequest, + RemoveIpOverrideResponse, ReorderFirewallPoliciesRequest, ReorderFirewallPoliciesResponse, RetrieveLegacySecretKeyRequest, @@ -126,6 +130,8 @@ "Key", "ListFirewallPoliciesRequest", "ListFirewallPoliciesResponse", + "ListIpOverridesRequest", + "ListIpOverridesResponse", "ListKeysRequest", "ListKeysResponse", "ListRelatedAccountGroupMembershipsRequest", @@ -138,6 +144,8 @@ "PrivatePasswordLeakVerification", "RelatedAccountGroup", "RelatedAccountGroupMembership", + "RemoveIpOverrideRequest", + "RemoveIpOverrideResponse", "ReorderFirewallPoliciesRequest", "ReorderFirewallPoliciesResponse", "RetrieveLegacySecretKeyRequest", diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise/gapic_version.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise/gapic_version.py index c8313abd74cb..558c8aab67c5 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise/gapic_version.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "1.23.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/__init__.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/__init__.py index 872b50ab387a..648463089928 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/__init__.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/__init__.py @@ -55,6 +55,8 @@ Key, ListFirewallPoliciesRequest, ListFirewallPoliciesResponse, + ListIpOverridesRequest, + ListIpOverridesResponse, ListKeysRequest, ListKeysResponse, ListRelatedAccountGroupMembershipsRequest, @@ -67,6 +69,8 @@ PrivatePasswordLeakVerification, RelatedAccountGroup, RelatedAccountGroupMembership, + RemoveIpOverrideRequest, + RemoveIpOverrideResponse, ReorderFirewallPoliciesRequest, ReorderFirewallPoliciesResponse, RetrieveLegacySecretKeyRequest, @@ -123,6 +127,8 @@ "Key", "ListFirewallPoliciesRequest", "ListFirewallPoliciesResponse", + "ListIpOverridesRequest", + "ListIpOverridesResponse", "ListKeysRequest", "ListKeysResponse", "ListRelatedAccountGroupMembershipsRequest", @@ -136,6 +142,8 @@ "RecaptchaEnterpriseServiceClient", "RelatedAccountGroup", "RelatedAccountGroupMembership", + "RemoveIpOverrideRequest", + "RemoveIpOverrideResponse", "ReorderFirewallPoliciesRequest", "ReorderFirewallPoliciesResponse", "RetrieveLegacySecretKeyRequest", diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/gapic_metadata.json b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/gapic_metadata.json index 8722f66f3086..fc9061dcda44 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/gapic_metadata.json +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/gapic_metadata.json @@ -65,6 +65,11 @@ "list_firewall_policies" ] }, + "ListIpOverrides": { + "methods": [ + "list_ip_overrides" + ] + }, "ListKeys": { "methods": [ "list_keys" @@ -85,6 +90,11 @@ "migrate_key" ] }, + "RemoveIpOverride": { + "methods": [ + "remove_ip_override" + ] + }, "ReorderFirewallPolicies": { "methods": [ "reorder_firewall_policies" @@ -170,6 +180,11 @@ "list_firewall_policies" ] }, + "ListIpOverrides": { + "methods": [ + "list_ip_overrides" + ] + }, "ListKeys": { "methods": [ "list_keys" @@ -190,6 +205,11 @@ "migrate_key" ] }, + "RemoveIpOverride": { + "methods": [ + "remove_ip_override" + ] + }, "ReorderFirewallPolicies": { "methods": [ "reorder_firewall_policies" diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/gapic_version.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/gapic_version.py index c8313abd74cb..558c8aab67c5 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/gapic_version.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "1.23.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/async_client.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/async_client.py index 1ae940ad5ff1..4350a7dc29ac 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/async_client.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/async_client.py @@ -705,7 +705,7 @@ async def sample_list_keys(): The request object. The list keys request message. parent (:class:`str`): Required. The name of the project that contains the keys - that are listed, in the format ``projects/{project}``. + that is listed, in the format ``projects/{project}``. This corresponds to the ``parent`` field on the ``request`` instance; if ``request`` is provided, this @@ -1424,6 +1424,256 @@ async def sample_add_ip_override(): # Done; return the response. return response + async def remove_ip_override( + self, + request: Optional[ + Union[recaptchaenterprise.RemoveIpOverrideRequest, dict] + ] = None, + *, + name: Optional[str] = None, + ip_override_data: Optional[recaptchaenterprise.IpOverrideData] = None, + retry: OptionalRetry = gapic_v1.method.DEFAULT, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, + metadata: Sequence[Tuple[str, str]] = (), + ) -> recaptchaenterprise.RemoveIpOverrideResponse: + r"""Removes an IP override from a key. The following restrictions + hold: + + - If the IP isn't found in an existing IP override, a + ``NOT_FOUND`` error is returned. + - If the IP is found in an existing IP override, but the + override type does not match, a ``NOT_FOUND`` error is + returned. + + .. code-block:: python + + # This snippet has been automatically generated and should be regarded as a + # code template only. + # It will require modifications to work: + # - It may require correct/in-range values for request initialization. + # - It may require specifying regional endpoints when creating the service + # client as shown in: + # https://googleapis.dev/python/google-api-core/latest/client_options.html + from google.cloud import recaptchaenterprise_v1 + + async def sample_remove_ip_override(): + # Create a client + client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() + + # Initialize request argument(s) + ip_override_data = recaptchaenterprise_v1.IpOverrideData() + ip_override_data.ip = "ip_value" + ip_override_data.override_type = "ALLOW" + + request = recaptchaenterprise_v1.RemoveIpOverrideRequest( + name="name_value", + ip_override_data=ip_override_data, + ) + + # Make the request + response = await client.remove_ip_override(request=request) + + # Handle the response + print(response) + + Args: + request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideRequest, dict]]): + The request object. The removeIpOverride request message. + name (:class:`str`): + Required. The name of the key from which the IP override + is removed, in the format + ``projects/{project}/keys/{key}``. + + This corresponds to the ``name`` field + on the ``request`` instance; if ``request`` is provided, this + should not be set. + ip_override_data (:class:`google.cloud.recaptchaenterprise_v1.types.IpOverrideData`): + Required. IP override to be removed + from the key. + + This corresponds to the ``ip_override_data`` field + on the ``request`` instance; if ``request`` is provided, this + should not be set. + retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, + should be retried. + timeout (float): The timeout for this request. + metadata (Sequence[Tuple[str, str]]): Strings which should be + sent along with the request as metadata. + + Returns: + google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideResponse: + Response for RemoveIpOverride. + """ + # Create or coerce a protobuf request object. + # - Quick check: If we got a request object, we should *not* have + # gotten any keyword arguments that map to the request. + has_flattened_params = any([name, ip_override_data]) + if request is not None and has_flattened_params: + raise ValueError( + "If the `request` argument is set, then none of " + "the individual field arguments should be set." + ) + + # - Use the request object if provided (there's no risk of modifying the input as + # there are no flattened fields), or create one. + if not isinstance(request, recaptchaenterprise.RemoveIpOverrideRequest): + request = recaptchaenterprise.RemoveIpOverrideRequest(request) + + # If we have keyword arguments corresponding to fields on the + # request, apply these. + if name is not None: + request.name = name + if ip_override_data is not None: + request.ip_override_data = ip_override_data + + # Wrap the RPC method; this adds retry and timeout information, + # and friendly error handling. + rpc = self._client._transport._wrapped_methods[ + self._client._transport.remove_ip_override + ] + + # Certain fields should be provided within the metadata header; + # add these here. + metadata = tuple(metadata) + ( + gapic_v1.routing_header.to_grpc_metadata((("name", request.name),)), + ) + + # Validate the universe domain. + self._client._validate_universe_domain() + + # Send the request. + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) + + # Done; return the response. + return response + + async def list_ip_overrides( + self, + request: Optional[ + Union[recaptchaenterprise.ListIpOverridesRequest, dict] + ] = None, + *, + parent: Optional[str] = None, + retry: OptionalRetry = gapic_v1.method.DEFAULT, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, + metadata: Sequence[Tuple[str, str]] = (), + ) -> pagers.ListIpOverridesAsyncPager: + r"""Lists all IP overrides for a key. + + .. code-block:: python + + # This snippet has been automatically generated and should be regarded as a + # code template only. + # It will require modifications to work: + # - It may require correct/in-range values for request initialization. + # - It may require specifying regional endpoints when creating the service + # client as shown in: + # https://googleapis.dev/python/google-api-core/latest/client_options.html + from google.cloud import recaptchaenterprise_v1 + + async def sample_list_ip_overrides(): + # Create a client + client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient() + + # Initialize request argument(s) + request = recaptchaenterprise_v1.ListIpOverridesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_ip_overrides(request=request) + + # Handle the response + async for response in page_result: + print(response) + + Args: + request (Optional[Union[google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest, dict]]): + The request object. The ListIpOverrides request message. + parent (:class:`str`): + Required. The parent key for which the IP overrides are + listed, in the format ``projects/{project}/keys/{key}``. + + This corresponds to the ``parent`` field + on the ``request`` instance; if ``request`` is provided, this + should not be set. + retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, + should be retried. + timeout (float): The timeout for this request. + metadata (Sequence[Tuple[str, str]]): Strings which should be + sent along with the request as metadata. + + Returns: + google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListIpOverridesAsyncPager: + Response for ListIpOverrides. + + Iterating over this object will yield + results and resolve additional pages + automatically. + + """ + # Create or coerce a protobuf request object. + # - Quick check: If we got a request object, we should *not* have + # gotten any keyword arguments that map to the request. + has_flattened_params = any([parent]) + if request is not None and has_flattened_params: + raise ValueError( + "If the `request` argument is set, then none of " + "the individual field arguments should be set." + ) + + # - Use the request object if provided (there's no risk of modifying the input as + # there are no flattened fields), or create one. + if not isinstance(request, recaptchaenterprise.ListIpOverridesRequest): + request = recaptchaenterprise.ListIpOverridesRequest(request) + + # If we have keyword arguments corresponding to fields on the + # request, apply these. + if parent is not None: + request.parent = parent + + # Wrap the RPC method; this adds retry and timeout information, + # and friendly error handling. + rpc = self._client._transport._wrapped_methods[ + self._client._transport.list_ip_overrides + ] + + # Certain fields should be provided within the metadata header; + # add these here. + metadata = tuple(metadata) + ( + gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)), + ) + + # Validate the universe domain. + self._client._validate_universe_domain() + + # Send the request. + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) + + # This method is paged; wrap the response in a pager, which provides + # an `__aiter__` convenience method. + response = pagers.ListIpOverridesAsyncPager( + method=rpc, + request=request, + response=response, + retry=retry, + timeout=timeout, + metadata=metadata, + ) + + # Done; return the response. + return response + async def get_metrics( self, request: Optional[Union[recaptchaenterprise.GetMetricsRequest, dict]] = None, @@ -1575,7 +1825,7 @@ async def sample_create_firewall_policy(): The request object. The create firewall policy request message. parent (:class:`str`): - Required. The name of the project this policy will apply + Required. The name of the project this policy applies to, in the format ``projects/{project}``. This corresponds to the ``parent`` field diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/client.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/client.py index bd62b5ca1e8c..90e133f2dacc 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/client.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/client.py @@ -1181,7 +1181,7 @@ def sample_list_keys(): The request object. The list keys request message. parent (str): Required. The name of the project that contains the keys - that are listed, in the format ``projects/{project}``. + that is listed, in the format ``projects/{project}``. This corresponds to the ``parent`` field on the ``request`` instance; if ``request`` is provided, this @@ -1884,6 +1884,250 @@ def sample_add_ip_override(): # Done; return the response. return response + def remove_ip_override( + self, + request: Optional[ + Union[recaptchaenterprise.RemoveIpOverrideRequest, dict] + ] = None, + *, + name: Optional[str] = None, + ip_override_data: Optional[recaptchaenterprise.IpOverrideData] = None, + retry: OptionalRetry = gapic_v1.method.DEFAULT, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, + metadata: Sequence[Tuple[str, str]] = (), + ) -> recaptchaenterprise.RemoveIpOverrideResponse: + r"""Removes an IP override from a key. The following restrictions + hold: + + - If the IP isn't found in an existing IP override, a + ``NOT_FOUND`` error is returned. + - If the IP is found in an existing IP override, but the + override type does not match, a ``NOT_FOUND`` error is + returned. + + .. code-block:: python + + # This snippet has been automatically generated and should be regarded as a + # code template only. + # It will require modifications to work: + # - It may require correct/in-range values for request initialization. + # - It may require specifying regional endpoints when creating the service + # client as shown in: + # https://googleapis.dev/python/google-api-core/latest/client_options.html + from google.cloud import recaptchaenterprise_v1 + + def sample_remove_ip_override(): + # Create a client + client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() + + # Initialize request argument(s) + ip_override_data = recaptchaenterprise_v1.IpOverrideData() + ip_override_data.ip = "ip_value" + ip_override_data.override_type = "ALLOW" + + request = recaptchaenterprise_v1.RemoveIpOverrideRequest( + name="name_value", + ip_override_data=ip_override_data, + ) + + # Make the request + response = client.remove_ip_override(request=request) + + # Handle the response + print(response) + + Args: + request (Union[google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideRequest, dict]): + The request object. The removeIpOverride request message. + name (str): + Required. The name of the key from which the IP override + is removed, in the format + ``projects/{project}/keys/{key}``. + + This corresponds to the ``name`` field + on the ``request`` instance; if ``request`` is provided, this + should not be set. + ip_override_data (google.cloud.recaptchaenterprise_v1.types.IpOverrideData): + Required. IP override to be removed + from the key. + + This corresponds to the ``ip_override_data`` field + on the ``request`` instance; if ``request`` is provided, this + should not be set. + retry (google.api_core.retry.Retry): Designation of what errors, if any, + should be retried. + timeout (float): The timeout for this request. + metadata (Sequence[Tuple[str, str]]): Strings which should be + sent along with the request as metadata. + + Returns: + google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideResponse: + Response for RemoveIpOverride. + """ + # Create or coerce a protobuf request object. + # - Quick check: If we got a request object, we should *not* have + # gotten any keyword arguments that map to the request. + has_flattened_params = any([name, ip_override_data]) + if request is not None and has_flattened_params: + raise ValueError( + "If the `request` argument is set, then none of " + "the individual field arguments should be set." + ) + + # - Use the request object if provided (there's no risk of modifying the input as + # there are no flattened fields), or create one. + if not isinstance(request, recaptchaenterprise.RemoveIpOverrideRequest): + request = recaptchaenterprise.RemoveIpOverrideRequest(request) + # If we have keyword arguments corresponding to fields on the + # request, apply these. + if name is not None: + request.name = name + if ip_override_data is not None: + request.ip_override_data = ip_override_data + + # Wrap the RPC method; this adds retry and timeout information, + # and friendly error handling. + rpc = self._transport._wrapped_methods[self._transport.remove_ip_override] + + # Certain fields should be provided within the metadata header; + # add these here. + metadata = tuple(metadata) + ( + gapic_v1.routing_header.to_grpc_metadata((("name", request.name),)), + ) + + # Validate the universe domain. + self._validate_universe_domain() + + # Send the request. + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) + + # Done; return the response. + return response + + def list_ip_overrides( + self, + request: Optional[ + Union[recaptchaenterprise.ListIpOverridesRequest, dict] + ] = None, + *, + parent: Optional[str] = None, + retry: OptionalRetry = gapic_v1.method.DEFAULT, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, + metadata: Sequence[Tuple[str, str]] = (), + ) -> pagers.ListIpOverridesPager: + r"""Lists all IP overrides for a key. + + .. code-block:: python + + # This snippet has been automatically generated and should be regarded as a + # code template only. + # It will require modifications to work: + # - It may require correct/in-range values for request initialization. + # - It may require specifying regional endpoints when creating the service + # client as shown in: + # https://googleapis.dev/python/google-api-core/latest/client_options.html + from google.cloud import recaptchaenterprise_v1 + + def sample_list_ip_overrides(): + # Create a client + client = recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient() + + # Initialize request argument(s) + request = recaptchaenterprise_v1.ListIpOverridesRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_ip_overrides(request=request) + + # Handle the response + for response in page_result: + print(response) + + Args: + request (Union[google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest, dict]): + The request object. The ListIpOverrides request message. + parent (str): + Required. The parent key for which the IP overrides are + listed, in the format ``projects/{project}/keys/{key}``. + + This corresponds to the ``parent`` field + on the ``request`` instance; if ``request`` is provided, this + should not be set. + retry (google.api_core.retry.Retry): Designation of what errors, if any, + should be retried. + timeout (float): The timeout for this request. + metadata (Sequence[Tuple[str, str]]): Strings which should be + sent along with the request as metadata. + + Returns: + google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListIpOverridesPager: + Response for ListIpOverrides. + + Iterating over this object will yield + results and resolve additional pages + automatically. + + """ + # Create or coerce a protobuf request object. + # - Quick check: If we got a request object, we should *not* have + # gotten any keyword arguments that map to the request. + has_flattened_params = any([parent]) + if request is not None and has_flattened_params: + raise ValueError( + "If the `request` argument is set, then none of " + "the individual field arguments should be set." + ) + + # - Use the request object if provided (there's no risk of modifying the input as + # there are no flattened fields), or create one. + if not isinstance(request, recaptchaenterprise.ListIpOverridesRequest): + request = recaptchaenterprise.ListIpOverridesRequest(request) + # If we have keyword arguments corresponding to fields on the + # request, apply these. + if parent is not None: + request.parent = parent + + # Wrap the RPC method; this adds retry and timeout information, + # and friendly error handling. + rpc = self._transport._wrapped_methods[self._transport.list_ip_overrides] + + # Certain fields should be provided within the metadata header; + # add these here. + metadata = tuple(metadata) + ( + gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)), + ) + + # Validate the universe domain. + self._validate_universe_domain() + + # Send the request. + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) + + # This method is paged; wrap the response in a pager, which provides + # an `__iter__` convenience method. + response = pagers.ListIpOverridesPager( + method=rpc, + request=request, + response=response, + retry=retry, + timeout=timeout, + metadata=metadata, + ) + + # Done; return the response. + return response + def get_metrics( self, request: Optional[Union[recaptchaenterprise.GetMetricsRequest, dict]] = None, @@ -2032,7 +2276,7 @@ def sample_create_firewall_policy(): The request object. The create firewall policy request message. parent (str): - Required. The name of the project this policy will apply + Required. The name of the project this policy applies to, in the format ``projects/{project}``. This corresponds to the ``parent`` field diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/pagers.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/pagers.py index 7f66f86b07f5..f50c54e13244 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/pagers.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/pagers.py @@ -193,6 +193,158 @@ def __repr__(self) -> str: return "{0}<{1!r}>".format(self.__class__.__name__, self._response) +class ListIpOverridesPager: + """A pager for iterating through ``list_ip_overrides`` requests. + + This class thinly wraps an initial + :class:`google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse` object, and + provides an ``__iter__`` method to iterate through its + ``ip_overrides`` field. + + If there are more pages, the ``__iter__`` method will make additional + ``ListIpOverrides`` requests and continue to iterate + through the ``ip_overrides`` field on the + corresponding responses. + + All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse` + attributes are available on the pager. If multiple requests are made, only + the most recent response is retained, and thus used for attribute lookup. + """ + + def __init__( + self, + method: Callable[..., recaptchaenterprise.ListIpOverridesResponse], + request: recaptchaenterprise.ListIpOverridesRequest, + response: recaptchaenterprise.ListIpOverridesResponse, + *, + retry: OptionalRetry = gapic_v1.method.DEFAULT, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, + metadata: Sequence[Tuple[str, str]] = () + ): + """Instantiate the pager. + + Args: + method (Callable): The method that was originally called, and + which instantiated this pager. + request (google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest): + The initial request object. + response (google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse): + The initial response object. + retry (google.api_core.retry.Retry): Designation of what errors, + if any, should be retried. + timeout (float): The timeout for this request. + metadata (Sequence[Tuple[str, str]]): Strings which should be + sent along with the request as metadata. + """ + self._method = method + self._request = recaptchaenterprise.ListIpOverridesRequest(request) + self._response = response + self._retry = retry + self._timeout = timeout + self._metadata = metadata + + def __getattr__(self, name: str) -> Any: + return getattr(self._response, name) + + @property + def pages(self) -> Iterator[recaptchaenterprise.ListIpOverridesResponse]: + yield self._response + while self._response.next_page_token: + self._request.page_token = self._response.next_page_token + self._response = self._method( + self._request, + retry=self._retry, + timeout=self._timeout, + metadata=self._metadata, + ) + yield self._response + + def __iter__(self) -> Iterator[recaptchaenterprise.IpOverrideData]: + for page in self.pages: + yield from page.ip_overrides + + def __repr__(self) -> str: + return "{0}<{1!r}>".format(self.__class__.__name__, self._response) + + +class ListIpOverridesAsyncPager: + """A pager for iterating through ``list_ip_overrides`` requests. + + This class thinly wraps an initial + :class:`google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse` object, and + provides an ``__aiter__`` method to iterate through its + ``ip_overrides`` field. + + If there are more pages, the ``__aiter__`` method will make additional + ``ListIpOverrides`` requests and continue to iterate + through the ``ip_overrides`` field on the + corresponding responses. + + All the usual :class:`google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse` + attributes are available on the pager. If multiple requests are made, only + the most recent response is retained, and thus used for attribute lookup. + """ + + def __init__( + self, + method: Callable[..., Awaitable[recaptchaenterprise.ListIpOverridesResponse]], + request: recaptchaenterprise.ListIpOverridesRequest, + response: recaptchaenterprise.ListIpOverridesResponse, + *, + retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, + metadata: Sequence[Tuple[str, str]] = () + ): + """Instantiates the pager. + + Args: + method (Callable): The method that was originally called, and + which instantiated this pager. + request (google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest): + The initial request object. + response (google.cloud.recaptchaenterprise_v1.types.ListIpOverridesResponse): + The initial response object. + retry (google.api_core.retry.AsyncRetry): Designation of what errors, + if any, should be retried. + timeout (float): The timeout for this request. + metadata (Sequence[Tuple[str, str]]): Strings which should be + sent along with the request as metadata. + """ + self._method = method + self._request = recaptchaenterprise.ListIpOverridesRequest(request) + self._response = response + self._retry = retry + self._timeout = timeout + self._metadata = metadata + + def __getattr__(self, name: str) -> Any: + return getattr(self._response, name) + + @property + async def pages(self) -> AsyncIterator[recaptchaenterprise.ListIpOverridesResponse]: + yield self._response + while self._response.next_page_token: + self._request.page_token = self._response.next_page_token + self._response = await self._method( + self._request, + retry=self._retry, + timeout=self._timeout, + metadata=self._metadata, + ) + yield self._response + + def __aiter__(self) -> AsyncIterator[recaptchaenterprise.IpOverrideData]: + async def async_generator(): + async for page in self.pages: + for response in page.ip_overrides: + yield response + + return async_generator() + + def __repr__(self) -> str: + return "{0}<{1!r}>".format(self.__class__.__name__, self._response) + + class ListFirewallPoliciesPager: """A pager for iterating through ``list_firewall_policies`` requests. diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/base.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/base.py index 1d997dedd2b7..0da7cf8f3ec3 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/base.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/base.py @@ -179,6 +179,16 @@ def _prep_wrapped_messages(self, client_info): default_timeout=None, client_info=client_info, ), + self.remove_ip_override: gapic_v1.method.wrap_method( + self.remove_ip_override, + default_timeout=None, + client_info=client_info, + ), + self.list_ip_overrides: gapic_v1.method.wrap_method( + self.list_ip_overrides, + default_timeout=None, + client_info=client_info, + ), self.get_metrics: gapic_v1.method.wrap_method( self.get_metrics, default_timeout=None, @@ -344,6 +354,30 @@ def add_ip_override( ]: raise NotImplementedError() + @property + def remove_ip_override( + self, + ) -> Callable[ + [recaptchaenterprise.RemoveIpOverrideRequest], + Union[ + recaptchaenterprise.RemoveIpOverrideResponse, + Awaitable[recaptchaenterprise.RemoveIpOverrideResponse], + ], + ]: + raise NotImplementedError() + + @property + def list_ip_overrides( + self, + ) -> Callable[ + [recaptchaenterprise.ListIpOverridesRequest], + Union[ + recaptchaenterprise.ListIpOverridesResponse, + Awaitable[recaptchaenterprise.ListIpOverridesResponse], + ], + ]: + raise NotImplementedError() + @property def get_metrics( self, diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc.py index bb598e78465f..687afe06080c 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc.py @@ -524,6 +524,71 @@ def add_ip_override( ) return self._stubs["add_ip_override"] + @property + def remove_ip_override( + self, + ) -> Callable[ + [recaptchaenterprise.RemoveIpOverrideRequest], + recaptchaenterprise.RemoveIpOverrideResponse, + ]: + r"""Return a callable for the remove ip override method over gRPC. + + Removes an IP override from a key. The following restrictions + hold: + + - If the IP isn't found in an existing IP override, a + ``NOT_FOUND`` error is returned. + - If the IP is found in an existing IP override, but the + override type does not match, a ``NOT_FOUND`` error is + returned. + + Returns: + Callable[[~.RemoveIpOverrideRequest], + ~.RemoveIpOverrideResponse]: + A function that, when called, will call the underlying RPC + on the server. + """ + # Generate a "stub function" on-the-fly which will actually make + # the request. + # gRPC handles serialization and deserialization, so we just need + # to pass in the functions for each. + if "remove_ip_override" not in self._stubs: + self._stubs["remove_ip_override"] = self.grpc_channel.unary_unary( + "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/RemoveIpOverride", + request_serializer=recaptchaenterprise.RemoveIpOverrideRequest.serialize, + response_deserializer=recaptchaenterprise.RemoveIpOverrideResponse.deserialize, + ) + return self._stubs["remove_ip_override"] + + @property + def list_ip_overrides( + self, + ) -> Callable[ + [recaptchaenterprise.ListIpOverridesRequest], + recaptchaenterprise.ListIpOverridesResponse, + ]: + r"""Return a callable for the list ip overrides method over gRPC. + + Lists all IP overrides for a key. + + Returns: + Callable[[~.ListIpOverridesRequest], + ~.ListIpOverridesResponse]: + A function that, when called, will call the underlying RPC + on the server. + """ + # Generate a "stub function" on-the-fly which will actually make + # the request. + # gRPC handles serialization and deserialization, so we just need + # to pass in the functions for each. + if "list_ip_overrides" not in self._stubs: + self._stubs["list_ip_overrides"] = self.grpc_channel.unary_unary( + "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListIpOverrides", + request_serializer=recaptchaenterprise.ListIpOverridesRequest.serialize, + response_deserializer=recaptchaenterprise.ListIpOverridesResponse.deserialize, + ) + return self._stubs["list_ip_overrides"] + @property def get_metrics( self, diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc_asyncio.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc_asyncio.py index 1de0e29e087c..d1ca99fffd9b 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc_asyncio.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/grpc_asyncio.py @@ -544,6 +544,71 @@ def add_ip_override( ) return self._stubs["add_ip_override"] + @property + def remove_ip_override( + self, + ) -> Callable[ + [recaptchaenterprise.RemoveIpOverrideRequest], + Awaitable[recaptchaenterprise.RemoveIpOverrideResponse], + ]: + r"""Return a callable for the remove ip override method over gRPC. + + Removes an IP override from a key. The following restrictions + hold: + + - If the IP isn't found in an existing IP override, a + ``NOT_FOUND`` error is returned. + - If the IP is found in an existing IP override, but the + override type does not match, a ``NOT_FOUND`` error is + returned. + + Returns: + Callable[[~.RemoveIpOverrideRequest], + Awaitable[~.RemoveIpOverrideResponse]]: + A function that, when called, will call the underlying RPC + on the server. + """ + # Generate a "stub function" on-the-fly which will actually make + # the request. + # gRPC handles serialization and deserialization, so we just need + # to pass in the functions for each. + if "remove_ip_override" not in self._stubs: + self._stubs["remove_ip_override"] = self.grpc_channel.unary_unary( + "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/RemoveIpOverride", + request_serializer=recaptchaenterprise.RemoveIpOverrideRequest.serialize, + response_deserializer=recaptchaenterprise.RemoveIpOverrideResponse.deserialize, + ) + return self._stubs["remove_ip_override"] + + @property + def list_ip_overrides( + self, + ) -> Callable[ + [recaptchaenterprise.ListIpOverridesRequest], + Awaitable[recaptchaenterprise.ListIpOverridesResponse], + ]: + r"""Return a callable for the list ip overrides method over gRPC. + + Lists all IP overrides for a key. + + Returns: + Callable[[~.ListIpOverridesRequest], + Awaitable[~.ListIpOverridesResponse]]: + A function that, when called, will call the underlying RPC + on the server. + """ + # Generate a "stub function" on-the-fly which will actually make + # the request. + # gRPC handles serialization and deserialization, so we just need + # to pass in the functions for each. + if "list_ip_overrides" not in self._stubs: + self._stubs["list_ip_overrides"] = self.grpc_channel.unary_unary( + "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListIpOverrides", + request_serializer=recaptchaenterprise.ListIpOverridesRequest.serialize, + response_deserializer=recaptchaenterprise.ListIpOverridesResponse.deserialize, + ) + return self._stubs["list_ip_overrides"] + @property def get_metrics( self, @@ -895,6 +960,16 @@ def _prep_wrapped_messages(self, client_info): default_timeout=None, client_info=client_info, ), + self.remove_ip_override: self._wrap_method( + self.remove_ip_override, + default_timeout=None, + client_info=client_info, + ), + self.list_ip_overrides: self._wrap_method( + self.list_ip_overrides, + default_timeout=None, + client_info=client_info, + ), self.get_metrics: self._wrap_method( self.get_metrics, default_timeout=None, diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/types/__init__.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/types/__init__.py index 230f8d821762..21b3c2cfa07e 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/types/__init__.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/types/__init__.py @@ -46,6 +46,8 @@ Key, ListFirewallPoliciesRequest, ListFirewallPoliciesResponse, + ListIpOverridesRequest, + ListIpOverridesResponse, ListKeysRequest, ListKeysResponse, ListRelatedAccountGroupMembershipsRequest, @@ -58,6 +60,8 @@ PrivatePasswordLeakVerification, RelatedAccountGroup, RelatedAccountGroupMembership, + RemoveIpOverrideRequest, + RemoveIpOverrideResponse, ReorderFirewallPoliciesRequest, ReorderFirewallPoliciesResponse, RetrieveLegacySecretKeyRequest, @@ -113,6 +117,8 @@ "Key", "ListFirewallPoliciesRequest", "ListFirewallPoliciesResponse", + "ListIpOverridesRequest", + "ListIpOverridesResponse", "ListKeysRequest", "ListKeysResponse", "ListRelatedAccountGroupMembershipsRequest", @@ -125,6 +131,8 @@ "PrivatePasswordLeakVerification", "RelatedAccountGroup", "RelatedAccountGroupMembership", + "RemoveIpOverrideRequest", + "RemoveIpOverrideResponse", "ReorderFirewallPoliciesRequest", "ReorderFirewallPoliciesResponse", "RetrieveLegacySecretKeyRequest", diff --git a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/types/recaptchaenterprise.py b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/types/recaptchaenterprise.py index 129df8657cdd..2683e3f38156 100644 --- a/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/types/recaptchaenterprise.py +++ b/packages/google-cloud-recaptcha-enterprise/google/cloud/recaptchaenterprise_v1/types/recaptchaenterprise.py @@ -84,6 +84,10 @@ "SearchRelatedAccountGroupMembershipsResponse", "AddIpOverrideRequest", "AddIpOverrideResponse", + "RemoveIpOverrideRequest", + "RemoveIpOverrideResponse", + "ListIpOverridesRequest", + "ListIpOverridesResponse", "RelatedAccountGroupMembership", "RelatedAccountGroup", "WafSettings", @@ -786,7 +790,7 @@ class Event(proto.Message): express (bool): Optional. Flag for a reCAPTCHA express request for an assessment without a token. If enabled, ``site_key`` must - reference an express key. + reference an Express site key. requested_uri (str): Optional. The URI resource the user requested that triggered an assessment. @@ -808,9 +812,9 @@ class Event(proto.Message): transaction_data (google.cloud.recaptchaenterprise_v1.types.TransactionData): Optional. Data describing a payment transaction to be assessed. Sending this data - enables reCAPTCHA Fraud Prevention and the - FraudPreventionAssessment component in the - response. + enables reCAPTCHA Enterprise Fraud Prevention + and the FraudPreventionAssessment component in + the response. user_info (google.cloud.recaptchaenterprise_v1.types.UserInfo): Optional. Information about the user that generates this event, when they can be @@ -1766,7 +1770,7 @@ class ListKeysRequest(proto.Message): Attributes: parent (str): Required. The name of the project that contains the keys - that are listed, in the format ``projects/{project}``. + that is listed, in the format ``projects/{project}``. page_size (int): Optional. The maximum number of keys to return. Default is 10. Max limit is 1000. @@ -1889,8 +1893,8 @@ class CreateFirewallPolicyRequest(proto.Message): Attributes: parent (str): - Required. The name of the project this policy will apply to, - in the format ``projects/{project}``. + Required. The name of the project this policy applies to, in + the format ``projects/{project}``. firewall_policy (google.cloud.recaptchaenterprise_v1.types.FirewallPolicy): Required. Information to create the policy. """ @@ -2106,8 +2110,8 @@ class Metrics(proto.Message): challenge_metrics (MutableSequence[google.cloud.recaptchaenterprise_v1.types.ChallengeMetrics]): Metrics are continuous and in order by dates, and in the granularity of day. Only - challenge-based keys (CHECKBOX, INVISIBLE), will - have challenge-based data. + challenge-based keys (CHECKBOX, INVISIBLE) have + challenge-based data. """ name: str = proto.Field( @@ -2185,8 +2189,8 @@ class Key(proto.Message): This field is a member of `oneof`_ ``platform_settings``. express_settings (google.cloud.recaptchaenterprise_v1.types.ExpressKeySettings): - Settings specific to keys that can be used - for reCAPTCHA Express. + Settings for keys that can be used by + reCAPTCHA Express. This field is a member of `oneof`_ ``platform_settings``. labels (MutableMapping[str, str]): @@ -2261,15 +2265,14 @@ class TestingOptions(proto.Message): Attributes: testing_score (float): - Optional. All assessments for this Key will - return this score. Must be between 0 (likely not + Optional. All assessments for this Key return + this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive. testing_challenge (google.cloud.recaptchaenterprise_v1.types.TestingOptions.TestingChallenge): Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests - for this site will return nocaptcha if - NOCAPTCHA, or an unsolvable challenge if - CHALLENGE. + for this site return nocaptcha if NOCAPTCHA, or + an unsolvable challenge if CHALLENGE. """ class TestingChallenge(proto.Enum): @@ -2308,8 +2311,8 @@ class WebKeySettings(proto.Message): Attributes: allow_all_domains (bool): - Optional. If set to true, it means allowed_domains will not - be enforced. + Optional. If set to true, it means allowed_domains are not + enforced. allowed_domains (MutableSequence[str]): Optional. Domains or subdomains of websites allowed to use the key. All subdomains of an @@ -2327,10 +2330,10 @@ class WebKeySettings(proto.Message): Required. Describes how this key is integrated with the website. challenge_security_preference (google.cloud.recaptchaenterprise_v1.types.WebKeySettings.ChallengeSecurityPreference): - Optional. Settings for the frequency and - difficulty at which this key triggers captcha - challenges. This should only be specified for - IntegrationTypes CHECKBOX and INVISIBLE. + Optional. Settings for the frequency and difficulty at which + this key triggers captcha challenges. This should only be + specified for IntegrationTypes CHECKBOX and INVISIBLE and + SCORE_AND_CHALLENGE. """ class IntegrationType(proto.Enum): @@ -2451,12 +2454,11 @@ class IOSKeySettings(proto.Message): apple_developer_id (google.cloud.recaptchaenterprise_v1.types.AppleDeveloperId): Optional. Apple Developer account details for the app that is protected by the reCAPTCHA Key. - reCAPTCHA Enterprise leverages platform-specific - checks like Apple App Attest and Apple - DeviceCheck to protect your app from abuse. - Providing these fields allows reCAPTCHA - Enterprise to get a better assessment of the - integrity of your app. + reCAPTCHA leverages platform-specific checks + like Apple App Attest and Apple DeviceCheck to + protect your app from abuse. Providing these + fields allows reCAPTCHA to get a better + assessment of the integrity of your app. """ allow_all_bundle_ids: bool = proto.Field( @@ -2644,30 +2646,28 @@ class FirewallAction(proto.Message): This field is a member of `oneof`_ ``firewall_action_oneof``. block (google.cloud.recaptchaenterprise_v1.types.FirewallAction.BlockAction): - This action will deny access to a given page. - The user will get an HTTP error code. + This action denies access to a given page. + The user gets an HTTP error code. This field is a member of `oneof`_ ``firewall_action_oneof``. include_recaptcha_script (google.cloud.recaptchaenterprise_v1.types.FirewallAction.IncludeRecaptchaScriptAction): - This action will inject reCAPTCHA JavaScript - code into the HTML page returned by the site - backend. + This action injects reCAPTCHA JavaScript code + into the HTML page returned by the site backend. This field is a member of `oneof`_ ``firewall_action_oneof``. redirect (google.cloud.recaptchaenterprise_v1.types.FirewallAction.RedirectAction): - This action will redirect the request to a - ReCaptcha interstitial to attach a token. + This action redirects the request to a + reCAPTCHA interstitial to attach a token. This field is a member of `oneof`_ ``firewall_action_oneof``. substitute (google.cloud.recaptchaenterprise_v1.types.FirewallAction.SubstituteAction): - This action will transparently serve a - different page to an offending user. + This action transparently serves a different + page to an offending user. This field is a member of `oneof`_ ``firewall_action_oneof``. set_header (google.cloud.recaptchaenterprise_v1.types.FirewallAction.SetHeaderAction): - This action will set a custom header but - allow the request to continue to the customer - backend. + This action sets a custom header but allow + the request to continue to the customer backend. This field is a member of `oneof`_ ``firewall_action_oneof``. """ @@ -2693,7 +2693,7 @@ class IncludeRecaptchaScriptAction(proto.Message): class RedirectAction(proto.Message): r"""A redirect action returns a 307 (temporary redirect) - response, pointing the user to a ReCaptcha interstitial page to + response, pointing the user to a reCAPTCHA interstitial page to attach a token. """ @@ -3089,6 +3089,91 @@ class AddIpOverrideResponse(proto.Message): r"""Response for AddIpOverride.""" +class RemoveIpOverrideRequest(proto.Message): + r"""The removeIpOverride request message. + + Attributes: + name (str): + Required. The name of the key from which the IP override is + removed, in the format ``projects/{project}/keys/{key}``. + ip_override_data (google.cloud.recaptchaenterprise_v1.types.IpOverrideData): + Required. IP override to be removed from the + key. + """ + + name: str = proto.Field( + proto.STRING, + number=1, + ) + ip_override_data: "IpOverrideData" = proto.Field( + proto.MESSAGE, + number=2, + message="IpOverrideData", + ) + + +class RemoveIpOverrideResponse(proto.Message): + r"""Response for RemoveIpOverride.""" + + +class ListIpOverridesRequest(proto.Message): + r"""The ListIpOverrides request message. + + Attributes: + parent (str): + Required. The parent key for which the IP overrides are + listed, in the format ``projects/{project}/keys/{key}``. + page_size (int): + Optional. The maximum number of overrides to return. Default + is 10. Max limit is 100. If the number of overrides is less + than the page_size, all overrides are returned. If the page + size is more than 100, it is coerced to 100. + page_token (str): + Optional. The next_page_token value returned from a previous + ListIpOverridesRequest, if any. + """ + + parent: str = proto.Field( + proto.STRING, + number=1, + ) + page_size: int = proto.Field( + proto.INT32, + number=2, + ) + page_token: str = proto.Field( + proto.STRING, + number=3, + ) + + +class ListIpOverridesResponse(proto.Message): + r"""Response for ListIpOverrides. + + Attributes: + ip_overrides (MutableSequence[google.cloud.recaptchaenterprise_v1.types.IpOverrideData]): + IP Overrides details. + next_page_token (str): + Token to retrieve the next page of results. + If this field is empty, no keys remain in the + results. + """ + + @property + def raw_page(self): + return self + + ip_overrides: MutableSequence["IpOverrideData"] = proto.RepeatedField( + proto.MESSAGE, + number=1, + message="IpOverrideData", + ) + next_page_token: str = proto.Field( + proto.STRING, + number=2, + ) + + class RelatedAccountGroupMembership(proto.Message): r"""A membership in a group of related accounts. @@ -3179,7 +3264,7 @@ class WafFeature(proto.Enum): EXPRESS = 5 class WafService(proto.Enum): - r"""Web Application Firewalls supported by reCAPTCHA Enterprise. + r"""Web Application Firewalls supported by reCAPTCHA. Values: WAF_SERVICE_UNSPECIFIED (0): @@ -3190,11 +3275,14 @@ class WafService(proto.Enum): Fastly CLOUDFLARE (4): Cloudflare + AKAMAI (5): + Akamai """ WAF_SERVICE_UNSPECIFIED = 0 CA = 1 FASTLY = 3 CLOUDFLARE = 4 + AKAMAI = 5 waf_service: WafService = proto.Field( proto.ENUM, diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_async.py b/packages/google-cloud-recaptcha-enterprise/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_async.py similarity index 100% rename from owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_async.py rename to packages/google-cloud-recaptcha-enterprise/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_async.py diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_sync.py b/packages/google-cloud-recaptcha-enterprise/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_sync.py similarity index 100% rename from owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_sync.py rename to packages/google-cloud-recaptcha-enterprise/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_sync.py diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_async.py b/packages/google-cloud-recaptcha-enterprise/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_async.py similarity index 100% rename from owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_async.py rename to packages/google-cloud-recaptcha-enterprise/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_async.py diff --git a/owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_sync.py b/packages/google-cloud-recaptcha-enterprise/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_sync.py similarity index 100% rename from owl-bot-staging/google-cloud-recaptcha-enterprise/v1/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_sync.py rename to packages/google-cloud-recaptcha-enterprise/samples/generated_samples/recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_sync.py diff --git a/packages/google-cloud-recaptcha-enterprise/samples/generated_samples/snippet_metadata_google.cloud.recaptchaenterprise.v1.json b/packages/google-cloud-recaptcha-enterprise/samples/generated_samples/snippet_metadata_google.cloud.recaptchaenterprise.v1.json index 1702e3084776..0d14f8e6deb6 100644 --- a/packages/google-cloud-recaptcha-enterprise/samples/generated_samples/snippet_metadata_google.cloud.recaptchaenterprise.v1.json +++ b/packages/google-cloud-recaptcha-enterprise/samples/generated_samples/snippet_metadata_google.cloud.recaptchaenterprise.v1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-recaptcha-enterprise", - "version": "1.23.0" + "version": "0.1.0" }, "snippets": [ { @@ -1810,6 +1810,167 @@ ], "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_firewall_policies_sync.py" }, + { + "canonical": true, + "clientMethod": { + "async": true, + "client": { + "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", + "shortName": "RecaptchaEnterpriseServiceAsyncClient" + }, + "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.list_ip_overrides", + "method": { + "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListIpOverrides", + "service": { + "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", + "shortName": "RecaptchaEnterpriseService" + }, + "shortName": "ListIpOverrides" + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListIpOverridesAsyncPager", + "shortName": "list_ip_overrides" + }, + "description": "Sample for ListIpOverrides", + "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", + "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListIpOverrides_async", + "segments": [ + { + "end": 52, + "start": 27, + "type": "FULL" + }, + { + "end": 52, + "start": 27, + "type": "SHORT" + }, + { + "end": 40, + "start": 38, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 45, + "start": 41, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 48, + "start": 46, + "type": "REQUEST_EXECUTION" + }, + { + "end": 53, + "start": 49, + "type": "RESPONSE_HANDLING" + } + ], + "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_async.py" + }, + { + "canonical": true, + "clientMethod": { + "client": { + "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", + "shortName": "RecaptchaEnterpriseServiceClient" + }, + "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.list_ip_overrides", + "method": { + "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListIpOverrides", + "service": { + "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", + "shortName": "RecaptchaEnterpriseService" + }, + "shortName": "ListIpOverrides" + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.recaptchaenterprise_v1.types.ListIpOverridesRequest" + }, + { + "name": "parent", + "type": "str" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.recaptchaenterprise_v1.services.recaptcha_enterprise_service.pagers.ListIpOverridesPager", + "shortName": "list_ip_overrides" + }, + "description": "Sample for ListIpOverrides", + "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", + "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_ListIpOverrides_sync", + "segments": [ + { + "end": 52, + "start": 27, + "type": "FULL" + }, + { + "end": 52, + "start": 27, + "type": "SHORT" + }, + { + "end": 40, + "start": 38, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 45, + "start": 41, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 48, + "start": 46, + "type": "REQUEST_EXECUTION" + }, + { + "end": 53, + "start": 49, + "type": "RESPONSE_HANDLING" + } + ], + "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_list_ip_overrides_sync.py" + }, { "canonical": true, "clientMethod": { @@ -2446,6 +2607,175 @@ ], "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_migrate_key_sync.py" }, + { + "canonical": true, + "clientMethod": { + "async": true, + "client": { + "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient", + "shortName": "RecaptchaEnterpriseServiceAsyncClient" + }, + "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceAsyncClient.remove_ip_override", + "method": { + "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.RemoveIpOverride", + "service": { + "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", + "shortName": "RecaptchaEnterpriseService" + }, + "shortName": "RemoveIpOverride" + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "ip_override_data", + "type": "google.cloud.recaptchaenterprise_v1.types.IpOverrideData" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideResponse", + "shortName": "remove_ip_override" + }, + "description": "Sample for RemoveIpOverride", + "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", + "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RemoveIpOverride_async", + "segments": [ + { + "end": 56, + "start": 27, + "type": "FULL" + }, + { + "end": 56, + "start": 27, + "type": "SHORT" + }, + { + "end": 40, + "start": 38, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 50, + "start": 41, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 53, + "start": 51, + "type": "REQUEST_EXECUTION" + }, + { + "end": 57, + "start": 54, + "type": "RESPONSE_HANDLING" + } + ], + "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_async.py" + }, + { + "canonical": true, + "clientMethod": { + "client": { + "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient", + "shortName": "RecaptchaEnterpriseServiceClient" + }, + "fullName": "google.cloud.recaptchaenterprise_v1.RecaptchaEnterpriseServiceClient.remove_ip_override", + "method": { + "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.RemoveIpOverride", + "service": { + "fullName": "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", + "shortName": "RecaptchaEnterpriseService" + }, + "shortName": "RemoveIpOverride" + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideRequest" + }, + { + "name": "name", + "type": "str" + }, + { + "name": "ip_override_data", + "type": "google.cloud.recaptchaenterprise_v1.types.IpOverrideData" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.recaptchaenterprise_v1.types.RemoveIpOverrideResponse", + "shortName": "remove_ip_override" + }, + "description": "Sample for RemoveIpOverride", + "file": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", + "regionTag": "recaptchaenterprise_v1_generated_RecaptchaEnterpriseService_RemoveIpOverride_sync", + "segments": [ + { + "end": 56, + "start": 27, + "type": "FULL" + }, + { + "end": 56, + "start": 27, + "type": "SHORT" + }, + { + "end": 40, + "start": 38, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 50, + "start": 41, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 53, + "start": 51, + "type": "REQUEST_EXECUTION" + }, + { + "end": 57, + "start": 54, + "type": "RESPONSE_HANDLING" + } + ], + "title": "recaptchaenterprise_v1_generated_recaptcha_enterprise_service_remove_ip_override_sync.py" + }, { "canonical": true, "clientMethod": { diff --git a/packages/google-cloud-recaptcha-enterprise/scripts/fixup_recaptchaenterprise_v1_keywords.py b/packages/google-cloud-recaptcha-enterprise/scripts/fixup_recaptchaenterprise_v1_keywords.py index 36e16174f78a..f3a45648c28e 100644 --- a/packages/google-cloud-recaptcha-enterprise/scripts/fixup_recaptchaenterprise_v1_keywords.py +++ b/packages/google-cloud-recaptcha-enterprise/scripts/fixup_recaptchaenterprise_v1_keywords.py @@ -50,10 +50,12 @@ class recaptchaenterpriseCallTransformer(cst.CSTTransformer): 'get_key': ('name', ), 'get_metrics': ('name', ), 'list_firewall_policies': ('parent', 'page_size', 'page_token', ), + 'list_ip_overrides': ('parent', 'page_size', 'page_token', ), 'list_keys': ('parent', 'page_size', 'page_token', ), 'list_related_account_group_memberships': ('parent', 'page_size', 'page_token', ), 'list_related_account_groups': ('parent', 'page_size', 'page_token', ), 'migrate_key': ('name', 'skip_billing_check', ), + 'remove_ip_override': ('name', 'ip_override_data', ), 'reorder_firewall_policies': ('parent', 'names', ), 'retrieve_legacy_secret_key': ('key', ), 'search_related_account_group_memberships': ('project', 'account_id', 'hashed_account_id', 'page_size', 'page_token', ), diff --git a/packages/google-cloud-recaptcha-enterprise/tests/unit/gapic/recaptchaenterprise_v1/test_recaptcha_enterprise_service.py b/packages/google-cloud-recaptcha-enterprise/tests/unit/gapic/recaptchaenterprise_v1/test_recaptcha_enterprise_service.py index cab29893173f..7bcde7cb5cf5 100644 --- a/packages/google-cloud-recaptcha-enterprise/tests/unit/gapic/recaptchaenterprise_v1/test_recaptcha_enterprise_service.py +++ b/packages/google-cloud-recaptcha-enterprise/tests/unit/gapic/recaptchaenterprise_v1/test_recaptcha_enterprise_service.py @@ -4609,6 +4609,896 @@ async def test_add_ip_override_flattened_error_async(): ) +@pytest.mark.parametrize( + "request_type", + [ + recaptchaenterprise.RemoveIpOverrideRequest, + dict, + ], +) +def test_remove_ip_override(request_type, transport: str = "grpc"): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, + ) + + # Everything is optional in proto3 as far as the runtime is concerned, + # and we are mocking out the actual API, so just send an empty request. + request = request_type() + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.remove_ip_override), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = recaptchaenterprise.RemoveIpOverrideResponse() + response = client.remove_ip_override(request) + + # Establish that the underlying gRPC stub method was called. + assert len(call.mock_calls) == 1 + _, args, _ = call.mock_calls[0] + request = recaptchaenterprise.RemoveIpOverrideRequest() + assert args[0] == request + + # Establish that the response is the type that we expect. + assert isinstance(response, recaptchaenterprise.RemoveIpOverrideResponse) + + +def test_remove_ip_override_non_empty_request_with_auto_populated_field(): + # This test is a coverage failsafe to make sure that UUID4 fields are + # automatically populated, according to AIP-4235, with non-empty requests. + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", + ) + + # Populate all string fields in the request which are not UUID4 + # since we want to check that UUID4 are populated automatically + # if they meet the requirements of AIP 4235. + request = recaptchaenterprise.RemoveIpOverrideRequest( + name="name_value", + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.remove_ip_override), "__call__" + ) as call: + call.return_value.name = ( + "foo" # operation_request.operation in compute client(s) expect a string. + ) + client.remove_ip_override(request=request) + call.assert_called() + _, args, _ = call.mock_calls[0] + assert args[0] == recaptchaenterprise.RemoveIpOverrideRequest( + name="name_value", + ) + + +def test_remove_ip_override_use_cached_wrapped_rpc(): + # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, + # instead of constructing them on each call + with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", + ) + + # Should wrap all calls on client creation + assert wrapper_fn.call_count > 0 + wrapper_fn.reset_mock() + + # Ensure method has been cached + assert ( + client._transport.remove_ip_override in client._transport._wrapped_methods + ) + + # Replace cached wrapped function with mock + mock_rpc = mock.Mock() + mock_rpc.return_value.name = ( + "foo" # operation_request.operation in compute client(s) expect a string. + ) + client._transport._wrapped_methods[ + client._transport.remove_ip_override + ] = mock_rpc + request = {} + client.remove_ip_override(request) + + # Establish that the underlying gRPC stub method was called. + assert mock_rpc.call_count == 1 + + client.remove_ip_override(request) + + # Establish that a new wrapper was not created for this call + assert wrapper_fn.call_count == 0 + assert mock_rpc.call_count == 2 + + +@pytest.mark.asyncio +async def test_remove_ip_override_async_use_cached_wrapped_rpc( + transport: str = "grpc_asyncio", +): + # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, + # instead of constructing them on each call + with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + transport=transport, + ) + + # Should wrap all calls on client creation + assert wrapper_fn.call_count > 0 + wrapper_fn.reset_mock() + + # Ensure method has been cached + assert ( + client._client._transport.remove_ip_override + in client._client._transport._wrapped_methods + ) + + # Replace cached wrapped function with mock + mock_rpc = mock.AsyncMock() + mock_rpc.return_value = mock.Mock() + client._client._transport._wrapped_methods[ + client._client._transport.remove_ip_override + ] = mock_rpc + + request = {} + await client.remove_ip_override(request) + + # Establish that the underlying gRPC stub method was called. + assert mock_rpc.call_count == 1 + + await client.remove_ip_override(request) + + # Establish that a new wrapper was not created for this call + assert wrapper_fn.call_count == 0 + assert mock_rpc.call_count == 2 + + +@pytest.mark.asyncio +async def test_remove_ip_override_async( + transport: str = "grpc_asyncio", + request_type=recaptchaenterprise.RemoveIpOverrideRequest, +): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + transport=transport, + ) + + # Everything is optional in proto3 as far as the runtime is concerned, + # and we are mocking out the actual API, so just send an empty request. + request = request_type() + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.remove_ip_override), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( + recaptchaenterprise.RemoveIpOverrideResponse() + ) + response = await client.remove_ip_override(request) + + # Establish that the underlying gRPC stub method was called. + assert len(call.mock_calls) + _, args, _ = call.mock_calls[0] + request = recaptchaenterprise.RemoveIpOverrideRequest() + assert args[0] == request + + # Establish that the response is the type that we expect. + assert isinstance(response, recaptchaenterprise.RemoveIpOverrideResponse) + + +@pytest.mark.asyncio +async def test_remove_ip_override_async_from_dict(): + await test_remove_ip_override_async(request_type=dict) + + +def test_remove_ip_override_field_headers(): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) + + # Any value that is part of the HTTP/1.1 URI should be sent as + # a field header. Set these to a non-empty value. + request = recaptchaenterprise.RemoveIpOverrideRequest() + + request.name = "name_value" + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.remove_ip_override), "__call__" + ) as call: + call.return_value = recaptchaenterprise.RemoveIpOverrideResponse() + client.remove_ip_override(request) + + # Establish that the underlying gRPC stub method was called. + assert len(call.mock_calls) == 1 + _, args, _ = call.mock_calls[0] + assert args[0] == request + + # Establish that the field header was sent. + _, _, kw = call.mock_calls[0] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] + + +@pytest.mark.asyncio +async def test_remove_ip_override_field_headers_async(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + ) + + # Any value that is part of the HTTP/1.1 URI should be sent as + # a field header. Set these to a non-empty value. + request = recaptchaenterprise.RemoveIpOverrideRequest() + + request.name = "name_value" + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.remove_ip_override), "__call__" + ) as call: + call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( + recaptchaenterprise.RemoveIpOverrideResponse() + ) + await client.remove_ip_override(request) + + # Establish that the underlying gRPC stub method was called. + assert len(call.mock_calls) + _, args, _ = call.mock_calls[0] + assert args[0] == request + + # Establish that the field header was sent. + _, _, kw = call.mock_calls[0] + assert ( + "x-goog-request-params", + "name=name_value", + ) in kw["metadata"] + + +def test_remove_ip_override_flattened(): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.remove_ip_override), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = recaptchaenterprise.RemoveIpOverrideResponse() + # Call the method with a truthy value for each flattened field, + # using the keyword arguments to the method. + client.remove_ip_override( + name="name_value", + ip_override_data=recaptchaenterprise.IpOverrideData(ip="ip_value"), + ) + + # Establish that the underlying call was made with the expected + # request object values. + assert len(call.mock_calls) == 1 + _, args, _ = call.mock_calls[0] + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val + arg = args[0].ip_override_data + mock_val = recaptchaenterprise.IpOverrideData(ip="ip_value") + assert arg == mock_val + + +def test_remove_ip_override_flattened_error(): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) + + # Attempting to call a method with both a request object and flattened + # fields is an error. + with pytest.raises(ValueError): + client.remove_ip_override( + recaptchaenterprise.RemoveIpOverrideRequest(), + name="name_value", + ip_override_data=recaptchaenterprise.IpOverrideData(ip="ip_value"), + ) + + +@pytest.mark.asyncio +async def test_remove_ip_override_flattened_async(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.remove_ip_override), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = recaptchaenterprise.RemoveIpOverrideResponse() + + call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( + recaptchaenterprise.RemoveIpOverrideResponse() + ) + # Call the method with a truthy value for each flattened field, + # using the keyword arguments to the method. + response = await client.remove_ip_override( + name="name_value", + ip_override_data=recaptchaenterprise.IpOverrideData(ip="ip_value"), + ) + + # Establish that the underlying call was made with the expected + # request object values. + assert len(call.mock_calls) + _, args, _ = call.mock_calls[0] + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val + arg = args[0].ip_override_data + mock_val = recaptchaenterprise.IpOverrideData(ip="ip_value") + assert arg == mock_val + + +@pytest.mark.asyncio +async def test_remove_ip_override_flattened_error_async(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + ) + + # Attempting to call a method with both a request object and flattened + # fields is an error. + with pytest.raises(ValueError): + await client.remove_ip_override( + recaptchaenterprise.RemoveIpOverrideRequest(), + name="name_value", + ip_override_data=recaptchaenterprise.IpOverrideData(ip="ip_value"), + ) + + +@pytest.mark.parametrize( + "request_type", + [ + recaptchaenterprise.ListIpOverridesRequest, + dict, + ], +) +def test_list_ip_overrides(request_type, transport: str = "grpc"): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, + ) + + # Everything is optional in proto3 as far as the runtime is concerned, + # and we are mocking out the actual API, so just send an empty request. + request = request_type() + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = recaptchaenterprise.ListIpOverridesResponse( + next_page_token="next_page_token_value", + ) + response = client.list_ip_overrides(request) + + # Establish that the underlying gRPC stub method was called. + assert len(call.mock_calls) == 1 + _, args, _ = call.mock_calls[0] + request = recaptchaenterprise.ListIpOverridesRequest() + assert args[0] == request + + # Establish that the response is the type that we expect. + assert isinstance(response, pagers.ListIpOverridesPager) + assert response.next_page_token == "next_page_token_value" + + +def test_list_ip_overrides_non_empty_request_with_auto_populated_field(): + # This test is a coverage failsafe to make sure that UUID4 fields are + # automatically populated, according to AIP-4235, with non-empty requests. + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", + ) + + # Populate all string fields in the request which are not UUID4 + # since we want to check that UUID4 are populated automatically + # if they meet the requirements of AIP 4235. + request = recaptchaenterprise.ListIpOverridesRequest( + parent="parent_value", + page_token="page_token_value", + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + call.return_value.name = ( + "foo" # operation_request.operation in compute client(s) expect a string. + ) + client.list_ip_overrides(request=request) + call.assert_called() + _, args, _ = call.mock_calls[0] + assert args[0] == recaptchaenterprise.ListIpOverridesRequest( + parent="parent_value", + page_token="page_token_value", + ) + + +def test_list_ip_overrides_use_cached_wrapped_rpc(): + # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, + # instead of constructing them on each call + with mock.patch("google.api_core.gapic_v1.method.wrap_method") as wrapper_fn: + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", + ) + + # Should wrap all calls on client creation + assert wrapper_fn.call_count > 0 + wrapper_fn.reset_mock() + + # Ensure method has been cached + assert client._transport.list_ip_overrides in client._transport._wrapped_methods + + # Replace cached wrapped function with mock + mock_rpc = mock.Mock() + mock_rpc.return_value.name = ( + "foo" # operation_request.operation in compute client(s) expect a string. + ) + client._transport._wrapped_methods[ + client._transport.list_ip_overrides + ] = mock_rpc + request = {} + client.list_ip_overrides(request) + + # Establish that the underlying gRPC stub method was called. + assert mock_rpc.call_count == 1 + + client.list_ip_overrides(request) + + # Establish that a new wrapper was not created for this call + assert wrapper_fn.call_count == 0 + assert mock_rpc.call_count == 2 + + +@pytest.mark.asyncio +async def test_list_ip_overrides_async_use_cached_wrapped_rpc( + transport: str = "grpc_asyncio", +): + # Clients should use _prep_wrapped_messages to create cached wrapped rpcs, + # instead of constructing them on each call + with mock.patch("google.api_core.gapic_v1.method_async.wrap_method") as wrapper_fn: + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + transport=transport, + ) + + # Should wrap all calls on client creation + assert wrapper_fn.call_count > 0 + wrapper_fn.reset_mock() + + # Ensure method has been cached + assert ( + client._client._transport.list_ip_overrides + in client._client._transport._wrapped_methods + ) + + # Replace cached wrapped function with mock + mock_rpc = mock.AsyncMock() + mock_rpc.return_value = mock.Mock() + client._client._transport._wrapped_methods[ + client._client._transport.list_ip_overrides + ] = mock_rpc + + request = {} + await client.list_ip_overrides(request) + + # Establish that the underlying gRPC stub method was called. + assert mock_rpc.call_count == 1 + + await client.list_ip_overrides(request) + + # Establish that a new wrapper was not created for this call + assert wrapper_fn.call_count == 0 + assert mock_rpc.call_count == 2 + + +@pytest.mark.asyncio +async def test_list_ip_overrides_async( + transport: str = "grpc_asyncio", + request_type=recaptchaenterprise.ListIpOverridesRequest, +): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + transport=transport, + ) + + # Everything is optional in proto3 as far as the runtime is concerned, + # and we are mocking out the actual API, so just send an empty request. + request = request_type() + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( + recaptchaenterprise.ListIpOverridesResponse( + next_page_token="next_page_token_value", + ) + ) + response = await client.list_ip_overrides(request) + + # Establish that the underlying gRPC stub method was called. + assert len(call.mock_calls) + _, args, _ = call.mock_calls[0] + request = recaptchaenterprise.ListIpOverridesRequest() + assert args[0] == request + + # Establish that the response is the type that we expect. + assert isinstance(response, pagers.ListIpOverridesAsyncPager) + assert response.next_page_token == "next_page_token_value" + + +@pytest.mark.asyncio +async def test_list_ip_overrides_async_from_dict(): + await test_list_ip_overrides_async(request_type=dict) + + +def test_list_ip_overrides_field_headers(): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) + + # Any value that is part of the HTTP/1.1 URI should be sent as + # a field header. Set these to a non-empty value. + request = recaptchaenterprise.ListIpOverridesRequest() + + request.parent = "parent_value" + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + call.return_value = recaptchaenterprise.ListIpOverridesResponse() + client.list_ip_overrides(request) + + # Establish that the underlying gRPC stub method was called. + assert len(call.mock_calls) == 1 + _, args, _ = call.mock_calls[0] + assert args[0] == request + + # Establish that the field header was sent. + _, _, kw = call.mock_calls[0] + assert ( + "x-goog-request-params", + "parent=parent_value", + ) in kw["metadata"] + + +@pytest.mark.asyncio +async def test_list_ip_overrides_field_headers_async(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + ) + + # Any value that is part of the HTTP/1.1 URI should be sent as + # a field header. Set these to a non-empty value. + request = recaptchaenterprise.ListIpOverridesRequest() + + request.parent = "parent_value" + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( + recaptchaenterprise.ListIpOverridesResponse() + ) + await client.list_ip_overrides(request) + + # Establish that the underlying gRPC stub method was called. + assert len(call.mock_calls) + _, args, _ = call.mock_calls[0] + assert args[0] == request + + # Establish that the field header was sent. + _, _, kw = call.mock_calls[0] + assert ( + "x-goog-request-params", + "parent=parent_value", + ) in kw["metadata"] + + +def test_list_ip_overrides_flattened(): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = recaptchaenterprise.ListIpOverridesResponse() + # Call the method with a truthy value for each flattened field, + # using the keyword arguments to the method. + client.list_ip_overrides( + parent="parent_value", + ) + + # Establish that the underlying call was made with the expected + # request object values. + assert len(call.mock_calls) == 1 + _, args, _ = call.mock_calls[0] + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + + +def test_list_ip_overrides_flattened_error(): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) + + # Attempting to call a method with both a request object and flattened + # fields is an error. + with pytest.raises(ValueError): + client.list_ip_overrides( + recaptchaenterprise.ListIpOverridesRequest(), + parent="parent_value", + ) + + +@pytest.mark.asyncio +async def test_list_ip_overrides_flattened_async(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = recaptchaenterprise.ListIpOverridesResponse() + + call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( + recaptchaenterprise.ListIpOverridesResponse() + ) + # Call the method with a truthy value for each flattened field, + # using the keyword arguments to the method. + response = await client.list_ip_overrides( + parent="parent_value", + ) + + # Establish that the underlying call was made with the expected + # request object values. + assert len(call.mock_calls) + _, args, _ = call.mock_calls[0] + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + + +@pytest.mark.asyncio +async def test_list_ip_overrides_flattened_error_async(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + ) + + # Attempting to call a method with both a request object and flattened + # fields is an error. + with pytest.raises(ValueError): + await client.list_ip_overrides( + recaptchaenterprise.ListIpOverridesRequest(), + parent="parent_value", + ) + + +def test_list_ip_overrides_pager(transport_name: str = "grpc"): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport=transport_name, + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + # Set the response to a series of pages. + call.side_effect = ( + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + ], + next_page_token="abc", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[], + next_page_token="def", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + ], + next_page_token="ghi", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + ], + ), + RuntimeError, + ) + + expected_metadata = () + retry = retries.Retry() + timeout = 5 + expected_metadata = tuple(expected_metadata) + ( + gapic_v1.routing_header.to_grpc_metadata((("parent", ""),)), + ) + pager = client.list_ip_overrides(request={}, retry=retry, timeout=timeout) + + assert pager._metadata == expected_metadata + assert pager._retry == retry + assert pager._timeout == timeout + + results = list(pager) + assert len(results) == 6 + assert all(isinstance(i, recaptchaenterprise.IpOverrideData) for i in results) + + +def test_list_ip_overrides_pages(transport_name: str = "grpc"): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport=transport_name, + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + # Set the response to a series of pages. + call.side_effect = ( + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + ], + next_page_token="abc", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[], + next_page_token="def", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + ], + next_page_token="ghi", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + ], + ), + RuntimeError, + ) + pages = list(client.list_ip_overrides(request={}).pages) + for page_, token in zip(pages, ["abc", "def", "ghi", ""]): + assert page_.raw_page.next_page_token == token + + +@pytest.mark.asyncio +async def test_list_ip_overrides_async_pager(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), + "__call__", + new_callable=mock.AsyncMock, + ) as call: + # Set the response to a series of pages. + call.side_effect = ( + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + ], + next_page_token="abc", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[], + next_page_token="def", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + ], + next_page_token="ghi", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + ], + ), + RuntimeError, + ) + async_pager = await client.list_ip_overrides( + request={}, + ) + assert async_pager.next_page_token == "abc" + responses = [] + async for response in async_pager: # pragma: no branch + responses.append(response) + + assert len(responses) == 6 + assert all(isinstance(i, recaptchaenterprise.IpOverrideData) for i in responses) + + +@pytest.mark.asyncio +async def test_list_ip_overrides_async_pages(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + ) + + # Mock the actual call within the gRPC stub, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), + "__call__", + new_callable=mock.AsyncMock, + ) as call: + # Set the response to a series of pages. + call.side_effect = ( + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + ], + next_page_token="abc", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[], + next_page_token="def", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + ], + next_page_token="ghi", + ), + recaptchaenterprise.ListIpOverridesResponse( + ip_overrides=[ + recaptchaenterprise.IpOverrideData(), + recaptchaenterprise.IpOverrideData(), + ], + ), + RuntimeError, + ) + pages = [] + # Workaround issue in python 3.9 related to code coverage by adding `# pragma: no branch` + # See https://github.com/googleapis/gapic-generator-python/pull/1174#issuecomment-1025132372 + async for page_ in ( # pragma: no branch + await client.list_ip_overrides(request={}) + ).pages: + pages.append(page_) + for page_, token in zip(pages, ["abc", "def", "ghi", ""]): + assert page_.raw_page.next_page_token == token + + @pytest.mark.parametrize( "request_type", [ @@ -9253,6 +10143,52 @@ def test_add_ip_override_empty_call_grpc(): assert args[0] == request_msg +# This test is a coverage failsafe to make sure that totally empty calls, +# i.e. request == None and no flattened fields passed, work. +def test_remove_ip_override_empty_call_grpc(): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", + ) + + # Mock the actual call, and fake the request. + with mock.patch.object( + type(client.transport.remove_ip_override), "__call__" + ) as call: + call.return_value = recaptchaenterprise.RemoveIpOverrideResponse() + client.remove_ip_override(request=None) + + # Establish that the underlying stub method was called. + call.assert_called() + _, args, _ = call.mock_calls[0] + request_msg = recaptchaenterprise.RemoveIpOverrideRequest() + + assert args[0] == request_msg + + +# This test is a coverage failsafe to make sure that totally empty calls, +# i.e. request == None and no flattened fields passed, work. +def test_list_ip_overrides_empty_call_grpc(): + client = RecaptchaEnterpriseServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", + ) + + # Mock the actual call, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + call.return_value = recaptchaenterprise.ListIpOverridesResponse() + client.list_ip_overrides(request=None) + + # Establish that the underlying stub method was called. + call.assert_called() + _, args, _ = call.mock_calls[0] + request_msg = recaptchaenterprise.ListIpOverridesRequest() + + assert args[0] == request_msg + + # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. def test_get_metrics_empty_call_grpc(): @@ -9771,6 +10707,62 @@ async def test_add_ip_override_empty_call_grpc_asyncio(): assert args[0] == request_msg +# This test is a coverage failsafe to make sure that totally empty calls, +# i.e. request == None and no flattened fields passed, work. +@pytest.mark.asyncio +async def test_remove_ip_override_empty_call_grpc_asyncio(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + transport="grpc_asyncio", + ) + + # Mock the actual call, and fake the request. + with mock.patch.object( + type(client.transport.remove_ip_override), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( + recaptchaenterprise.RemoveIpOverrideResponse() + ) + await client.remove_ip_override(request=None) + + # Establish that the underlying stub method was called. + call.assert_called() + _, args, _ = call.mock_calls[0] + request_msg = recaptchaenterprise.RemoveIpOverrideRequest() + + assert args[0] == request_msg + + +# This test is a coverage failsafe to make sure that totally empty calls, +# i.e. request == None and no flattened fields passed, work. +@pytest.mark.asyncio +async def test_list_ip_overrides_empty_call_grpc_asyncio(): + client = RecaptchaEnterpriseServiceAsyncClient( + credentials=async_anonymous_credentials(), + transport="grpc_asyncio", + ) + + # Mock the actual call, and fake the request. + with mock.patch.object( + type(client.transport.list_ip_overrides), "__call__" + ) as call: + # Designate an appropriate return value for the call. + call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( + recaptchaenterprise.ListIpOverridesResponse( + next_page_token="next_page_token_value", + ) + ) + await client.list_ip_overrides(request=None) + + # Establish that the underlying stub method was called. + call.assert_called() + _, args, _ = call.mock_calls[0] + request_msg = recaptchaenterprise.ListIpOverridesRequest() + + assert args[0] == request_msg + + # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @pytest.mark.asyncio @@ -10105,6 +11097,8 @@ def test_recaptcha_enterprise_service_base_transport(): "delete_key", "migrate_key", "add_ip_override", + "remove_ip_override", + "list_ip_overrides", "get_metrics", "create_firewall_policy", "list_firewall_policies",