From 020bf8208a7a3a7e72e172f8f79806adb01f139a Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 9 Nov 2021 17:47:31 -0500 Subject: [PATCH 01/17] chore: use gapic-generator-python 0.56.2 (#105) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: update Java and Python dependencies PiperOrigin-RevId: 408420890 Source-Link: https://github.com/googleapis/googleapis/commit/2921f9fb3bfbd16f6b2da0104373e2b47a80a65e Source-Link: https://github.com/googleapis/googleapis-gen/commit/6598ca8cbbf5226733a099c4506518a5af6ff74c Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNjU5OGNhOGNiYmY1MjI2NzMzYTA5OWM0NTA2NTE4YTVhZjZmZjc0YyJ9 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../services/catalog_service/async_client.py | 13 +- .../services/catalog_service/client.py | 25 ++-- .../catalog_service/transports/base.py | 10 +- .../catalog_service/transports/grpc.py | 6 +- .../transports/grpc_asyncio.py | 6 +- .../async_client.py | 13 +- .../prediction_api_key_registry/client.py | 25 ++-- .../transports/base.py | 8 +- .../transports/grpc.py | 4 +- .../transports/grpc_asyncio.py | 4 +- .../prediction_service/async_client.py | 13 +- .../services/prediction_service/client.py | 25 ++-- .../prediction_service/transports/base.py | 8 +- .../prediction_service/transports/grpc.py | 4 +- .../transports/grpc_asyncio.py | 4 +- .../user_event_service/async_client.py | 13 +- .../services/user_event_service/client.py | 25 ++-- .../user_event_service/transports/base.py | 10 +- .../user_event_service/transports/grpc.py | 6 +- .../transports/grpc_asyncio.py | 6 +- .../types/catalog.py | 3 + .../types/import_.py | 4 + .../test_catalog_service.py | 108 +++++++++++---- .../test_prediction_api_key_registry.py | 36 +++-- .../test_prediction_service.py | 20 +-- .../test_user_event_service.py | 128 ++++++++++++------ 26 files changed, 349 insertions(+), 178 deletions(-) diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py index b564740e..c05453a9 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py @@ -19,14 +19,17 @@ from typing import Dict, Sequence, Tuple, Type, Union import pkg_resources -from google.api_core.client_options import ClientOptions # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore +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 as retries from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore -OptionalRetry = Union[retries.Retry, object] +try: + OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] +except AttributeError: # pragma: NO COVER + OptionalRetry = Union[retries.Retry, object] # type: ignore from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py index 64f9cd01..cdf2dd33 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py @@ -14,23 +14,25 @@ # limitations under the License. # from collections import OrderedDict -from distutils import util import os import re from typing import Dict, Optional, Sequence, Tuple, Type, Union import pkg_resources -from google.api_core import client_options as client_options_lib # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore +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 -OptionalRetry = Union[retries.Retry, object] +try: + OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] +except AttributeError: # pragma: NO COVER + OptionalRetry = Union[retries.Retry, object] # type: ignore from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore @@ -291,8 +293,15 @@ def __init__( client_options = client_options_lib.ClientOptions() # Create SSL credentials for mutual TLS if needed. - use_client_cert = bool( - util.strtobool(os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false")) + if os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") not in ( + "true", + "false", + ): + raise ValueError( + "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" + ) + use_client_cert = ( + os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true" ) client_cert_source_func = None diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py index 1e783c96..d0c6c74d 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py @@ -18,11 +18,11 @@ import pkg_resources import google.auth # type: ignore -import google.api_core # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore -from google.api_core import operations_v1 # 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.api_core import operations_v1 from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py index 48695cda..9e0b3e8d 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py @@ -16,9 +16,9 @@ import warnings from typing import Callable, Dict, Optional, Sequence, Tuple, Union -from google.api_core import grpc_helpers # type: ignore -from google.api_core import operations_v1 # type: ignore -from google.api_core import gapic_v1 # type: ignore +from google.api_core import grpc_helpers +from google.api_core import operations_v1 +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 diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py index 0584001b..49635f4e 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py @@ -16,9 +16,9 @@ import warnings from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union -from google.api_core import gapic_v1 # type: ignore -from google.api_core import grpc_helpers_async # type: ignore -from google.api_core import operations_v1 # type: ignore +from google.api_core import gapic_v1 +from google.api_core import grpc_helpers_async +from google.api_core import operations_v1 from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py index d1739e8c..4d6d5e3d 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py @@ -19,14 +19,17 @@ from typing import Dict, Sequence, Tuple, Type, Union import pkg_resources -from google.api_core.client_options import ClientOptions # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore +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 as retries from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore -OptionalRetry = Union[retries.Retry, object] +try: + OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] +except AttributeError: # pragma: NO COVER + OptionalRetry = Union[retries.Retry, object] # type: ignore from google.cloud.recommendationengine_v1beta1.services.prediction_api_key_registry import ( pagers, diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py index e2c68e95..0acad38c 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py @@ -14,23 +14,25 @@ # limitations under the License. # from collections import OrderedDict -from distutils import util import os import re from typing import Dict, Optional, Sequence, Tuple, Type, Union import pkg_resources -from google.api_core import client_options as client_options_lib # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore +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 -OptionalRetry = Union[retries.Retry, object] +try: + OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] +except AttributeError: # pragma: NO COVER + OptionalRetry = Union[retries.Retry, object] # type: ignore from google.cloud.recommendationengine_v1beta1.services.prediction_api_key_registry import ( pagers, @@ -326,8 +328,15 @@ def __init__( client_options = client_options_lib.ClientOptions() # Create SSL credentials for mutual TLS if needed. - use_client_cert = bool( - util.strtobool(os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false")) + if os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") not in ( + "true", + "false", + ): + raise ValueError( + "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" + ) + use_client_cert = ( + os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true" ) client_cert_source_func = None diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py index d4e22f5f..41b243f0 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py @@ -18,10 +18,10 @@ import pkg_resources import google.auth # type: ignore -import google.api_core # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # 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 diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py index 9f1e15e4..ead165ca 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py @@ -16,8 +16,8 @@ import warnings from typing import Callable, Dict, Optional, Sequence, Tuple, Union -from google.api_core import grpc_helpers # type: ignore -from google.api_core import gapic_v1 # type: ignore +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 diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py index af1197fa..5b2eb2a8 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py @@ -16,8 +16,8 @@ import warnings from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union -from google.api_core import gapic_v1 # type: ignore -from google.api_core import grpc_helpers_async # type: ignore +from google.api_core import gapic_v1 +from google.api_core import grpc_helpers_async from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py index 0ddf5480..5836792c 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py @@ -19,14 +19,17 @@ from typing import Dict, Sequence, Tuple, Type, Union import pkg_resources -from google.api_core.client_options import ClientOptions # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore +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 as retries from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore -OptionalRetry = Union[retries.Retry, object] +try: + OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] +except AttributeError: # pragma: NO COVER + OptionalRetry = Union[retries.Retry, object] # type: ignore from google.cloud.recommendationengine_v1beta1.services.prediction_service import pagers from google.cloud.recommendationengine_v1beta1.types import prediction_service diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py index 978ca97f..823cd8f3 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py @@ -14,23 +14,25 @@ # limitations under the License. # from collections import OrderedDict -from distutils import util import os import re from typing import Dict, Optional, Sequence, Tuple, Type, Union import pkg_resources -from google.api_core import client_options as client_options_lib # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore +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 -OptionalRetry = Union[retries.Retry, object] +try: + OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] +except AttributeError: # pragma: NO COVER + OptionalRetry = Union[retries.Retry, object] # type: ignore from google.cloud.recommendationengine_v1beta1.services.prediction_service import pagers from google.cloud.recommendationengine_v1beta1.types import prediction_service @@ -292,8 +294,15 @@ def __init__( client_options = client_options_lib.ClientOptions() # Create SSL credentials for mutual TLS if needed. - use_client_cert = bool( - util.strtobool(os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false")) + if os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") not in ( + "true", + "false", + ): + raise ValueError( + "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" + ) + use_client_cert = ( + os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true" ) client_cert_source_func = None diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py index 68d62ef6..cdb88f97 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py @@ -18,10 +18,10 @@ import pkg_resources import google.auth # type: ignore -import google.api_core # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # 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 diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py index 3f6fb665..4a67848b 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py @@ -16,8 +16,8 @@ import warnings from typing import Callable, Dict, Optional, Sequence, Tuple, Union -from google.api_core import grpc_helpers # type: ignore -from google.api_core import gapic_v1 # type: ignore +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 diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py index 48d0d1f5..e53e8e39 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py @@ -16,8 +16,8 @@ import warnings from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union -from google.api_core import gapic_v1 # type: ignore -from google.api_core import grpc_helpers_async # type: ignore +from google.api_core import gapic_v1 +from google.api_core import grpc_helpers_async from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py index d47cfb30..24da5994 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py @@ -19,14 +19,17 @@ from typing import Dict, Sequence, Tuple, Type, Union import pkg_resources -from google.api_core.client_options import ClientOptions # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore +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 as retries from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore -OptionalRetry = Union[retries.Retry, object] +try: + OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] +except AttributeError: # pragma: NO COVER + OptionalRetry = Union[retries.Retry, object] # type: ignore from google.api import httpbody_pb2 # type: ignore from google.api_core import operation # type: ignore diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py index ba3a80a5..2e1e36a9 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py @@ -14,23 +14,25 @@ # limitations under the License. # from collections import OrderedDict -from distutils import util import os import re from typing import Dict, Optional, Sequence, Tuple, Type, Union import pkg_resources -from google.api_core import client_options as client_options_lib # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore +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 -OptionalRetry = Union[retries.Retry, object] +try: + OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] +except AttributeError: # pragma: NO COVER + OptionalRetry = Union[retries.Retry, object] # type: ignore from google.api import httpbody_pb2 # type: ignore from google.api_core import operation # type: ignore @@ -298,8 +300,15 @@ def __init__( client_options = client_options_lib.ClientOptions() # Create SSL credentials for mutual TLS if needed. - use_client_cert = bool( - util.strtobool(os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false")) + if os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") not in ( + "true", + "false", + ): + raise ValueError( + "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" + ) + use_client_cert = ( + os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true" ) client_cert_source_func = None diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py index fa852f7a..0751914d 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py @@ -18,11 +18,11 @@ import pkg_resources import google.auth # type: ignore -import google.api_core # type: ignore -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import retry as retries # type: ignore -from google.api_core import operations_v1 # 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.api_core import operations_v1 from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py index 05e9f4a8..21a427b3 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py @@ -16,9 +16,9 @@ import warnings from typing import Callable, Dict, Optional, Sequence, Tuple, Union -from google.api_core import grpc_helpers # type: ignore -from google.api_core import operations_v1 # type: ignore -from google.api_core import gapic_v1 # type: ignore +from google.api_core import grpc_helpers +from google.api_core import operations_v1 +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 diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py index 379215fd..05524a42 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py @@ -16,9 +16,9 @@ import warnings from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union -from google.api_core import gapic_v1 # type: ignore -from google.api_core import grpc_helpers_async # type: ignore -from google.api_core import operations_v1 # type: ignore +from google.api_core import gapic_v1 +from google.api_core import grpc_helpers_async +from google.api_core import operations_v1 from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore diff --git a/google/cloud/recommendationengine_v1beta1/types/catalog.py b/google/cloud/recommendationengine_v1beta1/types/catalog.py index 404afa39..9bae3dad 100644 --- a/google/cloud/recommendationengine_v1beta1/types/catalog.py +++ b/google/cloud/recommendationengine_v1beta1/types/catalog.py @@ -91,6 +91,7 @@ class CatalogItem(proto.Message): product_metadata (google.cloud.recommendationengine_v1beta1.types.ProductCatalogItem): Optional. Metadata specific to retail products. + This field is a member of `oneof`_ ``recommendation_type``. """ @@ -140,9 +141,11 @@ class ProductCatalogItem(proto.Message): Attributes: exact_price (google.cloud.recommendationengine_v1beta1.types.ProductCatalogItem.ExactPrice): Optional. The exact product price. + This field is a member of `oneof`_ ``price``. price_range (google.cloud.recommendationengine_v1beta1.types.ProductCatalogItem.PriceRange): Optional. The product price range. + This field is a member of `oneof`_ ``price``. costs (Sequence[google.cloud.recommendationengine_v1beta1.types.ProductCatalogItem.CostsEntry]): Optional. A map to pass the costs associated with the diff --git a/google/cloud/recommendationengine_v1beta1/types/import_.py b/google/cloud/recommendationengine_v1beta1/types/import_.py index c095a731..96cb4606 100644 --- a/google/cloud/recommendationengine_v1beta1/types/import_.py +++ b/google/cloud/recommendationengine_v1beta1/types/import_.py @@ -100,6 +100,7 @@ class ImportErrorsConfig(proto.Message): empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded ``google.rpc.Status`` message. + This field is a member of `oneof`_ ``destination``. """ @@ -178,14 +179,17 @@ class InputConfig(proto.Message): catalog_inline_source (google.cloud.recommendationengine_v1beta1.types.CatalogInlineSource): The Inline source for the input content for Catalog items. + This field is a member of `oneof`_ ``source``. gcs_source (google.cloud.recommendationengine_v1beta1.types.GcsSource): Google Cloud Storage location for the input content. + This field is a member of `oneof`_ ``source``. user_event_inline_source (google.cloud.recommendationengine_v1beta1.types.UserEventInlineSource): The Inline source for the input content for UserEvents. + This field is a member of `oneof`_ ``source``. """ diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py index 8c9f0bd0..c70f3d86 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py @@ -682,8 +682,12 @@ def test_create_catalog_item_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].catalog_item == catalog.CatalogItem(id="id_value") + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].catalog_item + mock_val = catalog.CatalogItem(id="id_value") + assert arg == mock_val def test_create_catalog_item_flattened_error(): @@ -723,8 +727,12 @@ async def test_create_catalog_item_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].catalog_item == catalog.CatalogItem(id="id_value") + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].catalog_item + mock_val = catalog.CatalogItem(id="id_value") + assert arg == mock_val @pytest.mark.asyncio @@ -917,7 +925,9 @@ def test_get_catalog_item_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val def test_get_catalog_item_flattened_error(): @@ -951,7 +961,9 @@ async def test_get_catalog_item_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val @pytest.mark.asyncio @@ -1136,8 +1148,12 @@ def test_list_catalog_items_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].filter == "filter_value" + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].filter + mock_val = "filter_value" + assert arg == mock_val def test_list_catalog_items_flattened_error(): @@ -1179,8 +1195,12 @@ async def test_list_catalog_items_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].filter == "filter_value" + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].filter + mock_val = "filter_value" + assert arg == mock_val @pytest.mark.asyncio @@ -1544,9 +1564,15 @@ def test_update_catalog_item_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" - assert args[0].catalog_item == catalog.CatalogItem(id="id_value") - assert args[0].update_mask == field_mask_pb2.FieldMask(paths=["paths_value"]) + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val + arg = args[0].catalog_item + mock_val = catalog.CatalogItem(id="id_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_catalog_item_flattened_error(): @@ -1589,9 +1615,15 @@ async def test_update_catalog_item_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" - assert args[0].catalog_item == catalog.CatalogItem(id="id_value") - assert args[0].update_mask == field_mask_pb2.FieldMask(paths=["paths_value"]) + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val + arg = args[0].catalog_item + mock_val = catalog.CatalogItem(id="id_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 @@ -1767,7 +1799,9 @@ def test_delete_catalog_item_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val def test_delete_catalog_item_flattened_error(): @@ -1803,7 +1837,9 @@ async def test_delete_catalog_item_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val @pytest.mark.asyncio @@ -1988,16 +2024,22 @@ def test_import_catalog_items_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].request_id == "request_id_value" - assert args[0].input_config == import_.InputConfig( + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].request_id + mock_val = "request_id_value" + assert arg == mock_val + arg = args[0].input_config + mock_val = import_.InputConfig( catalog_inline_source=import_.CatalogInlineSource( catalog_items=[catalog.CatalogItem(id="id_value")] ) ) - assert args[0].errors_config == import_.ImportErrorsConfig( - gcs_prefix="gcs_prefix_value" - ) + assert arg == mock_val + arg = args[0].errors_config + mock_val = import_.ImportErrorsConfig(gcs_prefix="gcs_prefix_value") + assert arg == mock_val def test_import_catalog_items_flattened_error(): @@ -2052,16 +2094,22 @@ async def test_import_catalog_items_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].request_id == "request_id_value" - assert args[0].input_config == import_.InputConfig( + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].request_id + mock_val = "request_id_value" + assert arg == mock_val + arg = args[0].input_config + mock_val = import_.InputConfig( catalog_inline_source=import_.CatalogInlineSource( catalog_items=[catalog.CatalogItem(id="id_value")] ) ) - assert args[0].errors_config == import_.ImportErrorsConfig( - gcs_prefix="gcs_prefix_value" - ) + assert arg == mock_val + arg = args[0].errors_config + mock_val = import_.ImportErrorsConfig(gcs_prefix="gcs_prefix_value") + assert arg == mock_val @pytest.mark.asyncio diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py index 3d0574cc..c9924eb4 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py @@ -713,12 +713,14 @@ def test_create_prediction_api_key_registration_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[ - 0 - ].prediction_api_key_registration == prediction_apikey_registry_service.PredictionApiKeyRegistration( + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].prediction_api_key_registration + mock_val = prediction_apikey_registry_service.PredictionApiKeyRegistration( api_key="api_key_value" ) + assert arg == mock_val def test_create_prediction_api_key_registration_flattened_error(): @@ -769,12 +771,14 @@ async def test_create_prediction_api_key_registration_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[ - 0 - ].prediction_api_key_registration == prediction_apikey_registry_service.PredictionApiKeyRegistration( + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].prediction_api_key_registration + mock_val = prediction_apikey_registry_service.PredictionApiKeyRegistration( api_key="api_key_value" ) + assert arg == mock_val @pytest.mark.asyncio @@ -983,7 +987,9 @@ def test_list_prediction_api_key_registrations_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val def test_list_prediction_api_key_registrations_flattened_error(): @@ -1028,7 +1034,9 @@ async def test_list_prediction_api_key_registrations_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val @pytest.mark.asyncio @@ -1418,7 +1426,9 @@ def test_delete_prediction_api_key_registration_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val def test_delete_prediction_api_key_registration_flattened_error(): @@ -1459,7 +1469,9 @@ async def test_delete_prediction_api_key_registration_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val @pytest.mark.asyncio diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py index 9a901b3c..4b9fdca4 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py @@ -667,10 +667,12 @@ def test_predict_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" - assert args[0].user_event == gcr_user_event.UserEvent( - event_type="event_type_value" - ) + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val + arg = args[0].user_event + mock_val = gcr_user_event.UserEvent(event_type="event_type_value") + assert arg == mock_val def test_predict_flattened_error(): @@ -711,10 +713,12 @@ async def test_predict_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].name == "name_value" - assert args[0].user_event == gcr_user_event.UserEvent( - event_type="event_type_value" - ) + arg = args[0].name + mock_val = "name_value" + assert arg == mock_val + arg = args[0].user_event + mock_val = gcr_user_event.UserEvent(event_type="event_type_value") + assert arg == mock_val @pytest.mark.asyncio diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py index 7d9d76c3..8b2584bf 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py @@ -667,10 +667,12 @@ def test_write_user_event_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].user_event == gcr_user_event.UserEvent( - event_type="event_type_value" - ) + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].user_event + mock_val = gcr_user_event.UserEvent(event_type="event_type_value") + assert arg == mock_val def test_write_user_event_flattened_error(): @@ -711,10 +713,12 @@ async def test_write_user_event_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].user_event == gcr_user_event.UserEvent( - event_type="event_type_value" - ) + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].user_event + mock_val = gcr_user_event.UserEvent(event_type="event_type_value") + assert arg == mock_val @pytest.mark.asyncio @@ -904,10 +908,18 @@ def test_collect_user_event_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].user_event == "user_event_value" - assert args[0].uri == "uri_value" - assert args[0].ets == 332 + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].user_event + mock_val = "user_event_value" + assert arg == mock_val + arg = args[0].uri + mock_val = "uri_value" + assert arg == mock_val + arg = args[0].ets + mock_val = 332 + assert arg == mock_val def test_collect_user_event_flattened_error(): @@ -954,10 +966,18 @@ async def test_collect_user_event_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].user_event == "user_event_value" - assert args[0].uri == "uri_value" - assert args[0].ets == 332 + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].user_event + mock_val = "user_event_value" + assert arg == mock_val + arg = args[0].uri + mock_val = "uri_value" + assert arg == mock_val + arg = args[0].ets + mock_val = 332 + assert arg == mock_val @pytest.mark.asyncio @@ -1134,8 +1154,12 @@ def test_list_user_events_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].filter == "filter_value" + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].filter + mock_val = "filter_value" + assert arg == mock_val def test_list_user_events_flattened_error(): @@ -1175,8 +1199,12 @@ async def test_list_user_events_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].filter == "filter_value" + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].filter + mock_val = "filter_value" + assert arg == mock_val @pytest.mark.asyncio @@ -1507,9 +1535,15 @@ def test_purge_user_events_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].filter == "filter_value" - assert args[0].force == True + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].filter + mock_val = "filter_value" + assert arg == mock_val + arg = args[0].force + mock_val = True + assert arg == mock_val def test_purge_user_events_flattened_error(): @@ -1552,9 +1586,15 @@ async def test_purge_user_events_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].filter == "filter_value" - assert args[0].force == True + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].filter + mock_val = "filter_value" + assert arg == mock_val + arg = args[0].force + mock_val = True + assert arg == mock_val @pytest.mark.asyncio @@ -1742,16 +1782,22 @@ def test_import_user_events_flattened(): # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].request_id == "request_id_value" - assert args[0].input_config == import_.InputConfig( + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].request_id + mock_val = "request_id_value" + assert arg == mock_val + arg = args[0].input_config + mock_val = import_.InputConfig( catalog_inline_source=import_.CatalogInlineSource( catalog_items=[catalog.CatalogItem(id="id_value")] ) ) - assert args[0].errors_config == import_.ImportErrorsConfig( - gcs_prefix="gcs_prefix_value" - ) + assert arg == mock_val + arg = args[0].errors_config + mock_val = import_.ImportErrorsConfig(gcs_prefix="gcs_prefix_value") + assert arg == mock_val def test_import_user_events_flattened_error(): @@ -1806,16 +1852,22 @@ async def test_import_user_events_flattened_async(): # request object values. assert len(call.mock_calls) _, args, _ = call.mock_calls[0] - assert args[0].parent == "parent_value" - assert args[0].request_id == "request_id_value" - assert args[0].input_config == import_.InputConfig( + arg = args[0].parent + mock_val = "parent_value" + assert arg == mock_val + arg = args[0].request_id + mock_val = "request_id_value" + assert arg == mock_val + arg = args[0].input_config + mock_val = import_.InputConfig( catalog_inline_source=import_.CatalogInlineSource( catalog_items=[catalog.CatalogItem(id="id_value")] ) ) - assert args[0].errors_config == import_.ImportErrorsConfig( - gcs_prefix="gcs_prefix_value" - ) + assert arg == mock_val + arg = args[0].errors_config + mock_val = import_.ImportErrorsConfig(gcs_prefix="gcs_prefix_value") + assert arg == mock_val @pytest.mark.asyncio From 64648c6f0dcb5ddc0dcca006b4210f53460824d2 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 11 Nov 2021 13:22:28 -0500 Subject: [PATCH 02/17] chore(python): add .github/CODEOWNERS as a templated file (#106) Source-Link: https://github.com/googleapis/synthtool/commit/c5026b3217973a8db55db8ee85feee0e9a65e295 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:0e18b9475fbeb12d9ad4302283171edebb6baf2dfca1bd215ee3b34ed79d95d7 Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 2 +- .github/CODEOWNERS | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 108063d4..7519fa3a 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -1,3 +1,3 @@ docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:4ee57a76a176ede9087c14330c625a71553cf9c72828b2c0ca12f5338171ba60 + digest: sha256:0e18b9475fbeb12d9ad4302283171edebb6baf2dfca1bd215ee3b34ed79d95d7 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 30c3973a..44cc8685 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -3,9 +3,10 @@ # # For syntax help see: # https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax +# Note: This file is autogenerated. To make changes to the codeowner team, please update .repo-metadata.json. -# The @googleapis/yoshi-python is the default owner for changes in this repo -* @googleapis/yoshi-python +# @googleapis/yoshi-python is the default owner for changes in this repo +* @googleapis/yoshi-python -# The python-samples-reviewers team is the default owner for samples changes -/samples/ @googleapis/python-samples-owners \ No newline at end of file +# @googleapis/python-samples-owners is the default owner for samples changes +/samples/ @googleapis/python-samples-owners From 18ae2beec9911d522590cc418a61afd0b4bf9869 Mon Sep 17 00:00:00 2001 From: Dan Lee <71398022+dandhlee@users.noreply.github.com> Date: Tue, 16 Nov 2021 11:06:26 -0500 Subject: [PATCH 03/17] chore: update doc links from googleapis.dev to cloud.google.com (#107) --- .repo-metadata.json | 2 +- README.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.repo-metadata.json b/.repo-metadata.json index 5f256c34..e887520c 100644 --- a/.repo-metadata.json +++ b/.repo-metadata.json @@ -2,7 +2,7 @@ "name": "recommendationengine", "name_pretty": "Recommendations AI", "product_documentation": "https://cloud.google.com/recommendations-ai/", - "client_documentation": "https://googleapis.dev/python/recommendationengine/latest", + "client_documentation": "https://cloud.google.com/python/docs/reference/recommendationengine/latest", "issue_tracker": "", "release_level": "beta", "language": "python", diff --git a/README.rst b/README.rst index b6e10e2e..35623fe2 100644 --- a/README.rst +++ b/README.rst @@ -15,7 +15,7 @@ Python Client for Recommendations AI .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-recommendations-ai.svg :target: https://pypi.org/project/google-cloud-recommendations-ai/ .. _Cloud Recommendations AI API: https://cloud.google.com/recommendations-ai -.. _Client Library Documentation: https://googleapis.dev/python/recommendationengine/latest +.. _Client Library Documentation: https://cloud.google.com/python/docs/reference/recommendationengine/latest .. _Product Documentation: https://cloud.google.com/recommendations-ai Quick Start From 356c006a31223bb7e6a89cb4c75484307d2c26f6 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sun, 12 Dec 2021 11:07:08 -0500 Subject: [PATCH 04/17] chore: use gapic-generator-python 0.58.1 (#109) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: use gapic-generator-python 0.58.1 fix: syntax fix for required_fields struct in rest transport committer: parthea PiperOrigin-RevId: 415363977 Source-Link: https://github.com/googleapis/googleapis/commit/987192dfddeb79d3262b9f9f7dbf092827f931ac Source-Link: https://github.com/googleapis/googleapis-gen/commit/51444324eb99f1553d7c7f8277cf595a720e6905 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTE0NDQzMjRlYjk5ZjE1NTNkN2M3ZjgyNzdjZjU5NWE3MjBlNjkwNSJ9 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../test_catalog_service.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py index c70f3d86..6f558a15 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py @@ -2589,7 +2589,7 @@ def test_parse_catalog_path(): def test_common_billing_account_path(): - billing_account = "squid" + billing_account = "whelk" expected = "billingAccounts/{billing_account}".format( billing_account=billing_account, ) @@ -2599,7 +2599,7 @@ def test_common_billing_account_path(): def test_parse_common_billing_account_path(): expected = { - "billing_account": "clam", + "billing_account": "octopus", } path = CatalogServiceClient.common_billing_account_path(**expected) @@ -2609,7 +2609,7 @@ def test_parse_common_billing_account_path(): def test_common_folder_path(): - folder = "whelk" + folder = "oyster" expected = "folders/{folder}".format(folder=folder,) actual = CatalogServiceClient.common_folder_path(folder) assert expected == actual @@ -2617,7 +2617,7 @@ def test_common_folder_path(): def test_parse_common_folder_path(): expected = { - "folder": "octopus", + "folder": "nudibranch", } path = CatalogServiceClient.common_folder_path(**expected) @@ -2627,7 +2627,7 @@ def test_parse_common_folder_path(): def test_common_organization_path(): - organization = "oyster" + organization = "cuttlefish" expected = "organizations/{organization}".format(organization=organization,) actual = CatalogServiceClient.common_organization_path(organization) assert expected == actual @@ -2635,7 +2635,7 @@ def test_common_organization_path(): def test_parse_common_organization_path(): expected = { - "organization": "nudibranch", + "organization": "mussel", } path = CatalogServiceClient.common_organization_path(**expected) @@ -2645,7 +2645,7 @@ def test_parse_common_organization_path(): def test_common_project_path(): - project = "cuttlefish" + project = "winkle" expected = "projects/{project}".format(project=project,) actual = CatalogServiceClient.common_project_path(project) assert expected == actual @@ -2653,7 +2653,7 @@ def test_common_project_path(): def test_parse_common_project_path(): expected = { - "project": "mussel", + "project": "nautilus", } path = CatalogServiceClient.common_project_path(**expected) @@ -2663,8 +2663,8 @@ def test_parse_common_project_path(): def test_common_location_path(): - project = "winkle" - location = "nautilus" + project = "scallop" + location = "abalone" expected = "projects/{project}/locations/{location}".format( project=project, location=location, ) @@ -2674,8 +2674,8 @@ def test_common_location_path(): def test_parse_common_location_path(): expected = { - "project": "scallop", - "location": "abalone", + "project": "squid", + "location": "clam", } path = CatalogServiceClient.common_location_path(**expected) From e4aebdeb0afa1bc2e871736508c4f49897f6bce3 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Tue, 28 Dec 2021 13:15:41 -0500 Subject: [PATCH 05/17] chore: update .repo-metadata.json (#110) --- .repo-metadata.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.repo-metadata.json b/.repo-metadata.json index e887520c..eb2db414 100644 --- a/.repo-metadata.json +++ b/.repo-metadata.json @@ -4,12 +4,13 @@ "product_documentation": "https://cloud.google.com/recommendations-ai/", "client_documentation": "https://cloud.google.com/python/docs/reference/recommendationengine/latest", "issue_tracker": "", - "release_level": "beta", + "release_level": "preview", "language": "python", "library_type": "GAPIC_AUTO", "repo": "googleapis/python-recommendations-ai", "distribution_name": "google-cloud-recommendations-ai", "api_id": "recommendationengine.googleapis.com", "default_version": "v1beta1", - "codeowner_team": "" + "codeowner_team": "", + "api_shortname": "recommendationengine" } From 113e92b3bd234046e1678516648555789fe8774a Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 6 Jan 2022 09:09:14 -0700 Subject: [PATCH 06/17] chore: use python-samples-reviewers (#112) Source-Link: https://github.com/googleapis/synthtool/commit/da9308710160980198d85a4bcddac1d6f6f1a5bc Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:899d5d7cc340fa8ef9d8ae1a8cfba362c6898584f779e156f25ee828ba824610 Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 2 +- .github/CODEOWNERS | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 7519fa3a..f33299dd 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -1,3 +1,3 @@ docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:0e18b9475fbeb12d9ad4302283171edebb6baf2dfca1bd215ee3b34ed79d95d7 + digest: sha256:899d5d7cc340fa8ef9d8ae1a8cfba362c6898584f779e156f25ee828ba824610 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 44cc8685..e446644f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -8,5 +8,5 @@ # @googleapis/yoshi-python is the default owner for changes in this repo * @googleapis/yoshi-python -# @googleapis/python-samples-owners is the default owner for samples changes -/samples/ @googleapis/python-samples-owners +# @googleapis/python-samples-reviewers is the default owner for samples changes +/samples/ @googleapis/python-samples-reviewers From 9a7fc1330dbf5bbdb62b1f89041aa53c17c1012f Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 8 Jan 2022 06:15:17 -0500 Subject: [PATCH 07/17] chore: use gapic-generator-python 0.58.4 (#111) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: use gapic-generator-python 0.58.4 fix: provide appropriate mock values for message body fields committer: dovs PiperOrigin-RevId: 419025932 Source-Link: https://github.com/googleapis/googleapis/commit/73da6697f598f1ba30618924936a59f8e457ec89 Source-Link: https://github.com/googleapis/googleapis-gen/commit/46df624a54b9ed47c1a7eefb7a49413cf7b82f98 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDZkZjYyNGE1NGI5ZWQ0N2MxYTdlZWZiN2E0OTQxM2NmN2I4MmY5OCJ9 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../catalog_service/transports/base.py | 1 - .../transports/base.py | 1 - .../prediction_service/transports/base.py | 1 - .../user_event_service/transports/base.py | 1 - .../test_catalog_service.py | 88 ++++++++----------- .../test_prediction_api_key_registry.py | 70 +++++++-------- .../test_prediction_service.py | 35 ++++---- .../test_user_event_service.py | 79 +++++++---------- 8 files changed, 120 insertions(+), 156 deletions(-) diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py index d0c6c74d..bf37495f 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py @@ -106,7 +106,6 @@ def __init__( credentials, _ = google.auth.load_credentials_from_file( credentials_file, **scopes_kwargs, quota_project_id=quota_project_id ) - elif credentials is None: credentials, _ = google.auth.default( **scopes_kwargs, quota_project_id=quota_project_id diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py index 41b243f0..c1260e1f 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py @@ -104,7 +104,6 @@ def __init__( credentials, _ = google.auth.load_credentials_from_file( credentials_file, **scopes_kwargs, quota_project_id=quota_project_id ) - elif credentials is None: credentials, _ = google.auth.default( **scopes_kwargs, quota_project_id=quota_project_id diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py index cdb88f97..21cfb5ba 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py @@ -101,7 +101,6 @@ def __init__( credentials, _ = google.auth.load_credentials_from_file( credentials_file, **scopes_kwargs, quota_project_id=quota_project_id ) - elif credentials is None: credentials, _ = google.auth.default( **scopes_kwargs, quota_project_id=quota_project_id diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py index 0751914d..83297af2 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py @@ -106,7 +106,6 @@ def __init__( credentials, _ = google.auth.load_credentials_from_file( credentials_file, **scopes_kwargs, quota_project_id=quota_project_id ) - elif credentials is None: credentials, _ = google.auth.default( **scopes_kwargs, quota_project_id=quota_project_id diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py index 6f558a15..345fb007 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py @@ -262,20 +262,20 @@ def test_catalog_service_client_client_options( # unsupported value. with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "Unsupported"}): with pytest.raises(MutualTLSChannelError): - client = client_class() + client = client_class(transport=transport_name) # 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): - client = client_class() + client = client_class(transport=transport_name) # 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(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -334,7 +334,7 @@ def test_catalog_service_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) if use_client_cert_env == "false": expected_client_cert_source = None @@ -429,7 +429,7 @@ def test_catalog_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -460,7 +460,7 @@ def test_catalog_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -493,9 +493,10 @@ def test_catalog_service_client_client_options_from_dict(): ) -def test_create_catalog_item( - transport: str = "grpc", request_type=catalog_service.CreateCatalogItemRequest -): +@pytest.mark.parametrize( + "request_type", [catalog_service.CreateCatalogItemRequest, dict,] +) +def test_create_catalog_item(request_type, transport: str = "grpc"): client = CatalogServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -537,10 +538,6 @@ def test_create_catalog_item( assert response.item_group_id == "item_group_id_value" -def test_create_catalog_item_from_dict(): - test_create_catalog_item(request_type=dict) - - def test_create_catalog_item_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -751,9 +748,8 @@ async def test_create_catalog_item_flattened_error_async(): ) -def test_get_catalog_item( - transport: str = "grpc", request_type=catalog_service.GetCatalogItemRequest -): +@pytest.mark.parametrize("request_type", [catalog_service.GetCatalogItemRequest, dict,]) +def test_get_catalog_item(request_type, transport: str = "grpc"): client = CatalogServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -793,10 +789,6 @@ def test_get_catalog_item( assert response.item_group_id == "item_group_id_value" -def test_get_catalog_item_from_dict(): - test_get_catalog_item(request_type=dict) - - def test_get_catalog_item_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -980,9 +972,10 @@ async def test_get_catalog_item_flattened_error_async(): ) -def test_list_catalog_items( - transport: str = "grpc", request_type=catalog_service.ListCatalogItemsRequest -): +@pytest.mark.parametrize( + "request_type", [catalog_service.ListCatalogItemsRequest, dict,] +) +def test_list_catalog_items(request_type, transport: str = "grpc"): client = CatalogServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -1011,10 +1004,6 @@ def test_list_catalog_items( assert response.next_page_token == "next_page_token_value" -def test_list_catalog_items_from_dict(): - test_list_catalog_items(request_type=dict) - - def test_list_catalog_items_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -1219,8 +1208,10 @@ async def test_list_catalog_items_flattened_error_async(): ) -def test_list_catalog_items_pager(): - client = CatalogServiceClient(credentials=ga_credentials.AnonymousCredentials,) +def test_list_catalog_items_pager(transport_name: str = "grpc"): + client = CatalogServiceClient( + credentials=ga_credentials.AnonymousCredentials, transport=transport_name, + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -1261,8 +1252,10 @@ def test_list_catalog_items_pager(): assert all(isinstance(i, catalog.CatalogItem) for i in results) -def test_list_catalog_items_pages(): - client = CatalogServiceClient(credentials=ga_credentials.AnonymousCredentials,) +def test_list_catalog_items_pages(transport_name: str = "grpc"): + client = CatalogServiceClient( + credentials=ga_credentials.AnonymousCredentials, transport=transport_name, + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -1373,9 +1366,10 @@ async def test_list_catalog_items_async_pages(): assert page_.raw_page.next_page_token == token -def test_update_catalog_item( - transport: str = "grpc", request_type=catalog_service.UpdateCatalogItemRequest -): +@pytest.mark.parametrize( + "request_type", [catalog_service.UpdateCatalogItemRequest, dict,] +) +def test_update_catalog_item(request_type, transport: str = "grpc"): client = CatalogServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -1417,10 +1411,6 @@ def test_update_catalog_item( assert response.item_group_id == "item_group_id_value" -def test_update_catalog_item_from_dict(): - test_update_catalog_item(request_type=dict) - - def test_update_catalog_item_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -1643,9 +1633,10 @@ async def test_update_catalog_item_flattened_error_async(): ) -def test_delete_catalog_item( - transport: str = "grpc", request_type=catalog_service.DeleteCatalogItemRequest -): +@pytest.mark.parametrize( + "request_type", [catalog_service.DeleteCatalogItemRequest, dict,] +) +def test_delete_catalog_item(request_type, transport: str = "grpc"): client = CatalogServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -1671,10 +1662,6 @@ def test_delete_catalog_item( assert response is None -def test_delete_catalog_item_from_dict(): - test_delete_catalog_item(request_type=dict) - - def test_delete_catalog_item_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -1856,9 +1843,8 @@ async def test_delete_catalog_item_flattened_error_async(): ) -def test_import_catalog_items( - transport: str = "grpc", request_type=import_.ImportCatalogItemsRequest -): +@pytest.mark.parametrize("request_type", [import_.ImportCatalogItemsRequest, dict,]) +def test_import_catalog_items(request_type, transport: str = "grpc"): client = CatalogServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -1884,10 +1870,6 @@ def test_import_catalog_items( assert isinstance(response, future.Future) -def test_import_catalog_items_from_dict(): - test_import_catalog_items(request_type=dict) - - def test_import_catalog_items_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -2684,7 +2666,7 @@ def test_parse_common_location_path(): assert expected == actual -def test_client_withDEFAULT_CLIENT_INFO(): +def test_client_with_default_client_info(): client_info = gapic_v1.client_info.ClientInfo() with mock.patch.object( diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py index c9924eb4..cfb6c19d 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py @@ -267,20 +267,20 @@ def test_prediction_api_key_registry_client_client_options( # unsupported value. with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "Unsupported"}): with pytest.raises(MutualTLSChannelError): - client = client_class() + client = client_class(transport=transport_name) # 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): - client = client_class() + client = client_class(transport=transport_name) # 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(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -349,7 +349,7 @@ def test_prediction_api_key_registry_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) if use_client_cert_env == "false": expected_client_cert_source = None @@ -448,7 +448,7 @@ def test_prediction_api_key_registry_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -483,7 +483,7 @@ def test_prediction_api_key_registry_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -516,10 +516,14 @@ def test_prediction_api_key_registry_client_client_options_from_dict(): ) -def test_create_prediction_api_key_registration( - transport: str = "grpc", - request_type=prediction_apikey_registry_service.CreatePredictionApiKeyRegistrationRequest, -): +@pytest.mark.parametrize( + "request_type", + [ + prediction_apikey_registry_service.CreatePredictionApiKeyRegistrationRequest, + dict, + ], +) +def test_create_prediction_api_key_registration(request_type, transport: str = "grpc"): client = PredictionApiKeyRegistryClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -553,10 +557,6 @@ def test_create_prediction_api_key_registration( assert response.api_key == "api_key_value" -def test_create_prediction_api_key_registration_from_dict(): - test_create_prediction_api_key_registration(request_type=dict) - - def test_create_prediction_api_key_registration_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -799,10 +799,14 @@ async def test_create_prediction_api_key_registration_flattened_error_async(): ) -def test_list_prediction_api_key_registrations( - transport: str = "grpc", - request_type=prediction_apikey_registry_service.ListPredictionApiKeyRegistrationsRequest, -): +@pytest.mark.parametrize( + "request_type", + [ + prediction_apikey_registry_service.ListPredictionApiKeyRegistrationsRequest, + dict, + ], +) +def test_list_prediction_api_key_registrations(request_type, transport: str = "grpc"): client = PredictionApiKeyRegistryClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -834,10 +838,6 @@ def test_list_prediction_api_key_registrations( assert response.next_page_token == "next_page_token_value" -def test_list_prediction_api_key_registrations_from_dict(): - test_list_prediction_api_key_registrations(request_type=dict) - - def test_list_prediction_api_key_registrations_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -1054,9 +1054,9 @@ async def test_list_prediction_api_key_registrations_flattened_error_async(): ) -def test_list_prediction_api_key_registrations_pager(): +def test_list_prediction_api_key_registrations_pager(transport_name: str = "grpc"): client = PredictionApiKeyRegistryClient( - credentials=ga_credentials.AnonymousCredentials, + credentials=ga_credentials.AnonymousCredentials, transport=transport_name, ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1109,9 +1109,9 @@ def test_list_prediction_api_key_registrations_pager(): ) -def test_list_prediction_api_key_registrations_pages(): +def test_list_prediction_api_key_registrations_pages(transport_name: str = "grpc"): client = PredictionApiKeyRegistryClient( - credentials=ga_credentials.AnonymousCredentials, + credentials=ga_credentials.AnonymousCredentials, transport=transport_name, ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1252,10 +1252,14 @@ async def test_list_prediction_api_key_registrations_async_pages(): assert page_.raw_page.next_page_token == token -def test_delete_prediction_api_key_registration( - transport: str = "grpc", - request_type=prediction_apikey_registry_service.DeletePredictionApiKeyRegistrationRequest, -): +@pytest.mark.parametrize( + "request_type", + [ + prediction_apikey_registry_service.DeletePredictionApiKeyRegistrationRequest, + dict, + ], +) +def test_delete_prediction_api_key_registration(request_type, transport: str = "grpc"): client = PredictionApiKeyRegistryClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -1284,10 +1288,6 @@ def test_delete_prediction_api_key_registration( assert response is None -def test_delete_prediction_api_key_registration_from_dict(): - test_delete_prediction_api_key_registration(request_type=dict) - - def test_delete_prediction_api_key_registration_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -2055,7 +2055,7 @@ def test_parse_common_location_path(): assert expected == actual -def test_client_withDEFAULT_CLIENT_INFO(): +def test_client_with_default_client_info(): client_info = gapic_v1.client_info.ClientInfo() with mock.patch.object( diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py index 4b9fdca4..627e2813 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py @@ -258,20 +258,20 @@ def test_prediction_service_client_client_options( # unsupported value. with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "Unsupported"}): with pytest.raises(MutualTLSChannelError): - client = client_class() + client = client_class(transport=transport_name) # 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): - client = client_class() + client = client_class(transport=transport_name) # 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(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -340,7 +340,7 @@ def test_prediction_service_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) if use_client_cert_env == "false": expected_client_cert_source = None @@ -435,7 +435,7 @@ def test_prediction_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -466,7 +466,7 @@ def test_prediction_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -499,9 +499,8 @@ def test_prediction_service_client_client_options_from_dict(): ) -def test_predict( - transport: str = "grpc", request_type=prediction_service.PredictRequest -): +@pytest.mark.parametrize("request_type", [prediction_service.PredictRequest, dict,]) +def test_predict(request_type, transport: str = "grpc"): client = PredictionServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -534,10 +533,6 @@ def test_predict( assert response.next_page_token == "next_page_token_value" -def test_predict_from_dict(): - test_predict(request_type=dict) - - def test_predict_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -737,8 +732,10 @@ async def test_predict_flattened_error_async(): ) -def test_predict_pager(): - client = PredictionServiceClient(credentials=ga_credentials.AnonymousCredentials,) +def test_predict_pager(transport_name: str = "grpc"): + client = PredictionServiceClient( + 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.predict), "__call__") as call: @@ -782,8 +779,10 @@ def test_predict_pager(): ) -def test_predict_pages(): - client = PredictionServiceClient(credentials=ga_credentials.AnonymousCredentials,) +def test_predict_pages(transport_name: str = "grpc"): + client = PredictionServiceClient( + 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.predict), "__call__") as call: @@ -1423,7 +1422,7 @@ def test_parse_common_location_path(): assert expected == actual -def test_client_withDEFAULT_CLIENT_INFO(): +def test_client_with_default_client_info(): client_info = gapic_v1.client_info.ClientInfo() with mock.patch.object( diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py index 8b2584bf..6daa5c5f 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py @@ -265,20 +265,20 @@ def test_user_event_service_client_client_options( # unsupported value. with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "Unsupported"}): with pytest.raises(MutualTLSChannelError): - client = client_class() + client = client_class(transport=transport_name) # 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): - client = client_class() + client = client_class(transport=transport_name) # 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(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -347,7 +347,7 @@ def test_user_event_service_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) if use_client_cert_env == "false": expected_client_cert_source = None @@ -442,7 +442,7 @@ def test_user_event_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -473,7 +473,7 @@ def test_user_event_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(transport=transport_name, client_options=options) + client = client_class(client_options=options, transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -506,9 +506,10 @@ def test_user_event_service_client_client_options_from_dict(): ) -def test_write_user_event( - transport: str = "grpc", request_type=user_event_service.WriteUserEventRequest -): +@pytest.mark.parametrize( + "request_type", [user_event_service.WriteUserEventRequest, dict,] +) +def test_write_user_event(request_type, transport: str = "grpc"): client = UserEventServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -537,10 +538,6 @@ def test_write_user_event( assert response.event_source == gcr_user_event.UserEvent.EventSource.AUTOML -def test_write_user_event_from_dict(): - test_write_user_event(request_type=dict) - - def test_write_user_event_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -737,9 +734,10 @@ async def test_write_user_event_flattened_error_async(): ) -def test_collect_user_event( - transport: str = "grpc", request_type=user_event_service.CollectUserEventRequest -): +@pytest.mark.parametrize( + "request_type", [user_event_service.CollectUserEventRequest, dict,] +) +def test_collect_user_event(request_type, transport: str = "grpc"): client = UserEventServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -769,10 +767,6 @@ def test_collect_user_event( assert response.data == b"data_blob" -def test_collect_user_event_from_dict(): - test_collect_user_event(request_type=dict) - - def test_collect_user_event_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -998,9 +992,10 @@ async def test_collect_user_event_flattened_error_async(): ) -def test_list_user_events( - transport: str = "grpc", request_type=user_event_service.ListUserEventsRequest -): +@pytest.mark.parametrize( + "request_type", [user_event_service.ListUserEventsRequest, dict,] +) +def test_list_user_events(request_type, transport: str = "grpc"): client = UserEventServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -1027,10 +1022,6 @@ def test_list_user_events( assert response.next_page_token == "next_page_token_value" -def test_list_user_events_from_dict(): - test_list_user_events(request_type=dict) - - def test_list_user_events_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -1223,8 +1214,10 @@ async def test_list_user_events_flattened_error_async(): ) -def test_list_user_events_pager(): - client = UserEventServiceClient(credentials=ga_credentials.AnonymousCredentials,) +def test_list_user_events_pager(transport_name: str = "grpc"): + client = UserEventServiceClient( + 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_user_events), "__call__") as call: @@ -1263,8 +1256,10 @@ def test_list_user_events_pager(): assert all(isinstance(i, user_event.UserEvent) for i in results) -def test_list_user_events_pages(): - client = UserEventServiceClient(credentials=ga_credentials.AnonymousCredentials,) +def test_list_user_events_pages(transport_name: str = "grpc"): + client = UserEventServiceClient( + 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_user_events), "__call__") as call: @@ -1373,9 +1368,10 @@ async def test_list_user_events_async_pages(): assert page_.raw_page.next_page_token == token -def test_purge_user_events( - transport: str = "grpc", request_type=user_event_service.PurgeUserEventsRequest -): +@pytest.mark.parametrize( + "request_type", [user_event_service.PurgeUserEventsRequest, dict,] +) +def test_purge_user_events(request_type, transport: str = "grpc"): client = UserEventServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -1401,10 +1397,6 @@ def test_purge_user_events( assert isinstance(response, future.Future) -def test_purge_user_events_from_dict(): - test_purge_user_events(request_type=dict) - - def test_purge_user_events_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -1614,9 +1606,8 @@ async def test_purge_user_events_flattened_error_async(): ) -def test_import_user_events( - transport: str = "grpc", request_type=import_.ImportUserEventsRequest -): +@pytest.mark.parametrize("request_type", [import_.ImportUserEventsRequest, dict,]) +def test_import_user_events(request_type, transport: str = "grpc"): client = UserEventServiceClient( credentials=ga_credentials.AnonymousCredentials(), transport=transport, ) @@ -1642,10 +1633,6 @@ def test_import_user_events( assert isinstance(response, future.Future) -def test_import_user_events_from_dict(): - test_import_user_events(request_type=dict) - - def test_import_user_events_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. @@ -2445,7 +2432,7 @@ def test_parse_common_location_path(): assert expected == actual -def test_client_withDEFAULT_CLIENT_INFO(): +def test_client_with_default_client_info(): client_info = gapic_v1.client_info.ClientInfo() with mock.patch.object( From 5105deb239b547df750a6760d8cea09b074d61f2 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 13 Jan 2022 15:50:16 +0000 Subject: [PATCH 08/17] build: switch to release-please for tagging (#113) --- .github/.OwlBot.lock.yaml | 2 +- .github/release-please.yml | 1 + .github/release-trigger.yml | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .github/release-trigger.yml diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index f33299dd..ff5126c1 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -1,3 +1,3 @@ docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:899d5d7cc340fa8ef9d8ae1a8cfba362c6898584f779e156f25ee828ba824610 + digest: sha256:dfa9b663b32de8b5b327e32c1da665a80de48876558dd58091d8160c60ad7355 diff --git a/.github/release-please.yml b/.github/release-please.yml index 4507ad05..466597e5 100644 --- a/.github/release-please.yml +++ b/.github/release-please.yml @@ -1 +1,2 @@ releaseType: python +handleGHRelease: true diff --git a/.github/release-trigger.yml b/.github/release-trigger.yml new file mode 100644 index 00000000..d4ca9418 --- /dev/null +++ b/.github/release-trigger.yml @@ -0,0 +1 @@ +enabled: true From 7b63958233b26c752eb7ace02b2aab87b789270b Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 14 Jan 2022 09:28:31 -0500 Subject: [PATCH 09/17] chore(python): update release.sh to use keystore (#114) Source-Link: https://github.com/googleapis/synthtool/commit/69fda12e2994f0b595a397e8bb6e3e9f380524eb Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:ae600f36b6bc972b368367b6f83a1d91ec2c82a4a116b383d67d547c56fe6de3 Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 2 +- .kokoro/release.sh | 2 +- .kokoro/release/common.cfg | 12 +++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index ff5126c1..eecb84c2 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -1,3 +1,3 @@ docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:dfa9b663b32de8b5b327e32c1da665a80de48876558dd58091d8160c60ad7355 + digest: sha256:ae600f36b6bc972b368367b6f83a1d91ec2c82a4a116b383d67d547c56fe6de3 diff --git a/.kokoro/release.sh b/.kokoro/release.sh index 225f6840..1ea9d9a2 100755 --- a/.kokoro/release.sh +++ b/.kokoro/release.sh @@ -26,7 +26,7 @@ python3 -m pip install --upgrade twine wheel setuptools export PYTHONUNBUFFERED=1 # Move into the package, build the distribution and upload. -TWINE_PASSWORD=$(cat "${KOKORO_GFILE_DIR}/secret_manager/google-cloud-pypi-token") +TWINE_PASSWORD=$(cat "${KOKORO_KEYSTORE_DIR}/73713_google-cloud-pypi-token-keystore-1") cd github/python-recommendations-ai python3 setup.py sdist bdist_wheel twine upload --username __token__ --password "${TWINE_PASSWORD}" dist/* diff --git a/.kokoro/release/common.cfg b/.kokoro/release/common.cfg index 503ddb75..fe35d325 100644 --- a/.kokoro/release/common.cfg +++ b/.kokoro/release/common.cfg @@ -23,8 +23,18 @@ env_vars: { value: "github/python-recommendations-ai/.kokoro/release.sh" } +# Fetch PyPI password +before_action { + fetch_keystore { + keystore_resource { + keystore_config_id: 73713 + keyname: "google-cloud-pypi-token-keystore-1" + } + } +} + # Tokens needed to report release status back to GitHub env_vars: { key: "SECRET_MANAGER_KEYS" - value: "releasetool-publish-reporter-app,releasetool-publish-reporter-googleapis-installation,releasetool-publish-reporter-pem,google-cloud-pypi-token" + value: "releasetool-publish-reporter-app,releasetool-publish-reporter-googleapis-installation,releasetool-publish-reporter-pem" } From 6018677c00606dc64faf6eea2b53545a81f96c37 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 20 Jan 2022 13:14:06 -0500 Subject: [PATCH 10/17] ci(python): run lint / unit tests / docs as GH actions (#115) * ci(python): run lint / unit tests / docs as GH actions Source-Link: https://github.com/googleapis/synthtool/commit/57be0cdb0b94e1669cee0ca38d790de1dfdbcd44 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:ed1f9983d5a935a89fe8085e8bb97d94e41015252c5b6c9771257cf8624367e6 * add commit to trigger gh actions Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .github/.OwlBot.lock.yaml | 16 +++++++++- .github/workflows/docs.yml | 38 +++++++++++++++++++++++ .github/workflows/lint.yml | 25 +++++++++++++++ .github/workflows/unittest.yml | 57 ++++++++++++++++++++++++++++++++++ 4 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/docs.yml create mode 100644 .github/workflows/lint.yml create mode 100644 .github/workflows/unittest.yml diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index eecb84c2..b668c04d 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -1,3 +1,17 @@ +# Copyright 2022 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. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:ae600f36b6bc972b368367b6f83a1d91ec2c82a4a116b383d67d547c56fe6de3 + digest: sha256:ed1f9983d5a935a89fe8085e8bb97d94e41015252c5b6c9771257cf8624367e6 + diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..f7b8344c --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,38 @@ +on: + pull_request: + branches: + - main +name: docs +jobs: + docs: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: "3.10" + - name: Install nox + run: | + python -m pip install --upgrade setuptools pip wheel + python -m pip install nox + - name: Run docs + run: | + nox -s docs + docfx: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: "3.10" + - name: Install nox + run: | + python -m pip install --upgrade setuptools pip wheel + python -m pip install nox + - name: Run docfx + run: | + nox -s docfx diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 00000000..1e8b05c3 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,25 @@ +on: + pull_request: + branches: + - main +name: lint +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: "3.10" + - name: Install nox + run: | + python -m pip install --upgrade setuptools pip wheel + python -m pip install nox + - name: Run lint + run: | + nox -s lint + - name: Run lint_setup_py + run: | + nox -s lint_setup_py diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml new file mode 100644 index 00000000..074ee250 --- /dev/null +++ b/.github/workflows/unittest.yml @@ -0,0 +1,57 @@ +on: + pull_request: + branches: + - main +name: unittest +jobs: + unit: + runs-on: ubuntu-latest + strategy: + matrix: + python: ['3.6', '3.7', '3.8', '3.9', '3.10'] + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Install nox + run: | + python -m pip install --upgrade setuptools pip wheel + python -m pip install nox + - name: Run unit tests + env: + COVERAGE_FILE: .coverage-${{ matrix.python }} + run: | + nox -s unit-${{ matrix.python }} + - name: Upload coverage results + uses: actions/upload-artifact@v2 + with: + name: coverage-artifacts + path: .coverage-${{ matrix.python }} + + cover: + runs-on: ubuntu-latest + needs: + - unit + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: "3.10" + - name: Install coverage + run: | + python -m pip install --upgrade setuptools pip wheel + python -m pip install coverage + - name: Download coverage results + uses: actions/download-artifact@v2 + with: + name: coverage-artifacts + path: .coverage-results/ + - name: Report coverage results + run: | + coverage combine .coverage-results/.coverage* + coverage report --show-missing --fail-under=100 From 725719713195b68d211c8c42c2d4ad7dd6c28b5e Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 22 Jan 2022 10:00:04 -0500 Subject: [PATCH 11/17] chore(python): set coverage level to 100% (#116) * chore(python): use cov_level in unittest gh action Source-Link: https://github.com/googleapis/synthtool/commit/e5aaa84b1dda1829c54d4696827817f133ed9780 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:d22cd2ddce65fdac6986f115563faf2fc81482b09dfbea83ac2808c92ecfdff0 * set coverage to 100% Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .github/.OwlBot.lock.yaml | 3 +-- noxfile.py | 2 +- owlbot.py | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index b668c04d..39ad3cec 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:ed1f9983d5a935a89fe8085e8bb97d94e41015252c5b6c9771257cf8624367e6 - + digest: sha256:d22cd2ddce65fdac6986f115563faf2fc81482b09dfbea83ac2808c92ecfdff0 diff --git a/noxfile.py b/noxfile.py index f041f1f5..2a2001c4 100644 --- a/noxfile.py +++ b/noxfile.py @@ -175,7 +175,7 @@ def cover(session): test runs (not system test runs), and then erases coverage data. """ session.install("coverage", "pytest-cov") - session.run("coverage", "report", "--show-missing", "--fail-under=98") + session.run("coverage", "report", "--show-missing", "--fail-under=100") session.run("coverage", "erase") diff --git a/owlbot.py b/owlbot.py index 4b6c5a97..21a42fe9 100644 --- a/owlbot.py +++ b/owlbot.py @@ -93,7 +93,7 @@ # ---------------------------------------------------------------------------- # Add templated files # ---------------------------------------------------------------------------- -templated_files = common.py_library(cov_level=98, microgenerator=True) +templated_files = common.py_library(cov_level=100, microgenerator=True) s.move( templated_files, excludes=[".coveragerc"] @@ -101,4 +101,4 @@ python.py_samples(skip_readmes=True) -s.shell.run(["nox", "-s", "blacken"], hide_output=False) \ No newline at end of file +s.shell.run(["nox", "-s", "blacken"], hide_output=False) From 40e4a783868ad748de36df77a3bca4c320bae41a Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 25 Jan 2022 12:39:40 -0500 Subject: [PATCH 12/17] feat: add api key support (#117) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: upgrade gapic-generator-java, gax-java and gapic-generator-python PiperOrigin-RevId: 423842556 Source-Link: https://github.com/googleapis/googleapis/commit/a616ca08f4b1416abbac7bc5dd6d61c791756a81 Source-Link: https://github.com/googleapis/googleapis-gen/commit/29b938c58c1e51d019f2ee539d55dc0a3c86a905 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMjliOTM4YzU4YzFlNTFkMDE5ZjJlZTUzOWQ1NWRjMGEzYzg2YTkwNSJ9 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../services/catalog_service/async_client.py | 38 ++++- .../services/catalog_service/client.py | 127 ++++++++++------ .../async_client.py | 38 ++++- .../prediction_api_key_registry/client.py | 127 ++++++++++------ .../prediction_service/async_client.py | 38 ++++- .../services/prediction_service/client.py | 127 ++++++++++------ .../user_event_service/async_client.py | 38 ++++- .../services/user_event_service/client.py | 127 ++++++++++------ .../test_catalog_service.py | 128 ++++++++++++++++ .../test_prediction_api_key_registry.py | 139 ++++++++++++++++++ .../test_prediction_service.py | 131 +++++++++++++++++ .../test_user_event_service.py | 128 ++++++++++++++++ 12 files changed, 1010 insertions(+), 176 deletions(-) diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py index c05453a9..afa0b909 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py @@ -16,7 +16,7 @@ from collections import OrderedDict import functools import re -from typing import Dict, Sequence, Tuple, Type, Union +from typing import Dict, Optional, Sequence, Tuple, Type, Union import pkg_resources from google.api_core.client_options import ClientOptions @@ -115,6 +115,42 @@ def from_service_account_file(cls, filename: str, *args, **kwargs): 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 variabel 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 CatalogServiceClient.get_mtls_endpoint_and_cert_source(client_options) # type: ignore + @property def transport(self) -> CatalogServiceTransport: """Returns the transport used by the client instance. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py index cdf2dd33..d50745ae 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py @@ -242,6 +242,73 @@ def parse_common_location_path(path: str) -> Dict[str, str]: 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 + ): + """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 variabel 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. + """ + 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 + def __init__( self, *, @@ -292,57 +359,22 @@ def __init__( if client_options is None: client_options = client_options_lib.ClientOptions() - # Create SSL credentials for mutual TLS if needed. - if os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") not in ( - "true", - "false", - ): - raise ValueError( - "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" - ) - use_client_cert = ( - os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true" + api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( + client_options ) - client_cert_source_func = None - is_mtls = False - if use_client_cert: - if client_options.client_cert_source: - is_mtls = True - client_cert_source_func = client_options.client_cert_source - else: - is_mtls = mtls.has_default_client_cert_source() - if is_mtls: - client_cert_source_func = mtls.default_client_cert_source() - else: - client_cert_source_func = None - - # Figure out which api endpoint to use. - if client_options.api_endpoint is not None: - api_endpoint = client_options.api_endpoint - else: - use_mtls_env = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto") - if use_mtls_env == "never": - api_endpoint = self.DEFAULT_ENDPOINT - elif use_mtls_env == "always": - api_endpoint = self.DEFAULT_MTLS_ENDPOINT - elif use_mtls_env == "auto": - if is_mtls: - api_endpoint = self.DEFAULT_MTLS_ENDPOINT - else: - api_endpoint = self.DEFAULT_ENDPOINT - else: - raise MutualTLSChannelError( - "Unsupported GOOGLE_API_USE_MTLS_ENDPOINT value. Accepted " - "values: never, auto, always" - ) + api_key_value = getattr(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. if isinstance(transport, CatalogServiceTransport): # transport is a CatalogServiceTransport instance. - if credentials or client_options.credentials_file: + if credentials or client_options.credentials_file or api_key_value: raise ValueError( "When providing a transport instance, " "provide its credentials directly." @@ -354,6 +386,15 @@ def __init__( ) self._transport = transport else: + 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 = type(self).get_transport_class(transport) self._transport = Transport( credentials=credentials, diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py index 4d6d5e3d..5603bbce 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py @@ -16,7 +16,7 @@ from collections import OrderedDict import functools import re -from typing import Dict, Sequence, Tuple, Type, Union +from typing import Dict, Optional, Sequence, Tuple, Type, Union import pkg_resources from google.api_core.client_options import ClientOptions @@ -128,6 +128,42 @@ def from_service_account_file(cls, filename: str, *args, **kwargs): 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 variabel 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 PredictionApiKeyRegistryClient.get_mtls_endpoint_and_cert_source(client_options) # type: ignore + @property def transport(self) -> PredictionApiKeyRegistryTransport: """Returns the transport used by the client instance. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py index 0acad38c..9b9d210e 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py @@ -277,6 +277,73 @@ def parse_common_location_path(path: str) -> Dict[str, str]: 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 + ): + """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 variabel 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. + """ + 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 + def __init__( self, *, @@ -327,57 +394,22 @@ def __init__( if client_options is None: client_options = client_options_lib.ClientOptions() - # Create SSL credentials for mutual TLS if needed. - if os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") not in ( - "true", - "false", - ): - raise ValueError( - "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" - ) - use_client_cert = ( - os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true" + api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( + client_options ) - client_cert_source_func = None - is_mtls = False - if use_client_cert: - if client_options.client_cert_source: - is_mtls = True - client_cert_source_func = client_options.client_cert_source - else: - is_mtls = mtls.has_default_client_cert_source() - if is_mtls: - client_cert_source_func = mtls.default_client_cert_source() - else: - client_cert_source_func = None - - # Figure out which api endpoint to use. - if client_options.api_endpoint is not None: - api_endpoint = client_options.api_endpoint - else: - use_mtls_env = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto") - if use_mtls_env == "never": - api_endpoint = self.DEFAULT_ENDPOINT - elif use_mtls_env == "always": - api_endpoint = self.DEFAULT_MTLS_ENDPOINT - elif use_mtls_env == "auto": - if is_mtls: - api_endpoint = self.DEFAULT_MTLS_ENDPOINT - else: - api_endpoint = self.DEFAULT_ENDPOINT - else: - raise MutualTLSChannelError( - "Unsupported GOOGLE_API_USE_MTLS_ENDPOINT value. Accepted " - "values: never, auto, always" - ) + api_key_value = getattr(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. if isinstance(transport, PredictionApiKeyRegistryTransport): # transport is a PredictionApiKeyRegistryTransport instance. - if credentials or client_options.credentials_file: + if credentials or client_options.credentials_file or api_key_value: raise ValueError( "When providing a transport instance, " "provide its credentials directly." @@ -389,6 +421,15 @@ def __init__( ) self._transport = transport else: + 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 = type(self).get_transport_class(transport) self._transport = Transport( credentials=credentials, diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py index 5836792c..e789c49d 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py @@ -16,7 +16,7 @@ from collections import OrderedDict import functools import re -from typing import Dict, Sequence, Tuple, Type, Union +from typing import Dict, Optional, Sequence, Tuple, Type, Union import pkg_resources from google.api_core.client_options import ClientOptions @@ -107,6 +107,42 @@ def from_service_account_file(cls, filename: str, *args, **kwargs): 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 variabel 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 PredictionServiceClient.get_mtls_endpoint_and_cert_source(client_options) # type: ignore + @property def transport(self) -> PredictionServiceTransport: """Returns the transport used by the client instance. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py index 823cd8f3..58415abb 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py @@ -243,6 +243,73 @@ def parse_common_location_path(path: str) -> Dict[str, str]: 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 + ): + """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 variabel 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. + """ + 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 + def __init__( self, *, @@ -293,57 +360,22 @@ def __init__( if client_options is None: client_options = client_options_lib.ClientOptions() - # Create SSL credentials for mutual TLS if needed. - if os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") not in ( - "true", - "false", - ): - raise ValueError( - "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" - ) - use_client_cert = ( - os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true" + api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( + client_options ) - client_cert_source_func = None - is_mtls = False - if use_client_cert: - if client_options.client_cert_source: - is_mtls = True - client_cert_source_func = client_options.client_cert_source - else: - is_mtls = mtls.has_default_client_cert_source() - if is_mtls: - client_cert_source_func = mtls.default_client_cert_source() - else: - client_cert_source_func = None - - # Figure out which api endpoint to use. - if client_options.api_endpoint is not None: - api_endpoint = client_options.api_endpoint - else: - use_mtls_env = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto") - if use_mtls_env == "never": - api_endpoint = self.DEFAULT_ENDPOINT - elif use_mtls_env == "always": - api_endpoint = self.DEFAULT_MTLS_ENDPOINT - elif use_mtls_env == "auto": - if is_mtls: - api_endpoint = self.DEFAULT_MTLS_ENDPOINT - else: - api_endpoint = self.DEFAULT_ENDPOINT - else: - raise MutualTLSChannelError( - "Unsupported GOOGLE_API_USE_MTLS_ENDPOINT value. Accepted " - "values: never, auto, always" - ) + api_key_value = getattr(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. if isinstance(transport, PredictionServiceTransport): # transport is a PredictionServiceTransport instance. - if credentials or client_options.credentials_file: + if credentials or client_options.credentials_file or api_key_value: raise ValueError( "When providing a transport instance, " "provide its credentials directly." @@ -355,6 +387,15 @@ def __init__( ) self._transport = transport else: + 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 = type(self).get_transport_class(transport) self._transport = Transport( credentials=credentials, diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py index 24da5994..e7ec1bc2 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py @@ -16,7 +16,7 @@ from collections import OrderedDict import functools import re -from typing import Dict, Sequence, Tuple, Type, Union +from typing import Dict, Optional, Sequence, Tuple, Type, Union import pkg_resources from google.api_core.client_options import ClientOptions @@ -116,6 +116,42 @@ def from_service_account_file(cls, filename: str, *args, **kwargs): 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 variabel 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 UserEventServiceClient.get_mtls_endpoint_and_cert_source(client_options) # type: ignore + @property def transport(self) -> UserEventServiceTransport: """Returns the transport used by the client instance. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py index 2e1e36a9..fb4e5bf4 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py @@ -249,6 +249,73 @@ def parse_common_location_path(path: str) -> Dict[str, str]: 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 + ): + """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 variabel 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. + """ + 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 + def __init__( self, *, @@ -299,57 +366,22 @@ def __init__( if client_options is None: client_options = client_options_lib.ClientOptions() - # Create SSL credentials for mutual TLS if needed. - if os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") not in ( - "true", - "false", - ): - raise ValueError( - "Environment variable `GOOGLE_API_USE_CLIENT_CERTIFICATE` must be either `true` or `false`" - ) - use_client_cert = ( - os.getenv("GOOGLE_API_USE_CLIENT_CERTIFICATE", "false") == "true" + api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( + client_options ) - client_cert_source_func = None - is_mtls = False - if use_client_cert: - if client_options.client_cert_source: - is_mtls = True - client_cert_source_func = client_options.client_cert_source - else: - is_mtls = mtls.has_default_client_cert_source() - if is_mtls: - client_cert_source_func = mtls.default_client_cert_source() - else: - client_cert_source_func = None - - # Figure out which api endpoint to use. - if client_options.api_endpoint is not None: - api_endpoint = client_options.api_endpoint - else: - use_mtls_env = os.getenv("GOOGLE_API_USE_MTLS_ENDPOINT", "auto") - if use_mtls_env == "never": - api_endpoint = self.DEFAULT_ENDPOINT - elif use_mtls_env == "always": - api_endpoint = self.DEFAULT_MTLS_ENDPOINT - elif use_mtls_env == "auto": - if is_mtls: - api_endpoint = self.DEFAULT_MTLS_ENDPOINT - else: - api_endpoint = self.DEFAULT_ENDPOINT - else: - raise MutualTLSChannelError( - "Unsupported GOOGLE_API_USE_MTLS_ENDPOINT value. Accepted " - "values: never, auto, always" - ) + api_key_value = getattr(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. if isinstance(transport, UserEventServiceTransport): # transport is a UserEventServiceTransport instance. - if credentials or client_options.credentials_file: + if credentials or client_options.credentials_file or api_key_value: raise ValueError( "When providing a transport instance, " "provide its credentials directly." @@ -361,6 +393,15 @@ def __init__( ) self._transport = transport else: + 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 = type(self).get_transport_class(transport) self._transport = Transport( credentials=credentials, diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py index 345fb007..645a381b 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py @@ -411,6 +411,87 @@ def test_catalog_service_client_mtls_env_auto( ) +@pytest.mark.parametrize( + "client_class", [CatalogServiceClient, CatalogServiceAsyncClient] +) +@mock.patch.object( + CatalogServiceClient, + "DEFAULT_ENDPOINT", + modify_default_endpoint(CatalogServiceClient), +) +@mock.patch.object( + CatalogServiceAsyncClient, + "DEFAULT_ENDPOINT", + modify_default_endpoint(CatalogServiceAsyncClient), +) +def test_catalog_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 + + @pytest.mark.parametrize( "client_class,transport_class,transport_name", [ @@ -2136,6 +2217,23 @@ def test_credentials_transport_error(): transport=transport, ) + # It is an error to provide an api_key and a transport instance. + transport = transports.CatalogServiceGrpcTransport( + credentials=ga_credentials.AnonymousCredentials(), + ) + options = client_options.ClientOptions() + options.api_key = "api_key" + with pytest.raises(ValueError): + client = CatalogServiceClient(client_options=options, transport=transport,) + + # It is an error to provide an api_key and a credential. + options = mock.Mock() + options.api_key = "api_key" + with pytest.raises(ValueError): + client = CatalogServiceClient( + client_options=options, credentials=ga_credentials.AnonymousCredentials() + ) + # It is an error to provide scopes and a transport instance. transport = transports.CatalogServiceGrpcTransport( credentials=ga_credentials.AnonymousCredentials(), @@ -2731,3 +2829,33 @@ def test_client_ctx(): with client: pass close.assert_called() + + +@pytest.mark.parametrize( + "client_class,transport_class", + [ + (CatalogServiceClient, transports.CatalogServiceGrpcTransport), + (CatalogServiceAsyncClient, transports.CatalogServiceGrpcAsyncIOTransport), + ], +) +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, + scopes=None, + client_cert_source_for_mtls=None, + quota_project_id=None, + client_info=transports.base.DEFAULT_CLIENT_INFO, + always_use_jwt_access=True, + ) diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py index cfb6c19d..e59d95c1 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py @@ -426,6 +426,90 @@ def test_prediction_api_key_registry_client_mtls_env_auto( ) +@pytest.mark.parametrize( + "client_class", + [PredictionApiKeyRegistryClient, PredictionApiKeyRegistryAsyncClient], +) +@mock.patch.object( + PredictionApiKeyRegistryClient, + "DEFAULT_ENDPOINT", + modify_default_endpoint(PredictionApiKeyRegistryClient), +) +@mock.patch.object( + PredictionApiKeyRegistryAsyncClient, + "DEFAULT_ENDPOINT", + modify_default_endpoint(PredictionApiKeyRegistryAsyncClient), +) +def test_prediction_api_key_registry_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 + + @pytest.mark.parametrize( "client_class,transport_class,transport_name", [ @@ -1509,6 +1593,25 @@ def test_credentials_transport_error(): transport=transport, ) + # It is an error to provide an api_key and a transport instance. + transport = transports.PredictionApiKeyRegistryGrpcTransport( + credentials=ga_credentials.AnonymousCredentials(), + ) + options = client_options.ClientOptions() + options.api_key = "api_key" + with pytest.raises(ValueError): + client = PredictionApiKeyRegistryClient( + client_options=options, transport=transport, + ) + + # It is an error to provide an api_key and a credential. + options = mock.Mock() + options.api_key = "api_key" + with pytest.raises(ValueError): + client = PredictionApiKeyRegistryClient( + client_options=options, credentials=ga_credentials.AnonymousCredentials() + ) + # It is an error to provide scopes and a transport instance. transport = transports.PredictionApiKeyRegistryGrpcTransport( credentials=ga_credentials.AnonymousCredentials(), @@ -2120,3 +2223,39 @@ def test_client_ctx(): with client: pass close.assert_called() + + +@pytest.mark.parametrize( + "client_class,transport_class", + [ + ( + PredictionApiKeyRegistryClient, + transports.PredictionApiKeyRegistryGrpcTransport, + ), + ( + PredictionApiKeyRegistryAsyncClient, + transports.PredictionApiKeyRegistryGrpcAsyncIOTransport, + ), + ], +) +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, + scopes=None, + client_cert_source_for_mtls=None, + quota_project_id=None, + client_info=transports.base.DEFAULT_CLIENT_INFO, + always_use_jwt_access=True, + ) diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py index 627e2813..a484621b 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py @@ -417,6 +417,87 @@ def test_prediction_service_client_mtls_env_auto( ) +@pytest.mark.parametrize( + "client_class", [PredictionServiceClient, PredictionServiceAsyncClient] +) +@mock.patch.object( + PredictionServiceClient, + "DEFAULT_ENDPOINT", + modify_default_endpoint(PredictionServiceClient), +) +@mock.patch.object( + PredictionServiceAsyncClient, + "DEFAULT_ENDPOINT", + modify_default_endpoint(PredictionServiceAsyncClient), +) +def test_prediction_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 + + @pytest.mark.parametrize( "client_class,transport_class,transport_name", [ @@ -920,6 +1001,23 @@ def test_credentials_transport_error(): transport=transport, ) + # It is an error to provide an api_key and a transport instance. + transport = transports.PredictionServiceGrpcTransport( + credentials=ga_credentials.AnonymousCredentials(), + ) + options = client_options.ClientOptions() + options.api_key = "api_key" + with pytest.raises(ValueError): + client = PredictionServiceClient(client_options=options, transport=transport,) + + # It is an error to provide an api_key and a credential. + options = mock.Mock() + options.api_key = "api_key" + with pytest.raises(ValueError): + client = PredictionServiceClient( + client_options=options, credentials=ga_credentials.AnonymousCredentials() + ) + # It is an error to provide scopes and a transport instance. transport = transports.PredictionServiceGrpcTransport( credentials=ga_credentials.AnonymousCredentials(), @@ -1487,3 +1585,36 @@ def test_client_ctx(): with client: pass close.assert_called() + + +@pytest.mark.parametrize( + "client_class,transport_class", + [ + (PredictionServiceClient, transports.PredictionServiceGrpcTransport), + ( + PredictionServiceAsyncClient, + transports.PredictionServiceGrpcAsyncIOTransport, + ), + ], +) +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, + scopes=None, + client_cert_source_for_mtls=None, + quota_project_id=None, + client_info=transports.base.DEFAULT_CLIENT_INFO, + always_use_jwt_access=True, + ) diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py index 6daa5c5f..c5cc40bb 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py @@ -424,6 +424,87 @@ def test_user_event_service_client_mtls_env_auto( ) +@pytest.mark.parametrize( + "client_class", [UserEventServiceClient, UserEventServiceAsyncClient] +) +@mock.patch.object( + UserEventServiceClient, + "DEFAULT_ENDPOINT", + modify_default_endpoint(UserEventServiceClient), +) +@mock.patch.object( + UserEventServiceAsyncClient, + "DEFAULT_ENDPOINT", + modify_default_endpoint(UserEventServiceAsyncClient), +) +def test_user_event_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 + + @pytest.mark.parametrize( "client_class,transport_class,transport_name", [ @@ -1899,6 +1980,23 @@ def test_credentials_transport_error(): transport=transport, ) + # It is an error to provide an api_key and a transport instance. + transport = transports.UserEventServiceGrpcTransport( + credentials=ga_credentials.AnonymousCredentials(), + ) + options = client_options.ClientOptions() + options.api_key = "api_key" + with pytest.raises(ValueError): + client = UserEventServiceClient(client_options=options, transport=transport,) + + # It is an error to provide an api_key and a credential. + options = mock.Mock() + options.api_key = "api_key" + with pytest.raises(ValueError): + client = UserEventServiceClient( + client_options=options, credentials=ga_credentials.AnonymousCredentials() + ) + # It is an error to provide scopes and a transport instance. transport = transports.UserEventServiceGrpcTransport( credentials=ga_credentials.AnonymousCredentials(), @@ -2497,3 +2595,33 @@ def test_client_ctx(): with client: pass close.assert_called() + + +@pytest.mark.parametrize( + "client_class,transport_class", + [ + (UserEventServiceClient, transports.UserEventServiceGrpcTransport), + (UserEventServiceAsyncClient, transports.UserEventServiceGrpcAsyncIOTransport), + ], +) +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, + scopes=None, + client_cert_source_for_mtls=None, + quota_project_id=None, + client_info=transports.base.DEFAULT_CLIENT_INFO, + always_use_jwt_access=True, + ) From 175da64cd9f6d4de184dd6cd4c304845318e9b6f Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 3 Feb 2022 15:57:04 +0000 Subject: [PATCH 13/17] chore: use gapic-generator-python 0.62.1 (#120) - [ ] Regenerate this pull request now. fix: resolve DuplicateCredentialArgs error when using credentials_file committer: parthea PiperOrigin-RevId: 425964861 Source-Link: https://github.com/googleapis/googleapis/commit/84b1a5a4f6fb2d04905be58e586b8a7a4310a8cf Source-Link: https://github.com/googleapis/googleapis-gen/commit/4fb761bbd8506ac156f49bac5f18306aa8eb3aa8 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGZiNzYxYmJkODUwNmFjMTU2ZjQ5YmFjNWYxODMwNmFhOGViM2FhOCJ9 --- .../services/catalog_service/async_client.py | 12 +-- .../services/catalog_service/client.py | 12 +-- .../catalog_service/transports/grpc.py | 7 +- .../transports/grpc_asyncio.py | 7 +- .../async_client.py | 6 +- .../prediction_api_key_registry/client.py | 6 +- .../transports/grpc.py | 5 +- .../transports/grpc_asyncio.py | 5 +- .../prediction_service/async_client.py | 2 +- .../services/prediction_service/client.py | 2 +- .../prediction_service/transports/grpc.py | 5 +- .../transports/grpc_asyncio.py | 5 +- .../user_event_service/async_client.py | 14 ++-- .../services/user_event_service/client.py | 14 ++-- .../user_event_service/transports/grpc.py | 7 +- .../transports/grpc_asyncio.py | 7 +- .../types/catalog.py | 4 +- .../test_catalog_service.py | 80 ++++++++++++++++++- .../test_prediction_api_key_registry.py | 73 ++++++++++++++++- .../test_prediction_service.py | 79 +++++++++++++++++- .../test_user_event_service.py | 80 ++++++++++++++++++- 21 files changed, 373 insertions(+), 59 deletions(-) diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py index afa0b909..9245abea 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py @@ -252,7 +252,7 @@ async def create_catalog_item( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, catalog_item]) if request is not None and has_flattened_params: @@ -335,7 +335,7 @@ async def get_catalog_item( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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: @@ -427,7 +427,7 @@ async def list_catalog_items( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, filter]) if request is not None and has_flattened_params: @@ -534,7 +534,7 @@ async def update_catalog_item( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, catalog_item, update_mask]) if request is not None and has_flattened_params: @@ -613,7 +613,7 @@ async def delete_catalog_item( sent along with the request as metadata. """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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: @@ -732,7 +732,7 @@ async def import_catalog_items( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, request_id, input_config, errors_config]) if request is not None and has_flattened_params: diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py index d50745ae..f78f2b12 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py @@ -448,7 +448,7 @@ def create_catalog_item( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, catalog_item]) if request is not None and has_flattened_params: @@ -521,7 +521,7 @@ def get_catalog_item( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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: @@ -603,7 +603,7 @@ def list_catalog_items( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, filter]) if request is not None and has_flattened_params: @@ -700,7 +700,7 @@ def update_catalog_item( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, catalog_item, update_mask]) if request is not None and has_flattened_params: @@ -769,7 +769,7 @@ def delete_catalog_item( sent along with the request as metadata. """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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: @@ -878,7 +878,7 @@ def import_catalog_items( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, request_id, input_config, errors_config]) if request is not None and has_flattened_params: diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py index 9e0b3e8d..1189d501 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py @@ -165,8 +165,11 @@ def __init__( if not self._grpc_channel: self._grpc_channel = type(self).create_channel( self._host, + # use the credentials which are saved credentials=self._credentials, - credentials_file=credentials_file, + # 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, @@ -239,7 +242,7 @@ def operations_client(self) -> operations_v1.OperationsClient: This property caches on the instance; repeated calls return the same client. """ - # Sanity check: Only create a new client if we do not already have one. + # Quick check: Only create a new client if we do not already have one. if self._operations_client is None: self._operations_client = operations_v1.OperationsClient(self.grpc_channel) diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py index 49635f4e..8a8432fc 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py @@ -210,8 +210,11 @@ def __init__( if not self._grpc_channel: self._grpc_channel = type(self).create_channel( self._host, + # use the credentials which are saved credentials=self._credentials, - credentials_file=credentials_file, + # 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, @@ -241,7 +244,7 @@ def operations_client(self) -> operations_v1.OperationsAsyncClient: This property caches on the instance; repeated calls return the same client. """ - # Sanity check: Only create a new client if we do not already have one. + # Quick check: Only create a new client if we do not already have one. if self._operations_client is None: self._operations_client = operations_v1.OperationsAsyncClient( self.grpc_channel diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py index 5603bbce..5277f456 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py @@ -269,7 +269,7 @@ async def create_prediction_api_key_registration( Registered Api Key. """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, prediction_api_key_registration]) if request is not None and has_flattened_params: @@ -361,7 +361,7 @@ async def list_prediction_api_key_registrations( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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: @@ -448,7 +448,7 @@ async def delete_prediction_api_key_registration( sent along with the request as metadata. """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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: diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py index 9b9d210e..e585fe83 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py @@ -486,7 +486,7 @@ def create_prediction_api_key_registration( Registered Api Key. """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, prediction_api_key_registration]) if request is not None and has_flattened_params: @@ -575,7 +575,7 @@ def list_prediction_api_key_registrations( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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: @@ -657,7 +657,7 @@ def delete_prediction_api_key_registration( sent along with the request as metadata. """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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: diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py index ead165ca..79454b64 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py @@ -166,8 +166,11 @@ def __init__( if not self._grpc_channel: self._grpc_channel = type(self).create_channel( self._host, + # use the credentials which are saved credentials=self._credentials, - credentials_file=credentials_file, + # 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, diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py index 5b2eb2a8..419e7413 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py @@ -211,8 +211,11 @@ def __init__( if not self._grpc_channel: self._grpc_channel = type(self).create_channel( self._host, + # use the credentials which are saved credentials=self._credentials, - credentials_file=credentials_file, + # 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, diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py index e789c49d..a8037a78 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py @@ -291,7 +291,7 @@ async def predict( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, user_event]) if request is not None and has_flattened_params: diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py index 58415abb..834710b0 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py @@ -496,7 +496,7 @@ def predict( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, user_event]) if request is not None and has_flattened_params: diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py index 4a67848b..783a6bf4 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py @@ -158,8 +158,11 @@ def __init__( if not self._grpc_channel: self._grpc_channel = type(self).create_channel( self._host, + # use the credentials which are saved credentials=self._credentials, - credentials_file=credentials_file, + # 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, diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py index e53e8e39..876423b7 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py @@ -203,8 +203,11 @@ def __init__( if not self._grpc_channel: self._grpc_channel = type(self).create_channel( self._host, + # use the credentials which are saved credentials=self._credentials, - credentials_file=credentials_file, + # 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, diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py index e7ec1bc2..66b84b1f 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py @@ -255,7 +255,7 @@ async def write_user_event( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, user_event]) if request is not None and has_flattened_params: @@ -341,8 +341,8 @@ async def collect_user_event( on the ``request`` instance; if ``request`` is provided, this should not be set. uri (:class:`str`): - Optional. The url including cgi- - arameters but excluding the hash + Optional. The url including + cgi-parameters but excluding the hash fragment. The URL must be truncated to 1.5K bytes to conservatively be under the 2K bytes. This is often more useful @@ -420,7 +420,7 @@ async def collect_user_event( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, user_event, uri, ets]) if request is not None and has_flattened_params: @@ -553,7 +553,7 @@ async def list_user_events( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, filter]) if request is not None and has_flattened_params: @@ -686,7 +686,7 @@ async def purge_user_events( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, filter, force]) if request is not None and has_flattened_params: @@ -819,7 +819,7 @@ async def import_user_events( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, request_id, input_config, errors_config]) if request is not None and has_flattened_params: diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py index fb4e5bf4..0e163bda 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py @@ -457,7 +457,7 @@ def write_user_event( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, user_event]) if request is not None and has_flattened_params: @@ -533,8 +533,8 @@ def collect_user_event( on the ``request`` instance; if ``request`` is provided, this should not be set. uri (str): - Optional. The url including cgi- - arameters but excluding the hash + Optional. The url including + cgi-parameters but excluding the hash fragment. The URL must be truncated to 1.5K bytes to conservatively be under the 2K bytes. This is often more useful @@ -612,7 +612,7 @@ def collect_user_event( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, user_event, uri, ets]) if request is not None and has_flattened_params: @@ -735,7 +735,7 @@ def list_user_events( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, filter]) if request is not None and has_flattened_params: @@ -858,7 +858,7 @@ def purge_user_events( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, filter, force]) if request is not None and has_flattened_params: @@ -981,7 +981,7 @@ def import_user_events( """ # Create or coerce a protobuf request object. - # Sanity check: If we got a request object, we should *not* have + # 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, request_id, input_config, errors_config]) if request is not None and has_flattened_params: diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py index 21a427b3..82ef567f 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py @@ -165,8 +165,11 @@ def __init__( if not self._grpc_channel: self._grpc_channel = type(self).create_channel( self._host, + # use the credentials which are saved credentials=self._credentials, - credentials_file=credentials_file, + # 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, @@ -239,7 +242,7 @@ def operations_client(self) -> operations_v1.OperationsClient: This property caches on the instance; repeated calls return the same client. """ - # Sanity check: Only create a new client if we do not already have one. + # Quick check: Only create a new client if we do not already have one. if self._operations_client is None: self._operations_client = operations_v1.OperationsClient(self.grpc_channel) diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py index 05524a42..23dd1fea 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py @@ -210,8 +210,11 @@ def __init__( if not self._grpc_channel: self._grpc_channel = type(self).create_channel( self._host, + # use the credentials which are saved credentials=self._credentials, - credentials_file=credentials_file, + # 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, @@ -241,7 +244,7 @@ def operations_client(self) -> operations_v1.OperationsAsyncClient: This property caches on the instance; repeated calls return the same client. """ - # Sanity check: Only create a new client if we do not already have one. + # Quick check: Only create a new client if we do not already have one. if self._operations_client is None: self._operations_client = operations_v1.OperationsAsyncClient( self.grpc_channel diff --git a/google/cloud/recommendationengine_v1beta1/types/catalog.py b/google/cloud/recommendationengine_v1beta1/types/catalog.py index 9bae3dad..d75e2827 100644 --- a/google/cloud/recommendationengine_v1beta1/types/catalog.py +++ b/google/cloud/recommendationengine_v1beta1/types/catalog.py @@ -160,8 +160,8 @@ class ProductCatalogItem(proto.Message): sum(costs) currency_code (str): Optional. Only required if the price is set. - Currency code for price/costs. Use three- - character ISO-4217 code. + Currency code for price/costs. Use + three-character ISO-4217 code. stock_state (google.cloud.recommendationengine_v1beta1.types.ProductCatalogItem.StockState): Optional. Online stock state of the catalog item. Default is ``IN_STOCK``. diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py index 645a381b..68f907d9 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py @@ -29,6 +29,7 @@ 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 operation from google.api_core import operation_async # type: ignore from google.api_core import operations_v1 from google.api_core import path_template @@ -524,21 +525,28 @@ def test_catalog_service_client_client_options_scopes( @pytest.mark.parametrize( - "client_class,transport_class,transport_name", + "client_class,transport_class,transport_name,grpc_helpers", [ - (CatalogServiceClient, transports.CatalogServiceGrpcTransport, "grpc"), + ( + CatalogServiceClient, + transports.CatalogServiceGrpcTransport, + "grpc", + grpc_helpers, + ), ( CatalogServiceAsyncClient, transports.CatalogServiceGrpcAsyncIOTransport, "grpc_asyncio", + grpc_helpers_async, ), ], ) def test_catalog_service_client_client_options_credentials_file( - client_class, transport_class, transport_name + 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) @@ -574,6 +582,72 @@ def test_catalog_service_client_client_options_from_dict(): ) +@pytest.mark.parametrize( + "client_class,transport_class,transport_name,grpc_helpers", + [ + ( + CatalogServiceClient, + transports.CatalogServiceGrpcTransport, + "grpc", + grpc_helpers, + ), + ( + CatalogServiceAsyncClient, + transports.CatalogServiceGrpcAsyncIOTransport, + "grpc_asyncio", + grpc_helpers_async, + ), + ], +) +def test_catalog_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, + scopes=None, + client_cert_source_for_mtls=None, + quota_project_id=None, + client_info=transports.base.DEFAULT_CLIENT_INFO, + always_use_jwt_access=True, + ) + + # 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( + "recommendationengine.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="recommendationengine.googleapis.com", + ssl_credentials=None, + options=[ + ("grpc.max_send_message_length", -1), + ("grpc.max_receive_message_length", -1), + ], + ) + + @pytest.mark.parametrize( "request_type", [catalog_service.CreateCatalogItemRequest, dict,] ) diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py index e59d95c1..15f26cb6 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py @@ -546,25 +546,28 @@ def test_prediction_api_key_registry_client_client_options_scopes( @pytest.mark.parametrize( - "client_class,transport_class,transport_name", + "client_class,transport_class,transport_name,grpc_helpers", [ ( PredictionApiKeyRegistryClient, transports.PredictionApiKeyRegistryGrpcTransport, "grpc", + grpc_helpers, ), ( PredictionApiKeyRegistryAsyncClient, transports.PredictionApiKeyRegistryGrpcAsyncIOTransport, "grpc_asyncio", + grpc_helpers_async, ), ], ) def test_prediction_api_key_registry_client_client_options_credentials_file( - client_class, transport_class, transport_name + 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) @@ -600,6 +603,72 @@ def test_prediction_api_key_registry_client_client_options_from_dict(): ) +@pytest.mark.parametrize( + "client_class,transport_class,transport_name,grpc_helpers", + [ + ( + PredictionApiKeyRegistryClient, + transports.PredictionApiKeyRegistryGrpcTransport, + "grpc", + grpc_helpers, + ), + ( + PredictionApiKeyRegistryAsyncClient, + transports.PredictionApiKeyRegistryGrpcAsyncIOTransport, + "grpc_asyncio", + grpc_helpers_async, + ), + ], +) +def test_prediction_api_key_registry_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, + scopes=None, + client_cert_source_for_mtls=None, + quota_project_id=None, + client_info=transports.base.DEFAULT_CLIENT_INFO, + always_use_jwt_access=True, + ) + + # 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( + "recommendationengine.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="recommendationengine.googleapis.com", + ssl_credentials=None, + options=[ + ("grpc.max_send_message_length", -1), + ("grpc.max_receive_message_length", -1), + ], + ) + + @pytest.mark.parametrize( "request_type", [ diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py index a484621b..20de9ef4 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py @@ -530,21 +530,28 @@ def test_prediction_service_client_client_options_scopes( @pytest.mark.parametrize( - "client_class,transport_class,transport_name", + "client_class,transport_class,transport_name,grpc_helpers", [ - (PredictionServiceClient, transports.PredictionServiceGrpcTransport, "grpc"), + ( + PredictionServiceClient, + transports.PredictionServiceGrpcTransport, + "grpc", + grpc_helpers, + ), ( PredictionServiceAsyncClient, transports.PredictionServiceGrpcAsyncIOTransport, "grpc_asyncio", + grpc_helpers_async, ), ], ) def test_prediction_service_client_client_options_credentials_file( - client_class, transport_class, transport_name + 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) @@ -580,6 +587,72 @@ def test_prediction_service_client_client_options_from_dict(): ) +@pytest.mark.parametrize( + "client_class,transport_class,transport_name,grpc_helpers", + [ + ( + PredictionServiceClient, + transports.PredictionServiceGrpcTransport, + "grpc", + grpc_helpers, + ), + ( + PredictionServiceAsyncClient, + transports.PredictionServiceGrpcAsyncIOTransport, + "grpc_asyncio", + grpc_helpers_async, + ), + ], +) +def test_prediction_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, + scopes=None, + client_cert_source_for_mtls=None, + quota_project_id=None, + client_info=transports.base.DEFAULT_CLIENT_INFO, + always_use_jwt_access=True, + ) + + # 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( + "recommendationengine.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="recommendationengine.googleapis.com", + ssl_credentials=None, + options=[ + ("grpc.max_send_message_length", -1), + ("grpc.max_receive_message_length", -1), + ], + ) + + @pytest.mark.parametrize("request_type", [prediction_service.PredictRequest, dict,]) def test_predict(request_type, transport: str = "grpc"): client = PredictionServiceClient( diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py index c5cc40bb..0b1bf87c 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py @@ -30,6 +30,7 @@ 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 operation from google.api_core import operation_async # type: ignore from google.api_core import operations_v1 from google.api_core import path_template @@ -537,21 +538,28 @@ def test_user_event_service_client_client_options_scopes( @pytest.mark.parametrize( - "client_class,transport_class,transport_name", + "client_class,transport_class,transport_name,grpc_helpers", [ - (UserEventServiceClient, transports.UserEventServiceGrpcTransport, "grpc"), + ( + UserEventServiceClient, + transports.UserEventServiceGrpcTransport, + "grpc", + grpc_helpers, + ), ( UserEventServiceAsyncClient, transports.UserEventServiceGrpcAsyncIOTransport, "grpc_asyncio", + grpc_helpers_async, ), ], ) def test_user_event_service_client_client_options_credentials_file( - client_class, transport_class, transport_name + 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) @@ -587,6 +595,72 @@ def test_user_event_service_client_client_options_from_dict(): ) +@pytest.mark.parametrize( + "client_class,transport_class,transport_name,grpc_helpers", + [ + ( + UserEventServiceClient, + transports.UserEventServiceGrpcTransport, + "grpc", + grpc_helpers, + ), + ( + UserEventServiceAsyncClient, + transports.UserEventServiceGrpcAsyncIOTransport, + "grpc_asyncio", + grpc_helpers_async, + ), + ], +) +def test_user_event_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, + scopes=None, + client_cert_source_for_mtls=None, + quota_project_id=None, + client_info=transports.base.DEFAULT_CLIENT_INFO, + always_use_jwt_access=True, + ) + + # 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( + "recommendationengine.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="recommendationengine.googleapis.com", + ssl_credentials=None, + options=[ + ("grpc.max_send_message_length", -1), + ("grpc.max_receive_message_length", -1), + ], + ) + + @pytest.mark.parametrize( "request_type", [user_event_service.WriteUserEventRequest, dict,] ) From eebbeb618b6dc62a1103cb6b3cbc9df65630fff3 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 11 Feb 2022 10:25:10 -0700 Subject: [PATCH 14/17] docs: add generated snippets (#122) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: use gapic-generator-python 0.63.2 docs: add generated snippets PiperOrigin-RevId: 427792504 Source-Link: https://github.com/googleapis/googleapis/commit/55b9e1e0b3106c850d13958352bc0751147b6b15 Source-Link: https://github.com/googleapis/googleapis-gen/commit/bf4e86b753f42cb0edb1fd51fbe840d7da0a1cde Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYmY0ZTg2Yjc1M2Y0MmNiMGVkYjFmZDUxZmJlODQwZDdkYTBhMWNkZSJ9 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../services/catalog_service/async_client.py | 130 ++ .../services/catalog_service/client.py | 136 ++ .../async_client.py | 56 + .../prediction_api_key_registry/client.py | 59 + .../prediction_service/async_client.py | 26 + .../services/prediction_service/client.py | 27 + .../user_event_service/async_client.py | 115 ++ .../services/user_event_service/client.py | 120 ++ ...talog_service_create_catalog_item_async.py | 51 + ...atalog_service_create_catalog_item_sync.py | 51 + ...talog_service_delete_catalog_item_async.py | 43 + ...atalog_service_delete_catalog_item_sync.py | 43 + ..._catalog_service_get_catalog_item_async.py | 45 + ...1_catalog_service_get_catalog_item_sync.py | 45 + ...alog_service_import_catalog_items_async.py | 49 + ...talog_service_import_catalog_items_sync.py | 49 + ...atalog_service_list_catalog_items_async.py | 46 + ...catalog_service_list_catalog_items_sync.py | 46 + ...talog_service_update_catalog_item_async.py | 51 + ...atalog_service_update_catalog_item_sync.py | 51 + ...e_prediction_api_key_registration_async.py | 45 + ...te_prediction_api_key_registration_sync.py | 45 + ...e_prediction_api_key_registration_async.py | 43 + ...te_prediction_api_key_registration_sync.py | 43 + ..._prediction_api_key_registrations_async.py | 46 + ...t_prediction_api_key_registrations_sync.py | 46 + ...1beta1_prediction_service_predict_async.py | 51 + ...v1beta1_prediction_service_predict_sync.py | 51 + ..._event_service_collect_user_event_async.py | 46 + ...r_event_service_collect_user_event_sync.py | 46 + ..._event_service_import_user_events_async.py | 49 + ...r_event_service_import_user_events_sync.py | 49 + ...er_event_service_list_user_events_async.py | 46 + ...ser_event_service_list_user_events_sync.py | 46 + ...r_event_service_purge_user_events_async.py | 50 + ...er_event_service_purge_user_events_sync.py | 50 + ...er_event_service_write_user_event_async.py | 50 + ...ser_event_service_write_user_event_sync.py | 50 + ...metadata_recommendationengine_v1beta1.json | 1331 +++++++++++++++++ 39 files changed, 3422 insertions(+) create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py create mode 100644 samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py create mode 100644 samples/generated_samples/snippet_metadata_recommendationengine_v1beta1.json diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py index 9245abea..b9c8c0d8 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py @@ -223,6 +223,31 @@ async def create_catalog_item( ) -> catalog.CatalogItem: r"""Creates a catalog item. + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_create_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + catalog_item = recommendationengine_v1beta1.CatalogItem() + catalog_item.id = "id_value" + catalog_item.category_hierarchies.categories = ['categories_value_1', 'categories_value_2'] + catalog_item.title = "title_value" + + request = recommendationengine_v1beta1.CreateCatalogItemRequest( + parent="parent_value", + catalog_item=catalog_item, + ) + + # Make the request + response = client.create_catalog_item(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.CreateCatalogItemRequest, dict]): The request object. Request message for @@ -311,6 +336,25 @@ async def get_catalog_item( ) -> catalog.CatalogItem: r"""Gets a specific catalog item. + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_get_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.GetCatalogItemRequest( + name="name_value", + ) + + # Make the request + response = client.get_catalog_item(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.GetCatalogItemRequest, dict]): The request object. Request message for GetCatalogItem @@ -393,6 +437,26 @@ async def list_catalog_items( ) -> pagers.ListCatalogItemsAsyncPager: r"""Gets a list of catalog items. + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_list_catalog_items(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListCatalogItemsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_catalog_items(request=request) + + # Handle the response + for response in page_result: + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ListCatalogItemsRequest, dict]): The request object. Request message for ListCatalogItems @@ -495,6 +559,32 @@ async def update_catalog_item( r"""Updates a catalog item. Partial updating is supported. Non-existing items will be created. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_update_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + catalog_item = recommendationengine_v1beta1.CatalogItem() + catalog_item.id = "id_value" + catalog_item.category_hierarchies.categories = ['categories_value_1', 'categories_value_2'] + catalog_item.title = "title_value" + + request = recommendationengine_v1beta1.UpdateCatalogItemRequest( + name="name_value", + catalog_item=catalog_item, + ) + + # Make the request + response = client.update_catalog_item(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.UpdateCatalogItemRequest, dict]): The request object. Request message for @@ -595,6 +685,22 @@ async def delete_catalog_item( ) -> None: r"""Deletes a catalog item. + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_delete_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.DeleteCatalogItemRequest( + name="name_value", + ) + + # Make the request + client.delete_catalog_item(request=request) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.DeleteCatalogItemRequest, dict]): The request object. Request message for @@ -678,6 +784,30 @@ async def import_catalog_items( it is possible for a subset of the items to be successfully updated. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_import_catalog_items(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ImportCatalogItemsRequest( + parent="parent_value", + ) + + # Make the request + operation = client.import_catalog_items(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ImportCatalogItemsRequest, dict]): The request object. Request message for Import methods. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py index f78f2b12..aa7be2bf 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py @@ -419,6 +419,32 @@ def create_catalog_item( ) -> catalog.CatalogItem: r"""Creates a catalog item. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_create_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + catalog_item = recommendationengine_v1beta1.CatalogItem() + catalog_item.id = "id_value" + catalog_item.category_hierarchies.categories = ['categories_value_1', 'categories_value_2'] + catalog_item.title = "title_value" + + request = recommendationengine_v1beta1.CreateCatalogItemRequest( + parent="parent_value", + catalog_item=catalog_item, + ) + + # Make the request + response = client.create_catalog_item(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.CreateCatalogItemRequest, dict]): The request object. Request message for @@ -497,6 +523,26 @@ def get_catalog_item( ) -> catalog.CatalogItem: r"""Gets a specific catalog item. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_get_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.GetCatalogItemRequest( + name="name_value", + ) + + # Make the request + response = client.get_catalog_item(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.GetCatalogItemRequest, dict]): The request object. Request message for GetCatalogItem @@ -569,6 +615,27 @@ def list_catalog_items( ) -> pagers.ListCatalogItemsPager: r"""Gets a list of catalog items. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_list_catalog_items(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListCatalogItemsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_catalog_items(request=request) + + # Handle the response + for response in page_result: + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ListCatalogItemsRequest, dict]): The request object. Request message for ListCatalogItems @@ -661,6 +728,33 @@ def update_catalog_item( r"""Updates a catalog item. Partial updating is supported. Non-existing items will be created. + + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_update_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + catalog_item = recommendationengine_v1beta1.CatalogItem() + catalog_item.id = "id_value" + catalog_item.category_hierarchies.categories = ['categories_value_1', 'categories_value_2'] + catalog_item.title = "title_value" + + request = recommendationengine_v1beta1.UpdateCatalogItemRequest( + name="name_value", + catalog_item=catalog_item, + ) + + # Make the request + response = client.update_catalog_item(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.UpdateCatalogItemRequest, dict]): The request object. Request message for @@ -751,6 +845,23 @@ def delete_catalog_item( ) -> None: r"""Deletes a catalog item. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_delete_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.DeleteCatalogItemRequest( + name="name_value", + ) + + # Make the request + client.delete_catalog_item(request=request) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.DeleteCatalogItemRequest, dict]): The request object. Request message for @@ -824,6 +935,31 @@ def import_catalog_items( it is possible for a subset of the items to be successfully updated. + + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_import_catalog_items(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ImportCatalogItemsRequest( + parent="parent_value", + ) + + # Make the request + operation = client.import_catalog_items(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ImportCatalogItemsRequest, dict]): The request object. Request message for Import methods. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py index 5277f456..147f5677 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py @@ -240,6 +240,25 @@ async def create_prediction_api_key_registration( ) -> prediction_apikey_registry_service.PredictionApiKeyRegistration: r"""Register an API key for use with predict method. + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_create_prediction_api_key_registration(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.CreatePredictionApiKeyRegistrationRequest( + parent="parent_value", + ) + + # Make the request + response = client.create_prediction_api_key_registration(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.CreatePredictionApiKeyRegistrationRequest, dict]): The request object. Request message for the @@ -334,6 +353,27 @@ async def list_prediction_api_key_registrations( r"""List the registered apiKeys for use with predict method. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_list_prediction_api_key_registrations(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListPredictionApiKeyRegistrationsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_prediction_api_key_registrations(request=request) + + # Handle the response + for response in page_result: + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ListPredictionApiKeyRegistrationsRequest, dict]): The request object. Request message for the @@ -429,6 +469,22 @@ async def delete_prediction_api_key_registration( ) -> None: r"""Unregister an apiKey from using for predict method. + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_delete_prediction_api_key_registration(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.DeletePredictionApiKeyRegistrationRequest( + name="name_value", + ) + + # Make the request + client.delete_prediction_api_key_registration(request=request) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.DeletePredictionApiKeyRegistrationRequest, dict]): The request object. Request message for diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py index e585fe83..f581c6a2 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py @@ -457,6 +457,26 @@ def create_prediction_api_key_registration( ) -> prediction_apikey_registry_service.PredictionApiKeyRegistration: r"""Register an API key for use with predict method. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_create_prediction_api_key_registration(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.CreatePredictionApiKeyRegistrationRequest( + parent="parent_value", + ) + + # Make the request + response = client.create_prediction_api_key_registration(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.CreatePredictionApiKeyRegistrationRequest, dict]): The request object. Request message for the @@ -548,6 +568,28 @@ def list_prediction_api_key_registrations( r"""List the registered apiKeys for use with predict method. + + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_list_prediction_api_key_registrations(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListPredictionApiKeyRegistrationsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_prediction_api_key_registrations(request=request) + + # Handle the response + for response in page_result: + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ListPredictionApiKeyRegistrationsRequest, dict]): The request object. Request message for the @@ -638,6 +680,23 @@ def delete_prediction_api_key_registration( ) -> None: r"""Unregister an apiKey from using for predict method. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_delete_prediction_api_key_registration(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.DeletePredictionApiKeyRegistrationRequest( + name="name_value", + ) + + # Make the request + client.delete_prediction_api_key_registration(request=request) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.DeletePredictionApiKeyRegistrationRequest, dict]): The request object. Request message for diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py index a8037a78..e77a6865 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py @@ -219,6 +219,32 @@ async def predict( service. `Learn more `__. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_predict(): + # Create a client + client = recommendationengine_v1beta1.PredictionServiceClient() + + # Initialize request argument(s) + user_event = recommendationengine_v1beta1.UserEvent() + user_event.event_type = "event_type_value" + user_event.user_info.visitor_id = "visitor_id_value" + + request = recommendationengine_v1beta1.PredictRequest( + name="name_value", + user_event=user_event, + ) + + # Make the request + page_result = client.predict(request=request) + + # Handle the response + for response in page_result: + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.PredictRequest, dict]): The request object. Request message for Predict method. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py index 834710b0..e999dd60 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py @@ -424,6 +424,33 @@ def predict( service. `Learn more `__. + + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_predict(): + # Create a client + client = recommendationengine_v1beta1.PredictionServiceClient() + + # Initialize request argument(s) + user_event = recommendationengine_v1beta1.UserEvent() + user_event.event_type = "event_type_value" + user_event.user_info.visitor_id = "visitor_id_value" + + request = recommendationengine_v1beta1.PredictRequest( + name="name_value", + user_event=user_event, + ) + + # Make the request + page_result = client.predict(request=request) + + # Handle the response + for response in page_result: + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.PredictRequest, dict]): The request object. Request message for Predict method. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py index 66b84b1f..343deb71 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py @@ -224,6 +224,30 @@ async def write_user_event( ) -> gcr_user_event.UserEvent: r"""Writes a single user event. + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_write_user_event(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + user_event = recommendationengine_v1beta1.UserEvent() + user_event.event_type = "event_type_value" + user_event.user_info.visitor_id = "visitor_id_value" + + request = recommendationengine_v1beta1.WriteUserEventRequest( + parent="parent_value", + user_event=user_event, + ) + + # Make the request + response = client.write_user_event(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.WriteUserEventRequest, dict]): The request object. Request message for WriteUserEvent @@ -322,6 +346,27 @@ async def collect_user_event( JavaScript pixel. Users should not call this method directly. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_collect_user_event(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.CollectUserEventRequest( + parent="parent_value", + user_event="user_event_value", + ) + + # Make the request + response = client.collect_user_event(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.CollectUserEventRequest, dict]): The request object. Request message for CollectUserEvent @@ -485,6 +530,27 @@ async def list_user_events( r"""Gets a list of user events within a time range, with potential filtering. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_list_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListUserEventsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_user_events(request=request) + + # Handle the response + for response in page_result: + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ListUserEventsRequest, dict]): The request object. Request message for ListUserEvents @@ -624,6 +690,31 @@ async def purge_user_events( or days to complete. To test a filter, use the list command first. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_purge_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.PurgeUserEventsRequest( + parent="parent_value", + filter="filter_value", + ) + + # Make the request + operation = client.purge_user_events(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.PurgeUserEventsRequest, dict]): The request object. Request message for PurgeUserEvents @@ -764,6 +855,30 @@ async def import_user_events( successfully inserted. Operation.metadata is of type ImportMetadata. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_import_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ImportUserEventsRequest( + parent="parent_value", + ) + + # Make the request + operation = client.import_user_events(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ImportUserEventsRequest, dict]): The request object. Request message for the diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py index 0e163bda..10a258d7 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py @@ -426,6 +426,31 @@ def write_user_event( ) -> gcr_user_event.UserEvent: r"""Writes a single user event. + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_write_user_event(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + user_event = recommendationengine_v1beta1.UserEvent() + user_event.event_type = "event_type_value" + user_event.user_info.visitor_id = "visitor_id_value" + + request = recommendationengine_v1beta1.WriteUserEventRequest( + parent="parent_value", + user_event=user_event, + ) + + # Make the request + response = client.write_user_event(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.WriteUserEventRequest, dict]): The request object. Request message for WriteUserEvent @@ -514,6 +539,28 @@ def collect_user_event( JavaScript pixel. Users should not call this method directly. + + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_collect_user_event(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.CollectUserEventRequest( + parent="parent_value", + user_event="user_event_value", + ) + + # Make the request + response = client.collect_user_event(request=request) + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.CollectUserEventRequest, dict]): The request object. Request message for CollectUserEvent @@ -667,6 +714,28 @@ def list_user_events( r"""Gets a list of user events within a time range, with potential filtering. + + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_list_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListUserEventsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_user_events(request=request) + + # Handle the response + for response in page_result: + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ListUserEventsRequest, dict]): The request object. Request message for ListUserEvents @@ -796,6 +865,32 @@ def purge_user_events( or days to complete. To test a filter, use the list command first. + + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_purge_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.PurgeUserEventsRequest( + parent="parent_value", + filter="filter_value", + ) + + # Make the request + operation = client.purge_user_events(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.PurgeUserEventsRequest, dict]): The request object. Request message for PurgeUserEvents @@ -926,6 +1021,31 @@ def import_user_events( successfully inserted. Operation.metadata is of type ImportMetadata. + + + .. code-block:: + + from google.cloud import recommendationengine_v1beta1 + + def sample_import_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ImportUserEventsRequest( + parent="parent_value", + ) + + # Make the request + operation = client.import_user_events(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + Args: request (Union[google.cloud.recommendationengine_v1beta1.types.ImportUserEventsRequest, dict]): The request object. Request message for the diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py new file mode 100644 index 00000000..f2d662ba --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py @@ -0,0 +1,51 @@ +# -*- 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 +# +# 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 CreateCatalogItem +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_create_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceAsyncClient() + + # Initialize request argument(s) + catalog_item = recommendationengine_v1beta1.CatalogItem() + catalog_item.id = "id_value" + catalog_item.category_hierarchies.categories = ['categories_value_1', 'categories_value_2'] + catalog_item.title = "title_value" + + request = recommendationengine_v1beta1.CreateCatalogItemRequest( + parent="parent_value", + catalog_item=catalog_item, + ) + + # Make the request + response = await client.create_catalog_item(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py new file mode 100644 index 00000000..bb94f0eb --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py @@ -0,0 +1,51 @@ +# -*- 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 +# +# 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 CreateCatalogItem +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_create_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + catalog_item = recommendationengine_v1beta1.CatalogItem() + catalog_item.id = "id_value" + catalog_item.category_hierarchies.categories = ['categories_value_1', 'categories_value_2'] + catalog_item.title = "title_value" + + request = recommendationengine_v1beta1.CreateCatalogItemRequest( + parent="parent_value", + catalog_item=catalog_item, + ) + + # Make the request + response = client.create_catalog_item(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py new file mode 100644 index 00000000..b6c3d4c6 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py @@ -0,0 +1,43 @@ +# -*- 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 +# +# 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 DeleteCatalogItem +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_delete_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.DeleteCatalogItemRequest( + name="name_value", + ) + + # Make the request + await client.delete_catalog_item(request=request) + + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py new file mode 100644 index 00000000..7ca3326a --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py @@ -0,0 +1,43 @@ +# -*- 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 +# +# 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 DeleteCatalogItem +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_delete_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.DeleteCatalogItemRequest( + name="name_value", + ) + + # Make the request + client.delete_catalog_item(request=request) + + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py new file mode 100644 index 00000000..08b81418 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py @@ -0,0 +1,45 @@ +# -*- 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 +# +# 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 GetCatalogItem +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_get_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.GetCatalogItemRequest( + name="name_value", + ) + + # Make the request + response = await client.get_catalog_item(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py new file mode 100644 index 00000000..7f5c1e28 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py @@ -0,0 +1,45 @@ +# -*- 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 +# +# 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 GetCatalogItem +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_get_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.GetCatalogItemRequest( + name="name_value", + ) + + # Make the request + response = client.get_catalog_item(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py new file mode 100644 index 00000000..6e86ec2a --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py @@ -0,0 +1,49 @@ +# -*- 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 +# +# 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 ImportCatalogItems +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_import_catalog_items(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ImportCatalogItemsRequest( + parent="parent_value", + ) + + # Make the request + operation = client.import_catalog_items(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py new file mode 100644 index 00000000..6f9252eb --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py @@ -0,0 +1,49 @@ +# -*- 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 +# +# 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 ImportCatalogItems +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_import_catalog_items(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ImportCatalogItemsRequest( + parent="parent_value", + ) + + # Make the request + operation = client.import_catalog_items(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py new file mode 100644 index 00000000..3c6fbc36 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py @@ -0,0 +1,46 @@ +# -*- 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 +# +# 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 ListCatalogItems +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_list_catalog_items(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListCatalogItemsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_catalog_items(request=request) + + # Handle the response + async for response in page_result: + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py new file mode 100644 index 00000000..de7e1efb --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py @@ -0,0 +1,46 @@ +# -*- 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 +# +# 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 ListCatalogItems +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_list_catalog_items(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListCatalogItemsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_catalog_items(request=request) + + # Handle the response + for response in page_result: + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py new file mode 100644 index 00000000..353fc723 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py @@ -0,0 +1,51 @@ +# -*- 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 +# +# 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 UpdateCatalogItem +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_update_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceAsyncClient() + + # Initialize request argument(s) + catalog_item = recommendationengine_v1beta1.CatalogItem() + catalog_item.id = "id_value" + catalog_item.category_hierarchies.categories = ['categories_value_1', 'categories_value_2'] + catalog_item.title = "title_value" + + request = recommendationengine_v1beta1.UpdateCatalogItemRequest( + name="name_value", + catalog_item=catalog_item, + ) + + # Make the request + response = await client.update_catalog_item(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py new file mode 100644 index 00000000..998c32dd --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py @@ -0,0 +1,51 @@ +# -*- 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 +# +# 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 UpdateCatalogItem +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_update_catalog_item(): + # Create a client + client = recommendationengine_v1beta1.CatalogServiceClient() + + # Initialize request argument(s) + catalog_item = recommendationengine_v1beta1.CatalogItem() + catalog_item.id = "id_value" + catalog_item.category_hierarchies.categories = ['categories_value_1', 'categories_value_2'] + catalog_item.title = "title_value" + + request = recommendationengine_v1beta1.UpdateCatalogItemRequest( + name="name_value", + catalog_item=catalog_item, + ) + + # Make the request + response = client.update_catalog_item(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py new file mode 100644 index 00000000..d293d7a1 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py @@ -0,0 +1,45 @@ +# -*- 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 +# +# 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 CreatePredictionApiKeyRegistration +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_create_prediction_api_key_registration(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.CreatePredictionApiKeyRegistrationRequest( + parent="parent_value", + ) + + # Make the request + response = await client.create_prediction_api_key_registration(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py new file mode 100644 index 00000000..f90745d1 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py @@ -0,0 +1,45 @@ +# -*- 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 +# +# 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 CreatePredictionApiKeyRegistration +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_create_prediction_api_key_registration(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.CreatePredictionApiKeyRegistrationRequest( + parent="parent_value", + ) + + # Make the request + response = client.create_prediction_api_key_registration(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py new file mode 100644 index 00000000..550058f1 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py @@ -0,0 +1,43 @@ +# -*- 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 +# +# 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 DeletePredictionApiKeyRegistration +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_delete_prediction_api_key_registration(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.DeletePredictionApiKeyRegistrationRequest( + name="name_value", + ) + + # Make the request + await client.delete_prediction_api_key_registration(request=request) + + +# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py new file mode 100644 index 00000000..05d81d0d --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py @@ -0,0 +1,43 @@ +# -*- 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 +# +# 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 DeletePredictionApiKeyRegistration +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_delete_prediction_api_key_registration(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.DeletePredictionApiKeyRegistrationRequest( + name="name_value", + ) + + # Make the request + client.delete_prediction_api_key_registration(request=request) + + +# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py new file mode 100644 index 00000000..a281fa54 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py @@ -0,0 +1,46 @@ +# -*- 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 +# +# 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 ListPredictionApiKeyRegistrations +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_list_prediction_api_key_registrations(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListPredictionApiKeyRegistrationsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_prediction_api_key_registrations(request=request) + + # Handle the response + async for response in page_result: + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py new file mode 100644 index 00000000..15965682 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py @@ -0,0 +1,46 @@ +# -*- 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 +# +# 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 ListPredictionApiKeyRegistrations +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_list_prediction_api_key_registrations(): + # Create a client + client = recommendationengine_v1beta1.PredictionApiKeyRegistryClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListPredictionApiKeyRegistrationsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_prediction_api_key_registrations(request=request) + + # Handle the response + for response in page_result: + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py new file mode 100644 index 00000000..2da6f8a1 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py @@ -0,0 +1,51 @@ +# -*- 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 +# +# 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 Predict +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_predict(): + # Create a client + client = recommendationengine_v1beta1.PredictionServiceAsyncClient() + + # Initialize request argument(s) + user_event = recommendationengine_v1beta1.UserEvent() + user_event.event_type = "event_type_value" + user_event.user_info.visitor_id = "visitor_id_value" + + request = recommendationengine_v1beta1.PredictRequest( + name="name_value", + user_event=user_event, + ) + + # Make the request + page_result = client.predict(request=request) + + # Handle the response + async for response in page_result: + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py new file mode 100644 index 00000000..c0e02410 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py @@ -0,0 +1,51 @@ +# -*- 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 +# +# 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 Predict +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_predict(): + # Create a client + client = recommendationengine_v1beta1.PredictionServiceClient() + + # Initialize request argument(s) + user_event = recommendationengine_v1beta1.UserEvent() + user_event.event_type = "event_type_value" + user_event.user_info.visitor_id = "visitor_id_value" + + request = recommendationengine_v1beta1.PredictRequest( + name="name_value", + user_event=user_event, + ) + + # Make the request + page_result = client.predict(request=request) + + # Handle the response + for response in page_result: + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py new file mode 100644 index 00000000..c71b39b3 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py @@ -0,0 +1,46 @@ +# -*- 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 +# +# 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 CollectUserEvent +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_collect_user_event(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.CollectUserEventRequest( + parent="parent_value", + user_event="user_event_value", + ) + + # Make the request + response = await client.collect_user_event(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py new file mode 100644 index 00000000..dad2b381 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py @@ -0,0 +1,46 @@ +# -*- 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 +# +# 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 CollectUserEvent +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_collect_user_event(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.CollectUserEventRequest( + parent="parent_value", + user_event="user_event_value", + ) + + # Make the request + response = client.collect_user_event(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py new file mode 100644 index 00000000..c0dcb214 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py @@ -0,0 +1,49 @@ +# -*- 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 +# +# 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 ImportUserEvents +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_import_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ImportUserEventsRequest( + parent="parent_value", + ) + + # Make the request + operation = client.import_user_events(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py new file mode 100644 index 00000000..1f04637b --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py @@ -0,0 +1,49 @@ +# -*- 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 +# +# 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 ImportUserEvents +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_import_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ImportUserEventsRequest( + parent="parent_value", + ) + + # Make the request + operation = client.import_user_events(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py new file mode 100644 index 00000000..fef73514 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py @@ -0,0 +1,46 @@ +# -*- 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 +# +# 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 ListUserEvents +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_list_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListUserEventsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_user_events(request=request) + + # Handle the response + async for response in page_result: + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py new file mode 100644 index 00000000..1b3ab485 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py @@ -0,0 +1,46 @@ +# -*- 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 +# +# 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 ListUserEvents +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_list_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.ListUserEventsRequest( + parent="parent_value", + ) + + # Make the request + page_result = client.list_user_events(request=request) + + # Handle the response + for response in page_result: + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py new file mode 100644 index 00000000..9c41da60 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py @@ -0,0 +1,50 @@ +# -*- 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 +# +# 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 PurgeUserEvents +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_purge_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceAsyncClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.PurgeUserEventsRequest( + parent="parent_value", + filter="filter_value", + ) + + # Make the request + operation = client.purge_user_events(request=request) + + print("Waiting for operation to complete...") + + response = await operation.result() + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py new file mode 100644 index 00000000..892bee4f --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py @@ -0,0 +1,50 @@ +# -*- 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 +# +# 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 PurgeUserEvents +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_purge_user_events(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + request = recommendationengine_v1beta1.PurgeUserEventsRequest( + parent="parent_value", + filter="filter_value", + ) + + # Make the request + operation = client.purge_user_events(request=request) + + print("Waiting for operation to complete...") + + response = operation.result() + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py new file mode 100644 index 00000000..25b1ce08 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py @@ -0,0 +1,50 @@ +# -*- 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 +# +# 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 WriteUserEvent +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_async] +from google.cloud import recommendationengine_v1beta1 + + +async def sample_write_user_event(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceAsyncClient() + + # Initialize request argument(s) + user_event = recommendationengine_v1beta1.UserEvent() + user_event.event_type = "event_type_value" + user_event.user_info.visitor_id = "visitor_id_value" + + request = recommendationengine_v1beta1.WriteUserEventRequest( + parent="parent_value", + user_event=user_event, + ) + + # Make the request + response = await client.write_user_event(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py new file mode 100644 index 00000000..a4177043 --- /dev/null +++ b/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py @@ -0,0 +1,50 @@ +# -*- 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 +# +# 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 WriteUserEvent +# 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-recommendations-ai + + +# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_sync] +from google.cloud import recommendationengine_v1beta1 + + +def sample_write_user_event(): + # Create a client + client = recommendationengine_v1beta1.UserEventServiceClient() + + # Initialize request argument(s) + user_event = recommendationengine_v1beta1.UserEvent() + user_event.event_type = "event_type_value" + user_event.user_info.visitor_id = "visitor_id_value" + + request = recommendationengine_v1beta1.WriteUserEventRequest( + parent="parent_value", + user_event=user_event, + ) + + # Make the request + response = client.write_user_event(request=request) + + # Handle the response + print(response) + +# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_sync] diff --git a/samples/generated_samples/snippet_metadata_recommendationengine_v1beta1.json b/samples/generated_samples/snippet_metadata_recommendationengine_v1beta1.json new file mode 100644 index 00000000..84e45f2d --- /dev/null +++ b/samples/generated_samples/snippet_metadata_recommendationengine_v1beta1.json @@ -0,0 +1,1331 @@ +{ + "snippets": [ + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "CreateCatalogItem" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_async", + "segments": [ + { + "end": 50, + "start": 27, + "type": "FULL" + }, + { + "end": 50, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 44, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 47, + "start": 45, + "type": "REQUEST_EXECUTION" + }, + { + "end": 51, + "start": 48, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "CreateCatalogItem" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_sync", + "segments": [ + { + "end": 50, + "start": 27, + "type": "FULL" + }, + { + "end": 50, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 44, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 47, + "start": 45, + "type": "REQUEST_EXECUTION" + }, + { + "end": 51, + "start": 48, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "DeleteCatalogItem" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_async", + "segments": [ + { + "end": 42, + "start": 27, + "type": "FULL" + }, + { + "end": 42, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "DeleteCatalogItem" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_sync", + "segments": [ + { + "end": 42, + "start": 27, + "type": "FULL" + }, + { + "end": 42, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "GetCatalogItem" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_async", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "GetCatalogItem" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_sync", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "ImportCatalogItems" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_async", + "segments": [ + { + "end": 48, + "start": 27, + "type": "FULL" + }, + { + "end": 48, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 45, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 49, + "start": 46, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "ImportCatalogItems" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_sync", + "segments": [ + { + "end": 48, + "start": 27, + "type": "FULL" + }, + { + "end": 48, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 45, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 49, + "start": 46, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "ListCatalogItems" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_async", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "ListCatalogItems" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_sync", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "UpdateCatalogItem" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_async", + "segments": [ + { + "end": 50, + "start": 27, + "type": "FULL" + }, + { + "end": 50, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 44, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 47, + "start": 45, + "type": "REQUEST_EXECUTION" + }, + { + "end": 51, + "start": 48, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "CatalogService" + }, + "shortName": "UpdateCatalogItem" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_sync", + "segments": [ + { + "end": 50, + "start": 27, + "type": "FULL" + }, + { + "end": 50, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 44, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 47, + "start": 45, + "type": "REQUEST_EXECUTION" + }, + { + "end": 51, + "start": 48, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "PredictionApiKeyRegistry" + }, + "shortName": "CreatePredictionApiKeyRegistration" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_async", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "PredictionApiKeyRegistry" + }, + "shortName": "CreatePredictionApiKeyRegistration" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_sync", + "segments": [ + { + "end": 44, + "start": 27, + "type": "FULL" + }, + { + "end": 44, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 45, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "PredictionApiKeyRegistry" + }, + "shortName": "DeletePredictionApiKeyRegistration" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_async", + "segments": [ + { + "end": 42, + "start": 27, + "type": "FULL" + }, + { + "end": 42, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "PredictionApiKeyRegistry" + }, + "shortName": "DeletePredictionApiKeyRegistration" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_sync", + "segments": [ + { + "end": 42, + "start": 27, + "type": "FULL" + }, + { + "end": 42, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "PredictionApiKeyRegistry" + }, + "shortName": "ListPredictionApiKeyRegistrations" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_async", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "PredictionApiKeyRegistry" + }, + "shortName": "ListPredictionApiKeyRegistrations" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_sync", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "PredictionService" + }, + "shortName": "Predict" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_async", + "segments": [ + { + "end": 50, + "start": 27, + "type": "FULL" + }, + { + "end": 50, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 43, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 44, + "type": "REQUEST_EXECUTION" + }, + { + "end": 51, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "PredictionService" + }, + "shortName": "Predict" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_sync", + "segments": [ + { + "end": 50, + "start": 27, + "type": "FULL" + }, + { + "end": 50, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 43, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 44, + "type": "REQUEST_EXECUTION" + }, + { + "end": 51, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "CollectUserEvent" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_async", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 39, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 42, + "start": 40, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "CollectUserEvent" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_sync", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 39, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 42, + "start": 40, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 43, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "ImportUserEvents" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_async", + "segments": [ + { + "end": 48, + "start": 27, + "type": "FULL" + }, + { + "end": 48, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 45, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 49, + "start": 46, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "ImportUserEvents" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_sync", + "segments": [ + { + "end": 48, + "start": 27, + "type": "FULL" + }, + { + "end": 48, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 45, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 49, + "start": 46, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "ListUserEvents" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_async", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "ListUserEvents" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_sync", + "segments": [ + { + "end": 45, + "start": 27, + "type": "FULL" + }, + { + "end": 45, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 38, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 41, + "start": 39, + "type": "REQUEST_EXECUTION" + }, + { + "end": 46, + "start": 42, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "PurgeUserEvents" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_async", + "segments": [ + { + "end": 49, + "start": 27, + "type": "FULL" + }, + { + "end": 49, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 39, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 40, + "type": "REQUEST_EXECUTION" + }, + { + "end": 50, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "PurgeUserEvents" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_sync", + "segments": [ + { + "end": 49, + "start": 27, + "type": "FULL" + }, + { + "end": 49, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 39, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 40, + "type": "REQUEST_EXECUTION" + }, + { + "end": 50, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "async": true, + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "WriteUserEvent" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_async", + "segments": [ + { + "end": 49, + "start": 27, + "type": "FULL" + }, + { + "end": 49, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 43, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 44, + "type": "REQUEST_EXECUTION" + }, + { + "end": 50, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + }, + { + "clientMethod": { + "method": { + "service": { + "shortName": "UserEventService" + }, + "shortName": "WriteUserEvent" + } + }, + "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py", + "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_sync", + "segments": [ + { + "end": 49, + "start": 27, + "type": "FULL" + }, + { + "end": 49, + "start": 27, + "type": "SHORT" + }, + { + "end": 33, + "start": 31, + "type": "CLIENT_INITIALIZATION" + }, + { + "end": 43, + "start": 34, + "type": "REQUEST_INITIALIZATION" + }, + { + "end": 46, + "start": 44, + "type": "REQUEST_EXECUTION" + }, + { + "end": 50, + "start": 47, + "type": "RESPONSE_HANDLING" + } + ] + } + ] +} From 0f252b83be42e5dbcf0c303954647ee55bb56845 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 25 Feb 2022 09:20:25 -0700 Subject: [PATCH 15/17] chore: use gapic-generator-python 0.63.4 (#123) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: use gapic-generator-python 0.63.4 chore: fix snippet region tag format chore: fix docstring code block formatting PiperOrigin-RevId: 430730865 Source-Link: https://github.com/googleapis/googleapis/commit/ea5800229f73f94fd7204915a86ed09dcddf429a Source-Link: https://github.com/googleapis/googleapis-gen/commit/ca893ff8af25fc7fe001de1405a517d80446ecca Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiY2E4OTNmZjhhZjI1ZmM3ZmUwMDFkZTE0MDVhNTE3ZDgwNDQ2ZWNjYSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: delete duplicates Co-authored-by: Owl Bot Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> --- .../services/catalog_service/async_client.py | 12 +- .../services/catalog_service/client.py | 18 +-- .../async_client.py | 6 +- .../prediction_api_key_registry/client.py | 9 +- .../prediction_service/async_client.py | 2 +- .../services/prediction_service/client.py | 3 +- .../user_event_service/async_client.py | 10 +- .../services/user_event_service/client.py | 15 +-- ...alog_service_create_catalog_item_async.py} | 4 +- ...talog_service_create_catalog_item_sync.py} | 4 +- ...alog_service_delete_catalog_item_async.py} | 4 +- ...talog_service_delete_catalog_item_sync.py} | 4 +- ...catalog_service_get_catalog_item_async.py} | 4 +- ..._catalog_service_get_catalog_item_sync.py} | 4 +- ...log_service_import_catalog_items_async.py} | 4 +- ...alog_service_import_catalog_items_sync.py} | 4 +- ...talog_service_list_catalog_items_async.py} | 4 +- ...atalog_service_list_catalog_items_sync.py} | 4 +- ...alog_service_update_catalog_item_async.py} | 4 +- ...talog_service_update_catalog_item_sync.py} | 4 +- ..._prediction_api_key_registration_async.py} | 4 +- ...e_prediction_api_key_registration_sync.py} | 4 +- ..._prediction_api_key_registration_async.py} | 4 +- ...e_prediction_api_key_registration_sync.py} | 4 +- ...prediction_api_key_registrations_async.py} | 4 +- ..._prediction_api_key_registrations_sync.py} | 4 +- ...rated_prediction_service_predict_async.py} | 4 +- ...erated_prediction_service_predict_sync.py} | 4 +- ...event_service_collect_user_event_async.py} | 4 +- ..._event_service_collect_user_event_sync.py} | 4 +- ...event_service_import_user_events_async.py} | 4 +- ..._event_service_import_user_events_sync.py} | 4 +- ...r_event_service_list_user_events_async.py} | 4 +- ...er_event_service_list_user_events_sync.py} | 4 +- ..._event_service_purge_user_events_async.py} | 4 +- ...r_event_service_purge_user_events_sync.py} | 4 +- ...r_event_service_write_user_event_async.py} | 4 +- ...er_event_service_write_user_event_sync.py} | 4 +- ...metadata_recommendationengine_v1beta1.json | 120 +++++++++--------- 39 files changed, 150 insertions(+), 165 deletions(-) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py => recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_async.py} (88%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py => recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_sync.py} (88%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py => recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_async.py} (86%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py => recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_sync.py} (86%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py => recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_async.py} (86%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py => recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_sync.py} (86%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py => recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_async.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py => recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_sync.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py => recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_async.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py => recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_sync.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py => recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_async.py} (88%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py => recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_sync.py} (88%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py => recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_async.py} (84%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py => recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_sync.py} (84%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py => recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_async.py} (84%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py => recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py} (84%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py => recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_async.py} (85%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py => recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py} (85%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py => recommendationengine_v1beta1_generated_prediction_service_predict_async.py} (88%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py => recommendationengine_v1beta1_generated_prediction_service_predict_sync.py} (88%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py => recommendationengine_v1beta1_generated_user_event_service_collect_user_event_async.py} (86%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py => recommendationengine_v1beta1_generated_user_event_service_collect_user_event_sync.py} (86%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py => recommendationengine_v1beta1_generated_user_event_service_import_user_events_async.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py => recommendationengine_v1beta1_generated_user_event_service_import_user_events_sync.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py => recommendationengine_v1beta1_generated_user_event_service_list_user_events_async.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py => recommendationengine_v1beta1_generated_user_event_service_list_user_events_sync.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py => recommendationengine_v1beta1_generated_user_event_service_purge_user_events_async.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py => recommendationengine_v1beta1_generated_user_event_service_purge_user_events_sync.py} (87%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py => recommendationengine_v1beta1_generated_user_event_service_write_user_event_async.py} (88%) rename samples/generated_samples/{recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py => recommendationengine_v1beta1_generated_user_event_service_write_user_event_sync.py} (88%) diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py index b9c8c0d8..65991fc3 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py @@ -223,7 +223,7 @@ async def create_catalog_item( ) -> catalog.CatalogItem: r"""Creates a catalog item. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -336,7 +336,7 @@ async def get_catalog_item( ) -> catalog.CatalogItem: r"""Gets a specific catalog item. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -437,7 +437,7 @@ async def list_catalog_items( ) -> pagers.ListCatalogItemsAsyncPager: r"""Gets a list of catalog items. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -560,7 +560,7 @@ async def update_catalog_item( supported. Non-existing items will be created. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -685,7 +685,7 @@ async def delete_catalog_item( ) -> None: r"""Deletes a catalog item. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -785,7 +785,7 @@ async def import_catalog_items( successfully updated. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py index aa7be2bf..ce1afa20 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py @@ -419,8 +419,7 @@ def create_catalog_item( ) -> catalog.CatalogItem: r"""Creates a catalog item. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -523,8 +522,7 @@ def get_catalog_item( ) -> catalog.CatalogItem: r"""Gets a specific catalog item. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -615,8 +613,7 @@ def list_catalog_items( ) -> pagers.ListCatalogItemsPager: r"""Gets a list of catalog items. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -729,8 +726,7 @@ def update_catalog_item( supported. Non-existing items will be created. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -845,8 +841,7 @@ def delete_catalog_item( ) -> None: r"""Deletes a catalog item. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -936,8 +931,7 @@ def import_catalog_items( successfully updated. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py index 147f5677..3f11a324 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py @@ -240,7 +240,7 @@ async def create_prediction_api_key_registration( ) -> prediction_apikey_registry_service.PredictionApiKeyRegistration: r"""Register an API key for use with predict method. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -354,7 +354,7 @@ async def list_prediction_api_key_registrations( method. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -469,7 +469,7 @@ async def delete_prediction_api_key_registration( ) -> None: r"""Unregister an apiKey from using for predict method. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py index f581c6a2..67d45ba8 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py @@ -457,8 +457,7 @@ def create_prediction_api_key_registration( ) -> prediction_apikey_registry_service.PredictionApiKeyRegistration: r"""Register an API key for use with predict method. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -569,8 +568,7 @@ def list_prediction_api_key_registrations( method. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -680,8 +678,7 @@ def delete_prediction_api_key_registration( ) -> None: r"""Unregister an apiKey from using for predict method. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py index e77a6865..62da9c3c 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py @@ -220,7 +220,7 @@ async def predict( more `__. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py index e999dd60..1931aaa8 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py @@ -425,8 +425,7 @@ def predict( more `__. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py index 343deb71..80ba9331 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py @@ -224,7 +224,7 @@ async def write_user_event( ) -> gcr_user_event.UserEvent: r"""Writes a single user event. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -347,7 +347,7 @@ async def collect_user_event( directly. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -531,7 +531,7 @@ async def list_user_events( potential filtering. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -691,7 +691,7 @@ async def purge_user_events( command first. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -856,7 +856,7 @@ async def import_user_events( ImportMetadata. - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py index 10a258d7..bc064ab0 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py @@ -426,8 +426,7 @@ def write_user_event( ) -> gcr_user_event.UserEvent: r"""Writes a single user event. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -540,8 +539,7 @@ def collect_user_event( directly. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -715,8 +713,7 @@ def list_user_events( potential filtering. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -866,8 +863,7 @@ def purge_user_events( command first. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 @@ -1022,8 +1018,7 @@ def import_user_events( ImportMetadata. - - .. code-block:: + .. code-block:: python from google.cloud import recommendationengine_v1beta1 diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_async.py similarity index 88% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_async.py index f2d662ba..b8391649 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_async] +# [START recommendationengine_v1beta1_generated_CatalogService_CreateCatalogItem_async] from google.cloud import recommendationengine_v1beta1 @@ -48,4 +48,4 @@ async def sample_create_catalog_item(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_async] +# [END recommendationengine_v1beta1_generated_CatalogService_CreateCatalogItem_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_sync.py similarity index 88% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_sync.py index bb94f0eb..baa42d8f 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_sync] +# [START recommendationengine_v1beta1_generated_CatalogService_CreateCatalogItem_sync] from google.cloud import recommendationengine_v1beta1 @@ -48,4 +48,4 @@ def sample_create_catalog_item(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_sync] +# [END recommendationengine_v1beta1_generated_CatalogService_CreateCatalogItem_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_async.py similarity index 86% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_async.py index b6c3d4c6..8a8221e3 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_async] +# [START recommendationengine_v1beta1_generated_CatalogService_DeleteCatalogItem_async] from google.cloud import recommendationengine_v1beta1 @@ -40,4 +40,4 @@ async def sample_delete_catalog_item(): await client.delete_catalog_item(request=request) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_async] +# [END recommendationengine_v1beta1_generated_CatalogService_DeleteCatalogItem_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_sync.py similarity index 86% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_sync.py index 7ca3326a..09dee302 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_sync] +# [START recommendationengine_v1beta1_generated_CatalogService_DeleteCatalogItem_sync] from google.cloud import recommendationengine_v1beta1 @@ -40,4 +40,4 @@ def sample_delete_catalog_item(): client.delete_catalog_item(request=request) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_sync] +# [END recommendationengine_v1beta1_generated_CatalogService_DeleteCatalogItem_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_async.py similarity index 86% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_async.py index 08b81418..9f3b3ea4 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_async] +# [START recommendationengine_v1beta1_generated_CatalogService_GetCatalogItem_async] from google.cloud import recommendationengine_v1beta1 @@ -42,4 +42,4 @@ async def sample_get_catalog_item(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_async] +# [END recommendationengine_v1beta1_generated_CatalogService_GetCatalogItem_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_sync.py similarity index 86% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_sync.py index 7f5c1e28..3de68026 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_sync] +# [START recommendationengine_v1beta1_generated_CatalogService_GetCatalogItem_sync] from google.cloud import recommendationengine_v1beta1 @@ -42,4 +42,4 @@ def sample_get_catalog_item(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_sync] +# [END recommendationengine_v1beta1_generated_CatalogService_GetCatalogItem_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_async.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_async.py index 6e86ec2a..4e428591 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_async] +# [START recommendationengine_v1beta1_generated_CatalogService_ImportCatalogItems_async] from google.cloud import recommendationengine_v1beta1 @@ -46,4 +46,4 @@ async def sample_import_catalog_items(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_async] +# [END recommendationengine_v1beta1_generated_CatalogService_ImportCatalogItems_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_sync.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_sync.py index 6f9252eb..4e0b8c2b 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_sync] +# [START recommendationengine_v1beta1_generated_CatalogService_ImportCatalogItems_sync] from google.cloud import recommendationengine_v1beta1 @@ -46,4 +46,4 @@ def sample_import_catalog_items(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_sync] +# [END recommendationengine_v1beta1_generated_CatalogService_ImportCatalogItems_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_async.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_async.py index 3c6fbc36..306f4a16 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_async] +# [START recommendationengine_v1beta1_generated_CatalogService_ListCatalogItems_async] from google.cloud import recommendationengine_v1beta1 @@ -43,4 +43,4 @@ async def sample_list_catalog_items(): async for response in page_result: print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_async] +# [END recommendationengine_v1beta1_generated_CatalogService_ListCatalogItems_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_sync.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_sync.py index de7e1efb..9e5ac620 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_sync] +# [START recommendationengine_v1beta1_generated_CatalogService_ListCatalogItems_sync] from google.cloud import recommendationengine_v1beta1 @@ -43,4 +43,4 @@ def sample_list_catalog_items(): for response in page_result: print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_sync] +# [END recommendationengine_v1beta1_generated_CatalogService_ListCatalogItems_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_async.py similarity index 88% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_async.py index 353fc723..12d34e07 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_async] +# [START recommendationengine_v1beta1_generated_CatalogService_UpdateCatalogItem_async] from google.cloud import recommendationengine_v1beta1 @@ -48,4 +48,4 @@ async def sample_update_catalog_item(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_async] +# [END recommendationengine_v1beta1_generated_CatalogService_UpdateCatalogItem_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_sync.py similarity index 88% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_sync.py index 998c32dd..c5ce20f8 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_sync] +# [START recommendationengine_v1beta1_generated_CatalogService_UpdateCatalogItem_sync] from google.cloud import recommendationengine_v1beta1 @@ -48,4 +48,4 @@ def sample_update_catalog_item(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_sync] +# [END recommendationengine_v1beta1_generated_CatalogService_UpdateCatalogItem_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_async.py similarity index 84% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_async.py index d293d7a1..6eacac50 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_async] +# [START recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_async] from google.cloud import recommendationengine_v1beta1 @@ -42,4 +42,4 @@ async def sample_create_prediction_api_key_registration(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_async] +# [END recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_sync.py similarity index 84% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_sync.py index f90745d1..e89838e9 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_sync] +# [START recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_sync] from google.cloud import recommendationengine_v1beta1 @@ -42,4 +42,4 @@ def sample_create_prediction_api_key_registration(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_sync] +# [END recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_async.py similarity index 84% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_async.py index 550058f1..1108b17b 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_async] +# [START recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_async] from google.cloud import recommendationengine_v1beta1 @@ -40,4 +40,4 @@ async def sample_delete_prediction_api_key_registration(): await client.delete_prediction_api_key_registration(request=request) -# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_async] +# [END recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py similarity index 84% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py index 05d81d0d..ccc8909b 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_sync] +# [START recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_sync] from google.cloud import recommendationengine_v1beta1 @@ -40,4 +40,4 @@ def sample_delete_prediction_api_key_registration(): client.delete_prediction_api_key_registration(request=request) -# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_sync] +# [END recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_async.py similarity index 85% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_async.py index a281fa54..04dcec22 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_async] +# [START recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_async] from google.cloud import recommendationengine_v1beta1 @@ -43,4 +43,4 @@ async def sample_list_prediction_api_key_registrations(): async for response in page_result: print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_async] +# [END recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py similarity index 85% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py index 15965682..1e95b6c2 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_sync] +# [START recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_sync] from google.cloud import recommendationengine_v1beta1 @@ -43,4 +43,4 @@ def sample_list_prediction_api_key_registrations(): for response in page_result: print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_sync] +# [END recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_async.py similarity index 88% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_async.py index 2da6f8a1..d81bb6f6 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_async] +# [START recommendationengine_v1beta1_generated_PredictionService_Predict_async] from google.cloud import recommendationengine_v1beta1 @@ -48,4 +48,4 @@ async def sample_predict(): async for response in page_result: print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_async] +# [END recommendationengine_v1beta1_generated_PredictionService_Predict_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_sync.py similarity index 88% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_sync.py index c0e02410..f6351e74 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_sync] +# [START recommendationengine_v1beta1_generated_PredictionService_Predict_sync] from google.cloud import recommendationengine_v1beta1 @@ -48,4 +48,4 @@ def sample_predict(): for response in page_result: print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_sync] +# [END recommendationengine_v1beta1_generated_PredictionService_Predict_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_async.py similarity index 86% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_async.py index c71b39b3..20478d92 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_async] +# [START recommendationengine_v1beta1_generated_UserEventService_CollectUserEvent_async] from google.cloud import recommendationengine_v1beta1 @@ -43,4 +43,4 @@ async def sample_collect_user_event(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_async] +# [END recommendationengine_v1beta1_generated_UserEventService_CollectUserEvent_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_sync.py similarity index 86% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_sync.py index dad2b381..f81dc563 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_sync] +# [START recommendationengine_v1beta1_generated_UserEventService_CollectUserEvent_sync] from google.cloud import recommendationengine_v1beta1 @@ -43,4 +43,4 @@ def sample_collect_user_event(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_sync] +# [END recommendationengine_v1beta1_generated_UserEventService_CollectUserEvent_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_async.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_async.py index c0dcb214..484196ee 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_async] +# [START recommendationengine_v1beta1_generated_UserEventService_ImportUserEvents_async] from google.cloud import recommendationengine_v1beta1 @@ -46,4 +46,4 @@ async def sample_import_user_events(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_async] +# [END recommendationengine_v1beta1_generated_UserEventService_ImportUserEvents_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_sync.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_sync.py index 1f04637b..c388342b 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_sync] +# [START recommendationengine_v1beta1_generated_UserEventService_ImportUserEvents_sync] from google.cloud import recommendationengine_v1beta1 @@ -46,4 +46,4 @@ def sample_import_user_events(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_sync] +# [END recommendationengine_v1beta1_generated_UserEventService_ImportUserEvents_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_async.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_async.py index fef73514..48563273 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_async] +# [START recommendationengine_v1beta1_generated_UserEventService_ListUserEvents_async] from google.cloud import recommendationengine_v1beta1 @@ -43,4 +43,4 @@ async def sample_list_user_events(): async for response in page_result: print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_async] +# [END recommendationengine_v1beta1_generated_UserEventService_ListUserEvents_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_sync.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_sync.py index 1b3ab485..ff2d3b20 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_sync] +# [START recommendationengine_v1beta1_generated_UserEventService_ListUserEvents_sync] from google.cloud import recommendationengine_v1beta1 @@ -43,4 +43,4 @@ def sample_list_user_events(): for response in page_result: print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_sync] +# [END recommendationengine_v1beta1_generated_UserEventService_ListUserEvents_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_async.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_async.py index 9c41da60..e1814cad 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_async] +# [START recommendationengine_v1beta1_generated_UserEventService_PurgeUserEvents_async] from google.cloud import recommendationengine_v1beta1 @@ -47,4 +47,4 @@ async def sample_purge_user_events(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_async] +# [END recommendationengine_v1beta1_generated_UserEventService_PurgeUserEvents_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_sync.py similarity index 87% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_sync.py index 892bee4f..d9553ac4 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_sync] +# [START recommendationengine_v1beta1_generated_UserEventService_PurgeUserEvents_sync] from google.cloud import recommendationengine_v1beta1 @@ -47,4 +47,4 @@ def sample_purge_user_events(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_sync] +# [END recommendationengine_v1beta1_generated_UserEventService_PurgeUserEvents_sync] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_async.py similarity index 88% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_async.py index 25b1ce08..e6e814cd 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_async.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_async] +# [START recommendationengine_v1beta1_generated_UserEventService_WriteUserEvent_async] from google.cloud import recommendationengine_v1beta1 @@ -47,4 +47,4 @@ async def sample_write_user_event(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_async] +# [END recommendationengine_v1beta1_generated_UserEventService_WriteUserEvent_async] diff --git a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_sync.py similarity index 88% rename from samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py rename to samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_sync.py index a4177043..5a4f1157 100644 --- a/samples/generated_samples/recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_sync.py @@ -23,7 +23,7 @@ # python3 -m pip install google-cloud-recommendations-ai -# [START recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_sync] +# [START recommendationengine_v1beta1_generated_UserEventService_WriteUserEvent_sync] from google.cloud import recommendationengine_v1beta1 @@ -47,4 +47,4 @@ def sample_write_user_event(): # Handle the response print(response) -# [END recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_sync] +# [END recommendationengine_v1beta1_generated_UserEventService_WriteUserEvent_sync] diff --git a/samples/generated_samples/snippet_metadata_recommendationengine_v1beta1.json b/samples/generated_samples/snippet_metadata_recommendationengine_v1beta1.json index 84e45f2d..d911073b 100644 --- a/samples/generated_samples/snippet_metadata_recommendationengine_v1beta1.json +++ b/samples/generated_samples/snippet_metadata_recommendationengine_v1beta1.json @@ -10,8 +10,8 @@ "shortName": "CreateCatalogItem" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_async", + "file": "recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_async.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_CreateCatalogItem_async", "segments": [ { "end": 50, @@ -54,8 +54,8 @@ "shortName": "CreateCatalogItem" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_create_catalog_item_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_CreateCatalogItem_sync", + "file": "recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_CreateCatalogItem_sync", "segments": [ { "end": 50, @@ -99,8 +99,8 @@ "shortName": "DeleteCatalogItem" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_async", + "file": "recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_async.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_DeleteCatalogItem_async", "segments": [ { "end": 42, @@ -141,8 +141,8 @@ "shortName": "DeleteCatalogItem" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_delete_catalog_item_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_DeleteCatalogItem_sync", + "file": "recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_DeleteCatalogItem_sync", "segments": [ { "end": 42, @@ -184,8 +184,8 @@ "shortName": "GetCatalogItem" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_async", + "file": "recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_async.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_GetCatalogItem_async", "segments": [ { "end": 44, @@ -228,8 +228,8 @@ "shortName": "GetCatalogItem" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_get_catalog_item_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_GetCatalogItem_sync", + "file": "recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_GetCatalogItem_sync", "segments": [ { "end": 44, @@ -273,8 +273,8 @@ "shortName": "ImportCatalogItems" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_async", + "file": "recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_async.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_ImportCatalogItems_async", "segments": [ { "end": 48, @@ -317,8 +317,8 @@ "shortName": "ImportCatalogItems" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_import_catalog_items_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ImportCatalogItems_sync", + "file": "recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_ImportCatalogItems_sync", "segments": [ { "end": 48, @@ -362,8 +362,8 @@ "shortName": "ListCatalogItems" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_async", + "file": "recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_async.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_ListCatalogItems_async", "segments": [ { "end": 45, @@ -406,8 +406,8 @@ "shortName": "ListCatalogItems" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_list_catalog_items_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_ListCatalogItems_sync", + "file": "recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_ListCatalogItems_sync", "segments": [ { "end": 45, @@ -451,8 +451,8 @@ "shortName": "UpdateCatalogItem" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_async", + "file": "recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_async.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_UpdateCatalogItem_async", "segments": [ { "end": 50, @@ -495,8 +495,8 @@ "shortName": "UpdateCatalogItem" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_catalog_service_update_catalog_item_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_CatalogService_UpdateCatalogItem_sync", + "file": "recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_CatalogService_UpdateCatalogItem_sync", "segments": [ { "end": 50, @@ -540,8 +540,8 @@ "shortName": "CreatePredictionApiKeyRegistration" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_async", + "file": "recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_async.py", + "regionTag": "recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_async", "segments": [ { "end": 44, @@ -584,8 +584,8 @@ "shortName": "CreatePredictionApiKeyRegistration" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_create_prediction_api_key_registration_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_sync", + "file": "recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_CreatePredictionApiKeyRegistration_sync", "segments": [ { "end": 44, @@ -629,8 +629,8 @@ "shortName": "DeletePredictionApiKeyRegistration" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_async", + "file": "recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_async.py", + "regionTag": "recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_async", "segments": [ { "end": 42, @@ -671,8 +671,8 @@ "shortName": "DeletePredictionApiKeyRegistration" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_sync", + "file": "recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_DeletePredictionApiKeyRegistration_sync", "segments": [ { "end": 42, @@ -714,8 +714,8 @@ "shortName": "ListPredictionApiKeyRegistrations" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_async", + "file": "recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_async.py", + "regionTag": "recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_async", "segments": [ { "end": 45, @@ -758,8 +758,8 @@ "shortName": "ListPredictionApiKeyRegistrations" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_sync", + "file": "recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_PredictionApiKeyRegistry_ListPredictionApiKeyRegistrations_sync", "segments": [ { "end": 45, @@ -803,8 +803,8 @@ "shortName": "Predict" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_async", + "file": "recommendationengine_v1beta1_generated_prediction_service_predict_async.py", + "regionTag": "recommendationengine_v1beta1_generated_PredictionService_Predict_async", "segments": [ { "end": 50, @@ -847,8 +847,8 @@ "shortName": "Predict" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_prediction_service_predict_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_PredictionService_Predict_sync", + "file": "recommendationengine_v1beta1_generated_prediction_service_predict_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_PredictionService_Predict_sync", "segments": [ { "end": 50, @@ -892,8 +892,8 @@ "shortName": "CollectUserEvent" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_async", + "file": "recommendationengine_v1beta1_generated_user_event_service_collect_user_event_async.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_CollectUserEvent_async", "segments": [ { "end": 45, @@ -936,8 +936,8 @@ "shortName": "CollectUserEvent" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_collect_user_event_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_CollectUserEvent_sync", + "file": "recommendationengine_v1beta1_generated_user_event_service_collect_user_event_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_CollectUserEvent_sync", "segments": [ { "end": 45, @@ -981,8 +981,8 @@ "shortName": "ImportUserEvents" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_async", + "file": "recommendationengine_v1beta1_generated_user_event_service_import_user_events_async.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_ImportUserEvents_async", "segments": [ { "end": 48, @@ -1025,8 +1025,8 @@ "shortName": "ImportUserEvents" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_import_user_events_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ImportUserEvents_sync", + "file": "recommendationengine_v1beta1_generated_user_event_service_import_user_events_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_ImportUserEvents_sync", "segments": [ { "end": 48, @@ -1070,8 +1070,8 @@ "shortName": "ListUserEvents" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_async", + "file": "recommendationengine_v1beta1_generated_user_event_service_list_user_events_async.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_ListUserEvents_async", "segments": [ { "end": 45, @@ -1114,8 +1114,8 @@ "shortName": "ListUserEvents" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_list_user_events_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_ListUserEvents_sync", + "file": "recommendationengine_v1beta1_generated_user_event_service_list_user_events_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_ListUserEvents_sync", "segments": [ { "end": 45, @@ -1159,8 +1159,8 @@ "shortName": "PurgeUserEvents" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_async", + "file": "recommendationengine_v1beta1_generated_user_event_service_purge_user_events_async.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_PurgeUserEvents_async", "segments": [ { "end": 49, @@ -1203,8 +1203,8 @@ "shortName": "PurgeUserEvents" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_purge_user_events_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_PurgeUserEvents_sync", + "file": "recommendationengine_v1beta1_generated_user_event_service_purge_user_events_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_PurgeUserEvents_sync", "segments": [ { "end": 49, @@ -1248,8 +1248,8 @@ "shortName": "WriteUserEvent" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_async.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_async", + "file": "recommendationengine_v1beta1_generated_user_event_service_write_user_event_async.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_WriteUserEvent_async", "segments": [ { "end": 49, @@ -1292,8 +1292,8 @@ "shortName": "WriteUserEvent" } }, - "file": "recommendationengine_generated_recommendationengine_v1beta1_user_event_service_write_user_event_sync.py", - "regionTag": "recommendationengine_generated_recommendationengine_v1beta1_UserEventService_WriteUserEvent_sync", + "file": "recommendationengine_v1beta1_generated_user_event_service_write_user_event_sync.py", + "regionTag": "recommendationengine_v1beta1_generated_UserEventService_WriteUserEvent_sync", "segments": [ { "end": 49, From b7d8a041331adb2683ab0a4bd9b9c58d036deed3 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 26 Feb 2022 05:29:29 -0500 Subject: [PATCH 16/17] chore: update copyright year to 2022 (#124) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: update copyright year to 2022 PiperOrigin-RevId: 431037888 Source-Link: https://github.com/googleapis/googleapis/commit/b3397f5febbf21dfc69b875ddabaf76bee765058 Source-Link: https://github.com/googleapis/googleapis-gen/commit/510b54e1cdefd53173984df16645081308fe897e Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTEwYjU0ZTFjZGVmZDUzMTczOTg0ZGYxNjY0NTA4MTMwOGZlODk3ZSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- google/cloud/recommendationengine/__init__.py | 2 +- google/cloud/recommendationengine_v1beta1/__init__.py | 2 +- google/cloud/recommendationengine_v1beta1/services/__init__.py | 2 +- .../services/catalog_service/__init__.py | 2 +- .../services/catalog_service/async_client.py | 2 +- .../services/catalog_service/client.py | 2 +- .../services/catalog_service/pagers.py | 2 +- .../services/catalog_service/transports/__init__.py | 2 +- .../services/catalog_service/transports/base.py | 2 +- .../services/catalog_service/transports/grpc.py | 2 +- .../services/catalog_service/transports/grpc_asyncio.py | 2 +- .../services/prediction_api_key_registry/__init__.py | 2 +- .../services/prediction_api_key_registry/async_client.py | 2 +- .../services/prediction_api_key_registry/client.py | 2 +- .../services/prediction_api_key_registry/pagers.py | 2 +- .../services/prediction_api_key_registry/transports/__init__.py | 2 +- .../services/prediction_api_key_registry/transports/base.py | 2 +- .../services/prediction_api_key_registry/transports/grpc.py | 2 +- .../prediction_api_key_registry/transports/grpc_asyncio.py | 2 +- .../services/prediction_service/__init__.py | 2 +- .../services/prediction_service/async_client.py | 2 +- .../services/prediction_service/client.py | 2 +- .../services/prediction_service/pagers.py | 2 +- .../services/prediction_service/transports/__init__.py | 2 +- .../services/prediction_service/transports/base.py | 2 +- .../services/prediction_service/transports/grpc.py | 2 +- .../services/prediction_service/transports/grpc_asyncio.py | 2 +- .../services/user_event_service/__init__.py | 2 +- .../services/user_event_service/async_client.py | 2 +- .../services/user_event_service/client.py | 2 +- .../services/user_event_service/pagers.py | 2 +- .../services/user_event_service/transports/__init__.py | 2 +- .../services/user_event_service/transports/base.py | 2 +- .../services/user_event_service/transports/grpc.py | 2 +- .../services/user_event_service/transports/grpc_asyncio.py | 2 +- google/cloud/recommendationengine_v1beta1/types/__init__.py | 2 +- google/cloud/recommendationengine_v1beta1/types/catalog.py | 2 +- .../cloud/recommendationengine_v1beta1/types/catalog_service.py | 2 +- google/cloud/recommendationengine_v1beta1/types/common.py | 2 +- google/cloud/recommendationengine_v1beta1/types/import_.py | 2 +- .../types/prediction_apikey_registry_service.py | 2 +- .../recommendationengine_v1beta1/types/prediction_service.py | 2 +- .../types/recommendationengine_resources.py | 2 +- google/cloud/recommendationengine_v1beta1/types/user_event.py | 2 +- .../recommendationengine_v1beta1/types/user_event_service.py | 2 +- ...beta1_generated_catalog_service_create_catalog_item_async.py | 2 +- ...1beta1_generated_catalog_service_create_catalog_item_sync.py | 2 +- ...beta1_generated_catalog_service_delete_catalog_item_async.py | 2 +- ...1beta1_generated_catalog_service_delete_catalog_item_sync.py | 2 +- ..._v1beta1_generated_catalog_service_get_catalog_item_async.py | 2 +- ...e_v1beta1_generated_catalog_service_get_catalog_item_sync.py | 2 +- ...eta1_generated_catalog_service_import_catalog_items_async.py | 2 +- ...beta1_generated_catalog_service_import_catalog_items_sync.py | 2 +- ...1beta1_generated_catalog_service_list_catalog_items_async.py | 2 +- ...v1beta1_generated_catalog_service_list_catalog_items_sync.py | 2 +- ...beta1_generated_catalog_service_update_catalog_item_async.py | 2 +- ...1beta1_generated_catalog_service_update_catalog_item_sync.py | 2 +- ...key_registry_create_prediction_api_key_registration_async.py | 2 +- ..._key_registry_create_prediction_api_key_registration_sync.py | 2 +- ...key_registry_delete_prediction_api_key_registration_async.py | 2 +- ..._key_registry_delete_prediction_api_key_registration_sync.py | 2 +- ..._key_registry_list_prediction_api_key_registrations_async.py | 2 +- ...i_key_registry_list_prediction_api_key_registrations_sync.py | 2 +- ...engine_v1beta1_generated_prediction_service_predict_async.py | 2 +- ...nengine_v1beta1_generated_prediction_service_predict_sync.py | 2 +- ...ta1_generated_user_event_service_collect_user_event_async.py | 2 +- ...eta1_generated_user_event_service_collect_user_event_sync.py | 2 +- ...ta1_generated_user_event_service_import_user_events_async.py | 2 +- ...eta1_generated_user_event_service_import_user_events_sync.py | 2 +- ...beta1_generated_user_event_service_list_user_events_async.py | 2 +- ...1beta1_generated_user_event_service_list_user_events_sync.py | 2 +- ...eta1_generated_user_event_service_purge_user_events_async.py | 2 +- ...beta1_generated_user_event_service_purge_user_events_sync.py | 2 +- ...beta1_generated_user_event_service_write_user_event_async.py | 2 +- ...1beta1_generated_user_event_service_write_user_event_sync.py | 2 +- scripts/fixup_recommendationengine_v1beta1_keywords.py | 2 +- tests/__init__.py | 2 +- tests/unit/__init__.py | 2 +- tests/unit/gapic/__init__.py | 2 +- tests/unit/gapic/recommendationengine_v1beta1/__init__.py | 2 +- .../gapic/recommendationengine_v1beta1/test_catalog_service.py | 2 +- .../test_prediction_api_key_registry.py | 2 +- .../recommendationengine_v1beta1/test_prediction_service.py | 2 +- .../recommendationengine_v1beta1/test_user_event_service.py | 2 +- 84 files changed, 84 insertions(+), 84 deletions(-) diff --git a/google/cloud/recommendationengine/__init__.py b/google/cloud/recommendationengine/__init__.py index dd05f669..05035b91 100644 --- a/google/cloud/recommendationengine/__init__.py +++ b/google/cloud/recommendationengine/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/__init__.py b/google/cloud/recommendationengine_v1beta1/__init__.py index f29eede5..126a2331 100644 --- a/google/cloud/recommendationengine_v1beta1/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/__init__.py b/google/cloud/recommendationengine_v1beta1/services/__init__.py index 4de65971..e8e1c384 100644 --- a/google/cloud/recommendationengine_v1beta1/services/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/services/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/__init__.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/__init__.py index 12f0071a..dcec94d4 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py index 65991fc3..a7f67de8 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/async_client.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py index ce1afa20..3980674e 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/client.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/pagers.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/pagers.py index 490750e2..79dbe217 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/pagers.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/pagers.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/__init__.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/__init__.py index fc02f5f3..6b59e070 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py index bf37495f..65f1bd79 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/base.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py index 1189d501..e356ef61 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py index 8a8432fc..c8079ae8 100644 --- a/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/catalog_service/transports/grpc_asyncio.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/__init__.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/__init__.py index c0a8178d..caa0e09a 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py index 3f11a324..b4aeee73 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/async_client.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py index 67d45ba8..8b457520 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/client.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/pagers.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/pagers.py index cb502a10..c658450f 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/pagers.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/pagers.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/__init__.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/__init__.py index 5f9a2a13..4662b6db 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py index c1260e1f..24b6a10f 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/base.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py index 79454b64..8ae1d305 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py index 419e7413..5eb49e8f 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_api_key_registry/transports/grpc_asyncio.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/__init__.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/__init__.py index 12491bb1..d5ecd0dd 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py index 62da9c3c..07a39569 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/async_client.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py index 1931aaa8..bb41a348 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/client.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/pagers.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/pagers.py index 73946202..9d4d53ed 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/pagers.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/pagers.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/__init__.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/__init__.py index 86d2e8a7..3b81984d 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py index 21cfb5ba..6eb54c95 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/base.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py index 783a6bf4..e4db259c 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py index 876423b7..4502a535 100644 --- a/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/prediction_service/transports/grpc_asyncio.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/__init__.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/__init__.py index 5d067fc3..f7ce3d76 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py index 80ba9331..55dbfa7f 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/async_client.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py index bc064ab0..4cb8a18f 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/client.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/pagers.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/pagers.py index a176abd7..7cd2bf65 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/pagers.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/pagers.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/__init__.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/__init__.py index 4c90ca7e..a64577a7 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py index 83297af2..ccfb7cac 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/base.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py index 82ef567f..a55c231c 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py index 23dd1fea..ea022ea3 100644 --- a/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py +++ b/google/cloud/recommendationengine_v1beta1/services/user_event_service/transports/grpc_asyncio.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/__init__.py b/google/cloud/recommendationengine_v1beta1/types/__init__.py index 895d1c28..355c7890 100644 --- a/google/cloud/recommendationengine_v1beta1/types/__init__.py +++ b/google/cloud/recommendationengine_v1beta1/types/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/catalog.py b/google/cloud/recommendationengine_v1beta1/types/catalog.py index d75e2827..c4fa5f31 100644 --- a/google/cloud/recommendationengine_v1beta1/types/catalog.py +++ b/google/cloud/recommendationengine_v1beta1/types/catalog.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/catalog_service.py b/google/cloud/recommendationengine_v1beta1/types/catalog_service.py index 1e783e55..96b734d4 100644 --- a/google/cloud/recommendationengine_v1beta1/types/catalog_service.py +++ b/google/cloud/recommendationengine_v1beta1/types/catalog_service.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/common.py b/google/cloud/recommendationengine_v1beta1/types/common.py index 2adbf290..1f43577c 100644 --- a/google/cloud/recommendationengine_v1beta1/types/common.py +++ b/google/cloud/recommendationengine_v1beta1/types/common.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/import_.py b/google/cloud/recommendationengine_v1beta1/types/import_.py index 96cb4606..e0d798d9 100644 --- a/google/cloud/recommendationengine_v1beta1/types/import_.py +++ b/google/cloud/recommendationengine_v1beta1/types/import_.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/prediction_apikey_registry_service.py b/google/cloud/recommendationengine_v1beta1/types/prediction_apikey_registry_service.py index 1acea0a9..003edc71 100644 --- a/google/cloud/recommendationengine_v1beta1/types/prediction_apikey_registry_service.py +++ b/google/cloud/recommendationengine_v1beta1/types/prediction_apikey_registry_service.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/prediction_service.py b/google/cloud/recommendationengine_v1beta1/types/prediction_service.py index 5ffa0f11..ae51ef75 100644 --- a/google/cloud/recommendationengine_v1beta1/types/prediction_service.py +++ b/google/cloud/recommendationengine_v1beta1/types/prediction_service.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/recommendationengine_resources.py b/google/cloud/recommendationengine_v1beta1/types/recommendationengine_resources.py index 29a95c74..167f688d 100644 --- a/google/cloud/recommendationengine_v1beta1/types/recommendationengine_resources.py +++ b/google/cloud/recommendationengine_v1beta1/types/recommendationengine_resources.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/user_event.py b/google/cloud/recommendationengine_v1beta1/types/user_event.py index bb913090..be5331ad 100644 --- a/google/cloud/recommendationengine_v1beta1/types/user_event.py +++ b/google/cloud/recommendationengine_v1beta1/types/user_event.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/recommendationengine_v1beta1/types/user_event_service.py b/google/cloud/recommendationengine_v1beta1/types/user_event_service.py index 05b14d11..c23ea78b 100644 --- a/google/cloud/recommendationengine_v1beta1/types/user_event_service.py +++ b/google/cloud/recommendationengine_v1beta1/types/user_event_service.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_async.py index b8391649..983ce382 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_sync.py index baa42d8f..19fced84 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_create_catalog_item_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_async.py index 8a8221e3..1b9e12c4 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_sync.py index 09dee302..5457ec85 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_delete_catalog_item_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_async.py index 9f3b3ea4..f3bafb32 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_sync.py index 3de68026..1a9dda6a 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_get_catalog_item_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_async.py index 4e428591..18293d52 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_sync.py index 4e0b8c2b..79f5a34e 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_import_catalog_items_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_async.py index 306f4a16..abcb06ec 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_sync.py index 9e5ac620..dbf9fe78 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_list_catalog_items_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_async.py index 12d34e07..9217f6a5 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_sync.py index c5ce20f8..36ac1a7d 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_catalog_service_update_catalog_item_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_async.py index 6eacac50..7df31e02 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_sync.py index e89838e9..46f66db3 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_create_prediction_api_key_registration_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_async.py index 1108b17b..3613e294 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py index ccc8909b..ee042845 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_delete_prediction_api_key_registration_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_async.py index 04dcec22..033668f5 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py index 1e95b6c2..da57e548 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_api_key_registry_list_prediction_api_key_registrations_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_async.py index d81bb6f6..e7e6e709 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_sync.py index f6351e74..3599e87b 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_prediction_service_predict_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_async.py index 20478d92..5864d0c7 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_sync.py index f81dc563..79e3a7cf 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_collect_user_event_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_async.py index 484196ee..74ce6bba 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_sync.py index c388342b..9fed9ad4 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_import_user_events_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_async.py index 48563273..3f069746 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_sync.py index ff2d3b20..d5fbaae5 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_list_user_events_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_async.py index e1814cad..704776e0 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_sync.py index d9553ac4..ef7cf9d2 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_purge_user_events_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_async.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_async.py index e6e814cd..aad5174f 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_async.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_async.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_sync.py b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_sync.py index 5a4f1157..cee1ebab 100644 --- a/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_sync.py +++ b/samples/generated_samples/recommendationengine_v1beta1_generated_user_event_service_write_user_event_sync.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/scripts/fixup_recommendationengine_v1beta1_keywords.py b/scripts/fixup_recommendationengine_v1beta1_keywords.py index 6bb5115d..721daf79 100644 --- a/scripts/fixup_recommendationengine_v1beta1_keywords.py +++ b/scripts/fixup_recommendationengine_v1beta1_keywords.py @@ -1,6 +1,6 @@ #! /usr/bin/env python3 # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tests/__init__.py b/tests/__init__.py index 4de65971..e8e1c384 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tests/unit/__init__.py b/tests/unit/__init__.py index 4de65971..e8e1c384 100644 --- a/tests/unit/__init__.py +++ b/tests/unit/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tests/unit/gapic/__init__.py b/tests/unit/gapic/__init__.py index 4de65971..e8e1c384 100644 --- a/tests/unit/gapic/__init__.py +++ b/tests/unit/gapic/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tests/unit/gapic/recommendationengine_v1beta1/__init__.py b/tests/unit/gapic/recommendationengine_v1beta1/__init__.py index 4de65971..e8e1c384 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/__init__.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py index 68f907d9..c803293a 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_catalog_service.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py index 15f26cb6..308eb44c 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_api_key_registry.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py index 20de9ef4..a065960f 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_prediction_service.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py index 0b1bf87c..699b1afc 100644 --- a/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py +++ b/tests/unit/gapic/recommendationengine_v1beta1/test_user_event_service.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2020 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. From 1d912b53ee64db0a7067d137ce9ef93a3945c4db Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 28 Feb 2022 17:39:32 -0500 Subject: [PATCH 17/17] chore(main): release 0.6.0 (#118) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 17 +++++++++++++++++ setup.py | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 99746dab..1aa5d0f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog +## [0.6.0](https://github.com/googleapis/python-recommendations-ai/compare/v0.5.1...v0.6.0) (2022-02-26) + + +### Features + +* add api key support ([#117](https://github.com/googleapis/python-recommendations-ai/issues/117)) ([40e4a78](https://github.com/googleapis/python-recommendations-ai/commit/40e4a783868ad748de36df77a3bca4c320bae41a)) + + +### Bug Fixes + +* resolve DuplicateCredentialArgs error when using credentials_file ([175da64](https://github.com/googleapis/python-recommendations-ai/commit/175da64cd9f6d4de184dd6cd4c304845318e9b6f)) + + +### Documentation + +* add generated snippets ([#122](https://github.com/googleapis/python-recommendations-ai/issues/122)) ([eebbeb6](https://github.com/googleapis/python-recommendations-ai/commit/eebbeb618b6dc62a1103cb6b3cbc9df65630fff3)) + ### [0.5.1](https://www.github.com/googleapis/python-recommendations-ai/compare/v0.5.0...v0.5.1) (2021-11-01) diff --git a/setup.py b/setup.py index a2a2ba45..f459c578 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ import os import setuptools # type: ignore -version = "0.5.1" +version = "0.6.0" package_root = os.path.abspath(os.path.dirname(__file__))