diff --git a/google/cloud/aiplatform/v1/schema/trainingjob/definition_v1/types/automl_tables.py b/google/cloud/aiplatform/v1/schema/trainingjob/definition_v1/types/automl_tables.py index da64e07fd8..31917ab6e9 100644 --- a/google/cloud/aiplatform/v1/schema/trainingjob/definition_v1/types/automl_tables.py +++ b/google/cloud/aiplatform/v1/schema/trainingjob/definition_v1/types/automl_tables.py @@ -43,15 +43,24 @@ class AutoMlTables(proto.Message): class AutoMlTablesInputs(proto.Message): r""" + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: optimization_objective_recall_value (float): Required when optimization_objective is "maximize-precision-at-recall". Must be between 0 and 1, inclusive. + This field is a member of `oneof`_ ``additional_optimization_objective_config``. optimization_objective_precision_value (float): Required when optimization_objective is "maximize-recall-at-precision". Must be between 0 and 1, inclusive. + This field is a member of `oneof`_ ``additional_optimization_objective_config``. prediction_type (str): The type of prediction the Model is to produce. "classification" - Predict one out of @@ -149,23 +158,38 @@ class AutoMlTablesInputs(proto.Message): class Transformation(proto.Message): r""" + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: auto (google.cloud.aiplatform.v1.schema.trainingjob.definition_v1.types.AutoMlTablesInputs.Transformation.AutoTransformation): + This field is a member of `oneof`_ ``transformation_detail``. numeric (google.cloud.aiplatform.v1.schema.trainingjob.definition_v1.types.AutoMlTablesInputs.Transformation.NumericTransformation): + This field is a member of `oneof`_ ``transformation_detail``. categorical (google.cloud.aiplatform.v1.schema.trainingjob.definition_v1.types.AutoMlTablesInputs.Transformation.CategoricalTransformation): + This field is a member of `oneof`_ ``transformation_detail``. timestamp (google.cloud.aiplatform.v1.schema.trainingjob.definition_v1.types.AutoMlTablesInputs.Transformation.TimestampTransformation): + This field is a member of `oneof`_ ``transformation_detail``. text (google.cloud.aiplatform.v1.schema.trainingjob.definition_v1.types.AutoMlTablesInputs.Transformation.TextTransformation): + This field is a member of `oneof`_ ``transformation_detail``. repeated_numeric (google.cloud.aiplatform.v1.schema.trainingjob.definition_v1.types.AutoMlTablesInputs.Transformation.NumericArrayTransformation): + This field is a member of `oneof`_ ``transformation_detail``. repeated_categorical (google.cloud.aiplatform.v1.schema.trainingjob.definition_v1.types.AutoMlTablesInputs.Transformation.CategoricalArrayTransformation): + This field is a member of `oneof`_ ``transformation_detail``. repeated_text (google.cloud.aiplatform.v1.schema.trainingjob.definition_v1.types.AutoMlTablesInputs.Transformation.TextArrayTransformation): + This field is a member of `oneof`_ ``transformation_detail``. """ class AutoTransformation(proto.Message): diff --git a/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition_v1beta1/types/automl_tables.py b/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition_v1beta1/types/automl_tables.py index a7b7f9379d..9c3b617c23 100644 --- a/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition_v1beta1/types/automl_tables.py +++ b/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition_v1beta1/types/automl_tables.py @@ -43,15 +43,24 @@ class AutoMlTables(proto.Message): class AutoMlTablesInputs(proto.Message): r""" + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: optimization_objective_recall_value (float): Required when optimization_objective is "maximize-precision-at-recall". Must be between 0 and 1, inclusive. + This field is a member of `oneof`_ ``additional_optimization_objective_config``. optimization_objective_precision_value (float): Required when optimization_objective is "maximize-recall-at-precision". Must be between 0 and 1, inclusive. + This field is a member of `oneof`_ ``additional_optimization_objective_config``. prediction_type (str): The type of prediction the Model is to produce. "classification" - Predict one out of @@ -149,23 +158,38 @@ class AutoMlTablesInputs(proto.Message): class Transformation(proto.Message): r""" + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: auto (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlTablesInputs.Transformation.AutoTransformation): + This field is a member of `oneof`_ ``transformation_detail``. numeric (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlTablesInputs.Transformation.NumericTransformation): + This field is a member of `oneof`_ ``transformation_detail``. categorical (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlTablesInputs.Transformation.CategoricalTransformation): + This field is a member of `oneof`_ ``transformation_detail``. timestamp (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlTablesInputs.Transformation.TimestampTransformation): + This field is a member of `oneof`_ ``transformation_detail``. text (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlTablesInputs.Transformation.TextTransformation): + This field is a member of `oneof`_ ``transformation_detail``. repeated_numeric (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlTablesInputs.Transformation.NumericArrayTransformation): + This field is a member of `oneof`_ ``transformation_detail``. repeated_categorical (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlTablesInputs.Transformation.CategoricalArrayTransformation): + This field is a member of `oneof`_ ``transformation_detail``. repeated_text (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlTablesInputs.Transformation.TextArrayTransformation): + This field is a member of `oneof`_ ``transformation_detail``. """ class AutoTransformation(proto.Message): diff --git a/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition_v1beta1/types/automl_time_series_forecasting.py b/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition_v1beta1/types/automl_time_series_forecasting.py index 5ff025548a..9ba2760245 100644 --- a/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition_v1beta1/types/automl_time_series_forecasting.py +++ b/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition_v1beta1/types/automl_time_series_forecasting.py @@ -176,17 +176,29 @@ class AutoMlForecastingInputs(proto.Message): class Transformation(proto.Message): r""" + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: auto (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlForecastingInputs.Transformation.AutoTransformation): + This field is a member of `oneof`_ ``transformation_detail``. numeric (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlForecastingInputs.Transformation.NumericTransformation): + This field is a member of `oneof`_ ``transformation_detail``. categorical (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlForecastingInputs.Transformation.CategoricalTransformation): + This field is a member of `oneof`_ ``transformation_detail``. timestamp (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlForecastingInputs.Transformation.TimestampTransformation): + This field is a member of `oneof`_ ``transformation_detail``. text (google.cloud.aiplatform.v1beta1.schema.trainingjob.definition_v1beta1.types.AutoMlForecastingInputs.Transformation.TextTransformation): + This field is a member of `oneof`_ ``transformation_detail``. """ class AutoTransformation(proto.Message): diff --git a/google/cloud/aiplatform_v1/services/dataset_service/async_client.py b/google/cloud/aiplatform_v1/services/dataset_service/async_client.py index bff620c43c..bc286e9d52 100644 --- a/google/cloud/aiplatform_v1/services/dataset_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/dataset_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.dataset_service import pagers @@ -186,18 +188,18 @@ def __init__( async def create_dataset( self, - request: dataset_service.CreateDatasetRequest = None, + request: Union[dataset_service.CreateDatasetRequest, dict] = None, *, parent: str = None, dataset: gca_dataset.Dataset = 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 Dataset. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateDatasetRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateDatasetRequest, dict]): The request object. Request message for [DatasetService.CreateDataset][google.cloud.aiplatform.v1.DatasetService.CreateDataset]. parent (:class:`str`): @@ -277,17 +279,17 @@ async def create_dataset( async def get_dataset( self, - request: dataset_service.GetDatasetRequest = None, + request: Union[dataset_service.GetDatasetRequest, 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]] = (), ) -> dataset.Dataset: r"""Gets a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetDatasetRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetDatasetRequest, dict]): The request object. Request message for [DatasetService.GetDataset][google.cloud.aiplatform.v1.DatasetService.GetDataset]. name (:class:`str`): @@ -348,18 +350,18 @@ async def get_dataset( async def update_dataset( self, - request: dataset_service.UpdateDatasetRequest = None, + request: Union[dataset_service.UpdateDatasetRequest, dict] = None, *, dataset: gca_dataset.Dataset = 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]] = (), ) -> gca_dataset.Dataset: r"""Updates a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateDatasetRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateDatasetRequest, dict]): The request object. Request message for [DatasetService.UpdateDataset][google.cloud.aiplatform.v1.DatasetService.UpdateDataset]. dataset (:class:`google.cloud.aiplatform_v1.types.Dataset`): @@ -437,17 +439,17 @@ async def update_dataset( async def list_datasets( self, - request: dataset_service.ListDatasetsRequest = None, + request: Union[dataset_service.ListDatasetsRequest, 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.ListDatasetsAsyncPager: r"""Lists Datasets in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListDatasetsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListDatasetsRequest, dict]): The request object. Request message for [DatasetService.ListDatasets][google.cloud.aiplatform.v1.DatasetService.ListDatasets]. parent (:class:`str`): @@ -517,17 +519,17 @@ async def list_datasets( async def delete_dataset( self, - request: dataset_service.DeleteDatasetRequest = None, + request: Union[dataset_service.DeleteDatasetRequest, 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 Dataset. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteDatasetRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteDatasetRequest, dict]): The request object. Request message for [DatasetService.DeleteDataset][google.cloud.aiplatform.v1.DatasetService.DeleteDataset]. name (:class:`str`): @@ -610,18 +612,18 @@ async def delete_dataset( async def import_data( self, - request: dataset_service.ImportDataRequest = None, + request: Union[dataset_service.ImportDataRequest, dict] = None, *, name: str = None, import_configs: Sequence[dataset.ImportDataConfig] = 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"""Imports data into a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1.types.ImportDataRequest`): + request (Union[google.cloud.aiplatform_v1.types.ImportDataRequest, dict]): The request object. Request message for [DatasetService.ImportData][google.cloud.aiplatform.v1.DatasetService.ImportData]. name (:class:`str`): @@ -704,18 +706,18 @@ async def import_data( async def export_data( self, - request: dataset_service.ExportDataRequest = None, + request: Union[dataset_service.ExportDataRequest, dict] = None, *, name: str = None, export_config: dataset.ExportDataConfig = 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 data from a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1.types.ExportDataRequest`): + request (Union[google.cloud.aiplatform_v1.types.ExportDataRequest, dict]): The request object. Request message for [DatasetService.ExportData][google.cloud.aiplatform.v1.DatasetService.ExportData]. name (:class:`str`): @@ -797,17 +799,17 @@ async def export_data( async def list_data_items( self, - request: dataset_service.ListDataItemsRequest = None, + request: Union[dataset_service.ListDataItemsRequest, 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.ListDataItemsAsyncPager: r"""Lists DataItems in a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListDataItemsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListDataItemsRequest, dict]): The request object. Request message for [DatasetService.ListDataItems][google.cloud.aiplatform.v1.DatasetService.ListDataItems]. parent (:class:`str`): @@ -878,17 +880,17 @@ async def list_data_items( async def get_annotation_spec( self, - request: dataset_service.GetAnnotationSpecRequest = None, + request: Union[dataset_service.GetAnnotationSpecRequest, 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]] = (), ) -> annotation_spec.AnnotationSpec: r"""Gets an AnnotationSpec. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetAnnotationSpecRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetAnnotationSpecRequest, dict]): The request object. Request message for [DatasetService.GetAnnotationSpec][google.cloud.aiplatform.v1.DatasetService.GetAnnotationSpec]. name (:class:`str`): @@ -950,17 +952,17 @@ async def get_annotation_spec( async def list_annotations( self, - request: dataset_service.ListAnnotationsRequest = None, + request: Union[dataset_service.ListAnnotationsRequest, 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.ListAnnotationsAsyncPager: r"""Lists Annotations belongs to a dataitem Args: - request (:class:`google.cloud.aiplatform_v1.types.ListAnnotationsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListAnnotationsRequest, dict]): The request object. Request message for [DatasetService.ListAnnotations][google.cloud.aiplatform.v1.DatasetService.ListAnnotations]. parent (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/dataset_service/client.py b/google/cloud/aiplatform_v1/services/dataset_service/client.py index b24c8f850a..96d01fe1af 100644 --- a/google/cloud/aiplatform_v1/services/dataset_service/client.py +++ b/google/cloud/aiplatform_v1/services/dataset_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.dataset_service import pagers @@ -429,7 +431,7 @@ def create_dataset( *, parent: str = None, dataset: gca_dataset.Dataset = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -519,7 +521,7 @@ def get_dataset( request: Union[dataset_service.GetDatasetRequest, 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]] = (), ) -> dataset.Dataset: @@ -591,7 +593,7 @@ def update_dataset( *, dataset: gca_dataset.Dataset = 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]] = (), ) -> gca_dataset.Dataset: @@ -679,7 +681,7 @@ def list_datasets( request: Union[dataset_service.ListDatasetsRequest, 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.ListDatasetsPager: @@ -759,7 +761,7 @@ def delete_dataset( request: Union[dataset_service.DeleteDatasetRequest, 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]] = (), ) -> gac_operation.Operation: @@ -853,7 +855,7 @@ def import_data( *, name: str = None, import_configs: Sequence[dataset.ImportDataConfig] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -947,7 +949,7 @@ def export_data( *, name: str = None, export_config: dataset.ExportDataConfig = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1039,7 +1041,7 @@ def list_data_items( request: Union[dataset_service.ListDataItemsRequest, 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.ListDataItemsPager: @@ -1120,7 +1122,7 @@ def get_annotation_spec( request: Union[dataset_service.GetAnnotationSpecRequest, 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]] = (), ) -> annotation_spec.AnnotationSpec: @@ -1192,7 +1194,7 @@ def list_annotations( request: Union[dataset_service.ListAnnotationsRequest, 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.ListAnnotationsPager: diff --git a/google/cloud/aiplatform_v1/services/dataset_service/transports/base.py b/google/cloud/aiplatform_v1/services/dataset_service/transports/base.py index 423e53041b..8dbfd9f9b7 100644 --- a/google/cloud/aiplatform_v1/services/dataset_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/dataset_service/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 @@ -42,15 +41,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 DatasetServiceTransport(abc.ABC): """Abstract transport class for DatasetService.""" @@ -100,7 +90,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 @@ -133,29 +123,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 = { @@ -201,7 +168,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/aiplatform_v1/services/dataset_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/dataset_service/transports/grpc.py index d37dd0d884..2501386d11 100644 --- a/google/cloud/aiplatform_v1/services/dataset_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/dataset_service/transports/grpc.py @@ -116,7 +116,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/aiplatform_v1/services/dataset_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/dataset_service/transports/grpc_asyncio.py index fd35ef41d6..1923000cdc 100644 --- a/google/cloud/aiplatform_v1/services/dataset_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/dataset_service/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 @@ -163,7 +162,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/aiplatform_v1/services/endpoint_service/async_client.py b/google/cloud/aiplatform_v1/services/endpoint_service/async_client.py index d60cec85b0..0249cec6ac 100644 --- a/google/cloud/aiplatform_v1/services/endpoint_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/endpoint_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.endpoint_service import pagers @@ -182,18 +184,18 @@ def __init__( async def create_endpoint( self, - request: endpoint_service.CreateEndpointRequest = None, + request: Union[endpoint_service.CreateEndpointRequest, dict] = None, *, parent: str = None, endpoint: gca_endpoint.Endpoint = 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 an Endpoint. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateEndpointRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateEndpointRequest, dict]): The request object. Request message for [EndpointService.CreateEndpoint][google.cloud.aiplatform.v1.EndpointService.CreateEndpoint]. parent (:class:`str`): @@ -272,17 +274,17 @@ async def create_endpoint( async def get_endpoint( self, - request: endpoint_service.GetEndpointRequest = None, + request: Union[endpoint_service.GetEndpointRequest, 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]] = (), ) -> endpoint.Endpoint: r"""Gets an Endpoint. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetEndpointRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetEndpointRequest, dict]): The request object. Request message for [EndpointService.GetEndpoint][google.cloud.aiplatform.v1.EndpointService.GetEndpoint] name (:class:`str`): @@ -344,17 +346,17 @@ async def get_endpoint( async def list_endpoints( self, - request: endpoint_service.ListEndpointsRequest = None, + request: Union[endpoint_service.ListEndpointsRequest, 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.ListEndpointsAsyncPager: r"""Lists Endpoints in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListEndpointsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListEndpointsRequest, dict]): The request object. Request message for [EndpointService.ListEndpoints][google.cloud.aiplatform.v1.EndpointService.ListEndpoints]. parent (:class:`str`): @@ -425,18 +427,18 @@ async def list_endpoints( async def update_endpoint( self, - request: endpoint_service.UpdateEndpointRequest = None, + request: Union[endpoint_service.UpdateEndpointRequest, dict] = None, *, endpoint: gca_endpoint.Endpoint = 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]] = (), ) -> gca_endpoint.Endpoint: r"""Updates an Endpoint. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateEndpointRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateEndpointRequest, dict]): The request object. Request message for [EndpointService.UpdateEndpoint][google.cloud.aiplatform.v1.EndpointService.UpdateEndpoint]. endpoint (:class:`google.cloud.aiplatform_v1.types.Endpoint`): @@ -509,17 +511,17 @@ async def update_endpoint( async def delete_endpoint( self, - request: endpoint_service.DeleteEndpointRequest = None, + request: Union[endpoint_service.DeleteEndpointRequest, 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 an Endpoint. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteEndpointRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteEndpointRequest, dict]): The request object. Request message for [EndpointService.DeleteEndpoint][google.cloud.aiplatform.v1.EndpointService.DeleteEndpoint]. name (:class:`str`): @@ -602,14 +604,14 @@ async def delete_endpoint( async def deploy_model( self, - request: endpoint_service.DeployModelRequest = None, + request: Union[endpoint_service.DeployModelRequest, dict] = None, *, endpoint: str = None, deployed_model: gca_endpoint.DeployedModel = None, traffic_split: Sequence[ endpoint_service.DeployModelRequest.TrafficSplitEntry ] = 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: @@ -617,7 +619,7 @@ async def deploy_model( DeployedModel within it. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeployModelRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeployModelRequest, dict]): The request object. Request message for [EndpointService.DeployModel][google.cloud.aiplatform.v1.EndpointService.DeployModel]. endpoint (:class:`str`): @@ -727,14 +729,14 @@ async def deploy_model( async def undeploy_model( self, - request: endpoint_service.UndeployModelRequest = None, + request: Union[endpoint_service.UndeployModelRequest, dict] = None, *, endpoint: str = None, deployed_model_id: str = None, traffic_split: Sequence[ endpoint_service.UndeployModelRequest.TrafficSplitEntry ] = 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: @@ -743,7 +745,7 @@ async def undeploy_model( using. Args: - request (:class:`google.cloud.aiplatform_v1.types.UndeployModelRequest`): + request (Union[google.cloud.aiplatform_v1.types.UndeployModelRequest, dict]): The request object. Request message for [EndpointService.UndeployModel][google.cloud.aiplatform.v1.EndpointService.UndeployModel]. endpoint (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/endpoint_service/client.py b/google/cloud/aiplatform_v1/services/endpoint_service/client.py index fd5f1135c1..4c546c0a4b 100644 --- a/google/cloud/aiplatform_v1/services/endpoint_service/client.py +++ b/google/cloud/aiplatform_v1/services/endpoint_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.endpoint_service import pagers @@ -413,7 +415,7 @@ def create_endpoint( *, parent: str = None, endpoint: gca_endpoint.Endpoint = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -502,7 +504,7 @@ def get_endpoint( request: Union[endpoint_service.GetEndpointRequest, 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]] = (), ) -> endpoint.Endpoint: @@ -574,7 +576,7 @@ def list_endpoints( request: Union[endpoint_service.ListEndpointsRequest, 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.ListEndpointsPager: @@ -656,7 +658,7 @@ def update_endpoint( *, endpoint: gca_endpoint.Endpoint = 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]] = (), ) -> gca_endpoint.Endpoint: @@ -739,7 +741,7 @@ def delete_endpoint( request: Union[endpoint_service.DeleteEndpointRequest, 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]] = (), ) -> gac_operation.Operation: @@ -836,7 +838,7 @@ def deploy_model( traffic_split: Sequence[ endpoint_service.DeployModelRequest.TrafficSplitEntry ] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -960,7 +962,7 @@ def undeploy_model( traffic_split: Sequence[ endpoint_service.UndeployModelRequest.TrafficSplitEntry ] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: diff --git a/google/cloud/aiplatform_v1/services/endpoint_service/transports/base.py b/google/cloud/aiplatform_v1/services/endpoint_service/transports/base.py index d5cf6bd0a0..3703c66859 100644 --- a/google/cloud/aiplatform_v1/services/endpoint_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/endpoint_service/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 @@ -41,15 +40,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 EndpointServiceTransport(abc.ABC): """Abstract transport class for EndpointService.""" @@ -99,7 +89,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 @@ -132,29 +122,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 = { @@ -191,7 +158,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/aiplatform_v1/services/endpoint_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/endpoint_service/transports/grpc.py index 70ba82add4..274f3691a2 100644 --- a/google/cloud/aiplatform_v1/services/endpoint_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/endpoint_service/transports/grpc.py @@ -114,7 +114,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/aiplatform_v1/services/endpoint_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/endpoint_service/transports/grpc_asyncio.py index 33d1331983..168ab4281b 100644 --- a/google/cloud/aiplatform_v1/services/endpoint_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/endpoint_service/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 @@ -161,7 +160,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/aiplatform_v1/services/featurestore_online_serving_service/async_client.py b/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/async_client.py index 52d01b10dd..f1885fd31e 100644 --- a/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/async_client.py @@ -19,13 +19,15 @@ from typing import Dict, AsyncIterable, Awaitable, 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.cloud.aiplatform_v1.types import featurestore_online_service from .transports.base import ( FeaturestoreOnlineServingServiceTransport, @@ -180,10 +182,12 @@ def __init__( async def read_feature_values( self, - request: featurestore_online_service.ReadFeatureValuesRequest = None, + request: Union[ + featurestore_online_service.ReadFeatureValuesRequest, dict + ] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> featurestore_online_service.ReadFeatureValuesResponse: @@ -193,7 +197,7 @@ async def read_feature_values( StreamingReadFeatureValues. Args: - request (:class:`google.cloud.aiplatform_v1.types.ReadFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1.types.ReadFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreOnlineServingService.ReadFeatureValues][google.cloud.aiplatform.v1.FeaturestoreOnlineServingService.ReadFeatureValues]. entity_type (:class:`str`): @@ -260,10 +264,12 @@ async def read_feature_values( def streaming_read_feature_values( self, - request: featurestore_online_service.StreamingReadFeatureValuesRequest = None, + request: Union[ + featurestore_online_service.StreamingReadFeatureValuesRequest, dict + ] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> Awaitable[ @@ -274,7 +280,7 @@ def streaming_read_feature_values( up across multiple responses. Args: - request (:class:`google.cloud.aiplatform_v1.types.StreamingReadFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1.types.StreamingReadFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreOnlineServingService.StreamingFeatureValuesRead][]. entity_type (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/client.py b/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/client.py index bf8647225c..ec77c86df9 100644 --- a/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/client.py +++ b/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/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.cloud.aiplatform_v1.types import featurestore_online_service from .transports.base import ( FeaturestoreOnlineServingServiceTransport, @@ -369,7 +371,7 @@ def read_feature_values( ] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> featurestore_online_service.ReadFeatureValuesResponse: @@ -453,7 +455,7 @@ def streaming_read_feature_values( ] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> Iterable[featurestore_online_service.ReadFeatureValuesResponse]: diff --git a/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/transports/base.py b/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/transports/base.py index f1d55b54f1..5b885dc993 100644 --- a/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/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 FeaturestoreOnlineServingServiceTransport(abc.ABC): """Abstract transport class for FeaturestoreOnlineServingService.""" @@ -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 = { diff --git a/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/transports/grpc_asyncio.py index 0767a0fccb..36c304acc8 100644 --- a/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/featurestore_online_serving_service/transports/grpc_asyncio.py @@ -20,7 +20,6 @@ from google.api_core import grpc_helpers_async # 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 diff --git a/google/cloud/aiplatform_v1/services/featurestore_service/async_client.py b/google/cloud/aiplatform_v1/services/featurestore_service/async_client.py index 42a2c36a26..14d2c6f5ea 100644 --- a/google/cloud/aiplatform_v1/services/featurestore_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/featurestore_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.featurestore_service import pagers @@ -187,11 +189,11 @@ def __init__( async def create_featurestore( self, - request: featurestore_service.CreateFeaturestoreRequest = None, + request: Union[featurestore_service.CreateFeaturestoreRequest, dict] = None, *, parent: str = None, featurestore: gca_featurestore.Featurestore = 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: @@ -199,7 +201,7 @@ async def create_featurestore( location. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateFeaturestoreRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateFeaturestoreRequest, dict]): The request object. Request message for [FeaturestoreService.CreateFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.CreateFeaturestore]. parent (:class:`str`): @@ -280,17 +282,17 @@ async def create_featurestore( async def get_featurestore( self, - request: featurestore_service.GetFeaturestoreRequest = None, + request: Union[featurestore_service.GetFeaturestoreRequest, 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]] = (), ) -> featurestore.Featurestore: r"""Gets details of a single Featurestore. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetFeaturestoreRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetFeaturestoreRequest, dict]): The request object. Request message for [FeaturestoreService.GetFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.GetFeaturestore]. name (:class:`str`): @@ -354,17 +356,17 @@ async def get_featurestore( async def list_featurestores( self, - request: featurestore_service.ListFeaturestoresRequest = None, + request: Union[featurestore_service.ListFeaturestoresRequest, 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.ListFeaturestoresAsyncPager: r"""Lists Featurestores in a given project and location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListFeaturestoresRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListFeaturestoresRequest, dict]): The request object. Request message for [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores]. parent (:class:`str`): @@ -435,18 +437,18 @@ async def list_featurestores( async def update_featurestore( self, - request: featurestore_service.UpdateFeaturestoreRequest = None, + request: Union[featurestore_service.UpdateFeaturestoreRequest, dict] = None, *, featurestore: gca_featurestore.Featurestore = 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 Featurestore. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateFeaturestoreRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateFeaturestoreRequest, dict]): The request object. Request message for [FeaturestoreService.UpdateFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeaturestore]. featurestore (:class:`google.cloud.aiplatform_v1.types.Featurestore`): @@ -542,11 +544,11 @@ async def update_featurestore( async def delete_featurestore( self, - request: featurestore_service.DeleteFeaturestoreRequest = None, + request: Union[featurestore_service.DeleteFeaturestoreRequest, dict] = None, *, name: str = None, force: bool = 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: @@ -555,7 +557,7 @@ async def delete_featurestore( to succeed. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteFeaturestoreRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteFeaturestoreRequest, dict]): The request object. Request message for [FeaturestoreService.DeleteFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeaturestore]. name (:class:`str`): @@ -650,18 +652,18 @@ async def delete_featurestore( async def create_entity_type( self, - request: featurestore_service.CreateEntityTypeRequest = None, + request: Union[featurestore_service.CreateEntityTypeRequest, dict] = None, *, parent: str = None, entity_type: gca_entity_type.EntityType = 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 EntityType in a given Featurestore. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateEntityTypeRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateEntityTypeRequest, dict]): The request object. Request message for [FeaturestoreService.CreateEntityType][google.cloud.aiplatform.v1.FeaturestoreService.CreateEntityType]. parent (:class:`str`): @@ -742,17 +744,17 @@ async def create_entity_type( async def get_entity_type( self, - request: featurestore_service.GetEntityTypeRequest = None, + request: Union[featurestore_service.GetEntityTypeRequest, 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]] = (), ) -> entity_type.EntityType: r"""Gets details of a single EntityType. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetEntityTypeRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetEntityTypeRequest, dict]): The request object. Request message for [FeaturestoreService.GetEntityType][google.cloud.aiplatform.v1.FeaturestoreService.GetEntityType]. name (:class:`str`): @@ -817,17 +819,17 @@ async def get_entity_type( async def list_entity_types( self, - request: featurestore_service.ListEntityTypesRequest = None, + request: Union[featurestore_service.ListEntityTypesRequest, 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.ListEntityTypesAsyncPager: r"""Lists EntityTypes in a given Featurestore. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListEntityTypesRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListEntityTypesRequest, dict]): The request object. Request message for [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes]. parent (:class:`str`): @@ -898,18 +900,18 @@ async def list_entity_types( async def update_entity_type( self, - request: featurestore_service.UpdateEntityTypeRequest = None, + request: Union[featurestore_service.UpdateEntityTypeRequest, dict] = None, *, entity_type: gca_entity_type.EntityType = 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]] = (), ) -> gca_entity_type.EntityType: r"""Updates the parameters of a single EntityType. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateEntityTypeRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateEntityTypeRequest, dict]): The request object. Request message for [FeaturestoreService.UpdateEntityType][google.cloud.aiplatform.v1.FeaturestoreService.UpdateEntityType]. entity_type (:class:`google.cloud.aiplatform_v1.types.EntityType`): @@ -999,11 +1001,11 @@ async def update_entity_type( async def delete_entity_type( self, - request: featurestore_service.DeleteEntityTypeRequest = None, + request: Union[featurestore_service.DeleteEntityTypeRequest, dict] = None, *, name: str = None, force: bool = 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: @@ -1012,7 +1014,7 @@ async def delete_entity_type( succeed. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteEntityTypeRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteEntityTypeRequest, dict]): The request object. Request message for [FeaturestoreService.DeleteEntityTypes][]. name (:class:`str`): @@ -1106,18 +1108,18 @@ async def delete_entity_type( async def create_feature( self, - request: featurestore_service.CreateFeatureRequest = None, + request: Union[featurestore_service.CreateFeatureRequest, dict] = None, *, parent: str = None, feature: gca_feature.Feature = 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 Feature in a given EntityType. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateFeatureRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateFeatureRequest, dict]): The request object. Request message for [FeaturestoreService.CreateFeature][google.cloud.aiplatform.v1.FeaturestoreService.CreateFeature]. parent (:class:`str`): @@ -1197,18 +1199,18 @@ async def create_feature( async def batch_create_features( self, - request: featurestore_service.BatchCreateFeaturesRequest = None, + request: Union[featurestore_service.BatchCreateFeaturesRequest, dict] = None, *, parent: str = None, requests: Sequence[featurestore_service.CreateFeatureRequest] = 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 batch of Features in a given EntityType. Args: - request (:class:`google.cloud.aiplatform_v1.types.BatchCreateFeaturesRequest`): + request (Union[google.cloud.aiplatform_v1.types.BatchCreateFeaturesRequest, dict]): The request object. Request message for [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1.FeaturestoreService.BatchCreateFeatures]. parent (:class:`str`): @@ -1295,17 +1297,17 @@ async def batch_create_features( async def get_feature( self, - request: featurestore_service.GetFeatureRequest = None, + request: Union[featurestore_service.GetFeatureRequest, 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]] = (), ) -> feature.Feature: r"""Gets details of a single Feature. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetFeatureRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetFeatureRequest, dict]): The request object. Request message for [FeaturestoreService.GetFeature][google.cloud.aiplatform.v1.FeaturestoreService.GetFeature]. name (:class:`str`): @@ -1369,17 +1371,17 @@ async def get_feature( async def list_features( self, - request: featurestore_service.ListFeaturesRequest = None, + request: Union[featurestore_service.ListFeaturesRequest, 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.ListFeaturesAsyncPager: r"""Lists Features in a given EntityType. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListFeaturesRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListFeaturesRequest, dict]): The request object. Request message for [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures]. parent (:class:`str`): @@ -1450,18 +1452,18 @@ async def list_features( async def update_feature( self, - request: featurestore_service.UpdateFeatureRequest = None, + request: Union[featurestore_service.UpdateFeatureRequest, dict] = None, *, feature: gca_feature.Feature = 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]] = (), ) -> gca_feature.Feature: r"""Updates the parameters of a single Feature. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateFeatureRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateFeatureRequest, dict]): The request object. Request message for [FeaturestoreService.UpdateFeature][google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeature]. feature (:class:`google.cloud.aiplatform_v1.types.Feature`): @@ -1550,17 +1552,17 @@ async def update_feature( async def delete_feature( self, - request: featurestore_service.DeleteFeatureRequest = None, + request: Union[featurestore_service.DeleteFeatureRequest, 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 Feature. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteFeatureRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteFeatureRequest, dict]): The request object. Request message for [FeaturestoreService.DeleteFeature][google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeature]. name (:class:`str`): @@ -1643,10 +1645,10 @@ async def delete_feature( async def import_feature_values( self, - request: featurestore_service.ImportFeatureValuesRequest = None, + request: Union[featurestore_service.ImportFeatureValuesRequest, dict] = None, *, entity_type: 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: @@ -1673,7 +1675,7 @@ async def import_feature_values( - Online serving cluster is under-provisioned. Args: - request (:class:`google.cloud.aiplatform_v1.types.ImportFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1.types.ImportFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ImportFeatureValues]. entity_type (:class:`str`): @@ -1750,10 +1752,10 @@ async def import_feature_values( async def batch_read_feature_values( self, - request: featurestore_service.BatchReadFeatureValuesRequest = None, + request: Union[featurestore_service.BatchReadFeatureValuesRequest, dict] = None, *, featurestore: 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: @@ -1765,7 +1767,7 @@ async def batch_read_feature_values( read instance as of each instance's read timestamp. Args: - request (:class:`google.cloud.aiplatform_v1.types.BatchReadFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1.types.BatchReadFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.BatchReadFeatureValues]. featurestore (:class:`str`): @@ -1841,10 +1843,10 @@ async def batch_read_feature_values( async def export_feature_values( self, - request: featurestore_service.ExportFeatureValuesRequest = None, + request: Union[featurestore_service.ExportFeatureValuesRequest, dict] = None, *, entity_type: 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: @@ -1852,7 +1854,7 @@ async def export_feature_values( target EntityType. Args: - request (:class:`google.cloud.aiplatform_v1.types.ExportFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1.types.ExportFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ExportFeatureValues]. entity_type (:class:`str`): @@ -1928,11 +1930,11 @@ async def export_feature_values( async def search_features( self, - request: featurestore_service.SearchFeaturesRequest = None, + request: Union[featurestore_service.SearchFeaturesRequest, dict] = None, *, location: str = None, query: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchFeaturesAsyncPager: @@ -1940,7 +1942,7 @@ async def search_features( project. Args: - request (:class:`google.cloud.aiplatform_v1.types.SearchFeaturesRequest`): + request (Union[google.cloud.aiplatform_v1.types.SearchFeaturesRequest, dict]): The request object. Request message for [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures]. location (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/featurestore_service/client.py b/google/cloud/aiplatform_v1/services/featurestore_service/client.py index 203ce40c64..b75d81c549 100644 --- a/google/cloud/aiplatform_v1/services/featurestore_service/client.py +++ b/google/cloud/aiplatform_v1/services/featurestore_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.featurestore_service import pagers @@ -413,7 +415,7 @@ def create_featurestore( *, parent: str = None, featurestore: gca_featurestore.Featurestore = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -505,7 +507,7 @@ def get_featurestore( request: Union[featurestore_service.GetFeaturestoreRequest, 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]] = (), ) -> featurestore.Featurestore: @@ -579,7 +581,7 @@ def list_featurestores( request: Union[featurestore_service.ListFeaturestoresRequest, 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.ListFeaturestoresPager: @@ -661,7 +663,7 @@ def update_featurestore( *, featurestore: gca_featurestore.Featurestore = 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]] = (), ) -> gac_operation.Operation: @@ -768,7 +770,7 @@ def delete_featurestore( *, name: str = None, force: bool = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -876,7 +878,7 @@ def create_entity_type( *, parent: str = None, entity_type: gca_entity_type.EntityType = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -967,7 +969,7 @@ def get_entity_type( request: Union[featurestore_service.GetEntityTypeRequest, 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]] = (), ) -> entity_type.EntityType: @@ -1042,7 +1044,7 @@ def list_entity_types( request: Union[featurestore_service.ListEntityTypesRequest, 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.ListEntityTypesPager: @@ -1124,7 +1126,7 @@ def update_entity_type( *, entity_type: gca_entity_type.EntityType = 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]] = (), ) -> gca_entity_type.EntityType: @@ -1225,7 +1227,7 @@ def delete_entity_type( *, name: str = None, force: bool = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1332,7 +1334,7 @@ def create_feature( *, parent: str = None, feature: gca_feature.Feature = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1423,7 +1425,7 @@ def batch_create_features( *, parent: str = None, requests: Sequence[featurestore_service.CreateFeatureRequest] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1520,7 +1522,7 @@ def get_feature( request: Union[featurestore_service.GetFeatureRequest, 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]] = (), ) -> feature.Feature: @@ -1594,7 +1596,7 @@ def list_features( request: Union[featurestore_service.ListFeaturesRequest, 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.ListFeaturesPager: @@ -1676,7 +1678,7 @@ def update_feature( *, feature: gca_feature.Feature = 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]] = (), ) -> gca_feature.Feature: @@ -1775,7 +1777,7 @@ def delete_feature( request: Union[featurestore_service.DeleteFeatureRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1868,7 +1870,7 @@ def import_feature_values( request: Union[featurestore_service.ImportFeatureValuesRequest, dict] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1975,7 +1977,7 @@ def batch_read_feature_values( request: Union[featurestore_service.BatchReadFeatureValuesRequest, dict] = None, *, featurestore: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -2068,7 +2070,7 @@ def export_feature_values( request: Union[featurestore_service.ExportFeatureValuesRequest, dict] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -2156,7 +2158,7 @@ def search_features( *, location: str = None, query: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchFeaturesPager: diff --git a/google/cloud/aiplatform_v1/services/featurestore_service/transports/base.py b/google/cloud/aiplatform_v1/services/featurestore_service/transports/base.py index 7216fae09f..a8787d6ca3 100644 --- a/google/cloud/aiplatform_v1/services/featurestore_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/featurestore_service/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 @@ -44,15 +43,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 FeaturestoreServiceTransport(abc.ABC): """Abstract transport class for FeaturestoreService.""" @@ -102,7 +92,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 @@ -135,29 +125,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 = { @@ -241,7 +208,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/aiplatform_v1/services/featurestore_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/featurestore_service/transports/grpc.py index e3a62e07bc..e257e3477f 100644 --- a/google/cloud/aiplatform_v1/services/featurestore_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/featurestore_service/transports/grpc.py @@ -118,7 +118,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/aiplatform_v1/services/featurestore_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/featurestore_service/transports/grpc_asyncio.py index c13f15d8b5..e968e40020 100644 --- a/google/cloud/aiplatform_v1/services/featurestore_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/featurestore_service/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 @@ -165,7 +164,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/aiplatform_v1/services/index_endpoint_service/async_client.py b/google/cloud/aiplatform_v1/services/index_endpoint_service/async_client.py index 79c16ec0e1..c4527cffc8 100644 --- a/google/cloud/aiplatform_v1/services/index_endpoint_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/index_endpoint_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.index_endpoint_service import pagers @@ -176,18 +178,18 @@ def __init__( async def create_index_endpoint( self, - request: index_endpoint_service.CreateIndexEndpointRequest = None, + request: Union[index_endpoint_service.CreateIndexEndpointRequest, dict] = None, *, parent: str = None, index_endpoint: gca_index_endpoint.IndexEndpoint = 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 an IndexEndpoint. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateIndexEndpointRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateIndexEndpointRequest, dict]): The request object. Request message for [IndexEndpointService.CreateIndexEndpoint][google.cloud.aiplatform.v1.IndexEndpointService.CreateIndexEndpoint]. parent (:class:`str`): @@ -268,17 +270,17 @@ async def create_index_endpoint( async def get_index_endpoint( self, - request: index_endpoint_service.GetIndexEndpointRequest = None, + request: Union[index_endpoint_service.GetIndexEndpointRequest, 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]] = (), ) -> index_endpoint.IndexEndpoint: r"""Gets an IndexEndpoint. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetIndexEndpointRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetIndexEndpointRequest, dict]): The request object. Request message for [IndexEndpointService.GetIndexEndpoint][google.cloud.aiplatform.v1.IndexEndpointService.GetIndexEndpoint] name (:class:`str`): @@ -341,17 +343,17 @@ async def get_index_endpoint( async def list_index_endpoints( self, - request: index_endpoint_service.ListIndexEndpointsRequest = None, + request: Union[index_endpoint_service.ListIndexEndpointsRequest, 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.ListIndexEndpointsAsyncPager: r"""Lists IndexEndpoints in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListIndexEndpointsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListIndexEndpointsRequest, dict]): The request object. Request message for [IndexEndpointService.ListIndexEndpoints][google.cloud.aiplatform.v1.IndexEndpointService.ListIndexEndpoints]. parent (:class:`str`): @@ -422,18 +424,18 @@ async def list_index_endpoints( async def update_index_endpoint( self, - request: index_endpoint_service.UpdateIndexEndpointRequest = None, + request: Union[index_endpoint_service.UpdateIndexEndpointRequest, dict] = None, *, index_endpoint: gca_index_endpoint.IndexEndpoint = 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]] = (), ) -> gca_index_endpoint.IndexEndpoint: r"""Updates an IndexEndpoint. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateIndexEndpointRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateIndexEndpointRequest, dict]): The request object. Request message for [IndexEndpointService.UpdateIndexEndpoint][google.cloud.aiplatform.v1.IndexEndpointService.UpdateIndexEndpoint]. index_endpoint (:class:`google.cloud.aiplatform_v1.types.IndexEndpoint`): @@ -506,17 +508,17 @@ async def update_index_endpoint( async def delete_index_endpoint( self, - request: index_endpoint_service.DeleteIndexEndpointRequest = None, + request: Union[index_endpoint_service.DeleteIndexEndpointRequest, 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 an IndexEndpoint. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteIndexEndpointRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteIndexEndpointRequest, dict]): The request object. Request message for [IndexEndpointService.DeleteIndexEndpoint][google.cloud.aiplatform.v1.IndexEndpointService.DeleteIndexEndpoint]. name (:class:`str`): @@ -599,11 +601,11 @@ async def delete_index_endpoint( async def deploy_index( self, - request: index_endpoint_service.DeployIndexRequest = None, + request: Union[index_endpoint_service.DeployIndexRequest, dict] = None, *, index_endpoint: str = None, deployed_index: gca_index_endpoint.DeployedIndex = 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: @@ -612,7 +614,7 @@ async def deploy_index( Only non-empty Indexes can be deployed. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeployIndexRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeployIndexRequest, dict]): The request object. Request message for [IndexEndpointService.DeployIndex][google.cloud.aiplatform.v1.IndexEndpointService.DeployIndex]. index_endpoint (:class:`str`): @@ -697,11 +699,11 @@ async def deploy_index( async def undeploy_index( self, - request: index_endpoint_service.UndeployIndexRequest = None, + request: Union[index_endpoint_service.UndeployIndexRequest, dict] = None, *, index_endpoint: str = None, deployed_index_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: @@ -710,7 +712,7 @@ async def undeploy_index( using. Args: - request (:class:`google.cloud.aiplatform_v1.types.UndeployIndexRequest`): + request (Union[google.cloud.aiplatform_v1.types.UndeployIndexRequest, dict]): The request object. Request message for [IndexEndpointService.UndeployIndex][google.cloud.aiplatform.v1.IndexEndpointService.UndeployIndex]. index_endpoint (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/index_endpoint_service/client.py b/google/cloud/aiplatform_v1/services/index_endpoint_service/client.py index 5dccd8300c..4a48cbc6a0 100644 --- a/google/cloud/aiplatform_v1/services/index_endpoint_service/client.py +++ b/google/cloud/aiplatform_v1/services/index_endpoint_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.index_endpoint_service import pagers @@ -379,7 +381,7 @@ def create_index_endpoint( *, parent: str = None, index_endpoint: gca_index_endpoint.IndexEndpoint = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -470,7 +472,7 @@ def get_index_endpoint( request: Union[index_endpoint_service.GetIndexEndpointRequest, 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]] = (), ) -> index_endpoint.IndexEndpoint: @@ -543,7 +545,7 @@ def list_index_endpoints( request: Union[index_endpoint_service.ListIndexEndpointsRequest, 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.ListIndexEndpointsPager: @@ -625,7 +627,7 @@ def update_index_endpoint( *, index_endpoint: gca_index_endpoint.IndexEndpoint = 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]] = (), ) -> gca_index_endpoint.IndexEndpoint: @@ -708,7 +710,7 @@ def delete_index_endpoint( request: Union[index_endpoint_service.DeleteIndexEndpointRequest, 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]] = (), ) -> gac_operation.Operation: @@ -802,7 +804,7 @@ def deploy_index( *, index_endpoint: str = None, deployed_index: gca_index_endpoint.DeployedIndex = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -900,7 +902,7 @@ def undeploy_index( *, index_endpoint: str = None, deployed_index_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: diff --git a/google/cloud/aiplatform_v1/services/index_endpoint_service/transports/base.py b/google/cloud/aiplatform_v1/services/index_endpoint_service/transports/base.py index c8566fb172..3960252e4a 100644 --- a/google/cloud/aiplatform_v1/services/index_endpoint_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/index_endpoint_service/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 @@ -41,15 +40,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 IndexEndpointServiceTransport(abc.ABC): """Abstract transport class for IndexEndpointService.""" @@ -99,7 +89,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 @@ -132,29 +122,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 = { @@ -199,7 +166,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/aiplatform_v1/services/index_endpoint_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/index_endpoint_service/transports/grpc.py index 0c865babb6..400269b953 100644 --- a/google/cloud/aiplatform_v1/services/index_endpoint_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/index_endpoint_service/transports/grpc.py @@ -114,7 +114,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/aiplatform_v1/services/index_endpoint_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/index_endpoint_service/transports/grpc_asyncio.py index 1b82f1e2b2..20201caef3 100644 --- a/google/cloud/aiplatform_v1/services/index_endpoint_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/index_endpoint_service/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 @@ -161,7 +160,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/aiplatform_v1/services/index_service/async_client.py b/google/cloud/aiplatform_v1/services/index_service/async_client.py index ae403beb5a..410550adb3 100644 --- a/google/cloud/aiplatform_v1/services/index_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/index_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.index_service import pagers @@ -175,18 +177,18 @@ def __init__( async def create_index( self, - request: index_service.CreateIndexRequest = None, + request: Union[index_service.CreateIndexRequest, dict] = None, *, parent: str = None, index: gca_index.Index = 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 an Index. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateIndexRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateIndexRequest, dict]): The request object. Request message for [IndexService.CreateIndex][google.cloud.aiplatform.v1.IndexService.CreateIndex]. parent (:class:`str`): @@ -266,17 +268,17 @@ async def create_index( async def get_index( self, - request: index_service.GetIndexRequest = None, + request: Union[index_service.GetIndexRequest, 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]] = (), ) -> index.Index: r"""Gets an Index. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetIndexRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetIndexRequest, dict]): The request object. Request message for [IndexService.GetIndex][google.cloud.aiplatform.v1.IndexService.GetIndex] name (:class:`str`): @@ -339,17 +341,17 @@ async def get_index( async def list_indexes( self, - request: index_service.ListIndexesRequest = None, + request: Union[index_service.ListIndexesRequest, 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.ListIndexesAsyncPager: r"""Lists Indexes in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListIndexesRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListIndexesRequest, dict]): The request object. Request message for [IndexService.ListIndexes][google.cloud.aiplatform.v1.IndexService.ListIndexes]. parent (:class:`str`): @@ -420,18 +422,18 @@ async def list_indexes( async def update_index( self, - request: index_service.UpdateIndexRequest = None, + request: Union[index_service.UpdateIndexRequest, dict] = None, *, index: gca_index.Index = 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 an Index. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateIndexRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateIndexRequest, dict]): The request object. Request message for [IndexService.UpdateIndex][google.cloud.aiplatform.v1.IndexService.UpdateIndex]. index (:class:`google.cloud.aiplatform_v1.types.Index`): @@ -515,10 +517,10 @@ async def update_index( async def delete_index( self, - request: index_service.DeleteIndexRequest = None, + request: Union[index_service.DeleteIndexRequest, 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: @@ -527,7 +529,7 @@ async def delete_index( had been undeployed. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteIndexRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteIndexRequest, dict]): The request object. Request message for [IndexService.DeleteIndex][google.cloud.aiplatform.v1.IndexService.DeleteIndex]. name (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/index_service/client.py b/google/cloud/aiplatform_v1/services/index_service/client.py index 9d8addac8c..5212d5bc59 100644 --- a/google/cloud/aiplatform_v1/services/index_service/client.py +++ b/google/cloud/aiplatform_v1/services/index_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.index_service import pagers @@ -379,7 +381,7 @@ def create_index( *, parent: str = None, index: gca_index.Index = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -469,7 +471,7 @@ def get_index( request: Union[index_service.GetIndexRequest, 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]] = (), ) -> index.Index: @@ -542,7 +544,7 @@ def list_indexes( request: Union[index_service.ListIndexesRequest, 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.ListIndexesPager: @@ -624,7 +626,7 @@ def update_index( *, index: gca_index.Index = 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]] = (), ) -> gac_operation.Operation: @@ -718,7 +720,7 @@ def delete_index( request: Union[index_service.DeleteIndexRequest, 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]] = (), ) -> gac_operation.Operation: diff --git a/google/cloud/aiplatform_v1/services/index_service/transports/base.py b/google/cloud/aiplatform_v1/services/index_service/transports/base.py index faa26641e6..43852a5560 100644 --- a/google/cloud/aiplatform_v1/services/index_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/index_service/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 @@ -40,15 +39,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 IndexServiceTransport(abc.ABC): """Abstract transport class for IndexService.""" @@ -98,7 +88,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 @@ -131,29 +121,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 = { @@ -184,7 +151,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/aiplatform_v1/services/index_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/index_service/transports/grpc.py index dd530b8d26..3b594c3081 100644 --- a/google/cloud/aiplatform_v1/services/index_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/index_service/transports/grpc.py @@ -114,7 +114,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/aiplatform_v1/services/index_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/index_service/transports/grpc_asyncio.py index 6daa4f7319..c31498274d 100644 --- a/google/cloud/aiplatform_v1/services/index_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/index_service/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 @@ -161,7 +160,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/aiplatform_v1/services/job_service/async_client.py b/google/cloud/aiplatform_v1/services/job_service/async_client.py index d478d59087..56a8ad2e19 100644 --- a/google/cloud/aiplatform_v1/services/job_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/job_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.job_service import pagers @@ -222,11 +224,11 @@ def __init__( async def create_custom_job( self, - request: job_service.CreateCustomJobRequest = None, + request: Union[job_service.CreateCustomJobRequest, dict] = None, *, parent: str = None, custom_job: gca_custom_job.CustomJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_custom_job.CustomJob: @@ -234,7 +236,7 @@ async def create_custom_job( will be attempted to be run. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateCustomJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateCustomJobRequest, dict]): The request object. Request message for [JobService.CreateCustomJob][google.cloud.aiplatform.v1.JobService.CreateCustomJob]. parent (:class:`str`): @@ -309,17 +311,17 @@ async def create_custom_job( async def get_custom_job( self, - request: job_service.GetCustomJobRequest = None, + request: Union[job_service.GetCustomJobRequest, 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]] = (), ) -> custom_job.CustomJob: r"""Gets a CustomJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetCustomJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetCustomJobRequest, dict]): The request object. Request message for [JobService.GetCustomJob][google.cloud.aiplatform.v1.JobService.GetCustomJob]. name (:class:`str`): @@ -386,17 +388,17 @@ async def get_custom_job( async def list_custom_jobs( self, - request: job_service.ListCustomJobsRequest = None, + request: Union[job_service.ListCustomJobsRequest, 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.ListCustomJobsAsyncPager: r"""Lists CustomJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListCustomJobsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListCustomJobsRequest, dict]): The request object. Request message for [JobService.ListCustomJobs][google.cloud.aiplatform.v1.JobService.ListCustomJobs]. parent (:class:`str`): @@ -467,17 +469,17 @@ async def list_custom_jobs( async def delete_custom_job( self, - request: job_service.DeleteCustomJobRequest = None, + request: Union[job_service.DeleteCustomJobRequest, 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 CustomJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteCustomJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteCustomJobRequest, dict]): The request object. Request message for [JobService.DeleteCustomJob][google.cloud.aiplatform.v1.JobService.DeleteCustomJob]. name (:class:`str`): @@ -560,10 +562,10 @@ async def delete_custom_job( async def cancel_custom_job( self, - request: job_service.CancelCustomJobRequest = None, + request: Union[job_service.CancelCustomJobRequest, 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]] = (), ) -> None: @@ -582,7 +584,7 @@ async def cancel_custom_job( set to ``CANCELLED``. Args: - request (:class:`google.cloud.aiplatform_v1.types.CancelCustomJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CancelCustomJobRequest, dict]): The request object. Request message for [JobService.CancelCustomJob][google.cloud.aiplatform.v1.JobService.CancelCustomJob]. name (:class:`str`): @@ -636,18 +638,18 @@ async def cancel_custom_job( async def create_data_labeling_job( self, - request: job_service.CreateDataLabelingJobRequest = None, + request: Union[job_service.CreateDataLabelingJobRequest, dict] = None, *, parent: str = None, data_labeling_job: gca_data_labeling_job.DataLabelingJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_data_labeling_job.DataLabelingJob: r"""Creates a DataLabelingJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateDataLabelingJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateDataLabelingJobRequest, dict]): The request object. Request message for [JobService.CreateDataLabelingJob][google.cloud.aiplatform.v1.JobService.CreateDataLabelingJob]. parent (:class:`str`): @@ -718,17 +720,17 @@ async def create_data_labeling_job( async def get_data_labeling_job( self, - request: job_service.GetDataLabelingJobRequest = None, + request: Union[job_service.GetDataLabelingJobRequest, 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]] = (), ) -> data_labeling_job.DataLabelingJob: r"""Gets a DataLabelingJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetDataLabelingJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetDataLabelingJobRequest, dict]): The request object. Request message for [JobService.GetDataLabelingJob][google.cloud.aiplatform.v1.JobService.GetDataLabelingJob]. name (:class:`str`): @@ -790,17 +792,17 @@ async def get_data_labeling_job( async def list_data_labeling_jobs( self, - request: job_service.ListDataLabelingJobsRequest = None, + request: Union[job_service.ListDataLabelingJobsRequest, 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.ListDataLabelingJobsAsyncPager: r"""Lists DataLabelingJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListDataLabelingJobsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListDataLabelingJobsRequest, dict]): The request object. Request message for [JobService.ListDataLabelingJobs][google.cloud.aiplatform.v1.JobService.ListDataLabelingJobs]. parent (:class:`str`): @@ -870,17 +872,17 @@ async def list_data_labeling_jobs( async def delete_data_labeling_job( self, - request: job_service.DeleteDataLabelingJobRequest = None, + request: Union[job_service.DeleteDataLabelingJobRequest, 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 DataLabelingJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteDataLabelingJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteDataLabelingJobRequest, dict]): The request object. Request message for [JobService.DeleteDataLabelingJob][google.cloud.aiplatform.v1.JobService.DeleteDataLabelingJob]. name (:class:`str`): @@ -963,10 +965,10 @@ async def delete_data_labeling_job( async def cancel_data_labeling_job( self, - request: job_service.CancelDataLabelingJobRequest = None, + request: Union[job_service.CancelDataLabelingJobRequest, 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]] = (), ) -> None: @@ -974,7 +976,7 @@ async def cancel_data_labeling_job( not guaranteed. Args: - request (:class:`google.cloud.aiplatform_v1.types.CancelDataLabelingJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CancelDataLabelingJobRequest, dict]): The request object. Request message for [JobService.CancelDataLabelingJob][google.cloud.aiplatform.v1.JobService.CancelDataLabelingJob]. name (:class:`str`): @@ -1028,18 +1030,18 @@ async def cancel_data_labeling_job( async def create_hyperparameter_tuning_job( self, - request: job_service.CreateHyperparameterTuningJobRequest = None, + request: Union[job_service.CreateHyperparameterTuningJobRequest, dict] = None, *, parent: str = None, hyperparameter_tuning_job: gca_hyperparameter_tuning_job.HyperparameterTuningJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_hyperparameter_tuning_job.HyperparameterTuningJob: r"""Creates a HyperparameterTuningJob Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateHyperparameterTuningJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateHyperparameterTuningJobRequest, dict]): The request object. Request message for [JobService.CreateHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.CreateHyperparameterTuningJob]. parent (:class:`str`): @@ -1112,17 +1114,17 @@ async def create_hyperparameter_tuning_job( async def get_hyperparameter_tuning_job( self, - request: job_service.GetHyperparameterTuningJobRequest = None, + request: Union[job_service.GetHyperparameterTuningJobRequest, 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]] = (), ) -> hyperparameter_tuning_job.HyperparameterTuningJob: r"""Gets a HyperparameterTuningJob Args: - request (:class:`google.cloud.aiplatform_v1.types.GetHyperparameterTuningJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetHyperparameterTuningJobRequest, dict]): The request object. Request message for [JobService.GetHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.GetHyperparameterTuningJob]. name (:class:`str`): @@ -1186,17 +1188,17 @@ async def get_hyperparameter_tuning_job( async def list_hyperparameter_tuning_jobs( self, - request: job_service.ListHyperparameterTuningJobsRequest = None, + request: Union[job_service.ListHyperparameterTuningJobsRequest, 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.ListHyperparameterTuningJobsAsyncPager: r"""Lists HyperparameterTuningJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListHyperparameterTuningJobsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListHyperparameterTuningJobsRequest, dict]): The request object. Request message for [JobService.ListHyperparameterTuningJobs][google.cloud.aiplatform.v1.JobService.ListHyperparameterTuningJobs]. parent (:class:`str`): @@ -1267,17 +1269,17 @@ async def list_hyperparameter_tuning_jobs( async def delete_hyperparameter_tuning_job( self, - request: job_service.DeleteHyperparameterTuningJobRequest = None, + request: Union[job_service.DeleteHyperparameterTuningJobRequest, 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 HyperparameterTuningJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteHyperparameterTuningJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteHyperparameterTuningJobRequest, dict]): The request object. Request message for [JobService.DeleteHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.DeleteHyperparameterTuningJob]. name (:class:`str`): @@ -1360,10 +1362,10 @@ async def delete_hyperparameter_tuning_job( async def cancel_hyperparameter_tuning_job( self, - request: job_service.CancelHyperparameterTuningJobRequest = None, + request: Union[job_service.CancelHyperparameterTuningJobRequest, 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]] = (), ) -> None: @@ -1383,7 +1385,7 @@ async def cancel_hyperparameter_tuning_job( is set to ``CANCELLED``. Args: - request (:class:`google.cloud.aiplatform_v1.types.CancelHyperparameterTuningJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CancelHyperparameterTuningJobRequest, dict]): The request object. Request message for [JobService.CancelHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.CancelHyperparameterTuningJob]. name (:class:`str`): @@ -1438,11 +1440,11 @@ async def cancel_hyperparameter_tuning_job( async def create_batch_prediction_job( self, - request: job_service.CreateBatchPredictionJobRequest = None, + request: Union[job_service.CreateBatchPredictionJobRequest, dict] = None, *, parent: str = None, batch_prediction_job: gca_batch_prediction_job.BatchPredictionJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_batch_prediction_job.BatchPredictionJob: @@ -1450,7 +1452,7 @@ async def create_batch_prediction_job( once created will right away be attempted to start. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateBatchPredictionJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateBatchPredictionJobRequest, dict]): The request object. Request message for [JobService.CreateBatchPredictionJob][google.cloud.aiplatform.v1.JobService.CreateBatchPredictionJob]. parent (:class:`str`): @@ -1525,17 +1527,17 @@ async def create_batch_prediction_job( async def get_batch_prediction_job( self, - request: job_service.GetBatchPredictionJobRequest = None, + request: Union[job_service.GetBatchPredictionJobRequest, 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]] = (), ) -> batch_prediction_job.BatchPredictionJob: r"""Gets a BatchPredictionJob Args: - request (:class:`google.cloud.aiplatform_v1.types.GetBatchPredictionJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetBatchPredictionJobRequest, dict]): The request object. Request message for [JobService.GetBatchPredictionJob][google.cloud.aiplatform.v1.JobService.GetBatchPredictionJob]. name (:class:`str`): @@ -1601,17 +1603,17 @@ async def get_batch_prediction_job( async def list_batch_prediction_jobs( self, - request: job_service.ListBatchPredictionJobsRequest = None, + request: Union[job_service.ListBatchPredictionJobsRequest, 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.ListBatchPredictionJobsAsyncPager: r"""Lists BatchPredictionJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListBatchPredictionJobsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListBatchPredictionJobsRequest, dict]): The request object. Request message for [JobService.ListBatchPredictionJobs][google.cloud.aiplatform.v1.JobService.ListBatchPredictionJobs]. parent (:class:`str`): @@ -1682,10 +1684,10 @@ async def list_batch_prediction_jobs( async def delete_batch_prediction_job( self, - request: job_service.DeleteBatchPredictionJobRequest = None, + request: Union[job_service.DeleteBatchPredictionJobRequest, 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: @@ -1693,7 +1695,7 @@ async def delete_batch_prediction_job( jobs that already finished. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteBatchPredictionJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteBatchPredictionJobRequest, dict]): The request object. Request message for [JobService.DeleteBatchPredictionJob][google.cloud.aiplatform.v1.JobService.DeleteBatchPredictionJob]. name (:class:`str`): @@ -1776,10 +1778,10 @@ async def delete_batch_prediction_job( async def cancel_batch_prediction_job( self, - request: job_service.CancelBatchPredictionJobRequest = None, + request: Union[job_service.CancelBatchPredictionJobRequest, 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]] = (), ) -> None: @@ -1797,7 +1799,7 @@ async def cancel_batch_prediction_job( are not deleted. Args: - request (:class:`google.cloud.aiplatform_v1.types.CancelBatchPredictionJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CancelBatchPredictionJobRequest, dict]): The request object. Request message for [JobService.CancelBatchPredictionJob][google.cloud.aiplatform.v1.JobService.CancelBatchPredictionJob]. name (:class:`str`): @@ -1852,11 +1854,13 @@ async def cancel_batch_prediction_job( async def create_model_deployment_monitoring_job( self, - request: job_service.CreateModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.CreateModelDeploymentMonitoringJobRequest, dict + ] = None, *, parent: str = None, model_deployment_monitoring_job: gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob: @@ -1864,7 +1868,7 @@ async def create_model_deployment_monitoring_job( periodically on a configured interval. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.CreateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.CreateModelDeploymentMonitoringJob]. parent (:class:`str`): @@ -1938,11 +1942,13 @@ async def create_model_deployment_monitoring_job( async def search_model_deployment_monitoring_stats_anomalies( self, - request: job_service.SearchModelDeploymentMonitoringStatsAnomaliesRequest = None, + request: Union[ + job_service.SearchModelDeploymentMonitoringStatsAnomaliesRequest, dict + ] = None, *, model_deployment_monitoring_job: str = None, deployed_model_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchModelDeploymentMonitoringStatsAnomaliesAsyncPager: @@ -1950,7 +1956,7 @@ async def search_model_deployment_monitoring_stats_anomalies( a given time window. Args: - request (:class:`google.cloud.aiplatform_v1.types.SearchModelDeploymentMonitoringStatsAnomaliesRequest`): + request (Union[google.cloud.aiplatform_v1.types.SearchModelDeploymentMonitoringStatsAnomaliesRequest, dict]): The request object. Request message for [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1.JobService.SearchModelDeploymentMonitoringStatsAnomalies]. model_deployment_monitoring_job (:class:`str`): @@ -2039,17 +2045,17 @@ async def search_model_deployment_monitoring_stats_anomalies( async def get_model_deployment_monitoring_job( self, - request: job_service.GetModelDeploymentMonitoringJobRequest = None, + request: Union[job_service.GetModelDeploymentMonitoringJobRequest, 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]] = (), ) -> model_deployment_monitoring_job.ModelDeploymentMonitoringJob: r"""Gets a ModelDeploymentMonitoringJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.GetModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.GetModelDeploymentMonitoringJob]. name (:class:`str`): @@ -2114,17 +2120,19 @@ async def get_model_deployment_monitoring_job( async def list_model_deployment_monitoring_jobs( self, - request: job_service.ListModelDeploymentMonitoringJobsRequest = None, + request: Union[ + job_service.ListModelDeploymentMonitoringJobsRequest, 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.ListModelDeploymentMonitoringJobsAsyncPager: r"""Lists ModelDeploymentMonitoringJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListModelDeploymentMonitoringJobsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListModelDeploymentMonitoringJobsRequest, dict]): The request object. Request message for [JobService.ListModelDeploymentMonitoringJobs][google.cloud.aiplatform.v1.JobService.ListModelDeploymentMonitoringJobs]. parent (:class:`str`): @@ -2195,18 +2203,20 @@ async def list_model_deployment_monitoring_jobs( async def update_model_deployment_monitoring_job( self, - request: job_service.UpdateModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.UpdateModelDeploymentMonitoringJobRequest, dict + ] = None, *, model_deployment_monitoring_job: gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob = 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 a ModelDeploymentMonitoringJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.UpdateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.UpdateModelDeploymentMonitoringJob]. model_deployment_monitoring_job (:class:`google.cloud.aiplatform_v1.types.ModelDeploymentMonitoringJob`): @@ -2321,17 +2331,19 @@ async def update_model_deployment_monitoring_job( async def delete_model_deployment_monitoring_job( self, - request: job_service.DeleteModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.DeleteModelDeploymentMonitoringJobRequest, 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 ModelDeploymentMonitoringJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.DeleteModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.DeleteModelDeploymentMonitoringJob]. name (:class:`str`): @@ -2414,10 +2426,12 @@ async def delete_model_deployment_monitoring_job( async def pause_model_deployment_monitoring_job( self, - request: job_service.PauseModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.PauseModelDeploymentMonitoringJobRequest, 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]] = (), ) -> None: @@ -2427,7 +2441,7 @@ async def pause_model_deployment_monitoring_job( to 'PAUSED'. Args: - request (:class:`google.cloud.aiplatform_v1.types.PauseModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.PauseModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.PauseModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.PauseModelDeploymentMonitoringJob]. name (:class:`str`): @@ -2482,10 +2496,12 @@ async def pause_model_deployment_monitoring_job( async def resume_model_deployment_monitoring_job( self, - request: job_service.ResumeModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.ResumeModelDeploymentMonitoringJobRequest, 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]] = (), ) -> None: @@ -2494,7 +2510,7 @@ async def resume_model_deployment_monitoring_job( ModelDeploymentMonitoringJob can't be resumed. Args: - request (:class:`google.cloud.aiplatform_v1.types.ResumeModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.ResumeModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.ResumeModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.ResumeModelDeploymentMonitoringJob]. name (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/job_service/client.py b/google/cloud/aiplatform_v1/services/job_service/client.py index 1424c8f913..86423b1abc 100644 --- a/google/cloud/aiplatform_v1/services/job_service/client.py +++ b/google/cloud/aiplatform_v1/services/job_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.job_service import pagers @@ -543,7 +545,7 @@ def create_custom_job( *, parent: str = None, custom_job: gca_custom_job.CustomJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_custom_job.CustomJob: @@ -629,7 +631,7 @@ def get_custom_job( request: Union[job_service.GetCustomJobRequest, 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]] = (), ) -> custom_job.CustomJob: @@ -706,7 +708,7 @@ def list_custom_jobs( request: Union[job_service.ListCustomJobsRequest, 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.ListCustomJobsPager: @@ -787,7 +789,7 @@ def delete_custom_job( request: Union[job_service.DeleteCustomJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -880,7 +882,7 @@ def cancel_custom_job( request: Union[job_service.CancelCustomJobRequest, 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]] = (), ) -> None: @@ -957,7 +959,7 @@ def create_data_labeling_job( *, parent: str = None, data_labeling_job: gca_data_labeling_job.DataLabelingJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_data_labeling_job.DataLabelingJob: @@ -1038,7 +1040,7 @@ def get_data_labeling_job( request: Union[job_service.GetDataLabelingJobRequest, 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]] = (), ) -> data_labeling_job.DataLabelingJob: @@ -1110,7 +1112,7 @@ def list_data_labeling_jobs( request: Union[job_service.ListDataLabelingJobsRequest, 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.ListDataLabelingJobsPager: @@ -1190,7 +1192,7 @@ def delete_data_labeling_job( request: Union[job_service.DeleteDataLabelingJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1283,7 +1285,7 @@ def cancel_data_labeling_job( request: Union[job_service.CancelDataLabelingJobRequest, 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]] = (), ) -> None: @@ -1349,7 +1351,7 @@ def create_hyperparameter_tuning_job( *, parent: str = None, hyperparameter_tuning_job: gca_hyperparameter_tuning_job.HyperparameterTuningJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_hyperparameter_tuning_job.HyperparameterTuningJob: @@ -1434,7 +1436,7 @@ def get_hyperparameter_tuning_job( request: Union[job_service.GetHyperparameterTuningJobRequest, 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]] = (), ) -> hyperparameter_tuning_job.HyperparameterTuningJob: @@ -1510,7 +1512,7 @@ def list_hyperparameter_tuning_jobs( request: Union[job_service.ListHyperparameterTuningJobsRequest, 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.ListHyperparameterTuningJobsPager: @@ -1593,7 +1595,7 @@ def delete_hyperparameter_tuning_job( request: Union[job_service.DeleteHyperparameterTuningJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1688,7 +1690,7 @@ def cancel_hyperparameter_tuning_job( request: Union[job_service.CancelHyperparameterTuningJobRequest, 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]] = (), ) -> None: @@ -1769,7 +1771,7 @@ def create_batch_prediction_job( *, parent: str = None, batch_prediction_job: gca_batch_prediction_job.BatchPredictionJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_batch_prediction_job.BatchPredictionJob: @@ -1857,7 +1859,7 @@ def get_batch_prediction_job( request: Union[job_service.GetBatchPredictionJobRequest, 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]] = (), ) -> batch_prediction_job.BatchPredictionJob: @@ -1933,7 +1935,7 @@ def list_batch_prediction_jobs( request: Union[job_service.ListBatchPredictionJobsRequest, 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.ListBatchPredictionJobsPager: @@ -2016,7 +2018,7 @@ def delete_batch_prediction_job( request: Union[job_service.DeleteBatchPredictionJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -2112,7 +2114,7 @@ def cancel_batch_prediction_job( request: Union[job_service.CancelBatchPredictionJobRequest, 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]] = (), ) -> None: @@ -2193,7 +2195,7 @@ def create_model_deployment_monitoring_job( *, parent: str = None, model_deployment_monitoring_job: gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob: @@ -2287,7 +2289,7 @@ def search_model_deployment_monitoring_stats_anomalies( *, model_deployment_monitoring_job: str = None, deployed_model_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchModelDeploymentMonitoringStatsAnomaliesPager: @@ -2393,7 +2395,7 @@ def get_model_deployment_monitoring_job( request: Union[job_service.GetModelDeploymentMonitoringJobRequest, 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]] = (), ) -> model_deployment_monitoring_job.ModelDeploymentMonitoringJob: @@ -2472,7 +2474,7 @@ def list_model_deployment_monitoring_jobs( ] = 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.ListModelDeploymentMonitoringJobsPager: @@ -2560,7 +2562,7 @@ def update_model_deployment_monitoring_job( *, model_deployment_monitoring_job: gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob = 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]] = (), ) -> gac_operation.Operation: @@ -2693,7 +2695,7 @@ def delete_model_deployment_monitoring_job( ] = 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]] = (), ) -> gac_operation.Operation: @@ -2792,7 +2794,7 @@ def pause_model_deployment_monitoring_job( ] = 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]] = (), ) -> None: @@ -2866,7 +2868,7 @@ def resume_model_deployment_monitoring_job( ] = 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]] = (), ) -> None: diff --git a/google/cloud/aiplatform_v1/services/job_service/transports/base.py b/google/cloud/aiplatform_v1/services/job_service/transports/base.py index 0a85cd8ce5..199c5d5ebc 100644 --- a/google/cloud/aiplatform_v1/services/job_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/job_service/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 @@ -56,15 +55,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 JobServiceTransport(abc.ABC): """Abstract transport class for JobService.""" @@ -114,7 +104,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 @@ -147,29 +137,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 = { @@ -315,7 +282,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/aiplatform_v1/services/job_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/job_service/transports/grpc.py index 796fcf5e9f..6200d15bb7 100644 --- a/google/cloud/aiplatform_v1/services/job_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/job_service/transports/grpc.py @@ -129,7 +129,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/aiplatform_v1/services/job_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/job_service/transports/grpc_asyncio.py index 1d49390260..8a717a0c2b 100644 --- a/google/cloud/aiplatform_v1/services/job_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/job_service/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 @@ -176,7 +175,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/aiplatform_v1/services/metadata_service/async_client.py b/google/cloud/aiplatform_v1/services/metadata_service/async_client.py index 981d1069c5..d71aacae41 100644 --- a/google/cloud/aiplatform_v1/services/metadata_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/metadata_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.metadata_service import pagers @@ -195,12 +197,12 @@ def __init__( async def create_metadata_store( self, - request: metadata_service.CreateMetadataStoreRequest = None, + request: Union[metadata_service.CreateMetadataStoreRequest, dict] = None, *, parent: str = None, metadata_store: gca_metadata_store.MetadataStore = None, metadata_store_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: @@ -208,7 +210,7 @@ async def create_metadata_store( resources. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateMetadataStoreRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateMetadataStoreRequest, dict]): The request object. Request message for [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1.MetadataService.CreateMetadataStore]. parent (:class:`str`): @@ -306,17 +308,17 @@ async def create_metadata_store( async def get_metadata_store( self, - request: metadata_service.GetMetadataStoreRequest = None, + request: Union[metadata_service.GetMetadataStoreRequest, 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]] = (), ) -> metadata_store.MetadataStore: r"""Retrieves a specific MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetMetadataStoreRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetMetadataStoreRequest, dict]): The request object. Request message for [MetadataService.GetMetadataStore][google.cloud.aiplatform.v1.MetadataService.GetMetadataStore]. name (:class:`str`): @@ -379,17 +381,17 @@ async def get_metadata_store( async def list_metadata_stores( self, - request: metadata_service.ListMetadataStoresRequest = None, + request: Union[metadata_service.ListMetadataStoresRequest, 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.ListMetadataStoresAsyncPager: r"""Lists MetadataStores for a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListMetadataStoresRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListMetadataStoresRequest, dict]): The request object. Request message for [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1.MetadataService.ListMetadataStores]. parent (:class:`str`): @@ -460,10 +462,10 @@ async def list_metadata_stores( async def delete_metadata_store( self, - request: metadata_service.DeleteMetadataStoreRequest = None, + request: Union[metadata_service.DeleteMetadataStoreRequest, 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: @@ -471,7 +473,7 @@ async def delete_metadata_store( resources (Artifacts, Executions, and Contexts). Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteMetadataStoreRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteMetadataStoreRequest, dict]): The request object. Request message for [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1.MetadataService.DeleteMetadataStore]. name (:class:`str`): @@ -554,19 +556,19 @@ async def delete_metadata_store( async def create_artifact( self, - request: metadata_service.CreateArtifactRequest = None, + request: Union[metadata_service.CreateArtifactRequest, dict] = None, *, parent: str = None, artifact: gca_artifact.Artifact = None, artifact_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_artifact.Artifact: r"""Creates an Artifact associated with a MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateArtifactRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateArtifactRequest, dict]): The request object. Request message for [MetadataService.CreateArtifact][google.cloud.aiplatform.v1.MetadataService.CreateArtifact]. parent (:class:`str`): @@ -650,17 +652,17 @@ async def create_artifact( async def get_artifact( self, - request: metadata_service.GetArtifactRequest = None, + request: Union[metadata_service.GetArtifactRequest, 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]] = (), ) -> artifact.Artifact: r"""Retrieves a specific Artifact. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetArtifactRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetArtifactRequest, dict]): The request object. Request message for [MetadataService.GetArtifact][google.cloud.aiplatform.v1.MetadataService.GetArtifact]. name (:class:`str`): @@ -720,17 +722,17 @@ async def get_artifact( async def list_artifacts( self, - request: metadata_service.ListArtifactsRequest = None, + request: Union[metadata_service.ListArtifactsRequest, 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.ListArtifactsAsyncPager: r"""Lists Artifacts in the MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListArtifactsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListArtifactsRequest, dict]): The request object. Request message for [MetadataService.ListArtifacts][google.cloud.aiplatform.v1.MetadataService.ListArtifacts]. parent (:class:`str`): @@ -801,18 +803,18 @@ async def list_artifacts( async def update_artifact( self, - request: metadata_service.UpdateArtifactRequest = None, + request: Union[metadata_service.UpdateArtifactRequest, dict] = None, *, artifact: gca_artifact.Artifact = 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]] = (), ) -> gca_artifact.Artifact: r"""Updates a stored Artifact. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateArtifactRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateArtifactRequest, dict]): The request object. Request message for [MetadataService.UpdateArtifact][google.cloud.aiplatform.v1.MetadataService.UpdateArtifact]. artifact (:class:`google.cloud.aiplatform_v1.types.Artifact`): @@ -888,17 +890,17 @@ async def update_artifact( async def delete_artifact( self, - request: metadata_service.DeleteArtifactRequest = None, + request: Union[metadata_service.DeleteArtifactRequest, 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 an Artifact. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteArtifactRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteArtifactRequest, dict]): The request object. Request message for [MetadataService.DeleteArtifact][google.cloud.aiplatform.v1.MetadataService.DeleteArtifact]. name (:class:`str`): @@ -981,17 +983,17 @@ async def delete_artifact( async def purge_artifacts( self, - request: metadata_service.PurgeArtifactsRequest = None, + request: Union[metadata_service.PurgeArtifactsRequest, 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]] = (), ) -> operation_async.AsyncOperation: r"""Purges Artifacts. Args: - request (:class:`google.cloud.aiplatform_v1.types.PurgeArtifactsRequest`): + request (Union[google.cloud.aiplatform_v1.types.PurgeArtifactsRequest, dict]): The request object. Request message for [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1.MetadataService.PurgeArtifacts]. parent (:class:`str`): @@ -1065,19 +1067,19 @@ async def purge_artifacts( async def create_context( self, - request: metadata_service.CreateContextRequest = None, + request: Union[metadata_service.CreateContextRequest, dict] = None, *, parent: str = None, context: gca_context.Context = None, context_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_context.Context: r"""Creates a Context associated with a MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateContextRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateContextRequest, dict]): The request object. Request message for [MetadataService.CreateContext][google.cloud.aiplatform.v1.MetadataService.CreateContext]. parent (:class:`str`): @@ -1161,17 +1163,17 @@ async def create_context( async def get_context( self, - request: metadata_service.GetContextRequest = None, + request: Union[metadata_service.GetContextRequest, 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]] = (), ) -> context.Context: r"""Retrieves a specific Context. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetContextRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetContextRequest, dict]): The request object. Request message for [MetadataService.GetContext][google.cloud.aiplatform.v1.MetadataService.GetContext]. name (:class:`str`): @@ -1231,17 +1233,17 @@ async def get_context( async def list_contexts( self, - request: metadata_service.ListContextsRequest = None, + request: Union[metadata_service.ListContextsRequest, 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.ListContextsAsyncPager: r"""Lists Contexts on the MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListContextsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListContextsRequest, dict]): The request object. Request message for [MetadataService.ListContexts][google.cloud.aiplatform.v1.MetadataService.ListContexts] parent (:class:`str`): @@ -1312,18 +1314,18 @@ async def list_contexts( async def update_context( self, - request: metadata_service.UpdateContextRequest = None, + request: Union[metadata_service.UpdateContextRequest, dict] = None, *, context: gca_context.Context = 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]] = (), ) -> gca_context.Context: r"""Updates a stored Context. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateContextRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateContextRequest, dict]): The request object. Request message for [MetadataService.UpdateContext][google.cloud.aiplatform.v1.MetadataService.UpdateContext]. context (:class:`google.cloud.aiplatform_v1.types.Context`): @@ -1398,17 +1400,17 @@ async def update_context( async def delete_context( self, - request: metadata_service.DeleteContextRequest = None, + request: Union[metadata_service.DeleteContextRequest, 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 stored Context. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteContextRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteContextRequest, dict]): The request object. Request message for [MetadataService.DeleteContext][google.cloud.aiplatform.v1.MetadataService.DeleteContext]. name (:class:`str`): @@ -1491,17 +1493,17 @@ async def delete_context( async def purge_contexts( self, - request: metadata_service.PurgeContextsRequest = None, + request: Union[metadata_service.PurgeContextsRequest, 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]] = (), ) -> operation_async.AsyncOperation: r"""Purges Contexts. Args: - request (:class:`google.cloud.aiplatform_v1.types.PurgeContextsRequest`): + request (Union[google.cloud.aiplatform_v1.types.PurgeContextsRequest, dict]): The request object. Request message for [MetadataService.PurgeContexts][google.cloud.aiplatform.v1.MetadataService.PurgeContexts]. parent (:class:`str`): @@ -1575,12 +1577,14 @@ async def purge_contexts( async def add_context_artifacts_and_executions( self, - request: metadata_service.AddContextArtifactsAndExecutionsRequest = None, + request: Union[ + metadata_service.AddContextArtifactsAndExecutionsRequest, dict + ] = None, *, context: str = None, artifacts: Sequence[str] = None, executions: Sequence[str] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddContextArtifactsAndExecutionsResponse: @@ -1589,7 +1593,7 @@ async def add_context_artifacts_and_executions( added to a Context, they are simply skipped. Args: - request (:class:`google.cloud.aiplatform_v1.types.AddContextArtifactsAndExecutionsRequest`): + request (Union[google.cloud.aiplatform_v1.types.AddContextArtifactsAndExecutionsRequest, dict]): The request object. Request message for [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1.MetadataService.AddContextArtifactsAndExecutions]. context (:class:`str`): @@ -1675,11 +1679,11 @@ async def add_context_artifacts_and_executions( async def add_context_children( self, - request: metadata_service.AddContextChildrenRequest = None, + request: Union[metadata_service.AddContextChildrenRequest, dict] = None, *, context: str = None, child_contexts: Sequence[str] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddContextChildrenResponse: @@ -1690,7 +1694,7 @@ async def add_context_children( request will fail with an INVALID_ARGUMENT error. Args: - request (:class:`google.cloud.aiplatform_v1.types.AddContextChildrenRequest`): + request (Union[google.cloud.aiplatform_v1.types.AddContextChildrenRequest, dict]): The request object. Request message for [MetadataService.AddContextChildren][google.cloud.aiplatform.v1.MetadataService.AddContextChildren]. context (:class:`str`): @@ -1762,10 +1766,12 @@ async def add_context_children( async def query_context_lineage_subgraph( self, - request: metadata_service.QueryContextLineageSubgraphRequest = None, + request: Union[ + metadata_service.QueryContextLineageSubgraphRequest, dict + ] = None, *, context: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -1774,7 +1780,7 @@ async def query_context_lineage_subgraph( as a LineageSubgraph. Args: - request (:class:`google.cloud.aiplatform_v1.types.QueryContextLineageSubgraphRequest`): + request (Union[google.cloud.aiplatform_v1.types.QueryContextLineageSubgraphRequest, dict]): The request object. Request message for [MetadataService.QueryContextLineageSubgraph][google.cloud.aiplatform.v1.MetadataService.QueryContextLineageSubgraph]. context (:class:`str`): @@ -1843,19 +1849,19 @@ async def query_context_lineage_subgraph( async def create_execution( self, - request: metadata_service.CreateExecutionRequest = None, + request: Union[metadata_service.CreateExecutionRequest, dict] = None, *, parent: str = None, execution: gca_execution.Execution = None, execution_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_execution.Execution: r"""Creates an Execution associated with a MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateExecutionRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateExecutionRequest, dict]): The request object. Request message for [MetadataService.CreateExecution][google.cloud.aiplatform.v1.MetadataService.CreateExecution]. parent (:class:`str`): @@ -1939,17 +1945,17 @@ async def create_execution( async def get_execution( self, - request: metadata_service.GetExecutionRequest = None, + request: Union[metadata_service.GetExecutionRequest, 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]] = (), ) -> execution.Execution: r"""Retrieves a specific Execution. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetExecutionRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetExecutionRequest, dict]): The request object. Request message for [MetadataService.GetExecution][google.cloud.aiplatform.v1.MetadataService.GetExecution]. name (:class:`str`): @@ -2009,17 +2015,17 @@ async def get_execution( async def list_executions( self, - request: metadata_service.ListExecutionsRequest = None, + request: Union[metadata_service.ListExecutionsRequest, 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.ListExecutionsAsyncPager: r"""Lists Executions in the MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListExecutionsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListExecutionsRequest, dict]): The request object. Request message for [MetadataService.ListExecutions][google.cloud.aiplatform.v1.MetadataService.ListExecutions]. parent (:class:`str`): @@ -2090,18 +2096,18 @@ async def list_executions( async def update_execution( self, - request: metadata_service.UpdateExecutionRequest = None, + request: Union[metadata_service.UpdateExecutionRequest, dict] = None, *, execution: gca_execution.Execution = 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]] = (), ) -> gca_execution.Execution: r"""Updates a stored Execution. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateExecutionRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateExecutionRequest, dict]): The request object. Request message for [MetadataService.UpdateExecution][google.cloud.aiplatform.v1.MetadataService.UpdateExecution]. execution (:class:`google.cloud.aiplatform_v1.types.Execution`): @@ -2177,17 +2183,17 @@ async def update_execution( async def delete_execution( self, - request: metadata_service.DeleteExecutionRequest = None, + request: Union[metadata_service.DeleteExecutionRequest, 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 an Execution. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteExecutionRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteExecutionRequest, dict]): The request object. Request message for [MetadataService.DeleteExecution][google.cloud.aiplatform.v1.MetadataService.DeleteExecution]. name (:class:`str`): @@ -2270,17 +2276,17 @@ async def delete_execution( async def purge_executions( self, - request: metadata_service.PurgeExecutionsRequest = None, + request: Union[metadata_service.PurgeExecutionsRequest, 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]] = (), ) -> operation_async.AsyncOperation: r"""Purges Executions. Args: - request (:class:`google.cloud.aiplatform_v1.types.PurgeExecutionsRequest`): + request (Union[google.cloud.aiplatform_v1.types.PurgeExecutionsRequest, dict]): The request object. Request message for [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1.MetadataService.PurgeExecutions]. parent (:class:`str`): @@ -2354,11 +2360,11 @@ async def purge_executions( async def add_execution_events( self, - request: metadata_service.AddExecutionEventsRequest = None, + request: Union[metadata_service.AddExecutionEventsRequest, dict] = None, *, execution: str = None, events: Sequence[event.Event] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddExecutionEventsResponse: @@ -2369,7 +2375,7 @@ async def add_execution_events( skipped. Args: - request (:class:`google.cloud.aiplatform_v1.types.AddExecutionEventsRequest`): + request (Union[google.cloud.aiplatform_v1.types.AddExecutionEventsRequest, dict]): The request object. Request message for [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1.MetadataService.AddExecutionEvents]. execution (:class:`str`): @@ -2440,10 +2446,12 @@ async def add_execution_events( async def query_execution_inputs_and_outputs( self, - request: metadata_service.QueryExecutionInputsAndOutputsRequest = None, + request: Union[ + metadata_service.QueryExecutionInputsAndOutputsRequest, dict + ] = None, *, execution: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -2452,7 +2460,7 @@ async def query_execution_inputs_and_outputs( contains the Execution and connecting Events. Args: - request (:class:`google.cloud.aiplatform_v1.types.QueryExecutionInputsAndOutputsRequest`): + request (Union[google.cloud.aiplatform_v1.types.QueryExecutionInputsAndOutputsRequest, dict]): The request object. Request message for [MetadataService.QueryExecutionInputsAndOutputs][google.cloud.aiplatform.v1.MetadataService.QueryExecutionInputsAndOutputs]. execution (:class:`str`): @@ -2518,19 +2526,19 @@ async def query_execution_inputs_and_outputs( async def create_metadata_schema( self, - request: metadata_service.CreateMetadataSchemaRequest = None, + request: Union[metadata_service.CreateMetadataSchemaRequest, dict] = None, *, parent: str = None, metadata_schema: gca_metadata_schema.MetadataSchema = None, metadata_schema_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_metadata_schema.MetadataSchema: r"""Creates a MetadataSchema. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateMetadataSchemaRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateMetadataSchemaRequest, dict]): The request object. Request message for [MetadataService.CreateMetadataSchema][google.cloud.aiplatform.v1.MetadataService.CreateMetadataSchema]. parent (:class:`str`): @@ -2616,17 +2624,17 @@ async def create_metadata_schema( async def get_metadata_schema( self, - request: metadata_service.GetMetadataSchemaRequest = None, + request: Union[metadata_service.GetMetadataSchemaRequest, 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]] = (), ) -> metadata_schema.MetadataSchema: r"""Retrieves a specific MetadataSchema. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetMetadataSchemaRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetMetadataSchemaRequest, dict]): The request object. Request message for [MetadataService.GetMetadataSchema][google.cloud.aiplatform.v1.MetadataService.GetMetadataSchema]. name (:class:`str`): @@ -2686,17 +2694,17 @@ async def get_metadata_schema( async def list_metadata_schemas( self, - request: metadata_service.ListMetadataSchemasRequest = None, + request: Union[metadata_service.ListMetadataSchemasRequest, 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.ListMetadataSchemasAsyncPager: r"""Lists MetadataSchemas. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListMetadataSchemasRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListMetadataSchemasRequest, dict]): The request object. Request message for [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1.MetadataService.ListMetadataSchemas]. parent (:class:`str`): @@ -2767,10 +2775,12 @@ async def list_metadata_schemas( async def query_artifact_lineage_subgraph( self, - request: metadata_service.QueryArtifactLineageSubgraphRequest = None, + request: Union[ + metadata_service.QueryArtifactLineageSubgraphRequest, dict + ] = None, *, artifact: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -2779,7 +2789,7 @@ async def query_artifact_lineage_subgraph( returned as a LineageSubgraph. Args: - request (:class:`google.cloud.aiplatform_v1.types.QueryArtifactLineageSubgraphRequest`): + request (Union[google.cloud.aiplatform_v1.types.QueryArtifactLineageSubgraphRequest, dict]): The request object. Request message for [MetadataService.QueryArtifactLineageSubgraph][google.cloud.aiplatform.v1.MetadataService.QueryArtifactLineageSubgraph]. artifact (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/metadata_service/client.py b/google/cloud/aiplatform_v1/services/metadata_service/client.py index 81dbffae47..bfb27e8dc2 100644 --- a/google/cloud/aiplatform_v1/services/metadata_service/client.py +++ b/google/cloud/aiplatform_v1/services/metadata_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.metadata_service import pagers @@ -458,7 +460,7 @@ def create_metadata_store( parent: str = None, metadata_store: gca_metadata_store.MetadataStore = None, metadata_store_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -567,7 +569,7 @@ def get_metadata_store( request: Union[metadata_service.GetMetadataStoreRequest, 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]] = (), ) -> metadata_store.MetadataStore: @@ -640,7 +642,7 @@ def list_metadata_stores( request: Union[metadata_service.ListMetadataStoresRequest, 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.ListMetadataStoresPager: @@ -721,7 +723,7 @@ def delete_metadata_store( request: Union[metadata_service.DeleteMetadataStoreRequest, 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]] = (), ) -> gac_operation.Operation: @@ -817,7 +819,7 @@ def create_artifact( parent: str = None, artifact: gca_artifact.Artifact = None, artifact_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_artifact.Artifact: @@ -911,7 +913,7 @@ def get_artifact( request: Union[metadata_service.GetArtifactRequest, 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]] = (), ) -> artifact.Artifact: @@ -981,7 +983,7 @@ def list_artifacts( request: Union[metadata_service.ListArtifactsRequest, 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.ListArtifactsPager: @@ -1063,7 +1065,7 @@ def update_artifact( *, artifact: gca_artifact.Artifact = 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]] = (), ) -> gca_artifact.Artifact: @@ -1149,7 +1151,7 @@ def delete_artifact( request: Union[metadata_service.DeleteArtifactRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1242,7 +1244,7 @@ def purge_artifacts( request: Union[metadata_service.PurgeArtifactsRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1328,7 +1330,7 @@ def create_context( parent: str = None, context: gca_context.Context = None, context_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_context.Context: @@ -1422,7 +1424,7 @@ def get_context( request: Union[metadata_service.GetContextRequest, 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]] = (), ) -> context.Context: @@ -1492,7 +1494,7 @@ def list_contexts( request: Union[metadata_service.ListContextsRequest, 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.ListContextsPager: @@ -1574,7 +1576,7 @@ def update_context( *, context: gca_context.Context = 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]] = (), ) -> gca_context.Context: @@ -1659,7 +1661,7 @@ def delete_context( request: Union[metadata_service.DeleteContextRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1752,7 +1754,7 @@ def purge_contexts( request: Union[metadata_service.PurgeContextsRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1840,7 +1842,7 @@ def add_context_artifacts_and_executions( context: str = None, artifacts: Sequence[str] = None, executions: Sequence[str] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddContextArtifactsAndExecutionsResponse: @@ -1943,7 +1945,7 @@ def add_context_children( *, context: str = None, child_contexts: Sequence[str] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddContextChildrenResponse: @@ -2031,7 +2033,7 @@ def query_context_lineage_subgraph( ] = None, *, context: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -2116,7 +2118,7 @@ def create_execution( parent: str = None, execution: gca_execution.Execution = None, execution_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_execution.Execution: @@ -2210,7 +2212,7 @@ def get_execution( request: Union[metadata_service.GetExecutionRequest, 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]] = (), ) -> execution.Execution: @@ -2280,7 +2282,7 @@ def list_executions( request: Union[metadata_service.ListExecutionsRequest, 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.ListExecutionsPager: @@ -2362,7 +2364,7 @@ def update_execution( *, execution: gca_execution.Execution = 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]] = (), ) -> gca_execution.Execution: @@ -2448,7 +2450,7 @@ def delete_execution( request: Union[metadata_service.DeleteExecutionRequest, 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]] = (), ) -> gac_operation.Operation: @@ -2541,7 +2543,7 @@ def purge_executions( request: Union[metadata_service.PurgeExecutionsRequest, 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]] = (), ) -> gac_operation.Operation: @@ -2626,7 +2628,7 @@ def add_execution_events( *, execution: str = None, events: Sequence[event.Event] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddExecutionEventsResponse: @@ -2713,7 +2715,7 @@ def query_execution_inputs_and_outputs( ] = None, *, execution: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -2797,7 +2799,7 @@ def create_metadata_schema( parent: str = None, metadata_schema: gca_metadata_schema.MetadataSchema = None, metadata_schema_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_metadata_schema.MetadataSchema: @@ -2893,7 +2895,7 @@ def get_metadata_schema( request: Union[metadata_service.GetMetadataSchemaRequest, 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]] = (), ) -> metadata_schema.MetadataSchema: @@ -2963,7 +2965,7 @@ def list_metadata_schemas( request: Union[metadata_service.ListMetadataSchemasRequest, 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.ListMetadataSchemasPager: @@ -3046,7 +3048,7 @@ def query_artifact_lineage_subgraph( ] = None, *, artifact: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: diff --git a/google/cloud/aiplatform_v1/services/metadata_service/transports/base.py b/google/cloud/aiplatform_v1/services/metadata_service/transports/base.py index fdcb764e98..ab8b598488 100644 --- a/google/cloud/aiplatform_v1/services/metadata_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/metadata_service/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 @@ -49,15 +48,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 MetadataServiceTransport(abc.ABC): """Abstract transport class for MetadataService.""" @@ -107,7 +97,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 @@ -140,29 +130,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 = { @@ -293,7 +260,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/aiplatform_v1/services/metadata_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/metadata_service/transports/grpc.py index ebd0aa7059..34c4de2422 100644 --- a/google/cloud/aiplatform_v1/services/metadata_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/metadata_service/transports/grpc.py @@ -122,7 +122,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/aiplatform_v1/services/metadata_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/metadata_service/transports/grpc_asyncio.py index a1669d8e90..6a0d90692f 100644 --- a/google/cloud/aiplatform_v1/services/metadata_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/metadata_service/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 @@ -169,7 +168,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/aiplatform_v1/services/migration_service/async_client.py b/google/cloud/aiplatform_v1/services/migration_service/async_client.py index 148a94b5bf..33e5a27855 100644 --- a/google/cloud/aiplatform_v1/services/migration_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/migration_service/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.aiplatform_v1.services.migration_service import pagers @@ -182,10 +184,10 @@ def __init__( async def search_migratable_resources( self, - request: migration_service.SearchMigratableResourcesRequest = None, + request: Union[migration_service.SearchMigratableResourcesRequest, 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.SearchMigratableResourcesAsyncPager: @@ -195,7 +197,7 @@ async def search_migratable_resources( given location. Args: - request (:class:`google.cloud.aiplatform_v1.types.SearchMigratableResourcesRequest`): + request (Union[google.cloud.aiplatform_v1.types.SearchMigratableResourcesRequest, dict]): The request object. Request message for [MigrationService.SearchMigratableResources][google.cloud.aiplatform.v1.MigrationService.SearchMigratableResources]. parent (:class:`str`): @@ -268,13 +270,13 @@ async def search_migratable_resources( async def batch_migrate_resources( self, - request: migration_service.BatchMigrateResourcesRequest = None, + request: Union[migration_service.BatchMigrateResourcesRequest, dict] = None, *, parent: str = None, migrate_resource_requests: Sequence[ migration_service.MigrateResourceRequest ] = 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: @@ -283,7 +285,7 @@ async def batch_migrate_resources( to Vertex AI. Args: - request (:class:`google.cloud.aiplatform_v1.types.BatchMigrateResourcesRequest`): + request (Union[google.cloud.aiplatform_v1.types.BatchMigrateResourcesRequest, dict]): The request object. Request message for [MigrationService.BatchMigrateResources][google.cloud.aiplatform.v1.MigrationService.BatchMigrateResources]. parent (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/migration_service/client.py b/google/cloud/aiplatform_v1/services/migration_service/client.py index c43f7e7cb9..1cc348bfd2 100644 --- a/google/cloud/aiplatform_v1/services/migration_service/client.py +++ b/google/cloud/aiplatform_v1/services/migration_service/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.aiplatform_v1.services.migration_service import pagers @@ -452,7 +454,7 @@ def search_migratable_resources( request: Union[migration_service.SearchMigratableResourcesRequest, 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.SearchMigratableResourcesPager: @@ -543,7 +545,7 @@ def batch_migrate_resources( migrate_resource_requests: Sequence[ migration_service.MigrateResourceRequest ] = 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/aiplatform_v1/services/migration_service/transports/base.py b/google/cloud/aiplatform_v1/services/migration_service/transports/base.py index 6033242d5f..e0abbd1b23 100644 --- a/google/cloud/aiplatform_v1/services/migration_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/migration_service/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 MigrationServiceTransport(abc.ABC): """Abstract transport class for MigrationService.""" @@ -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 = { @@ -178,7 +145,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/aiplatform_v1/services/migration_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/migration_service/transports/grpc.py index fac57b3575..0473840e00 100644 --- a/google/cloud/aiplatform_v1/services/migration_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/migration_service/transports/grpc.py @@ -113,7 +113,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/aiplatform_v1/services/migration_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/migration_service/transports/grpc_asyncio.py index 20e9469bc9..8725ec52a5 100644 --- a/google/cloud/aiplatform_v1/services/migration_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/migration_service/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 @@ -160,7 +159,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/aiplatform_v1/services/model_service/async_client.py b/google/cloud/aiplatform_v1/services/model_service/async_client.py index 02b2ea52ed..da49d2d69d 100644 --- a/google/cloud/aiplatform_v1/services/model_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/model_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.model_service import pagers @@ -189,18 +191,18 @@ def __init__( async def upload_model( self, - request: model_service.UploadModelRequest = None, + request: Union[model_service.UploadModelRequest, dict] = None, *, parent: str = None, model: gca_model.Model = 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"""Uploads a Model artifact into Vertex AI. Args: - request (:class:`google.cloud.aiplatform_v1.types.UploadModelRequest`): + request (Union[google.cloud.aiplatform_v1.types.UploadModelRequest, dict]): The request object. Request message for [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel]. parent (:class:`str`): @@ -282,17 +284,17 @@ async def upload_model( async def get_model( self, - request: model_service.GetModelRequest = None, + request: Union[model_service.GetModelRequest, 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]] = (), ) -> model.Model: r"""Gets a Model. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetModelRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetModelRequest, dict]): The request object. Request message for [ModelService.GetModel][google.cloud.aiplatform.v1.ModelService.GetModel]. name (:class:`str`): @@ -351,17 +353,17 @@ async def get_model( async def list_models( self, - request: model_service.ListModelsRequest = None, + request: Union[model_service.ListModelsRequest, 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.ListModelsAsyncPager: r"""Lists Models in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListModelsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListModelsRequest, dict]): The request object. Request message for [ModelService.ListModels][google.cloud.aiplatform.v1.ModelService.ListModels]. parent (:class:`str`): @@ -432,18 +434,18 @@ async def list_models( async def update_model( self, - request: model_service.UpdateModelRequest = None, + request: Union[model_service.UpdateModelRequest, dict] = None, *, model: gca_model.Model = 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]] = (), ) -> gca_model.Model: r"""Updates a Model. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateModelRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateModelRequest, dict]): The request object. Request message for [ModelService.UpdateModel][google.cloud.aiplatform.v1.ModelService.UpdateModel]. model (:class:`google.cloud.aiplatform_v1.types.Model`): @@ -514,10 +516,10 @@ async def update_model( async def delete_model( self, - request: model_service.DeleteModelRequest = None, + request: Union[model_service.DeleteModelRequest, 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: @@ -527,7 +529,7 @@ async def delete_model( created from it. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteModelRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteModelRequest, dict]): The request object. Request message for [ModelService.DeleteModel][google.cloud.aiplatform.v1.ModelService.DeleteModel]. name (:class:`str`): @@ -610,11 +612,11 @@ async def delete_model( async def export_model( self, - request: model_service.ExportModelRequest = None, + request: Union[model_service.ExportModelRequest, dict] = None, *, name: str = None, output_config: model_service.ExportModelRequest.OutputConfig = 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: @@ -624,7 +626,7 @@ async def export_model( format][google.cloud.aiplatform.v1.Model.supported_export_formats]. Args: - request (:class:`google.cloud.aiplatform_v1.types.ExportModelRequest`): + request (Union[google.cloud.aiplatform_v1.types.ExportModelRequest, dict]): The request object. Request message for [ModelService.ExportModel][google.cloud.aiplatform.v1.ModelService.ExportModel]. name (:class:`str`): @@ -707,17 +709,17 @@ async def export_model( async def get_model_evaluation( self, - request: model_service.GetModelEvaluationRequest = None, + request: Union[model_service.GetModelEvaluationRequest, 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]] = (), ) -> model_evaluation.ModelEvaluation: r"""Gets a ModelEvaluation. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetModelEvaluationRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetModelEvaluationRequest, dict]): The request object. Request message for [ModelService.GetModelEvaluation][google.cloud.aiplatform.v1.ModelService.GetModelEvaluation]. name (:class:`str`): @@ -781,17 +783,17 @@ async def get_model_evaluation( async def list_model_evaluations( self, - request: model_service.ListModelEvaluationsRequest = None, + request: Union[model_service.ListModelEvaluationsRequest, 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.ListModelEvaluationsAsyncPager: r"""Lists ModelEvaluations in a Model. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListModelEvaluationsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListModelEvaluationsRequest, dict]): The request object. Request message for [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1.ModelService.ListModelEvaluations]. parent (:class:`str`): @@ -862,17 +864,17 @@ async def list_model_evaluations( async def get_model_evaluation_slice( self, - request: model_service.GetModelEvaluationSliceRequest = None, + request: Union[model_service.GetModelEvaluationSliceRequest, 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]] = (), ) -> model_evaluation_slice.ModelEvaluationSlice: r"""Gets a ModelEvaluationSlice. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetModelEvaluationSliceRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetModelEvaluationSliceRequest, dict]): The request object. Request message for [ModelService.GetModelEvaluationSlice][google.cloud.aiplatform.v1.ModelService.GetModelEvaluationSlice]. name (:class:`str`): @@ -936,17 +938,17 @@ async def get_model_evaluation_slice( async def list_model_evaluation_slices( self, - request: model_service.ListModelEvaluationSlicesRequest = None, + request: Union[model_service.ListModelEvaluationSlicesRequest, 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.ListModelEvaluationSlicesAsyncPager: r"""Lists ModelEvaluationSlices in a ModelEvaluation. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListModelEvaluationSlicesRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListModelEvaluationSlicesRequest, dict]): The request object. Request message for [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1.ModelService.ListModelEvaluationSlices]. parent (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/model_service/client.py b/google/cloud/aiplatform_v1/services/model_service/client.py index e5439059c0..8e76ff9706 100644 --- a/google/cloud/aiplatform_v1/services/model_service/client.py +++ b/google/cloud/aiplatform_v1/services/model_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.model_service import pagers @@ -439,7 +441,7 @@ def upload_model( *, parent: str = None, model: gca_model.Model = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -531,7 +533,7 @@ def get_model( request: Union[model_service.GetModelRequest, 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]] = (), ) -> model.Model: @@ -600,7 +602,7 @@ def list_models( request: Union[model_service.ListModelsRequest, 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.ListModelsPager: @@ -682,7 +684,7 @@ def update_model( *, model: gca_model.Model = 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]] = (), ) -> gca_model.Model: @@ -763,7 +765,7 @@ def delete_model( request: Union[model_service.DeleteModelRequest, 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]] = (), ) -> gac_operation.Operation: @@ -860,7 +862,7 @@ def export_model( *, name: str = None, output_config: model_service.ExportModelRequest.OutputConfig = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -956,7 +958,7 @@ def get_model_evaluation( request: Union[model_service.GetModelEvaluationRequest, 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]] = (), ) -> model_evaluation.ModelEvaluation: @@ -1030,7 +1032,7 @@ def list_model_evaluations( request: Union[model_service.ListModelEvaluationsRequest, 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.ListModelEvaluationsPager: @@ -1111,7 +1113,7 @@ def get_model_evaluation_slice( request: Union[model_service.GetModelEvaluationSliceRequest, 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]] = (), ) -> model_evaluation_slice.ModelEvaluationSlice: @@ -1187,7 +1189,7 @@ def list_model_evaluation_slices( request: Union[model_service.ListModelEvaluationSlicesRequest, 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.ListModelEvaluationSlicesPager: diff --git a/google/cloud/aiplatform_v1/services/model_service/transports/base.py b/google/cloud/aiplatform_v1/services/model_service/transports/base.py index 2778b83114..818ba73f1a 100644 --- a/google/cloud/aiplatform_v1/services/model_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/model_service/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 @@ -43,15 +42,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 ModelServiceTransport(abc.ABC): """Abstract transport class for ModelService.""" @@ -101,7 +91,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 @@ -134,29 +124,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 = { @@ -210,7 +177,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/aiplatform_v1/services/model_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/model_service/transports/grpc.py index b3d9500119..980a1d2aa5 100644 --- a/google/cloud/aiplatform_v1/services/model_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/model_service/transports/grpc.py @@ -116,7 +116,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/aiplatform_v1/services/model_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/model_service/transports/grpc_asyncio.py index 042bad6cfd..5f25911385 100644 --- a/google/cloud/aiplatform_v1/services/model_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/model_service/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 @@ -163,7 +162,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/aiplatform_v1/services/pipeline_service/async_client.py b/google/cloud/aiplatform_v1/services/pipeline_service/async_client.py index f7f6a12969..5197e816ca 100644 --- a/google/cloud/aiplatform_v1/services/pipeline_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/pipeline_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.pipeline_service import pagers @@ -201,11 +203,11 @@ def __init__( async def create_training_pipeline( self, - request: pipeline_service.CreateTrainingPipelineRequest = None, + request: Union[pipeline_service.CreateTrainingPipelineRequest, dict] = None, *, parent: str = None, training_pipeline: gca_training_pipeline.TrainingPipeline = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_training_pipeline.TrainingPipeline: @@ -213,7 +215,7 @@ async def create_training_pipeline( TrainingPipeline right away will be attempted to be run. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateTrainingPipelineRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateTrainingPipelineRequest, dict]): The request object. Request message for [PipelineService.CreateTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.CreateTrainingPipeline]. parent (:class:`str`): @@ -288,17 +290,17 @@ async def create_training_pipeline( async def get_training_pipeline( self, - request: pipeline_service.GetTrainingPipelineRequest = None, + request: Union[pipeline_service.GetTrainingPipelineRequest, 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]] = (), ) -> training_pipeline.TrainingPipeline: r"""Gets a TrainingPipeline. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetTrainingPipelineRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetTrainingPipelineRequest, dict]): The request object. Request message for [PipelineService.GetTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.GetTrainingPipeline]. name (:class:`str`): @@ -364,17 +366,17 @@ async def get_training_pipeline( async def list_training_pipelines( self, - request: pipeline_service.ListTrainingPipelinesRequest = None, + request: Union[pipeline_service.ListTrainingPipelinesRequest, 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.ListTrainingPipelinesAsyncPager: r"""Lists TrainingPipelines in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListTrainingPipelinesRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListTrainingPipelinesRequest, dict]): The request object. Request message for [PipelineService.ListTrainingPipelines][google.cloud.aiplatform.v1.PipelineService.ListTrainingPipelines]. parent (:class:`str`): @@ -445,17 +447,17 @@ async def list_training_pipelines( async def delete_training_pipeline( self, - request: pipeline_service.DeleteTrainingPipelineRequest = None, + request: Union[pipeline_service.DeleteTrainingPipelineRequest, 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 TrainingPipeline. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteTrainingPipelineRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteTrainingPipelineRequest, dict]): The request object. Request message for [PipelineService.DeleteTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.DeleteTrainingPipeline]. name (:class:`str`): @@ -538,10 +540,10 @@ async def delete_training_pipeline( async def cancel_training_pipeline( self, - request: pipeline_service.CancelTrainingPipelineRequest = None, + request: Union[pipeline_service.CancelTrainingPipelineRequest, 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]] = (), ) -> None: @@ -560,7 +562,7 @@ async def cancel_training_pipeline( is set to ``CANCELLED``. Args: - request (:class:`google.cloud.aiplatform_v1.types.CancelTrainingPipelineRequest`): + request (Union[google.cloud.aiplatform_v1.types.CancelTrainingPipelineRequest, dict]): The request object. Request message for [PipelineService.CancelTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.CancelTrainingPipeline]. name (:class:`str`): @@ -615,12 +617,12 @@ async def cancel_training_pipeline( async def create_pipeline_job( self, - request: pipeline_service.CreatePipelineJobRequest = None, + request: Union[pipeline_service.CreatePipelineJobRequest, dict] = None, *, parent: str = None, pipeline_job: gca_pipeline_job.PipelineJob = None, pipeline_job_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_pipeline_job.PipelineJob: @@ -628,7 +630,7 @@ async def create_pipeline_job( immediately when created. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreatePipelineJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreatePipelineJobRequest, dict]): The request object. Request message for [PipelineService.CreatePipelineJob][google.cloud.aiplatform.v1.PipelineService.CreatePipelineJob]. parent (:class:`str`): @@ -710,17 +712,17 @@ async def create_pipeline_job( async def get_pipeline_job( self, - request: pipeline_service.GetPipelineJobRequest = None, + request: Union[pipeline_service.GetPipelineJobRequest, 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]] = (), ) -> pipeline_job.PipelineJob: r"""Gets a PipelineJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetPipelineJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetPipelineJobRequest, dict]): The request object. Request message for [PipelineService.GetPipelineJob][google.cloud.aiplatform.v1.PipelineService.GetPipelineJob]. name (:class:`str`): @@ -781,17 +783,17 @@ async def get_pipeline_job( async def list_pipeline_jobs( self, - request: pipeline_service.ListPipelineJobsRequest = None, + request: Union[pipeline_service.ListPipelineJobsRequest, 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.ListPipelineJobsAsyncPager: r"""Lists PipelineJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListPipelineJobsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListPipelineJobsRequest, dict]): The request object. Request message for [PipelineService.ListPipelineJobs][google.cloud.aiplatform.v1.PipelineService.ListPipelineJobs]. parent (:class:`str`): @@ -862,17 +864,17 @@ async def list_pipeline_jobs( async def delete_pipeline_job( self, - request: pipeline_service.DeletePipelineJobRequest = None, + request: Union[pipeline_service.DeletePipelineJobRequest, 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 PipelineJob. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeletePipelineJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeletePipelineJobRequest, dict]): The request object. Request message for [PipelineService.DeletePipelineJob][google.cloud.aiplatform.v1.PipelineService.DeletePipelineJob]. name (:class:`str`): @@ -955,10 +957,10 @@ async def delete_pipeline_job( async def cancel_pipeline_job( self, - request: pipeline_service.CancelPipelineJobRequest = None, + request: Union[pipeline_service.CancelPipelineJobRequest, 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]] = (), ) -> None: @@ -977,7 +979,7 @@ async def cancel_pipeline_job( is set to ``CANCELLED``. Args: - request (:class:`google.cloud.aiplatform_v1.types.CancelPipelineJobRequest`): + request (Union[google.cloud.aiplatform_v1.types.CancelPipelineJobRequest, dict]): The request object. Request message for [PipelineService.CancelPipelineJob][google.cloud.aiplatform.v1.PipelineService.CancelPipelineJob]. name (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/pipeline_service/client.py b/google/cloud/aiplatform_v1/services/pipeline_service/client.py index 9c43f73c9b..158dbcc9a6 100644 --- a/google/cloud/aiplatform_v1/services/pipeline_service/client.py +++ b/google/cloud/aiplatform_v1/services/pipeline_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.pipeline_service import pagers @@ -515,7 +517,7 @@ def create_training_pipeline( *, parent: str = None, training_pipeline: gca_training_pipeline.TrainingPipeline = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_training_pipeline.TrainingPipeline: @@ -601,7 +603,7 @@ def get_training_pipeline( request: Union[pipeline_service.GetTrainingPipelineRequest, 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]] = (), ) -> training_pipeline.TrainingPipeline: @@ -677,7 +679,7 @@ def list_training_pipelines( request: Union[pipeline_service.ListTrainingPipelinesRequest, 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.ListTrainingPipelinesPager: @@ -758,7 +760,7 @@ def delete_training_pipeline( request: Union[pipeline_service.DeleteTrainingPipelineRequest, 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]] = (), ) -> gac_operation.Operation: @@ -851,7 +853,7 @@ def cancel_training_pipeline( request: Union[pipeline_service.CancelTrainingPipelineRequest, 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]] = (), ) -> None: @@ -930,7 +932,7 @@ def create_pipeline_job( parent: str = None, pipeline_job: gca_pipeline_job.PipelineJob = None, pipeline_job_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_pipeline_job.PipelineJob: @@ -1023,7 +1025,7 @@ def get_pipeline_job( request: Union[pipeline_service.GetPipelineJobRequest, 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]] = (), ) -> pipeline_job.PipelineJob: @@ -1094,7 +1096,7 @@ def list_pipeline_jobs( request: Union[pipeline_service.ListPipelineJobsRequest, 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.ListPipelineJobsPager: @@ -1175,7 +1177,7 @@ def delete_pipeline_job( request: Union[pipeline_service.DeletePipelineJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1268,7 +1270,7 @@ def cancel_pipeline_job( request: Union[pipeline_service.CancelPipelineJobRequest, 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]] = (), ) -> None: diff --git a/google/cloud/aiplatform_v1/services/pipeline_service/transports/base.py b/google/cloud/aiplatform_v1/services/pipeline_service/transports/base.py index 7410b61766..f6ccadbd1e 100644 --- a/google/cloud/aiplatform_v1/services/pipeline_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/pipeline_service/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 @@ -44,15 +43,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 PipelineServiceTransport(abc.ABC): """Abstract transport class for PipelineService.""" @@ -102,7 +92,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 @@ -135,29 +125,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 = { @@ -213,7 +180,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/aiplatform_v1/services/pipeline_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/pipeline_service/transports/grpc.py index fae0ebf5ec..0318d07c07 100644 --- a/google/cloud/aiplatform_v1/services/pipeline_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/pipeline_service/transports/grpc.py @@ -120,7 +120,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/aiplatform_v1/services/pipeline_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/pipeline_service/transports/grpc_asyncio.py index d4a6b0ae9f..218f7ae063 100644 --- a/google/cloud/aiplatform_v1/services/pipeline_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/pipeline_service/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 @@ -167,7 +166,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/aiplatform_v1/services/prediction_service/async_client.py b/google/cloud/aiplatform_v1/services/prediction_service/async_client.py index efe1e23236..17e4b332ae 100644 --- a/google/cloud/aiplatform_v1/services/prediction_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/prediction_service/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 import httpbody_pb2 # type: ignore from google.cloud.aiplatform_v1.types import explanation from google.cloud.aiplatform_v1.types import prediction_service @@ -168,19 +170,19 @@ def __init__( async def predict( self, - request: prediction_service.PredictRequest = None, + request: Union[prediction_service.PredictRequest, dict] = None, *, endpoint: str = None, instances: Sequence[struct_pb2.Value] = None, parameters: struct_pb2.Value = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> prediction_service.PredictResponse: r"""Perform an online prediction. Args: - request (:class:`google.cloud.aiplatform_v1.types.PredictRequest`): + request (Union[google.cloud.aiplatform_v1.types.PredictRequest, dict]): The request object. Request message for [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]. endpoint (:class:`str`): @@ -273,11 +275,11 @@ async def predict( async def raw_predict( self, - request: prediction_service.RawPredictRequest = None, + request: Union[prediction_service.RawPredictRequest, dict] = None, *, endpoint: str = None, http_body: httpbody_pb2.HttpBody = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> httpbody_pb2.HttpBody: @@ -294,7 +296,7 @@ async def raw_predict( that served this prediction. Args: - request (:class:`google.cloud.aiplatform_v1.types.RawPredictRequest`): + request (Union[google.cloud.aiplatform_v1.types.RawPredictRequest, dict]): The request object. Request message for [PredictionService.RawPredict][google.cloud.aiplatform.v1.PredictionService.RawPredict]. endpoint (:class:`str`): @@ -363,10 +365,11 @@ async def raw_predict( } service ResourceService { - rpc GetResource(GetResourceRequest) returns - (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns - (google.protobuf.Empty); + rpc GetResource(GetResourceRequest) + returns (google.api.HttpBody); + + rpc UpdateResource(google.api.HttpBody) + returns (google.protobuf.Empty); } @@ -427,13 +430,13 @@ async def raw_predict( async def explain( self, - request: prediction_service.ExplainRequest = None, + request: Union[prediction_service.ExplainRequest, dict] = None, *, endpoint: str = None, instances: Sequence[struct_pb2.Value] = None, parameters: struct_pb2.Value = None, deployed_model_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> prediction_service.ExplainResponse: @@ -451,7 +454,7 @@ async def explain( explanation_spec. Args: - request (:class:`google.cloud.aiplatform_v1.types.ExplainRequest`): + request (Union[google.cloud.aiplatform_v1.types.ExplainRequest, dict]): The request object. Request message for [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. endpoint (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/prediction_service/client.py b/google/cloud/aiplatform_v1/services/prediction_service/client.py index f976875820..0d70630816 100644 --- a/google/cloud/aiplatform_v1/services/prediction_service/client.py +++ b/google/cloud/aiplatform_v1/services/prediction_service/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 import httpbody_pb2 # type: ignore from google.cloud.aiplatform_v1.types import explanation from google.cloud.aiplatform_v1.types import prediction_service @@ -375,7 +377,7 @@ def predict( endpoint: str = None, instances: Sequence[struct_pb2.Value] = None, parameters: struct_pb2.Value = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> prediction_service.PredictResponse: @@ -479,7 +481,7 @@ def raw_predict( *, endpoint: str = None, http_body: httpbody_pb2.HttpBody = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> httpbody_pb2.HttpBody: @@ -565,10 +567,11 @@ def raw_predict( } service ResourceService { - rpc GetResource(GetResourceRequest) returns - (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns - (google.protobuf.Empty); + rpc GetResource(GetResourceRequest) + returns (google.api.HttpBody); + + rpc UpdateResource(google.api.HttpBody) + returns (google.protobuf.Empty); } @@ -635,7 +638,7 @@ def explain( instances: Sequence[struct_pb2.Value] = None, parameters: struct_pb2.Value = None, deployed_model_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> prediction_service.ExplainResponse: diff --git a/google/cloud/aiplatform_v1/services/prediction_service/transports/base.py b/google/cloud/aiplatform_v1/services/prediction_service/transports/base.py index d4c55b9ca3..2d57136a4c 100644 --- a/google/cloud/aiplatform_v1/services/prediction_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/prediction_service/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 @@ -38,15 +37,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 PredictionServiceTransport(abc.ABC): """Abstract transport class for PredictionService.""" @@ -96,7 +86,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 @@ -129,29 +119,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 = { diff --git a/google/cloud/aiplatform_v1/services/prediction_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/prediction_service/transports/grpc_asyncio.py index 680044b220..3f995b70d9 100644 --- a/google/cloud/aiplatform_v1/services/prediction_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/prediction_service/transports/grpc_asyncio.py @@ -20,7 +20,6 @@ from google.api_core import grpc_helpers_async # 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 diff --git a/google/cloud/aiplatform_v1/services/specialist_pool_service/async_client.py b/google/cloud/aiplatform_v1/services/specialist_pool_service/async_client.py index cc4f40aab3..03ab451a86 100644 --- a/google/cloud/aiplatform_v1/services/specialist_pool_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/specialist_pool_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.specialist_pool_service import pagers @@ -183,18 +185,20 @@ def __init__( async def create_specialist_pool( self, - request: specialist_pool_service.CreateSpecialistPoolRequest = None, + request: Union[ + specialist_pool_service.CreateSpecialistPoolRequest, dict + ] = None, *, parent: str = None, specialist_pool: gca_specialist_pool.SpecialistPool = 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 SpecialistPool. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateSpecialistPoolRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateSpecialistPoolRequest, dict]): The request object. Request message for [SpecialistPoolService.CreateSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.CreateSpecialistPool]. parent (:class:`str`): @@ -281,17 +285,17 @@ async def create_specialist_pool( async def get_specialist_pool( self, - request: specialist_pool_service.GetSpecialistPoolRequest = None, + request: Union[specialist_pool_service.GetSpecialistPoolRequest, 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]] = (), ) -> specialist_pool.SpecialistPool: r"""Gets a SpecialistPool. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetSpecialistPoolRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetSpecialistPoolRequest, dict]): The request object. Request message for [SpecialistPoolService.GetSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.GetSpecialistPool]. name (:class:`str`): @@ -363,17 +367,17 @@ async def get_specialist_pool( async def list_specialist_pools( self, - request: specialist_pool_service.ListSpecialistPoolsRequest = None, + request: Union[specialist_pool_service.ListSpecialistPoolsRequest, 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.ListSpecialistPoolsAsyncPager: r"""Lists SpecialistPools in a Location. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListSpecialistPoolsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListSpecialistPoolsRequest, dict]): The request object. Request message for [SpecialistPoolService.ListSpecialistPools][google.cloud.aiplatform.v1.SpecialistPoolService.ListSpecialistPools]. parent (:class:`str`): @@ -444,10 +448,12 @@ async def list_specialist_pools( async def delete_specialist_pool( self, - request: specialist_pool_service.DeleteSpecialistPoolRequest = None, + request: Union[ + specialist_pool_service.DeleteSpecialistPoolRequest, 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: @@ -455,7 +461,7 @@ async def delete_specialist_pool( in the pool. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteSpecialistPoolRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteSpecialistPoolRequest, dict]): The request object. Request message for [SpecialistPoolService.DeleteSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.DeleteSpecialistPool]. name (:class:`str`): @@ -538,18 +544,20 @@ async def delete_specialist_pool( async def update_specialist_pool( self, - request: specialist_pool_service.UpdateSpecialistPoolRequest = None, + request: Union[ + specialist_pool_service.UpdateSpecialistPoolRequest, dict + ] = None, *, specialist_pool: gca_specialist_pool.SpecialistPool = 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 a SpecialistPool. Args: - request (:class:`google.cloud.aiplatform_v1.types.UpdateSpecialistPoolRequest`): + request (Union[google.cloud.aiplatform_v1.types.UpdateSpecialistPoolRequest, dict]): The request object. Request message for [SpecialistPoolService.UpdateSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.UpdateSpecialistPool]. specialist_pool (:class:`google.cloud.aiplatform_v1.types.SpecialistPool`): diff --git a/google/cloud/aiplatform_v1/services/specialist_pool_service/client.py b/google/cloud/aiplatform_v1/services/specialist_pool_service/client.py index 57e10c23bc..0ce394d45d 100644 --- a/google/cloud/aiplatform_v1/services/specialist_pool_service/client.py +++ b/google/cloud/aiplatform_v1/services/specialist_pool_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1.services.specialist_pool_service import pagers @@ -370,7 +372,7 @@ def create_specialist_pool( *, parent: str = None, specialist_pool: gca_specialist_pool.SpecialistPool = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -467,7 +469,7 @@ def get_specialist_pool( request: Union[specialist_pool_service.GetSpecialistPoolRequest, 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]] = (), ) -> specialist_pool.SpecialistPool: @@ -549,7 +551,7 @@ def list_specialist_pools( request: Union[specialist_pool_service.ListSpecialistPoolsRequest, 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.ListSpecialistPoolsPager: @@ -632,7 +634,7 @@ def delete_specialist_pool( ] = 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]] = (), ) -> gac_operation.Operation: @@ -729,7 +731,7 @@ def update_specialist_pool( *, specialist_pool: gca_specialist_pool.SpecialistPool = 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]] = (), ) -> gac_operation.Operation: diff --git a/google/cloud/aiplatform_v1/services/specialist_pool_service/transports/base.py b/google/cloud/aiplatform_v1/services/specialist_pool_service/transports/base.py index f79b964dc7..09bc6d05ad 100644 --- a/google/cloud/aiplatform_v1/services/specialist_pool_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/specialist_pool_service/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 @@ -40,15 +39,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 SpecialistPoolServiceTransport(abc.ABC): """Abstract transport class for SpecialistPoolService.""" @@ -98,7 +88,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 @@ -131,29 +121,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 = { @@ -192,7 +159,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/aiplatform_v1/services/specialist_pool_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/specialist_pool_service/transports/grpc.py index a6c696fcd8..48acc97b5e 100644 --- a/google/cloud/aiplatform_v1/services/specialist_pool_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/specialist_pool_service/transports/grpc.py @@ -118,7 +118,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/aiplatform_v1/services/specialist_pool_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/specialist_pool_service/transports/grpc_asyncio.py index 57e8472d94..cfced9e5d5 100644 --- a/google/cloud/aiplatform_v1/services/specialist_pool_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/specialist_pool_service/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 @@ -165,7 +164,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/aiplatform_v1/services/vizier_service/async_client.py b/google/cloud/aiplatform_v1/services/vizier_service/async_client.py index fd3649d90e..42ffa973e0 100644 --- a/google/cloud/aiplatform_v1/services/vizier_service/async_client.py +++ b/google/cloud/aiplatform_v1/services/vizier_service/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.aiplatform_v1.services.vizier_service import pagers @@ -176,11 +178,11 @@ def __init__( async def create_study( self, - request: vizier_service.CreateStudyRequest = None, + request: Union[vizier_service.CreateStudyRequest, dict] = None, *, parent: str = None, study: gca_study.Study = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_study.Study: @@ -188,7 +190,7 @@ async def create_study( after creation of the Study. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateStudyRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateStudyRequest, dict]): The request object. Request message for [VizierService.CreateStudy][google.cloud.aiplatform.v1.VizierService.CreateStudy]. parent (:class:`str`): @@ -257,17 +259,17 @@ async def create_study( async def get_study( self, - request: vizier_service.GetStudyRequest = None, + request: Union[vizier_service.GetStudyRequest, 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]] = (), ) -> study.Study: r"""Gets a Study by name. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetStudyRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetStudyRequest, dict]): The request object. Request message for [VizierService.GetStudy][google.cloud.aiplatform.v1.VizierService.GetStudy]. name (:class:`str`): @@ -326,10 +328,10 @@ async def get_study( async def list_studies( self, - request: vizier_service.ListStudiesRequest = None, + request: Union[vizier_service.ListStudiesRequest, 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.ListStudiesAsyncPager: @@ -337,7 +339,7 @@ async def list_studies( project. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListStudiesRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListStudiesRequest, dict]): The request object. Request message for [VizierService.ListStudies][google.cloud.aiplatform.v1.VizierService.ListStudies]. parent (:class:`str`): @@ -408,17 +410,17 @@ async def list_studies( async def delete_study( self, - request: vizier_service.DeleteStudyRequest = None, + request: Union[vizier_service.DeleteStudyRequest, 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]] = (), ) -> None: r"""Deletes a Study. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteStudyRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteStudyRequest, dict]): The request object. Request message for [VizierService.DeleteStudy][google.cloud.aiplatform.v1.VizierService.DeleteStudy]. name (:class:`str`): @@ -473,10 +475,10 @@ async def delete_study( async def lookup_study( self, - request: vizier_service.LookupStudyRequest = None, + request: Union[vizier_service.LookupStudyRequest, 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]] = (), ) -> study.Study: @@ -484,7 +486,7 @@ async def lookup_study( instead of the fully qualified resource name. Args: - request (:class:`google.cloud.aiplatform_v1.types.LookupStudyRequest`): + request (Union[google.cloud.aiplatform_v1.types.LookupStudyRequest, dict]): The request object. Request message for [VizierService.LookupStudy][google.cloud.aiplatform.v1.VizierService.LookupStudy]. parent (:class:`str`): @@ -544,9 +546,9 @@ async def lookup_study( async def suggest_trials( self, - request: vizier_service.SuggestTrialsRequest = None, + request: Union[vizier_service.SuggestTrialsRequest, 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: @@ -557,7 +559,7 @@ async def suggest_trials( [SuggestTrialsResponse][google.cloud.ml.v1.SuggestTrialsResponse]. Args: - request (:class:`google.cloud.aiplatform_v1.types.SuggestTrialsRequest`): + request (Union[google.cloud.aiplatform_v1.types.SuggestTrialsRequest, dict]): The request object. Request message for [VizierService.SuggestTrials][google.cloud.aiplatform.v1.VizierService.SuggestTrials]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -609,18 +611,18 @@ async def suggest_trials( async def create_trial( self, - request: vizier_service.CreateTrialRequest = None, + request: Union[vizier_service.CreateTrialRequest, dict] = None, *, parent: str = None, trial: study.Trial = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: r"""Adds a user provided Trial to a Study. Args: - request (:class:`google.cloud.aiplatform_v1.types.CreateTrialRequest`): + request (Union[google.cloud.aiplatform_v1.types.CreateTrialRequest, dict]): The request object. Request message for [VizierService.CreateTrial][google.cloud.aiplatform.v1.VizierService.CreateTrial]. parent (:class:`str`): @@ -692,17 +694,17 @@ async def create_trial( async def get_trial( self, - request: vizier_service.GetTrialRequest = None, + request: Union[vizier_service.GetTrialRequest, 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]] = (), ) -> study.Trial: r"""Gets a Trial. Args: - request (:class:`google.cloud.aiplatform_v1.types.GetTrialRequest`): + request (Union[google.cloud.aiplatform_v1.types.GetTrialRequest, dict]): The request object. Request message for [VizierService.GetTrial][google.cloud.aiplatform.v1.VizierService.GetTrial]. name (:class:`str`): @@ -766,17 +768,17 @@ async def get_trial( async def list_trials( self, - request: vizier_service.ListTrialsRequest = None, + request: Union[vizier_service.ListTrialsRequest, 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.ListTrialsAsyncPager: r"""Lists the Trials associated with a Study. Args: - request (:class:`google.cloud.aiplatform_v1.types.ListTrialsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListTrialsRequest, dict]): The request object. Request message for [VizierService.ListTrials][google.cloud.aiplatform.v1.VizierService.ListTrials]. parent (:class:`str`): @@ -847,9 +849,9 @@ async def list_trials( async def add_trial_measurement( self, - request: vizier_service.AddTrialMeasurementRequest = None, + request: Union[vizier_service.AddTrialMeasurementRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -858,7 +860,7 @@ async def add_trial_measurement( before the Trial is complete. Args: - request (:class:`google.cloud.aiplatform_v1.types.AddTrialMeasurementRequest`): + request (Union[google.cloud.aiplatform_v1.types.AddTrialMeasurementRequest, dict]): The request object. Request message for [VizierService.AddTrialMeasurement][google.cloud.aiplatform.v1.VizierService.AddTrialMeasurement]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -903,16 +905,16 @@ async def add_trial_measurement( async def complete_trial( self, - request: vizier_service.CompleteTrialRequest = None, + request: Union[vizier_service.CompleteTrialRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: r"""Marks a Trial as complete. Args: - request (:class:`google.cloud.aiplatform_v1.types.CompleteTrialRequest`): + request (Union[google.cloud.aiplatform_v1.types.CompleteTrialRequest, dict]): The request object. Request message for [VizierService.CompleteTrial][google.cloud.aiplatform.v1.VizierService.CompleteTrial]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -955,17 +957,17 @@ async def complete_trial( async def delete_trial( self, - request: vizier_service.DeleteTrialRequest = None, + request: Union[vizier_service.DeleteTrialRequest, 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]] = (), ) -> None: r"""Deletes a Trial. Args: - request (:class:`google.cloud.aiplatform_v1.types.DeleteTrialRequest`): + request (Union[google.cloud.aiplatform_v1.types.DeleteTrialRequest, dict]): The request object. Request message for [VizierService.DeleteTrial][google.cloud.aiplatform.v1.VizierService.DeleteTrial]. name (:class:`str`): @@ -1019,9 +1021,9 @@ async def delete_trial( async def check_trial_early_stopping_state( self, - request: vizier_service.CheckTrialEarlyStoppingStateRequest = None, + request: Union[vizier_service.CheckTrialEarlyStoppingStateRequest, 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: @@ -1031,7 +1033,7 @@ async def check_trial_early_stopping_state( [CheckTrialEarlyStoppingStateResponse][google.cloud.ml.v1.CheckTrialEarlyStoppingStateResponse]. Args: - request (:class:`google.cloud.aiplatform_v1.types.CheckTrialEarlyStoppingStateRequest`): + request (Union[google.cloud.aiplatform_v1.types.CheckTrialEarlyStoppingStateRequest, dict]): The request object. Request message for [VizierService.CheckTrialEarlyStoppingState][google.cloud.aiplatform.v1.VizierService.CheckTrialEarlyStoppingState]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1085,16 +1087,16 @@ async def check_trial_early_stopping_state( async def stop_trial( self, - request: vizier_service.StopTrialRequest = None, + request: Union[vizier_service.StopTrialRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: r"""Stops a Trial. Args: - request (:class:`google.cloud.aiplatform_v1.types.StopTrialRequest`): + request (Union[google.cloud.aiplatform_v1.types.StopTrialRequest, dict]): The request object. Request message for [VizierService.StopTrial][google.cloud.aiplatform.v1.VizierService.StopTrial]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1137,10 +1139,10 @@ async def stop_trial( async def list_optimal_trials( self, - request: vizier_service.ListOptimalTrialsRequest = None, + request: Union[vizier_service.ListOptimalTrialsRequest, 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]] = (), ) -> vizier_service.ListOptimalTrialsResponse: @@ -1150,7 +1152,7 @@ async def list_optimal_trials( https://en.wikipedia.org/wiki/Pareto_efficiency Args: - request (:class:`google.cloud.aiplatform_v1.types.ListOptimalTrialsRequest`): + request (Union[google.cloud.aiplatform_v1.types.ListOptimalTrialsRequest, dict]): The request object. Request message for [VizierService.ListOptimalTrials][google.cloud.aiplatform.v1.VizierService.ListOptimalTrials]. parent (:class:`str`): diff --git a/google/cloud/aiplatform_v1/services/vizier_service/client.py b/google/cloud/aiplatform_v1/services/vizier_service/client.py index 66b3c97f9b..e012d4ea31 100644 --- a/google/cloud/aiplatform_v1/services/vizier_service/client.py +++ b/google/cloud/aiplatform_v1/services/vizier_service/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.aiplatform_v1.services.vizier_service import pagers @@ -392,7 +394,7 @@ def create_study( *, parent: str = None, study: gca_study.Study = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_study.Study: @@ -472,7 +474,7 @@ def get_study( request: Union[vizier_service.GetStudyRequest, 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]] = (), ) -> study.Study: @@ -541,7 +543,7 @@ def list_studies( request: Union[vizier_service.ListStudiesRequest, 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.ListStudiesPager: @@ -623,7 +625,7 @@ def delete_study( request: Union[vizier_service.DeleteStudyRequest, 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]] = (), ) -> None: @@ -688,7 +690,7 @@ def lookup_study( request: Union[vizier_service.LookupStudyRequest, 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]] = (), ) -> study.Study: @@ -758,7 +760,7 @@ def suggest_trials( self, request: Union[vizier_service.SuggestTrialsRequest, 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: @@ -826,7 +828,7 @@ def create_trial( *, parent: str = None, trial: study.Trial = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -908,7 +910,7 @@ def get_trial( request: Union[vizier_service.GetTrialRequest, 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]] = (), ) -> study.Trial: @@ -982,7 +984,7 @@ def list_trials( request: Union[vizier_service.ListTrialsRequest, 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.ListTrialsPager: @@ -1062,7 +1064,7 @@ def add_trial_measurement( self, request: Union[vizier_service.AddTrialMeasurementRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -1119,7 +1121,7 @@ def complete_trial( self, request: Union[vizier_service.CompleteTrialRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -1173,7 +1175,7 @@ def delete_trial( request: Union[vizier_service.DeleteTrialRequest, 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]] = (), ) -> None: @@ -1236,7 +1238,7 @@ def check_trial_early_stopping_state( self, request: Union[vizier_service.CheckTrialEarlyStoppingStateRequest, 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: @@ -1305,7 +1307,7 @@ def stop_trial( self, request: Union[vizier_service.StopTrialRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -1359,7 +1361,7 @@ def list_optimal_trials( request: Union[vizier_service.ListOptimalTrialsRequest, 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]] = (), ) -> vizier_service.ListOptimalTrialsResponse: diff --git a/google/cloud/aiplatform_v1/services/vizier_service/transports/base.py b/google/cloud/aiplatform_v1/services/vizier_service/transports/base.py index aea24af018..665279bc02 100644 --- a/google/cloud/aiplatform_v1/services/vizier_service/transports/base.py +++ b/google/cloud/aiplatform_v1/services/vizier_service/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 @@ -42,15 +41,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 VizierServiceTransport(abc.ABC): """Abstract transport class for VizierService.""" @@ -100,7 +90,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 @@ -133,29 +123,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 = { @@ -220,7 +187,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/aiplatform_v1/services/vizier_service/transports/grpc.py b/google/cloud/aiplatform_v1/services/vizier_service/transports/grpc.py index 36fcc40620..8d644fec28 100644 --- a/google/cloud/aiplatform_v1/services/vizier_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1/services/vizier_service/transports/grpc.py @@ -118,7 +118,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/aiplatform_v1/services/vizier_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1/services/vizier_service/transports/grpc_asyncio.py index 0535a43754..71f0f8b8ff 100644 --- a/google/cloud/aiplatform_v1/services/vizier_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1/services/vizier_service/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 @@ -165,7 +164,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/aiplatform_v1/types/batch_prediction_job.py b/google/cloud/aiplatform_v1/types/batch_prediction_job.py index 2cbd9114d0..a62c55e739 100644 --- a/google/cloud/aiplatform_v1/types/batch_prediction_job.py +++ b/google/cloud/aiplatform_v1/types/batch_prediction_job.py @@ -193,10 +193,18 @@ class InputConfig(proto.Message): for Model's supported input formats, and how instances should be expressed via any of them. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_source (google.cloud.aiplatform_v1.types.GcsSource): The Cloud Storage location for the input instances. + This field is a member of `oneof`_ ``source``. bigquery_source (google.cloud.aiplatform_v1.types.BigQuerySource): The BigQuery location of the input table. The schema of the table should be in the format @@ -204,6 +212,7 @@ class InputConfig(proto.Message): if one is provided. The table may contain additional columns that are not described by the schema, and they will be ignored. + This field is a member of `oneof`_ ``source``. instances_format (str): Required. The format in which instances are given, must be one of the @@ -227,6 +236,13 @@ class OutputConfig(proto.Message): for supported output formats, and how predictions are expressed via any of them. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_destination (google.cloud.aiplatform_v1.types.GcsDestination): The Cloud Storage location of the directory where the output @@ -255,6 +271,7 @@ class OutputConfig(proto.Message): per their schema, followed by an additional ``error`` field which as value has [google.rpc.Status][google.rpc.Status] containing only ``code`` and ``message`` fields. + This field is a member of `oneof`_ ``destination``. bigquery_destination (google.cloud.aiplatform_v1.types.BigQueryDestination): The BigQuery project or dataset location where the output is to be written to. If project is provided, a new dataset is @@ -277,6 +294,7 @@ class OutputConfig(proto.Message): followed by a single "errors" column, which as values has [google.rpc.Status][google.rpc.Status] represented as a STRUCT, and containing only ``code`` and ``message``. + This field is a member of `oneof`_ ``destination``. predictions_format (str): Required. The format in which Vertex AI gives the predictions, must be one of the @@ -299,15 +317,24 @@ class OutputInfo(proto.Message): r"""Further describes this job's output. Supplements [output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config]. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_output_directory (str): Output only. The full path of the Cloud Storage directory created, into which the prediction output is written. + This field is a member of `oneof`_ ``output_location``. bigquery_output_dataset (str): Output only. The path of the BigQuery dataset created, in ``bq://projectId.bqDatasetId`` format, into which the prediction output is written. + This field is a member of `oneof`_ ``output_location``. bigquery_output_table (str): Output only. The name of the BigQuery table created, in ``predictions_`` format, into which the diff --git a/google/cloud/aiplatform_v1/types/custom_job.py b/google/cloud/aiplatform_v1/types/custom_job.py index 76bc246438..0559eb8a63 100644 --- a/google/cloud/aiplatform_v1/types/custom_job.py +++ b/google/cloud/aiplatform_v1/types/custom_job.py @@ -208,11 +208,20 @@ class CustomJobSpec(proto.Message): class WorkerPoolSpec(proto.Message): r"""Represents the spec of a worker pool in a job. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: container_spec (google.cloud.aiplatform_v1.types.ContainerSpec): The custom container task. + This field is a member of `oneof`_ ``task``. python_package_spec (google.cloud.aiplatform_v1.types.PythonPackageSpec): The Python packaged task. + This field is a member of `oneof`_ ``task``. machine_spec (google.cloud.aiplatform_v1.types.MachineSpec): Optional. Immutable. The specification of a single machine. diff --git a/google/cloud/aiplatform_v1/types/data_labeling_job.py b/google/cloud/aiplatform_v1/types/data_labeling_job.py index 988b283a77..a3737d13c3 100644 --- a/google/cloud/aiplatform_v1/types/data_labeling_job.py +++ b/google/cloud/aiplatform_v1/types/data_labeling_job.py @@ -169,12 +169,21 @@ class ActiveLearningConfig(proto.Message): iterations. For every iteration, it will select a batch of data based on the sampling strategy. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: max_data_item_count (int): Max number of human labeled DataItems. + This field is a member of `oneof`_ ``human_labeling_budget``. max_data_item_percentage (int): Max percent of total DataItems for human labeling. + This field is a member of `oneof`_ ``human_labeling_budget``. sample_config (google.cloud.aiplatform_v1.types.SampleConfig): Active learning data sampling config. For every active learning labeling iteration, it @@ -203,14 +212,19 @@ class SampleConfig(proto.Message): learning labeling iteration, it will select a batch of data based on the sampling strategy. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: initial_batch_sample_percentage (int): The percentage of data needed to be labeled in the first batch. + This field is a member of `oneof`_ ``initial_batch_sample_size``. following_batch_sample_percentage (int): The percentage of data needed to be labeled in each following batch (except the first batch). + This field is a member of `oneof`_ ``following_batch_sample_size``. sample_strategy (google.cloud.aiplatform_v1.types.SampleConfig.SampleStrategy): Field to choose sampling strategy. Sampling strategy will decide which data should be diff --git a/google/cloud/aiplatform_v1/types/dataset.py b/google/cloud/aiplatform_v1/types/dataset.py index d6d190d57f..5416afad60 100644 --- a/google/cloud/aiplatform_v1/types/dataset.py +++ b/google/cloud/aiplatform_v1/types/dataset.py @@ -106,10 +106,14 @@ class ImportDataConfig(proto.Message): Dataset, together with the labels that will be applied to the DataItems and the Annotations. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_source (google.cloud.aiplatform_v1.types.GcsSource): The Google Cloud Storage location for the input content. + This field is a member of `oneof`_ ``source``. data_item_labels (Sequence[google.cloud.aiplatform_v1.types.ImportDataConfig.DataItemLabelsEntry]): Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists @@ -144,6 +148,9 @@ class ExportDataConfig(proto.Message): r"""Describes what part of the Dataset is to be exported, the destination of the export and how to export. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_destination (google.cloud.aiplatform_v1.types.GcsDestination): The Google Cloud Storage location where the output is to be @@ -157,6 +164,7 @@ class ExportDataConfig(proto.Message): with the corresponding annotations' schema title. Inside these sub directories, a schema.yaml will be created to describe the output format. + This field is a member of `oneof`_ ``destination``. annotations_filter (str): A filter on Annotations of the Dataset. Only Annotations on to-be-exported DataItems(specified by [data_items_filter][]) diff --git a/google/cloud/aiplatform_v1/types/endpoint.py b/google/cloud/aiplatform_v1/types/endpoint.py index 9c48ec26b1..7f33d4d7f3 100644 --- a/google/cloud/aiplatform_v1/types/endpoint.py +++ b/google/cloud/aiplatform_v1/types/endpoint.py @@ -125,15 +125,24 @@ class DeployedModel(proto.Message): r"""A deployment of a Model. Endpoints contain one or more DeployedModels. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: dedicated_resources (google.cloud.aiplatform_v1.types.DedicatedResources): A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration. + This field is a member of `oneof`_ ``prediction_resources``. automatic_resources (google.cloud.aiplatform_v1.types.AutomaticResources): A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + This field is a member of `oneof`_ ``prediction_resources``. id (str): Output only. The ID of the DeployedModel. model (str): diff --git a/google/cloud/aiplatform_v1/types/explanation.py b/google/cloud/aiplatform_v1/types/explanation.py index e63d5eb66f..9ac0afa4b8 100644 --- a/google/cloud/aiplatform_v1/types/explanation.py +++ b/google/cloud/aiplatform_v1/types/explanation.py @@ -260,6 +260,13 @@ class ExplanationSpec(proto.Message): class ExplanationParameters(proto.Message): r"""Parameters to configure explaining for Model's predictions. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: sampled_shapley_attribution (google.cloud.aiplatform_v1.types.SampledShapleyAttribution): An attribution method that approximates @@ -269,12 +276,14 @@ class ExplanationParameters(proto.Message): considering all subsets of features. Refer to this paper for model details: https://arxiv.org/abs/1306.4265. + This field is a member of `oneof`_ ``method``. integrated_gradients_attribution (google.cloud.aiplatform_v1.types.IntegratedGradientsAttribution): An attribution method that computes Aumann- hapley values taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365 + This field is a member of `oneof`_ ``method``. xrai_attribution (google.cloud.aiplatform_v1.types.XraiAttribution): An attribution method that redistributes Integrated Gradients attribution to segmented @@ -289,6 +298,7 @@ class ExplanationParameters(proto.Message): or from diagnostic equipment, like x-rays or quality-control cameras, use Integrated Gradients instead. + This field is a member of `oneof`_ ``method``. top_k (int): If populated, returns attributions for top K indices of outputs (defaults to 1). Only applies @@ -415,6 +425,13 @@ class SmoothGradConfig(proto.Message): this paper for more details: https://arxiv.org/pdf/1706.03825.pdf + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: noise_sigma (float): This is a single float value and will be used to add noise @@ -432,6 +449,7 @@ class SmoothGradConfig(proto.Message): If the distribution is different per feature, set [feature_noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma] instead for each feature. + This field is a member of `oneof`_ ``GradientNoiseSigma``. feature_noise_sigma (google.cloud.aiplatform_v1.types.FeatureNoiseSigma): This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], @@ -441,6 +459,7 @@ class SmoothGradConfig(proto.Message): that are not set. If this field is unset, [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all features. + This field is a member of `oneof`_ ``GradientNoiseSigma``. noisy_sample_count (int): The number of gradient samples to use for approximation. The higher this number, the more accurate the gradient is, but diff --git a/google/cloud/aiplatform_v1/types/explanation_metadata.py b/google/cloud/aiplatform_v1/types/explanation_metadata.py index 7c98c1271d..26adfe7ab7 100644 --- a/google/cloud/aiplatform_v1/types/explanation_metadata.py +++ b/google/cloud/aiplatform_v1/types/explanation_metadata.py @@ -332,6 +332,13 @@ class OverlayType(proto.Enum): class OutputMetadata(proto.Message): r"""Metadata of the prediction output to be explained. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: index_display_name_mapping (google.protobuf.struct_pb2.Value): Static mapping between the index and display name. @@ -349,6 +356,7 @@ class OutputMetadata(proto.Message): [Attribution.output_display_name][google.cloud.aiplatform.v1.Attribution.output_display_name] is populated by locating in the mapping with [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index]. + This field is a member of `oneof`_ ``display_name_mapping``. display_name_mapping_key (str): Specify a field name in the prediction to look for the display name. @@ -360,6 +368,7 @@ class OutputMetadata(proto.Message): of the outputs, so that it can be located by [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index] for a specific output. + This field is a member of `oneof`_ ``display_name_mapping``. output_tensor_name (str): Name of the output tensor. Required and is only applicable to Vertex AI provided images for diff --git a/google/cloud/aiplatform_v1/types/featurestore_online_service.py b/google/cloud/aiplatform_v1/types/featurestore_online_service.py index f730018052..f84ab2c580 100644 --- a/google/cloud/aiplatform_v1/types/featurestore_online_service.py +++ b/google/cloud/aiplatform_v1/types/featurestore_online_service.py @@ -126,15 +126,24 @@ class Data(proto.Message): r"""Container to hold value(s), successive in time, for one Feature from the request. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: value (google.cloud.aiplatform_v1.types.FeatureValue): Feature value if a single value is requested. + This field is a member of `oneof`_ ``data``. values (google.cloud.aiplatform_v1.types.FeatureValueList): Feature values list if values, successive in time, are requested. If the requested number of values is greater than the number of existing Feature values, nonexistent values are omitted instead of being returned as empty. + This field is a member of `oneof`_ ``data``. """ value = proto.Field( @@ -188,25 +197,41 @@ class FeatureValue(proto.Message): r"""Value for a feature. NEXT ID: 15 + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: bool_value (bool): Bool type feature value. + This field is a member of `oneof`_ ``value``. double_value (float): Double type feature value. + This field is a member of `oneof`_ ``value``. int64_value (int): Int64 feature value. + This field is a member of `oneof`_ ``value``. string_value (str): String feature value. + This field is a member of `oneof`_ ``value``. bool_array_value (google.cloud.aiplatform_v1.types.BoolArray): A list of bool type feature value. + This field is a member of `oneof`_ ``value``. double_array_value (google.cloud.aiplatform_v1.types.DoubleArray): A list of double type feature value. + This field is a member of `oneof`_ ``value``. int64_array_value (google.cloud.aiplatform_v1.types.Int64Array): A list of int64 type feature value. + This field is a member of `oneof`_ ``value``. string_array_value (google.cloud.aiplatform_v1.types.StringArray): A list of string type feature value. + This field is a member of `oneof`_ ``value``. bytes_value (bytes): Bytes feature value. + This field is a member of `oneof`_ ``value``. metadata (google.cloud.aiplatform_v1.types.FeatureValue.Metadata): Metadata of feature value. """ diff --git a/google/cloud/aiplatform_v1/types/featurestore_service.py b/google/cloud/aiplatform_v1/types/featurestore_service.py index 8642a18050..3a665a616d 100644 --- a/google/cloud/aiplatform_v1/types/featurestore_service.py +++ b/google/cloud/aiplatform_v1/types/featurestore_service.py @@ -257,20 +257,32 @@ class ImportFeatureValuesRequest(proto.Message): r"""Request message for [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ImportFeatureValues]. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: avro_source (google.cloud.aiplatform_v1.types.AvroSource): + This field is a member of `oneof`_ ``source``. bigquery_source (google.cloud.aiplatform_v1.types.BigQuerySource): + This field is a member of `oneof`_ ``source``. csv_source (google.cloud.aiplatform_v1.types.CsvSource): + This field is a member of `oneof`_ ``source``. feature_time_field (str): Source column that holds the Feature timestamp for all Feature values in each entity. + This field is a member of `oneof`_ ``feature_time_source``. feature_time (google.protobuf.timestamp_pb2.Timestamp): Single Feature timestamp for all entities being imported. The timestamp must not have higher than millisecond precision. + This field is a member of `oneof`_ ``feature_time_source``. entity_type (str): Required. The resource name of the EntityType grouping the Features for which values are being imported. Format: @@ -372,6 +384,13 @@ class BatchReadFeatureValuesRequest(proto.Message): r"""Request message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.BatchReadFeatureValues]. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: csv_read_instances (google.cloud.aiplatform_v1.types.CsvSource): Each read instance consists of exactly one read timestamp @@ -397,8 +416,10 @@ class BatchReadFeatureValuesRequest(proto.Message): Values in the timestamp column must use the RFC 3339 format, e.g. ``2012-07-30T10:43:17.123Z``. + This field is a member of `oneof`_ ``read_option``. bigquery_read_instances (google.cloud.aiplatform_v1.types.BigQuerySource): Similar to csv_read_instances, but from BigQuery source. + This field is a member of `oneof`_ ``read_option``. featurestore (str): Required. The resource name of the Featurestore from which to query Feature values. Format: @@ -482,10 +503,14 @@ class ExportFeatureValuesRequest(proto.Message): r"""Request message for [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ExportFeatureValues]. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: snapshot_export (google.cloud.aiplatform_v1.types.ExportFeatureValuesRequest.SnapshotExport): Exports Feature values of all entities of the EntityType as of a snapshot time. + This field is a member of `oneof`_ ``mode``. entity_type (str): Required. The resource name of the EntityType from which to export Feature values. Format: @@ -551,6 +576,13 @@ class DestinationFeatureSetting(proto.Message): class FeatureValueDestination(proto.Message): r"""A destination location for Feature values and format. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: bigquery_destination (google.cloud.aiplatform_v1.types.BigQueryDestination): Output in BigQuery format. @@ -558,6 +590,7 @@ class FeatureValueDestination(proto.Message): in [FeatureValueDestination.bigquery_destination][google.cloud.aiplatform.v1.FeatureValueDestination.bigquery_destination] must refer to a table. + This field is a member of `oneof`_ ``destination``. tfrecord_destination (google.cloud.aiplatform_v1.types.TFRecordDestination): Output in TFRecord format. @@ -572,9 +605,11 @@ class FeatureValueDestination(proto.Message): STRING, STRING_ARRAY, BYTES | BYTES_LIST true -> byte_string("true"), false -> byte_string("false") BOOL, BOOL_ARRAY (true, false) | BYTES_LIST + This field is a member of `oneof`_ ``destination``. csv_destination (google.cloud.aiplatform_v1.types.CsvDestination): Output in CSV format. Array Feature value types are not allowed in CSV format. + This field is a member of `oneof`_ ``destination``. """ bigquery_destination = proto.Field( diff --git a/google/cloud/aiplatform_v1/types/migratable_resource.py b/google/cloud/aiplatform_v1/types/migratable_resource.py index 71c449b390..8c049e4d1a 100644 --- a/google/cloud/aiplatform_v1/types/migratable_resource.py +++ b/google/cloud/aiplatform_v1/types/migratable_resource.py @@ -27,19 +27,30 @@ class MigratableResource(proto.Message): r"""Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: ml_engine_model_version (google.cloud.aiplatform_v1.types.MigratableResource.MlEngineModelVersion): Output only. Represents one Version in ml.googleapis.com. + This field is a member of `oneof`_ ``resource``. automl_model (google.cloud.aiplatform_v1.types.MigratableResource.AutomlModel): Output only. Represents one Model in automl.googleapis.com. + This field is a member of `oneof`_ ``resource``. automl_dataset (google.cloud.aiplatform_v1.types.MigratableResource.AutomlDataset): Output only. Represents one Dataset in automl.googleapis.com. + This field is a member of `oneof`_ ``resource``. data_labeling_dataset (google.cloud.aiplatform_v1.types.MigratableResource.DataLabelingDataset): Output only. Represents one Dataset in datalabeling.googleapis.com. + This field is a member of `oneof`_ ``resource``. last_migrate_time (google.protobuf.timestamp_pb2.Timestamp): Output only. Timestamp when the last migration attempt on this MigratableResource diff --git a/google/cloud/aiplatform_v1/types/migration_service.py b/google/cloud/aiplatform_v1/types/migration_service.py index 57f76fe62e..6b904d9c48 100644 --- a/google/cloud/aiplatform_v1/types/migration_service.py +++ b/google/cloud/aiplatform_v1/types/migration_service.py @@ -130,20 +130,31 @@ class MigrateResourceRequest(proto.Message): r"""Config of migrating one resource from automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com to Vertex AI. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: migrate_ml_engine_model_version_config (google.cloud.aiplatform_v1.types.MigrateResourceRequest.MigrateMlEngineModelVersionConfig): Config for migrating Version in ml.googleapis.com to Vertex AI's Model. + This field is a member of `oneof`_ ``request``. migrate_automl_model_config (google.cloud.aiplatform_v1.types.MigrateResourceRequest.MigrateAutomlModelConfig): Config for migrating Model in automl.googleapis.com to Vertex AI's Model. + This field is a member of `oneof`_ ``request``. migrate_automl_dataset_config (google.cloud.aiplatform_v1.types.MigrateResourceRequest.MigrateAutomlDatasetConfig): Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset. + This field is a member of `oneof`_ ``request``. migrate_data_labeling_dataset_config (google.cloud.aiplatform_v1.types.MigrateResourceRequest.MigrateDataLabelingDatasetConfig): Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset. + This field is a member of `oneof`_ ``request``. """ class MigrateMlEngineModelVersionConfig(proto.Message): @@ -288,11 +299,20 @@ class BatchMigrateResourcesResponse(proto.Message): class MigrateResourceResponse(proto.Message): r"""Describes a successfully migrated resource. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: dataset (str): Migrated Dataset's resource name. + This field is a member of `oneof`_ ``migrated_resource``. model (str): Migrated Model's resource name. + This field is a member of `oneof`_ ``migrated_resource``. migratable_resource (google.cloud.aiplatform_v1.types.MigratableResource): Before migration, the identifier in ml.googleapis.com, automl.googleapis.com or @@ -322,14 +342,24 @@ class PartialResult(proto.Message): r"""Represents a partial result in batch migration operation for one [MigrateResourceRequest][google.cloud.aiplatform.v1.MigrateResourceRequest]. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: error (google.rpc.status_pb2.Status): The error result of the migration request in case of failure. + This field is a member of `oneof`_ ``result``. model (str): Migrated model resource name. + This field is a member of `oneof`_ ``result``. dataset (str): Migrated dataset resource name. + This field is a member of `oneof`_ ``result``. request (google.cloud.aiplatform_v1.types.MigrateResourceRequest): It's the same as the value in [MigrateResourceRequest.migrate_resource_requests][]. diff --git a/google/cloud/aiplatform_v1/types/model_monitoring.py b/google/cloud/aiplatform_v1/types/model_monitoring.py index 11e2ca7020..cf8e243443 100644 --- a/google/cloud/aiplatform_v1/types/model_monitoring.py +++ b/google/cloud/aiplatform_v1/types/model_monitoring.py @@ -51,16 +51,26 @@ class ModelMonitoringObjectiveConfig(proto.Message): class TrainingDataset(proto.Message): r"""Training Dataset information. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: dataset (str): The resource name of the Dataset used to train this Model. + This field is a member of `oneof`_ ``data_source``. gcs_source (google.cloud.aiplatform_v1.types.GcsSource): The Google Cloud Storage uri of the unmanaged Dataset used to train this Model. + This field is a member of `oneof`_ ``data_source``. bigquery_source (google.cloud.aiplatform_v1.types.BigQuerySource): The BigQuery table of the unmanaged Dataset used to train this Model. + This field is a member of `oneof`_ ``data_source``. data_format (str): Data format of the dataset, only applicable if the input is from Google Cloud Storage. @@ -168,12 +178,21 @@ class ExplanationBaseline(proto.Message): for Model Monitoring baseline dataset, which can be used to generate baseline attribution scores. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs (google.cloud.aiplatform_v1.types.GcsDestination): Cloud Storage location for BatchExplain output. + This field is a member of `oneof`_ ``destination``. bigquery (google.cloud.aiplatform_v1.types.BigQueryDestination): BigQuery location for BatchExplain output. + This field is a member of `oneof`_ ``destination``. prediction_format (google.cloud.aiplatform_v1.types.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.PredictionFormat): The storage format of the predictions generated BatchPrediction job. @@ -224,9 +243,12 @@ class PredictionFormat(proto.Enum): class ModelMonitoringAlertConfig(proto.Message): r"""Next ID: 2 + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: email_alert_config (google.cloud.aiplatform_v1.types.ModelMonitoringAlertConfig.EmailAlertConfig): Email alert config. + This field is a member of `oneof`_ ``alert``. """ class EmailAlertConfig(proto.Message): @@ -248,6 +270,9 @@ class ThresholdConfig(proto.Message): r"""The config for feature monitoring threshold. Next ID: 3 + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: value (float): Specify a threshold value that can trigger @@ -261,6 +286,7 @@ class ThresholdConfig(proto.Message): Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature. + This field is a member of `oneof`_ ``threshold``. """ value = proto.Field(proto.DOUBLE, number=1, oneof="threshold",) diff --git a/google/cloud/aiplatform_v1/types/pipeline_job.py b/google/cloud/aiplatform_v1/types/pipeline_job.py index 9e53ee6ea2..681e91a368 100644 --- a/google/cloud/aiplatform_v1/types/pipeline_job.py +++ b/google/cloud/aiplatform_v1/types/pipeline_job.py @@ -116,6 +116,7 @@ class RuntimeConfig(proto.Message): Attributes: parameters (Sequence[google.cloud.aiplatform_v1.types.PipelineJob.RuntimeConfig.ParametersEntry]): + Deprecated. Use [RuntimeConfig.parameter_values] instead. The runtime parameters of the PipelineJob. The parameters will be passed into [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec] @@ -129,12 +130,20 @@ class RuntimeConfig(proto.Message): specified output directory. The service account specified in this pipeline must have the ``storage.objects.get`` and ``storage.objects.create`` permissions for this bucket. + parameter_values (Sequence[google.cloud.aiplatform_v1.types.PipelineJob.RuntimeConfig.ParameterValuesEntry]): + The runtime parameters of the PipelineJob. The parameters + will be passed into + [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec] + to replace the placeholders at runtime. """ parameters = proto.MapField( proto.STRING, proto.MESSAGE, number=1, message=gca_value.Value, ) gcs_output_directory = proto.Field(proto.STRING, number=2,) + parameter_values = proto.MapField( + proto.STRING, proto.MESSAGE, number=3, message=struct_pb2.Value, + ) name = proto.Field(proto.STRING, number=1,) display_name = proto.Field(proto.STRING, number=2,) @@ -209,6 +218,10 @@ class PipelineTaskDetail(proto.Message): Output only. The error that occurred during task execution. Only populated when the task's state is FAILED or CANCELLED. + pipeline_task_status (Sequence[google.cloud.aiplatform_v1.types.PipelineTaskDetail.PipelineTaskStatus]): + Output only. A list of task status. This + field keeps a record of task status evolving + over time. inputs (Sequence[google.cloud.aiplatform_v1.types.PipelineTaskDetail.InputsEntry]): Output only. The runtime input artifacts of the task. @@ -230,6 +243,30 @@ class State(proto.Enum): SKIPPED = 8 NOT_TRIGGERED = 9 + class PipelineTaskStatus(proto.Message): + r"""A single record of the task status. + + Attributes: + update_time (google.protobuf.timestamp_pb2.Timestamp): + Output only. Update time of this status. + state (google.cloud.aiplatform_v1.types.PipelineTaskDetail.State): + Output only. The state of the task. + error (google.rpc.status_pb2.Status): + Output only. The error that occurred during + the state. May be set when the state is any of + the non-final state (PENDING/RUNNING/CANCELLING) + or FAILED state. If the state is FAILED, the + error here is final and not going to be retried. + If the state is a non-final state, the error + indicates a system-error being retried. + """ + + update_time = proto.Field( + proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp, + ) + state = proto.Field(proto.ENUM, number=2, enum="PipelineTaskDetail.State",) + error = proto.Field(proto.MESSAGE, number=3, message=status_pb2.Status,) + class ArtifactList(proto.Message): r"""A list of artifact metadata. @@ -254,6 +291,9 @@ class ArtifactList(proto.Message): state = proto.Field(proto.ENUM, number=7, enum=State,) execution = proto.Field(proto.MESSAGE, number=8, message=gca_execution.Execution,) error = proto.Field(proto.MESSAGE, number=9, message=status_pb2.Status,) + pipeline_task_status = proto.RepeatedField( + proto.MESSAGE, number=13, message=PipelineTaskStatus, + ) inputs = proto.MapField( proto.STRING, proto.MESSAGE, number=10, message=ArtifactList, ) @@ -265,13 +305,22 @@ class ArtifactList(proto.Message): class PipelineTaskExecutorDetail(proto.Message): r"""The runtime detail of a pipeline executor. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: container_detail (google.cloud.aiplatform_v1.types.PipelineTaskExecutorDetail.ContainerDetail): Output only. The detailed info for a container executor. + This field is a member of `oneof`_ ``details``. custom_job_detail (google.cloud.aiplatform_v1.types.PipelineTaskExecutorDetail.CustomJobDetail): Output only. The detailed info for a custom job executor. + This field is a member of `oneof`_ ``details``. """ class ContainerDetail(proto.Message): diff --git a/google/cloud/aiplatform_v1/types/study.py b/google/cloud/aiplatform_v1/types/study.py index 30108b7ded..be142a2544 100644 --- a/google/cloud/aiplatform_v1/types/study.py +++ b/google/cloud/aiplatform_v1/types/study.py @@ -176,13 +176,22 @@ class Parameter(proto.Message): class StudySpec(proto.Message): r"""Represents specification of a Study. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: decay_curve_stopping_spec (google.cloud.aiplatform_v1.types.StudySpec.DecayCurveAutomatedStoppingSpec): The automated early stopping spec using decay curve rule. + This field is a member of `oneof`_ ``automated_stopping_spec``. median_automated_stopping_spec (google.cloud.aiplatform_v1.types.StudySpec.MedianAutomatedStoppingSpec): The automated early stopping spec using median rule. + This field is a member of `oneof`_ ``automated_stopping_spec``. metrics (Sequence[google.cloud.aiplatform_v1.types.StudySpec.MetricSpec]): Required. Metric specs for the Study. parameters (Sequence[google.cloud.aiplatform_v1.types.StudySpec.ParameterSpec]): @@ -257,15 +266,26 @@ class GoalType(proto.Enum): class ParameterSpec(proto.Message): r"""Represents a single parameter to optimize. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: double_value_spec (google.cloud.aiplatform_v1.types.StudySpec.ParameterSpec.DoubleValueSpec): The value spec for a 'DOUBLE' parameter. + This field is a member of `oneof`_ ``parameter_value_spec``. integer_value_spec (google.cloud.aiplatform_v1.types.StudySpec.ParameterSpec.IntegerValueSpec): The value spec for an 'INTEGER' parameter. + This field is a member of `oneof`_ ``parameter_value_spec``. categorical_value_spec (google.cloud.aiplatform_v1.types.StudySpec.ParameterSpec.CategoricalValueSpec): The value spec for a 'CATEGORICAL' parameter. + This field is a member of `oneof`_ ``parameter_value_spec``. discrete_value_spec (google.cloud.aiplatform_v1.types.StudySpec.ParameterSpec.DiscreteValueSpec): The value spec for a 'DISCRETE' parameter. + This field is a member of `oneof`_ ``parameter_value_spec``. parameter_id (str): Required. The ID of the parameter. Must not contain whitespaces and must be unique amongst @@ -305,6 +325,7 @@ class DoubleValueSpec(proto.Message): Currently only supported by the Vizier service. Not supported by HyperparamterTuningJob or TrainingPipeline. + This field is a member of `oneof`_ ``_default_value``. """ min_value = proto.Field(proto.DOUBLE, number=1,) @@ -328,6 +349,7 @@ class IntegerValueSpec(proto.Message): Currently only supported by the Vizier service. Not supported by HyperparamterTuningJob or TrainingPipeline. + This field is a member of `oneof`_ ``_default_value``. """ min_value = proto.Field(proto.INT64, number=1,) @@ -347,6 +369,7 @@ class CategoricalValueSpec(proto.Message): Currently only supported by the Vizier service. Not supported by HyperparamterTuningJob or TrainingPipeline. + This field is a member of `oneof`_ ``_default_value``. """ values = proto.RepeatedField(proto.STRING, number=1,) @@ -371,6 +394,7 @@ class DiscreteValueSpec(proto.Message): Currently only supported by the Vizier service. Not supported by HyperparamterTuningJob or TrainingPipeline. + This field is a member of `oneof`_ ``_default_value``. """ values = proto.RepeatedField(proto.DOUBLE, number=1,) @@ -380,16 +404,26 @@ class ConditionalParameterSpec(proto.Message): r"""Represents a parameter spec with condition from its parent parameter. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: parent_discrete_values (google.cloud.aiplatform_v1.types.StudySpec.ParameterSpec.ConditionalParameterSpec.DiscreteValueCondition): The spec for matching values from a parent parameter of ``DISCRETE`` type. + This field is a member of `oneof`_ ``parent_value_condition``. parent_int_values (google.cloud.aiplatform_v1.types.StudySpec.ParameterSpec.ConditionalParameterSpec.IntValueCondition): The spec for matching values from a parent parameter of ``INTEGER`` type. + This field is a member of `oneof`_ ``parent_value_condition``. parent_categorical_values (google.cloud.aiplatform_v1.types.StudySpec.ParameterSpec.ConditionalParameterSpec.CategoricalValueCondition): The spec for matching values from a parent parameter of ``CATEGORICAL`` type. + This field is a member of `oneof`_ ``parent_value_condition``. parameter_spec (google.cloud.aiplatform_v1.types.StudySpec.ParameterSpec): Required. The spec for a conditional parameter. diff --git a/google/cloud/aiplatform_v1/types/training_pipeline.py b/google/cloud/aiplatform_v1/types/training_pipeline.py index 52acbcb2d2..be85a3cefd 100644 --- a/google/cloud/aiplatform_v1/types/training_pipeline.py +++ b/google/cloud/aiplatform_v1/types/training_pipeline.py @@ -178,20 +178,31 @@ class InputDataConfig(proto.Message): r"""Specifies Vertex AI owned input data to be used for training, and possibly evaluating, the Model. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: fraction_split (google.cloud.aiplatform_v1.types.FractionSplit): Split based on fractions defining the size of each set. + This field is a member of `oneof`_ ``split``. filter_split (google.cloud.aiplatform_v1.types.FilterSplit): Split based on the provided filters for each set. + This field is a member of `oneof`_ ``split``. predefined_split (google.cloud.aiplatform_v1.types.PredefinedSplit): Supported only for tabular Datasets. Split based on a predefined key. + This field is a member of `oneof`_ ``split``. timestamp_split (google.cloud.aiplatform_v1.types.TimestampSplit): Supported only for tabular Datasets. Split based on the timestamp of the input data pieces. + This field is a member of `oneof`_ ``split``. gcs_destination (google.cloud.aiplatform_v1.types.GcsDestination): The Cloud Storage location where the training data is to be written to. In the given directory a new directory is @@ -217,6 +228,7 @@ class InputDataConfig(proto.Message): - AIP_TEST_DATA_URI = "gcs_destination/dataset---/test-*.${AIP_DATA_FORMAT}". + This field is a member of `oneof`_ ``destination``. bigquery_destination (google.cloud.aiplatform_v1.types.BigQueryDestination): Only applicable to custom training with tabular Dataset with BigQuery source. @@ -240,6 +252,7 @@ class InputDataConfig(proto.Message): - AIP_TEST_DATA_URI = "bigquery_destination.dataset\_\ **\ .test". + This field is a member of `oneof`_ ``destination``. dataset_id (str): Required. The ID of the Dataset in the same Project and Location which data will be used to train the Model. The diff --git a/google/cloud/aiplatform_v1/types/user_action_reference.py b/google/cloud/aiplatform_v1/types/user_action_reference.py index 27f0bcdf92..36ac95e653 100644 --- a/google/cloud/aiplatform_v1/types/user_action_reference.py +++ b/google/cloud/aiplatform_v1/types/user_action_reference.py @@ -26,16 +26,25 @@ class UserActionReference(proto.Message): long running operation and Jobs that are triggered by the API call. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: operation (str): For API calls that return a long running operation. Resource name of the long running operation. Format: 'projects/{project}/locations/{location}/operations/{operation}' + This field is a member of `oneof`_ ``reference``. data_labeling_job (str): For API calls that start a LabelingJob. Resource name of the LabelingJob. Format: 'projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}' + This field is a member of `oneof`_ ``reference``. method (str): The method name of the API RPC call. For example, diff --git a/google/cloud/aiplatform_v1/types/value.py b/google/cloud/aiplatform_v1/types/value.py index 2b65fb496b..a404fe407a 100644 --- a/google/cloud/aiplatform_v1/types/value.py +++ b/google/cloud/aiplatform_v1/types/value.py @@ -22,13 +22,23 @@ class Value(proto.Message): r"""Value is the value of the field. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: int_value (int): An integer value. + This field is a member of `oneof`_ ``value``. double_value (float): A double value. + This field is a member of `oneof`_ ``value``. string_value (str): A string value. + This field is a member of `oneof`_ ``value``. """ int_value = proto.Field(proto.INT64, number=1, oneof="value",) diff --git a/google/cloud/aiplatform_v1beta1/services/dataset_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/dataset_service/async_client.py index b3f14964d3..55928376eb 100644 --- a/google/cloud/aiplatform_v1beta1/services/dataset_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/dataset_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.dataset_service import pagers @@ -186,18 +188,18 @@ def __init__( async def create_dataset( self, - request: dataset_service.CreateDatasetRequest = None, + request: Union[dataset_service.CreateDatasetRequest, dict] = None, *, parent: str = None, dataset: gca_dataset.Dataset = 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 Dataset. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateDatasetRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateDatasetRequest, dict]): The request object. Request message for [DatasetService.CreateDataset][google.cloud.aiplatform.v1beta1.DatasetService.CreateDataset]. parent (:class:`str`): @@ -277,17 +279,17 @@ async def create_dataset( async def get_dataset( self, - request: dataset_service.GetDatasetRequest = None, + request: Union[dataset_service.GetDatasetRequest, 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]] = (), ) -> dataset.Dataset: r"""Gets a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetDatasetRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetDatasetRequest, dict]): The request object. Request message for [DatasetService.GetDataset][google.cloud.aiplatform.v1beta1.DatasetService.GetDataset]. name (:class:`str`): @@ -348,18 +350,18 @@ async def get_dataset( async def update_dataset( self, - request: dataset_service.UpdateDatasetRequest = None, + request: Union[dataset_service.UpdateDatasetRequest, dict] = None, *, dataset: gca_dataset.Dataset = 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]] = (), ) -> gca_dataset.Dataset: r"""Updates a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateDatasetRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateDatasetRequest, dict]): The request object. Request message for [DatasetService.UpdateDataset][google.cloud.aiplatform.v1beta1.DatasetService.UpdateDataset]. dataset (:class:`google.cloud.aiplatform_v1beta1.types.Dataset`): @@ -437,17 +439,17 @@ async def update_dataset( async def list_datasets( self, - request: dataset_service.ListDatasetsRequest = None, + request: Union[dataset_service.ListDatasetsRequest, 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.ListDatasetsAsyncPager: r"""Lists Datasets in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListDatasetsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListDatasetsRequest, dict]): The request object. Request message for [DatasetService.ListDatasets][google.cloud.aiplatform.v1beta1.DatasetService.ListDatasets]. parent (:class:`str`): @@ -517,17 +519,17 @@ async def list_datasets( async def delete_dataset( self, - request: dataset_service.DeleteDatasetRequest = None, + request: Union[dataset_service.DeleteDatasetRequest, 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 Dataset. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteDatasetRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteDatasetRequest, dict]): The request object. Request message for [DatasetService.DeleteDataset][google.cloud.aiplatform.v1beta1.DatasetService.DeleteDataset]. name (:class:`str`): @@ -610,18 +612,18 @@ async def delete_dataset( async def import_data( self, - request: dataset_service.ImportDataRequest = None, + request: Union[dataset_service.ImportDataRequest, dict] = None, *, name: str = None, import_configs: Sequence[dataset.ImportDataConfig] = 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"""Imports data into a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ImportDataRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ImportDataRequest, dict]): The request object. Request message for [DatasetService.ImportData][google.cloud.aiplatform.v1beta1.DatasetService.ImportData]. name (:class:`str`): @@ -704,18 +706,18 @@ async def import_data( async def export_data( self, - request: dataset_service.ExportDataRequest = None, + request: Union[dataset_service.ExportDataRequest, dict] = None, *, name: str = None, export_config: dataset.ExportDataConfig = 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 data from a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ExportDataRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ExportDataRequest, dict]): The request object. Request message for [DatasetService.ExportData][google.cloud.aiplatform.v1beta1.DatasetService.ExportData]. name (:class:`str`): @@ -797,17 +799,17 @@ async def export_data( async def list_data_items( self, - request: dataset_service.ListDataItemsRequest = None, + request: Union[dataset_service.ListDataItemsRequest, 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.ListDataItemsAsyncPager: r"""Lists DataItems in a Dataset. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListDataItemsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListDataItemsRequest, dict]): The request object. Request message for [DatasetService.ListDataItems][google.cloud.aiplatform.v1beta1.DatasetService.ListDataItems]. parent (:class:`str`): @@ -878,17 +880,17 @@ async def list_data_items( async def get_annotation_spec( self, - request: dataset_service.GetAnnotationSpecRequest = None, + request: Union[dataset_service.GetAnnotationSpecRequest, 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]] = (), ) -> annotation_spec.AnnotationSpec: r"""Gets an AnnotationSpec. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetAnnotationSpecRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetAnnotationSpecRequest, dict]): The request object. Request message for [DatasetService.GetAnnotationSpec][google.cloud.aiplatform.v1beta1.DatasetService.GetAnnotationSpec]. name (:class:`str`): @@ -950,17 +952,17 @@ async def get_annotation_spec( async def list_annotations( self, - request: dataset_service.ListAnnotationsRequest = None, + request: Union[dataset_service.ListAnnotationsRequest, 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.ListAnnotationsAsyncPager: r"""Lists Annotations belongs to a dataitem Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListAnnotationsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListAnnotationsRequest, dict]): The request object. Request message for [DatasetService.ListAnnotations][google.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations]. parent (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/dataset_service/client.py b/google/cloud/aiplatform_v1beta1/services/dataset_service/client.py index aa518fe95c..ef8f53a778 100644 --- a/google/cloud/aiplatform_v1beta1/services/dataset_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/dataset_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.dataset_service import pagers @@ -429,7 +431,7 @@ def create_dataset( *, parent: str = None, dataset: gca_dataset.Dataset = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -519,7 +521,7 @@ def get_dataset( request: Union[dataset_service.GetDatasetRequest, 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]] = (), ) -> dataset.Dataset: @@ -591,7 +593,7 @@ def update_dataset( *, dataset: gca_dataset.Dataset = 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]] = (), ) -> gca_dataset.Dataset: @@ -679,7 +681,7 @@ def list_datasets( request: Union[dataset_service.ListDatasetsRequest, 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.ListDatasetsPager: @@ -759,7 +761,7 @@ def delete_dataset( request: Union[dataset_service.DeleteDatasetRequest, 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]] = (), ) -> gac_operation.Operation: @@ -853,7 +855,7 @@ def import_data( *, name: str = None, import_configs: Sequence[dataset.ImportDataConfig] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -947,7 +949,7 @@ def export_data( *, name: str = None, export_config: dataset.ExportDataConfig = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1039,7 +1041,7 @@ def list_data_items( request: Union[dataset_service.ListDataItemsRequest, 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.ListDataItemsPager: @@ -1120,7 +1122,7 @@ def get_annotation_spec( request: Union[dataset_service.GetAnnotationSpecRequest, 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]] = (), ) -> annotation_spec.AnnotationSpec: @@ -1192,7 +1194,7 @@ def list_annotations( request: Union[dataset_service.ListAnnotationsRequest, 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.ListAnnotationsPager: diff --git a/google/cloud/aiplatform_v1beta1/services/dataset_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/dataset_service/transports/base.py index 673df72313..fa3c6d2603 100644 --- a/google/cloud/aiplatform_v1beta1/services/dataset_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/dataset_service/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 @@ -42,15 +41,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 DatasetServiceTransport(abc.ABC): """Abstract transport class for DatasetService.""" @@ -100,7 +90,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 @@ -133,29 +123,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 = { @@ -201,7 +168,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/aiplatform_v1beta1/services/dataset_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/dataset_service/transports/grpc.py index f8f7fb2009..eb5c774d77 100644 --- a/google/cloud/aiplatform_v1beta1/services/dataset_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/dataset_service/transports/grpc.py @@ -116,7 +116,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/aiplatform_v1beta1/services/dataset_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/dataset_service/transports/grpc_asyncio.py index 698e99dae2..52583b4ac6 100644 --- a/google/cloud/aiplatform_v1beta1/services/dataset_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/dataset_service/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 @@ -163,7 +162,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/aiplatform_v1beta1/services/endpoint_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/endpoint_service/async_client.py index 34058ff9a6..8d794973c6 100644 --- a/google/cloud/aiplatform_v1beta1/services/endpoint_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/endpoint_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.endpoint_service import pagers @@ -182,18 +184,18 @@ def __init__( async def create_endpoint( self, - request: endpoint_service.CreateEndpointRequest = None, + request: Union[endpoint_service.CreateEndpointRequest, dict] = None, *, parent: str = None, endpoint: gca_endpoint.Endpoint = 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 an Endpoint. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateEndpointRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateEndpointRequest, dict]): The request object. Request message for [EndpointService.CreateEndpoint][google.cloud.aiplatform.v1beta1.EndpointService.CreateEndpoint]. parent (:class:`str`): @@ -272,17 +274,17 @@ async def create_endpoint( async def get_endpoint( self, - request: endpoint_service.GetEndpointRequest = None, + request: Union[endpoint_service.GetEndpointRequest, 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]] = (), ) -> endpoint.Endpoint: r"""Gets an Endpoint. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetEndpointRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetEndpointRequest, dict]): The request object. Request message for [EndpointService.GetEndpoint][google.cloud.aiplatform.v1beta1.EndpointService.GetEndpoint] name (:class:`str`): @@ -344,17 +346,17 @@ async def get_endpoint( async def list_endpoints( self, - request: endpoint_service.ListEndpointsRequest = None, + request: Union[endpoint_service.ListEndpointsRequest, 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.ListEndpointsAsyncPager: r"""Lists Endpoints in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListEndpointsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListEndpointsRequest, dict]): The request object. Request message for [EndpointService.ListEndpoints][google.cloud.aiplatform.v1beta1.EndpointService.ListEndpoints]. parent (:class:`str`): @@ -425,18 +427,18 @@ async def list_endpoints( async def update_endpoint( self, - request: endpoint_service.UpdateEndpointRequest = None, + request: Union[endpoint_service.UpdateEndpointRequest, dict] = None, *, endpoint: gca_endpoint.Endpoint = 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]] = (), ) -> gca_endpoint.Endpoint: r"""Updates an Endpoint. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateEndpointRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateEndpointRequest, dict]): The request object. Request message for [EndpointService.UpdateEndpoint][google.cloud.aiplatform.v1beta1.EndpointService.UpdateEndpoint]. endpoint (:class:`google.cloud.aiplatform_v1beta1.types.Endpoint`): @@ -509,17 +511,17 @@ async def update_endpoint( async def delete_endpoint( self, - request: endpoint_service.DeleteEndpointRequest = None, + request: Union[endpoint_service.DeleteEndpointRequest, 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 an Endpoint. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteEndpointRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteEndpointRequest, dict]): The request object. Request message for [EndpointService.DeleteEndpoint][google.cloud.aiplatform.v1beta1.EndpointService.DeleteEndpoint]. name (:class:`str`): @@ -602,14 +604,14 @@ async def delete_endpoint( async def deploy_model( self, - request: endpoint_service.DeployModelRequest = None, + request: Union[endpoint_service.DeployModelRequest, dict] = None, *, endpoint: str = None, deployed_model: gca_endpoint.DeployedModel = None, traffic_split: Sequence[ endpoint_service.DeployModelRequest.TrafficSplitEntry ] = 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: @@ -617,7 +619,7 @@ async def deploy_model( DeployedModel within it. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeployModelRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeployModelRequest, dict]): The request object. Request message for [EndpointService.DeployModel][google.cloud.aiplatform.v1beta1.EndpointService.DeployModel]. endpoint (:class:`str`): @@ -727,14 +729,14 @@ async def deploy_model( async def undeploy_model( self, - request: endpoint_service.UndeployModelRequest = None, + request: Union[endpoint_service.UndeployModelRequest, dict] = None, *, endpoint: str = None, deployed_model_id: str = None, traffic_split: Sequence[ endpoint_service.UndeployModelRequest.TrafficSplitEntry ] = 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: @@ -743,7 +745,7 @@ async def undeploy_model( using. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UndeployModelRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UndeployModelRequest, dict]): The request object. Request message for [EndpointService.UndeployModel][google.cloud.aiplatform.v1beta1.EndpointService.UndeployModel]. endpoint (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/endpoint_service/client.py b/google/cloud/aiplatform_v1beta1/services/endpoint_service/client.py index 2d7a83b6f5..676f4d5de0 100644 --- a/google/cloud/aiplatform_v1beta1/services/endpoint_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/endpoint_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.endpoint_service import pagers @@ -413,7 +415,7 @@ def create_endpoint( *, parent: str = None, endpoint: gca_endpoint.Endpoint = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -502,7 +504,7 @@ def get_endpoint( request: Union[endpoint_service.GetEndpointRequest, 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]] = (), ) -> endpoint.Endpoint: @@ -574,7 +576,7 @@ def list_endpoints( request: Union[endpoint_service.ListEndpointsRequest, 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.ListEndpointsPager: @@ -656,7 +658,7 @@ def update_endpoint( *, endpoint: gca_endpoint.Endpoint = 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]] = (), ) -> gca_endpoint.Endpoint: @@ -739,7 +741,7 @@ def delete_endpoint( request: Union[endpoint_service.DeleteEndpointRequest, 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]] = (), ) -> gac_operation.Operation: @@ -836,7 +838,7 @@ def deploy_model( traffic_split: Sequence[ endpoint_service.DeployModelRequest.TrafficSplitEntry ] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -960,7 +962,7 @@ def undeploy_model( traffic_split: Sequence[ endpoint_service.UndeployModelRequest.TrafficSplitEntry ] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: diff --git a/google/cloud/aiplatform_v1beta1/services/endpoint_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/endpoint_service/transports/base.py index 55354df6ce..e34cabe703 100644 --- a/google/cloud/aiplatform_v1beta1/services/endpoint_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/endpoint_service/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 @@ -41,15 +40,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 EndpointServiceTransport(abc.ABC): """Abstract transport class for EndpointService.""" @@ -99,7 +89,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 @@ -132,29 +122,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 = { @@ -191,7 +158,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/aiplatform_v1beta1/services/endpoint_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/endpoint_service/transports/grpc.py index ad758587cc..0ba6ae6491 100644 --- a/google/cloud/aiplatform_v1beta1/services/endpoint_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/endpoint_service/transports/grpc.py @@ -114,7 +114,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/aiplatform_v1beta1/services/endpoint_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/endpoint_service/transports/grpc_asyncio.py index ed00272b13..1b8b1b7a2f 100644 --- a/google/cloud/aiplatform_v1beta1/services/endpoint_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/endpoint_service/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 @@ -161,7 +160,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/aiplatform_v1beta1/services/featurestore_online_serving_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/async_client.py index 2933151dee..2d7dd457a9 100644 --- a/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/async_client.py @@ -19,13 +19,15 @@ from typing import Dict, AsyncIterable, Awaitable, 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.cloud.aiplatform_v1beta1.types import featurestore_online_service from .transports.base import ( FeaturestoreOnlineServingServiceTransport, @@ -180,10 +182,12 @@ def __init__( async def read_feature_values( self, - request: featurestore_online_service.ReadFeatureValuesRequest = None, + request: Union[ + featurestore_online_service.ReadFeatureValuesRequest, dict + ] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> featurestore_online_service.ReadFeatureValuesResponse: @@ -193,7 +197,7 @@ async def read_feature_values( StreamingReadFeatureValues. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ReadFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ReadFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreOnlineServingService.ReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.ReadFeatureValues]. entity_type (:class:`str`): @@ -260,10 +264,12 @@ async def read_feature_values( def streaming_read_feature_values( self, - request: featurestore_online_service.StreamingReadFeatureValuesRequest = None, + request: Union[ + featurestore_online_service.StreamingReadFeatureValuesRequest, dict + ] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> Awaitable[ @@ -274,7 +280,7 @@ def streaming_read_feature_values( up across multiple responses. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.StreamingReadFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.StreamingReadFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreOnlineServingService.StreamingFeatureValuesRead][]. entity_type (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/client.py b/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/client.py index 5f1b873f93..c9417cff0c 100644 --- a/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/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.cloud.aiplatform_v1beta1.types import featurestore_online_service from .transports.base import ( FeaturestoreOnlineServingServiceTransport, @@ -369,7 +371,7 @@ def read_feature_values( ] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> featurestore_online_service.ReadFeatureValuesResponse: @@ -453,7 +455,7 @@ def streaming_read_feature_values( ] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> Iterable[featurestore_online_service.ReadFeatureValuesResponse]: diff --git a/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/transports/base.py index faaf459fa9..37334f7bd2 100644 --- a/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/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 FeaturestoreOnlineServingServiceTransport(abc.ABC): """Abstract transport class for FeaturestoreOnlineServingService.""" @@ -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 = { diff --git a/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/transports/grpc_asyncio.py index ef95243f26..4032cb5115 100644 --- a/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/featurestore_online_serving_service/transports/grpc_asyncio.py @@ -20,7 +20,6 @@ from google.api_core import grpc_helpers_async # 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 diff --git a/google/cloud/aiplatform_v1beta1/services/featurestore_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/featurestore_service/async_client.py index 704b1b5aef..47d7b9b5cc 100644 --- a/google/cloud/aiplatform_v1beta1/services/featurestore_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/featurestore_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.featurestore_service import pagers @@ -189,11 +191,11 @@ def __init__( async def create_featurestore( self, - request: featurestore_service.CreateFeaturestoreRequest = None, + request: Union[featurestore_service.CreateFeaturestoreRequest, dict] = None, *, parent: str = None, featurestore: gca_featurestore.Featurestore = 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: @@ -201,7 +203,7 @@ async def create_featurestore( location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateFeaturestoreRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateFeaturestoreRequest, dict]): The request object. Request message for [FeaturestoreService.CreateFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeaturestore]. parent (:class:`str`): @@ -282,17 +284,17 @@ async def create_featurestore( async def get_featurestore( self, - request: featurestore_service.GetFeaturestoreRequest = None, + request: Union[featurestore_service.GetFeaturestoreRequest, 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]] = (), ) -> featurestore.Featurestore: r"""Gets details of a single Featurestore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetFeaturestoreRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetFeaturestoreRequest, dict]): The request object. Request message for [FeaturestoreService.GetFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeaturestore]. name (:class:`str`): @@ -354,17 +356,17 @@ async def get_featurestore( async def list_featurestores( self, - request: featurestore_service.ListFeaturestoresRequest = None, + request: Union[featurestore_service.ListFeaturestoresRequest, 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.ListFeaturestoresAsyncPager: r"""Lists Featurestores in a given project and location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListFeaturestoresRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListFeaturestoresRequest, dict]): The request object. Request message for [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores]. parent (:class:`str`): @@ -435,18 +437,18 @@ async def list_featurestores( async def update_featurestore( self, - request: featurestore_service.UpdateFeaturestoreRequest = None, + request: Union[featurestore_service.UpdateFeaturestoreRequest, dict] = None, *, featurestore: gca_featurestore.Featurestore = 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 Featurestore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateFeaturestoreRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateFeaturestoreRequest, dict]): The request object. Request message for [FeaturestoreService.UpdateFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeaturestore]. featurestore (:class:`google.cloud.aiplatform_v1beta1.types.Featurestore`): @@ -542,11 +544,11 @@ async def update_featurestore( async def delete_featurestore( self, - request: featurestore_service.DeleteFeaturestoreRequest = None, + request: Union[featurestore_service.DeleteFeaturestoreRequest, dict] = None, *, name: str = None, force: bool = 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: @@ -555,7 +557,7 @@ async def delete_featurestore( to succeed. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteFeaturestoreRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteFeaturestoreRequest, dict]): The request object. Request message for [FeaturestoreService.DeleteFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeaturestore]. name (:class:`str`): @@ -650,18 +652,18 @@ async def delete_featurestore( async def create_entity_type( self, - request: featurestore_service.CreateEntityTypeRequest = None, + request: Union[featurestore_service.CreateEntityTypeRequest, dict] = None, *, parent: str = None, entity_type: gca_entity_type.EntityType = 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 EntityType in a given Featurestore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateEntityTypeRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateEntityTypeRequest, dict]): The request object. Request message for [FeaturestoreService.CreateEntityType][google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateEntityType]. parent (:class:`str`): @@ -742,17 +744,17 @@ async def create_entity_type( async def get_entity_type( self, - request: featurestore_service.GetEntityTypeRequest = None, + request: Union[featurestore_service.GetEntityTypeRequest, 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]] = (), ) -> entity_type.EntityType: r"""Gets details of a single EntityType. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetEntityTypeRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetEntityTypeRequest, dict]): The request object. Request message for [FeaturestoreService.GetEntityType][google.cloud.aiplatform.v1beta1.FeaturestoreService.GetEntityType]. name (:class:`str`): @@ -817,17 +819,17 @@ async def get_entity_type( async def list_entity_types( self, - request: featurestore_service.ListEntityTypesRequest = None, + request: Union[featurestore_service.ListEntityTypesRequest, 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.ListEntityTypesAsyncPager: r"""Lists EntityTypes in a given Featurestore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListEntityTypesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListEntityTypesRequest, dict]): The request object. Request message for [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes]. parent (:class:`str`): @@ -898,18 +900,18 @@ async def list_entity_types( async def update_entity_type( self, - request: featurestore_service.UpdateEntityTypeRequest = None, + request: Union[featurestore_service.UpdateEntityTypeRequest, dict] = None, *, entity_type: gca_entity_type.EntityType = 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]] = (), ) -> gca_entity_type.EntityType: r"""Updates the parameters of a single EntityType. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateEntityTypeRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateEntityTypeRequest, dict]): The request object. Request message for [FeaturestoreService.UpdateEntityType][google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateEntityType]. entity_type (:class:`google.cloud.aiplatform_v1beta1.types.EntityType`): @@ -999,11 +1001,11 @@ async def update_entity_type( async def delete_entity_type( self, - request: featurestore_service.DeleteEntityTypeRequest = None, + request: Union[featurestore_service.DeleteEntityTypeRequest, dict] = None, *, name: str = None, force: bool = 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: @@ -1012,7 +1014,7 @@ async def delete_entity_type( succeed. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteEntityTypeRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteEntityTypeRequest, dict]): The request object. Request message for [FeaturestoreService.DeleteEntityTypes][]. name (:class:`str`): @@ -1106,18 +1108,18 @@ async def delete_entity_type( async def create_feature( self, - request: featurestore_service.CreateFeatureRequest = None, + request: Union[featurestore_service.CreateFeatureRequest, dict] = None, *, parent: str = None, feature: gca_feature.Feature = 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 Feature in a given EntityType. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateFeatureRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateFeatureRequest, dict]): The request object. Request message for [FeaturestoreService.CreateFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeature]. parent (:class:`str`): @@ -1197,18 +1199,18 @@ async def create_feature( async def batch_create_features( self, - request: featurestore_service.BatchCreateFeaturesRequest = None, + request: Union[featurestore_service.BatchCreateFeaturesRequest, dict] = None, *, parent: str = None, requests: Sequence[featurestore_service.CreateFeatureRequest] = 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 batch of Features in a given EntityType. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.BatchCreateFeaturesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.BatchCreateFeaturesRequest, dict]): The request object. Request message for [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures]. parent (:class:`str`): @@ -1295,17 +1297,17 @@ async def batch_create_features( async def get_feature( self, - request: featurestore_service.GetFeatureRequest = None, + request: Union[featurestore_service.GetFeatureRequest, 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]] = (), ) -> feature.Feature: r"""Gets details of a single Feature. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetFeatureRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetFeatureRequest, dict]): The request object. Request message for [FeaturestoreService.GetFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeature]. name (:class:`str`): @@ -1369,17 +1371,17 @@ async def get_feature( async def list_features( self, - request: featurestore_service.ListFeaturesRequest = None, + request: Union[featurestore_service.ListFeaturesRequest, 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.ListFeaturesAsyncPager: r"""Lists Features in a given EntityType. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListFeaturesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListFeaturesRequest, dict]): The request object. Request message for [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures]. parent (:class:`str`): @@ -1450,18 +1452,18 @@ async def list_features( async def update_feature( self, - request: featurestore_service.UpdateFeatureRequest = None, + request: Union[featurestore_service.UpdateFeatureRequest, dict] = None, *, feature: gca_feature.Feature = 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]] = (), ) -> gca_feature.Feature: r"""Updates the parameters of a single Feature. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateFeatureRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateFeatureRequest, dict]): The request object. Request message for [FeaturestoreService.UpdateFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeature]. feature (:class:`google.cloud.aiplatform_v1beta1.types.Feature`): @@ -1550,17 +1552,17 @@ async def update_feature( async def delete_feature( self, - request: featurestore_service.DeleteFeatureRequest = None, + request: Union[featurestore_service.DeleteFeatureRequest, 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 Feature. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteFeatureRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteFeatureRequest, dict]): The request object. Request message for [FeaturestoreService.DeleteFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeature]. name (:class:`str`): @@ -1643,10 +1645,10 @@ async def delete_feature( async def import_feature_values( self, - request: featurestore_service.ImportFeatureValuesRequest = None, + request: Union[featurestore_service.ImportFeatureValuesRequest, dict] = None, *, entity_type: 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: @@ -1673,7 +1675,7 @@ async def import_feature_values( - Online serving cluster is under-provisioned. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ImportFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ImportFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues]. entity_type (:class:`str`): @@ -1750,10 +1752,10 @@ async def import_feature_values( async def batch_read_feature_values( self, - request: featurestore_service.BatchReadFeatureValuesRequest = None, + request: Union[featurestore_service.BatchReadFeatureValuesRequest, dict] = None, *, featurestore: 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: @@ -1765,7 +1767,7 @@ async def batch_read_feature_values( read instance as of each instance's read timestamp. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.BatchReadFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.BatchReadFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues]. featurestore (:class:`str`): @@ -1841,10 +1843,10 @@ async def batch_read_feature_values( async def export_feature_values( self, - request: featurestore_service.ExportFeatureValuesRequest = None, + request: Union[featurestore_service.ExportFeatureValuesRequest, dict] = None, *, entity_type: 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: @@ -1852,7 +1854,7 @@ async def export_feature_values( target EntityType. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ExportFeatureValuesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ExportFeatureValuesRequest, dict]): The request object. Request message for [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues]. entity_type (:class:`str`): @@ -1928,11 +1930,11 @@ async def export_feature_values( async def search_features( self, - request: featurestore_service.SearchFeaturesRequest = None, + request: Union[featurestore_service.SearchFeaturesRequest, dict] = None, *, location: str = None, query: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchFeaturesAsyncPager: @@ -1940,7 +1942,7 @@ async def search_features( project. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.SearchFeaturesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.SearchFeaturesRequest, dict]): The request object. Request message for [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures]. location (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/featurestore_service/client.py b/google/cloud/aiplatform_v1beta1/services/featurestore_service/client.py index 702e156290..a4efd0bd74 100644 --- a/google/cloud/aiplatform_v1beta1/services/featurestore_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/featurestore_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.featurestore_service import pagers @@ -415,7 +417,7 @@ def create_featurestore( *, parent: str = None, featurestore: gca_featurestore.Featurestore = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -507,7 +509,7 @@ def get_featurestore( request: Union[featurestore_service.GetFeaturestoreRequest, 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]] = (), ) -> featurestore.Featurestore: @@ -579,7 +581,7 @@ def list_featurestores( request: Union[featurestore_service.ListFeaturestoresRequest, 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.ListFeaturestoresPager: @@ -661,7 +663,7 @@ def update_featurestore( *, featurestore: gca_featurestore.Featurestore = 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]] = (), ) -> gac_operation.Operation: @@ -768,7 +770,7 @@ def delete_featurestore( *, name: str = None, force: bool = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -876,7 +878,7 @@ def create_entity_type( *, parent: str = None, entity_type: gca_entity_type.EntityType = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -967,7 +969,7 @@ def get_entity_type( request: Union[featurestore_service.GetEntityTypeRequest, 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]] = (), ) -> entity_type.EntityType: @@ -1042,7 +1044,7 @@ def list_entity_types( request: Union[featurestore_service.ListEntityTypesRequest, 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.ListEntityTypesPager: @@ -1124,7 +1126,7 @@ def update_entity_type( *, entity_type: gca_entity_type.EntityType = 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]] = (), ) -> gca_entity_type.EntityType: @@ -1225,7 +1227,7 @@ def delete_entity_type( *, name: str = None, force: bool = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1332,7 +1334,7 @@ def create_feature( *, parent: str = None, feature: gca_feature.Feature = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1423,7 +1425,7 @@ def batch_create_features( *, parent: str = None, requests: Sequence[featurestore_service.CreateFeatureRequest] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1520,7 +1522,7 @@ def get_feature( request: Union[featurestore_service.GetFeatureRequest, 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]] = (), ) -> feature.Feature: @@ -1594,7 +1596,7 @@ def list_features( request: Union[featurestore_service.ListFeaturesRequest, 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.ListFeaturesPager: @@ -1676,7 +1678,7 @@ def update_feature( *, feature: gca_feature.Feature = 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]] = (), ) -> gca_feature.Feature: @@ -1775,7 +1777,7 @@ def delete_feature( request: Union[featurestore_service.DeleteFeatureRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1868,7 +1870,7 @@ def import_feature_values( request: Union[featurestore_service.ImportFeatureValuesRequest, dict] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -1975,7 +1977,7 @@ def batch_read_feature_values( request: Union[featurestore_service.BatchReadFeatureValuesRequest, dict] = None, *, featurestore: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -2068,7 +2070,7 @@ def export_feature_values( request: Union[featurestore_service.ExportFeatureValuesRequest, dict] = None, *, entity_type: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -2156,7 +2158,7 @@ def search_features( *, location: str = None, query: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchFeaturesPager: diff --git a/google/cloud/aiplatform_v1beta1/services/featurestore_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/featurestore_service/transports/base.py index 2d299f9856..d9e46fc915 100644 --- a/google/cloud/aiplatform_v1beta1/services/featurestore_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/featurestore_service/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 @@ -44,15 +43,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 FeaturestoreServiceTransport(abc.ABC): """Abstract transport class for FeaturestoreService.""" @@ -102,7 +92,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 @@ -135,29 +125,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 = { @@ -241,7 +208,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/aiplatform_v1beta1/services/featurestore_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/featurestore_service/transports/grpc.py index ce56a1a984..c029187a23 100644 --- a/google/cloud/aiplatform_v1beta1/services/featurestore_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/featurestore_service/transports/grpc.py @@ -118,7 +118,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/aiplatform_v1beta1/services/featurestore_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/featurestore_service/transports/grpc_asyncio.py index 7cb38ca427..51d56d2c07 100644 --- a/google/cloud/aiplatform_v1beta1/services/featurestore_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/featurestore_service/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 @@ -165,7 +164,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/aiplatform_v1beta1/services/index_endpoint_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/async_client.py index b6a96fbb84..36705b0b13 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.index_endpoint_service import pagers @@ -176,18 +178,18 @@ def __init__( async def create_index_endpoint( self, - request: index_endpoint_service.CreateIndexEndpointRequest = None, + request: Union[index_endpoint_service.CreateIndexEndpointRequest, dict] = None, *, parent: str = None, index_endpoint: gca_index_endpoint.IndexEndpoint = 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 an IndexEndpoint. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateIndexEndpointRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateIndexEndpointRequest, dict]): The request object. Request message for [IndexEndpointService.CreateIndexEndpoint][google.cloud.aiplatform.v1beta1.IndexEndpointService.CreateIndexEndpoint]. parent (:class:`str`): @@ -268,17 +270,17 @@ async def create_index_endpoint( async def get_index_endpoint( self, - request: index_endpoint_service.GetIndexEndpointRequest = None, + request: Union[index_endpoint_service.GetIndexEndpointRequest, 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]] = (), ) -> index_endpoint.IndexEndpoint: r"""Gets an IndexEndpoint. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetIndexEndpointRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetIndexEndpointRequest, dict]): The request object. Request message for [IndexEndpointService.GetIndexEndpoint][google.cloud.aiplatform.v1beta1.IndexEndpointService.GetIndexEndpoint] name (:class:`str`): @@ -341,17 +343,17 @@ async def get_index_endpoint( async def list_index_endpoints( self, - request: index_endpoint_service.ListIndexEndpointsRequest = None, + request: Union[index_endpoint_service.ListIndexEndpointsRequest, 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.ListIndexEndpointsAsyncPager: r"""Lists IndexEndpoints in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListIndexEndpointsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListIndexEndpointsRequest, dict]): The request object. Request message for [IndexEndpointService.ListIndexEndpoints][google.cloud.aiplatform.v1beta1.IndexEndpointService.ListIndexEndpoints]. parent (:class:`str`): @@ -422,18 +424,18 @@ async def list_index_endpoints( async def update_index_endpoint( self, - request: index_endpoint_service.UpdateIndexEndpointRequest = None, + request: Union[index_endpoint_service.UpdateIndexEndpointRequest, dict] = None, *, index_endpoint: gca_index_endpoint.IndexEndpoint = 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]] = (), ) -> gca_index_endpoint.IndexEndpoint: r"""Updates an IndexEndpoint. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateIndexEndpointRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateIndexEndpointRequest, dict]): The request object. Request message for [IndexEndpointService.UpdateIndexEndpoint][google.cloud.aiplatform.v1beta1.IndexEndpointService.UpdateIndexEndpoint]. index_endpoint (:class:`google.cloud.aiplatform_v1beta1.types.IndexEndpoint`): @@ -506,17 +508,17 @@ async def update_index_endpoint( async def delete_index_endpoint( self, - request: index_endpoint_service.DeleteIndexEndpointRequest = None, + request: Union[index_endpoint_service.DeleteIndexEndpointRequest, 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 an IndexEndpoint. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteIndexEndpointRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteIndexEndpointRequest, dict]): The request object. Request message for [IndexEndpointService.DeleteIndexEndpoint][google.cloud.aiplatform.v1beta1.IndexEndpointService.DeleteIndexEndpoint]. name (:class:`str`): @@ -599,11 +601,11 @@ async def delete_index_endpoint( async def deploy_index( self, - request: index_endpoint_service.DeployIndexRequest = None, + request: Union[index_endpoint_service.DeployIndexRequest, dict] = None, *, index_endpoint: str = None, deployed_index: gca_index_endpoint.DeployedIndex = 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: @@ -612,7 +614,7 @@ async def deploy_index( Only non-empty Indexes can be deployed. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeployIndexRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeployIndexRequest, dict]): The request object. Request message for [IndexEndpointService.DeployIndex][google.cloud.aiplatform.v1beta1.IndexEndpointService.DeployIndex]. index_endpoint (:class:`str`): @@ -697,11 +699,11 @@ async def deploy_index( async def undeploy_index( self, - request: index_endpoint_service.UndeployIndexRequest = None, + request: Union[index_endpoint_service.UndeployIndexRequest, dict] = None, *, index_endpoint: str = None, deployed_index_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: @@ -710,7 +712,7 @@ async def undeploy_index( using. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UndeployIndexRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UndeployIndexRequest, dict]): The request object. Request message for [IndexEndpointService.UndeployIndex][google.cloud.aiplatform.v1beta1.IndexEndpointService.UndeployIndex]. index_endpoint (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/client.py b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/client.py index 8852f33f13..e9142cc56e 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.index_endpoint_service import pagers @@ -379,7 +381,7 @@ def create_index_endpoint( *, parent: str = None, index_endpoint: gca_index_endpoint.IndexEndpoint = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -470,7 +472,7 @@ def get_index_endpoint( request: Union[index_endpoint_service.GetIndexEndpointRequest, 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]] = (), ) -> index_endpoint.IndexEndpoint: @@ -543,7 +545,7 @@ def list_index_endpoints( request: Union[index_endpoint_service.ListIndexEndpointsRequest, 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.ListIndexEndpointsPager: @@ -625,7 +627,7 @@ def update_index_endpoint( *, index_endpoint: gca_index_endpoint.IndexEndpoint = 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]] = (), ) -> gca_index_endpoint.IndexEndpoint: @@ -708,7 +710,7 @@ def delete_index_endpoint( request: Union[index_endpoint_service.DeleteIndexEndpointRequest, 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]] = (), ) -> gac_operation.Operation: @@ -802,7 +804,7 @@ def deploy_index( *, index_endpoint: str = None, deployed_index: gca_index_endpoint.DeployedIndex = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -900,7 +902,7 @@ def undeploy_index( *, index_endpoint: str = None, deployed_index_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: diff --git a/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/transports/base.py index ae4ee93f7f..c220dba926 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/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 @@ -41,15 +40,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 IndexEndpointServiceTransport(abc.ABC): """Abstract transport class for IndexEndpointService.""" @@ -99,7 +89,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 @@ -132,29 +122,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 = { @@ -197,7 +164,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/aiplatform_v1beta1/services/index_endpoint_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/transports/grpc.py index fee87ddb8c..b7523c1ece 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/transports/grpc.py @@ -114,7 +114,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/aiplatform_v1beta1/services/index_endpoint_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/transports/grpc_asyncio.py index b40670d539..49cae08edb 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/index_endpoint_service/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 @@ -161,7 +160,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/aiplatform_v1beta1/services/index_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/index_service/async_client.py index cfe7f44581..72a479145d 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/index_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.index_service import pagers @@ -175,18 +177,18 @@ def __init__( async def create_index( self, - request: index_service.CreateIndexRequest = None, + request: Union[index_service.CreateIndexRequest, dict] = None, *, parent: str = None, index: gca_index.Index = 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 an Index. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateIndexRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateIndexRequest, dict]): The request object. Request message for [IndexService.CreateIndex][google.cloud.aiplatform.v1beta1.IndexService.CreateIndex]. parent (:class:`str`): @@ -266,17 +268,17 @@ async def create_index( async def get_index( self, - request: index_service.GetIndexRequest = None, + request: Union[index_service.GetIndexRequest, 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]] = (), ) -> index.Index: r"""Gets an Index. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetIndexRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetIndexRequest, dict]): The request object. Request message for [IndexService.GetIndex][google.cloud.aiplatform.v1beta1.IndexService.GetIndex] name (:class:`str`): @@ -339,17 +341,17 @@ async def get_index( async def list_indexes( self, - request: index_service.ListIndexesRequest = None, + request: Union[index_service.ListIndexesRequest, 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.ListIndexesAsyncPager: r"""Lists Indexes in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListIndexesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListIndexesRequest, dict]): The request object. Request message for [IndexService.ListIndexes][google.cloud.aiplatform.v1beta1.IndexService.ListIndexes]. parent (:class:`str`): @@ -420,18 +422,18 @@ async def list_indexes( async def update_index( self, - request: index_service.UpdateIndexRequest = None, + request: Union[index_service.UpdateIndexRequest, dict] = None, *, index: gca_index.Index = 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 an Index. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateIndexRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateIndexRequest, dict]): The request object. Request message for [IndexService.UpdateIndex][google.cloud.aiplatform.v1beta1.IndexService.UpdateIndex]. index (:class:`google.cloud.aiplatform_v1beta1.types.Index`): @@ -515,10 +517,10 @@ async def update_index( async def delete_index( self, - request: index_service.DeleteIndexRequest = None, + request: Union[index_service.DeleteIndexRequest, 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: @@ -527,7 +529,7 @@ async def delete_index( had been undeployed. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteIndexRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteIndexRequest, dict]): The request object. Request message for [IndexService.DeleteIndex][google.cloud.aiplatform.v1beta1.IndexService.DeleteIndex]. name (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/index_service/client.py b/google/cloud/aiplatform_v1beta1/services/index_service/client.py index 913de8e30c..3c9f14ab8d 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/index_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.index_service import pagers @@ -379,7 +381,7 @@ def create_index( *, parent: str = None, index: gca_index.Index = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -469,7 +471,7 @@ def get_index( request: Union[index_service.GetIndexRequest, 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]] = (), ) -> index.Index: @@ -542,7 +544,7 @@ def list_indexes( request: Union[index_service.ListIndexesRequest, 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.ListIndexesPager: @@ -624,7 +626,7 @@ def update_index( *, index: gca_index.Index = 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]] = (), ) -> gac_operation.Operation: @@ -718,7 +720,7 @@ def delete_index( request: Union[index_service.DeleteIndexRequest, 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]] = (), ) -> gac_operation.Operation: diff --git a/google/cloud/aiplatform_v1beta1/services/index_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/index_service/transports/base.py index deae2d2e36..29ad18043e 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/index_service/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 @@ -40,15 +39,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 IndexServiceTransport(abc.ABC): """Abstract transport class for IndexService.""" @@ -98,7 +88,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 @@ -131,29 +121,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 = { @@ -184,7 +151,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/aiplatform_v1beta1/services/index_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/index_service/transports/grpc.py index 3a7db8ec97..1c1d6cb72d 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/index_service/transports/grpc.py @@ -114,7 +114,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/aiplatform_v1beta1/services/index_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/index_service/transports/grpc_asyncio.py index c62133a07c..2fa140d53c 100644 --- a/google/cloud/aiplatform_v1beta1/services/index_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/index_service/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 @@ -161,7 +160,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/aiplatform_v1beta1/services/job_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/job_service/async_client.py index 6c90f97535..e989970f3c 100644 --- a/google/cloud/aiplatform_v1beta1/services/job_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/job_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.job_service import pagers @@ -226,11 +228,11 @@ def __init__( async def create_custom_job( self, - request: job_service.CreateCustomJobRequest = None, + request: Union[job_service.CreateCustomJobRequest, dict] = None, *, parent: str = None, custom_job: gca_custom_job.CustomJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_custom_job.CustomJob: @@ -238,7 +240,7 @@ async def create_custom_job( will be attempted to be run. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateCustomJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateCustomJobRequest, dict]): The request object. Request message for [JobService.CreateCustomJob][google.cloud.aiplatform.v1beta1.JobService.CreateCustomJob]. parent (:class:`str`): @@ -313,17 +315,17 @@ async def create_custom_job( async def get_custom_job( self, - request: job_service.GetCustomJobRequest = None, + request: Union[job_service.GetCustomJobRequest, 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]] = (), ) -> custom_job.CustomJob: r"""Gets a CustomJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetCustomJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetCustomJobRequest, dict]): The request object. Request message for [JobService.GetCustomJob][google.cloud.aiplatform.v1beta1.JobService.GetCustomJob]. name (:class:`str`): @@ -390,17 +392,17 @@ async def get_custom_job( async def list_custom_jobs( self, - request: job_service.ListCustomJobsRequest = None, + request: Union[job_service.ListCustomJobsRequest, 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.ListCustomJobsAsyncPager: r"""Lists CustomJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListCustomJobsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListCustomJobsRequest, dict]): The request object. Request message for [JobService.ListCustomJobs][google.cloud.aiplatform.v1beta1.JobService.ListCustomJobs]. parent (:class:`str`): @@ -471,17 +473,17 @@ async def list_custom_jobs( async def delete_custom_job( self, - request: job_service.DeleteCustomJobRequest = None, + request: Union[job_service.DeleteCustomJobRequest, 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 CustomJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteCustomJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteCustomJobRequest, dict]): The request object. Request message for [JobService.DeleteCustomJob][google.cloud.aiplatform.v1beta1.JobService.DeleteCustomJob]. name (:class:`str`): @@ -564,10 +566,10 @@ async def delete_custom_job( async def cancel_custom_job( self, - request: job_service.CancelCustomJobRequest = None, + request: Union[job_service.CancelCustomJobRequest, 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]] = (), ) -> None: @@ -586,7 +588,7 @@ async def cancel_custom_job( is set to ``CANCELLED``. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CancelCustomJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CancelCustomJobRequest, dict]): The request object. Request message for [JobService.CancelCustomJob][google.cloud.aiplatform.v1beta1.JobService.CancelCustomJob]. name (:class:`str`): @@ -640,18 +642,18 @@ async def cancel_custom_job( async def create_data_labeling_job( self, - request: job_service.CreateDataLabelingJobRequest = None, + request: Union[job_service.CreateDataLabelingJobRequest, dict] = None, *, parent: str = None, data_labeling_job: gca_data_labeling_job.DataLabelingJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_data_labeling_job.DataLabelingJob: r"""Creates a DataLabelingJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateDataLabelingJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateDataLabelingJobRequest, dict]): The request object. Request message for [JobService.CreateDataLabelingJob][google.cloud.aiplatform.v1beta1.JobService.CreateDataLabelingJob]. parent (:class:`str`): @@ -722,17 +724,17 @@ async def create_data_labeling_job( async def get_data_labeling_job( self, - request: job_service.GetDataLabelingJobRequest = None, + request: Union[job_service.GetDataLabelingJobRequest, 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]] = (), ) -> data_labeling_job.DataLabelingJob: r"""Gets a DataLabelingJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetDataLabelingJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetDataLabelingJobRequest, dict]): The request object. Request message for [JobService.GetDataLabelingJob][google.cloud.aiplatform.v1beta1.JobService.GetDataLabelingJob]. name (:class:`str`): @@ -794,17 +796,17 @@ async def get_data_labeling_job( async def list_data_labeling_jobs( self, - request: job_service.ListDataLabelingJobsRequest = None, + request: Union[job_service.ListDataLabelingJobsRequest, 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.ListDataLabelingJobsAsyncPager: r"""Lists DataLabelingJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListDataLabelingJobsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListDataLabelingJobsRequest, dict]): The request object. Request message for [JobService.ListDataLabelingJobs][google.cloud.aiplatform.v1beta1.JobService.ListDataLabelingJobs]. parent (:class:`str`): @@ -874,17 +876,17 @@ async def list_data_labeling_jobs( async def delete_data_labeling_job( self, - request: job_service.DeleteDataLabelingJobRequest = None, + request: Union[job_service.DeleteDataLabelingJobRequest, 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 DataLabelingJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteDataLabelingJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteDataLabelingJobRequest, dict]): The request object. Request message for [JobService.DeleteDataLabelingJob][google.cloud.aiplatform.v1beta1.JobService.DeleteDataLabelingJob]. name (:class:`str`): @@ -967,10 +969,10 @@ async def delete_data_labeling_job( async def cancel_data_labeling_job( self, - request: job_service.CancelDataLabelingJobRequest = None, + request: Union[job_service.CancelDataLabelingJobRequest, 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]] = (), ) -> None: @@ -978,7 +980,7 @@ async def cancel_data_labeling_job( not guaranteed. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CancelDataLabelingJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CancelDataLabelingJobRequest, dict]): The request object. Request message for [JobService.CancelDataLabelingJob][google.cloud.aiplatform.v1beta1.JobService.CancelDataLabelingJob]. name (:class:`str`): @@ -1032,18 +1034,18 @@ async def cancel_data_labeling_job( async def create_hyperparameter_tuning_job( self, - request: job_service.CreateHyperparameterTuningJobRequest = None, + request: Union[job_service.CreateHyperparameterTuningJobRequest, dict] = None, *, parent: str = None, hyperparameter_tuning_job: gca_hyperparameter_tuning_job.HyperparameterTuningJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_hyperparameter_tuning_job.HyperparameterTuningJob: r"""Creates a HyperparameterTuningJob Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateHyperparameterTuningJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateHyperparameterTuningJobRequest, dict]): The request object. Request message for [JobService.CreateHyperparameterTuningJob][google.cloud.aiplatform.v1beta1.JobService.CreateHyperparameterTuningJob]. parent (:class:`str`): @@ -1116,17 +1118,17 @@ async def create_hyperparameter_tuning_job( async def get_hyperparameter_tuning_job( self, - request: job_service.GetHyperparameterTuningJobRequest = None, + request: Union[job_service.GetHyperparameterTuningJobRequest, 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]] = (), ) -> hyperparameter_tuning_job.HyperparameterTuningJob: r"""Gets a HyperparameterTuningJob Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetHyperparameterTuningJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetHyperparameterTuningJobRequest, dict]): The request object. Request message for [JobService.GetHyperparameterTuningJob][google.cloud.aiplatform.v1beta1.JobService.GetHyperparameterTuningJob]. name (:class:`str`): @@ -1190,17 +1192,17 @@ async def get_hyperparameter_tuning_job( async def list_hyperparameter_tuning_jobs( self, - request: job_service.ListHyperparameterTuningJobsRequest = None, + request: Union[job_service.ListHyperparameterTuningJobsRequest, 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.ListHyperparameterTuningJobsAsyncPager: r"""Lists HyperparameterTuningJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListHyperparameterTuningJobsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListHyperparameterTuningJobsRequest, dict]): The request object. Request message for [JobService.ListHyperparameterTuningJobs][google.cloud.aiplatform.v1beta1.JobService.ListHyperparameterTuningJobs]. parent (:class:`str`): @@ -1271,17 +1273,17 @@ async def list_hyperparameter_tuning_jobs( async def delete_hyperparameter_tuning_job( self, - request: job_service.DeleteHyperparameterTuningJobRequest = None, + request: Union[job_service.DeleteHyperparameterTuningJobRequest, 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 HyperparameterTuningJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteHyperparameterTuningJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteHyperparameterTuningJobRequest, dict]): The request object. Request message for [JobService.DeleteHyperparameterTuningJob][google.cloud.aiplatform.v1beta1.JobService.DeleteHyperparameterTuningJob]. name (:class:`str`): @@ -1364,10 +1366,10 @@ async def delete_hyperparameter_tuning_job( async def cancel_hyperparameter_tuning_job( self, - request: job_service.CancelHyperparameterTuningJobRequest = None, + request: Union[job_service.CancelHyperparameterTuningJobRequest, 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]] = (), ) -> None: @@ -1387,7 +1389,7 @@ async def cancel_hyperparameter_tuning_job( is set to ``CANCELLED``. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CancelHyperparameterTuningJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CancelHyperparameterTuningJobRequest, dict]): The request object. Request message for [JobService.CancelHyperparameterTuningJob][google.cloud.aiplatform.v1beta1.JobService.CancelHyperparameterTuningJob]. name (:class:`str`): @@ -1442,11 +1444,11 @@ async def cancel_hyperparameter_tuning_job( async def create_batch_prediction_job( self, - request: job_service.CreateBatchPredictionJobRequest = None, + request: Union[job_service.CreateBatchPredictionJobRequest, dict] = None, *, parent: str = None, batch_prediction_job: gca_batch_prediction_job.BatchPredictionJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_batch_prediction_job.BatchPredictionJob: @@ -1454,7 +1456,7 @@ async def create_batch_prediction_job( once created will right away be attempted to start. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateBatchPredictionJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateBatchPredictionJobRequest, dict]): The request object. Request message for [JobService.CreateBatchPredictionJob][google.cloud.aiplatform.v1beta1.JobService.CreateBatchPredictionJob]. parent (:class:`str`): @@ -1529,17 +1531,17 @@ async def create_batch_prediction_job( async def get_batch_prediction_job( self, - request: job_service.GetBatchPredictionJobRequest = None, + request: Union[job_service.GetBatchPredictionJobRequest, 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]] = (), ) -> batch_prediction_job.BatchPredictionJob: r"""Gets a BatchPredictionJob Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetBatchPredictionJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetBatchPredictionJobRequest, dict]): The request object. Request message for [JobService.GetBatchPredictionJob][google.cloud.aiplatform.v1beta1.JobService.GetBatchPredictionJob]. name (:class:`str`): @@ -1605,17 +1607,17 @@ async def get_batch_prediction_job( async def list_batch_prediction_jobs( self, - request: job_service.ListBatchPredictionJobsRequest = None, + request: Union[job_service.ListBatchPredictionJobsRequest, 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.ListBatchPredictionJobsAsyncPager: r"""Lists BatchPredictionJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListBatchPredictionJobsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListBatchPredictionJobsRequest, dict]): The request object. Request message for [JobService.ListBatchPredictionJobs][google.cloud.aiplatform.v1beta1.JobService.ListBatchPredictionJobs]. parent (:class:`str`): @@ -1686,10 +1688,10 @@ async def list_batch_prediction_jobs( async def delete_batch_prediction_job( self, - request: job_service.DeleteBatchPredictionJobRequest = None, + request: Union[job_service.DeleteBatchPredictionJobRequest, 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: @@ -1697,7 +1699,7 @@ async def delete_batch_prediction_job( jobs that already finished. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteBatchPredictionJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteBatchPredictionJobRequest, dict]): The request object. Request message for [JobService.DeleteBatchPredictionJob][google.cloud.aiplatform.v1beta1.JobService.DeleteBatchPredictionJob]. name (:class:`str`): @@ -1780,10 +1782,10 @@ async def delete_batch_prediction_job( async def cancel_batch_prediction_job( self, - request: job_service.CancelBatchPredictionJobRequest = None, + request: Union[job_service.CancelBatchPredictionJobRequest, 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]] = (), ) -> None: @@ -1801,7 +1803,7 @@ async def cancel_batch_prediction_job( are not deleted. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CancelBatchPredictionJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CancelBatchPredictionJobRequest, dict]): The request object. Request message for [JobService.CancelBatchPredictionJob][google.cloud.aiplatform.v1beta1.JobService.CancelBatchPredictionJob]. name (:class:`str`): @@ -1856,11 +1858,13 @@ async def cancel_batch_prediction_job( async def create_model_deployment_monitoring_job( self, - request: job_service.CreateModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.CreateModelDeploymentMonitoringJobRequest, dict + ] = None, *, parent: str = None, model_deployment_monitoring_job: gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob: @@ -1868,7 +1872,7 @@ async def create_model_deployment_monitoring_job( periodically on a configured interval. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.CreateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1beta1.JobService.CreateModelDeploymentMonitoringJob]. parent (:class:`str`): @@ -1942,11 +1946,13 @@ async def create_model_deployment_monitoring_job( async def search_model_deployment_monitoring_stats_anomalies( self, - request: job_service.SearchModelDeploymentMonitoringStatsAnomaliesRequest = None, + request: Union[ + job_service.SearchModelDeploymentMonitoringStatsAnomaliesRequest, dict + ] = None, *, model_deployment_monitoring_job: str = None, deployed_model_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchModelDeploymentMonitoringStatsAnomaliesAsyncPager: @@ -1954,7 +1960,7 @@ async def search_model_deployment_monitoring_stats_anomalies( a given time window. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.SearchModelDeploymentMonitoringStatsAnomaliesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.SearchModelDeploymentMonitoringStatsAnomaliesRequest, dict]): The request object. Request message for [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1beta1.JobService.SearchModelDeploymentMonitoringStatsAnomalies]. model_deployment_monitoring_job (:class:`str`): @@ -2043,17 +2049,17 @@ async def search_model_deployment_monitoring_stats_anomalies( async def get_model_deployment_monitoring_job( self, - request: job_service.GetModelDeploymentMonitoringJobRequest = None, + request: Union[job_service.GetModelDeploymentMonitoringJobRequest, 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]] = (), ) -> model_deployment_monitoring_job.ModelDeploymentMonitoringJob: r"""Gets a ModelDeploymentMonitoringJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.GetModelDeploymentMonitoringJob][google.cloud.aiplatform.v1beta1.JobService.GetModelDeploymentMonitoringJob]. name (:class:`str`): @@ -2118,17 +2124,19 @@ async def get_model_deployment_monitoring_job( async def list_model_deployment_monitoring_jobs( self, - request: job_service.ListModelDeploymentMonitoringJobsRequest = None, + request: Union[ + job_service.ListModelDeploymentMonitoringJobsRequest, 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.ListModelDeploymentMonitoringJobsAsyncPager: r"""Lists ModelDeploymentMonitoringJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListModelDeploymentMonitoringJobsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListModelDeploymentMonitoringJobsRequest, dict]): The request object. Request message for [JobService.ListModelDeploymentMonitoringJobs][google.cloud.aiplatform.v1beta1.JobService.ListModelDeploymentMonitoringJobs]. parent (:class:`str`): @@ -2199,18 +2207,20 @@ async def list_model_deployment_monitoring_jobs( async def update_model_deployment_monitoring_job( self, - request: job_service.UpdateModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.UpdateModelDeploymentMonitoringJobRequest, dict + ] = None, *, model_deployment_monitoring_job: gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob = 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 a ModelDeploymentMonitoringJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.UpdateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1beta1.JobService.UpdateModelDeploymentMonitoringJob]. model_deployment_monitoring_job (:class:`google.cloud.aiplatform_v1beta1.types.ModelDeploymentMonitoringJob`): @@ -2325,17 +2335,19 @@ async def update_model_deployment_monitoring_job( async def delete_model_deployment_monitoring_job( self, - request: job_service.DeleteModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.DeleteModelDeploymentMonitoringJobRequest, 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 ModelDeploymentMonitoringJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.DeleteModelDeploymentMonitoringJob][google.cloud.aiplatform.v1beta1.JobService.DeleteModelDeploymentMonitoringJob]. name (:class:`str`): @@ -2418,10 +2430,12 @@ async def delete_model_deployment_monitoring_job( async def pause_model_deployment_monitoring_job( self, - request: job_service.PauseModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.PauseModelDeploymentMonitoringJobRequest, 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]] = (), ) -> None: @@ -2431,7 +2445,7 @@ async def pause_model_deployment_monitoring_job( to 'PAUSED'. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.PauseModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.PauseModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.PauseModelDeploymentMonitoringJob][google.cloud.aiplatform.v1beta1.JobService.PauseModelDeploymentMonitoringJob]. name (:class:`str`): @@ -2486,10 +2500,12 @@ async def pause_model_deployment_monitoring_job( async def resume_model_deployment_monitoring_job( self, - request: job_service.ResumeModelDeploymentMonitoringJobRequest = None, + request: Union[ + job_service.ResumeModelDeploymentMonitoringJobRequest, 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]] = (), ) -> None: @@ -2498,7 +2514,7 @@ async def resume_model_deployment_monitoring_job( ModelDeploymentMonitoringJob can't be resumed. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ResumeModelDeploymentMonitoringJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ResumeModelDeploymentMonitoringJobRequest, dict]): The request object. Request message for [JobService.ResumeModelDeploymentMonitoringJob][google.cloud.aiplatform.v1beta1.JobService.ResumeModelDeploymentMonitoringJob]. name (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/job_service/client.py b/google/cloud/aiplatform_v1beta1/services/job_service/client.py index ca2d5b7c19..c3757eab50 100644 --- a/google/cloud/aiplatform_v1beta1/services/job_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/job_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.job_service import pagers @@ -561,7 +563,7 @@ def create_custom_job( *, parent: str = None, custom_job: gca_custom_job.CustomJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_custom_job.CustomJob: @@ -647,7 +649,7 @@ def get_custom_job( request: Union[job_service.GetCustomJobRequest, 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]] = (), ) -> custom_job.CustomJob: @@ -724,7 +726,7 @@ def list_custom_jobs( request: Union[job_service.ListCustomJobsRequest, 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.ListCustomJobsPager: @@ -805,7 +807,7 @@ def delete_custom_job( request: Union[job_service.DeleteCustomJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -898,7 +900,7 @@ def cancel_custom_job( request: Union[job_service.CancelCustomJobRequest, 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]] = (), ) -> None: @@ -975,7 +977,7 @@ def create_data_labeling_job( *, parent: str = None, data_labeling_job: gca_data_labeling_job.DataLabelingJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_data_labeling_job.DataLabelingJob: @@ -1056,7 +1058,7 @@ def get_data_labeling_job( request: Union[job_service.GetDataLabelingJobRequest, 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]] = (), ) -> data_labeling_job.DataLabelingJob: @@ -1128,7 +1130,7 @@ def list_data_labeling_jobs( request: Union[job_service.ListDataLabelingJobsRequest, 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.ListDataLabelingJobsPager: @@ -1208,7 +1210,7 @@ def delete_data_labeling_job( request: Union[job_service.DeleteDataLabelingJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1301,7 +1303,7 @@ def cancel_data_labeling_job( request: Union[job_service.CancelDataLabelingJobRequest, 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]] = (), ) -> None: @@ -1367,7 +1369,7 @@ def create_hyperparameter_tuning_job( *, parent: str = None, hyperparameter_tuning_job: gca_hyperparameter_tuning_job.HyperparameterTuningJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_hyperparameter_tuning_job.HyperparameterTuningJob: @@ -1452,7 +1454,7 @@ def get_hyperparameter_tuning_job( request: Union[job_service.GetHyperparameterTuningJobRequest, 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]] = (), ) -> hyperparameter_tuning_job.HyperparameterTuningJob: @@ -1528,7 +1530,7 @@ def list_hyperparameter_tuning_jobs( request: Union[job_service.ListHyperparameterTuningJobsRequest, 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.ListHyperparameterTuningJobsPager: @@ -1611,7 +1613,7 @@ def delete_hyperparameter_tuning_job( request: Union[job_service.DeleteHyperparameterTuningJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1706,7 +1708,7 @@ def cancel_hyperparameter_tuning_job( request: Union[job_service.CancelHyperparameterTuningJobRequest, 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]] = (), ) -> None: @@ -1787,7 +1789,7 @@ def create_batch_prediction_job( *, parent: str = None, batch_prediction_job: gca_batch_prediction_job.BatchPredictionJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_batch_prediction_job.BatchPredictionJob: @@ -1875,7 +1877,7 @@ def get_batch_prediction_job( request: Union[job_service.GetBatchPredictionJobRequest, 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]] = (), ) -> batch_prediction_job.BatchPredictionJob: @@ -1951,7 +1953,7 @@ def list_batch_prediction_jobs( request: Union[job_service.ListBatchPredictionJobsRequest, 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.ListBatchPredictionJobsPager: @@ -2034,7 +2036,7 @@ def delete_batch_prediction_job( request: Union[job_service.DeleteBatchPredictionJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -2130,7 +2132,7 @@ def cancel_batch_prediction_job( request: Union[job_service.CancelBatchPredictionJobRequest, 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]] = (), ) -> None: @@ -2211,7 +2213,7 @@ def create_model_deployment_monitoring_job( *, parent: str = None, model_deployment_monitoring_job: gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob: @@ -2305,7 +2307,7 @@ def search_model_deployment_monitoring_stats_anomalies( *, model_deployment_monitoring_job: str = None, deployed_model_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchModelDeploymentMonitoringStatsAnomaliesPager: @@ -2411,7 +2413,7 @@ def get_model_deployment_monitoring_job( request: Union[job_service.GetModelDeploymentMonitoringJobRequest, 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]] = (), ) -> model_deployment_monitoring_job.ModelDeploymentMonitoringJob: @@ -2490,7 +2492,7 @@ def list_model_deployment_monitoring_jobs( ] = 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.ListModelDeploymentMonitoringJobsPager: @@ -2578,7 +2580,7 @@ def update_model_deployment_monitoring_job( *, model_deployment_monitoring_job: gca_model_deployment_monitoring_job.ModelDeploymentMonitoringJob = 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]] = (), ) -> gac_operation.Operation: @@ -2711,7 +2713,7 @@ def delete_model_deployment_monitoring_job( ] = 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]] = (), ) -> gac_operation.Operation: @@ -2810,7 +2812,7 @@ def pause_model_deployment_monitoring_job( ] = 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]] = (), ) -> None: @@ -2884,7 +2886,7 @@ def resume_model_deployment_monitoring_job( ] = 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]] = (), ) -> None: diff --git a/google/cloud/aiplatform_v1beta1/services/job_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/job_service/transports/base.py index fd047c20ab..3d26f6ea89 100644 --- a/google/cloud/aiplatform_v1beta1/services/job_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/job_service/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 @@ -58,15 +57,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 JobServiceTransport(abc.ABC): """Abstract transport class for JobService.""" @@ -116,7 +106,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 @@ -149,29 +139,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 = { @@ -317,7 +284,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/aiplatform_v1beta1/services/job_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/job_service/transports/grpc.py index 712f3b700a..83876c1222 100644 --- a/google/cloud/aiplatform_v1beta1/services/job_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/job_service/transports/grpc.py @@ -131,7 +131,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/aiplatform_v1beta1/services/job_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/job_service/transports/grpc_asyncio.py index 1591436f6b..32df422c81 100644 --- a/google/cloud/aiplatform_v1beta1/services/job_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/job_service/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 @@ -178,7 +177,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/aiplatform_v1beta1/services/metadata_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/metadata_service/async_client.py index 260806939c..3ec9863269 100644 --- a/google/cloud/aiplatform_v1beta1/services/metadata_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/metadata_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.metadata_service import pagers @@ -195,12 +197,12 @@ def __init__( async def create_metadata_store( self, - request: metadata_service.CreateMetadataStoreRequest = None, + request: Union[metadata_service.CreateMetadataStoreRequest, dict] = None, *, parent: str = None, metadata_store: gca_metadata_store.MetadataStore = None, metadata_store_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: @@ -208,7 +210,7 @@ async def create_metadata_store( resources. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateMetadataStoreRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateMetadataStoreRequest, dict]): The request object. Request message for [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore]. parent (:class:`str`): @@ -306,17 +308,17 @@ async def create_metadata_store( async def get_metadata_store( self, - request: metadata_service.GetMetadataStoreRequest = None, + request: Union[metadata_service.GetMetadataStoreRequest, 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]] = (), ) -> metadata_store.MetadataStore: r"""Retrieves a specific MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetMetadataStoreRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetMetadataStoreRequest, dict]): The request object. Request message for [MetadataService.GetMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore]. name (:class:`str`): @@ -379,17 +381,17 @@ async def get_metadata_store( async def list_metadata_stores( self, - request: metadata_service.ListMetadataStoresRequest = None, + request: Union[metadata_service.ListMetadataStoresRequest, 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.ListMetadataStoresAsyncPager: r"""Lists MetadataStores for a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListMetadataStoresRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListMetadataStoresRequest, dict]): The request object. Request message for [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores]. parent (:class:`str`): @@ -460,10 +462,10 @@ async def list_metadata_stores( async def delete_metadata_store( self, - request: metadata_service.DeleteMetadataStoreRequest = None, + request: Union[metadata_service.DeleteMetadataStoreRequest, 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: @@ -471,7 +473,7 @@ async def delete_metadata_store( resources (Artifacts, Executions, and Contexts). Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteMetadataStoreRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteMetadataStoreRequest, dict]): The request object. Request message for [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore]. name (:class:`str`): @@ -554,19 +556,19 @@ async def delete_metadata_store( async def create_artifact( self, - request: metadata_service.CreateArtifactRequest = None, + request: Union[metadata_service.CreateArtifactRequest, dict] = None, *, parent: str = None, artifact: gca_artifact.Artifact = None, artifact_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_artifact.Artifact: r"""Creates an Artifact associated with a MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateArtifactRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateArtifactRequest, dict]): The request object. Request message for [MetadataService.CreateArtifact][google.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact]. parent (:class:`str`): @@ -650,17 +652,17 @@ async def create_artifact( async def get_artifact( self, - request: metadata_service.GetArtifactRequest = None, + request: Union[metadata_service.GetArtifactRequest, 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]] = (), ) -> artifact.Artifact: r"""Retrieves a specific Artifact. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetArtifactRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetArtifactRequest, dict]): The request object. Request message for [MetadataService.GetArtifact][google.cloud.aiplatform.v1beta1.MetadataService.GetArtifact]. name (:class:`str`): @@ -720,17 +722,17 @@ async def get_artifact( async def list_artifacts( self, - request: metadata_service.ListArtifactsRequest = None, + request: Union[metadata_service.ListArtifactsRequest, 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.ListArtifactsAsyncPager: r"""Lists Artifacts in the MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListArtifactsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListArtifactsRequest, dict]): The request object. Request message for [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts]. parent (:class:`str`): @@ -801,18 +803,18 @@ async def list_artifacts( async def update_artifact( self, - request: metadata_service.UpdateArtifactRequest = None, + request: Union[metadata_service.UpdateArtifactRequest, dict] = None, *, artifact: gca_artifact.Artifact = 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]] = (), ) -> gca_artifact.Artifact: r"""Updates a stored Artifact. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateArtifactRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateArtifactRequest, dict]): The request object. Request message for [MetadataService.UpdateArtifact][google.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact]. artifact (:class:`google.cloud.aiplatform_v1beta1.types.Artifact`): @@ -888,17 +890,17 @@ async def update_artifact( async def delete_artifact( self, - request: metadata_service.DeleteArtifactRequest = None, + request: Union[metadata_service.DeleteArtifactRequest, 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 an Artifact. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteArtifactRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteArtifactRequest, dict]): The request object. Request message for [MetadataService.DeleteArtifact][google.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact]. name (:class:`str`): @@ -981,17 +983,17 @@ async def delete_artifact( async def purge_artifacts( self, - request: metadata_service.PurgeArtifactsRequest = None, + request: Union[metadata_service.PurgeArtifactsRequest, 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]] = (), ) -> operation_async.AsyncOperation: r"""Purges Artifacts. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.PurgeArtifactsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.PurgeArtifactsRequest, dict]): The request object. Request message for [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts]. parent (:class:`str`): @@ -1065,19 +1067,19 @@ async def purge_artifacts( async def create_context( self, - request: metadata_service.CreateContextRequest = None, + request: Union[metadata_service.CreateContextRequest, dict] = None, *, parent: str = None, context: gca_context.Context = None, context_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_context.Context: r"""Creates a Context associated with a MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateContextRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateContextRequest, dict]): The request object. Request message for [MetadataService.CreateContext][google.cloud.aiplatform.v1beta1.MetadataService.CreateContext]. parent (:class:`str`): @@ -1161,17 +1163,17 @@ async def create_context( async def get_context( self, - request: metadata_service.GetContextRequest = None, + request: Union[metadata_service.GetContextRequest, 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]] = (), ) -> context.Context: r"""Retrieves a specific Context. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetContextRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetContextRequest, dict]): The request object. Request message for [MetadataService.GetContext][google.cloud.aiplatform.v1beta1.MetadataService.GetContext]. name (:class:`str`): @@ -1231,17 +1233,17 @@ async def get_context( async def list_contexts( self, - request: metadata_service.ListContextsRequest = None, + request: Union[metadata_service.ListContextsRequest, 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.ListContextsAsyncPager: r"""Lists Contexts on the MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListContextsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListContextsRequest, dict]): The request object. Request message for [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts] parent (:class:`str`): @@ -1312,18 +1314,18 @@ async def list_contexts( async def update_context( self, - request: metadata_service.UpdateContextRequest = None, + request: Union[metadata_service.UpdateContextRequest, dict] = None, *, context: gca_context.Context = 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]] = (), ) -> gca_context.Context: r"""Updates a stored Context. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateContextRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateContextRequest, dict]): The request object. Request message for [MetadataService.UpdateContext][google.cloud.aiplatform.v1beta1.MetadataService.UpdateContext]. context (:class:`google.cloud.aiplatform_v1beta1.types.Context`): @@ -1398,17 +1400,17 @@ async def update_context( async def delete_context( self, - request: metadata_service.DeleteContextRequest = None, + request: Union[metadata_service.DeleteContextRequest, 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 stored Context. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteContextRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteContextRequest, dict]): The request object. Request message for [MetadataService.DeleteContext][google.cloud.aiplatform.v1beta1.MetadataService.DeleteContext]. name (:class:`str`): @@ -1491,17 +1493,17 @@ async def delete_context( async def purge_contexts( self, - request: metadata_service.PurgeContextsRequest = None, + request: Union[metadata_service.PurgeContextsRequest, 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]] = (), ) -> operation_async.AsyncOperation: r"""Purges Contexts. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.PurgeContextsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.PurgeContextsRequest, dict]): The request object. Request message for [MetadataService.PurgeContexts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts]. parent (:class:`str`): @@ -1575,12 +1577,14 @@ async def purge_contexts( async def add_context_artifacts_and_executions( self, - request: metadata_service.AddContextArtifactsAndExecutionsRequest = None, + request: Union[ + metadata_service.AddContextArtifactsAndExecutionsRequest, dict + ] = None, *, context: str = None, artifacts: Sequence[str] = None, executions: Sequence[str] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddContextArtifactsAndExecutionsResponse: @@ -1589,7 +1593,7 @@ async def add_context_artifacts_and_executions( added to a Context, they are simply skipped. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.AddContextArtifactsAndExecutionsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.AddContextArtifactsAndExecutionsRequest, dict]): The request object. Request message for [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions]. context (:class:`str`): @@ -1675,11 +1679,11 @@ async def add_context_artifacts_and_executions( async def add_context_children( self, - request: metadata_service.AddContextChildrenRequest = None, + request: Union[metadata_service.AddContextChildrenRequest, dict] = None, *, context: str = None, child_contexts: Sequence[str] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddContextChildrenResponse: @@ -1690,7 +1694,7 @@ async def add_context_children( request will fail with an INVALID_ARGUMENT error. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.AddContextChildrenRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.AddContextChildrenRequest, dict]): The request object. Request message for [MetadataService.AddContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren]. context (:class:`str`): @@ -1762,10 +1766,12 @@ async def add_context_children( async def query_context_lineage_subgraph( self, - request: metadata_service.QueryContextLineageSubgraphRequest = None, + request: Union[ + metadata_service.QueryContextLineageSubgraphRequest, dict + ] = None, *, context: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -1774,7 +1780,7 @@ async def query_context_lineage_subgraph( as a LineageSubgraph. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.QueryContextLineageSubgraphRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.QueryContextLineageSubgraphRequest, dict]): The request object. Request message for [MetadataService.QueryContextLineageSubgraph][google.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph]. context (:class:`str`): @@ -1843,19 +1849,19 @@ async def query_context_lineage_subgraph( async def create_execution( self, - request: metadata_service.CreateExecutionRequest = None, + request: Union[metadata_service.CreateExecutionRequest, dict] = None, *, parent: str = None, execution: gca_execution.Execution = None, execution_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_execution.Execution: r"""Creates an Execution associated with a MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateExecutionRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateExecutionRequest, dict]): The request object. Request message for [MetadataService.CreateExecution][google.cloud.aiplatform.v1beta1.MetadataService.CreateExecution]. parent (:class:`str`): @@ -1939,17 +1945,17 @@ async def create_execution( async def get_execution( self, - request: metadata_service.GetExecutionRequest = None, + request: Union[metadata_service.GetExecutionRequest, 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]] = (), ) -> execution.Execution: r"""Retrieves a specific Execution. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetExecutionRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetExecutionRequest, dict]): The request object. Request message for [MetadataService.GetExecution][google.cloud.aiplatform.v1beta1.MetadataService.GetExecution]. name (:class:`str`): @@ -2009,17 +2015,17 @@ async def get_execution( async def list_executions( self, - request: metadata_service.ListExecutionsRequest = None, + request: Union[metadata_service.ListExecutionsRequest, 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.ListExecutionsAsyncPager: r"""Lists Executions in the MetadataStore. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListExecutionsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListExecutionsRequest, dict]): The request object. Request message for [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions]. parent (:class:`str`): @@ -2090,18 +2096,18 @@ async def list_executions( async def update_execution( self, - request: metadata_service.UpdateExecutionRequest = None, + request: Union[metadata_service.UpdateExecutionRequest, dict] = None, *, execution: gca_execution.Execution = 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]] = (), ) -> gca_execution.Execution: r"""Updates a stored Execution. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateExecutionRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateExecutionRequest, dict]): The request object. Request message for [MetadataService.UpdateExecution][google.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution]. execution (:class:`google.cloud.aiplatform_v1beta1.types.Execution`): @@ -2177,17 +2183,17 @@ async def update_execution( async def delete_execution( self, - request: metadata_service.DeleteExecutionRequest = None, + request: Union[metadata_service.DeleteExecutionRequest, 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 an Execution. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteExecutionRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteExecutionRequest, dict]): The request object. Request message for [MetadataService.DeleteExecution][google.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution]. name (:class:`str`): @@ -2270,17 +2276,17 @@ async def delete_execution( async def purge_executions( self, - request: metadata_service.PurgeExecutionsRequest = None, + request: Union[metadata_service.PurgeExecutionsRequest, 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]] = (), ) -> operation_async.AsyncOperation: r"""Purges Executions. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.PurgeExecutionsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.PurgeExecutionsRequest, dict]): The request object. Request message for [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions]. parent (:class:`str`): @@ -2354,11 +2360,11 @@ async def purge_executions( async def add_execution_events( self, - request: metadata_service.AddExecutionEventsRequest = None, + request: Union[metadata_service.AddExecutionEventsRequest, dict] = None, *, execution: str = None, events: Sequence[event.Event] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddExecutionEventsResponse: @@ -2369,7 +2375,7 @@ async def add_execution_events( skipped. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.AddExecutionEventsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.AddExecutionEventsRequest, dict]): The request object. Request message for [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents]. execution (:class:`str`): @@ -2440,10 +2446,12 @@ async def add_execution_events( async def query_execution_inputs_and_outputs( self, - request: metadata_service.QueryExecutionInputsAndOutputsRequest = None, + request: Union[ + metadata_service.QueryExecutionInputsAndOutputsRequest, dict + ] = None, *, execution: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -2452,7 +2460,7 @@ async def query_execution_inputs_and_outputs( contains the Execution and connecting Events. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.QueryExecutionInputsAndOutputsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.QueryExecutionInputsAndOutputsRequest, dict]): The request object. Request message for [MetadataService.QueryExecutionInputsAndOutputs][google.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs]. execution (:class:`str`): @@ -2518,19 +2526,19 @@ async def query_execution_inputs_and_outputs( async def create_metadata_schema( self, - request: metadata_service.CreateMetadataSchemaRequest = None, + request: Union[metadata_service.CreateMetadataSchemaRequest, dict] = None, *, parent: str = None, metadata_schema: gca_metadata_schema.MetadataSchema = None, metadata_schema_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_metadata_schema.MetadataSchema: r"""Creates a MetadataSchema. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateMetadataSchemaRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateMetadataSchemaRequest, dict]): The request object. Request message for [MetadataService.CreateMetadataSchema][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema]. parent (:class:`str`): @@ -2616,17 +2624,17 @@ async def create_metadata_schema( async def get_metadata_schema( self, - request: metadata_service.GetMetadataSchemaRequest = None, + request: Union[metadata_service.GetMetadataSchemaRequest, 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]] = (), ) -> metadata_schema.MetadataSchema: r"""Retrieves a specific MetadataSchema. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetMetadataSchemaRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetMetadataSchemaRequest, dict]): The request object. Request message for [MetadataService.GetMetadataSchema][google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema]. name (:class:`str`): @@ -2686,17 +2694,17 @@ async def get_metadata_schema( async def list_metadata_schemas( self, - request: metadata_service.ListMetadataSchemasRequest = None, + request: Union[metadata_service.ListMetadataSchemasRequest, 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.ListMetadataSchemasAsyncPager: r"""Lists MetadataSchemas. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListMetadataSchemasRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListMetadataSchemasRequest, dict]): The request object. Request message for [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas]. parent (:class:`str`): @@ -2767,10 +2775,12 @@ async def list_metadata_schemas( async def query_artifact_lineage_subgraph( self, - request: metadata_service.QueryArtifactLineageSubgraphRequest = None, + request: Union[ + metadata_service.QueryArtifactLineageSubgraphRequest, dict + ] = None, *, artifact: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -2779,7 +2789,7 @@ async def query_artifact_lineage_subgraph( returned as a LineageSubgraph. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.QueryArtifactLineageSubgraphRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.QueryArtifactLineageSubgraphRequest, dict]): The request object. Request message for [MetadataService.QueryArtifactLineageSubgraph][google.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph]. artifact (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/metadata_service/client.py b/google/cloud/aiplatform_v1beta1/services/metadata_service/client.py index 4073939410..d251b779d1 100644 --- a/google/cloud/aiplatform_v1beta1/services/metadata_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/metadata_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.metadata_service import pagers @@ -458,7 +460,7 @@ def create_metadata_store( parent: str = None, metadata_store: gca_metadata_store.MetadataStore = None, metadata_store_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -567,7 +569,7 @@ def get_metadata_store( request: Union[metadata_service.GetMetadataStoreRequest, 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]] = (), ) -> metadata_store.MetadataStore: @@ -640,7 +642,7 @@ def list_metadata_stores( request: Union[metadata_service.ListMetadataStoresRequest, 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.ListMetadataStoresPager: @@ -721,7 +723,7 @@ def delete_metadata_store( request: Union[metadata_service.DeleteMetadataStoreRequest, 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]] = (), ) -> gac_operation.Operation: @@ -817,7 +819,7 @@ def create_artifact( parent: str = None, artifact: gca_artifact.Artifact = None, artifact_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_artifact.Artifact: @@ -911,7 +913,7 @@ def get_artifact( request: Union[metadata_service.GetArtifactRequest, 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]] = (), ) -> artifact.Artifact: @@ -981,7 +983,7 @@ def list_artifacts( request: Union[metadata_service.ListArtifactsRequest, 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.ListArtifactsPager: @@ -1063,7 +1065,7 @@ def update_artifact( *, artifact: gca_artifact.Artifact = 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]] = (), ) -> gca_artifact.Artifact: @@ -1149,7 +1151,7 @@ def delete_artifact( request: Union[metadata_service.DeleteArtifactRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1242,7 +1244,7 @@ def purge_artifacts( request: Union[metadata_service.PurgeArtifactsRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1328,7 +1330,7 @@ def create_context( parent: str = None, context: gca_context.Context = None, context_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_context.Context: @@ -1422,7 +1424,7 @@ def get_context( request: Union[metadata_service.GetContextRequest, 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]] = (), ) -> context.Context: @@ -1492,7 +1494,7 @@ def list_contexts( request: Union[metadata_service.ListContextsRequest, 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.ListContextsPager: @@ -1574,7 +1576,7 @@ def update_context( *, context: gca_context.Context = 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]] = (), ) -> gca_context.Context: @@ -1659,7 +1661,7 @@ def delete_context( request: Union[metadata_service.DeleteContextRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1752,7 +1754,7 @@ def purge_contexts( request: Union[metadata_service.PurgeContextsRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1840,7 +1842,7 @@ def add_context_artifacts_and_executions( context: str = None, artifacts: Sequence[str] = None, executions: Sequence[str] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddContextArtifactsAndExecutionsResponse: @@ -1943,7 +1945,7 @@ def add_context_children( *, context: str = None, child_contexts: Sequence[str] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddContextChildrenResponse: @@ -2031,7 +2033,7 @@ def query_context_lineage_subgraph( ] = None, *, context: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -2116,7 +2118,7 @@ def create_execution( parent: str = None, execution: gca_execution.Execution = None, execution_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_execution.Execution: @@ -2210,7 +2212,7 @@ def get_execution( request: Union[metadata_service.GetExecutionRequest, 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]] = (), ) -> execution.Execution: @@ -2280,7 +2282,7 @@ def list_executions( request: Union[metadata_service.ListExecutionsRequest, 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.ListExecutionsPager: @@ -2362,7 +2364,7 @@ def update_execution( *, execution: gca_execution.Execution = 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]] = (), ) -> gca_execution.Execution: @@ -2448,7 +2450,7 @@ def delete_execution( request: Union[metadata_service.DeleteExecutionRequest, 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]] = (), ) -> gac_operation.Operation: @@ -2541,7 +2543,7 @@ def purge_executions( request: Union[metadata_service.PurgeExecutionsRequest, 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]] = (), ) -> gac_operation.Operation: @@ -2626,7 +2628,7 @@ def add_execution_events( *, execution: str = None, events: Sequence[event.Event] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metadata_service.AddExecutionEventsResponse: @@ -2713,7 +2715,7 @@ def query_execution_inputs_and_outputs( ] = None, *, execution: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: @@ -2797,7 +2799,7 @@ def create_metadata_schema( parent: str = None, metadata_schema: gca_metadata_schema.MetadataSchema = None, metadata_schema_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_metadata_schema.MetadataSchema: @@ -2893,7 +2895,7 @@ def get_metadata_schema( request: Union[metadata_service.GetMetadataSchemaRequest, 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]] = (), ) -> metadata_schema.MetadataSchema: @@ -2963,7 +2965,7 @@ def list_metadata_schemas( request: Union[metadata_service.ListMetadataSchemasRequest, 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.ListMetadataSchemasPager: @@ -3046,7 +3048,7 @@ def query_artifact_lineage_subgraph( ] = None, *, artifact: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> lineage_subgraph.LineageSubgraph: diff --git a/google/cloud/aiplatform_v1beta1/services/metadata_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/metadata_service/transports/base.py index c1a7f384c6..7ebb35934e 100644 --- a/google/cloud/aiplatform_v1beta1/services/metadata_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/metadata_service/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 @@ -49,15 +48,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 MetadataServiceTransport(abc.ABC): """Abstract transport class for MetadataService.""" @@ -107,7 +97,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 @@ -140,29 +130,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 = { @@ -287,7 +254,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/aiplatform_v1beta1/services/metadata_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/metadata_service/transports/grpc.py index 6dc2996bc0..0681f862f4 100644 --- a/google/cloud/aiplatform_v1beta1/services/metadata_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/metadata_service/transports/grpc.py @@ -122,7 +122,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/aiplatform_v1beta1/services/metadata_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/metadata_service/transports/grpc_asyncio.py index 0bee1b1a69..16b6dc2a73 100644 --- a/google/cloud/aiplatform_v1beta1/services/metadata_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/metadata_service/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 @@ -169,7 +168,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/aiplatform_v1beta1/services/migration_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/migration_service/async_client.py index f503db87cb..0f82d0f527 100644 --- a/google/cloud/aiplatform_v1beta1/services/migration_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/migration_service/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.aiplatform_v1beta1.services.migration_service import pagers @@ -182,10 +184,10 @@ def __init__( async def search_migratable_resources( self, - request: migration_service.SearchMigratableResourcesRequest = None, + request: Union[migration_service.SearchMigratableResourcesRequest, 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.SearchMigratableResourcesAsyncPager: @@ -195,7 +197,7 @@ async def search_migratable_resources( given location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.SearchMigratableResourcesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.SearchMigratableResourcesRequest, dict]): The request object. Request message for [MigrationService.SearchMigratableResources][google.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources]. parent (:class:`str`): @@ -268,13 +270,13 @@ async def search_migratable_resources( async def batch_migrate_resources( self, - request: migration_service.BatchMigrateResourcesRequest = None, + request: Union[migration_service.BatchMigrateResourcesRequest, dict] = None, *, parent: str = None, migrate_resource_requests: Sequence[ migration_service.MigrateResourceRequest ] = 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: @@ -283,7 +285,7 @@ async def batch_migrate_resources( to Vertex AI. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.BatchMigrateResourcesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.BatchMigrateResourcesRequest, dict]): The request object. Request message for [MigrationService.BatchMigrateResources][google.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources]. parent (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/migration_service/client.py b/google/cloud/aiplatform_v1beta1/services/migration_service/client.py index 225e36e89a..4491969274 100644 --- a/google/cloud/aiplatform_v1beta1/services/migration_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/migration_service/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.aiplatform_v1beta1.services.migration_service import pagers @@ -179,32 +181,32 @@ def parse_annotated_dataset_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def dataset_path(project: str, dataset: str,) -> str: + def dataset_path(project: str, location: str, dataset: str,) -> str: """Returns a fully-qualified dataset string.""" - return "projects/{project}/datasets/{dataset}".format( - project=project, dataset=dataset, + return "projects/{project}/locations/{location}/datasets/{dataset}".format( + project=project, location=location, dataset=dataset, ) @staticmethod def parse_dataset_path(path: str) -> Dict[str, str]: """Parses a dataset path into its component segments.""" - m = re.match(r"^projects/(?P.+?)/datasets/(?P.+?)$", path) + m = re.match( + r"^projects/(?P.+?)/locations/(?P.+?)/datasets/(?P.+?)$", + path, + ) return m.groupdict() if m else {} @staticmethod - def dataset_path(project: str, location: str, dataset: str,) -> str: + def dataset_path(project: str, dataset: str,) -> str: """Returns a fully-qualified dataset string.""" - return "projects/{project}/locations/{location}/datasets/{dataset}".format( - project=project, location=location, dataset=dataset, + return "projects/{project}/datasets/{dataset}".format( + project=project, dataset=dataset, ) @staticmethod def parse_dataset_path(path: str) -> Dict[str, str]: """Parses a dataset path into its component segments.""" - m = re.match( - r"^projects/(?P.+?)/locations/(?P.+?)/datasets/(?P.+?)$", - path, - ) + m = re.match(r"^projects/(?P.+?)/datasets/(?P.+?)$", path) return m.groupdict() if m else {} @staticmethod @@ -452,7 +454,7 @@ def search_migratable_resources( request: Union[migration_service.SearchMigratableResourcesRequest, 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.SearchMigratableResourcesPager: @@ -543,7 +545,7 @@ def batch_migrate_resources( migrate_resource_requests: Sequence[ migration_service.MigrateResourceRequest ] = 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/aiplatform_v1beta1/services/migration_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/migration_service/transports/base.py index 69f5f5a457..3552e52e1b 100644 --- a/google/cloud/aiplatform_v1beta1/services/migration_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/migration_service/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 MigrationServiceTransport(abc.ABC): """Abstract transport class for MigrationService.""" @@ -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 = { @@ -178,7 +145,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/aiplatform_v1beta1/services/migration_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/migration_service/transports/grpc.py index c8a879fb7f..1c040ce74e 100644 --- a/google/cloud/aiplatform_v1beta1/services/migration_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/migration_service/transports/grpc.py @@ -113,7 +113,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/aiplatform_v1beta1/services/migration_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/migration_service/transports/grpc_asyncio.py index 670f42001b..c12010733b 100644 --- a/google/cloud/aiplatform_v1beta1/services/migration_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/migration_service/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 @@ -160,7 +159,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/aiplatform_v1beta1/services/model_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/model_service/async_client.py index de4f5d1e7b..097a7dac64 100644 --- a/google/cloud/aiplatform_v1beta1/services/model_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/model_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.model_service import pagers @@ -189,18 +191,18 @@ def __init__( async def upload_model( self, - request: model_service.UploadModelRequest = None, + request: Union[model_service.UploadModelRequest, dict] = None, *, parent: str = None, model: gca_model.Model = 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"""Uploads a Model artifact into Vertex AI. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UploadModelRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UploadModelRequest, dict]): The request object. Request message for [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel]. parent (:class:`str`): @@ -282,17 +284,17 @@ async def upload_model( async def get_model( self, - request: model_service.GetModelRequest = None, + request: Union[model_service.GetModelRequest, 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]] = (), ) -> model.Model: r"""Gets a Model. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetModelRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetModelRequest, dict]): The request object. Request message for [ModelService.GetModel][google.cloud.aiplatform.v1beta1.ModelService.GetModel]. name (:class:`str`): @@ -351,17 +353,17 @@ async def get_model( async def list_models( self, - request: model_service.ListModelsRequest = None, + request: Union[model_service.ListModelsRequest, 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.ListModelsAsyncPager: r"""Lists Models in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListModelsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListModelsRequest, dict]): The request object. Request message for [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels]. parent (:class:`str`): @@ -432,18 +434,18 @@ async def list_models( async def update_model( self, - request: model_service.UpdateModelRequest = None, + request: Union[model_service.UpdateModelRequest, dict] = None, *, model: gca_model.Model = 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]] = (), ) -> gca_model.Model: r"""Updates a Model. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateModelRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateModelRequest, dict]): The request object. Request message for [ModelService.UpdateModel][google.cloud.aiplatform.v1beta1.ModelService.UpdateModel]. model (:class:`google.cloud.aiplatform_v1beta1.types.Model`): @@ -514,10 +516,10 @@ async def update_model( async def delete_model( self, - request: model_service.DeleteModelRequest = None, + request: Union[model_service.DeleteModelRequest, 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: @@ -527,7 +529,7 @@ async def delete_model( created from it. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteModelRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteModelRequest, dict]): The request object. Request message for [ModelService.DeleteModel][google.cloud.aiplatform.v1beta1.ModelService.DeleteModel]. name (:class:`str`): @@ -610,11 +612,11 @@ async def delete_model( async def export_model( self, - request: model_service.ExportModelRequest = None, + request: Union[model_service.ExportModelRequest, dict] = None, *, name: str = None, output_config: model_service.ExportModelRequest.OutputConfig = 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: @@ -624,7 +626,7 @@ async def export_model( format][google.cloud.aiplatform.v1beta1.Model.supported_export_formats]. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ExportModelRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ExportModelRequest, dict]): The request object. Request message for [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel]. name (:class:`str`): @@ -707,17 +709,17 @@ async def export_model( async def get_model_evaluation( self, - request: model_service.GetModelEvaluationRequest = None, + request: Union[model_service.GetModelEvaluationRequest, 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]] = (), ) -> model_evaluation.ModelEvaluation: r"""Gets a ModelEvaluation. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetModelEvaluationRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetModelEvaluationRequest, dict]): The request object. Request message for [ModelService.GetModelEvaluation][google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation]. name (:class:`str`): @@ -781,17 +783,17 @@ async def get_model_evaluation( async def list_model_evaluations( self, - request: model_service.ListModelEvaluationsRequest = None, + request: Union[model_service.ListModelEvaluationsRequest, 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.ListModelEvaluationsAsyncPager: r"""Lists ModelEvaluations in a Model. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListModelEvaluationsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListModelEvaluationsRequest, dict]): The request object. Request message for [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations]. parent (:class:`str`): @@ -862,17 +864,17 @@ async def list_model_evaluations( async def get_model_evaluation_slice( self, - request: model_service.GetModelEvaluationSliceRequest = None, + request: Union[model_service.GetModelEvaluationSliceRequest, 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]] = (), ) -> model_evaluation_slice.ModelEvaluationSlice: r"""Gets a ModelEvaluationSlice. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetModelEvaluationSliceRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetModelEvaluationSliceRequest, dict]): The request object. Request message for [ModelService.GetModelEvaluationSlice][google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice]. name (:class:`str`): @@ -936,17 +938,17 @@ async def get_model_evaluation_slice( async def list_model_evaluation_slices( self, - request: model_service.ListModelEvaluationSlicesRequest = None, + request: Union[model_service.ListModelEvaluationSlicesRequest, 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.ListModelEvaluationSlicesAsyncPager: r"""Lists ModelEvaluationSlices in a ModelEvaluation. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListModelEvaluationSlicesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListModelEvaluationSlicesRequest, dict]): The request object. Request message for [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices]. parent (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/model_service/client.py b/google/cloud/aiplatform_v1beta1/services/model_service/client.py index 093990380b..800dd3d64f 100644 --- a/google/cloud/aiplatform_v1beta1/services/model_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/model_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.model_service import pagers @@ -439,7 +441,7 @@ def upload_model( *, parent: str = None, model: gca_model.Model = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -531,7 +533,7 @@ def get_model( request: Union[model_service.GetModelRequest, 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]] = (), ) -> model.Model: @@ -600,7 +602,7 @@ def list_models( request: Union[model_service.ListModelsRequest, 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.ListModelsPager: @@ -682,7 +684,7 @@ def update_model( *, model: gca_model.Model = 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]] = (), ) -> gca_model.Model: @@ -763,7 +765,7 @@ def delete_model( request: Union[model_service.DeleteModelRequest, 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]] = (), ) -> gac_operation.Operation: @@ -860,7 +862,7 @@ def export_model( *, name: str = None, output_config: model_service.ExportModelRequest.OutputConfig = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -956,7 +958,7 @@ def get_model_evaluation( request: Union[model_service.GetModelEvaluationRequest, 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]] = (), ) -> model_evaluation.ModelEvaluation: @@ -1030,7 +1032,7 @@ def list_model_evaluations( request: Union[model_service.ListModelEvaluationsRequest, 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.ListModelEvaluationsPager: @@ -1111,7 +1113,7 @@ def get_model_evaluation_slice( request: Union[model_service.GetModelEvaluationSliceRequest, 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]] = (), ) -> model_evaluation_slice.ModelEvaluationSlice: @@ -1187,7 +1189,7 @@ def list_model_evaluation_slices( request: Union[model_service.ListModelEvaluationSlicesRequest, 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.ListModelEvaluationSlicesPager: diff --git a/google/cloud/aiplatform_v1beta1/services/model_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/model_service/transports/base.py index 63feeedf36..1bbcceec8e 100644 --- a/google/cloud/aiplatform_v1beta1/services/model_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/model_service/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 @@ -43,15 +42,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 ModelServiceTransport(abc.ABC): """Abstract transport class for ModelService.""" @@ -101,7 +91,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 @@ -134,29 +124,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 = { @@ -208,7 +175,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/aiplatform_v1beta1/services/model_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/model_service/transports/grpc.py index cd54a6e3cc..83ef737b5c 100644 --- a/google/cloud/aiplatform_v1beta1/services/model_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/model_service/transports/grpc.py @@ -116,7 +116,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/aiplatform_v1beta1/services/model_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/model_service/transports/grpc_asyncio.py index a2b8bb5c3f..d24d4df843 100644 --- a/google/cloud/aiplatform_v1beta1/services/model_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/model_service/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 @@ -163,7 +162,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/aiplatform_v1beta1/services/pipeline_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/pipeline_service/async_client.py index 68c44e4131..b32a1fe93f 100644 --- a/google/cloud/aiplatform_v1beta1/services/pipeline_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/pipeline_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.pipeline_service import pagers @@ -203,11 +205,11 @@ def __init__( async def create_training_pipeline( self, - request: pipeline_service.CreateTrainingPipelineRequest = None, + request: Union[pipeline_service.CreateTrainingPipelineRequest, dict] = None, *, parent: str = None, training_pipeline: gca_training_pipeline.TrainingPipeline = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_training_pipeline.TrainingPipeline: @@ -215,7 +217,7 @@ async def create_training_pipeline( TrainingPipeline right away will be attempted to be run. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateTrainingPipelineRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateTrainingPipelineRequest, dict]): The request object. Request message for [PipelineService.CreateTrainingPipeline][google.cloud.aiplatform.v1beta1.PipelineService.CreateTrainingPipeline]. parent (:class:`str`): @@ -290,17 +292,17 @@ async def create_training_pipeline( async def get_training_pipeline( self, - request: pipeline_service.GetTrainingPipelineRequest = None, + request: Union[pipeline_service.GetTrainingPipelineRequest, 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]] = (), ) -> training_pipeline.TrainingPipeline: r"""Gets a TrainingPipeline. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetTrainingPipelineRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetTrainingPipelineRequest, dict]): The request object. Request message for [PipelineService.GetTrainingPipeline][google.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline]. name (:class:`str`): @@ -366,17 +368,17 @@ async def get_training_pipeline( async def list_training_pipelines( self, - request: pipeline_service.ListTrainingPipelinesRequest = None, + request: Union[pipeline_service.ListTrainingPipelinesRequest, 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.ListTrainingPipelinesAsyncPager: r"""Lists TrainingPipelines in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListTrainingPipelinesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListTrainingPipelinesRequest, dict]): The request object. Request message for [PipelineService.ListTrainingPipelines][google.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines]. parent (:class:`str`): @@ -447,17 +449,17 @@ async def list_training_pipelines( async def delete_training_pipeline( self, - request: pipeline_service.DeleteTrainingPipelineRequest = None, + request: Union[pipeline_service.DeleteTrainingPipelineRequest, 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 TrainingPipeline. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteTrainingPipelineRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteTrainingPipelineRequest, dict]): The request object. Request message for [PipelineService.DeleteTrainingPipeline][google.cloud.aiplatform.v1beta1.PipelineService.DeleteTrainingPipeline]. name (:class:`str`): @@ -540,10 +542,10 @@ async def delete_training_pipeline( async def cancel_training_pipeline( self, - request: pipeline_service.CancelTrainingPipelineRequest = None, + request: Union[pipeline_service.CancelTrainingPipelineRequest, 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]] = (), ) -> None: @@ -562,7 +564,7 @@ async def cancel_training_pipeline( is set to ``CANCELLED``. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CancelTrainingPipelineRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CancelTrainingPipelineRequest, dict]): The request object. Request message for [PipelineService.CancelTrainingPipeline][google.cloud.aiplatform.v1beta1.PipelineService.CancelTrainingPipeline]. name (:class:`str`): @@ -617,12 +619,12 @@ async def cancel_training_pipeline( async def create_pipeline_job( self, - request: pipeline_service.CreatePipelineJobRequest = None, + request: Union[pipeline_service.CreatePipelineJobRequest, dict] = None, *, parent: str = None, pipeline_job: gca_pipeline_job.PipelineJob = None, pipeline_job_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_pipeline_job.PipelineJob: @@ -630,7 +632,7 @@ async def create_pipeline_job( immediately when created. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreatePipelineJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreatePipelineJobRequest, dict]): The request object. Request message for [PipelineService.CreatePipelineJob][google.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob]. parent (:class:`str`): @@ -712,17 +714,17 @@ async def create_pipeline_job( async def get_pipeline_job( self, - request: pipeline_service.GetPipelineJobRequest = None, + request: Union[pipeline_service.GetPipelineJobRequest, 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]] = (), ) -> pipeline_job.PipelineJob: r"""Gets a PipelineJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetPipelineJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetPipelineJobRequest, dict]): The request object. Request message for [PipelineService.GetPipelineJob][google.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob]. name (:class:`str`): @@ -783,17 +785,17 @@ async def get_pipeline_job( async def list_pipeline_jobs( self, - request: pipeline_service.ListPipelineJobsRequest = None, + request: Union[pipeline_service.ListPipelineJobsRequest, 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.ListPipelineJobsAsyncPager: r"""Lists PipelineJobs in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListPipelineJobsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListPipelineJobsRequest, dict]): The request object. Request message for [PipelineService.ListPipelineJobs][google.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs]. parent (:class:`str`): @@ -864,17 +866,17 @@ async def list_pipeline_jobs( async def delete_pipeline_job( self, - request: pipeline_service.DeletePipelineJobRequest = None, + request: Union[pipeline_service.DeletePipelineJobRequest, 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 PipelineJob. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeletePipelineJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeletePipelineJobRequest, dict]): The request object. Request message for [PipelineService.DeletePipelineJob][google.cloud.aiplatform.v1beta1.PipelineService.DeletePipelineJob]. name (:class:`str`): @@ -957,10 +959,10 @@ async def delete_pipeline_job( async def cancel_pipeline_job( self, - request: pipeline_service.CancelPipelineJobRequest = None, + request: Union[pipeline_service.CancelPipelineJobRequest, 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]] = (), ) -> None: @@ -979,7 +981,7 @@ async def cancel_pipeline_job( is set to ``CANCELLED``. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CancelPipelineJobRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CancelPipelineJobRequest, dict]): The request object. Request message for [PipelineService.CancelPipelineJob][google.cloud.aiplatform.v1beta1.PipelineService.CancelPipelineJob]. name (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/pipeline_service/client.py b/google/cloud/aiplatform_v1beta1/services/pipeline_service/client.py index 42a9f588fc..02c58d977e 100644 --- a/google/cloud/aiplatform_v1beta1/services/pipeline_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/pipeline_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.pipeline_service import pagers @@ -517,7 +519,7 @@ def create_training_pipeline( *, parent: str = None, training_pipeline: gca_training_pipeline.TrainingPipeline = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_training_pipeline.TrainingPipeline: @@ -603,7 +605,7 @@ def get_training_pipeline( request: Union[pipeline_service.GetTrainingPipelineRequest, 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]] = (), ) -> training_pipeline.TrainingPipeline: @@ -679,7 +681,7 @@ def list_training_pipelines( request: Union[pipeline_service.ListTrainingPipelinesRequest, 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.ListTrainingPipelinesPager: @@ -760,7 +762,7 @@ def delete_training_pipeline( request: Union[pipeline_service.DeleteTrainingPipelineRequest, 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]] = (), ) -> gac_operation.Operation: @@ -853,7 +855,7 @@ def cancel_training_pipeline( request: Union[pipeline_service.CancelTrainingPipelineRequest, 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]] = (), ) -> None: @@ -932,7 +934,7 @@ def create_pipeline_job( parent: str = None, pipeline_job: gca_pipeline_job.PipelineJob = None, pipeline_job_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_pipeline_job.PipelineJob: @@ -1025,7 +1027,7 @@ def get_pipeline_job( request: Union[pipeline_service.GetPipelineJobRequest, 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]] = (), ) -> pipeline_job.PipelineJob: @@ -1096,7 +1098,7 @@ def list_pipeline_jobs( request: Union[pipeline_service.ListPipelineJobsRequest, 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.ListPipelineJobsPager: @@ -1177,7 +1179,7 @@ def delete_pipeline_job( request: Union[pipeline_service.DeletePipelineJobRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1270,7 +1272,7 @@ def cancel_pipeline_job( request: Union[pipeline_service.CancelPipelineJobRequest, 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]] = (), ) -> None: diff --git a/google/cloud/aiplatform_v1beta1/services/pipeline_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/pipeline_service/transports/base.py index 546ad9935d..044cb8de6e 100644 --- a/google/cloud/aiplatform_v1beta1/services/pipeline_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/pipeline_service/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 @@ -46,15 +45,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 PipelineServiceTransport(abc.ABC): """Abstract transport class for PipelineService.""" @@ -104,7 +94,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 @@ -137,29 +127,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 = { @@ -215,7 +182,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/aiplatform_v1beta1/services/pipeline_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/pipeline_service/transports/grpc.py index c97b92ab7f..a4b20fa42a 100644 --- a/google/cloud/aiplatform_v1beta1/services/pipeline_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/pipeline_service/transports/grpc.py @@ -122,7 +122,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/aiplatform_v1beta1/services/pipeline_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/pipeline_service/transports/grpc_asyncio.py index 4813615e0a..d4ce5a4007 100644 --- a/google/cloud/aiplatform_v1beta1/services/pipeline_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/pipeline_service/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 @@ -169,7 +168,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/aiplatform_v1beta1/services/prediction_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/prediction_service/async_client.py index 6ff5baa215..16e531faf8 100644 --- a/google/cloud/aiplatform_v1beta1/services/prediction_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/prediction_service/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 import httpbody_pb2 # type: ignore from google.cloud.aiplatform_v1beta1.types import explanation from google.cloud.aiplatform_v1beta1.types import prediction_service @@ -168,19 +170,19 @@ def __init__( async def predict( self, - request: prediction_service.PredictRequest = None, + request: Union[prediction_service.PredictRequest, dict] = None, *, endpoint: str = None, instances: Sequence[struct_pb2.Value] = None, parameters: struct_pb2.Value = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> prediction_service.PredictResponse: r"""Perform an online prediction. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.PredictRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.PredictRequest, dict]): The request object. Request message for [PredictionService.Predict][google.cloud.aiplatform.v1beta1.PredictionService.Predict]. endpoint (:class:`str`): @@ -273,11 +275,11 @@ async def predict( async def raw_predict( self, - request: prediction_service.RawPredictRequest = None, + request: Union[prediction_service.RawPredictRequest, dict] = None, *, endpoint: str = None, http_body: httpbody_pb2.HttpBody = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> httpbody_pb2.HttpBody: @@ -285,7 +287,7 @@ async def raw_predict( payload. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.RawPredictRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.RawPredictRequest, dict]): The request object. Request message for [PredictionService.RawPredict][google.cloud.aiplatform.v1beta1.PredictionService.RawPredict]. endpoint (:class:`str`): @@ -354,10 +356,11 @@ async def raw_predict( } service ResourceService { - rpc GetResource(GetResourceRequest) returns - (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns - (google.protobuf.Empty); + rpc GetResource(GetResourceRequest) + returns (google.api.HttpBody); + + rpc UpdateResource(google.api.HttpBody) + returns (google.protobuf.Empty); } @@ -418,13 +421,13 @@ async def raw_predict( async def explain( self, - request: prediction_service.ExplainRequest = None, + request: Union[prediction_service.ExplainRequest, dict] = None, *, endpoint: str = None, instances: Sequence[struct_pb2.Value] = None, parameters: struct_pb2.Value = None, deployed_model_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> prediction_service.ExplainResponse: @@ -442,7 +445,7 @@ async def explain( explanation_spec. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ExplainRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ExplainRequest, dict]): The request object. Request message for [PredictionService.Explain][google.cloud.aiplatform.v1beta1.PredictionService.Explain]. endpoint (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/prediction_service/client.py b/google/cloud/aiplatform_v1beta1/services/prediction_service/client.py index 0de077002a..fdd42b6690 100644 --- a/google/cloud/aiplatform_v1beta1/services/prediction_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/prediction_service/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 import httpbody_pb2 # type: ignore from google.cloud.aiplatform_v1beta1.types import explanation from google.cloud.aiplatform_v1beta1.types import prediction_service @@ -375,7 +377,7 @@ def predict( endpoint: str = None, instances: Sequence[struct_pb2.Value] = None, parameters: struct_pb2.Value = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> prediction_service.PredictResponse: @@ -479,7 +481,7 @@ def raw_predict( *, endpoint: str = None, http_body: httpbody_pb2.HttpBody = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> httpbody_pb2.HttpBody: @@ -556,10 +558,11 @@ def raw_predict( } service ResourceService { - rpc GetResource(GetResourceRequest) returns - (google.api.HttpBody); rpc - UpdateResource(google.api.HttpBody) returns - (google.protobuf.Empty); + rpc GetResource(GetResourceRequest) + returns (google.api.HttpBody); + + rpc UpdateResource(google.api.HttpBody) + returns (google.protobuf.Empty); } @@ -626,7 +629,7 @@ def explain( instances: Sequence[struct_pb2.Value] = None, parameters: struct_pb2.Value = None, deployed_model_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> prediction_service.ExplainResponse: diff --git a/google/cloud/aiplatform_v1beta1/services/prediction_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/prediction_service/transports/base.py index b13b9e79e3..396d29f5f9 100644 --- a/google/cloud/aiplatform_v1beta1/services/prediction_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/prediction_service/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 @@ -38,15 +37,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 PredictionServiceTransport(abc.ABC): """Abstract transport class for PredictionService.""" @@ -96,7 +86,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 @@ -129,29 +119,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 = { diff --git a/google/cloud/aiplatform_v1beta1/services/prediction_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/prediction_service/transports/grpc_asyncio.py index 2bd4b43f2f..dfe6cb4c83 100644 --- a/google/cloud/aiplatform_v1beta1/services/prediction_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/prediction_service/transports/grpc_asyncio.py @@ -20,7 +20,6 @@ from google.api_core import grpc_helpers_async # 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 diff --git a/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/async_client.py index 502707c443..e5d9a3551e 100644 --- a/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.specialist_pool_service import pagers @@ -183,18 +185,20 @@ def __init__( async def create_specialist_pool( self, - request: specialist_pool_service.CreateSpecialistPoolRequest = None, + request: Union[ + specialist_pool_service.CreateSpecialistPoolRequest, dict + ] = None, *, parent: str = None, specialist_pool: gca_specialist_pool.SpecialistPool = 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 SpecialistPool. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateSpecialistPoolRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateSpecialistPoolRequest, dict]): The request object. Request message for [SpecialistPoolService.CreateSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.CreateSpecialistPool]. parent (:class:`str`): @@ -281,17 +285,17 @@ async def create_specialist_pool( async def get_specialist_pool( self, - request: specialist_pool_service.GetSpecialistPoolRequest = None, + request: Union[specialist_pool_service.GetSpecialistPoolRequest, 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]] = (), ) -> specialist_pool.SpecialistPool: r"""Gets a SpecialistPool. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetSpecialistPoolRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetSpecialistPoolRequest, dict]): The request object. Request message for [SpecialistPoolService.GetSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.GetSpecialistPool]. name (:class:`str`): @@ -363,17 +367,17 @@ async def get_specialist_pool( async def list_specialist_pools( self, - request: specialist_pool_service.ListSpecialistPoolsRequest = None, + request: Union[specialist_pool_service.ListSpecialistPoolsRequest, 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.ListSpecialistPoolsAsyncPager: r"""Lists SpecialistPools in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListSpecialistPoolsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListSpecialistPoolsRequest, dict]): The request object. Request message for [SpecialistPoolService.ListSpecialistPools][google.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools]. parent (:class:`str`): @@ -444,10 +448,12 @@ async def list_specialist_pools( async def delete_specialist_pool( self, - request: specialist_pool_service.DeleteSpecialistPoolRequest = None, + request: Union[ + specialist_pool_service.DeleteSpecialistPoolRequest, 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: @@ -455,7 +461,7 @@ async def delete_specialist_pool( in the pool. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteSpecialistPoolRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteSpecialistPoolRequest, dict]): The request object. Request message for [SpecialistPoolService.DeleteSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.DeleteSpecialistPool]. name (:class:`str`): @@ -538,18 +544,20 @@ async def delete_specialist_pool( async def update_specialist_pool( self, - request: specialist_pool_service.UpdateSpecialistPoolRequest = None, + request: Union[ + specialist_pool_service.UpdateSpecialistPoolRequest, dict + ] = None, *, specialist_pool: gca_specialist_pool.SpecialistPool = 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 a SpecialistPool. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateSpecialistPoolRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateSpecialistPoolRequest, dict]): The request object. Request message for [SpecialistPoolService.UpdateSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.UpdateSpecialistPool]. specialist_pool (:class:`google.cloud.aiplatform_v1beta1.types.SpecialistPool`): diff --git a/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/client.py b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/client.py index eb5858a2e4..4ca026222e 100644 --- a/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.specialist_pool_service import pagers @@ -370,7 +372,7 @@ def create_specialist_pool( *, parent: str = None, specialist_pool: gca_specialist_pool.SpecialistPool = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -467,7 +469,7 @@ def get_specialist_pool( request: Union[specialist_pool_service.GetSpecialistPoolRequest, 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]] = (), ) -> specialist_pool.SpecialistPool: @@ -549,7 +551,7 @@ def list_specialist_pools( request: Union[specialist_pool_service.ListSpecialistPoolsRequest, 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.ListSpecialistPoolsPager: @@ -632,7 +634,7 @@ def delete_specialist_pool( ] = 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]] = (), ) -> gac_operation.Operation: @@ -729,7 +731,7 @@ def update_specialist_pool( *, specialist_pool: gca_specialist_pool.SpecialistPool = 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]] = (), ) -> gac_operation.Operation: diff --git a/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/transports/base.py index c49553f0d1..2fc46ff661 100644 --- a/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/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 @@ -40,15 +39,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 SpecialistPoolServiceTransport(abc.ABC): """Abstract transport class for SpecialistPoolService.""" @@ -98,7 +88,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 @@ -131,29 +121,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 = { @@ -192,7 +159,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/aiplatform_v1beta1/services/specialist_pool_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/transports/grpc.py index 8b480964a6..d32117f5d7 100644 --- a/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/transports/grpc.py @@ -118,7 +118,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/aiplatform_v1beta1/services/specialist_pool_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/transports/grpc_asyncio.py index 804a7f63e2..599da0327c 100644 --- a/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/specialist_pool_service/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 @@ -165,7 +164,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/aiplatform_v1beta1/services/tensorboard_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/async_client.py index ed95bcf0a0..ff44f2eedc 100644 --- a/google/cloud/aiplatform_v1beta1/services/tensorboard_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/async_client.py @@ -19,13 +19,15 @@ from typing import Dict, AsyncIterable, Awaitable, 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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.tensorboard_service import pagers @@ -202,18 +204,18 @@ def __init__( async def create_tensorboard( self, - request: tensorboard_service.CreateTensorboardRequest = None, + request: Union[tensorboard_service.CreateTensorboardRequest, dict] = None, *, parent: str = None, tensorboard: gca_tensorboard.Tensorboard = 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 Tensorboard. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateTensorboardRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateTensorboardRequest, dict]): The request object. Request message for [TensorboardService.CreateTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboard]. parent (:class:`str`): @@ -294,17 +296,17 @@ async def create_tensorboard( async def get_tensorboard( self, - request: tensorboard_service.GetTensorboardRequest = None, + request: Union[tensorboard_service.GetTensorboardRequest, 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]] = (), ) -> tensorboard.Tensorboard: r"""Gets a Tensorboard. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetTensorboardRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetTensorboardRequest, dict]): The request object. Request message for [TensorboardService.GetTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboard]. name (:class:`str`): @@ -369,18 +371,18 @@ async def get_tensorboard( async def update_tensorboard( self, - request: tensorboard_service.UpdateTensorboardRequest = None, + request: Union[tensorboard_service.UpdateTensorboardRequest, dict] = None, *, tensorboard: gca_tensorboard.Tensorboard = 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 a Tensorboard. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateTensorboardRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateTensorboardRequest, dict]): The request object. Request message for [TensorboardService.UpdateTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboard]. tensorboard (:class:`google.cloud.aiplatform_v1beta1.types.Tensorboard`): @@ -470,17 +472,17 @@ async def update_tensorboard( async def list_tensorboards( self, - request: tensorboard_service.ListTensorboardsRequest = None, + request: Union[tensorboard_service.ListTensorboardsRequest, 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.ListTensorboardsAsyncPager: r"""Lists Tensorboards in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListTensorboardsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListTensorboardsRequest, dict]): The request object. Request message for [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards]. parent (:class:`str`): @@ -551,17 +553,17 @@ async def list_tensorboards( async def delete_tensorboard( self, - request: tensorboard_service.DeleteTensorboardRequest = None, + request: Union[tensorboard_service.DeleteTensorboardRequest, 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 Tensorboard. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteTensorboardRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteTensorboardRequest, dict]): The request object. Request message for [TensorboardService.DeleteTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboard]. name (:class:`str`): @@ -644,19 +646,21 @@ async def delete_tensorboard( async def create_tensorboard_experiment( self, - request: tensorboard_service.CreateTensorboardExperimentRequest = None, + request: Union[ + tensorboard_service.CreateTensorboardExperimentRequest, dict + ] = None, *, parent: str = None, tensorboard_experiment: gca_tensorboard_experiment.TensorboardExperiment = None, tensorboard_experiment_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_tensorboard_experiment.TensorboardExperiment: r"""Creates a TensorboardExperiment. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateTensorboardExperimentRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateTensorboardExperimentRequest, dict]): The request object. Request message for [TensorboardService.CreateTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardExperiment]. parent (:class:`str`): @@ -742,17 +746,19 @@ async def create_tensorboard_experiment( async def get_tensorboard_experiment( self, - request: tensorboard_service.GetTensorboardExperimentRequest = None, + request: Union[ + tensorboard_service.GetTensorboardExperimentRequest, 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]] = (), ) -> tensorboard_experiment.TensorboardExperiment: r"""Gets a TensorboardExperiment. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetTensorboardExperimentRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetTensorboardExperimentRequest, dict]): The request object. Request message for [TensorboardService.GetTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardExperiment]. name (:class:`str`): @@ -816,18 +822,20 @@ async def get_tensorboard_experiment( async def update_tensorboard_experiment( self, - request: tensorboard_service.UpdateTensorboardExperimentRequest = None, + request: Union[ + tensorboard_service.UpdateTensorboardExperimentRequest, dict + ] = None, *, tensorboard_experiment: gca_tensorboard_experiment.TensorboardExperiment = 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]] = (), ) -> gca_tensorboard_experiment.TensorboardExperiment: r"""Updates a TensorboardExperiment. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateTensorboardExperimentRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateTensorboardExperimentRequest, dict]): The request object. Request message for [TensorboardService.UpdateTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardExperiment]. tensorboard_experiment (:class:`google.cloud.aiplatform_v1beta1.types.TensorboardExperiment`): @@ -908,17 +916,19 @@ async def update_tensorboard_experiment( async def list_tensorboard_experiments( self, - request: tensorboard_service.ListTensorboardExperimentsRequest = None, + request: Union[ + tensorboard_service.ListTensorboardExperimentsRequest, 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.ListTensorboardExperimentsAsyncPager: r"""Lists TensorboardExperiments in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListTensorboardExperimentsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListTensorboardExperimentsRequest, dict]): The request object. Request message for [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments]. parent (:class:`str`): @@ -990,17 +1000,19 @@ async def list_tensorboard_experiments( async def delete_tensorboard_experiment( self, - request: tensorboard_service.DeleteTensorboardExperimentRequest = None, + request: Union[ + tensorboard_service.DeleteTensorboardExperimentRequest, 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 TensorboardExperiment. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteTensorboardExperimentRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteTensorboardExperimentRequest, dict]): The request object. Request message for [TensorboardService.DeleteTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardExperiment]. name (:class:`str`): @@ -1083,19 +1095,19 @@ async def delete_tensorboard_experiment( async def create_tensorboard_run( self, - request: tensorboard_service.CreateTensorboardRunRequest = None, + request: Union[tensorboard_service.CreateTensorboardRunRequest, dict] = None, *, parent: str = None, tensorboard_run: gca_tensorboard_run.TensorboardRun = None, tensorboard_run_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_tensorboard_run.TensorboardRun: r"""Creates a TensorboardRun. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateTensorboardRunRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateTensorboardRunRequest, dict]): The request object. Request message for [TensorboardService.CreateTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardRun]. parent (:class:`str`): @@ -1181,18 +1193,20 @@ async def create_tensorboard_run( async def batch_create_tensorboard_runs( self, - request: tensorboard_service.BatchCreateTensorboardRunsRequest = None, + request: Union[ + tensorboard_service.BatchCreateTensorboardRunsRequest, dict + ] = None, *, parent: str = None, requests: Sequence[tensorboard_service.CreateTensorboardRunRequest] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.BatchCreateTensorboardRunsResponse: r"""Batch create TensorboardRuns. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.BatchCreateTensorboardRunsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.BatchCreateTensorboardRunsRequest, dict]): The request object. Request message for [TensorboardService.BatchCreateTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardRuns]. parent (:class:`str`): @@ -1268,17 +1282,17 @@ async def batch_create_tensorboard_runs( async def get_tensorboard_run( self, - request: tensorboard_service.GetTensorboardRunRequest = None, + request: Union[tensorboard_service.GetTensorboardRunRequest, 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]] = (), ) -> tensorboard_run.TensorboardRun: r"""Gets a TensorboardRun. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetTensorboardRunRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetTensorboardRunRequest, dict]): The request object. Request message for [TensorboardService.GetTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardRun]. name (:class:`str`): @@ -1342,18 +1356,18 @@ async def get_tensorboard_run( async def update_tensorboard_run( self, - request: tensorboard_service.UpdateTensorboardRunRequest = None, + request: Union[tensorboard_service.UpdateTensorboardRunRequest, dict] = None, *, tensorboard_run: gca_tensorboard_run.TensorboardRun = 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]] = (), ) -> gca_tensorboard_run.TensorboardRun: r"""Updates a TensorboardRun. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateTensorboardRunRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateTensorboardRunRequest, dict]): The request object. Request message for [TensorboardService.UpdateTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardRun]. tensorboard_run (:class:`google.cloud.aiplatform_v1beta1.types.TensorboardRun`): @@ -1433,17 +1447,17 @@ async def update_tensorboard_run( async def list_tensorboard_runs( self, - request: tensorboard_service.ListTensorboardRunsRequest = None, + request: Union[tensorboard_service.ListTensorboardRunsRequest, 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.ListTensorboardRunsAsyncPager: r"""Lists TensorboardRuns in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListTensorboardRunsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListTensorboardRunsRequest, dict]): The request object. Request message for [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns]. parent (:class:`str`): @@ -1515,17 +1529,17 @@ async def list_tensorboard_runs( async def delete_tensorboard_run( self, - request: tensorboard_service.DeleteTensorboardRunRequest = None, + request: Union[tensorboard_service.DeleteTensorboardRunRequest, 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 TensorboardRun. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteTensorboardRunRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteTensorboardRunRequest, dict]): The request object. Request message for [TensorboardService.DeleteTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardRun]. name (:class:`str`): @@ -1608,13 +1622,15 @@ async def delete_tensorboard_run( async def batch_create_tensorboard_time_series( self, - request: tensorboard_service.BatchCreateTensorboardTimeSeriesRequest = None, + request: Union[ + tensorboard_service.BatchCreateTensorboardTimeSeriesRequest, dict + ] = None, *, parent: str = None, requests: Sequence[ tensorboard_service.CreateTensorboardTimeSeriesRequest ] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.BatchCreateTensorboardTimeSeriesResponse: @@ -1622,7 +1638,7 @@ async def batch_create_tensorboard_time_series( TensorboardExperiment. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.BatchCreateTensorboardTimeSeriesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.BatchCreateTensorboardTimeSeriesRequest, dict]): The request object. Request message for [TensorboardService.BatchCreateTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardTimeSeries]. parent (:class:`str`): @@ -1699,18 +1715,20 @@ async def batch_create_tensorboard_time_series( async def create_tensorboard_time_series( self, - request: tensorboard_service.CreateTensorboardTimeSeriesRequest = None, + request: Union[ + tensorboard_service.CreateTensorboardTimeSeriesRequest, dict + ] = None, *, parent: str = None, tensorboard_time_series: gca_tensorboard_time_series.TensorboardTimeSeries = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_tensorboard_time_series.TensorboardTimeSeries: r"""Creates a TensorboardTimeSeries. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateTensorboardTimeSeriesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateTensorboardTimeSeriesRequest, dict]): The request object. Request message for [TensorboardService.CreateTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardTimeSeries]. parent (:class:`str`): @@ -1781,17 +1799,19 @@ async def create_tensorboard_time_series( async def get_tensorboard_time_series( self, - request: tensorboard_service.GetTensorboardTimeSeriesRequest = None, + request: Union[ + tensorboard_service.GetTensorboardTimeSeriesRequest, 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]] = (), ) -> tensorboard_time_series.TensorboardTimeSeries: r"""Gets a TensorboardTimeSeries. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetTensorboardTimeSeriesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetTensorboardTimeSeriesRequest, dict]): The request object. Request message for [TensorboardService.GetTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardTimeSeries]. name (:class:`str`): @@ -1853,18 +1873,20 @@ async def get_tensorboard_time_series( async def update_tensorboard_time_series( self, - request: tensorboard_service.UpdateTensorboardTimeSeriesRequest = None, + request: Union[ + tensorboard_service.UpdateTensorboardTimeSeriesRequest, dict + ] = None, *, tensorboard_time_series: gca_tensorboard_time_series.TensorboardTimeSeries = 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]] = (), ) -> gca_tensorboard_time_series.TensorboardTimeSeries: r"""Updates a TensorboardTimeSeries. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.UpdateTensorboardTimeSeriesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.UpdateTensorboardTimeSeriesRequest, dict]): The request object. Request message for [TensorboardService.UpdateTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardTimeSeries]. tensorboard_time_series (:class:`google.cloud.aiplatform_v1beta1.types.TensorboardTimeSeries`): @@ -1948,17 +1970,19 @@ async def update_tensorboard_time_series( async def list_tensorboard_time_series( self, - request: tensorboard_service.ListTensorboardTimeSeriesRequest = None, + request: Union[ + tensorboard_service.ListTensorboardTimeSeriesRequest, 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.ListTensorboardTimeSeriesAsyncPager: r"""Lists TensorboardTimeSeries in a Location. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListTensorboardTimeSeriesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListTensorboardTimeSeriesRequest, dict]): The request object. Request message for [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries]. parent (:class:`str`): @@ -2030,17 +2054,19 @@ async def list_tensorboard_time_series( async def delete_tensorboard_time_series( self, - request: tensorboard_service.DeleteTensorboardTimeSeriesRequest = None, + request: Union[ + tensorboard_service.DeleteTensorboardTimeSeriesRequest, 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 TensorboardTimeSeries. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteTensorboardTimeSeriesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteTensorboardTimeSeriesRequest, dict]): The request object. Request message for [TensorboardService.DeleteTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardTimeSeries]. name (:class:`str`): @@ -2123,10 +2149,12 @@ async def delete_tensorboard_time_series( async def batch_read_tensorboard_time_series_data( self, - request: tensorboard_service.BatchReadTensorboardTimeSeriesDataRequest = None, + request: Union[ + tensorboard_service.BatchReadTensorboardTimeSeriesDataRequest, dict + ] = None, *, tensorboard: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.BatchReadTensorboardTimeSeriesDataResponse: @@ -2138,7 +2166,7 @@ async def batch_read_tensorboard_time_series_data( randomly selected from this time series and returned. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.BatchReadTensorboardTimeSeriesDataRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.BatchReadTensorboardTimeSeriesDataRequest, dict]): The request object. Request message for [TensorboardService.BatchReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.BatchReadTensorboardTimeSeriesData]. tensorboard (:class:`str`): @@ -2206,10 +2234,12 @@ async def batch_read_tensorboard_time_series_data( async def read_tensorboard_time_series_data( self, - request: tensorboard_service.ReadTensorboardTimeSeriesDataRequest = None, + request: Union[ + tensorboard_service.ReadTensorboardTimeSeriesDataRequest, dict + ] = None, *, tensorboard_time_series: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.ReadTensorboardTimeSeriesDataResponse: @@ -2220,7 +2250,7 @@ async def read_tensorboard_time_series_data( changing max_data_points, which can't be greater than 10k. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ReadTensorboardTimeSeriesDataRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ReadTensorboardTimeSeriesDataRequest, dict]): The request object. Request message for [TensorboardService.ReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData]. tensorboard_time_series (:class:`str`): @@ -2284,10 +2314,10 @@ async def read_tensorboard_time_series_data( def read_tensorboard_blob_data( self, - request: tensorboard_service.ReadTensorboardBlobDataRequest = None, + request: Union[tensorboard_service.ReadTensorboardBlobDataRequest, dict] = None, *, time_series: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> Awaitable[AsyncIterable[tensorboard_service.ReadTensorboardBlobDataResponse]]: @@ -2297,7 +2327,7 @@ def read_tensorboard_blob_data( obtain Cloud Storage access permission. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ReadTensorboardBlobDataRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ReadTensorboardBlobDataRequest, dict]): The request object. Request message for [TensorboardService.ReadTensorboardBlobData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardBlobData]. time_series (:class:`str`): @@ -2361,13 +2391,15 @@ def read_tensorboard_blob_data( async def write_tensorboard_experiment_data( self, - request: tensorboard_service.WriteTensorboardExperimentDataRequest = None, + request: Union[ + tensorboard_service.WriteTensorboardExperimentDataRequest, dict + ] = None, *, tensorboard_experiment: str = None, write_run_data_requests: Sequence[ tensorboard_service.WriteTensorboardRunDataRequest ] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.WriteTensorboardExperimentDataResponse: @@ -2376,7 +2408,7 @@ async def write_tensorboard_experiment_data( any data fail to be ingested, an error will be returned. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.WriteTensorboardExperimentDataRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.WriteTensorboardExperimentDataRequest, dict]): The request object. Request message for [TensorboardService.WriteTensorboardExperimentData][google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardExperimentData]. tensorboard_experiment (:class:`str`): @@ -2449,11 +2481,11 @@ async def write_tensorboard_experiment_data( async def write_tensorboard_run_data( self, - request: tensorboard_service.WriteTensorboardRunDataRequest = None, + request: Union[tensorboard_service.WriteTensorboardRunDataRequest, dict] = None, *, tensorboard_run: str = None, time_series_data: Sequence[tensorboard_data.TimeSeriesData] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.WriteTensorboardRunDataResponse: @@ -2462,7 +2494,7 @@ async def write_tensorboard_run_data( data fail to be ingested, an error will be returned. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.WriteTensorboardRunDataRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.WriteTensorboardRunDataRequest, dict]): The request object. Request message for [TensorboardService.WriteTensorboardRunData][google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData]. tensorboard_run (:class:`str`): @@ -2541,10 +2573,12 @@ async def write_tensorboard_run_data( async def export_tensorboard_time_series_data( self, - request: tensorboard_service.ExportTensorboardTimeSeriesDataRequest = None, + request: Union[ + tensorboard_service.ExportTensorboardTimeSeriesDataRequest, dict + ] = None, *, tensorboard_time_series: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ExportTensorboardTimeSeriesDataAsyncPager: @@ -2552,7 +2586,7 @@ async def export_tensorboard_time_series_data( returned in paginated responses. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ExportTensorboardTimeSeriesDataRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ExportTensorboardTimeSeriesDataRequest, dict]): The request object. Request message for [TensorboardService.ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData]. tensorboard_time_series (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/tensorboard_service/client.py b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/client.py index fbb9ad0544..bb0228d776 100644 --- a/google/cloud/aiplatform_v1beta1/services/tensorboard_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/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 as gac_operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.aiplatform_v1beta1.services.tensorboard_service import pagers @@ -446,7 +448,7 @@ def create_tensorboard( *, parent: str = None, tensorboard: gca_tensorboard.Tensorboard = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gac_operation.Operation: @@ -537,7 +539,7 @@ def get_tensorboard( request: Union[tensorboard_service.GetTensorboardRequest, 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]] = (), ) -> tensorboard.Tensorboard: @@ -613,7 +615,7 @@ def update_tensorboard( *, tensorboard: gca_tensorboard.Tensorboard = 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]] = (), ) -> gac_operation.Operation: @@ -713,7 +715,7 @@ def list_tensorboards( request: Union[tensorboard_service.ListTensorboardsRequest, 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.ListTensorboardsPager: @@ -794,7 +796,7 @@ def delete_tensorboard( request: Union[tensorboard_service.DeleteTensorboardRequest, 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]] = (), ) -> gac_operation.Operation: @@ -891,7 +893,7 @@ def create_tensorboard_experiment( parent: str = None, tensorboard_experiment: gca_tensorboard_experiment.TensorboardExperiment = None, tensorboard_experiment_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_tensorboard_experiment.TensorboardExperiment: @@ -993,7 +995,7 @@ def get_tensorboard_experiment( ] = 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]] = (), ) -> tensorboard_experiment.TensorboardExperiment: @@ -1072,7 +1074,7 @@ def update_tensorboard_experiment( *, tensorboard_experiment: gca_tensorboard_experiment.TensorboardExperiment = 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]] = (), ) -> gca_tensorboard_experiment.TensorboardExperiment: @@ -1169,7 +1171,7 @@ def list_tensorboard_experiments( ] = 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.ListTensorboardExperimentsPager: @@ -1257,7 +1259,7 @@ def delete_tensorboard_experiment( ] = 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]] = (), ) -> gac_operation.Operation: @@ -1356,7 +1358,7 @@ def create_tensorboard_run( parent: str = None, tensorboard_run: gca_tensorboard_run.TensorboardRun = None, tensorboard_run_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_tensorboard_run.TensorboardRun: @@ -1455,7 +1457,7 @@ def batch_create_tensorboard_runs( *, parent: str = None, requests: Sequence[tensorboard_service.CreateTensorboardRunRequest] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.BatchCreateTensorboardRunsResponse: @@ -1545,7 +1547,7 @@ def get_tensorboard_run( request: Union[tensorboard_service.GetTensorboardRunRequest, 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]] = (), ) -> tensorboard_run.TensorboardRun: @@ -1620,7 +1622,7 @@ def update_tensorboard_run( *, tensorboard_run: gca_tensorboard_run.TensorboardRun = 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]] = (), ) -> gca_tensorboard_run.TensorboardRun: @@ -1710,7 +1712,7 @@ def list_tensorboard_runs( request: Union[tensorboard_service.ListTensorboardRunsRequest, 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.ListTensorboardRunsPager: @@ -1792,7 +1794,7 @@ def delete_tensorboard_run( request: Union[tensorboard_service.DeleteTensorboardRunRequest, 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]] = (), ) -> gac_operation.Operation: @@ -1890,7 +1892,7 @@ def batch_create_tensorboard_time_series( requests: Sequence[ tensorboard_service.CreateTensorboardTimeSeriesRequest ] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.BatchCreateTensorboardTimeSeriesResponse: @@ -1987,7 +1989,7 @@ def create_tensorboard_time_series( *, parent: str = None, tensorboard_time_series: gca_tensorboard_time_series.TensorboardTimeSeries = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_tensorboard_time_series.TensorboardTimeSeries: @@ -2074,7 +2076,7 @@ def get_tensorboard_time_series( ] = 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]] = (), ) -> tensorboard_time_series.TensorboardTimeSeries: @@ -2151,7 +2153,7 @@ def update_tensorboard_time_series( *, tensorboard_time_series: gca_tensorboard_time_series.TensorboardTimeSeries = 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]] = (), ) -> gca_tensorboard_time_series.TensorboardTimeSeries: @@ -2251,7 +2253,7 @@ def list_tensorboard_time_series( ] = 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.ListTensorboardTimeSeriesPager: @@ -2339,7 +2341,7 @@ def delete_tensorboard_time_series( ] = 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]] = (), ) -> gac_operation.Operation: @@ -2438,7 +2440,7 @@ def batch_read_tensorboard_time_series_data( ] = None, *, tensorboard: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.BatchReadTensorboardTimeSeriesDataResponse: @@ -2529,7 +2531,7 @@ def read_tensorboard_time_series_data( ] = None, *, tensorboard_time_series: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.ReadTensorboardTimeSeriesDataResponse: @@ -2611,7 +2613,7 @@ def read_tensorboard_blob_data( request: Union[tensorboard_service.ReadTensorboardBlobDataRequest, dict] = None, *, time_series: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> Iterable[tensorboard_service.ReadTensorboardBlobDataResponse]: @@ -2695,7 +2697,7 @@ def write_tensorboard_experiment_data( write_run_data_requests: Sequence[ tensorboard_service.WriteTensorboardRunDataRequest ] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.WriteTensorboardExperimentDataResponse: @@ -2785,7 +2787,7 @@ def write_tensorboard_run_data( *, tensorboard_run: str = None, time_series_data: Sequence[tensorboard_data.TimeSeriesData] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> tensorboard_service.WriteTensorboardRunDataResponse: @@ -2880,7 +2882,7 @@ def export_tensorboard_time_series_data( ] = None, *, tensorboard_time_series: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ExportTensorboardTimeSeriesDataPager: diff --git a/google/cloud/aiplatform_v1beta1/services/tensorboard_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/transports/base.py index d2ab97ef4f..8b4a5729f6 100644 --- a/google/cloud/aiplatform_v1beta1/services/tensorboard_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/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 @@ -50,15 +49,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 TensorboardServiceTransport(abc.ABC): """Abstract transport class for TensorboardService.""" @@ -108,7 +98,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 @@ -141,29 +131,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 = { @@ -307,7 +274,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/aiplatform_v1beta1/services/tensorboard_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/transports/grpc.py index 4c35a3abda..1cc7696f56 100644 --- a/google/cloud/aiplatform_v1beta1/services/tensorboard_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/transports/grpc.py @@ -123,7 +123,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/aiplatform_v1beta1/services/tensorboard_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/transports/grpc_asyncio.py index feae16c227..a6049c14b0 100644 --- a/google/cloud/aiplatform_v1beta1/services/tensorboard_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/tensorboard_service/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 @@ -170,7 +169,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/aiplatform_v1beta1/services/vizier_service/async_client.py b/google/cloud/aiplatform_v1beta1/services/vizier_service/async_client.py index 72b8ecc274..112499c7e8 100644 --- a/google/cloud/aiplatform_v1beta1/services/vizier_service/async_client.py +++ b/google/cloud/aiplatform_v1beta1/services/vizier_service/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.aiplatform_v1beta1.services.vizier_service import pagers @@ -176,11 +178,11 @@ def __init__( async def create_study( self, - request: vizier_service.CreateStudyRequest = None, + request: Union[vizier_service.CreateStudyRequest, dict] = None, *, parent: str = None, study: gca_study.Study = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_study.Study: @@ -188,7 +190,7 @@ async def create_study( after creation of the Study. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateStudyRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateStudyRequest, dict]): The request object. Request message for [VizierService.CreateStudy][google.cloud.aiplatform.v1beta1.VizierService.CreateStudy]. parent (:class:`str`): @@ -257,17 +259,17 @@ async def create_study( async def get_study( self, - request: vizier_service.GetStudyRequest = None, + request: Union[vizier_service.GetStudyRequest, 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]] = (), ) -> study.Study: r"""Gets a Study by name. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetStudyRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetStudyRequest, dict]): The request object. Request message for [VizierService.GetStudy][google.cloud.aiplatform.v1beta1.VizierService.GetStudy]. name (:class:`str`): @@ -326,10 +328,10 @@ async def get_study( async def list_studies( self, - request: vizier_service.ListStudiesRequest = None, + request: Union[vizier_service.ListStudiesRequest, 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.ListStudiesAsyncPager: @@ -337,7 +339,7 @@ async def list_studies( project. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListStudiesRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListStudiesRequest, dict]): The request object. Request message for [VizierService.ListStudies][google.cloud.aiplatform.v1beta1.VizierService.ListStudies]. parent (:class:`str`): @@ -408,17 +410,17 @@ async def list_studies( async def delete_study( self, - request: vizier_service.DeleteStudyRequest = None, + request: Union[vizier_service.DeleteStudyRequest, 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]] = (), ) -> None: r"""Deletes a Study. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteStudyRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteStudyRequest, dict]): The request object. Request message for [VizierService.DeleteStudy][google.cloud.aiplatform.v1beta1.VizierService.DeleteStudy]. name (:class:`str`): @@ -473,10 +475,10 @@ async def delete_study( async def lookup_study( self, - request: vizier_service.LookupStudyRequest = None, + request: Union[vizier_service.LookupStudyRequest, 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]] = (), ) -> study.Study: @@ -484,7 +486,7 @@ async def lookup_study( instead of the fully qualified resource name. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.LookupStudyRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.LookupStudyRequest, dict]): The request object. Request message for [VizierService.LookupStudy][google.cloud.aiplatform.v1beta1.VizierService.LookupStudy]. parent (:class:`str`): @@ -544,9 +546,9 @@ async def lookup_study( async def suggest_trials( self, - request: vizier_service.SuggestTrialsRequest = None, + request: Union[vizier_service.SuggestTrialsRequest, 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: @@ -557,7 +559,7 @@ async def suggest_trials( [SuggestTrialsResponse][google.cloud.ml.v1.SuggestTrialsResponse]. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.SuggestTrialsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.SuggestTrialsRequest, dict]): The request object. Request message for [VizierService.SuggestTrials][google.cloud.aiplatform.v1beta1.VizierService.SuggestTrials]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -609,18 +611,18 @@ async def suggest_trials( async def create_trial( self, - request: vizier_service.CreateTrialRequest = None, + request: Union[vizier_service.CreateTrialRequest, dict] = None, *, parent: str = None, trial: study.Trial = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: r"""Adds a user provided Trial to a Study. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CreateTrialRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CreateTrialRequest, dict]): The request object. Request message for [VizierService.CreateTrial][google.cloud.aiplatform.v1beta1.VizierService.CreateTrial]. parent (:class:`str`): @@ -692,17 +694,17 @@ async def create_trial( async def get_trial( self, - request: vizier_service.GetTrialRequest = None, + request: Union[vizier_service.GetTrialRequest, 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]] = (), ) -> study.Trial: r"""Gets a Trial. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.GetTrialRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.GetTrialRequest, dict]): The request object. Request message for [VizierService.GetTrial][google.cloud.aiplatform.v1beta1.VizierService.GetTrial]. name (:class:`str`): @@ -766,17 +768,17 @@ async def get_trial( async def list_trials( self, - request: vizier_service.ListTrialsRequest = None, + request: Union[vizier_service.ListTrialsRequest, 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.ListTrialsAsyncPager: r"""Lists the Trials associated with a Study. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListTrialsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListTrialsRequest, dict]): The request object. Request message for [VizierService.ListTrials][google.cloud.aiplatform.v1beta1.VizierService.ListTrials]. parent (:class:`str`): @@ -847,9 +849,9 @@ async def list_trials( async def add_trial_measurement( self, - request: vizier_service.AddTrialMeasurementRequest = None, + request: Union[vizier_service.AddTrialMeasurementRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -858,7 +860,7 @@ async def add_trial_measurement( before the Trial is complete. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.AddTrialMeasurementRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.AddTrialMeasurementRequest, dict]): The request object. Request message for [VizierService.AddTrialMeasurement][google.cloud.aiplatform.v1beta1.VizierService.AddTrialMeasurement]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -903,16 +905,16 @@ async def add_trial_measurement( async def complete_trial( self, - request: vizier_service.CompleteTrialRequest = None, + request: Union[vizier_service.CompleteTrialRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: r"""Marks a Trial as complete. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CompleteTrialRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CompleteTrialRequest, dict]): The request object. Request message for [VizierService.CompleteTrial][google.cloud.aiplatform.v1beta1.VizierService.CompleteTrial]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -955,17 +957,17 @@ async def complete_trial( async def delete_trial( self, - request: vizier_service.DeleteTrialRequest = None, + request: Union[vizier_service.DeleteTrialRequest, 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]] = (), ) -> None: r"""Deletes a Trial. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.DeleteTrialRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.DeleteTrialRequest, dict]): The request object. Request message for [VizierService.DeleteTrial][google.cloud.aiplatform.v1beta1.VizierService.DeleteTrial]. name (:class:`str`): @@ -1019,9 +1021,9 @@ async def delete_trial( async def check_trial_early_stopping_state( self, - request: vizier_service.CheckTrialEarlyStoppingStateRequest = None, + request: Union[vizier_service.CheckTrialEarlyStoppingStateRequest, 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: @@ -1031,7 +1033,7 @@ async def check_trial_early_stopping_state( [CheckTrialEarlyStoppingStateResponse][google.cloud.ml.v1.CheckTrialEarlyStoppingStateResponse]. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.CheckTrialEarlyStoppingStateRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.CheckTrialEarlyStoppingStateRequest, dict]): The request object. Request message for [VizierService.CheckTrialEarlyStoppingState][google.cloud.aiplatform.v1beta1.VizierService.CheckTrialEarlyStoppingState]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1085,16 +1087,16 @@ async def check_trial_early_stopping_state( async def stop_trial( self, - request: vizier_service.StopTrialRequest = None, + request: Union[vizier_service.StopTrialRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: r"""Stops a Trial. Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.StopTrialRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.StopTrialRequest, dict]): The request object. Request message for [VizierService.StopTrial][google.cloud.aiplatform.v1beta1.VizierService.StopTrial]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1137,10 +1139,10 @@ async def stop_trial( async def list_optimal_trials( self, - request: vizier_service.ListOptimalTrialsRequest = None, + request: Union[vizier_service.ListOptimalTrialsRequest, 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]] = (), ) -> vizier_service.ListOptimalTrialsResponse: @@ -1150,7 +1152,7 @@ async def list_optimal_trials( https://en.wikipedia.org/wiki/Pareto_efficiency Args: - request (:class:`google.cloud.aiplatform_v1beta1.types.ListOptimalTrialsRequest`): + request (Union[google.cloud.aiplatform_v1beta1.types.ListOptimalTrialsRequest, dict]): The request object. Request message for [VizierService.ListOptimalTrials][google.cloud.aiplatform.v1beta1.VizierService.ListOptimalTrials]. parent (:class:`str`): diff --git a/google/cloud/aiplatform_v1beta1/services/vizier_service/client.py b/google/cloud/aiplatform_v1beta1/services/vizier_service/client.py index 5b27835f56..282c0013af 100644 --- a/google/cloud/aiplatform_v1beta1/services/vizier_service/client.py +++ b/google/cloud/aiplatform_v1beta1/services/vizier_service/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.aiplatform_v1beta1.services.vizier_service import pagers @@ -392,7 +394,7 @@ def create_study( *, parent: str = None, study: gca_study.Study = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gca_study.Study: @@ -472,7 +474,7 @@ def get_study( request: Union[vizier_service.GetStudyRequest, 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]] = (), ) -> study.Study: @@ -541,7 +543,7 @@ def list_studies( request: Union[vizier_service.ListStudiesRequest, 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.ListStudiesPager: @@ -623,7 +625,7 @@ def delete_study( request: Union[vizier_service.DeleteStudyRequest, 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]] = (), ) -> None: @@ -688,7 +690,7 @@ def lookup_study( request: Union[vizier_service.LookupStudyRequest, 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]] = (), ) -> study.Study: @@ -758,7 +760,7 @@ def suggest_trials( self, request: Union[vizier_service.SuggestTrialsRequest, 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: @@ -826,7 +828,7 @@ def create_trial( *, parent: str = None, trial: study.Trial = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -908,7 +910,7 @@ def get_trial( request: Union[vizier_service.GetTrialRequest, 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]] = (), ) -> study.Trial: @@ -982,7 +984,7 @@ def list_trials( request: Union[vizier_service.ListTrialsRequest, 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.ListTrialsPager: @@ -1062,7 +1064,7 @@ def add_trial_measurement( self, request: Union[vizier_service.AddTrialMeasurementRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -1119,7 +1121,7 @@ def complete_trial( self, request: Union[vizier_service.CompleteTrialRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -1173,7 +1175,7 @@ def delete_trial( request: Union[vizier_service.DeleteTrialRequest, 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]] = (), ) -> None: @@ -1236,7 +1238,7 @@ def check_trial_early_stopping_state( self, request: Union[vizier_service.CheckTrialEarlyStoppingStateRequest, 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: @@ -1305,7 +1307,7 @@ def stop_trial( self, request: Union[vizier_service.StopTrialRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> study.Trial: @@ -1359,7 +1361,7 @@ def list_optimal_trials( request: Union[vizier_service.ListOptimalTrialsRequest, 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]] = (), ) -> vizier_service.ListOptimalTrialsResponse: diff --git a/google/cloud/aiplatform_v1beta1/services/vizier_service/transports/base.py b/google/cloud/aiplatform_v1beta1/services/vizier_service/transports/base.py index 5976f24113..03b79e6643 100644 --- a/google/cloud/aiplatform_v1beta1/services/vizier_service/transports/base.py +++ b/google/cloud/aiplatform_v1beta1/services/vizier_service/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 @@ -42,15 +41,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 VizierServiceTransport(abc.ABC): """Abstract transport class for VizierService.""" @@ -100,7 +90,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 @@ -133,29 +123,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 = { @@ -220,7 +187,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/aiplatform_v1beta1/services/vizier_service/transports/grpc.py b/google/cloud/aiplatform_v1beta1/services/vizier_service/transports/grpc.py index 848f5dfef0..d8a4a3ec89 100644 --- a/google/cloud/aiplatform_v1beta1/services/vizier_service/transports/grpc.py +++ b/google/cloud/aiplatform_v1beta1/services/vizier_service/transports/grpc.py @@ -118,7 +118,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/aiplatform_v1beta1/services/vizier_service/transports/grpc_asyncio.py b/google/cloud/aiplatform_v1beta1/services/vizier_service/transports/grpc_asyncio.py index 9e3ce5986a..012c6339fd 100644 --- a/google/cloud/aiplatform_v1beta1/services/vizier_service/transports/grpc_asyncio.py +++ b/google/cloud/aiplatform_v1beta1/services/vizier_service/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 @@ -165,7 +164,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/aiplatform_v1beta1/types/batch_prediction_job.py b/google/cloud/aiplatform_v1beta1/types/batch_prediction_job.py index 4fbb04c5ab..0353c524b3 100644 --- a/google/cloud/aiplatform_v1beta1/types/batch_prediction_job.py +++ b/google/cloud/aiplatform_v1beta1/types/batch_prediction_job.py @@ -196,10 +196,18 @@ class InputConfig(proto.Message): for Model's supported input formats, and how instances should be expressed via any of them. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_source (google.cloud.aiplatform_v1beta1.types.GcsSource): The Cloud Storage location for the input instances. + This field is a member of `oneof`_ ``source``. bigquery_source (google.cloud.aiplatform_v1beta1.types.BigQuerySource): The BigQuery location of the input table. The schema of the table should be in the format @@ -207,6 +215,7 @@ class InputConfig(proto.Message): if one is provided. The table may contain additional columns that are not described by the schema, and they will be ignored. + This field is a member of `oneof`_ ``source``. instances_format (str): Required. The format in which instances are given, must be one of the @@ -230,6 +239,13 @@ class OutputConfig(proto.Message): for supported output formats, and how predictions are expressed via any of them. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_destination (google.cloud.aiplatform_v1beta1.types.GcsDestination): The Cloud Storage location of the directory where the output @@ -258,6 +274,7 @@ class OutputConfig(proto.Message): per their schema, followed by an additional ``error`` field which as value has [google.rpc.Status][google.rpc.Status] containing only ``code`` and ``message`` fields. + This field is a member of `oneof`_ ``destination``. bigquery_destination (google.cloud.aiplatform_v1beta1.types.BigQueryDestination): The BigQuery project or dataset location where the output is to be written to. If project is provided, a new dataset is @@ -280,6 +297,7 @@ class OutputConfig(proto.Message): followed by a single "errors" column, which as values has [google.rpc.Status][google.rpc.Status] represented as a STRUCT, and containing only ``code`` and ``message``. + This field is a member of `oneof`_ ``destination``. predictions_format (str): Required. The format in which Vertex AI gives the predictions, must be one of the @@ -302,15 +320,24 @@ class OutputInfo(proto.Message): r"""Further describes this job's output. Supplements [output_config][google.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config]. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_output_directory (str): Output only. The full path of the Cloud Storage directory created, into which the prediction output is written. + This field is a member of `oneof`_ ``output_location``. bigquery_output_dataset (str): Output only. The path of the BigQuery dataset created, in ``bq://projectId.bqDatasetId`` format, into which the prediction output is written. + This field is a member of `oneof`_ ``output_location``. bigquery_output_table (str): Output only. The name of the BigQuery table created, in ``predictions_`` format, into which the diff --git a/google/cloud/aiplatform_v1beta1/types/custom_job.py b/google/cloud/aiplatform_v1beta1/types/custom_job.py index 358e0050d9..71c5dc6efa 100644 --- a/google/cloud/aiplatform_v1beta1/types/custom_job.py +++ b/google/cloud/aiplatform_v1beta1/types/custom_job.py @@ -214,11 +214,20 @@ class CustomJobSpec(proto.Message): class WorkerPoolSpec(proto.Message): r"""Represents the spec of a worker pool in a job. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: container_spec (google.cloud.aiplatform_v1beta1.types.ContainerSpec): The custom container task. + This field is a member of `oneof`_ ``task``. python_package_spec (google.cloud.aiplatform_v1beta1.types.PythonPackageSpec): The Python packaged task. + This field is a member of `oneof`_ ``task``. machine_spec (google.cloud.aiplatform_v1beta1.types.MachineSpec): Optional. Immutable. The specification of a single machine. diff --git a/google/cloud/aiplatform_v1beta1/types/data_labeling_job.py b/google/cloud/aiplatform_v1beta1/types/data_labeling_job.py index 1e541afe71..d89f792325 100644 --- a/google/cloud/aiplatform_v1beta1/types/data_labeling_job.py +++ b/google/cloud/aiplatform_v1beta1/types/data_labeling_job.py @@ -169,12 +169,21 @@ class ActiveLearningConfig(proto.Message): iterations. For every iteration, it will select a batch of data based on the sampling strategy. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: max_data_item_count (int): Max number of human labeled DataItems. + This field is a member of `oneof`_ ``human_labeling_budget``. max_data_item_percentage (int): Max percent of total DataItems for human labeling. + This field is a member of `oneof`_ ``human_labeling_budget``. sample_config (google.cloud.aiplatform_v1beta1.types.SampleConfig): Active learning data sampling config. For every active learning labeling iteration, it @@ -203,14 +212,19 @@ class SampleConfig(proto.Message): learning labeling iteration, it will select a batch of data based on the sampling strategy. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: initial_batch_sample_percentage (int): The percentage of data needed to be labeled in the first batch. + This field is a member of `oneof`_ ``initial_batch_sample_size``. following_batch_sample_percentage (int): The percentage of data needed to be labeled in each following batch (except the first batch). + This field is a member of `oneof`_ ``following_batch_sample_size``. sample_strategy (google.cloud.aiplatform_v1beta1.types.SampleConfig.SampleStrategy): Field to choose sampling strategy. Sampling strategy will decide which data should be diff --git a/google/cloud/aiplatform_v1beta1/types/dataset.py b/google/cloud/aiplatform_v1beta1/types/dataset.py index 9462bbb548..420cca48aa 100644 --- a/google/cloud/aiplatform_v1beta1/types/dataset.py +++ b/google/cloud/aiplatform_v1beta1/types/dataset.py @@ -106,10 +106,14 @@ class ImportDataConfig(proto.Message): Dataset, together with the labels that will be applied to the DataItems and the Annotations. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_source (google.cloud.aiplatform_v1beta1.types.GcsSource): The Google Cloud Storage location for the input content. + This field is a member of `oneof`_ ``source``. data_item_labels (Sequence[google.cloud.aiplatform_v1beta1.types.ImportDataConfig.DataItemLabelsEntry]): Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists @@ -144,6 +148,9 @@ class ExportDataConfig(proto.Message): r"""Describes what part of the Dataset is to be exported, the destination of the export and how to export. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs_destination (google.cloud.aiplatform_v1beta1.types.GcsDestination): The Google Cloud Storage location where the output is to be @@ -157,6 +164,7 @@ class ExportDataConfig(proto.Message): with the corresponding annotations' schema title. Inside these sub directories, a schema.yaml will be created to describe the output format. + This field is a member of `oneof`_ ``destination``. annotations_filter (str): A filter on Annotations of the Dataset. Only Annotations on to-be-exported DataItems(specified by [data_items_filter][]) diff --git a/google/cloud/aiplatform_v1beta1/types/endpoint.py b/google/cloud/aiplatform_v1beta1/types/endpoint.py index 1067b935e6..9026518f84 100644 --- a/google/cloud/aiplatform_v1beta1/types/endpoint.py +++ b/google/cloud/aiplatform_v1beta1/types/endpoint.py @@ -125,15 +125,24 @@ class DeployedModel(proto.Message): r"""A deployment of a Model. Endpoints contain one or more DeployedModels. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: dedicated_resources (google.cloud.aiplatform_v1beta1.types.DedicatedResources): A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration. + This field is a member of `oneof`_ ``prediction_resources``. automatic_resources (google.cloud.aiplatform_v1beta1.types.AutomaticResources): A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + This field is a member of `oneof`_ ``prediction_resources``. id (str): Output only. The ID of the DeployedModel. model (str): diff --git a/google/cloud/aiplatform_v1beta1/types/explanation.py b/google/cloud/aiplatform_v1beta1/types/explanation.py index a686babee1..95ce01508e 100644 --- a/google/cloud/aiplatform_v1beta1/types/explanation.py +++ b/google/cloud/aiplatform_v1beta1/types/explanation.py @@ -262,6 +262,13 @@ class ExplanationSpec(proto.Message): class ExplanationParameters(proto.Message): r"""Parameters to configure explaining for Model's predictions. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: sampled_shapley_attribution (google.cloud.aiplatform_v1beta1.types.SampledShapleyAttribution): An attribution method that approximates @@ -271,12 +278,14 @@ class ExplanationParameters(proto.Message): considering all subsets of features. Refer to this paper for model details: https://arxiv.org/abs/1306.4265. + This field is a member of `oneof`_ ``method``. integrated_gradients_attribution (google.cloud.aiplatform_v1beta1.types.IntegratedGradientsAttribution): An attribution method that computes Aumann- hapley values taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365 + This field is a member of `oneof`_ ``method``. xrai_attribution (google.cloud.aiplatform_v1beta1.types.XraiAttribution): An attribution method that redistributes Integrated Gradients attribution to segmented @@ -291,9 +300,11 @@ class ExplanationParameters(proto.Message): or from diagnostic equipment, like x-rays or quality-control cameras, use Integrated Gradients instead. + This field is a member of `oneof`_ ``method``. similarity (google.cloud.aiplatform_v1beta1.types.Similarity): Similarity explainability that returns the nearest neighbors from the provided dataset. + This field is a member of `oneof`_ ``method``. top_k (int): If populated, returns attributions for top K indices of outputs (defaults to 1). Only applies @@ -423,6 +434,13 @@ class SmoothGradConfig(proto.Message): this paper for more details: https://arxiv.org/pdf/1706.03825.pdf + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: noise_sigma (float): This is a single float value and will be used to add noise @@ -440,6 +458,7 @@ class SmoothGradConfig(proto.Message): If the distribution is different per feature, set [feature_noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.feature_noise_sigma] instead for each feature. + This field is a member of `oneof`_ ``GradientNoiseSigma``. feature_noise_sigma (google.cloud.aiplatform_v1beta1.types.FeatureNoiseSigma): This is similar to [noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma], @@ -449,6 +468,7 @@ class SmoothGradConfig(proto.Message): that are not set. If this field is unset, [noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma] will be used for all features. + This field is a member of `oneof`_ ``GradientNoiseSigma``. noisy_sample_count (int): The number of gradient samples to use for approximation. The higher this number, the more accurate the gradient is, but diff --git a/google/cloud/aiplatform_v1beta1/types/explanation_metadata.py b/google/cloud/aiplatform_v1beta1/types/explanation_metadata.py index 2327ad2bcb..78acb0029e 100644 --- a/google/cloud/aiplatform_v1beta1/types/explanation_metadata.py +++ b/google/cloud/aiplatform_v1beta1/types/explanation_metadata.py @@ -332,6 +332,13 @@ class OverlayType(proto.Enum): class OutputMetadata(proto.Message): r"""Metadata of the prediction output to be explained. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: index_display_name_mapping (google.protobuf.struct_pb2.Value): Static mapping between the index and display name. @@ -349,6 +356,7 @@ class OutputMetadata(proto.Message): [Attribution.output_display_name][google.cloud.aiplatform.v1beta1.Attribution.output_display_name] is populated by locating in the mapping with [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index]. + This field is a member of `oneof`_ ``display_name_mapping``. display_name_mapping_key (str): Specify a field name in the prediction to look for the display name. @@ -360,6 +368,7 @@ class OutputMetadata(proto.Message): of the outputs, so that it can be located by [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index] for a specific output. + This field is a member of `oneof`_ ``display_name_mapping``. output_tensor_name (str): Name of the output tensor. Required and is only applicable to Vertex AI provided images for diff --git a/google/cloud/aiplatform_v1beta1/types/featurestore_online_service.py b/google/cloud/aiplatform_v1beta1/types/featurestore_online_service.py index 9b0735e1b6..3e4ed77015 100644 --- a/google/cloud/aiplatform_v1beta1/types/featurestore_online_service.py +++ b/google/cloud/aiplatform_v1beta1/types/featurestore_online_service.py @@ -128,15 +128,24 @@ class Data(proto.Message): r"""Container to hold value(s), successive in time, for one Feature from the request. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: value (google.cloud.aiplatform_v1beta1.types.FeatureValue): Feature value if a single value is requested. + This field is a member of `oneof`_ ``data``. values (google.cloud.aiplatform_v1beta1.types.FeatureValueList): Feature values list if values, successive in time, are requested. If the requested number of values is greater than the number of existing Feature values, nonexistent values are omitted instead of being returned as empty. + This field is a member of `oneof`_ ``data``. """ value = proto.Field( @@ -190,25 +199,41 @@ class FeatureValue(proto.Message): r"""Value for a feature. NEXT ID: 15 + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: bool_value (bool): Bool type feature value. + This field is a member of `oneof`_ ``value``. double_value (float): Double type feature value. + This field is a member of `oneof`_ ``value``. int64_value (int): Int64 feature value. + This field is a member of `oneof`_ ``value``. string_value (str): String feature value. + This field is a member of `oneof`_ ``value``. bool_array_value (google.cloud.aiplatform_v1beta1.types.BoolArray): A list of bool type feature value. + This field is a member of `oneof`_ ``value``. double_array_value (google.cloud.aiplatform_v1beta1.types.DoubleArray): A list of double type feature value. + This field is a member of `oneof`_ ``value``. int64_array_value (google.cloud.aiplatform_v1beta1.types.Int64Array): A list of int64 type feature value. + This field is a member of `oneof`_ ``value``. string_array_value (google.cloud.aiplatform_v1beta1.types.StringArray): A list of string type feature value. + This field is a member of `oneof`_ ``value``. bytes_value (bytes): Bytes feature value. + This field is a member of `oneof`_ ``value``. metadata (google.cloud.aiplatform_v1beta1.types.FeatureValue.Metadata): Metadata of feature value. """ diff --git a/google/cloud/aiplatform_v1beta1/types/featurestore_service.py b/google/cloud/aiplatform_v1beta1/types/featurestore_service.py index 7c99dfed71..43a6a4df44 100644 --- a/google/cloud/aiplatform_v1beta1/types/featurestore_service.py +++ b/google/cloud/aiplatform_v1beta1/types/featurestore_service.py @@ -259,20 +259,32 @@ class ImportFeatureValuesRequest(proto.Message): r"""Request message for [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues]. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: avro_source (google.cloud.aiplatform_v1beta1.types.AvroSource): + This field is a member of `oneof`_ ``source``. bigquery_source (google.cloud.aiplatform_v1beta1.types.BigQuerySource): + This field is a member of `oneof`_ ``source``. csv_source (google.cloud.aiplatform_v1beta1.types.CsvSource): + This field is a member of `oneof`_ ``source``. feature_time_field (str): Source column that holds the Feature timestamp for all Feature values in each entity. + This field is a member of `oneof`_ ``feature_time_source``. feature_time (google.protobuf.timestamp_pb2.Timestamp): Single Feature timestamp for all entities being imported. The timestamp must not have higher than millisecond precision. + This field is a member of `oneof`_ ``feature_time_source``. entity_type (str): Required. The resource name of the EntityType grouping the Features for which values are being imported. Format: @@ -374,6 +386,13 @@ class BatchReadFeatureValuesRequest(proto.Message): r"""Request message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues]. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: csv_read_instances (google.cloud.aiplatform_v1beta1.types.CsvSource): Each read instance consists of exactly one read timestamp @@ -399,8 +418,10 @@ class BatchReadFeatureValuesRequest(proto.Message): Values in the timestamp column must use the RFC 3339 format, e.g. ``2012-07-30T10:43:17.123Z``. + This field is a member of `oneof`_ ``read_option``. bigquery_read_instances (google.cloud.aiplatform_v1beta1.types.BigQuerySource): Similar to csv_read_instances, but from BigQuery source. + This field is a member of `oneof`_ ``read_option``. featurestore (str): Required. The resource name of the Featurestore from which to query Feature values. Format: @@ -484,10 +505,14 @@ class ExportFeatureValuesRequest(proto.Message): r"""Request message for [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues]. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: snapshot_export (google.cloud.aiplatform_v1beta1.types.ExportFeatureValuesRequest.SnapshotExport): Exports Feature values of all entities of the EntityType as of a snapshot time. + This field is a member of `oneof`_ ``mode``. entity_type (str): Required. The resource name of the EntityType from which to export Feature values. Format: @@ -553,6 +578,13 @@ class DestinationFeatureSetting(proto.Message): class FeatureValueDestination(proto.Message): r"""A destination location for Feature values and format. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: bigquery_destination (google.cloud.aiplatform_v1beta1.types.BigQueryDestination): Output in BigQuery format. @@ -560,6 +592,7 @@ class FeatureValueDestination(proto.Message): in [FeatureValueDestination.bigquery_destination][google.cloud.aiplatform.v1beta1.FeatureValueDestination.bigquery_destination] must refer to a table. + This field is a member of `oneof`_ ``destination``. tfrecord_destination (google.cloud.aiplatform_v1beta1.types.TFRecordDestination): Output in TFRecord format. @@ -574,9 +607,11 @@ class FeatureValueDestination(proto.Message): STRING, STRING_ARRAY, BYTES | BYTES_LIST true -> byte_string("true"), false -> byte_string("false") BOOL, BOOL_ARRAY (true, false) | BYTES_LIST + This field is a member of `oneof`_ ``destination``. csv_destination (google.cloud.aiplatform_v1beta1.types.CsvDestination): Output in CSV format. Array Feature value types are not allowed in CSV format. + This field is a member of `oneof`_ ``destination``. """ bigquery_destination = proto.Field( diff --git a/google/cloud/aiplatform_v1beta1/types/migratable_resource.py b/google/cloud/aiplatform_v1beta1/types/migratable_resource.py index a624589b1f..df9b7fb826 100644 --- a/google/cloud/aiplatform_v1beta1/types/migratable_resource.py +++ b/google/cloud/aiplatform_v1beta1/types/migratable_resource.py @@ -27,19 +27,30 @@ class MigratableResource(proto.Message): r"""Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: ml_engine_model_version (google.cloud.aiplatform_v1beta1.types.MigratableResource.MlEngineModelVersion): Output only. Represents one Version in ml.googleapis.com. + This field is a member of `oneof`_ ``resource``. automl_model (google.cloud.aiplatform_v1beta1.types.MigratableResource.AutomlModel): Output only. Represents one Model in automl.googleapis.com. + This field is a member of `oneof`_ ``resource``. automl_dataset (google.cloud.aiplatform_v1beta1.types.MigratableResource.AutomlDataset): Output only. Represents one Dataset in automl.googleapis.com. + This field is a member of `oneof`_ ``resource``. data_labeling_dataset (google.cloud.aiplatform_v1beta1.types.MigratableResource.DataLabelingDataset): Output only. Represents one Dataset in datalabeling.googleapis.com. + This field is a member of `oneof`_ ``resource``. last_migrate_time (google.protobuf.timestamp_pb2.Timestamp): Output only. Timestamp when the last migration attempt on this MigratableResource diff --git a/google/cloud/aiplatform_v1beta1/types/migration_service.py b/google/cloud/aiplatform_v1beta1/types/migration_service.py index 62c33b4bd2..2a9bedc759 100644 --- a/google/cloud/aiplatform_v1beta1/types/migration_service.py +++ b/google/cloud/aiplatform_v1beta1/types/migration_service.py @@ -130,20 +130,31 @@ class MigrateResourceRequest(proto.Message): r"""Config of migrating one resource from automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com to Vertex AI. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: migrate_ml_engine_model_version_config (google.cloud.aiplatform_v1beta1.types.MigrateResourceRequest.MigrateMlEngineModelVersionConfig): Config for migrating Version in ml.googleapis.com to Vertex AI's Model. + This field is a member of `oneof`_ ``request``. migrate_automl_model_config (google.cloud.aiplatform_v1beta1.types.MigrateResourceRequest.MigrateAutomlModelConfig): Config for migrating Model in automl.googleapis.com to Vertex AI's Model. + This field is a member of `oneof`_ ``request``. migrate_automl_dataset_config (google.cloud.aiplatform_v1beta1.types.MigrateResourceRequest.MigrateAutomlDatasetConfig): Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset. + This field is a member of `oneof`_ ``request``. migrate_data_labeling_dataset_config (google.cloud.aiplatform_v1beta1.types.MigrateResourceRequest.MigrateDataLabelingDatasetConfig): Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset. + This field is a member of `oneof`_ ``request``. """ class MigrateMlEngineModelVersionConfig(proto.Message): @@ -288,11 +299,20 @@ class BatchMigrateResourcesResponse(proto.Message): class MigrateResourceResponse(proto.Message): r"""Describes a successfully migrated resource. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: dataset (str): Migrated Dataset's resource name. + This field is a member of `oneof`_ ``migrated_resource``. model (str): Migrated Model's resource name. + This field is a member of `oneof`_ ``migrated_resource``. migratable_resource (google.cloud.aiplatform_v1beta1.types.MigratableResource): Before migration, the identifier in ml.googleapis.com, automl.googleapis.com or @@ -322,14 +342,24 @@ class PartialResult(proto.Message): r"""Represents a partial result in batch migration operation for one [MigrateResourceRequest][google.cloud.aiplatform.v1beta1.MigrateResourceRequest]. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: error (google.rpc.status_pb2.Status): The error result of the migration request in case of failure. + This field is a member of `oneof`_ ``result``. model (str): Migrated model resource name. + This field is a member of `oneof`_ ``result``. dataset (str): Migrated dataset resource name. + This field is a member of `oneof`_ ``result``. request (google.cloud.aiplatform_v1beta1.types.MigrateResourceRequest): It's the same as the value in [MigrateResourceRequest.migrate_resource_requests][]. diff --git a/google/cloud/aiplatform_v1beta1/types/model_monitoring.py b/google/cloud/aiplatform_v1beta1/types/model_monitoring.py index 5ca222aa15..ccf00adf01 100644 --- a/google/cloud/aiplatform_v1beta1/types/model_monitoring.py +++ b/google/cloud/aiplatform_v1beta1/types/model_monitoring.py @@ -51,16 +51,26 @@ class ModelMonitoringObjectiveConfig(proto.Message): class TrainingDataset(proto.Message): r"""Training Dataset information. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: dataset (str): The resource name of the Dataset used to train this Model. + This field is a member of `oneof`_ ``data_source``. gcs_source (google.cloud.aiplatform_v1beta1.types.GcsSource): The Google Cloud Storage uri of the unmanaged Dataset used to train this Model. + This field is a member of `oneof`_ ``data_source``. bigquery_source (google.cloud.aiplatform_v1beta1.types.BigQuerySource): The BigQuery table of the unmanaged Dataset used to train this Model. + This field is a member of `oneof`_ ``data_source``. data_format (str): Data format of the dataset, only applicable if the input is from Google Cloud Storage. @@ -168,12 +178,21 @@ class ExplanationBaseline(proto.Message): for Model Monitoring baseline dataset, which can be used to generate baseline attribution scores. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: gcs (google.cloud.aiplatform_v1beta1.types.GcsDestination): Cloud Storage location for BatchExplain output. + This field is a member of `oneof`_ ``destination``. bigquery (google.cloud.aiplatform_v1beta1.types.BigQueryDestination): BigQuery location for BatchExplain output. + This field is a member of `oneof`_ ``destination``. prediction_format (google.cloud.aiplatform_v1beta1.types.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.PredictionFormat): The storage format of the predictions generated BatchPrediction job. @@ -224,9 +243,12 @@ class PredictionFormat(proto.Enum): class ModelMonitoringAlertConfig(proto.Message): r"""Next ID: 2 + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: email_alert_config (google.cloud.aiplatform_v1beta1.types.ModelMonitoringAlertConfig.EmailAlertConfig): Email alert config. + This field is a member of `oneof`_ ``alert``. """ class EmailAlertConfig(proto.Message): @@ -248,6 +270,9 @@ class ThresholdConfig(proto.Message): r"""The config for feature monitoring threshold. Next ID: 3 + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: value (float): Specify a threshold value that can trigger @@ -261,6 +286,7 @@ class ThresholdConfig(proto.Message): Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature. + This field is a member of `oneof`_ ``threshold``. """ value = proto.Field(proto.DOUBLE, number=1, oneof="threshold",) diff --git a/google/cloud/aiplatform_v1beta1/types/pipeline_job.py b/google/cloud/aiplatform_v1beta1/types/pipeline_job.py index c1fd4c1634..13388ef271 100644 --- a/google/cloud/aiplatform_v1beta1/types/pipeline_job.py +++ b/google/cloud/aiplatform_v1beta1/types/pipeline_job.py @@ -116,6 +116,7 @@ class RuntimeConfig(proto.Message): Attributes: parameters (Sequence[google.cloud.aiplatform_v1beta1.types.PipelineJob.RuntimeConfig.ParametersEntry]): + Deprecated. Use [RuntimeConfig.parameter_values] instead. The runtime parameters of the PipelineJob. The parameters will be passed into [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec] @@ -129,12 +130,20 @@ class RuntimeConfig(proto.Message): specified output directory. The service account specified in this pipeline must have the ``storage.objects.get`` and ``storage.objects.create`` permissions for this bucket. + parameter_values (Sequence[google.cloud.aiplatform_v1beta1.types.PipelineJob.RuntimeConfig.ParameterValuesEntry]): + The runtime parameters of the PipelineJob. The parameters + will be passed into + [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec] + to replace the placeholders at runtime. """ parameters = proto.MapField( proto.STRING, proto.MESSAGE, number=1, message=gca_value.Value, ) gcs_output_directory = proto.Field(proto.STRING, number=2,) + parameter_values = proto.MapField( + proto.STRING, proto.MESSAGE, number=3, message=struct_pb2.Value, + ) name = proto.Field(proto.STRING, number=1,) display_name = proto.Field(proto.STRING, number=2,) @@ -296,13 +305,22 @@ class ArtifactList(proto.Message): class PipelineTaskExecutorDetail(proto.Message): r"""The runtime detail of a pipeline executor. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: container_detail (google.cloud.aiplatform_v1beta1.types.PipelineTaskExecutorDetail.ContainerDetail): Output only. The detailed info for a container executor. + This field is a member of `oneof`_ ``details``. custom_job_detail (google.cloud.aiplatform_v1beta1.types.PipelineTaskExecutorDetail.CustomJobDetail): Output only. The detailed info for a custom job executor. + This field is a member of `oneof`_ ``details``. """ class ContainerDetail(proto.Message): diff --git a/google/cloud/aiplatform_v1beta1/types/study.py b/google/cloud/aiplatform_v1beta1/types/study.py index 49fe3a39c0..f847b9bbad 100644 --- a/google/cloud/aiplatform_v1beta1/types/study.py +++ b/google/cloud/aiplatform_v1beta1/types/study.py @@ -176,17 +176,27 @@ class Parameter(proto.Message): class StudySpec(proto.Message): r"""Represents specification of a Study. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: decay_curve_stopping_spec (google.cloud.aiplatform_v1beta1.types.StudySpec.DecayCurveAutomatedStoppingSpec): The automated early stopping spec using decay curve rule. + This field is a member of `oneof`_ ``automated_stopping_spec``. median_automated_stopping_spec (google.cloud.aiplatform_v1beta1.types.StudySpec.MedianAutomatedStoppingSpec): The automated early stopping spec using median rule. + This field is a member of `oneof`_ ``automated_stopping_spec``. convex_stop_config (google.cloud.aiplatform_v1beta1.types.StudySpec.ConvexStopConfig): Deprecated. The automated early stopping using convex stopping rule. + This field is a member of `oneof`_ ``automated_stopping_spec``. metrics (Sequence[google.cloud.aiplatform_v1beta1.types.StudySpec.MetricSpec]): Required. Metric specs for the Study. parameters (Sequence[google.cloud.aiplatform_v1beta1.types.StudySpec.ParameterSpec]): @@ -261,15 +271,26 @@ class GoalType(proto.Enum): class ParameterSpec(proto.Message): r"""Represents a single parameter to optimize. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: double_value_spec (google.cloud.aiplatform_v1beta1.types.StudySpec.ParameterSpec.DoubleValueSpec): The value spec for a 'DOUBLE' parameter. + This field is a member of `oneof`_ ``parameter_value_spec``. integer_value_spec (google.cloud.aiplatform_v1beta1.types.StudySpec.ParameterSpec.IntegerValueSpec): The value spec for an 'INTEGER' parameter. + This field is a member of `oneof`_ ``parameter_value_spec``. categorical_value_spec (google.cloud.aiplatform_v1beta1.types.StudySpec.ParameterSpec.CategoricalValueSpec): The value spec for a 'CATEGORICAL' parameter. + This field is a member of `oneof`_ ``parameter_value_spec``. discrete_value_spec (google.cloud.aiplatform_v1beta1.types.StudySpec.ParameterSpec.DiscreteValueSpec): The value spec for a 'DISCRETE' parameter. + This field is a member of `oneof`_ ``parameter_value_spec``. parameter_id (str): Required. The ID of the parameter. Must not contain whitespaces and must be unique amongst @@ -309,6 +330,7 @@ class DoubleValueSpec(proto.Message): Currently only supported by the Vizier service. Not supported by HyperparamterTuningJob or TrainingPipeline. + This field is a member of `oneof`_ ``_default_value``. """ min_value = proto.Field(proto.DOUBLE, number=1,) @@ -332,6 +354,7 @@ class IntegerValueSpec(proto.Message): Currently only supported by the Vizier service. Not supported by HyperparamterTuningJob or TrainingPipeline. + This field is a member of `oneof`_ ``_default_value``. """ min_value = proto.Field(proto.INT64, number=1,) @@ -351,6 +374,7 @@ class CategoricalValueSpec(proto.Message): Currently only supported by the Vizier service. Not supported by HyperparamterTuningJob or TrainingPipeline. + This field is a member of `oneof`_ ``_default_value``. """ values = proto.RepeatedField(proto.STRING, number=1,) @@ -375,6 +399,7 @@ class DiscreteValueSpec(proto.Message): Currently only supported by the Vizier service. Not supported by HyperparamterTuningJob or TrainingPipeline. + This field is a member of `oneof`_ ``_default_value``. """ values = proto.RepeatedField(proto.DOUBLE, number=1,) @@ -384,16 +409,26 @@ class ConditionalParameterSpec(proto.Message): r"""Represents a parameter spec with condition from its parent parameter. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: parent_discrete_values (google.cloud.aiplatform_v1beta1.types.StudySpec.ParameterSpec.ConditionalParameterSpec.DiscreteValueCondition): The spec for matching values from a parent parameter of ``DISCRETE`` type. + This field is a member of `oneof`_ ``parent_value_condition``. parent_int_values (google.cloud.aiplatform_v1beta1.types.StudySpec.ParameterSpec.ConditionalParameterSpec.IntValueCondition): The spec for matching values from a parent parameter of ``INTEGER`` type. + This field is a member of `oneof`_ ``parent_value_condition``. parent_categorical_values (google.cloud.aiplatform_v1beta1.types.StudySpec.ParameterSpec.ConditionalParameterSpec.CategoricalValueCondition): The spec for matching values from a parent parameter of ``CATEGORICAL`` type. + This field is a member of `oneof`_ ``parent_value_condition``. parameter_spec (google.cloud.aiplatform_v1beta1.types.StudySpec.ParameterSpec): Required. The spec for a conditional parameter. diff --git a/google/cloud/aiplatform_v1beta1/types/tensorboard_data.py b/google/cloud/aiplatform_v1beta1/types/tensorboard_data.py index 4c12499d87..5612c7534d 100644 --- a/google/cloud/aiplatform_v1beta1/types/tensorboard_data.py +++ b/google/cloud/aiplatform_v1beta1/types/tensorboard_data.py @@ -63,13 +63,23 @@ class TimeSeriesData(proto.Message): class TimeSeriesDataPoint(proto.Message): r"""A TensorboardTimeSeries data point. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: scalar (google.cloud.aiplatform_v1beta1.types.Scalar): A scalar value. + This field is a member of `oneof`_ ``value``. tensor (google.cloud.aiplatform_v1beta1.types.TensorboardTensor): A tensor value. + This field is a member of `oneof`_ ``value``. blobs (google.cloud.aiplatform_v1beta1.types.TensorboardBlobSequence): A blob sequence value. + This field is a member of `oneof`_ ``value``. wall_time (google.protobuf.timestamp_pb2.Timestamp): Wall clock timestamp when this data point is generated by the end user. diff --git a/google/cloud/aiplatform_v1beta1/types/training_pipeline.py b/google/cloud/aiplatform_v1beta1/types/training_pipeline.py index e01ed8a882..fca59156cb 100644 --- a/google/cloud/aiplatform_v1beta1/types/training_pipeline.py +++ b/google/cloud/aiplatform_v1beta1/types/training_pipeline.py @@ -179,20 +179,31 @@ class InputDataConfig(proto.Message): r"""Specifies Vertex AI owned input data to be used for training, and possibly evaluating, the Model. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: fraction_split (google.cloud.aiplatform_v1beta1.types.FractionSplit): Split based on fractions defining the size of each set. + This field is a member of `oneof`_ ``split``. filter_split (google.cloud.aiplatform_v1beta1.types.FilterSplit): Split based on the provided filters for each set. + This field is a member of `oneof`_ ``split``. predefined_split (google.cloud.aiplatform_v1beta1.types.PredefinedSplit): Supported only for tabular Datasets. Split based on a predefined key. + This field is a member of `oneof`_ ``split``. timestamp_split (google.cloud.aiplatform_v1beta1.types.TimestampSplit): Supported only for tabular Datasets. Split based on the timestamp of the input data pieces. + This field is a member of `oneof`_ ``split``. gcs_destination (google.cloud.aiplatform_v1beta1.types.GcsDestination): The Cloud Storage location where the training data is to be written to. In the given directory a new directory is @@ -218,6 +229,7 @@ class InputDataConfig(proto.Message): - AIP_TEST_DATA_URI = "gcs_destination/dataset---/test-*.${AIP_DATA_FORMAT}". + This field is a member of `oneof`_ ``destination``. bigquery_destination (google.cloud.aiplatform_v1beta1.types.BigQueryDestination): Only applicable to custom training with tabular Dataset with BigQuery source. @@ -241,6 +253,7 @@ class InputDataConfig(proto.Message): - AIP_TEST_DATA_URI = "bigquery_destination.dataset\_\ **\ .test". + This field is a member of `oneof`_ ``destination``. dataset_id (str): Required. The ID of the Dataset in the same Project and Location which data will be used to train the Model. The diff --git a/google/cloud/aiplatform_v1beta1/types/user_action_reference.py b/google/cloud/aiplatform_v1beta1/types/user_action_reference.py index a67f6bb2a0..078c3d735d 100644 --- a/google/cloud/aiplatform_v1beta1/types/user_action_reference.py +++ b/google/cloud/aiplatform_v1beta1/types/user_action_reference.py @@ -26,16 +26,25 @@ class UserActionReference(proto.Message): long running operation and Jobs that are triggered by the API call. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: operation (str): For API calls that return a long running operation. Resource name of the long running operation. Format: 'projects/{project}/locations/{location}/operations/{operation}' + This field is a member of `oneof`_ ``reference``. data_labeling_job (str): For API calls that start a LabelingJob. Resource name of the LabelingJob. Format: 'projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}' + This field is a member of `oneof`_ ``reference``. method (str): The method name of the API RPC call. For example, diff --git a/google/cloud/aiplatform_v1beta1/types/value.py b/google/cloud/aiplatform_v1beta1/types/value.py index bc7200e636..244c914f98 100644 --- a/google/cloud/aiplatform_v1beta1/types/value.py +++ b/google/cloud/aiplatform_v1beta1/types/value.py @@ -24,13 +24,23 @@ class Value(proto.Message): r"""Value is the value of the field. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: int_value (int): An integer value. + This field is a member of `oneof`_ ``value``. double_value (float): A double value. + This field is a member of `oneof`_ ``value``. string_value (str): A string value. + This field is a member of `oneof`_ ``value``. """ int_value = proto.Field(proto.INT64, number=1, oneof="value",) diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_dataset_service_import_data_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_dataset_service_import_data_async.py index 03e6202339..431cc0d136 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_dataset_service_import_data_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_dataset_service_import_data_async.py @@ -35,7 +35,7 @@ async def sample_import_data(): # Initialize request argument(s) import_configs = aiplatform_v1.ImportDataConfig() - import_configs.gcs_source.uris = ['uris_value'] + import_configs.gcs_source.uris = ['uris_value_1', 'uris_value_2'] import_configs.import_schema_uri = "import_schema_uri_value" request = aiplatform_v1.ImportDataRequest( diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_dataset_service_import_data_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_dataset_service_import_data_sync.py index cc522d9b25..e0da542ed2 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_dataset_service_import_data_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_dataset_service_import_data_sync.py @@ -35,7 +35,7 @@ def sample_import_data(): # Initialize request argument(s) import_configs = aiplatform_v1.ImportDataConfig() - import_configs.gcs_source.uris = ['uris_value'] + import_configs.gcs_source.uris = ['uris_value_1', 'uris_value_2'] import_configs.import_schema_uri = "import_schema_uri_value" request = aiplatform_v1.ImportDataRequest( diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_read_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_read_feature_values_async.py index 7285586ef9..510fcaec23 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_read_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_read_feature_values_async.py @@ -35,7 +35,7 @@ async def sample_read_feature_values(): # Initialize request argument(s) feature_selector = aiplatform_v1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1.ReadFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_read_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_read_feature_values_sync.py index 9c02608ab4..bb24e98032 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_read_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_read_feature_values_sync.py @@ -35,7 +35,7 @@ def sample_read_feature_values(): # Initialize request argument(s) feature_selector = aiplatform_v1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1.ReadFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_streaming_read_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_streaming_read_feature_values_async.py index 49923a3089..e39f5fcfab 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_streaming_read_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_streaming_read_feature_values_async.py @@ -35,11 +35,11 @@ async def sample_streaming_read_feature_values(): # Initialize request argument(s) feature_selector = aiplatform_v1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1.StreamingReadFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", - entity_ids=['entity_ids_value'], + entity_ids=['entity_ids_value_1', 'entity_ids_value_2'], feature_selector=feature_selector, ) diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_streaming_read_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_streaming_read_feature_values_sync.py index b42e97cc41..de945266ae 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_streaming_read_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_online_serving_service_streaming_read_feature_values_sync.py @@ -35,11 +35,11 @@ def sample_streaming_read_feature_values(): # Initialize request argument(s) feature_selector = aiplatform_v1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1.StreamingReadFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", - entity_ids=['entity_ids_value'], + entity_ids=['entity_ids_value_1', 'entity_ids_value_2'], feature_selector=feature_selector, ) diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_batch_read_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_batch_read_feature_values_async.py index 196c539a80..8534b3c72c 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_batch_read_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_batch_read_feature_values_async.py @@ -35,14 +35,14 @@ async def sample_batch_read_feature_values(): # Initialize request argument(s) csv_read_instances = aiplatform_v1.CsvSource() - csv_read_instances.gcs_source.uris = ['uris_value'] + csv_read_instances.gcs_source.uris = ['uris_value_1', 'uris_value_2'] destination = aiplatform_v1.FeatureValueDestination() destination.bigquery_destination.output_uri = "output_uri_value" entity_type_specs = aiplatform_v1.EntityTypeSpec() entity_type_specs.entity_type_id = "entity_type_id_value" - entity_type_specs.feature_selector.id_matcher.ids = ['ids_value'] + entity_type_specs.feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1.BatchReadFeatureValuesRequest( csv_read_instances=csv_read_instances, diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_batch_read_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_batch_read_feature_values_sync.py index fdf813f6f7..884bd584ac 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_batch_read_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_batch_read_feature_values_sync.py @@ -35,14 +35,14 @@ def sample_batch_read_feature_values(): # Initialize request argument(s) csv_read_instances = aiplatform_v1.CsvSource() - csv_read_instances.gcs_source.uris = ['uris_value'] + csv_read_instances.gcs_source.uris = ['uris_value_1', 'uris_value_2'] destination = aiplatform_v1.FeatureValueDestination() destination.bigquery_destination.output_uri = "output_uri_value" entity_type_specs = aiplatform_v1.EntityTypeSpec() entity_type_specs.entity_type_id = "entity_type_id_value" - entity_type_specs.feature_selector.id_matcher.ids = ['ids_value'] + entity_type_specs.feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1.BatchReadFeatureValuesRequest( csv_read_instances=csv_read_instances, diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_export_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_export_feature_values_async.py index 6f0b3f52a6..d6c06e1d81 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_export_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_export_feature_values_async.py @@ -38,7 +38,7 @@ async def sample_export_feature_values(): destination.bigquery_destination.output_uri = "output_uri_value" feature_selector = aiplatform_v1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1.ExportFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_export_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_export_feature_values_sync.py index a8f2c0939a..264716b3ea 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_export_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_export_feature_values_sync.py @@ -38,7 +38,7 @@ def sample_export_feature_values(): destination.bigquery_destination.output_uri = "output_uri_value" feature_selector = aiplatform_v1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1.ExportFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_import_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_import_feature_values_async.py index c6075b6d46..afe611290f 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_import_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_import_feature_values_async.py @@ -35,7 +35,7 @@ async def sample_import_feature_values(): # Initialize request argument(s) avro_source = aiplatform_v1.AvroSource() - avro_source.gcs_source.uris = ['uris_value'] + avro_source.gcs_source.uris = ['uris_value_1', 'uris_value_2'] feature_specs = aiplatform_v1.FeatureSpec() feature_specs.id = "id_value" diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_import_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_import_feature_values_sync.py index abc48ab139..216b14f4bb 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_import_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_featurestore_service_import_feature_values_sync.py @@ -35,7 +35,7 @@ def sample_import_feature_values(): # Initialize request argument(s) avro_source = aiplatform_v1.AvroSource() - avro_source.gcs_source.uris = ['uris_value'] + avro_source.gcs_source.uris = ['uris_value_1', 'uris_value_2'] feature_specs = aiplatform_v1.FeatureSpec() feature_specs.id = "id_value" diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_job_service_create_batch_prediction_job_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_job_service_create_batch_prediction_job_async.py index 1f5ee3aaef..e3e51ef9b2 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_job_service_create_batch_prediction_job_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_job_service_create_batch_prediction_job_async.py @@ -37,7 +37,7 @@ async def sample_create_batch_prediction_job(): batch_prediction_job = aiplatform_v1.BatchPredictionJob() batch_prediction_job.display_name = "display_name_value" batch_prediction_job.model = "projects/{project}/locations/{location}/models/{model}" - batch_prediction_job.input_config.gcs_source.uris = ['uris_value'] + batch_prediction_job.input_config.gcs_source.uris = ['uris_value_1', 'uris_value_2'] batch_prediction_job.input_config.instances_format = "instances_format_value" batch_prediction_job.output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" batch_prediction_job.output_config.predictions_format = "predictions_format_value" diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1_job_service_create_batch_prediction_job_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1_job_service_create_batch_prediction_job_sync.py index 306eadcda2..77da5aed70 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1_job_service_create_batch_prediction_job_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1_job_service_create_batch_prediction_job_sync.py @@ -37,7 +37,7 @@ def sample_create_batch_prediction_job(): batch_prediction_job = aiplatform_v1.BatchPredictionJob() batch_prediction_job.display_name = "display_name_value" batch_prediction_job.model = "projects/{project}/locations/{location}/models/{model}" - batch_prediction_job.input_config.gcs_source.uris = ['uris_value'] + batch_prediction_job.input_config.gcs_source.uris = ['uris_value_1', 'uris_value_2'] batch_prediction_job.input_config.instances_format = "instances_format_value" batch_prediction_job.output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" batch_prediction_job.output_config.predictions_format = "predictions_format_value" diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_dataset_service_import_data_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_dataset_service_import_data_async.py index 6c83ca5835..61955a8ceb 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_dataset_service_import_data_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_dataset_service_import_data_async.py @@ -35,7 +35,7 @@ async def sample_import_data(): # Initialize request argument(s) import_configs = aiplatform_v1beta1.ImportDataConfig() - import_configs.gcs_source.uris = ['uris_value'] + import_configs.gcs_source.uris = ['uris_value_1', 'uris_value_2'] import_configs.import_schema_uri = "import_schema_uri_value" request = aiplatform_v1beta1.ImportDataRequest( diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_dataset_service_import_data_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_dataset_service_import_data_sync.py index f695268c6d..c25c1ba4a1 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_dataset_service_import_data_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_dataset_service_import_data_sync.py @@ -35,7 +35,7 @@ def sample_import_data(): # Initialize request argument(s) import_configs = aiplatform_v1beta1.ImportDataConfig() - import_configs.gcs_source.uris = ['uris_value'] + import_configs.gcs_source.uris = ['uris_value_1', 'uris_value_2'] import_configs.import_schema_uri = "import_schema_uri_value" request = aiplatform_v1beta1.ImportDataRequest( diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_read_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_read_feature_values_async.py index d7f772653f..c9e27df53c 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_read_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_read_feature_values_async.py @@ -35,7 +35,7 @@ async def sample_read_feature_values(): # Initialize request argument(s) feature_selector = aiplatform_v1beta1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1beta1.ReadFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_read_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_read_feature_values_sync.py index e8e2cb4cc4..0bd04feacd 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_read_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_read_feature_values_sync.py @@ -35,7 +35,7 @@ def sample_read_feature_values(): # Initialize request argument(s) feature_selector = aiplatform_v1beta1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1beta1.ReadFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_streaming_read_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_streaming_read_feature_values_async.py index 51a39ec7dd..00bc9590d4 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_streaming_read_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_streaming_read_feature_values_async.py @@ -35,11 +35,11 @@ async def sample_streaming_read_feature_values(): # Initialize request argument(s) feature_selector = aiplatform_v1beta1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1beta1.StreamingReadFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", - entity_ids=['entity_ids_value'], + entity_ids=['entity_ids_value_1', 'entity_ids_value_2'], feature_selector=feature_selector, ) diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_streaming_read_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_streaming_read_feature_values_sync.py index c29780d16c..4017328f36 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_streaming_read_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_online_serving_service_streaming_read_feature_values_sync.py @@ -35,11 +35,11 @@ def sample_streaming_read_feature_values(): # Initialize request argument(s) feature_selector = aiplatform_v1beta1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1beta1.StreamingReadFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", - entity_ids=['entity_ids_value'], + entity_ids=['entity_ids_value_1', 'entity_ids_value_2'], feature_selector=feature_selector, ) diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_batch_read_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_batch_read_feature_values_async.py index 36a5f026c6..1e4684cf99 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_batch_read_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_batch_read_feature_values_async.py @@ -35,14 +35,14 @@ async def sample_batch_read_feature_values(): # Initialize request argument(s) csv_read_instances = aiplatform_v1beta1.CsvSource() - csv_read_instances.gcs_source.uris = ['uris_value'] + csv_read_instances.gcs_source.uris = ['uris_value_1', 'uris_value_2'] destination = aiplatform_v1beta1.FeatureValueDestination() destination.bigquery_destination.output_uri = "output_uri_value" entity_type_specs = aiplatform_v1beta1.EntityTypeSpec() entity_type_specs.entity_type_id = "entity_type_id_value" - entity_type_specs.feature_selector.id_matcher.ids = ['ids_value'] + entity_type_specs.feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1beta1.BatchReadFeatureValuesRequest( csv_read_instances=csv_read_instances, diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_batch_read_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_batch_read_feature_values_sync.py index f582b6120f..0eee36ff37 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_batch_read_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_batch_read_feature_values_sync.py @@ -35,14 +35,14 @@ def sample_batch_read_feature_values(): # Initialize request argument(s) csv_read_instances = aiplatform_v1beta1.CsvSource() - csv_read_instances.gcs_source.uris = ['uris_value'] + csv_read_instances.gcs_source.uris = ['uris_value_1', 'uris_value_2'] destination = aiplatform_v1beta1.FeatureValueDestination() destination.bigquery_destination.output_uri = "output_uri_value" entity_type_specs = aiplatform_v1beta1.EntityTypeSpec() entity_type_specs.entity_type_id = "entity_type_id_value" - entity_type_specs.feature_selector.id_matcher.ids = ['ids_value'] + entity_type_specs.feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1beta1.BatchReadFeatureValuesRequest( csv_read_instances=csv_read_instances, diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_export_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_export_feature_values_async.py index 2d8137f594..f63676879c 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_export_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_export_feature_values_async.py @@ -38,7 +38,7 @@ async def sample_export_feature_values(): destination.bigquery_destination.output_uri = "output_uri_value" feature_selector = aiplatform_v1beta1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1beta1.ExportFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_export_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_export_feature_values_sync.py index 7d67806ac6..6194b81033 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_export_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_export_feature_values_sync.py @@ -38,7 +38,7 @@ def sample_export_feature_values(): destination.bigquery_destination.output_uri = "output_uri_value" feature_selector = aiplatform_v1beta1.FeatureSelector() - feature_selector.id_matcher.ids = ['ids_value'] + feature_selector.id_matcher.ids = ['ids_value_1', 'ids_value_2'] request = aiplatform_v1beta1.ExportFeatureValuesRequest( entity_type="projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}", diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_import_feature_values_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_import_feature_values_async.py index 738e490fec..3fa72e136b 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_import_feature_values_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_import_feature_values_async.py @@ -35,7 +35,7 @@ async def sample_import_feature_values(): # Initialize request argument(s) avro_source = aiplatform_v1beta1.AvroSource() - avro_source.gcs_source.uris = ['uris_value'] + avro_source.gcs_source.uris = ['uris_value_1', 'uris_value_2'] feature_specs = aiplatform_v1beta1.FeatureSpec() feature_specs.id = "id_value" diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_import_feature_values_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_import_feature_values_sync.py index e5054d65a8..8cd440ea5a 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_import_feature_values_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_featurestore_service_import_feature_values_sync.py @@ -35,7 +35,7 @@ def sample_import_feature_values(): # Initialize request argument(s) avro_source = aiplatform_v1beta1.AvroSource() - avro_source.gcs_source.uris = ['uris_value'] + avro_source.gcs_source.uris = ['uris_value_1', 'uris_value_2'] feature_specs = aiplatform_v1beta1.FeatureSpec() feature_specs.id = "id_value" diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_job_service_create_batch_prediction_job_async.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_job_service_create_batch_prediction_job_async.py index 0b1ffa34b8..3040a23c4d 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_job_service_create_batch_prediction_job_async.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_job_service_create_batch_prediction_job_async.py @@ -37,7 +37,7 @@ async def sample_create_batch_prediction_job(): batch_prediction_job = aiplatform_v1beta1.BatchPredictionJob() batch_prediction_job.display_name = "display_name_value" batch_prediction_job.model = "projects/{project}/locations/{location}/models/{model}" - batch_prediction_job.input_config.gcs_source.uris = ['uris_value'] + batch_prediction_job.input_config.gcs_source.uris = ['uris_value_1', 'uris_value_2'] batch_prediction_job.input_config.instances_format = "instances_format_value" batch_prediction_job.output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" batch_prediction_job.output_config.predictions_format = "predictions_format_value" diff --git a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_job_service_create_batch_prediction_job_sync.py b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_job_service_create_batch_prediction_job_sync.py index 7f7b978a57..d6822bdcfa 100644 --- a/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_job_service_create_batch_prediction_job_sync.py +++ b/samples/generated_samples/aiplatform_generated_aiplatform_v1beta1_job_service_create_batch_prediction_job_sync.py @@ -37,7 +37,7 @@ def sample_create_batch_prediction_job(): batch_prediction_job = aiplatform_v1beta1.BatchPredictionJob() batch_prediction_job.display_name = "display_name_value" batch_prediction_job.model = "projects/{project}/locations/{location}/models/{model}" - batch_prediction_job.input_config.gcs_source.uris = ['uris_value'] + batch_prediction_job.input_config.gcs_source.uris = ['uris_value_1', 'uris_value_2'] batch_prediction_job.input_config.instances_format = "instances_format_value" batch_prediction_job.output_config.gcs_destination.output_uri_prefix = "output_uri_prefix_value" batch_prediction_job.output_config.predictions_format = "predictions_format_value" diff --git a/tests/unit/gapic/aiplatform_v1/test_dataset_service.py b/tests/unit/gapic/aiplatform_v1/test_dataset_service.py index 06a6f56cbb..5d1554bc7d 100644 --- a/tests/unit/gapic/aiplatform_v1/test_dataset_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_dataset_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,9 +40,6 @@ from google.cloud.aiplatform_v1.services.dataset_service import DatasetServiceClient from google.cloud.aiplatform_v1.services.dataset_service import pagers from google.cloud.aiplatform_v1.services.dataset_service import transports -from google.cloud.aiplatform_v1.services.dataset_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import annotation from google.cloud.aiplatform_v1.types import annotation_spec from google.cloud.aiplatform_v1.types import data_item @@ -61,20 +57,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" @@ -231,7 +213,7 @@ def test_dataset_service_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, @@ -248,7 +230,7 @@ def test_dataset_service_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, @@ -265,7 +247,7 @@ def test_dataset_service_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, @@ -294,7 +276,7 @@ def test_dataset_service_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, @@ -353,7 +335,7 @@ def test_dataset_service_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 @@ -395,7 +377,7 @@ def test_dataset_service_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, @@ -417,7 +399,7 @@ def test_dataset_service_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, @@ -448,7 +430,7 @@ def test_dataset_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -479,7 +461,7 @@ def test_dataset_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -3212,7 +3194,6 @@ def test_dataset_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_dataset_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3233,26 +3214,6 @@ def test_dataset_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_dataset_service_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.aiplatform_v1.services.dataset_service.transports.DatasetServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.DatasetServiceTransport( - 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_dataset_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -3264,7 +3225,6 @@ def test_dataset_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_dataset_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3277,18 +3237,6 @@ def test_dataset_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_dataset_service_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) - DatasetServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3296,7 +3244,6 @@ def test_dataset_service_auth_adc_old_google_auth(): transports.DatasetServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_dataset_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3310,26 +3257,6 @@ def test_dataset_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.DatasetServiceGrpcTransport, - transports.DatasetServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_dataset_service_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/aiplatform_v1/test_endpoint_service.py b/tests/unit/gapic/aiplatform_v1/test_endpoint_service.py index 7fc6412c42..63647cdeb5 100644 --- a/tests/unit/gapic/aiplatform_v1/test_endpoint_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_endpoint_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,9 +40,6 @@ from google.cloud.aiplatform_v1.services.endpoint_service import EndpointServiceClient from google.cloud.aiplatform_v1.services.endpoint_service import pagers from google.cloud.aiplatform_v1.services.endpoint_service import transports -from google.cloud.aiplatform_v1.services.endpoint_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import accelerator_type from google.cloud.aiplatform_v1.types import encryption_spec from google.cloud.aiplatform_v1.types import endpoint @@ -61,20 +57,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" @@ -231,7 +213,7 @@ def test_endpoint_service_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, @@ -248,7 +230,7 @@ def test_endpoint_service_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, @@ -265,7 +247,7 @@ def test_endpoint_service_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, @@ -294,7 +276,7 @@ def test_endpoint_service_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, @@ -363,7 +345,7 @@ def test_endpoint_service_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 @@ -405,7 +387,7 @@ def test_endpoint_service_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, @@ -427,7 +409,7 @@ def test_endpoint_service_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, @@ -458,7 +440,7 @@ def test_endpoint_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -489,7 +471,7 @@ def test_endpoint_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -2354,7 +2336,6 @@ def test_endpoint_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_endpoint_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2375,26 +2356,6 @@ def test_endpoint_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_endpoint_service_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.aiplatform_v1.services.endpoint_service.transports.EndpointServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.EndpointServiceTransport( - 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_endpoint_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -2406,7 +2367,6 @@ def test_endpoint_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_endpoint_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2419,18 +2379,6 @@ def test_endpoint_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_endpoint_service_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) - EndpointServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -2438,7 +2386,6 @@ def test_endpoint_service_auth_adc_old_google_auth(): transports.EndpointServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_endpoint_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2452,26 +2399,6 @@ def test_endpoint_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.EndpointServiceGrpcTransport, - transports.EndpointServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_endpoint_service_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/aiplatform_v1/test_featurestore_online_serving_service.py b/tests/unit/gapic/aiplatform_v1/test_featurestore_online_serving_service.py index dc531ddc98..b1f3730641 100644 --- a/tests/unit/gapic/aiplatform_v1/test_featurestore_online_serving_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_featurestore_online_serving_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,29 +40,12 @@ from google.cloud.aiplatform_v1.services.featurestore_online_serving_service import ( transports, ) -from google.cloud.aiplatform_v1.services.featurestore_online_serving_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import feature_selector from google.cloud.aiplatform_v1.types import featurestore_online_service from google.oauth2 import service_account 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" @@ -252,7 +234,7 @@ def test_featurestore_online_serving_service_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, @@ -269,7 +251,7 @@ def test_featurestore_online_serving_service_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, @@ -286,7 +268,7 @@ def test_featurestore_online_serving_service_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, @@ -315,7 +297,7 @@ def test_featurestore_online_serving_service_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, @@ -384,7 +366,7 @@ def test_featurestore_online_serving_service_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 @@ -426,7 +408,7 @@ def test_featurestore_online_serving_service_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, @@ -448,7 +430,7 @@ def test_featurestore_online_serving_service_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, @@ -483,7 +465,7 @@ def test_featurestore_online_serving_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -518,7 +500,7 @@ def test_featurestore_online_serving_service_client_client_options_credentials_f 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", @@ -1131,7 +1113,6 @@ def test_featurestore_online_serving_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_featurestore_online_serving_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -1152,26 +1133,6 @@ def test_featurestore_online_serving_service_base_transport_with_credentials_fil ) -@requires_google_auth_lt_1_25_0 -def test_featurestore_online_serving_service_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.aiplatform_v1.services.featurestore_online_serving_service.transports.FeaturestoreOnlineServingServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.FeaturestoreOnlineServingServiceTransport( - 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_featurestore_online_serving_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -1183,7 +1144,6 @@ def test_featurestore_online_serving_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_featurestore_online_serving_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -1196,18 +1156,6 @@ def test_featurestore_online_serving_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_featurestore_online_serving_service_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) - FeaturestoreOnlineServingServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -1215,7 +1163,6 @@ def test_featurestore_online_serving_service_auth_adc_old_google_auth(): transports.FeaturestoreOnlineServingServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_featurestore_online_serving_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -1229,28 +1176,6 @@ def test_featurestore_online_serving_service_transport_auth_adc(transport_class) ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.FeaturestoreOnlineServingServiceGrpcTransport, - transports.FeaturestoreOnlineServingServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_featurestore_online_serving_service_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/aiplatform_v1/test_featurestore_service.py b/tests/unit/gapic/aiplatform_v1/test_featurestore_service.py index bcc89f6636..2bb2805cce 100644 --- a/tests/unit/gapic/aiplatform_v1/test_featurestore_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_featurestore_service.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.aiplatform_v1.services.featurestore_service import pagers from google.cloud.aiplatform_v1.services.featurestore_service import transports -from google.cloud.aiplatform_v1.services.featurestore_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import encryption_spec from google.cloud.aiplatform_v1.types import entity_type from google.cloud.aiplatform_v1.types import entity_type as gca_entity_type @@ -64,20 +60,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" @@ -239,7 +221,7 @@ def test_featurestore_service_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, @@ -256,7 +238,7 @@ def test_featurestore_service_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, @@ -273,7 +255,7 @@ def test_featurestore_service_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, @@ -302,7 +284,7 @@ def test_featurestore_service_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, @@ -371,7 +353,7 @@ def test_featurestore_service_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 @@ -413,7 +395,7 @@ def test_featurestore_service_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, @@ -435,7 +417,7 @@ def test_featurestore_service_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, @@ -470,7 +452,7 @@ def test_featurestore_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -505,7 +487,7 @@ def test_featurestore_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -5802,7 +5784,6 @@ def test_featurestore_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_featurestore_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -5823,26 +5804,6 @@ def test_featurestore_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_featurestore_service_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.aiplatform_v1.services.featurestore_service.transports.FeaturestoreServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.FeaturestoreServiceTransport( - 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_featurestore_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -5854,7 +5815,6 @@ def test_featurestore_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_featurestore_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -5867,18 +5827,6 @@ def test_featurestore_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_featurestore_service_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) - FeaturestoreServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -5886,7 +5834,6 @@ def test_featurestore_service_auth_adc_old_google_auth(): transports.FeaturestoreServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_featurestore_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -5900,26 +5847,6 @@ def test_featurestore_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.FeaturestoreServiceGrpcTransport, - transports.FeaturestoreServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_featurestore_service_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/aiplatform_v1/test_index_endpoint_service.py b/tests/unit/gapic/aiplatform_v1/test_index_endpoint_service.py index 843ebe5bec..d777d6d3d0 100644 --- a/tests/unit/gapic/aiplatform_v1/test_index_endpoint_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_index_endpoint_service.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.aiplatform_v1.services.index_endpoint_service import pagers from google.cloud.aiplatform_v1.services.index_endpoint_service import transports -from google.cloud.aiplatform_v1.services.index_endpoint_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import index_endpoint from google.cloud.aiplatform_v1.types import index_endpoint as gca_index_endpoint from google.cloud.aiplatform_v1.types import index_endpoint_service @@ -58,20 +54,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" @@ -233,7 +215,7 @@ def test_index_endpoint_service_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, @@ -250,7 +232,7 @@ def test_index_endpoint_service_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, @@ -267,7 +249,7 @@ def test_index_endpoint_service_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, @@ -296,7 +278,7 @@ def test_index_endpoint_service_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, @@ -365,7 +347,7 @@ def test_index_endpoint_service_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 @@ -407,7 +389,7 @@ def test_index_endpoint_service_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, @@ -429,7 +411,7 @@ def test_index_endpoint_service_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, @@ -464,7 +446,7 @@ def test_index_endpoint_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -499,7 +481,7 @@ def test_index_endpoint_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -2473,7 +2455,6 @@ def test_index_endpoint_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_index_endpoint_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2494,26 +2475,6 @@ def test_index_endpoint_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_index_endpoint_service_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.aiplatform_v1.services.index_endpoint_service.transports.IndexEndpointServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.IndexEndpointServiceTransport( - 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_index_endpoint_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -2525,7 +2486,6 @@ def test_index_endpoint_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_index_endpoint_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2538,18 +2498,6 @@ def test_index_endpoint_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_index_endpoint_service_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) - IndexEndpointServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -2557,7 +2505,6 @@ def test_index_endpoint_service_auth_adc_old_google_auth(): transports.IndexEndpointServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_index_endpoint_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2571,26 +2518,6 @@ def test_index_endpoint_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.IndexEndpointServiceGrpcTransport, - transports.IndexEndpointServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_index_endpoint_service_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/aiplatform_v1/test_index_service.py b/tests/unit/gapic/aiplatform_v1/test_index_service.py index aec11d6ac3..3b5ac0574a 100644 --- a/tests/unit/gapic/aiplatform_v1/test_index_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_index_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -39,9 +38,6 @@ from google.cloud.aiplatform_v1.services.index_service import IndexServiceClient from google.cloud.aiplatform_v1.services.index_service import pagers from google.cloud.aiplatform_v1.services.index_service import transports -from google.cloud.aiplatform_v1.services.index_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import deployed_index_ref from google.cloud.aiplatform_v1.types import index from google.cloud.aiplatform_v1.types import index as gca_index @@ -55,20 +51,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" @@ -216,7 +198,7 @@ def test_index_service_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, @@ -233,7 +215,7 @@ def test_index_service_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, @@ -250,7 +232,7 @@ def test_index_service_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, @@ -279,7 +261,7 @@ def test_index_service_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, @@ -336,7 +318,7 @@ def test_index_service_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 @@ -378,7 +360,7 @@ def test_index_service_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, @@ -400,7 +382,7 @@ def test_index_service_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, @@ -431,7 +413,7 @@ def test_index_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -462,7 +444,7 @@ def test_index_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -1735,7 +1717,6 @@ def test_index_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_index_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -1756,26 +1737,6 @@ def test_index_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_index_service_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.aiplatform_v1.services.index_service.transports.IndexServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.IndexServiceTransport( - 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_index_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -1787,7 +1748,6 @@ def test_index_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_index_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -1800,18 +1760,6 @@ def test_index_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_index_service_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) - IndexServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -1819,7 +1767,6 @@ def test_index_service_auth_adc_old_google_auth(): transports.IndexServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_index_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -1833,26 +1780,6 @@ def test_index_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.IndexServiceGrpcTransport, - transports.IndexServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_index_service_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/aiplatform_v1/test_job_service.py b/tests/unit/gapic/aiplatform_v1/test_job_service.py index bde856ff67..01a43116bd 100644 --- a/tests/unit/gapic/aiplatform_v1/test_job_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_job_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -39,9 +38,6 @@ from google.cloud.aiplatform_v1.services.job_service import JobServiceClient from google.cloud.aiplatform_v1.services.job_service import pagers from google.cloud.aiplatform_v1.services.job_service import transports -from google.cloud.aiplatform_v1.services.job_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import accelerator_type from google.cloud.aiplatform_v1.types import batch_prediction_job from google.cloud.aiplatform_v1.types import ( @@ -84,20 +80,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" @@ -245,7 +227,7 @@ def test_job_service_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, @@ -262,7 +244,7 @@ def test_job_service_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, @@ -279,7 +261,7 @@ def test_job_service_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, @@ -308,7 +290,7 @@ def test_job_service_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, @@ -365,7 +347,7 @@ def test_job_service_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 @@ -407,7 +389,7 @@ def test_job_service_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, @@ -429,7 +411,7 @@ def test_job_service_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, @@ -460,7 +442,7 @@ def test_job_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -491,7 +473,7 @@ def test_job_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -8052,7 +8034,6 @@ def test_job_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_job_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -8073,26 +8054,6 @@ def test_job_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_job_service_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.aiplatform_v1.services.job_service.transports.JobServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.JobServiceTransport( - 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_job_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -8104,7 +8065,6 @@ def test_job_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_job_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -8117,23 +8077,10 @@ def test_job_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_job_service_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) - JobServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [transports.JobServiceGrpcTransport, transports.JobServiceGrpcAsyncIOTransport,], ) -@requires_google_auth_gte_1_25_0 def test_job_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -8147,23 +8094,6 @@ def test_job_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [transports.JobServiceGrpcTransport, transports.JobServiceGrpcAsyncIOTransport,], -) -@requires_google_auth_lt_1_25_0 -def test_job_service_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/aiplatform_v1/test_metadata_service.py b/tests/unit/gapic/aiplatform_v1/test_metadata_service.py index 5eed56f72b..1fecc7b130 100644 --- a/tests/unit/gapic/aiplatform_v1/test_metadata_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_metadata_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,9 +40,6 @@ from google.cloud.aiplatform_v1.services.metadata_service import MetadataServiceClient from google.cloud.aiplatform_v1.services.metadata_service import pagers from google.cloud.aiplatform_v1.services.metadata_service import transports -from google.cloud.aiplatform_v1.services.metadata_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import artifact from google.cloud.aiplatform_v1.types import artifact as gca_artifact from google.cloud.aiplatform_v1.types import context @@ -67,20 +63,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" @@ -237,7 +219,7 @@ def test_metadata_service_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, @@ -254,7 +236,7 @@ def test_metadata_service_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, @@ -271,7 +253,7 @@ def test_metadata_service_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, @@ -300,7 +282,7 @@ def test_metadata_service_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, @@ -369,7 +351,7 @@ def test_metadata_service_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 @@ -411,7 +393,7 @@ def test_metadata_service_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, @@ -433,7 +415,7 @@ def test_metadata_service_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, @@ -464,7 +446,7 @@ def test_metadata_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -495,7 +477,7 @@ def test_metadata_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -8403,7 +8385,6 @@ def test_metadata_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_metadata_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -8424,26 +8405,6 @@ def test_metadata_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_metadata_service_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.aiplatform_v1.services.metadata_service.transports.MetadataServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.MetadataServiceTransport( - 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_metadata_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -8455,7 +8416,6 @@ def test_metadata_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_metadata_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -8468,18 +8428,6 @@ def test_metadata_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_metadata_service_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) - MetadataServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -8487,7 +8435,6 @@ def test_metadata_service_auth_adc_old_google_auth(): transports.MetadataServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_metadata_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -8501,26 +8448,6 @@ def test_metadata_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.MetadataServiceGrpcTransport, - transports.MetadataServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_metadata_service_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/aiplatform_v1/test_migration_service.py b/tests/unit/gapic/aiplatform_v1/test_migration_service.py index d7c63fde4f..d77ed24b8e 100644 --- a/tests/unit/gapic/aiplatform_v1/test_migration_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_migration_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,9 +40,6 @@ from google.cloud.aiplatform_v1.services.migration_service import MigrationServiceClient from google.cloud.aiplatform_v1.services.migration_service import pagers from google.cloud.aiplatform_v1.services.migration_service import transports -from google.cloud.aiplatform_v1.services.migration_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import migratable_resource from google.cloud.aiplatform_v1.types import migration_service from google.longrunning import operations_pb2 @@ -51,20 +47,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" @@ -222,7 +204,7 @@ def test_migration_service_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, @@ -239,7 +221,7 @@ def test_migration_service_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, @@ -256,7 +238,7 @@ def test_migration_service_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, @@ -285,7 +267,7 @@ def test_migration_service_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, @@ -354,7 +336,7 @@ def test_migration_service_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 @@ -396,7 +378,7 @@ def test_migration_service_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, @@ -418,7 +400,7 @@ def test_migration_service_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, @@ -449,7 +431,7 @@ def test_migration_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -480,7 +462,7 @@ def test_migration_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -1289,7 +1271,6 @@ def test_migration_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_migration_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -1310,26 +1291,6 @@ def test_migration_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_migration_service_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.aiplatform_v1.services.migration_service.transports.MigrationServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.MigrationServiceTransport( - 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_migration_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -1341,7 +1302,6 @@ def test_migration_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_migration_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -1354,18 +1314,6 @@ def test_migration_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_migration_service_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) - MigrationServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -1373,7 +1321,6 @@ def test_migration_service_auth_adc_old_google_auth(): transports.MigrationServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_migration_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -1387,26 +1334,6 @@ def test_migration_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.MigrationServiceGrpcTransport, - transports.MigrationServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_migration_service_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/aiplatform_v1/test_model_service.py b/tests/unit/gapic/aiplatform_v1/test_model_service.py index 08823b2016..993626996f 100644 --- a/tests/unit/gapic/aiplatform_v1/test_model_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_model_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -39,9 +38,6 @@ from google.cloud.aiplatform_v1.services.model_service import ModelServiceClient from google.cloud.aiplatform_v1.services.model_service import pagers from google.cloud.aiplatform_v1.services.model_service import transports -from google.cloud.aiplatform_v1.services.model_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import deployed_model_ref from google.cloud.aiplatform_v1.types import encryption_spec from google.cloud.aiplatform_v1.types import env_var @@ -62,20 +58,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" @@ -223,7 +205,7 @@ def test_model_service_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, @@ -240,7 +222,7 @@ def test_model_service_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, @@ -257,7 +239,7 @@ def test_model_service_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, @@ -286,7 +268,7 @@ def test_model_service_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, @@ -343,7 +325,7 @@ def test_model_service_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 @@ -385,7 +367,7 @@ def test_model_service_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, @@ -407,7 +389,7 @@ def test_model_service_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, @@ -438,7 +420,7 @@ def test_model_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -469,7 +451,7 @@ def test_model_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -3288,7 +3270,6 @@ def test_model_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_model_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3309,26 +3290,6 @@ def test_model_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_model_service_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.aiplatform_v1.services.model_service.transports.ModelServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.ModelServiceTransport( - 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_model_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -3340,7 +3301,6 @@ def test_model_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_model_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3353,18 +3313,6 @@ def test_model_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_model_service_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) - ModelServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3372,7 +3320,6 @@ def test_model_service_auth_adc_old_google_auth(): transports.ModelServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_model_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3386,26 +3333,6 @@ def test_model_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.ModelServiceGrpcTransport, - transports.ModelServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_model_service_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/aiplatform_v1/test_pipeline_service.py b/tests/unit/gapic/aiplatform_v1/test_pipeline_service.py index 903730ceb1..85bb176bb9 100644 --- a/tests/unit/gapic/aiplatform_v1/test_pipeline_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_pipeline_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,9 +40,6 @@ from google.cloud.aiplatform_v1.services.pipeline_service import PipelineServiceClient from google.cloud.aiplatform_v1.services.pipeline_service import pagers from google.cloud.aiplatform_v1.services.pipeline_service import transports -from google.cloud.aiplatform_v1.services.pipeline_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import artifact from google.cloud.aiplatform_v1.types import context from google.cloud.aiplatform_v1.types import deployed_model_ref @@ -72,20 +68,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" @@ -242,7 +224,7 @@ def test_pipeline_service_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, @@ -259,7 +241,7 @@ def test_pipeline_service_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, @@ -276,7 +258,7 @@ def test_pipeline_service_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, @@ -305,7 +287,7 @@ def test_pipeline_service_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, @@ -374,7 +356,7 @@ def test_pipeline_service_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 @@ -416,7 +398,7 @@ def test_pipeline_service_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, @@ -438,7 +420,7 @@ def test_pipeline_service_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, @@ -469,7 +451,7 @@ def test_pipeline_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -500,7 +482,7 @@ def test_pipeline_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -3235,7 +3217,6 @@ def test_pipeline_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_pipeline_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3256,26 +3237,6 @@ def test_pipeline_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_pipeline_service_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.aiplatform_v1.services.pipeline_service.transports.PipelineServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.PipelineServiceTransport( - 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_pipeline_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -3287,7 +3248,6 @@ def test_pipeline_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_pipeline_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3300,18 +3260,6 @@ def test_pipeline_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_pipeline_service_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) - PipelineServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3319,7 +3267,6 @@ def test_pipeline_service_auth_adc_old_google_auth(): transports.PipelineServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_pipeline_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3333,26 +3280,6 @@ def test_pipeline_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.PipelineServiceGrpcTransport, - transports.PipelineServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_pipeline_service_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/aiplatform_v1/test_prediction_service.py b/tests/unit/gapic/aiplatform_v1/test_prediction_service.py index 5c2bb166c9..3aa6e11f0a 100644 --- a/tests/unit/gapic/aiplatform_v1/test_prediction_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_prediction_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -40,9 +39,6 @@ PredictionServiceClient, ) from google.cloud.aiplatform_v1.services.prediction_service import transports -from google.cloud.aiplatform_v1.services.prediction_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import explanation from google.cloud.aiplatform_v1.types import prediction_service from google.oauth2 import service_account @@ -51,20 +47,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" @@ -222,7 +204,7 @@ def test_prediction_service_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, @@ -239,7 +221,7 @@ def test_prediction_service_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, @@ -256,7 +238,7 @@ def test_prediction_service_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, @@ -285,7 +267,7 @@ def test_prediction_service_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, @@ -354,7 +336,7 @@ def test_prediction_service_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) if use_client_cert_env == "false": expected_client_cert_source = None @@ -396,7 +378,7 @@ def test_prediction_service_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, @@ -418,7 +400,7 @@ def test_prediction_service_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, @@ -449,7 +431,7 @@ def test_prediction_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -480,7 +462,7 @@ def test_prediction_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -1192,7 +1174,6 @@ def test_prediction_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_prediction_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -1213,26 +1194,6 @@ def test_prediction_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_prediction_service_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.aiplatform_v1.services.prediction_service.transports.PredictionServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.PredictionServiceTransport( - 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_prediction_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -1244,7 +1205,6 @@ def test_prediction_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_prediction_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -1257,18 +1217,6 @@ def test_prediction_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_prediction_service_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) - PredictionServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -1276,7 +1224,6 @@ def test_prediction_service_auth_adc_old_google_auth(): transports.PredictionServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_prediction_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -1290,26 +1237,6 @@ def test_prediction_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.PredictionServiceGrpcTransport, - transports.PredictionServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_prediction_service_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/aiplatform_v1/test_specialist_pool_service.py b/tests/unit/gapic/aiplatform_v1/test_specialist_pool_service.py index c61e72291a..5967720839 100644 --- a/tests/unit/gapic/aiplatform_v1/test_specialist_pool_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_specialist_pool_service.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.aiplatform_v1.services.specialist_pool_service import pagers from google.cloud.aiplatform_v1.services.specialist_pool_service import transports -from google.cloud.aiplatform_v1.services.specialist_pool_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import operation as gca_operation from google.cloud.aiplatform_v1.types import specialist_pool from google.cloud.aiplatform_v1.types import specialist_pool as gca_specialist_pool @@ -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" @@ -231,7 +213,7 @@ def test_specialist_pool_service_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, @@ -248,7 +230,7 @@ def test_specialist_pool_service_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, @@ -265,7 +247,7 @@ def test_specialist_pool_service_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, @@ -294,7 +276,7 @@ def test_specialist_pool_service_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, @@ -363,7 +345,7 @@ def test_specialist_pool_service_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 @@ -405,7 +387,7 @@ def test_specialist_pool_service_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, @@ -427,7 +409,7 @@ def test_specialist_pool_service_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, @@ -462,7 +444,7 @@ def test_specialist_pool_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -497,7 +479,7 @@ def test_specialist_pool_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -2006,7 +1988,6 @@ def test_specialist_pool_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_specialist_pool_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2027,26 +2008,6 @@ def test_specialist_pool_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_specialist_pool_service_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.aiplatform_v1.services.specialist_pool_service.transports.SpecialistPoolServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.SpecialistPoolServiceTransport( - 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_specialist_pool_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -2058,7 +2019,6 @@ def test_specialist_pool_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_specialist_pool_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2071,18 +2031,6 @@ def test_specialist_pool_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_specialist_pool_service_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) - SpecialistPoolServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -2090,7 +2038,6 @@ def test_specialist_pool_service_auth_adc_old_google_auth(): transports.SpecialistPoolServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_specialist_pool_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2104,26 +2051,6 @@ def test_specialist_pool_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.SpecialistPoolServiceGrpcTransport, - transports.SpecialistPoolServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_specialist_pool_service_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/aiplatform_v1/test_vizier_service.py b/tests/unit/gapic/aiplatform_v1/test_vizier_service.py index e7c5495b94..500aa9c046 100644 --- a/tests/unit/gapic/aiplatform_v1/test_vizier_service.py +++ b/tests/unit/gapic/aiplatform_v1/test_vizier_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -39,9 +38,6 @@ from google.cloud.aiplatform_v1.services.vizier_service import VizierServiceClient from google.cloud.aiplatform_v1.services.vizier_service import pagers from google.cloud.aiplatform_v1.services.vizier_service import transports -from google.cloud.aiplatform_v1.services.vizier_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1.types import study from google.cloud.aiplatform_v1.types import study as gca_study from google.cloud.aiplatform_v1.types import vizier_service @@ -53,20 +49,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" @@ -223,7 +205,7 @@ def test_vizier_service_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, @@ -240,7 +222,7 @@ def test_vizier_service_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, @@ -257,7 +239,7 @@ def test_vizier_service_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, @@ -286,7 +268,7 @@ def test_vizier_service_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, @@ -345,7 +327,7 @@ def test_vizier_service_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 @@ -387,7 +369,7 @@ def test_vizier_service_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, @@ -409,7 +391,7 @@ def test_vizier_service_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, @@ -440,7 +422,7 @@ def test_vizier_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -471,7 +453,7 @@ def test_vizier_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -3738,7 +3720,6 @@ def test_vizier_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_vizier_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3759,26 +3740,6 @@ def test_vizier_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_vizier_service_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.aiplatform_v1.services.vizier_service.transports.VizierServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.VizierServiceTransport( - 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_vizier_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -3790,7 +3751,6 @@ def test_vizier_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_vizier_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3803,18 +3763,6 @@ def test_vizier_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_vizier_service_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) - VizierServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3822,7 +3770,6 @@ def test_vizier_service_auth_adc_old_google_auth(): transports.VizierServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_vizier_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3836,26 +3783,6 @@ def test_vizier_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.VizierServiceGrpcTransport, - transports.VizierServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_vizier_service_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/aiplatform_v1beta1/test_dataset_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_dataset_service.py index 03e8c5eae4..267d6d2818 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_dataset_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_dataset_service.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.aiplatform_v1beta1.services.dataset_service import pagers from google.cloud.aiplatform_v1beta1.services.dataset_service import transports -from google.cloud.aiplatform_v1beta1.services.dataset_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import annotation from google.cloud.aiplatform_v1beta1.types import annotation_spec from google.cloud.aiplatform_v1beta1.types import data_item @@ -63,20 +59,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" @@ -233,7 +215,7 @@ def test_dataset_service_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, @@ -250,7 +232,7 @@ def test_dataset_service_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, @@ -267,7 +249,7 @@ def test_dataset_service_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, @@ -296,7 +278,7 @@ def test_dataset_service_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, @@ -355,7 +337,7 @@ def test_dataset_service_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 @@ -397,7 +379,7 @@ def test_dataset_service_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, @@ -419,7 +401,7 @@ def test_dataset_service_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, @@ -450,7 +432,7 @@ def test_dataset_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -481,7 +463,7 @@ def test_dataset_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -3214,7 +3196,6 @@ def test_dataset_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_dataset_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3235,26 +3216,6 @@ def test_dataset_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_dataset_service_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.aiplatform_v1beta1.services.dataset_service.transports.DatasetServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.DatasetServiceTransport( - 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_dataset_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -3266,7 +3227,6 @@ def test_dataset_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_dataset_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3279,18 +3239,6 @@ def test_dataset_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_dataset_service_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) - DatasetServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3298,7 +3246,6 @@ def test_dataset_service_auth_adc_old_google_auth(): transports.DatasetServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_dataset_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3312,26 +3259,6 @@ def test_dataset_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.DatasetServiceGrpcTransport, - transports.DatasetServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_dataset_service_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/aiplatform_v1beta1/test_endpoint_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_endpoint_service.py index 210e79a67f..f5bca45e98 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_endpoint_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_endpoint_service.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.aiplatform_v1beta1.services.endpoint_service import pagers from google.cloud.aiplatform_v1beta1.services.endpoint_service import transports -from google.cloud.aiplatform_v1beta1.services.endpoint_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import accelerator_type from google.cloud.aiplatform_v1beta1.types import encryption_spec from google.cloud.aiplatform_v1beta1.types import endpoint @@ -64,20 +60,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" @@ -234,7 +216,7 @@ def test_endpoint_service_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, @@ -251,7 +233,7 @@ def test_endpoint_service_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, @@ -268,7 +250,7 @@ def test_endpoint_service_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, @@ -297,7 +279,7 @@ def test_endpoint_service_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, @@ -366,7 +348,7 @@ def test_endpoint_service_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 @@ -408,7 +390,7 @@ def test_endpoint_service_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, @@ -430,7 +412,7 @@ def test_endpoint_service_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, @@ -461,7 +443,7 @@ def test_endpoint_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -492,7 +474,7 @@ def test_endpoint_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -2357,7 +2339,6 @@ def test_endpoint_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_endpoint_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2378,26 +2359,6 @@ def test_endpoint_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_endpoint_service_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.aiplatform_v1beta1.services.endpoint_service.transports.EndpointServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.EndpointServiceTransport( - 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_endpoint_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -2409,7 +2370,6 @@ def test_endpoint_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_endpoint_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2422,18 +2382,6 @@ def test_endpoint_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_endpoint_service_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) - EndpointServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -2441,7 +2389,6 @@ def test_endpoint_service_auth_adc_old_google_auth(): transports.EndpointServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_endpoint_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2455,26 +2402,6 @@ def test_endpoint_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.EndpointServiceGrpcTransport, - transports.EndpointServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_endpoint_service_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/aiplatform_v1beta1/test_featurestore_online_serving_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_featurestore_online_serving_service.py index df7a234625..7481c87398 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_featurestore_online_serving_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_featurestore_online_serving_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,29 +40,12 @@ from google.cloud.aiplatform_v1beta1.services.featurestore_online_serving_service import ( transports, ) -from google.cloud.aiplatform_v1beta1.services.featurestore_online_serving_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import feature_selector from google.cloud.aiplatform_v1beta1.types import featurestore_online_service from google.oauth2 import service_account 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" @@ -252,7 +234,7 @@ def test_featurestore_online_serving_service_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, @@ -269,7 +251,7 @@ def test_featurestore_online_serving_service_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, @@ -286,7 +268,7 @@ def test_featurestore_online_serving_service_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, @@ -315,7 +297,7 @@ def test_featurestore_online_serving_service_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, @@ -384,7 +366,7 @@ def test_featurestore_online_serving_service_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 @@ -426,7 +408,7 @@ def test_featurestore_online_serving_service_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, @@ -448,7 +430,7 @@ def test_featurestore_online_serving_service_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, @@ -483,7 +465,7 @@ def test_featurestore_online_serving_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -518,7 +500,7 @@ def test_featurestore_online_serving_service_client_client_options_credentials_f 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", @@ -1131,7 +1113,6 @@ def test_featurestore_online_serving_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_featurestore_online_serving_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -1152,26 +1133,6 @@ def test_featurestore_online_serving_service_base_transport_with_credentials_fil ) -@requires_google_auth_lt_1_25_0 -def test_featurestore_online_serving_service_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.aiplatform_v1beta1.services.featurestore_online_serving_service.transports.FeaturestoreOnlineServingServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.FeaturestoreOnlineServingServiceTransport( - 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_featurestore_online_serving_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -1183,7 +1144,6 @@ def test_featurestore_online_serving_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_featurestore_online_serving_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -1196,18 +1156,6 @@ def test_featurestore_online_serving_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_featurestore_online_serving_service_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) - FeaturestoreOnlineServingServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -1215,7 +1163,6 @@ def test_featurestore_online_serving_service_auth_adc_old_google_auth(): transports.FeaturestoreOnlineServingServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_featurestore_online_serving_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -1229,28 +1176,6 @@ def test_featurestore_online_serving_service_transport_auth_adc(transport_class) ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.FeaturestoreOnlineServingServiceGrpcTransport, - transports.FeaturestoreOnlineServingServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_featurestore_online_serving_service_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/aiplatform_v1beta1/test_featurestore_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_featurestore_service.py index e7d6fa97e6..99da020e74 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_featurestore_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_featurestore_service.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.aiplatform_v1beta1.services.featurestore_service import pagers from google.cloud.aiplatform_v1beta1.services.featurestore_service import transports -from google.cloud.aiplatform_v1beta1.services.featurestore_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import encryption_spec from google.cloud.aiplatform_v1beta1.types import entity_type from google.cloud.aiplatform_v1beta1.types import entity_type as gca_entity_type @@ -67,20 +63,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" @@ -242,7 +224,7 @@ def test_featurestore_service_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, @@ -259,7 +241,7 @@ def test_featurestore_service_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, @@ -276,7 +258,7 @@ def test_featurestore_service_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, @@ -305,7 +287,7 @@ def test_featurestore_service_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, @@ -374,7 +356,7 @@ def test_featurestore_service_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 @@ -416,7 +398,7 @@ def test_featurestore_service_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, @@ -438,7 +420,7 @@ def test_featurestore_service_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, @@ -473,7 +455,7 @@ def test_featurestore_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -508,7 +490,7 @@ def test_featurestore_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -5805,7 +5787,6 @@ def test_featurestore_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_featurestore_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -5826,26 +5807,6 @@ def test_featurestore_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_featurestore_service_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.aiplatform_v1beta1.services.featurestore_service.transports.FeaturestoreServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.FeaturestoreServiceTransport( - 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_featurestore_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -5857,7 +5818,6 @@ def test_featurestore_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_featurestore_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -5870,18 +5830,6 @@ def test_featurestore_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_featurestore_service_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) - FeaturestoreServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -5889,7 +5837,6 @@ def test_featurestore_service_auth_adc_old_google_auth(): transports.FeaturestoreServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_featurestore_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -5903,26 +5850,6 @@ def test_featurestore_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.FeaturestoreServiceGrpcTransport, - transports.FeaturestoreServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_featurestore_service_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/aiplatform_v1beta1/test_index_endpoint_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_index_endpoint_service.py index a352a55c85..00778abe49 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_index_endpoint_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_index_endpoint_service.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.aiplatform_v1beta1.services.index_endpoint_service import pagers from google.cloud.aiplatform_v1beta1.services.index_endpoint_service import transports -from google.cloud.aiplatform_v1beta1.services.index_endpoint_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import index_endpoint from google.cloud.aiplatform_v1beta1.types import index_endpoint as gca_index_endpoint from google.cloud.aiplatform_v1beta1.types import index_endpoint_service @@ -58,20 +54,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" @@ -233,7 +215,7 @@ def test_index_endpoint_service_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, @@ -250,7 +232,7 @@ def test_index_endpoint_service_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, @@ -267,7 +249,7 @@ def test_index_endpoint_service_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, @@ -296,7 +278,7 @@ def test_index_endpoint_service_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, @@ -365,7 +347,7 @@ def test_index_endpoint_service_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 @@ -407,7 +389,7 @@ def test_index_endpoint_service_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, @@ -429,7 +411,7 @@ def test_index_endpoint_service_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, @@ -464,7 +446,7 @@ def test_index_endpoint_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -499,7 +481,7 @@ def test_index_endpoint_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -2473,7 +2455,6 @@ def test_index_endpoint_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_index_endpoint_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2494,26 +2475,6 @@ def test_index_endpoint_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_index_endpoint_service_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.aiplatform_v1beta1.services.index_endpoint_service.transports.IndexEndpointServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.IndexEndpointServiceTransport( - 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_index_endpoint_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -2525,7 +2486,6 @@ def test_index_endpoint_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_index_endpoint_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2538,18 +2498,6 @@ def test_index_endpoint_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_index_endpoint_service_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) - IndexEndpointServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -2557,7 +2505,6 @@ def test_index_endpoint_service_auth_adc_old_google_auth(): transports.IndexEndpointServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_index_endpoint_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2571,26 +2518,6 @@ def test_index_endpoint_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.IndexEndpointServiceGrpcTransport, - transports.IndexEndpointServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_index_endpoint_service_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/aiplatform_v1beta1/test_index_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_index_service.py index 1c79ead9e4..58841ac68d 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_index_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_index_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,9 +40,6 @@ from google.cloud.aiplatform_v1beta1.services.index_service import IndexServiceClient from google.cloud.aiplatform_v1beta1.services.index_service import pagers from google.cloud.aiplatform_v1beta1.services.index_service import transports -from google.cloud.aiplatform_v1beta1.services.index_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import deployed_index_ref from google.cloud.aiplatform_v1beta1.types import index from google.cloud.aiplatform_v1beta1.types import index as gca_index @@ -57,20 +53,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" @@ -218,7 +200,7 @@ def test_index_service_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, @@ -235,7 +217,7 @@ def test_index_service_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, @@ -252,7 +234,7 @@ def test_index_service_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, @@ -281,7 +263,7 @@ def test_index_service_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, @@ -338,7 +320,7 @@ def test_index_service_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 @@ -380,7 +362,7 @@ def test_index_service_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, @@ -402,7 +384,7 @@ def test_index_service_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, @@ -433,7 +415,7 @@ def test_index_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -464,7 +446,7 @@ def test_index_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -1737,7 +1719,6 @@ def test_index_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_index_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -1758,26 +1739,6 @@ def test_index_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_index_service_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.aiplatform_v1beta1.services.index_service.transports.IndexServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.IndexServiceTransport( - 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_index_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -1789,7 +1750,6 @@ def test_index_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_index_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -1802,18 +1762,6 @@ def test_index_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_index_service_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) - IndexServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -1821,7 +1769,6 @@ def test_index_service_auth_adc_old_google_auth(): transports.IndexServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_index_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -1835,26 +1782,6 @@ def test_index_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.IndexServiceGrpcTransport, - transports.IndexServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_index_service_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/aiplatform_v1beta1/test_job_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_job_service.py index 93c5792e85..b97cd745ed 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_job_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_job_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -39,9 +38,6 @@ from google.cloud.aiplatform_v1beta1.services.job_service import JobServiceClient from google.cloud.aiplatform_v1beta1.services.job_service import pagers from google.cloud.aiplatform_v1beta1.services.job_service import transports -from google.cloud.aiplatform_v1beta1.services.job_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import accelerator_type from google.cloud.aiplatform_v1beta1.types import batch_prediction_job from google.cloud.aiplatform_v1beta1.types import ( @@ -85,20 +81,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" @@ -246,7 +228,7 @@ def test_job_service_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, @@ -263,7 +245,7 @@ def test_job_service_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, @@ -280,7 +262,7 @@ def test_job_service_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, @@ -309,7 +291,7 @@ def test_job_service_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, @@ -366,7 +348,7 @@ def test_job_service_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 @@ -408,7 +390,7 @@ def test_job_service_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, @@ -430,7 +412,7 @@ def test_job_service_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, @@ -461,7 +443,7 @@ def test_job_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -492,7 +474,7 @@ def test_job_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -8053,7 +8035,6 @@ def test_job_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_job_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -8074,26 +8055,6 @@ def test_job_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_job_service_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.aiplatform_v1beta1.services.job_service.transports.JobServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.JobServiceTransport( - 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_job_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -8105,7 +8066,6 @@ def test_job_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_job_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -8118,23 +8078,10 @@ def test_job_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_job_service_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) - JobServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [transports.JobServiceGrpcTransport, transports.JobServiceGrpcAsyncIOTransport,], ) -@requires_google_auth_gte_1_25_0 def test_job_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -8148,23 +8095,6 @@ def test_job_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [transports.JobServiceGrpcTransport, transports.JobServiceGrpcAsyncIOTransport,], -) -@requires_google_auth_lt_1_25_0 -def test_job_service_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/aiplatform_v1beta1/test_metadata_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_metadata_service.py index 08f8ed376e..9fd9f75d62 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_metadata_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_metadata_service.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.aiplatform_v1beta1.services.metadata_service import pagers from google.cloud.aiplatform_v1beta1.services.metadata_service import transports -from google.cloud.aiplatform_v1beta1.services.metadata_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import artifact from google.cloud.aiplatform_v1beta1.types import artifact as gca_artifact from google.cloud.aiplatform_v1beta1.types import context @@ -69,20 +65,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" @@ -239,7 +221,7 @@ def test_metadata_service_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, @@ -256,7 +238,7 @@ def test_metadata_service_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, @@ -273,7 +255,7 @@ def test_metadata_service_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, @@ -302,7 +284,7 @@ def test_metadata_service_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, @@ -371,7 +353,7 @@ def test_metadata_service_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 @@ -413,7 +395,7 @@ def test_metadata_service_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, @@ -435,7 +417,7 @@ def test_metadata_service_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, @@ -466,7 +448,7 @@ def test_metadata_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -497,7 +479,7 @@ def test_metadata_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -8405,7 +8387,6 @@ def test_metadata_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_metadata_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -8426,26 +8407,6 @@ def test_metadata_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_metadata_service_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.aiplatform_v1beta1.services.metadata_service.transports.MetadataServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.MetadataServiceTransport( - 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_metadata_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -8457,7 +8418,6 @@ def test_metadata_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_metadata_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -8470,18 +8430,6 @@ def test_metadata_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_metadata_service_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) - MetadataServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -8489,7 +8437,6 @@ def test_metadata_service_auth_adc_old_google_auth(): transports.MetadataServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_metadata_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -8503,26 +8450,6 @@ def test_metadata_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.MetadataServiceGrpcTransport, - transports.MetadataServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_metadata_service_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/aiplatform_v1beta1/test_migration_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_migration_service.py index 596c48d47d..6e864f2f4e 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_migration_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_migration_service.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.aiplatform_v1beta1.services.migration_service import pagers from google.cloud.aiplatform_v1beta1.services.migration_service import transports -from google.cloud.aiplatform_v1beta1.services.migration_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import migratable_resource from google.cloud.aiplatform_v1beta1.types import migration_service from google.longrunning import operations_pb2 @@ -53,20 +49,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" @@ -224,7 +206,7 @@ def test_migration_service_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, @@ -241,7 +223,7 @@ def test_migration_service_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, @@ -258,7 +240,7 @@ def test_migration_service_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, @@ -287,7 +269,7 @@ def test_migration_service_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, @@ -356,7 +338,7 @@ def test_migration_service_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 @@ -398,7 +380,7 @@ def test_migration_service_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, @@ -420,7 +402,7 @@ def test_migration_service_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, @@ -451,7 +433,7 @@ def test_migration_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -482,7 +464,7 @@ def test_migration_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -1291,7 +1273,6 @@ def test_migration_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_migration_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -1312,26 +1293,6 @@ def test_migration_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_migration_service_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.aiplatform_v1beta1.services.migration_service.transports.MigrationServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.MigrationServiceTransport( - 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_migration_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -1343,7 +1304,6 @@ def test_migration_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_migration_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -1356,18 +1316,6 @@ def test_migration_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_migration_service_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) - MigrationServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -1375,7 +1323,6 @@ def test_migration_service_auth_adc_old_google_auth(): transports.MigrationServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_migration_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -1389,26 +1336,6 @@ def test_migration_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.MigrationServiceGrpcTransport, - transports.MigrationServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_migration_service_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", [ @@ -1687,18 +1614,20 @@ def test_parse_annotated_dataset_path(): def test_dataset_path(): project = "cuttlefish" - dataset = "mussel" - expected = "projects/{project}/datasets/{dataset}".format( - project=project, dataset=dataset, + location = "mussel" + dataset = "winkle" + expected = "projects/{project}/locations/{location}/datasets/{dataset}".format( + project=project, location=location, dataset=dataset, ) - actual = MigrationServiceClient.dataset_path(project, dataset) + actual = MigrationServiceClient.dataset_path(project, location, dataset) assert expected == actual def test_parse_dataset_path(): expected = { - "project": "winkle", - "dataset": "nautilus", + "project": "nautilus", + "location": "scallop", + "dataset": "abalone", } path = MigrationServiceClient.dataset_path(**expected) @@ -1708,20 +1637,18 @@ def test_parse_dataset_path(): def test_dataset_path(): - project = "scallop" - location = "abalone" - dataset = "squid" - expected = "projects/{project}/locations/{location}/datasets/{dataset}".format( - project=project, location=location, dataset=dataset, + project = "squid" + dataset = "clam" + expected = "projects/{project}/datasets/{dataset}".format( + project=project, dataset=dataset, ) - actual = MigrationServiceClient.dataset_path(project, location, dataset) + actual = MigrationServiceClient.dataset_path(project, dataset) assert expected == actual def test_parse_dataset_path(): expected = { - "project": "clam", - "location": "whelk", + "project": "whelk", "dataset": "octopus", } path = MigrationServiceClient.dataset_path(**expected) diff --git a/tests/unit/gapic/aiplatform_v1beta1/test_model_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_model_service.py index 2d7a4e610e..d620dbe483 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_model_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_model_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,9 +40,6 @@ from google.cloud.aiplatform_v1beta1.services.model_service import ModelServiceClient from google.cloud.aiplatform_v1beta1.services.model_service import pagers from google.cloud.aiplatform_v1beta1.services.model_service import transports -from google.cloud.aiplatform_v1beta1.services.model_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import deployed_model_ref from google.cloud.aiplatform_v1beta1.types import encryption_spec from google.cloud.aiplatform_v1beta1.types import env_var @@ -64,20 +60,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" @@ -225,7 +207,7 @@ def test_model_service_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, @@ -242,7 +224,7 @@ def test_model_service_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, @@ -259,7 +241,7 @@ def test_model_service_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, @@ -288,7 +270,7 @@ def test_model_service_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, @@ -345,7 +327,7 @@ def test_model_service_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 @@ -387,7 +369,7 @@ def test_model_service_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, @@ -409,7 +391,7 @@ def test_model_service_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, @@ -440,7 +422,7 @@ def test_model_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -471,7 +453,7 @@ def test_model_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -3290,7 +3272,6 @@ def test_model_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_model_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3311,26 +3292,6 @@ def test_model_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_model_service_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.aiplatform_v1beta1.services.model_service.transports.ModelServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.ModelServiceTransport( - 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_model_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -3342,7 +3303,6 @@ def test_model_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_model_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3355,18 +3315,6 @@ def test_model_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_model_service_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) - ModelServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3374,7 +3322,6 @@ def test_model_service_auth_adc_old_google_auth(): transports.ModelServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_model_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3388,26 +3335,6 @@ def test_model_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.ModelServiceGrpcTransport, - transports.ModelServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_model_service_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/aiplatform_v1beta1/test_pipeline_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_pipeline_service.py index ba946b15ec..edb2e0b5a2 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_pipeline_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_pipeline_service.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.aiplatform_v1beta1.services.pipeline_service import pagers from google.cloud.aiplatform_v1beta1.services.pipeline_service import transports -from google.cloud.aiplatform_v1beta1.services.pipeline_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import artifact from google.cloud.aiplatform_v1beta1.types import context from google.cloud.aiplatform_v1beta1.types import deployed_model_ref @@ -76,20 +72,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" @@ -246,7 +228,7 @@ def test_pipeline_service_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, @@ -263,7 +245,7 @@ def test_pipeline_service_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, @@ -280,7 +262,7 @@ def test_pipeline_service_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, @@ -309,7 +291,7 @@ def test_pipeline_service_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, @@ -378,7 +360,7 @@ def test_pipeline_service_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 @@ -420,7 +402,7 @@ def test_pipeline_service_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, @@ -442,7 +424,7 @@ def test_pipeline_service_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, @@ -473,7 +455,7 @@ def test_pipeline_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -504,7 +486,7 @@ def test_pipeline_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -3239,7 +3221,6 @@ def test_pipeline_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_pipeline_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3260,26 +3241,6 @@ def test_pipeline_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_pipeline_service_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.aiplatform_v1beta1.services.pipeline_service.transports.PipelineServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.PipelineServiceTransport( - 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_pipeline_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -3291,7 +3252,6 @@ def test_pipeline_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_pipeline_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3304,18 +3264,6 @@ def test_pipeline_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_pipeline_service_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) - PipelineServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3323,7 +3271,6 @@ def test_pipeline_service_auth_adc_old_google_auth(): transports.PipelineServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_pipeline_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3337,26 +3284,6 @@ def test_pipeline_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.PipelineServiceGrpcTransport, - transports.PipelineServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_pipeline_service_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/aiplatform_v1beta1/test_prediction_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_prediction_service.py index df7f8a8f08..89ce1a9cb1 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_prediction_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_prediction_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -40,9 +39,6 @@ PredictionServiceClient, ) from google.cloud.aiplatform_v1beta1.services.prediction_service import transports -from google.cloud.aiplatform_v1beta1.services.prediction_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import explanation from google.cloud.aiplatform_v1beta1.types import io from google.cloud.aiplatform_v1beta1.types import prediction_service @@ -52,20 +48,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" @@ -223,7 +205,7 @@ def test_prediction_service_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, @@ -240,7 +222,7 @@ def test_prediction_service_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, @@ -257,7 +239,7 @@ def test_prediction_service_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, @@ -286,7 +268,7 @@ def test_prediction_service_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, @@ -355,7 +337,7 @@ def test_prediction_service_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) if use_client_cert_env == "false": expected_client_cert_source = None @@ -397,7 +379,7 @@ def test_prediction_service_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, @@ -419,7 +401,7 @@ def test_prediction_service_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, @@ -450,7 +432,7 @@ def test_prediction_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -481,7 +463,7 @@ def test_prediction_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -1193,7 +1175,6 @@ def test_prediction_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_prediction_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -1214,26 +1195,6 @@ def test_prediction_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_prediction_service_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.aiplatform_v1beta1.services.prediction_service.transports.PredictionServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.PredictionServiceTransport( - 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_prediction_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -1245,7 +1206,6 @@ def test_prediction_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_prediction_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -1258,18 +1218,6 @@ def test_prediction_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_prediction_service_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) - PredictionServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -1277,7 +1225,6 @@ def test_prediction_service_auth_adc_old_google_auth(): transports.PredictionServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_prediction_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -1291,26 +1238,6 @@ def test_prediction_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.PredictionServiceGrpcTransport, - transports.PredictionServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_prediction_service_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/aiplatform_v1beta1/test_specialist_pool_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_specialist_pool_service.py index 3418095313..fca244846d 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_specialist_pool_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_specialist_pool_service.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.aiplatform_v1beta1.services.specialist_pool_service import pagers from google.cloud.aiplatform_v1beta1.services.specialist_pool_service import transports -from google.cloud.aiplatform_v1beta1.services.specialist_pool_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import operation as gca_operation from google.cloud.aiplatform_v1beta1.types import specialist_pool from google.cloud.aiplatform_v1beta1.types import specialist_pool as gca_specialist_pool @@ -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" @@ -231,7 +213,7 @@ def test_specialist_pool_service_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, @@ -248,7 +230,7 @@ def test_specialist_pool_service_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, @@ -265,7 +247,7 @@ def test_specialist_pool_service_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, @@ -294,7 +276,7 @@ def test_specialist_pool_service_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, @@ -363,7 +345,7 @@ def test_specialist_pool_service_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 @@ -405,7 +387,7 @@ def test_specialist_pool_service_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, @@ -427,7 +409,7 @@ def test_specialist_pool_service_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, @@ -462,7 +444,7 @@ def test_specialist_pool_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -497,7 +479,7 @@ def test_specialist_pool_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -2006,7 +1988,6 @@ def test_specialist_pool_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_specialist_pool_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2027,26 +2008,6 @@ def test_specialist_pool_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_specialist_pool_service_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.aiplatform_v1beta1.services.specialist_pool_service.transports.SpecialistPoolServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.SpecialistPoolServiceTransport( - 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_specialist_pool_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -2058,7 +2019,6 @@ def test_specialist_pool_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_specialist_pool_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2071,18 +2031,6 @@ def test_specialist_pool_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_specialist_pool_service_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) - SpecialistPoolServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -2090,7 +2038,6 @@ def test_specialist_pool_service_auth_adc_old_google_auth(): transports.SpecialistPoolServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_specialist_pool_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2104,26 +2051,6 @@ def test_specialist_pool_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.SpecialistPoolServiceGrpcTransport, - transports.SpecialistPoolServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_specialist_pool_service_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/aiplatform_v1beta1/test_tensorboard_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_tensorboard_service.py index 811f684de3..de5a34fbec 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_tensorboard_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_tensorboard_service.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.aiplatform_v1beta1.services.tensorboard_service import pagers from google.cloud.aiplatform_v1beta1.services.tensorboard_service import transports -from google.cloud.aiplatform_v1beta1.services.tensorboard_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import encryption_spec from google.cloud.aiplatform_v1beta1.types import operation as gca_operation from google.cloud.aiplatform_v1beta1.types import tensorboard @@ -69,20 +65,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" @@ -240,7 +222,7 @@ def test_tensorboard_service_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, @@ -257,7 +239,7 @@ def test_tensorboard_service_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, @@ -274,7 +256,7 @@ def test_tensorboard_service_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, @@ -303,7 +285,7 @@ def test_tensorboard_service_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, @@ -372,7 +354,7 @@ def test_tensorboard_service_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 @@ -414,7 +396,7 @@ def test_tensorboard_service_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, @@ -436,7 +418,7 @@ def test_tensorboard_service_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, @@ -467,7 +449,7 @@ def test_tensorboard_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -498,7 +480,7 @@ def test_tensorboard_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -8476,7 +8458,6 @@ def test_tensorboard_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_tensorboard_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -8497,26 +8478,6 @@ def test_tensorboard_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_tensorboard_service_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.aiplatform_v1beta1.services.tensorboard_service.transports.TensorboardServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.TensorboardServiceTransport( - 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_tensorboard_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -8528,7 +8489,6 @@ def test_tensorboard_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_tensorboard_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -8541,18 +8501,6 @@ def test_tensorboard_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_tensorboard_service_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) - TensorboardServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -8560,7 +8508,6 @@ def test_tensorboard_service_auth_adc_old_google_auth(): transports.TensorboardServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_tensorboard_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -8574,26 +8521,6 @@ def test_tensorboard_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.TensorboardServiceGrpcTransport, - transports.TensorboardServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_tensorboard_service_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/aiplatform_v1beta1/test_vizier_service.py b/tests/unit/gapic/aiplatform_v1beta1/test_vizier_service.py index 531b7b4942..713b669e96 100644 --- a/tests/unit/gapic/aiplatform_v1beta1/test_vizier_service.py +++ b/tests/unit/gapic/aiplatform_v1beta1/test_vizier_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,9 +40,6 @@ from google.cloud.aiplatform_v1beta1.services.vizier_service import VizierServiceClient from google.cloud.aiplatform_v1beta1.services.vizier_service import pagers from google.cloud.aiplatform_v1beta1.services.vizier_service import transports -from google.cloud.aiplatform_v1beta1.services.vizier_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.aiplatform_v1beta1.types import study from google.cloud.aiplatform_v1beta1.types import study as gca_study from google.cloud.aiplatform_v1beta1.types import vizier_service @@ -55,20 +51,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" @@ -225,7 +207,7 @@ def test_vizier_service_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, @@ -242,7 +224,7 @@ def test_vizier_service_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, @@ -259,7 +241,7 @@ def test_vizier_service_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, @@ -288,7 +270,7 @@ def test_vizier_service_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, @@ -347,7 +329,7 @@ def test_vizier_service_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 @@ -389,7 +371,7 @@ def test_vizier_service_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, @@ -411,7 +393,7 @@ def test_vizier_service_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, @@ -442,7 +424,7 @@ def test_vizier_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -473,7 +455,7 @@ def test_vizier_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -3740,7 +3722,6 @@ def test_vizier_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_vizier_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3761,26 +3742,6 @@ def test_vizier_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_vizier_service_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.aiplatform_v1beta1.services.vizier_service.transports.VizierServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.VizierServiceTransport( - 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_vizier_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -3792,7 +3753,6 @@ def test_vizier_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_vizier_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3805,18 +3765,6 @@ def test_vizier_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_vizier_service_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) - VizierServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3824,7 +3772,6 @@ def test_vizier_service_auth_adc_old_google_auth(): transports.VizierServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_vizier_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3838,26 +3785,6 @@ def test_vizier_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.VizierServiceGrpcTransport, - transports.VizierServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_vizier_service_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", [