diff --git a/google/cloud/metastore_v1/services/dataproc_metastore/async_client.py b/google/cloud/metastore_v1/services/dataproc_metastore/async_client.py index 54e979e..8dee0be 100644 --- a/google/cloud/metastore_v1/services/dataproc_metastore/async_client.py +++ b/google/cloud/metastore_v1/services/dataproc_metastore/async_client.py @@ -19,13 +19,15 @@ from typing import Dict, Sequence, Tuple, Type, Union import pkg_resources -import google.api_core.client_options as ClientOptions # type: ignore +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.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.metastore_v1.services.dataproc_metastore import pagers @@ -198,17 +200,17 @@ def __init__( async def list_services( self, - request: metastore.ListServicesRequest = None, + request: Union[metastore.ListServicesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListServicesAsyncPager: r"""Lists services in a project and location. Args: - request (:class:`google.cloud.metastore_v1.types.ListServicesRequest`): + request (Union[google.cloud.metastore_v1.types.ListServicesRequest, dict]): The request object. Request message for [DataprocMetastore.ListServices][google.cloud.metastore.v1.DataprocMetastore.ListServices]. parent (:class:`str`): @@ -280,17 +282,17 @@ async def list_services( async def get_service( self, - request: metastore.GetServiceRequest = None, + request: Union[metastore.GetServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Service: r"""Gets the details of a single service. Args: - request (:class:`google.cloud.metastore_v1.types.GetServiceRequest`): + request (Union[google.cloud.metastore_v1.types.GetServiceRequest, dict]): The request object. Request message for [DataprocMetastore.GetService][google.cloud.metastore.v1.DataprocMetastore.GetService]. name (:class:`str`): @@ -353,12 +355,12 @@ async def get_service( async def create_service( self, - request: metastore.CreateServiceRequest = None, + request: Union[metastore.CreateServiceRequest, dict] = None, *, parent: str = None, service: metastore.Service = None, service_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -366,7 +368,7 @@ async def create_service( location. Args: - request (:class:`google.cloud.metastore_v1.types.CreateServiceRequest`): + request (Union[google.cloud.metastore_v1.types.CreateServiceRequest, dict]): The request object. Request message for [DataprocMetastore.CreateService][google.cloud.metastore.v1.DataprocMetastore.CreateService]. parent (:class:`str`): @@ -468,18 +470,18 @@ async def create_service( async def update_service( self, - request: metastore.UpdateServiceRequest = None, + request: Union[metastore.UpdateServiceRequest, dict] = None, *, service: metastore.Service = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Updates the parameters of a single service. Args: - request (:class:`google.cloud.metastore_v1.types.UpdateServiceRequest`): + request (Union[google.cloud.metastore_v1.types.UpdateServiceRequest, dict]): The request object. Request message for [DataprocMetastore.UpdateService][google.cloud.metastore.v1.DataprocMetastore.UpdateService]. service (:class:`google.cloud.metastore_v1.types.Service`): @@ -569,17 +571,17 @@ async def update_service( async def delete_service( self, - request: metastore.DeleteServiceRequest = None, + request: Union[metastore.DeleteServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes a single service. Args: - request (:class:`google.cloud.metastore_v1.types.DeleteServiceRequest`): + request (Union[google.cloud.metastore_v1.types.DeleteServiceRequest, dict]): The request object. Request message for [DataprocMetastore.DeleteService][google.cloud.metastore.v1.DataprocMetastore.DeleteService]. name (:class:`str`): @@ -663,17 +665,17 @@ async def delete_service( async def list_metadata_imports( self, - request: metastore.ListMetadataImportsRequest = None, + request: Union[metastore.ListMetadataImportsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListMetadataImportsAsyncPager: r"""Lists imports in a service. Args: - request (:class:`google.cloud.metastore_v1.types.ListMetadataImportsRequest`): + request (Union[google.cloud.metastore_v1.types.ListMetadataImportsRequest, dict]): The request object. Request message for [DataprocMetastore.ListMetadataImports][google.cloud.metastore.v1.DataprocMetastore.ListMetadataImports]. parent (:class:`str`): @@ -745,17 +747,17 @@ async def list_metadata_imports( async def get_metadata_import( self, - request: metastore.GetMetadataImportRequest = None, + request: Union[metastore.GetMetadataImportRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.MetadataImport: r"""Gets details of a single import. Args: - request (:class:`google.cloud.metastore_v1.types.GetMetadataImportRequest`): + request (Union[google.cloud.metastore_v1.types.GetMetadataImportRequest, dict]): The request object. Request message for [DataprocMetastore.GetMetadataImport][google.cloud.metastore.v1.DataprocMetastore.GetMetadataImport]. name (:class:`str`): @@ -818,12 +820,12 @@ async def get_metadata_import( async def create_metadata_import( self, - request: metastore.CreateMetadataImportRequest = None, + request: Union[metastore.CreateMetadataImportRequest, dict] = None, *, parent: str = None, metadata_import: metastore.MetadataImport = None, metadata_import_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -831,7 +833,7 @@ async def create_metadata_import( location. Args: - request (:class:`google.cloud.metastore_v1.types.CreateMetadataImportRequest`): + request (Union[google.cloud.metastore_v1.types.CreateMetadataImportRequest, dict]): The request object. Request message for [DataprocMetastore.CreateMetadataImport][google.cloud.metastore.v1.DataprocMetastore.CreateMetadataImport]. parent (:class:`str`): @@ -932,11 +934,11 @@ async def create_metadata_import( async def update_metadata_import( self, - request: metastore.UpdateMetadataImportRequest = None, + request: Union[metastore.UpdateMetadataImportRequest, dict] = None, *, metadata_import: metastore.MetadataImport = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -945,7 +947,7 @@ async def update_metadata_import( supported to be updated. Args: - request (:class:`google.cloud.metastore_v1.types.UpdateMetadataImportRequest`): + request (Union[google.cloud.metastore_v1.types.UpdateMetadataImportRequest, dict]): The request object. Request message for [DataprocMetastore.UpdateMetadataImport][google.cloud.metastore.v1.DataprocMetastore.UpdateMetadataImport]. metadata_import (:class:`google.cloud.metastore_v1.types.MetadataImport`): @@ -1035,16 +1037,16 @@ async def update_metadata_import( async def export_metadata( self, - request: metastore.ExportMetadataRequest = None, + request: Union[metastore.ExportMetadataRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Exports metadata from a service. Args: - request (:class:`google.cloud.metastore_v1.types.ExportMetadataRequest`): + request (Union[google.cloud.metastore_v1.types.ExportMetadataRequest, dict]): The request object. Request message for [DataprocMetastore.ExportMetadata][google.cloud.metastore.v1.DataprocMetastore.ExportMetadata]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1095,18 +1097,18 @@ async def export_metadata( async def restore_service( self, - request: metastore.RestoreServiceRequest = None, + request: Union[metastore.RestoreServiceRequest, dict] = None, *, service: str = None, backup: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Restores a service from a backup. Args: - request (:class:`google.cloud.metastore_v1.types.RestoreServiceRequest`): + request (Union[google.cloud.metastore_v1.types.RestoreServiceRequest, dict]): The request object. Request message for [DataprocMetastore.Restore][]. service (:class:`str`): @@ -1191,17 +1193,17 @@ async def restore_service( async def list_backups( self, - request: metastore.ListBackupsRequest = None, + request: Union[metastore.ListBackupsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListBackupsAsyncPager: r"""Lists backups in a service. Args: - request (:class:`google.cloud.metastore_v1.types.ListBackupsRequest`): + request (Union[google.cloud.metastore_v1.types.ListBackupsRequest, dict]): The request object. Request message for [DataprocMetastore.ListBackups][google.cloud.metastore.v1.DataprocMetastore.ListBackups]. parent (:class:`str`): @@ -1273,17 +1275,17 @@ async def list_backups( async def get_backup( self, - request: metastore.GetBackupRequest = None, + request: Union[metastore.GetBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Backup: r"""Gets details of a single backup. Args: - request (:class:`google.cloud.metastore_v1.types.GetBackupRequest`): + request (Union[google.cloud.metastore_v1.types.GetBackupRequest, dict]): The request object. Request message for [DataprocMetastore.GetBackup][google.cloud.metastore.v1.DataprocMetastore.GetBackup]. name (:class:`str`): @@ -1344,19 +1346,19 @@ async def get_backup( async def create_backup( self, - request: metastore.CreateBackupRequest = None, + request: Union[metastore.CreateBackupRequest, dict] = None, *, parent: str = None, backup: metastore.Backup = None, backup_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Creates a new backup in a given project and location. Args: - request (:class:`google.cloud.metastore_v1.types.CreateBackupRequest`): + request (Union[google.cloud.metastore_v1.types.CreateBackupRequest, dict]): The request object. Request message for [DataprocMetastore.CreateBackup][google.cloud.metastore.v1.DataprocMetastore.CreateBackup]. parent (:class:`str`): @@ -1455,17 +1457,17 @@ async def create_backup( async def delete_backup( self, - request: metastore.DeleteBackupRequest = None, + request: Union[metastore.DeleteBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes a single backup. Args: - request (:class:`google.cloud.metastore_v1.types.DeleteBackupRequest`): + request (Union[google.cloud.metastore_v1.types.DeleteBackupRequest, dict]): The request object. Request message for [DataprocMetastore.DeleteBackup][google.cloud.metastore.v1.DataprocMetastore.DeleteBackup]. name (:class:`str`): diff --git a/google/cloud/metastore_v1/services/dataproc_metastore/client.py b/google/cloud/metastore_v1/services/dataproc_metastore/client.py index 03f1dc7..0af77fb 100644 --- a/google/cloud/metastore_v1/services/dataproc_metastore/client.py +++ b/google/cloud/metastore_v1/services/dataproc_metastore/client.py @@ -30,6 +30,8 @@ from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.metastore_v1.services.dataproc_metastore import pagers @@ -433,7 +435,7 @@ def list_services( request: Union[metastore.ListServicesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListServicesPager: @@ -515,7 +517,7 @@ def get_service( request: Union[metastore.GetServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Service: @@ -590,7 +592,7 @@ def create_service( parent: str = None, service: metastore.Service = None, service_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -704,7 +706,7 @@ def update_service( *, service: metastore.Service = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -804,7 +806,7 @@ def delete_service( request: Union[metastore.DeleteServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -898,7 +900,7 @@ def list_metadata_imports( request: Union[metastore.ListMetadataImportsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListMetadataImportsPager: @@ -980,7 +982,7 @@ def get_metadata_import( request: Union[metastore.GetMetadataImportRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.MetadataImport: @@ -1055,7 +1057,7 @@ def create_metadata_import( parent: str = None, metadata_import: metastore.MetadataImport = None, metadata_import_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1168,7 +1170,7 @@ def update_metadata_import( *, metadata_import: metastore.MetadataImport = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1269,7 +1271,7 @@ def export_metadata( self, request: Union[metastore.ExportMetadataRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1332,7 +1334,7 @@ def restore_service( *, service: str = None, backup: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1427,7 +1429,7 @@ def list_backups( request: Union[metastore.ListBackupsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListBackupsPager: @@ -1509,7 +1511,7 @@ def get_backup( request: Union[metastore.GetBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Backup: @@ -1582,7 +1584,7 @@ def create_backup( parent: str = None, backup: metastore.Backup = None, backup_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1691,7 +1693,7 @@ def delete_backup( request: Union[metastore.DeleteBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: diff --git a/google/cloud/metastore_v1/services/dataproc_metastore/transports/base.py b/google/cloud/metastore_v1/services/dataproc_metastore/transports/base.py index a366f07..76cb046 100644 --- a/google/cloud/metastore_v1/services/dataproc_metastore/transports/base.py +++ b/google/cloud/metastore_v1/services/dataproc_metastore/transports/base.py @@ -15,7 +15,6 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import packaging.version import pkg_resources import google.auth # type: ignore @@ -37,15 +36,6 @@ except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() -try: - # google.auth.__version__ was added in 1.26.0 - _GOOGLE_AUTH_VERSION = google.auth.__version__ -except AttributeError: - try: # try pkg_resources if it is available - _GOOGLE_AUTH_VERSION = pkg_resources.get_distribution("google-auth").version - except pkg_resources.DistributionNotFound: # pragma: NO COVER - _GOOGLE_AUTH_VERSION = None - class DataprocMetastoreTransport(abc.ABC): """Abstract transport class for DataprocMetastore.""" @@ -95,7 +85,7 @@ def __init__( host += ":443" self._host = host - scopes_kwargs = self._get_scopes_kwargs(self._host, scopes) + scopes_kwargs = {"scopes": scopes, "default_scopes": self.AUTH_SCOPES} # Save the scopes. self._scopes = scopes @@ -128,29 +118,6 @@ def __init__( # Save the credentials. self._credentials = credentials - # TODO(busunkim): This method is in the base transport - # to avoid duplicating code across the transport classes. These functions - # should be deleted once the minimum required versions of google-auth is increased. - - # TODO: Remove this function once google-auth >= 1.25.0 is required - @classmethod - def _get_scopes_kwargs( - cls, host: str, scopes: Optional[Sequence[str]] - ) -> Dict[str, Optional[Sequence[str]]]: - """Returns scopes kwargs to pass to google-auth methods depending on the google-auth version""" - - scopes_kwargs = {} - - if _GOOGLE_AUTH_VERSION and ( - packaging.version.parse(_GOOGLE_AUTH_VERSION) - >= packaging.version.parse("1.25.0") - ): - scopes_kwargs = {"scopes": scopes, "default_scopes": cls.AUTH_SCOPES} - else: - scopes_kwargs = {"scopes": scopes or cls.AUTH_SCOPES} - - return scopes_kwargs - def _prep_wrapped_messages(self, client_info): # Precompute the wrapped methods. self._wrapped_methods = { @@ -217,7 +184,7 @@ def close(self): raise NotImplementedError() @property - def operations_client(self) -> operations_v1.OperationsClient: + def operations_client(self): """Return the client designed to process long-running operations.""" raise NotImplementedError() diff --git a/google/cloud/metastore_v1/services/dataproc_metastore/transports/grpc.py b/google/cloud/metastore_v1/services/dataproc_metastore/transports/grpc.py index f47bb38..043911d 100644 --- a/google/cloud/metastore_v1/services/dataproc_metastore/transports/grpc.py +++ b/google/cloud/metastore_v1/services/dataproc_metastore/transports/grpc.py @@ -133,7 +133,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/google/cloud/metastore_v1/services/dataproc_metastore/transports/grpc_asyncio.py b/google/cloud/metastore_v1/services/dataproc_metastore/transports/grpc_asyncio.py index 8a169ad..1408229 100644 --- a/google/cloud/metastore_v1/services/dataproc_metastore/transports/grpc_asyncio.py +++ b/google/cloud/metastore_v1/services/dataproc_metastore/transports/grpc_asyncio.py @@ -21,7 +21,6 @@ from google.api_core import operations_v1 # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore -import packaging.version import grpc # type: ignore from grpc.experimental import aio # type: ignore @@ -180,7 +179,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsAsyncClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/google/cloud/metastore_v1/types/metastore.py b/google/cloud/metastore_v1/types/metastore.py index 5d005a3..6d4d518 100644 --- a/google/cloud/metastore_v1/types/metastore.py +++ b/google/cloud/metastore_v1/types/metastore.py @@ -62,11 +62,14 @@ class Service(proto.Message): r"""A managed metastore service that serves metadata queries. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: hive_metastore_config (google.cloud.metastore_v1.types.HiveMetastoreConfig): Configuration information specific to running Hive metastore software as the metastore service. + This field is a member of `oneof`_ ``metastore_config``. name (str): Immutable. The relative resource name of the metastore service, of the form: @@ -245,12 +248,15 @@ class KerberosConfig(proto.Message): class Secret(proto.Message): r"""A securely stored value. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: cloud_secret (str): The relative resource name of a Secret Manager secret version, in the following form: ``projects/{project_number}/secrets/{secret_id}/versions/{version_id}``. + This field is a member of `oneof`_ ``value``. """ cloud_secret = proto.Field(proto.STRING, number=2, oneof="value",) @@ -277,10 +283,13 @@ class MetadataManagementActivity(proto.Message): class MetadataImport(proto.Message): r"""A metastore resource that imports metadata. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: database_dump (google.cloud.metastore_v1.types.MetadataImport.DatabaseDump): Immutable. A database dump from a pre- xisting metastore's database. + This field is a member of `oneof`_ ``metadata``. name (str): Immutable. The relative resource name of the metadata import, of the form: @@ -351,12 +360,15 @@ class DatabaseType(proto.Enum): class MetadataExport(proto.Message): r"""The details of a metadata export operation. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: destination_gcs_uri (str): Output only. A Cloud Storage URI of a folder that metadata are exported to, in the form of ``gs:////``, where ```` is automatically generated. + This field is a member of `oneof`_ ``destination``. start_time (google.protobuf.timestamp_pb2.Timestamp): Output only. The time when the export started. @@ -1020,12 +1032,16 @@ class ExportMetadataRequest(proto.Message): r"""Request message for [DataprocMetastore.ExportMetadata][google.cloud.metastore.v1.DataprocMetastore.ExportMetadata]. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: destination_gcs_folder (str): A Cloud Storage URI of a folder, in the format ``gs:///``. A sub-folder ```` containing exported files will be created below it. + This field is a member of `oneof`_ ``destination``. service (str): Required. The relative resource name of the metastore service to run export, in the following form: diff --git a/google/cloud/metastore_v1alpha/services/dataproc_metastore/async_client.py b/google/cloud/metastore_v1alpha/services/dataproc_metastore/async_client.py index b0c59b9..fdcd0b2 100644 --- a/google/cloud/metastore_v1alpha/services/dataproc_metastore/async_client.py +++ b/google/cloud/metastore_v1alpha/services/dataproc_metastore/async_client.py @@ -19,13 +19,15 @@ from typing import Dict, Sequence, Tuple, Type, Union import pkg_resources -import google.api_core.client_options as ClientOptions # type: ignore +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.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.metastore_v1alpha.services.dataproc_metastore import pagers @@ -199,17 +201,17 @@ def __init__( async def list_services( self, - request: metastore.ListServicesRequest = None, + request: Union[metastore.ListServicesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListServicesAsyncPager: r"""Lists services in a project and location. Args: - request (:class:`google.cloud.metastore_v1alpha.types.ListServicesRequest`): + request (Union[google.cloud.metastore_v1alpha.types.ListServicesRequest, dict]): The request object. Request message for [DataprocMetastore.ListServices][google.cloud.metastore.v1alpha.DataprocMetastore.ListServices]. parent (:class:`str`): @@ -281,17 +283,17 @@ async def list_services( async def get_service( self, - request: metastore.GetServiceRequest = None, + request: Union[metastore.GetServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Service: r"""Gets the details of a single service. Args: - request (:class:`google.cloud.metastore_v1alpha.types.GetServiceRequest`): + request (Union[google.cloud.metastore_v1alpha.types.GetServiceRequest, dict]): The request object. Request message for [DataprocMetastore.GetService][google.cloud.metastore.v1alpha.DataprocMetastore.GetService]. name (:class:`str`): @@ -354,12 +356,12 @@ async def get_service( async def create_service( self, - request: metastore.CreateServiceRequest = None, + request: Union[metastore.CreateServiceRequest, dict] = None, *, parent: str = None, service: metastore.Service = None, service_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -367,7 +369,7 @@ async def create_service( location. Args: - request (:class:`google.cloud.metastore_v1alpha.types.CreateServiceRequest`): + request (Union[google.cloud.metastore_v1alpha.types.CreateServiceRequest, dict]): The request object. Request message for [DataprocMetastore.CreateService][google.cloud.metastore.v1alpha.DataprocMetastore.CreateService]. parent (:class:`str`): @@ -469,18 +471,18 @@ async def create_service( async def update_service( self, - request: metastore.UpdateServiceRequest = None, + request: Union[metastore.UpdateServiceRequest, dict] = None, *, service: metastore.Service = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Updates the parameters of a single service. Args: - request (:class:`google.cloud.metastore_v1alpha.types.UpdateServiceRequest`): + request (Union[google.cloud.metastore_v1alpha.types.UpdateServiceRequest, dict]): The request object. Request message for [DataprocMetastore.UpdateService][google.cloud.metastore.v1alpha.DataprocMetastore.UpdateService]. service (:class:`google.cloud.metastore_v1alpha.types.Service`): @@ -570,17 +572,17 @@ async def update_service( async def delete_service( self, - request: metastore.DeleteServiceRequest = None, + request: Union[metastore.DeleteServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes a single service. Args: - request (:class:`google.cloud.metastore_v1alpha.types.DeleteServiceRequest`): + request (Union[google.cloud.metastore_v1alpha.types.DeleteServiceRequest, dict]): The request object. Request message for [DataprocMetastore.DeleteService][google.cloud.metastore.v1alpha.DataprocMetastore.DeleteService]. name (:class:`str`): @@ -664,17 +666,17 @@ async def delete_service( async def list_metadata_imports( self, - request: metastore.ListMetadataImportsRequest = None, + request: Union[metastore.ListMetadataImportsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListMetadataImportsAsyncPager: r"""Lists imports in a service. Args: - request (:class:`google.cloud.metastore_v1alpha.types.ListMetadataImportsRequest`): + request (Union[google.cloud.metastore_v1alpha.types.ListMetadataImportsRequest, dict]): The request object. Request message for [DataprocMetastore.ListMetadataImports][google.cloud.metastore.v1alpha.DataprocMetastore.ListMetadataImports]. parent (:class:`str`): @@ -746,17 +748,17 @@ async def list_metadata_imports( async def get_metadata_import( self, - request: metastore.GetMetadataImportRequest = None, + request: Union[metastore.GetMetadataImportRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.MetadataImport: r"""Gets details of a single import. Args: - request (:class:`google.cloud.metastore_v1alpha.types.GetMetadataImportRequest`): + request (Union[google.cloud.metastore_v1alpha.types.GetMetadataImportRequest, dict]): The request object. Request message for [DataprocMetastore.GetMetadataImport][google.cloud.metastore.v1alpha.DataprocMetastore.GetMetadataImport]. name (:class:`str`): @@ -819,12 +821,12 @@ async def get_metadata_import( async def create_metadata_import( self, - request: metastore.CreateMetadataImportRequest = None, + request: Union[metastore.CreateMetadataImportRequest, dict] = None, *, parent: str = None, metadata_import: metastore.MetadataImport = None, metadata_import_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -832,7 +834,7 @@ async def create_metadata_import( location. Args: - request (:class:`google.cloud.metastore_v1alpha.types.CreateMetadataImportRequest`): + request (Union[google.cloud.metastore_v1alpha.types.CreateMetadataImportRequest, dict]): The request object. Request message for [DataprocMetastore.CreateMetadataImport][google.cloud.metastore.v1alpha.DataprocMetastore.CreateMetadataImport]. parent (:class:`str`): @@ -933,11 +935,11 @@ async def create_metadata_import( async def update_metadata_import( self, - request: metastore.UpdateMetadataImportRequest = None, + request: Union[metastore.UpdateMetadataImportRequest, dict] = None, *, metadata_import: metastore.MetadataImport = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -946,7 +948,7 @@ async def update_metadata_import( supported to be updated. Args: - request (:class:`google.cloud.metastore_v1alpha.types.UpdateMetadataImportRequest`): + request (Union[google.cloud.metastore_v1alpha.types.UpdateMetadataImportRequest, dict]): The request object. Request message for [DataprocMetastore.UpdateMetadataImport][google.cloud.metastore.v1alpha.DataprocMetastore.UpdateMetadataImport]. metadata_import (:class:`google.cloud.metastore_v1alpha.types.MetadataImport`): @@ -1036,16 +1038,16 @@ async def update_metadata_import( async def export_metadata( self, - request: metastore.ExportMetadataRequest = None, + request: Union[metastore.ExportMetadataRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Exports metadata from a service. Args: - request (:class:`google.cloud.metastore_v1alpha.types.ExportMetadataRequest`): + request (Union[google.cloud.metastore_v1alpha.types.ExportMetadataRequest, dict]): The request object. Request message for [DataprocMetastore.ExportMetadata][google.cloud.metastore.v1alpha.DataprocMetastore.ExportMetadata]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1096,18 +1098,18 @@ async def export_metadata( async def restore_service( self, - request: metastore.RestoreServiceRequest = None, + request: Union[metastore.RestoreServiceRequest, dict] = None, *, service: str = None, backup: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Restores a service from a backup. Args: - request (:class:`google.cloud.metastore_v1alpha.types.RestoreServiceRequest`): + request (Union[google.cloud.metastore_v1alpha.types.RestoreServiceRequest, dict]): The request object. Request message for [DataprocMetastore.Restore][]. service (:class:`str`): @@ -1192,17 +1194,17 @@ async def restore_service( async def list_backups( self, - request: metastore.ListBackupsRequest = None, + request: Union[metastore.ListBackupsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListBackupsAsyncPager: r"""Lists backups in a service. Args: - request (:class:`google.cloud.metastore_v1alpha.types.ListBackupsRequest`): + request (Union[google.cloud.metastore_v1alpha.types.ListBackupsRequest, dict]): The request object. Request message for [DataprocMetastore.ListBackups][google.cloud.metastore.v1alpha.DataprocMetastore.ListBackups]. parent (:class:`str`): @@ -1274,17 +1276,17 @@ async def list_backups( async def get_backup( self, - request: metastore.GetBackupRequest = None, + request: Union[metastore.GetBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Backup: r"""Gets details of a single backup. Args: - request (:class:`google.cloud.metastore_v1alpha.types.GetBackupRequest`): + request (Union[google.cloud.metastore_v1alpha.types.GetBackupRequest, dict]): The request object. Request message for [DataprocMetastore.GetBackup][google.cloud.metastore.v1alpha.DataprocMetastore.GetBackup]. name (:class:`str`): @@ -1345,19 +1347,19 @@ async def get_backup( async def create_backup( self, - request: metastore.CreateBackupRequest = None, + request: Union[metastore.CreateBackupRequest, dict] = None, *, parent: str = None, backup: metastore.Backup = None, backup_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Creates a new Backup in a given project and location. Args: - request (:class:`google.cloud.metastore_v1alpha.types.CreateBackupRequest`): + request (Union[google.cloud.metastore_v1alpha.types.CreateBackupRequest, dict]): The request object. Request message for [DataprocMetastore.CreateBackup][google.cloud.metastore.v1alpha.DataprocMetastore.CreateBackup]. parent (:class:`str`): @@ -1456,17 +1458,17 @@ async def create_backup( async def delete_backup( self, - request: metastore.DeleteBackupRequest = None, + request: Union[metastore.DeleteBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes a single backup. Args: - request (:class:`google.cloud.metastore_v1alpha.types.DeleteBackupRequest`): + request (Union[google.cloud.metastore_v1alpha.types.DeleteBackupRequest, dict]): The request object. Request message for [DataprocMetastore.DeleteBackup][google.cloud.metastore.v1alpha.DataprocMetastore.DeleteBackup]. name (:class:`str`): diff --git a/google/cloud/metastore_v1alpha/services/dataproc_metastore/client.py b/google/cloud/metastore_v1alpha/services/dataproc_metastore/client.py index 664f66d..f7539d4 100644 --- a/google/cloud/metastore_v1alpha/services/dataproc_metastore/client.py +++ b/google/cloud/metastore_v1alpha/services/dataproc_metastore/client.py @@ -30,6 +30,8 @@ from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.metastore_v1alpha.services.dataproc_metastore import pagers @@ -434,7 +436,7 @@ def list_services( request: Union[metastore.ListServicesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListServicesPager: @@ -516,7 +518,7 @@ def get_service( request: Union[metastore.GetServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Service: @@ -591,7 +593,7 @@ def create_service( parent: str = None, service: metastore.Service = None, service_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -705,7 +707,7 @@ def update_service( *, service: metastore.Service = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -805,7 +807,7 @@ def delete_service( request: Union[metastore.DeleteServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -899,7 +901,7 @@ def list_metadata_imports( request: Union[metastore.ListMetadataImportsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListMetadataImportsPager: @@ -981,7 +983,7 @@ def get_metadata_import( request: Union[metastore.GetMetadataImportRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.MetadataImport: @@ -1056,7 +1058,7 @@ def create_metadata_import( parent: str = None, metadata_import: metastore.MetadataImport = None, metadata_import_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1169,7 +1171,7 @@ def update_metadata_import( *, metadata_import: metastore.MetadataImport = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1270,7 +1272,7 @@ def export_metadata( self, request: Union[metastore.ExportMetadataRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1333,7 +1335,7 @@ def restore_service( *, service: str = None, backup: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1428,7 +1430,7 @@ def list_backups( request: Union[metastore.ListBackupsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListBackupsPager: @@ -1510,7 +1512,7 @@ def get_backup( request: Union[metastore.GetBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Backup: @@ -1583,7 +1585,7 @@ def create_backup( parent: str = None, backup: metastore.Backup = None, backup_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1692,7 +1694,7 @@ def delete_backup( request: Union[metastore.DeleteBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: diff --git a/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/base.py b/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/base.py index a030f64..5a06ce1 100644 --- a/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/base.py +++ b/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/base.py @@ -15,7 +15,6 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import packaging.version import pkg_resources import google.auth # type: ignore @@ -37,15 +36,6 @@ except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() -try: - # google.auth.__version__ was added in 1.26.0 - _GOOGLE_AUTH_VERSION = google.auth.__version__ -except AttributeError: - try: # try pkg_resources if it is available - _GOOGLE_AUTH_VERSION = pkg_resources.get_distribution("google-auth").version - except pkg_resources.DistributionNotFound: # pragma: NO COVER - _GOOGLE_AUTH_VERSION = None - class DataprocMetastoreTransport(abc.ABC): """Abstract transport class for DataprocMetastore.""" @@ -95,7 +85,7 @@ def __init__( host += ":443" self._host = host - scopes_kwargs = self._get_scopes_kwargs(self._host, scopes) + scopes_kwargs = {"scopes": scopes, "default_scopes": self.AUTH_SCOPES} # Save the scopes. self._scopes = scopes @@ -128,29 +118,6 @@ def __init__( # Save the credentials. self._credentials = credentials - # TODO(busunkim): This method is in the base transport - # to avoid duplicating code across the transport classes. These functions - # should be deleted once the minimum required versions of google-auth is increased. - - # TODO: Remove this function once google-auth >= 1.25.0 is required - @classmethod - def _get_scopes_kwargs( - cls, host: str, scopes: Optional[Sequence[str]] - ) -> Dict[str, Optional[Sequence[str]]]: - """Returns scopes kwargs to pass to google-auth methods depending on the google-auth version""" - - scopes_kwargs = {} - - if _GOOGLE_AUTH_VERSION and ( - packaging.version.parse(_GOOGLE_AUTH_VERSION) - >= packaging.version.parse("1.25.0") - ): - scopes_kwargs = {"scopes": scopes, "default_scopes": cls.AUTH_SCOPES} - else: - scopes_kwargs = {"scopes": scopes or cls.AUTH_SCOPES} - - return scopes_kwargs - def _prep_wrapped_messages(self, client_info): # Precompute the wrapped methods. self._wrapped_methods = { @@ -217,7 +184,7 @@ def close(self): raise NotImplementedError() @property - def operations_client(self) -> operations_v1.OperationsClient: + def operations_client(self): """Return the client designed to process long-running operations.""" raise NotImplementedError() diff --git a/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/grpc.py b/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/grpc.py index 5e84a1d..fffe9a4 100644 --- a/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/grpc.py +++ b/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/grpc.py @@ -134,7 +134,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/grpc_asyncio.py b/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/grpc_asyncio.py index 198de96..ee49ec2 100644 --- a/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/grpc_asyncio.py +++ b/google/cloud/metastore_v1alpha/services/dataproc_metastore/transports/grpc_asyncio.py @@ -21,7 +21,6 @@ from google.api_core import operations_v1 # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore -import packaging.version import grpc # type: ignore from grpc.experimental import aio # type: ignore @@ -181,7 +180,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsAsyncClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/google/cloud/metastore_v1alpha/types/metastore.py b/google/cloud/metastore_v1alpha/types/metastore.py index e3a5cb5..55e3020 100644 --- a/google/cloud/metastore_v1alpha/types/metastore.py +++ b/google/cloud/metastore_v1alpha/types/metastore.py @@ -64,11 +64,14 @@ class Service(proto.Message): r"""A managed metastore service that serves metadata queries. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: hive_metastore_config (google.cloud.metastore_v1alpha.types.HiveMetastoreConfig): Configuration information specific to running Hive metastore software as the metastore service. + This field is a member of `oneof`_ ``metastore_config``. name (str): Immutable. The relative resource name of the metastore service, of the form: @@ -284,12 +287,15 @@ class KerberosConfig(proto.Message): class Secret(proto.Message): r"""A securely stored value. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: cloud_secret (str): The relative resource name of a Secret Manager secret version, in the following form: ``projects/{project_number}/secrets/{secret_id}/versions/{version_id}``. + This field is a member of `oneof`_ ``value``. """ cloud_secret = proto.Field(proto.STRING, number=2, oneof="value",) @@ -316,10 +322,13 @@ class MetadataManagementActivity(proto.Message): class MetadataImport(proto.Message): r"""A metastore resource that imports metadata. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: database_dump (google.cloud.metastore_v1alpha.types.MetadataImport.DatabaseDump): Immutable. A database dump from a pre- xisting metastore's database. + This field is a member of `oneof`_ ``metadata``. name (str): Immutable. The relative resource name of the metadata import, of the form: @@ -389,12 +398,15 @@ class DatabaseType(proto.Enum): class MetadataExport(proto.Message): r"""The details of a metadata export operation. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: destination_gcs_uri (str): Output only. A Cloud Storage URI of a folder that metadata are exported to, in the form of ``gs:////``, where ```` is automatically generated. + This field is a member of `oneof`_ ``destination``. start_time (google.protobuf.timestamp_pb2.Timestamp): Output only. The time when the export started. @@ -1053,12 +1065,16 @@ class ExportMetadataRequest(proto.Message): r"""Request message for [DataprocMetastore.ExportMetadata][google.cloud.metastore.v1alpha.DataprocMetastore.ExportMetadata]. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: destination_gcs_folder (str): A Cloud Storage URI of a folder, in the format ``gs:///``. A sub-folder ```` containing exported files will be created below it. + This field is a member of `oneof`_ ``destination``. service (str): Required. The relative resource name of the metastore service to run export, in the following form: diff --git a/google/cloud/metastore_v1beta/services/dataproc_metastore/async_client.py b/google/cloud/metastore_v1beta/services/dataproc_metastore/async_client.py index d4c422d..f51d93b 100644 --- a/google/cloud/metastore_v1beta/services/dataproc_metastore/async_client.py +++ b/google/cloud/metastore_v1beta/services/dataproc_metastore/async_client.py @@ -19,13 +19,15 @@ from typing import Dict, Sequence, Tuple, Type, Union import pkg_resources -import google.api_core.client_options as ClientOptions # type: ignore +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.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.metastore_v1beta.services.dataproc_metastore import pagers @@ -199,17 +201,17 @@ def __init__( async def list_services( self, - request: metastore.ListServicesRequest = None, + request: Union[metastore.ListServicesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListServicesAsyncPager: r"""Lists services in a project and location. Args: - request (:class:`google.cloud.metastore_v1beta.types.ListServicesRequest`): + request (Union[google.cloud.metastore_v1beta.types.ListServicesRequest, dict]): The request object. Request message for [DataprocMetastore.ListServices][google.cloud.metastore.v1beta.DataprocMetastore.ListServices]. parent (:class:`str`): @@ -281,17 +283,17 @@ async def list_services( async def get_service( self, - request: metastore.GetServiceRequest = None, + request: Union[metastore.GetServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Service: r"""Gets the details of a single service. Args: - request (:class:`google.cloud.metastore_v1beta.types.GetServiceRequest`): + request (Union[google.cloud.metastore_v1beta.types.GetServiceRequest, dict]): The request object. Request message for [DataprocMetastore.GetService][google.cloud.metastore.v1beta.DataprocMetastore.GetService]. name (:class:`str`): @@ -354,12 +356,12 @@ async def get_service( async def create_service( self, - request: metastore.CreateServiceRequest = None, + request: Union[metastore.CreateServiceRequest, dict] = None, *, parent: str = None, service: metastore.Service = None, service_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -367,7 +369,7 @@ async def create_service( location. Args: - request (:class:`google.cloud.metastore_v1beta.types.CreateServiceRequest`): + request (Union[google.cloud.metastore_v1beta.types.CreateServiceRequest, dict]): The request object. Request message for [DataprocMetastore.CreateService][google.cloud.metastore.v1beta.DataprocMetastore.CreateService]. parent (:class:`str`): @@ -469,18 +471,18 @@ async def create_service( async def update_service( self, - request: metastore.UpdateServiceRequest = None, + request: Union[metastore.UpdateServiceRequest, dict] = None, *, service: metastore.Service = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Updates the parameters of a single service. Args: - request (:class:`google.cloud.metastore_v1beta.types.UpdateServiceRequest`): + request (Union[google.cloud.metastore_v1beta.types.UpdateServiceRequest, dict]): The request object. Request message for [DataprocMetastore.UpdateService][google.cloud.metastore.v1beta.DataprocMetastore.UpdateService]. service (:class:`google.cloud.metastore_v1beta.types.Service`): @@ -570,17 +572,17 @@ async def update_service( async def delete_service( self, - request: metastore.DeleteServiceRequest = None, + request: Union[metastore.DeleteServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes a single service. Args: - request (:class:`google.cloud.metastore_v1beta.types.DeleteServiceRequest`): + request (Union[google.cloud.metastore_v1beta.types.DeleteServiceRequest, dict]): The request object. Request message for [DataprocMetastore.DeleteService][google.cloud.metastore.v1beta.DataprocMetastore.DeleteService]. name (:class:`str`): @@ -664,17 +666,17 @@ async def delete_service( async def list_metadata_imports( self, - request: metastore.ListMetadataImportsRequest = None, + request: Union[metastore.ListMetadataImportsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListMetadataImportsAsyncPager: r"""Lists imports in a service. Args: - request (:class:`google.cloud.metastore_v1beta.types.ListMetadataImportsRequest`): + request (Union[google.cloud.metastore_v1beta.types.ListMetadataImportsRequest, dict]): The request object. Request message for [DataprocMetastore.ListMetadataImports][google.cloud.metastore.v1beta.DataprocMetastore.ListMetadataImports]. parent (:class:`str`): @@ -746,17 +748,17 @@ async def list_metadata_imports( async def get_metadata_import( self, - request: metastore.GetMetadataImportRequest = None, + request: Union[metastore.GetMetadataImportRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.MetadataImport: r"""Gets details of a single import. Args: - request (:class:`google.cloud.metastore_v1beta.types.GetMetadataImportRequest`): + request (Union[google.cloud.metastore_v1beta.types.GetMetadataImportRequest, dict]): The request object. Request message for [DataprocMetastore.GetMetadataImport][google.cloud.metastore.v1beta.DataprocMetastore.GetMetadataImport]. name (:class:`str`): @@ -819,12 +821,12 @@ async def get_metadata_import( async def create_metadata_import( self, - request: metastore.CreateMetadataImportRequest = None, + request: Union[metastore.CreateMetadataImportRequest, dict] = None, *, parent: str = None, metadata_import: metastore.MetadataImport = None, metadata_import_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -832,7 +834,7 @@ async def create_metadata_import( location. Args: - request (:class:`google.cloud.metastore_v1beta.types.CreateMetadataImportRequest`): + request (Union[google.cloud.metastore_v1beta.types.CreateMetadataImportRequest, dict]): The request object. Request message for [DataprocMetastore.CreateMetadataImport][google.cloud.metastore.v1beta.DataprocMetastore.CreateMetadataImport]. parent (:class:`str`): @@ -933,11 +935,11 @@ async def create_metadata_import( async def update_metadata_import( self, - request: metastore.UpdateMetadataImportRequest = None, + request: Union[metastore.UpdateMetadataImportRequest, dict] = None, *, metadata_import: metastore.MetadataImport = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -946,7 +948,7 @@ async def update_metadata_import( supported to be updated. Args: - request (:class:`google.cloud.metastore_v1beta.types.UpdateMetadataImportRequest`): + request (Union[google.cloud.metastore_v1beta.types.UpdateMetadataImportRequest, dict]): The request object. Request message for [DataprocMetastore.UpdateMetadataImport][google.cloud.metastore.v1beta.DataprocMetastore.UpdateMetadataImport]. metadata_import (:class:`google.cloud.metastore_v1beta.types.MetadataImport`): @@ -1036,16 +1038,16 @@ async def update_metadata_import( async def export_metadata( self, - request: metastore.ExportMetadataRequest = None, + request: Union[metastore.ExportMetadataRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Exports metadata from a service. Args: - request (:class:`google.cloud.metastore_v1beta.types.ExportMetadataRequest`): + request (Union[google.cloud.metastore_v1beta.types.ExportMetadataRequest, dict]): The request object. Request message for [DataprocMetastore.ExportMetadata][google.cloud.metastore.v1beta.DataprocMetastore.ExportMetadata]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1096,18 +1098,18 @@ async def export_metadata( async def restore_service( self, - request: metastore.RestoreServiceRequest = None, + request: Union[metastore.RestoreServiceRequest, dict] = None, *, service: str = None, backup: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Restores a service from a backup. Args: - request (:class:`google.cloud.metastore_v1beta.types.RestoreServiceRequest`): + request (Union[google.cloud.metastore_v1beta.types.RestoreServiceRequest, dict]): The request object. Request message for [DataprocMetastore.Restore][]. service (:class:`str`): @@ -1192,17 +1194,17 @@ async def restore_service( async def list_backups( self, - request: metastore.ListBackupsRequest = None, + request: Union[metastore.ListBackupsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListBackupsAsyncPager: r"""Lists backups in a service. Args: - request (:class:`google.cloud.metastore_v1beta.types.ListBackupsRequest`): + request (Union[google.cloud.metastore_v1beta.types.ListBackupsRequest, dict]): The request object. Request message for [DataprocMetastore.ListBackups][google.cloud.metastore.v1beta.DataprocMetastore.ListBackups]. parent (:class:`str`): @@ -1274,17 +1276,17 @@ async def list_backups( async def get_backup( self, - request: metastore.GetBackupRequest = None, + request: Union[metastore.GetBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Backup: r"""Gets details of a single backup. Args: - request (:class:`google.cloud.metastore_v1beta.types.GetBackupRequest`): + request (Union[google.cloud.metastore_v1beta.types.GetBackupRequest, dict]): The request object. Request message for [DataprocMetastore.GetBackup][google.cloud.metastore.v1beta.DataprocMetastore.GetBackup]. name (:class:`str`): @@ -1345,19 +1347,19 @@ async def get_backup( async def create_backup( self, - request: metastore.CreateBackupRequest = None, + request: Union[metastore.CreateBackupRequest, dict] = None, *, parent: str = None, backup: metastore.Backup = None, backup_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Creates a new Backup in a given project and location. Args: - request (:class:`google.cloud.metastore_v1beta.types.CreateBackupRequest`): + request (Union[google.cloud.metastore_v1beta.types.CreateBackupRequest, dict]): The request object. Request message for [DataprocMetastore.CreateBackup][google.cloud.metastore.v1beta.DataprocMetastore.CreateBackup]. parent (:class:`str`): @@ -1456,17 +1458,17 @@ async def create_backup( async def delete_backup( self, - request: metastore.DeleteBackupRequest = None, + request: Union[metastore.DeleteBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes a single backup. Args: - request (:class:`google.cloud.metastore_v1beta.types.DeleteBackupRequest`): + request (Union[google.cloud.metastore_v1beta.types.DeleteBackupRequest, dict]): The request object. Request message for [DataprocMetastore.DeleteBackup][google.cloud.metastore.v1beta.DataprocMetastore.DeleteBackup]. name (:class:`str`): diff --git a/google/cloud/metastore_v1beta/services/dataproc_metastore/client.py b/google/cloud/metastore_v1beta/services/dataproc_metastore/client.py index 94910d0..76a61d6 100644 --- a/google/cloud/metastore_v1beta/services/dataproc_metastore/client.py +++ b/google/cloud/metastore_v1beta/services/dataproc_metastore/client.py @@ -30,6 +30,8 @@ from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.metastore_v1beta.services.dataproc_metastore import pagers @@ -434,7 +436,7 @@ def list_services( request: Union[metastore.ListServicesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListServicesPager: @@ -516,7 +518,7 @@ def get_service( request: Union[metastore.GetServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Service: @@ -591,7 +593,7 @@ def create_service( parent: str = None, service: metastore.Service = None, service_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -705,7 +707,7 @@ def update_service( *, service: metastore.Service = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -805,7 +807,7 @@ def delete_service( request: Union[metastore.DeleteServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -899,7 +901,7 @@ def list_metadata_imports( request: Union[metastore.ListMetadataImportsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListMetadataImportsPager: @@ -981,7 +983,7 @@ def get_metadata_import( request: Union[metastore.GetMetadataImportRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.MetadataImport: @@ -1056,7 +1058,7 @@ def create_metadata_import( parent: str = None, metadata_import: metastore.MetadataImport = None, metadata_import_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1169,7 +1171,7 @@ def update_metadata_import( *, metadata_import: metastore.MetadataImport = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1270,7 +1272,7 @@ def export_metadata( self, request: Union[metastore.ExportMetadataRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1333,7 +1335,7 @@ def restore_service( *, service: str = None, backup: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1428,7 +1430,7 @@ def list_backups( request: Union[metastore.ListBackupsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListBackupsPager: @@ -1510,7 +1512,7 @@ def get_backup( request: Union[metastore.GetBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metastore.Backup: @@ -1583,7 +1585,7 @@ def create_backup( parent: str = None, backup: metastore.Backup = None, backup_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1692,7 +1694,7 @@ def delete_backup( request: Union[metastore.DeleteBackupRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: diff --git a/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/base.py b/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/base.py index bd9453a..034ec2c 100644 --- a/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/base.py +++ b/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/base.py @@ -15,7 +15,6 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import packaging.version import pkg_resources import google.auth # type: ignore @@ -39,15 +38,6 @@ except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() -try: - # google.auth.__version__ was added in 1.26.0 - _GOOGLE_AUTH_VERSION = google.auth.__version__ -except AttributeError: - try: # try pkg_resources if it is available - _GOOGLE_AUTH_VERSION = pkg_resources.get_distribution("google-auth").version - except pkg_resources.DistributionNotFound: # pragma: NO COVER - _GOOGLE_AUTH_VERSION = None - class DataprocMetastoreTransport(abc.ABC): """Abstract transport class for DataprocMetastore.""" @@ -97,7 +87,7 @@ def __init__( host += ":443" self._host = host - scopes_kwargs = self._get_scopes_kwargs(self._host, scopes) + scopes_kwargs = {"scopes": scopes, "default_scopes": self.AUTH_SCOPES} # Save the scopes. self._scopes = scopes @@ -130,29 +120,6 @@ def __init__( # Save the credentials. self._credentials = credentials - # TODO(busunkim): This method is in the base transport - # to avoid duplicating code across the transport classes. These functions - # should be deleted once the minimum required versions of google-auth is increased. - - # TODO: Remove this function once google-auth >= 1.25.0 is required - @classmethod - def _get_scopes_kwargs( - cls, host: str, scopes: Optional[Sequence[str]] - ) -> Dict[str, Optional[Sequence[str]]]: - """Returns scopes kwargs to pass to google-auth methods depending on the google-auth version""" - - scopes_kwargs = {} - - if _GOOGLE_AUTH_VERSION and ( - packaging.version.parse(_GOOGLE_AUTH_VERSION) - >= packaging.version.parse("1.25.0") - ): - scopes_kwargs = {"scopes": scopes, "default_scopes": cls.AUTH_SCOPES} - else: - scopes_kwargs = {"scopes": scopes or cls.AUTH_SCOPES} - - return scopes_kwargs - def _prep_wrapped_messages(self, client_info): # Precompute the wrapped methods. self._wrapped_methods = { @@ -219,7 +186,7 @@ def close(self): raise NotImplementedError() @property - def operations_client(self) -> operations_v1.OperationsClient: + def operations_client(self): """Return the client designed to process long-running operations.""" raise NotImplementedError() diff --git a/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/grpc.py b/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/grpc.py index 57267a6..3755e31 100644 --- a/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/grpc.py +++ b/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/grpc.py @@ -134,7 +134,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/grpc_asyncio.py b/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/grpc_asyncio.py index 1259fdc..0c6eb70 100644 --- a/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/grpc_asyncio.py +++ b/google/cloud/metastore_v1beta/services/dataproc_metastore/transports/grpc_asyncio.py @@ -21,7 +21,6 @@ from google.api_core import operations_v1 # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore -import packaging.version import grpc # type: ignore from grpc.experimental import aio # type: ignore @@ -181,7 +180,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsAsyncClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/google/cloud/metastore_v1beta/types/metastore.py b/google/cloud/metastore_v1beta/types/metastore.py index 3cac486..a15dc9e 100644 --- a/google/cloud/metastore_v1beta/types/metastore.py +++ b/google/cloud/metastore_v1beta/types/metastore.py @@ -64,11 +64,14 @@ class Service(proto.Message): r"""A managed metastore service that serves metadata queries. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: hive_metastore_config (google.cloud.metastore_v1beta.types.HiveMetastoreConfig): Configuration information specific to running Hive metastore software as the metastore service. + This field is a member of `oneof`_ ``metastore_config``. name (str): Immutable. The relative resource name of the metastore service, of the form: @@ -284,12 +287,15 @@ class KerberosConfig(proto.Message): class Secret(proto.Message): r"""A securely stored value. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: cloud_secret (str): The relative resource name of a Secret Manager secret version, in the following form: ``projects/{project_number}/secrets/{secret_id}/versions/{version_id}``. + This field is a member of `oneof`_ ``value``. """ cloud_secret = proto.Field(proto.STRING, number=2, oneof="value",) @@ -316,10 +322,13 @@ class MetadataManagementActivity(proto.Message): class MetadataImport(proto.Message): r"""A metastore resource that imports metadata. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: database_dump (google.cloud.metastore_v1beta.types.MetadataImport.DatabaseDump): Immutable. A database dump from a pre- xisting metastore's database. + This field is a member of `oneof`_ ``metadata``. name (str): Immutable. The relative resource name of the metadata import, of the form: @@ -389,12 +398,15 @@ class DatabaseType(proto.Enum): class MetadataExport(proto.Message): r"""The details of a metadata export operation. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: destination_gcs_uri (str): Output only. A Cloud Storage URI of a folder that metadata are exported to, in the form of ``gs:////``, where ```` is automatically generated. + This field is a member of `oneof`_ ``destination``. start_time (google.protobuf.timestamp_pb2.Timestamp): Output only. The time when the export started. @@ -1053,12 +1065,16 @@ class ExportMetadataRequest(proto.Message): r"""Request message for [DataprocMetastore.ExportMetadata][google.cloud.metastore.v1beta.DataprocMetastore.ExportMetadata]. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: destination_gcs_folder (str): A Cloud Storage URI of a folder, in the format ``gs:///``. A sub-folder ```` containing exported files will be created below it. + This field is a member of `oneof`_ ``destination``. service (str): Required. The relative resource name of the metastore service to run export, in the following form: diff --git a/setup.py b/setup.py index 86493af..bb355bb 100644 --- a/setup.py +++ b/setup.py @@ -28,9 +28,8 @@ # NOTE: Maintainers, please do not require google-api-core>=2.x.x # Until this issue is closed # https://github.com/googleapis/google-cloud-python/issues/10566 - "google-api-core[grpc] >= 1.26.0, <3.0.0dev", + "google-api-core[grpc] >= 1.28.0, <3.0.0dev", "proto-plus >= 1.4.0", - "packaging >= 14.3", ] package_root = os.path.abspath(os.path.dirname(__file__)) diff --git a/testing/constraints-3.6.txt b/testing/constraints-3.6.txt index 22b1805..8fad4fc 100644 --- a/testing/constraints-3.6.txt +++ b/testing/constraints-3.6.txt @@ -19,7 +19,5 @@ # # e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", # Then this file should have foo==1.14.0 -google-api-core==1.26.0 +google-api-core==1.28.0 proto-plus==1.4.0 -packaging==14.3 -google-auth==1.24.0 # TODO: remove when google-auth>=1.25.0 is required through google-api-core diff --git a/tests/unit/gapic/metastore_v1/test_dataproc_metastore.py b/tests/unit/gapic/metastore_v1/test_dataproc_metastore.py index ba5e0e4..3bb7b3c 100644 --- a/tests/unit/gapic/metastore_v1/test_dataproc_metastore.py +++ b/tests/unit/gapic/metastore_v1/test_dataproc_metastore.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -43,9 +42,6 @@ ) from google.cloud.metastore_v1.services.dataproc_metastore import pagers from google.cloud.metastore_v1.services.dataproc_metastore import transports -from google.cloud.metastore_v1.services.dataproc_metastore.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.metastore_v1.types import metastore from google.longrunning import operations_pb2 from google.oauth2 import service_account @@ -56,20 +52,6 @@ import google.auth -# TODO(busunkim): Once google-auth >= 1.25.0 is required transitively -# through google-api-core: -# - Delete the auth "less than" test cases -# - Delete these pytest markers (Make the "greater than or equal to" tests the default). -requires_google_auth_lt_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) >= packaging.version.parse("1.25.0"), - reason="This test requires google-auth < 1.25.0", -) -requires_google_auth_gte_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) < packaging.version.parse("1.25.0"), - reason="This test requires google-auth >= 1.25.0", -) - - def client_cert_source_callback(): return b"cert bytes", b"key bytes" @@ -227,7 +209,7 @@ def test_dataproc_metastore_client_client_options( options = client_options.ClientOptions(api_endpoint="squid.clam.whelk") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -244,7 +226,7 @@ def test_dataproc_metastore_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -261,7 +243,7 @@ def test_dataproc_metastore_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -290,7 +272,7 @@ def test_dataproc_metastore_client_client_options( options = client_options.ClientOptions(quota_project_id="octopus") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -359,7 +341,7 @@ def test_dataproc_metastore_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) if use_client_cert_env == "false": expected_client_cert_source = None @@ -401,7 +383,7 @@ def test_dataproc_metastore_client_mtls_env_auto( expected_client_cert_source = client_cert_source_callback patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -423,7 +405,7 @@ def test_dataproc_metastore_client_mtls_env_auto( return_value=False, ): patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -454,7 +436,7 @@ def test_dataproc_metastore_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(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -485,7 +467,7 @@ def test_dataproc_metastore_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(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -4351,7 +4333,6 @@ def test_dataproc_metastore_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_dataproc_metastore_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -4372,26 +4353,6 @@ def test_dataproc_metastore_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_dataproc_metastore_base_transport_with_credentials_file_old_google_auth(): - # Instantiate the base transport with a credentials file - with mock.patch.object( - google.auth, "load_credentials_from_file", autospec=True - ) as load_creds, mock.patch( - "google.cloud.metastore_v1.services.dataproc_metastore.transports.DataprocMetastoreTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.DataprocMetastoreTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - def test_dataproc_metastore_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -4403,7 +4364,6 @@ def test_dataproc_metastore_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_dataproc_metastore_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -4416,18 +4376,6 @@ def test_dataproc_metastore_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_dataproc_metastore_auth_adc_old_google_auth(): - # If no credentials are provided, we should use ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - DataprocMetastoreClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -4435,7 +4383,6 @@ def test_dataproc_metastore_auth_adc_old_google_auth(): transports.DataprocMetastoreGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_dataproc_metastore_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -4449,26 +4396,6 @@ def test_dataproc_metastore_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.DataprocMetastoreGrpcTransport, - transports.DataprocMetastoreGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_dataproc_metastore_transport_auth_adc_old_google_auth(transport_class): - # If credentials and host are not provided, the transport class should use - # ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - transport_class(quota_project_id="octopus") - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [ diff --git a/tests/unit/gapic/metastore_v1alpha/test_dataproc_metastore.py b/tests/unit/gapic/metastore_v1alpha/test_dataproc_metastore.py index 6e39c27..ddd269c 100644 --- a/tests/unit/gapic/metastore_v1alpha/test_dataproc_metastore.py +++ b/tests/unit/gapic/metastore_v1alpha/test_dataproc_metastore.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -43,9 +42,6 @@ ) from google.cloud.metastore_v1alpha.services.dataproc_metastore import pagers from google.cloud.metastore_v1alpha.services.dataproc_metastore import transports -from google.cloud.metastore_v1alpha.services.dataproc_metastore.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.metastore_v1alpha.types import metastore from google.longrunning import operations_pb2 from google.oauth2 import service_account @@ -56,20 +52,6 @@ import google.auth -# TODO(busunkim): Once google-auth >= 1.25.0 is required transitively -# through google-api-core: -# - Delete the auth "less than" test cases -# - Delete these pytest markers (Make the "greater than or equal to" tests the default). -requires_google_auth_lt_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) >= packaging.version.parse("1.25.0"), - reason="This test requires google-auth < 1.25.0", -) -requires_google_auth_gte_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) < packaging.version.parse("1.25.0"), - reason="This test requires google-auth >= 1.25.0", -) - - def client_cert_source_callback(): return b"cert bytes", b"key bytes" @@ -227,7 +209,7 @@ def test_dataproc_metastore_client_client_options( options = client_options.ClientOptions(api_endpoint="squid.clam.whelk") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -244,7 +226,7 @@ def test_dataproc_metastore_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -261,7 +243,7 @@ def test_dataproc_metastore_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -290,7 +272,7 @@ def test_dataproc_metastore_client_client_options( options = client_options.ClientOptions(quota_project_id="octopus") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -359,7 +341,7 @@ def test_dataproc_metastore_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) if use_client_cert_env == "false": expected_client_cert_source = None @@ -401,7 +383,7 @@ def test_dataproc_metastore_client_mtls_env_auto( expected_client_cert_source = client_cert_source_callback patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -423,7 +405,7 @@ def test_dataproc_metastore_client_mtls_env_auto( return_value=False, ): patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -454,7 +436,7 @@ def test_dataproc_metastore_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(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -485,7 +467,7 @@ def test_dataproc_metastore_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(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -4347,7 +4329,6 @@ def test_dataproc_metastore_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_dataproc_metastore_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -4368,26 +4349,6 @@ def test_dataproc_metastore_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_dataproc_metastore_base_transport_with_credentials_file_old_google_auth(): - # Instantiate the base transport with a credentials file - with mock.patch.object( - google.auth, "load_credentials_from_file", autospec=True - ) as load_creds, mock.patch( - "google.cloud.metastore_v1alpha.services.dataproc_metastore.transports.DataprocMetastoreTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.DataprocMetastoreTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - def test_dataproc_metastore_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -4399,7 +4360,6 @@ def test_dataproc_metastore_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_dataproc_metastore_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -4412,18 +4372,6 @@ def test_dataproc_metastore_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_dataproc_metastore_auth_adc_old_google_auth(): - # If no credentials are provided, we should use ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - DataprocMetastoreClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -4431,7 +4379,6 @@ def test_dataproc_metastore_auth_adc_old_google_auth(): transports.DataprocMetastoreGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_dataproc_metastore_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -4445,26 +4392,6 @@ def test_dataproc_metastore_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.DataprocMetastoreGrpcTransport, - transports.DataprocMetastoreGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_dataproc_metastore_transport_auth_adc_old_google_auth(transport_class): - # If credentials and host are not provided, the transport class should use - # ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - transport_class(quota_project_id="octopus") - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [ diff --git a/tests/unit/gapic/metastore_v1beta/test_dataproc_metastore.py b/tests/unit/gapic/metastore_v1beta/test_dataproc_metastore.py index 8067fe1..e359d21 100644 --- a/tests/unit/gapic/metastore_v1beta/test_dataproc_metastore.py +++ b/tests/unit/gapic/metastore_v1beta/test_dataproc_metastore.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -43,9 +42,6 @@ ) from google.cloud.metastore_v1beta.services.dataproc_metastore import pagers from google.cloud.metastore_v1beta.services.dataproc_metastore import transports -from google.cloud.metastore_v1beta.services.dataproc_metastore.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.metastore_v1beta.types import metastore from google.longrunning import operations_pb2 from google.oauth2 import service_account @@ -56,20 +52,6 @@ import google.auth -# TODO(busunkim): Once google-auth >= 1.25.0 is required transitively -# through google-api-core: -# - Delete the auth "less than" test cases -# - Delete these pytest markers (Make the "greater than or equal to" tests the default). -requires_google_auth_lt_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) >= packaging.version.parse("1.25.0"), - reason="This test requires google-auth < 1.25.0", -) -requires_google_auth_gte_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) < packaging.version.parse("1.25.0"), - reason="This test requires google-auth >= 1.25.0", -) - - def client_cert_source_callback(): return b"cert bytes", b"key bytes" @@ -227,7 +209,7 @@ def test_dataproc_metastore_client_client_options( options = client_options.ClientOptions(api_endpoint="squid.clam.whelk") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -244,7 +226,7 @@ def test_dataproc_metastore_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -261,7 +243,7 @@ def test_dataproc_metastore_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -290,7 +272,7 @@ def test_dataproc_metastore_client_client_options( options = client_options.ClientOptions(quota_project_id="octopus") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -359,7 +341,7 @@ def test_dataproc_metastore_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) if use_client_cert_env == "false": expected_client_cert_source = None @@ -401,7 +383,7 @@ def test_dataproc_metastore_client_mtls_env_auto( expected_client_cert_source = client_cert_source_callback patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -423,7 +405,7 @@ def test_dataproc_metastore_client_mtls_env_auto( return_value=False, ): patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -454,7 +436,7 @@ def test_dataproc_metastore_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(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -485,7 +467,7 @@ def test_dataproc_metastore_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(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -4347,7 +4329,6 @@ def test_dataproc_metastore_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_dataproc_metastore_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -4368,26 +4349,6 @@ def test_dataproc_metastore_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_dataproc_metastore_base_transport_with_credentials_file_old_google_auth(): - # Instantiate the base transport with a credentials file - with mock.patch.object( - google.auth, "load_credentials_from_file", autospec=True - ) as load_creds, mock.patch( - "google.cloud.metastore_v1beta.services.dataproc_metastore.transports.DataprocMetastoreTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.DataprocMetastoreTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - def test_dataproc_metastore_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -4399,7 +4360,6 @@ def test_dataproc_metastore_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_dataproc_metastore_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -4412,18 +4372,6 @@ def test_dataproc_metastore_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_dataproc_metastore_auth_adc_old_google_auth(): - # If no credentials are provided, we should use ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - DataprocMetastoreClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -4431,7 +4379,6 @@ def test_dataproc_metastore_auth_adc_old_google_auth(): transports.DataprocMetastoreGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_dataproc_metastore_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -4445,26 +4392,6 @@ def test_dataproc_metastore_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.DataprocMetastoreGrpcTransport, - transports.DataprocMetastoreGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_dataproc_metastore_transport_auth_adc_old_google_auth(transport_class): - # If credentials and host are not provided, the transport class should use - # ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - transport_class(quota_project_id="octopus") - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [