diff --git a/google/cloud/monitoring_v3/services/alert_policy_service/async_client.py b/google/cloud/monitoring_v3/services/alert_policy_service/async_client.py index b340a2c3..ce2eacac 100644 --- a/google/cloud/monitoring_v3/services/alert_policy_service/async_client.py +++ b/google/cloud/monitoring_v3/services/alert_policy_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.cloud.monitoring_v3.services.alert_policy_service import pagers from google.cloud.monitoring_v3.types import alert from google.cloud.monitoring_v3.types import alert_service @@ -186,10 +188,10 @@ def __init__( async def list_alert_policies( self, - request: alert_service.ListAlertPoliciesRequest = None, + request: Union[alert_service.ListAlertPoliciesRequest, 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]] = (), ) -> pagers.ListAlertPoliciesAsyncPager: @@ -197,7 +199,7 @@ async def list_alert_policies( workspace. Args: - request (:class:`google.cloud.monitoring_v3.types.ListAlertPoliciesRequest`): + request (Union[google.cloud.monitoring_v3.types.ListAlertPoliciesRequest, dict]): The request object. The protocol for the `ListAlertPolicies` request. name (:class:`str`): @@ -286,17 +288,17 @@ async def list_alert_policies( async def get_alert_policy( self, - request: alert_service.GetAlertPolicyRequest = None, + request: Union[alert_service.GetAlertPolicyRequest, 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]] = (), ) -> alert.AlertPolicy: r"""Gets a single alerting policy. Args: - request (:class:`google.cloud.monitoring_v3.types.GetAlertPolicyRequest`): + request (Union[google.cloud.monitoring_v3.types.GetAlertPolicyRequest, dict]): The request object. The protocol for the `GetAlertPolicy` request. name (:class:`str`): @@ -373,18 +375,18 @@ async def get_alert_policy( async def create_alert_policy( self, - request: alert_service.CreateAlertPolicyRequest = None, + request: Union[alert_service.CreateAlertPolicyRequest, dict] = None, *, name: str = None, alert_policy: alert.AlertPolicy = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> alert.AlertPolicy: r"""Creates a new alerting policy. Args: - request (:class:`google.cloud.monitoring_v3.types.CreateAlertPolicyRequest`): + request (Union[google.cloud.monitoring_v3.types.CreateAlertPolicyRequest, dict]): The request object. The protocol for the `CreateAlertPolicy` request. name (:class:`str`): @@ -474,17 +476,17 @@ async def create_alert_policy( async def delete_alert_policy( self, - request: alert_service.DeleteAlertPolicyRequest = None, + request: Union[alert_service.DeleteAlertPolicyRequest, 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 an alerting policy. Args: - request (:class:`google.cloud.monitoring_v3.types.DeleteAlertPolicyRequest`): + request (Union[google.cloud.monitoring_v3.types.DeleteAlertPolicyRequest, dict]): The request object. The protocol for the `DeleteAlertPolicy` request. name (:class:`str`): @@ -553,11 +555,11 @@ async def delete_alert_policy( async def update_alert_policy( self, - request: alert_service.UpdateAlertPolicyRequest = None, + request: Union[alert_service.UpdateAlertPolicyRequest, dict] = None, *, update_mask: field_mask_pb2.FieldMask = None, alert_policy: alert.AlertPolicy = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> alert.AlertPolicy: @@ -567,7 +569,7 @@ async def update_alert_policy( via ``updateMask``. Returns the updated alerting policy. Args: - request (:class:`google.cloud.monitoring_v3.types.UpdateAlertPolicyRequest`): + request (Union[google.cloud.monitoring_v3.types.UpdateAlertPolicyRequest, dict]): The request object. The protocol for the `UpdateAlertPolicy` request. update_mask (:class:`google.protobuf.field_mask_pb2.FieldMask`): diff --git a/google/cloud/monitoring_v3/services/alert_policy_service/client.py b/google/cloud/monitoring_v3/services/alert_policy_service/client.py index 72cc3785..1cacb21d 100644 --- a/google/cloud/monitoring_v3/services/alert_policy_service/client.py +++ b/google/cloud/monitoring_v3/services/alert_policy_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.monitoring_v3.services.alert_policy_service import pagers from google.cloud.monitoring_v3.types import alert from google.cloud.monitoring_v3.types import alert_service @@ -385,7 +387,7 @@ def list_alert_policies( request: Union[alert_service.ListAlertPoliciesRequest, 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]] = (), ) -> pagers.ListAlertPoliciesPager: @@ -476,7 +478,7 @@ def get_alert_policy( request: Union[alert_service.GetAlertPolicyRequest, 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]] = (), ) -> alert.AlertPolicy: @@ -555,7 +557,7 @@ def create_alert_policy( *, name: str = None, alert_policy: alert.AlertPolicy = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> alert.AlertPolicy: @@ -655,7 +657,7 @@ def delete_alert_policy( request: Union[alert_service.DeleteAlertPolicyRequest, 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: @@ -726,7 +728,7 @@ def update_alert_policy( *, update_mask: field_mask_pb2.FieldMask = None, alert_policy: alert.AlertPolicy = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> alert.AlertPolicy: diff --git a/google/cloud/monitoring_v3/services/alert_policy_service/transports/base.py b/google/cloud/monitoring_v3/services/alert_policy_service/transports/base.py index a64044c0..ce182693 100644 --- a/google/cloud/monitoring_v3/services/alert_policy_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/alert_policy_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 AlertPolicyServiceTransport(abc.ABC): """Abstract transport class for AlertPolicyService.""" @@ -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 = { diff --git a/google/cloud/monitoring_v3/services/alert_policy_service/transports/grpc_asyncio.py b/google/cloud/monitoring_v3/services/alert_policy_service/transports/grpc_asyncio.py index ae1a5a74..b92f3e5d 100644 --- a/google/cloud/monitoring_v3/services/alert_policy_service/transports/grpc_asyncio.py +++ b/google/cloud/monitoring_v3/services/alert_policy_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/monitoring_v3/services/group_service/async_client.py b/google/cloud/monitoring_v3/services/group_service/async_client.py index 7551c890..5d7de466 100644 --- a/google/cloud/monitoring_v3/services/group_service/async_client.py +++ b/google/cloud/monitoring_v3/services/group_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 monitored_resource_pb2 # type: ignore from google.cloud.monitoring_v3.services.group_service import pagers from google.cloud.monitoring_v3.types import group @@ -174,17 +176,17 @@ def __init__( async def list_groups( self, - request: group_service.ListGroupsRequest = None, + request: Union[group_service.ListGroupsRequest, 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]] = (), ) -> pagers.ListGroupsAsyncPager: r"""Lists the existing groups. Args: - request (:class:`google.cloud.monitoring_v3.types.ListGroupsRequest`): + request (Union[google.cloud.monitoring_v3.types.ListGroupsRequest, dict]): The request object. The `ListGroup` request. name (:class:`str`): Required. The @@ -266,17 +268,17 @@ async def list_groups( async def get_group( self, - request: group_service.GetGroupRequest = None, + request: Union[group_service.GetGroupRequest, 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]] = (), ) -> group.Group: r"""Gets a single group. Args: - request (:class:`google.cloud.monitoring_v3.types.GetGroupRequest`): + request (Union[google.cloud.monitoring_v3.types.GetGroupRequest, dict]): The request object. The `GetGroup` request. name (:class:`str`): Required. The group to retrieve. The format is: @@ -379,18 +381,18 @@ async def get_group( async def create_group( self, - request: group_service.CreateGroupRequest = None, + request: Union[group_service.CreateGroupRequest, dict] = None, *, name: str = None, group: gm_group.Group = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gm_group.Group: r"""Creates a new group. Args: - request (:class:`google.cloud.monitoring_v3.types.CreateGroupRequest`): + request (Union[google.cloud.monitoring_v3.types.CreateGroupRequest, dict]): The request object. The `CreateGroup` request. name (:class:`str`): Required. The @@ -495,10 +497,10 @@ async def create_group( async def update_group( self, - request: group_service.UpdateGroupRequest = None, + request: Union[group_service.UpdateGroupRequest, dict] = None, *, group: gm_group.Group = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gm_group.Group: @@ -506,7 +508,7 @@ async def update_group( except ``name``. Args: - request (:class:`google.cloud.monitoring_v3.types.UpdateGroupRequest`): + request (Union[google.cloud.monitoring_v3.types.UpdateGroupRequest, dict]): The request object. The `UpdateGroup` request. group (:class:`google.cloud.monitoring_v3.types.Group`): Required. The new definition of the group. All fields of @@ -609,17 +611,17 @@ async def update_group( async def delete_group( self, - request: group_service.DeleteGroupRequest = None, + request: Union[group_service.DeleteGroupRequest, 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 an existing group. Args: - request (:class:`google.cloud.monitoring_v3.types.DeleteGroupRequest`): + request (Union[google.cloud.monitoring_v3.types.DeleteGroupRequest, dict]): The request object. The `DeleteGroup` request. The default behavior is to be able to delete a single group without any descendants. @@ -686,10 +688,10 @@ async def delete_group( async def list_group_members( self, - request: group_service.ListGroupMembersRequest = None, + request: Union[group_service.ListGroupMembersRequest, 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]] = (), ) -> pagers.ListGroupMembersAsyncPager: @@ -697,7 +699,7 @@ async def list_group_members( group. Args: - request (:class:`google.cloud.monitoring_v3.types.ListGroupMembersRequest`): + request (Union[google.cloud.monitoring_v3.types.ListGroupMembersRequest, dict]): The request object. The `ListGroupMembers` request. name (:class:`str`): Required. The group whose members are listed. The format diff --git a/google/cloud/monitoring_v3/services/group_service/client.py b/google/cloud/monitoring_v3/services/group_service/client.py index 095f4751..0529625c 100644 --- a/google/cloud/monitoring_v3/services/group_service/client.py +++ b/google/cloud/monitoring_v3/services/group_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 monitored_resource_pb2 # type: ignore from google.cloud.monitoring_v3.services.group_service import pagers from google.cloud.monitoring_v3.types import group @@ -360,7 +362,7 @@ def list_groups( request: Union[group_service.ListGroupsRequest, 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]] = (), ) -> pagers.ListGroupsPager: @@ -443,7 +445,7 @@ def get_group( request: Union[group_service.GetGroupRequest, 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]] = (), ) -> group.Group: @@ -548,7 +550,7 @@ def create_group( *, name: str = None, group: gm_group.Group = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gm_group.Group: @@ -663,7 +665,7 @@ def update_group( request: Union[group_service.UpdateGroupRequest, dict] = None, *, group: gm_group.Group = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gm_group.Group: @@ -768,7 +770,7 @@ def delete_group( request: Union[group_service.DeleteGroupRequest, 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: @@ -836,7 +838,7 @@ def list_group_members( request: Union[group_service.ListGroupMembersRequest, 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]] = (), ) -> pagers.ListGroupMembersPager: diff --git a/google/cloud/monitoring_v3/services/group_service/transports/base.py b/google/cloud/monitoring_v3/services/group_service/transports/base.py index 41f5b47c..073ea8e7 100644 --- a/google/cloud/monitoring_v3/services/group_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/group_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 GroupServiceTransport(abc.ABC): """Abstract transport class for GroupService.""" @@ -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 = { diff --git a/google/cloud/monitoring_v3/services/group_service/transports/grpc_asyncio.py b/google/cloud/monitoring_v3/services/group_service/transports/grpc_asyncio.py index e5d7ba98..cf4a276a 100644 --- a/google/cloud/monitoring_v3/services/group_service/transports/grpc_asyncio.py +++ b/google/cloud/monitoring_v3/services/group_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/monitoring_v3/services/metric_service/async_client.py b/google/cloud/monitoring_v3/services/metric_service/async_client.py index 38e530ae..f15683a1 100644 --- a/google/cloud/monitoring_v3/services/metric_service/async_client.py +++ b/google/cloud/monitoring_v3/services/metric_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 label_pb2 # type: ignore from google.api import launch_stage_pb2 # type: ignore from google.api import metric_pb2 # type: ignore @@ -179,10 +181,12 @@ def __init__( async def list_monitored_resource_descriptors( self, - request: metric_service.ListMonitoredResourceDescriptorsRequest = None, + request: Union[ + metric_service.ListMonitoredResourceDescriptorsRequest, 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]] = (), ) -> pagers.ListMonitoredResourceDescriptorsAsyncPager: @@ -190,7 +194,7 @@ async def list_monitored_resource_descriptors( filter. This method does not require a Workspace. Args: - request (:class:`google.cloud.monitoring_v3.types.ListMonitoredResourceDescriptorsRequest`): + request (Union[google.cloud.monitoring_v3.types.ListMonitoredResourceDescriptorsRequest, dict]): The request object. The `ListMonitoredResourceDescriptors` request. name (:class:`str`): @@ -273,10 +277,12 @@ async def list_monitored_resource_descriptors( async def get_monitored_resource_descriptor( self, - request: metric_service.GetMonitoredResourceDescriptorRequest = None, + request: Union[ + metric_service.GetMonitoredResourceDescriptorRequest, 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]] = (), ) -> monitored_resource_pb2.MonitoredResourceDescriptor: @@ -284,7 +290,7 @@ async def get_monitored_resource_descriptor( method does not require a Workspace. Args: - request (:class:`google.cloud.monitoring_v3.types.GetMonitoredResourceDescriptorRequest`): + request (Union[google.cloud.monitoring_v3.types.GetMonitoredResourceDescriptorRequest, dict]): The request object. The `GetMonitoredResourceDescriptor` request. name (:class:`str`): @@ -370,10 +376,10 @@ async def get_monitored_resource_descriptor( async def list_metric_descriptors( self, - request: metric_service.ListMetricDescriptorsRequest = None, + request: Union[metric_service.ListMetricDescriptorsRequest, 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]] = (), ) -> pagers.ListMetricDescriptorsAsyncPager: @@ -381,7 +387,7 @@ async def list_metric_descriptors( method does not require a Workspace. Args: - request (:class:`google.cloud.monitoring_v3.types.ListMetricDescriptorsRequest`): + request (Union[google.cloud.monitoring_v3.types.ListMetricDescriptorsRequest, dict]): The request object. The `ListMetricDescriptors` request. name (:class:`str`): Required. The @@ -463,10 +469,10 @@ async def list_metric_descriptors( async def get_metric_descriptor( self, - request: metric_service.GetMetricDescriptorRequest = None, + request: Union[metric_service.GetMetricDescriptorRequest, 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]] = (), ) -> metric_pb2.MetricDescriptor: @@ -474,7 +480,7 @@ async def get_metric_descriptor( require a Workspace. Args: - request (:class:`google.cloud.monitoring_v3.types.GetMetricDescriptorRequest`): + request (Union[google.cloud.monitoring_v3.types.GetMetricDescriptorRequest, dict]): The request object. The `GetMetricDescriptor` request. name (:class:`str`): Required. The metric descriptor on which to execute the @@ -553,11 +559,11 @@ async def get_metric_descriptor( async def create_metric_descriptor( self, - request: metric_service.CreateMetricDescriptorRequest = None, + request: Union[metric_service.CreateMetricDescriptorRequest, dict] = None, *, name: str = None, metric_descriptor: metric_pb2.MetricDescriptor = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metric_pb2.MetricDescriptor: @@ -568,7 +574,7 @@ async def create_metric_descriptor( metrics `__. Args: - request (:class:`google.cloud.monitoring_v3.types.CreateMetricDescriptorRequest`): + request (Union[google.cloud.monitoring_v3.types.CreateMetricDescriptorRequest, dict]): The request object. The `CreateMetricDescriptor` request. name (:class:`str`): @@ -644,10 +650,10 @@ async def create_metric_descriptor( async def delete_metric_descriptor( self, - request: metric_service.DeleteMetricDescriptorRequest = None, + request: Union[metric_service.DeleteMetricDescriptorRequest, 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: @@ -656,7 +662,7 @@ async def delete_metric_descriptor( can be deleted. Args: - request (:class:`google.cloud.monitoring_v3.types.DeleteMetricDescriptorRequest`): + request (Union[google.cloud.monitoring_v3.types.DeleteMetricDescriptorRequest, dict]): The request object. The `DeleteMetricDescriptor` request. name (:class:`str`): @@ -726,13 +732,13 @@ async def delete_metric_descriptor( async def list_time_series( self, - request: metric_service.ListTimeSeriesRequest = None, + request: Union[metric_service.ListTimeSeriesRequest, dict] = None, *, name: str = None, filter: str = None, interval: common.TimeInterval = None, view: metric_service.ListTimeSeriesRequest.TimeSeriesView = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListTimeSeriesAsyncPager: @@ -740,7 +746,7 @@ async def list_time_series( does not require a Workspace. Args: - request (:class:`google.cloud.monitoring_v3.types.ListTimeSeriesRequest`): + request (Union[google.cloud.monitoring_v3.types.ListTimeSeriesRequest, dict]): The request object. The `ListTimeSeries` request. name (:class:`str`): Required. The @@ -864,11 +870,11 @@ async def list_time_series( async def create_time_series( self, - request: metric_service.CreateTimeSeriesRequest = None, + request: Union[metric_service.CreateTimeSeriesRequest, dict] = None, *, name: str = None, time_series: Sequence[gm_metric.TimeSeries] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> None: @@ -879,7 +885,7 @@ async def create_time_series( response. Args: - request (:class:`google.cloud.monitoring_v3.types.CreateTimeSeriesRequest`): + request (Union[google.cloud.monitoring_v3.types.CreateTimeSeriesRequest, dict]): The request object. The `CreateTimeSeries` request. name (:class:`str`): Required. The @@ -954,11 +960,11 @@ async def create_time_series( async def create_service_time_series( self, - request: metric_service.CreateTimeSeriesRequest = None, + request: Union[metric_service.CreateTimeSeriesRequest, dict] = None, *, name: str = None, time_series: Sequence[gm_metric.TimeSeries] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> None: @@ -973,7 +979,7 @@ async def create_service_time_series( instead. Args: - request (:class:`google.cloud.monitoring_v3.types.CreateTimeSeriesRequest`): + request (Union[google.cloud.monitoring_v3.types.CreateTimeSeriesRequest, dict]): The request object. The `CreateTimeSeries` request. name (:class:`str`): Required. The diff --git a/google/cloud/monitoring_v3/services/metric_service/client.py b/google/cloud/monitoring_v3/services/metric_service/client.py index db91a598..e1f9737e 100644 --- a/google/cloud/monitoring_v3/services/metric_service/client.py +++ b/google/cloud/monitoring_v3/services/metric_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 label_pb2 # type: ignore from google.api import launch_stage_pb2 # type: ignore from google.api import metric_pb2 # type: ignore @@ -389,7 +391,7 @@ def list_monitored_resource_descriptors( ] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListMonitoredResourceDescriptorsPager: @@ -480,7 +482,7 @@ def get_monitored_resource_descriptor( ] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> monitored_resource_pb2.MonitoredResourceDescriptor: @@ -572,7 +574,7 @@ def list_metric_descriptors( request: Union[metric_service.ListMetricDescriptorsRequest, 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]] = (), ) -> pagers.ListMetricDescriptorsPager: @@ -656,7 +658,7 @@ def get_metric_descriptor( request: Union[metric_service.GetMetricDescriptorRequest, 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]] = (), ) -> metric_pb2.MetricDescriptor: @@ -738,7 +740,7 @@ def create_metric_descriptor( *, name: str = None, metric_descriptor: metric_pb2.MetricDescriptor = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> metric_pb2.MetricDescriptor: @@ -828,7 +830,7 @@ def delete_metric_descriptor( request: Union[metric_service.DeleteMetricDescriptorRequest, 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: @@ -904,7 +906,7 @@ def list_time_series( filter: str = None, interval: common.TimeInterval = None, view: metric_service.ListTimeSeriesRequest.TimeSeriesView = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListTimeSeriesPager: @@ -1031,7 +1033,7 @@ def create_time_series( *, name: str = None, time_series: Sequence[gm_metric.TimeSeries] = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> None: @@ -1121,7 +1123,7 @@ def create_service_time_series( *, name: str = None, time_series: Sequence[gm_metric.TimeSeries] = 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/monitoring_v3/services/metric_service/transports/base.py b/google/cloud/monitoring_v3/services/metric_service/transports/base.py index 7bc3cd98..77efcbad 100644 --- a/google/cloud/monitoring_v3/services/metric_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/metric_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 MetricServiceTransport(abc.ABC): """Abstract transport class for MetricService.""" @@ -103,7 +93,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 @@ -136,29 +126,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/monitoring_v3/services/metric_service/transports/grpc_asyncio.py b/google/cloud/monitoring_v3/services/metric_service/transports/grpc_asyncio.py index 67fa535c..32e3d890 100644 --- a/google/cloud/monitoring_v3/services/metric_service/transports/grpc_asyncio.py +++ b/google/cloud/monitoring_v3/services/metric_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/monitoring_v3/services/notification_channel_service/async_client.py b/google/cloud/monitoring_v3/services/notification_channel_service/async_client.py index ff17dd21..4b381eaf 100644 --- a/google/cloud/monitoring_v3/services/notification_channel_service/async_client.py +++ b/google/cloud/monitoring_v3/services/notification_channel_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 label_pb2 # type: ignore from google.api import launch_stage_pb2 # type: ignore from google.cloud.monitoring_v3.services.notification_channel_service import pagers @@ -190,10 +192,12 @@ def __init__( async def list_notification_channel_descriptors( self, - request: notification_service.ListNotificationChannelDescriptorsRequest = None, + request: Union[ + notification_service.ListNotificationChannelDescriptorsRequest, 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]] = (), ) -> pagers.ListNotificationChannelDescriptorsAsyncPager: @@ -202,7 +206,7 @@ async def list_notification_channel_descriptors( types to be dynamically added. Args: - request (:class:`google.cloud.monitoring_v3.types.ListNotificationChannelDescriptorsRequest`): + request (Union[google.cloud.monitoring_v3.types.ListNotificationChannelDescriptorsRequest, dict]): The request object. The `ListNotificationChannelDescriptors` request. name (:class:`str`): @@ -295,10 +299,12 @@ async def list_notification_channel_descriptors( async def get_notification_channel_descriptor( self, - request: notification_service.GetNotificationChannelDescriptorRequest = None, + request: Union[ + notification_service.GetNotificationChannelDescriptorRequest, 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]] = (), ) -> notification.NotificationChannelDescriptor: @@ -307,7 +313,7 @@ async def get_notification_channel_descriptor( notification channel of the given type. Args: - request (:class:`google.cloud.monitoring_v3.types.GetNotificationChannelDescriptorRequest`): + request (Union[google.cloud.monitoring_v3.types.GetNotificationChannelDescriptorRequest, dict]): The request object. The `GetNotificationChannelDescriptor` response. name (:class:`str`): @@ -384,10 +390,12 @@ async def get_notification_channel_descriptor( async def list_notification_channels( self, - request: notification_service.ListNotificationChannelsRequest = None, + request: Union[ + notification_service.ListNotificationChannelsRequest, 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]] = (), ) -> pagers.ListNotificationChannelsAsyncPager: @@ -395,7 +403,7 @@ async def list_notification_channels( created for the project. Args: - request (:class:`google.cloud.monitoring_v3.types.ListNotificationChannelsRequest`): + request (Union[google.cloud.monitoring_v3.types.ListNotificationChannelsRequest, dict]): The request object. The `ListNotificationChannels` request. name (:class:`str`): @@ -485,10 +493,10 @@ async def list_notification_channels( async def get_notification_channel( self, - request: notification_service.GetNotificationChannelRequest = None, + request: Union[notification_service.GetNotificationChannelRequest, 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]] = (), ) -> notification.NotificationChannel: @@ -501,7 +509,7 @@ async def get_notification_channel( call to the create method. Args: - request (:class:`google.cloud.monitoring_v3.types.GetNotificationChannelRequest`): + request (Union[google.cloud.monitoring_v3.types.GetNotificationChannelRequest, dict]): The request object. The `GetNotificationChannel` request. name (:class:`str`): @@ -580,11 +588,13 @@ async def get_notification_channel( async def create_notification_channel( self, - request: notification_service.CreateNotificationChannelRequest = None, + request: Union[ + notification_service.CreateNotificationChannelRequest, dict + ] = None, *, name: str = None, notification_channel: notification.NotificationChannel = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> notification.NotificationChannel: @@ -593,7 +603,7 @@ async def create_notification_channel( SMS number, or PagerDuty service. Args: - request (:class:`google.cloud.monitoring_v3.types.CreateNotificationChannelRequest`): + request (Union[google.cloud.monitoring_v3.types.CreateNotificationChannelRequest, dict]): The request object. The `CreateNotificationChannel` request. name (:class:`str`): @@ -680,11 +690,13 @@ async def create_notification_channel( async def update_notification_channel( self, - request: notification_service.UpdateNotificationChannelRequest = None, + request: Union[ + notification_service.UpdateNotificationChannelRequest, dict + ] = None, *, update_mask: field_mask_pb2.FieldMask = None, notification_channel: notification.NotificationChannel = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> notification.NotificationChannel: @@ -692,7 +704,7 @@ async def update_notification_channel( in the field mask remain unchanged. Args: - request (:class:`google.cloud.monitoring_v3.types.UpdateNotificationChannelRequest`): + request (Union[google.cloud.monitoring_v3.types.UpdateNotificationChannelRequest, dict]): The request object. The `UpdateNotificationChannel` request. update_mask (:class:`google.protobuf.field_mask_pb2.FieldMask`): @@ -770,18 +782,20 @@ async def update_notification_channel( async def delete_notification_channel( self, - request: notification_service.DeleteNotificationChannelRequest = None, + request: Union[ + notification_service.DeleteNotificationChannelRequest, 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]] = (), ) -> None: r"""Deletes a notification channel. Args: - request (:class:`google.cloud.monitoring_v3.types.DeleteNotificationChannelRequest`): + request (Union[google.cloud.monitoring_v3.types.DeleteNotificationChannelRequest, dict]): The request object. The `DeleteNotificationChannel` request. name (:class:`str`): @@ -863,10 +877,12 @@ async def delete_notification_channel( async def send_notification_channel_verification_code( self, - request: notification_service.SendNotificationChannelVerificationCodeRequest = None, + request: Union[ + notification_service.SendNotificationChannelVerificationCodeRequest, 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: @@ -875,7 +891,7 @@ async def send_notification_channel_verification_code( verify the channel. Args: - request (:class:`google.cloud.monitoring_v3.types.SendNotificationChannelVerificationCodeRequest`): + request (Union[google.cloud.monitoring_v3.types.SendNotificationChannelVerificationCodeRequest, dict]): The request object. The `SendNotificationChannelVerificationCode` request. name (:class:`str`): @@ -931,10 +947,12 @@ async def send_notification_channel_verification_code( async def get_notification_channel_verification_code( self, - request: notification_service.GetNotificationChannelVerificationCodeRequest = None, + request: Union[ + notification_service.GetNotificationChannelVerificationCodeRequest, 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]] = (), ) -> notification_service.GetNotificationChannelVerificationCodeResponse: @@ -968,7 +986,7 @@ async def get_notification_channel_verification_code( string that has a longer expiration time. Args: - request (:class:`google.cloud.monitoring_v3.types.GetNotificationChannelVerificationCodeRequest`): + request (Union[google.cloud.monitoring_v3.types.GetNotificationChannelVerificationCodeRequest, dict]): The request object. The `GetNotificationChannelVerificationCode` request. name (:class:`str`): @@ -1042,11 +1060,13 @@ async def get_notification_channel_verification_code( async def verify_notification_channel( self, - request: notification_service.VerifyNotificationChannelRequest = None, + request: Union[ + notification_service.VerifyNotificationChannelRequest, dict + ] = None, *, name: str = None, code: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> notification.NotificationChannel: @@ -1055,7 +1075,7 @@ async def verify_notification_channel( ``SendNotificationChannelVerificationCode``. Args: - request (:class:`google.cloud.monitoring_v3.types.VerifyNotificationChannelRequest`): + request (Union[google.cloud.monitoring_v3.types.VerifyNotificationChannelRequest, dict]): The request object. The `VerifyNotificationChannel` request. name (:class:`str`): diff --git a/google/cloud/monitoring_v3/services/notification_channel_service/client.py b/google/cloud/monitoring_v3/services/notification_channel_service/client.py index 6f933d34..cd9a1970 100644 --- a/google/cloud/monitoring_v3/services/notification_channel_service/client.py +++ b/google/cloud/monitoring_v3/services/notification_channel_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 label_pb2 # type: ignore from google.api import launch_stage_pb2 # type: ignore from google.cloud.monitoring_v3.services.notification_channel_service import pagers @@ -384,7 +386,7 @@ def list_notification_channel_descriptors( ] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListNotificationChannelDescriptorsPager: @@ -486,7 +488,7 @@ def get_notification_channel_descriptor( ] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> notification.NotificationChannelDescriptor: @@ -574,7 +576,7 @@ def list_notification_channels( ] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListNotificationChannelsPager: @@ -670,7 +672,7 @@ def get_notification_channel( request: Union[notification_service.GetNotificationChannelRequest, 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]] = (), ) -> notification.NotificationChannel: @@ -759,7 +761,7 @@ def create_notification_channel( *, name: str = None, notification_channel: notification.NotificationChannel = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> notification.NotificationChannel: @@ -865,7 +867,7 @@ def update_notification_channel( *, update_mask: field_mask_pb2.FieldMask = None, notification_channel: notification.NotificationChannel = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> notification.NotificationChannel: @@ -961,7 +963,7 @@ def delete_notification_channel( *, 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]] = (), ) -> None: @@ -1050,7 +1052,7 @@ def send_notification_channel_verification_code( ] = None, *, 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: @@ -1124,7 +1126,7 @@ def get_notification_channel_verification_code( ] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> notification_service.GetNotificationChannelVerificationCodeResponse: @@ -1233,7 +1235,7 @@ def verify_notification_channel( *, name: str = None, code: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> notification.NotificationChannel: diff --git a/google/cloud/monitoring_v3/services/notification_channel_service/transports/base.py b/google/cloud/monitoring_v3/services/notification_channel_service/transports/base.py index 566fdf15..a5b7868a 100644 --- a/google/cloud/monitoring_v3/services/notification_channel_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/notification_channel_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 NotificationChannelServiceTransport(abc.ABC): """Abstract transport class for NotificationChannelService.""" @@ -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 = { diff --git a/google/cloud/monitoring_v3/services/notification_channel_service/transports/grpc_asyncio.py b/google/cloud/monitoring_v3/services/notification_channel_service/transports/grpc_asyncio.py index fca47836..59401088 100644 --- a/google/cloud/monitoring_v3/services/notification_channel_service/transports/grpc_asyncio.py +++ b/google/cloud/monitoring_v3/services/notification_channel_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/monitoring_v3/services/query_service/async_client.py b/google/cloud/monitoring_v3/services/query_service/async_client.py index c244368b..d6f94791 100644 --- a/google/cloud/monitoring_v3/services/query_service/async_client.py +++ b/google/cloud/monitoring_v3/services/query_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.cloud.monitoring_v3.services.query_service import pagers from google.cloud.monitoring_v3.types import metric from google.cloud.monitoring_v3.types import metric_service @@ -161,9 +163,9 @@ def __init__( async def query_time_series( self, - request: metric_service.QueryTimeSeriesRequest = None, + request: Union[metric_service.QueryTimeSeriesRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.QueryTimeSeriesAsyncPager: @@ -171,7 +173,7 @@ async def query_time_series( This method does not require a Workspace. Args: - request (:class:`google.cloud.monitoring_v3.types.QueryTimeSeriesRequest`): + request (Union[google.cloud.monitoring_v3.types.QueryTimeSeriesRequest, dict]): The request object. The `QueryTimeSeries` request. retry (google.api_core.retry.Retry): Designation of what errors, if any, should be retried. diff --git a/google/cloud/monitoring_v3/services/query_service/client.py b/google/cloud/monitoring_v3/services/query_service/client.py index c05db7f4..43f3e571 100644 --- a/google/cloud/monitoring_v3/services/query_service/client.py +++ b/google/cloud/monitoring_v3/services/query_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.monitoring_v3.services.query_service import pagers from google.cloud.monitoring_v3.types import metric from google.cloud.monitoring_v3.types import metric_service @@ -337,7 +339,7 @@ def query_time_series( self, request: Union[metric_service.QueryTimeSeriesRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.QueryTimeSeriesPager: diff --git a/google/cloud/monitoring_v3/services/query_service/transports/base.py b/google/cloud/monitoring_v3/services/query_service/transports/base.py index 74773560..cad6ad15 100644 --- a/google/cloud/monitoring_v3/services/query_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/query_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 QueryServiceTransport(abc.ABC): """Abstract transport class for QueryService.""" @@ -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 = { diff --git a/google/cloud/monitoring_v3/services/query_service/transports/grpc_asyncio.py b/google/cloud/monitoring_v3/services/query_service/transports/grpc_asyncio.py index e6cf8540..eff806a5 100644 --- a/google/cloud/monitoring_v3/services/query_service/transports/grpc_asyncio.py +++ b/google/cloud/monitoring_v3/services/query_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/monitoring_v3/services/service_monitoring_service/async_client.py b/google/cloud/monitoring_v3/services/service_monitoring_service/async_client.py index 6eb0a034..1daf169e 100644 --- a/google/cloud/monitoring_v3/services/service_monitoring_service/async_client.py +++ b/google/cloud/monitoring_v3/services/service_monitoring_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.cloud.monitoring_v3.services.service_monitoring_service import pagers from google.cloud.monitoring_v3.types import service from google.cloud.monitoring_v3.types import service as gm_service @@ -182,18 +184,18 @@ def __init__( async def create_service( self, - request: service_service.CreateServiceRequest = None, + request: Union[service_service.CreateServiceRequest, dict] = None, *, parent: str = None, service: gm_service.Service = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gm_service.Service: r"""Create a ``Service``. Args: - request (:class:`google.cloud.monitoring_v3.types.CreateServiceRequest`): + request (Union[google.cloud.monitoring_v3.types.CreateServiceRequest, dict]): The request object. The `CreateService` request. parent (:class:`str`): Required. Resource @@ -269,17 +271,17 @@ async def create_service( async def get_service( self, - request: service_service.GetServiceRequest = None, + request: Union[service_service.GetServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> service.Service: r"""Get the named ``Service``. Args: - request (:class:`google.cloud.monitoring_v3.types.GetServiceRequest`): + request (Union[google.cloud.monitoring_v3.types.GetServiceRequest, dict]): The request object. The `GetService` request. name (:class:`str`): Required. Resource name of the ``Service``. The format @@ -356,17 +358,17 @@ async def get_service( async def list_services( self, - request: service_service.ListServicesRequest = None, + request: Union[service_service.ListServicesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListServicesAsyncPager: r"""List ``Service``\ s for this workspace. Args: - request (:class:`google.cloud.monitoring_v3.types.ListServicesRequest`): + request (Union[google.cloud.monitoring_v3.types.ListServicesRequest, dict]): The request object. The `ListServices` request. parent (:class:`str`): Required. Resource name of the parent containing the @@ -450,17 +452,17 @@ async def list_services( async def update_service( self, - request: service_service.UpdateServiceRequest = None, + request: Union[service_service.UpdateServiceRequest, dict] = None, *, service: gm_service.Service = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gm_service.Service: r"""Update this ``Service``. Args: - request (:class:`google.cloud.monitoring_v3.types.UpdateServiceRequest`): + request (Union[google.cloud.monitoring_v3.types.UpdateServiceRequest, dict]): The request object. The `UpdateService` request. service (:class:`google.cloud.monitoring_v3.types.Service`): Required. The ``Service`` to draw updates from. The @@ -526,17 +528,17 @@ async def update_service( async def delete_service( self, - request: service_service.DeleteServiceRequest = None, + request: Union[service_service.DeleteServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Soft delete this ``Service``. Args: - request (:class:`google.cloud.monitoring_v3.types.DeleteServiceRequest`): + request (Union[google.cloud.monitoring_v3.types.DeleteServiceRequest, dict]): The request object. The `DeleteService` request. name (:class:`str`): Required. Resource name of the ``Service`` to delete. @@ -602,18 +604,18 @@ async def delete_service( async def create_service_level_objective( self, - request: service_service.CreateServiceLevelObjectiveRequest = None, + request: Union[service_service.CreateServiceLevelObjectiveRequest, dict] = None, *, parent: str = None, service_level_objective: service.ServiceLevelObjective = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> service.ServiceLevelObjective: r"""Create a ``ServiceLevelObjective`` for the given ``Service``. Args: - request (:class:`google.cloud.monitoring_v3.types.CreateServiceLevelObjectiveRequest`): + request (Union[google.cloud.monitoring_v3.types.CreateServiceLevelObjectiveRequest, dict]): The request object. The `CreateServiceLevelObjective` request. parent (:class:`str`): @@ -699,17 +701,17 @@ async def create_service_level_objective( async def get_service_level_objective( self, - request: service_service.GetServiceLevelObjectiveRequest = None, + request: Union[service_service.GetServiceLevelObjectiveRequest, 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]] = (), ) -> service.ServiceLevelObjective: r"""Get a ``ServiceLevelObjective`` by name. Args: - request (:class:`google.cloud.monitoring_v3.types.GetServiceLevelObjectiveRequest`): + request (Union[google.cloud.monitoring_v3.types.GetServiceLevelObjectiveRequest, dict]): The request object. The `GetServiceLevelObjective` request. name (:class:`str`): @@ -794,17 +796,17 @@ async def get_service_level_objective( async def list_service_level_objectives( self, - request: service_service.ListServiceLevelObjectivesRequest = None, + request: Union[service_service.ListServiceLevelObjectivesRequest, 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.ListServiceLevelObjectivesAsyncPager: r"""List the ``ServiceLevelObjective``\ s for the given ``Service``. Args: - request (:class:`google.cloud.monitoring_v3.types.ListServiceLevelObjectivesRequest`): + request (Union[google.cloud.monitoring_v3.types.ListServiceLevelObjectivesRequest, dict]): The request object. The `ListServiceLevelObjectives` request. parent (:class:`str`): @@ -888,17 +890,17 @@ async def list_service_level_objectives( async def update_service_level_objective( self, - request: service_service.UpdateServiceLevelObjectiveRequest = None, + request: Union[service_service.UpdateServiceLevelObjectiveRequest, dict] = None, *, service_level_objective: service.ServiceLevelObjective = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> service.ServiceLevelObjective: r"""Update the given ``ServiceLevelObjective``. Args: - request (:class:`google.cloud.monitoring_v3.types.UpdateServiceLevelObjectiveRequest`): + request (Union[google.cloud.monitoring_v3.types.UpdateServiceLevelObjectiveRequest, dict]): The request object. The `UpdateServiceLevelObjective` request. service_level_objective (:class:`google.cloud.monitoring_v3.types.ServiceLevelObjective`): @@ -978,17 +980,17 @@ async def update_service_level_objective( async def delete_service_level_objective( self, - request: service_service.DeleteServiceLevelObjectiveRequest = None, + request: Union[service_service.DeleteServiceLevelObjectiveRequest, 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"""Delete the given ``ServiceLevelObjective``. Args: - request (:class:`google.cloud.monitoring_v3.types.DeleteServiceLevelObjectiveRequest`): + request (Union[google.cloud.monitoring_v3.types.DeleteServiceLevelObjectiveRequest, dict]): The request object. The `DeleteServiceLevelObjective` request. name (:class:`str`): diff --git a/google/cloud/monitoring_v3/services/service_monitoring_service/client.py b/google/cloud/monitoring_v3/services/service_monitoring_service/client.py index bd847d42..2bfba9b0 100644 --- a/google/cloud/monitoring_v3/services/service_monitoring_service/client.py +++ b/google/cloud/monitoring_v3/services/service_monitoring_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.monitoring_v3.services.service_monitoring_service import pagers from google.cloud.monitoring_v3.types import service from google.cloud.monitoring_v3.types import service as gm_service @@ -380,7 +382,7 @@ def create_service( *, parent: str = None, service: gm_service.Service = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gm_service.Service: @@ -466,7 +468,7 @@ def get_service( request: Union[service_service.GetServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> service.Service: @@ -544,7 +546,7 @@ def list_services( request: Union[service_service.ListServicesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListServicesPager: @@ -629,7 +631,7 @@ def update_service( request: Union[service_service.UpdateServiceRequest, dict] = None, *, service: gm_service.Service = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> gm_service.Service: @@ -705,7 +707,7 @@ def delete_service( request: Union[service_service.DeleteServiceRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> None: @@ -773,7 +775,7 @@ def create_service_level_objective( *, parent: str = None, service_level_objective: service.ServiceLevelObjective = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> service.ServiceLevelObjective: @@ -871,7 +873,7 @@ def get_service_level_objective( request: Union[service_service.GetServiceLevelObjectiveRequest, 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]] = (), ) -> service.ServiceLevelObjective: @@ -959,7 +961,7 @@ def list_service_level_objectives( request: Union[service_service.ListServiceLevelObjectivesRequest, 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.ListServiceLevelObjectivesPager: @@ -1046,7 +1048,7 @@ def update_service_level_objective( request: Union[service_service.UpdateServiceLevelObjectiveRequest, dict] = None, *, service_level_objective: service.ServiceLevelObjective = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> service.ServiceLevelObjective: @@ -1138,7 +1140,7 @@ def delete_service_level_objective( request: Union[service_service.DeleteServiceLevelObjectiveRequest, 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/monitoring_v3/services/service_monitoring_service/transports/base.py b/google/cloud/monitoring_v3/services/service_monitoring_service/transports/base.py index 60f5d9a9..73af99b4 100644 --- a/google/cloud/monitoring_v3/services/service_monitoring_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/service_monitoring_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 ServiceMonitoringServiceTransport(abc.ABC): """Abstract transport class for ServiceMonitoringService.""" @@ -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 = { diff --git a/google/cloud/monitoring_v3/services/service_monitoring_service/transports/grpc_asyncio.py b/google/cloud/monitoring_v3/services/service_monitoring_service/transports/grpc_asyncio.py index 0dad4f05..a94fe830 100644 --- a/google/cloud/monitoring_v3/services/service_monitoring_service/transports/grpc_asyncio.py +++ b/google/cloud/monitoring_v3/services/service_monitoring_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/monitoring_v3/services/uptime_check_service/async_client.py b/google/cloud/monitoring_v3/services/uptime_check_service/async_client.py index 8e27a15d..9e22e6b1 100644 --- a/google/cloud/monitoring_v3/services/uptime_check_service/async_client.py +++ b/google/cloud/monitoring_v3/services/uptime_check_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 monitored_resource_pb2 # type: ignore from google.cloud.monitoring_v3.services.uptime_check_service import pagers from google.cloud.monitoring_v3.types import uptime @@ -179,10 +181,10 @@ def __init__( async def list_uptime_check_configs( self, - request: uptime_service.ListUptimeCheckConfigsRequest = None, + request: Union[uptime_service.ListUptimeCheckConfigsRequest, 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.ListUptimeCheckConfigsAsyncPager: @@ -191,7 +193,7 @@ async def list_uptime_check_configs( configurations). Args: - request (:class:`google.cloud.monitoring_v3.types.ListUptimeCheckConfigsRequest`): + request (Union[google.cloud.monitoring_v3.types.ListUptimeCheckConfigsRequest, dict]): The request object. The protocol for the `ListUptimeCheckConfigs` request. parent (:class:`str`): @@ -275,17 +277,17 @@ async def list_uptime_check_configs( async def get_uptime_check_config( self, - request: uptime_service.GetUptimeCheckConfigRequest = None, + request: Union[uptime_service.GetUptimeCheckConfigRequest, 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]] = (), ) -> uptime.UptimeCheckConfig: r"""Gets a single Uptime check configuration. Args: - request (:class:`google.cloud.monitoring_v3.types.GetUptimeCheckConfigRequest`): + request (Union[google.cloud.monitoring_v3.types.GetUptimeCheckConfigRequest, dict]): The request object. The protocol for the `GetUptimeCheckConfig` request. name (:class:`str`): @@ -360,18 +362,18 @@ async def get_uptime_check_config( async def create_uptime_check_config( self, - request: uptime_service.CreateUptimeCheckConfigRequest = None, + request: Union[uptime_service.CreateUptimeCheckConfigRequest, dict] = None, *, parent: str = None, uptime_check_config: uptime.UptimeCheckConfig = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> uptime.UptimeCheckConfig: r"""Creates a new Uptime check configuration. Args: - request (:class:`google.cloud.monitoring_v3.types.CreateUptimeCheckConfigRequest`): + request (Union[google.cloud.monitoring_v3.types.CreateUptimeCheckConfigRequest, dict]): The request object. The protocol for the `CreateUptimeCheckConfig` request. parent (:class:`str`): @@ -447,10 +449,10 @@ async def create_uptime_check_config( async def update_uptime_check_config( self, - request: uptime_service.UpdateUptimeCheckConfigRequest = None, + request: Union[uptime_service.UpdateUptimeCheckConfigRequest, dict] = None, *, uptime_check_config: uptime.UptimeCheckConfig = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> uptime.UptimeCheckConfig: @@ -461,7 +463,7 @@ async def update_uptime_check_config( configuration. Args: - request (:class:`google.cloud.monitoring_v3.types.UpdateUptimeCheckConfigRequest`): + request (Union[google.cloud.monitoring_v3.types.UpdateUptimeCheckConfigRequest, dict]): The request object. The protocol for the `UpdateUptimeCheckConfig` request. uptime_check_config (:class:`google.cloud.monitoring_v3.types.UptimeCheckConfig`): @@ -536,10 +538,10 @@ async def update_uptime_check_config( async def delete_uptime_check_config( self, - request: uptime_service.DeleteUptimeCheckConfigRequest = None, + request: Union[uptime_service.DeleteUptimeCheckConfigRequest, 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: @@ -549,7 +551,7 @@ async def delete_uptime_check_config( that would be rendered invalid by the deletion. Args: - request (:class:`google.cloud.monitoring_v3.types.DeleteUptimeCheckConfigRequest`): + request (Union[google.cloud.monitoring_v3.types.DeleteUptimeCheckConfigRequest, dict]): The request object. The protocol for the `DeleteUptimeCheckConfig` request. name (:class:`str`): @@ -616,9 +618,9 @@ async def delete_uptime_check_config( async def list_uptime_check_ips( self, - request: uptime_service.ListUptimeCheckIpsRequest = None, + request: Union[uptime_service.ListUptimeCheckIpsRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListUptimeCheckIpsAsyncPager: @@ -626,7 +628,7 @@ async def list_uptime_check_ips( from Args: - request (:class:`google.cloud.monitoring_v3.types.ListUptimeCheckIpsRequest`): + request (Union[google.cloud.monitoring_v3.types.ListUptimeCheckIpsRequest, dict]): The request object. The protocol for the `ListUptimeCheckIps` request. retry (google.api_core.retry.Retry): Designation of what errors, if any, diff --git a/google/cloud/monitoring_v3/services/uptime_check_service/client.py b/google/cloud/monitoring_v3/services/uptime_check_service/client.py index 9254ffb7..96dfd2d1 100644 --- a/google/cloud/monitoring_v3/services/uptime_check_service/client.py +++ b/google/cloud/monitoring_v3/services/uptime_check_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 monitored_resource_pb2 # type: ignore from google.cloud.monitoring_v3.services.uptime_check_service import pagers from google.cloud.monitoring_v3.types import uptime @@ -365,7 +367,7 @@ def list_uptime_check_configs( request: Union[uptime_service.ListUptimeCheckConfigsRequest, 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.ListUptimeCheckConfigsPager: @@ -454,7 +456,7 @@ def get_uptime_check_config( request: Union[uptime_service.GetUptimeCheckConfigRequest, 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]] = (), ) -> uptime.UptimeCheckConfig: @@ -531,7 +533,7 @@ def create_uptime_check_config( *, parent: str = None, uptime_check_config: uptime.UptimeCheckConfig = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> uptime.UptimeCheckConfig: @@ -619,7 +621,7 @@ def update_uptime_check_config( request: Union[uptime_service.UpdateUptimeCheckConfigRequest, dict] = None, *, uptime_check_config: uptime.UptimeCheckConfig = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> uptime.UptimeCheckConfig: @@ -710,7 +712,7 @@ def delete_uptime_check_config( request: Union[uptime_service.DeleteUptimeCheckConfigRequest, 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: @@ -782,7 +784,7 @@ def list_uptime_check_ips( self, request: Union[uptime_service.ListUptimeCheckIpsRequest, dict] = None, *, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListUptimeCheckIpsPager: diff --git a/google/cloud/monitoring_v3/services/uptime_check_service/transports/base.py b/google/cloud/monitoring_v3/services/uptime_check_service/transports/base.py index feff8e21..7823fa50 100644 --- a/google/cloud/monitoring_v3/services/uptime_check_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/uptime_check_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 UptimeCheckServiceTransport(abc.ABC): """Abstract transport class for UptimeCheckService.""" @@ -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 = { diff --git a/google/cloud/monitoring_v3/services/uptime_check_service/transports/grpc_asyncio.py b/google/cloud/monitoring_v3/services/uptime_check_service/transports/grpc_asyncio.py index 239437a8..fa2b0ae6 100644 --- a/google/cloud/monitoring_v3/services/uptime_check_service/transports/grpc_asyncio.py +++ b/google/cloud/monitoring_v3/services/uptime_check_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/monitoring_v3/types/alert.py b/google/cloud/monitoring_v3/types/alert.py index 0d04d385..79b4055b 100644 --- a/google/cloud/monitoring_v3/types/alert.py +++ b/google/cloud/monitoring_v3/types/alert.py @@ -157,6 +157,13 @@ class Condition(proto.Message): alerting policy should open an incident. If a condition evaluates to true, it signifies that something is wrong. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: name (str): Required if the condition exists. The unique resource name @@ -197,30 +204,43 @@ class Condition(proto.Message): condition_threshold (google.cloud.monitoring_v3.types.AlertPolicy.Condition.MetricThreshold): A condition that compares a time series against a threshold. + This field is a member of `oneof`_ ``condition``. condition_absent (google.cloud.monitoring_v3.types.AlertPolicy.Condition.MetricAbsence): A condition that checks that a time series continues to receive new data points. + This field is a member of `oneof`_ ``condition``. condition_matched_log (google.cloud.monitoring_v3.types.AlertPolicy.Condition.LogMatch): A condition that checks for log messages matching given constraints. If set, no other conditions can be present. + This field is a member of `oneof`_ ``condition``. condition_monitoring_query_language (google.cloud.monitoring_v3.types.AlertPolicy.Condition.MonitoringQueryLanguageCondition): A condition that uses the Monitoring Query Language to define alerts. + This field is a member of `oneof`_ ``condition``. """ class Trigger(proto.Message): r"""Specifies how many time series must fail a predicate to trigger a condition. If not specified, then a ``{count: 1}`` trigger is used. + 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: count (int): The absolute number of time series that must fail the predicate for the condition to be triggered. + This field is a member of `oneof`_ ``type``. percent (float): The percentage of time series that must fail the predicate for the condition to be triggered. + This field is a member of `oneof`_ ``type``. """ count = proto.Field(proto.INT32, number=1, oneof="type",) diff --git a/google/cloud/monitoring_v3/types/common.py b/google/cloud/monitoring_v3/types/common.py index b9fa83f0..0a7ca699 100644 --- a/google/cloud/monitoring_v3/types/common.py +++ b/google/cloud/monitoring_v3/types/common.py @@ -59,21 +59,33 @@ class ServiceTier(proto.Enum): class TypedValue(proto.Message): r"""A single strongly-typed value. + 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): A Boolean value: ``true`` or ``false``. + This field is a member of `oneof`_ ``value``. int64_value (int): A 64-bit integer. Its range is approximately ±9.2x1018. + This field is a member of `oneof`_ ``value``. double_value (float): A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision. + This field is a member of `oneof`_ ``value``. string_value (str): A variable-length string value. + This field is a member of `oneof`_ ``value``. distribution_value (google.api.distribution_pb2.Distribution): A distribution value. + This field is a member of `oneof`_ ``value``. """ bool_value = proto.Field(proto.BOOL, number=1, oneof="value",) diff --git a/google/cloud/monitoring_v3/types/group_service.py b/google/cloud/monitoring_v3/types/group_service.py index 12f02f09..522f80ff 100644 --- a/google/cloud/monitoring_v3/types/group_service.py +++ b/google/cloud/monitoring_v3/types/group_service.py @@ -38,6 +38,13 @@ class ListGroupsRequest(proto.Message): r"""The ``ListGroup`` 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: name (str): Required. The @@ -57,6 +64,7 @@ class ListGroupsRequest(proto.Message): Returns groups whose ``parent_name`` field contains the group name. If no groups have this parent, the results are empty. + This field is a member of `oneof`_ ``filter``. ancestors_of_group (str): A group name. The format is: @@ -69,6 +77,7 @@ class ListGroupsRequest(proto.Message): immediate parent and ending with the most distant ancestor. If the specified group has no immediate parent, the results are empty. + This field is a member of `oneof`_ ``filter``. descendants_of_group (str): A group name. The format is: @@ -80,6 +89,7 @@ class ListGroupsRequest(proto.Message): superset of the results returned by the ``children_of_group`` filter, and includes children-of-children, and so forth. + This field is a member of `oneof`_ ``filter``. page_size (int): A positive number that is the maximum number of results to return. diff --git a/google/cloud/monitoring_v3/types/metric.py b/google/cloud/monitoring_v3/types/metric.py index 0f55ffd8..77be0c5b 100644 --- a/google/cloud/monitoring_v3/types/metric.py +++ b/google/cloud/monitoring_v3/types/metric.py @@ -225,13 +225,23 @@ class PointData(proto.Message): class LabelValue(proto.Message): r"""A label value. + 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): A bool label value. + This field is a member of `oneof`_ ``value``. int64_value (int): An int64 label value. + This field is a member of `oneof`_ ``value``. string_value (str): A string label value. + This field is a member of `oneof`_ ``value``. """ bool_value = proto.Field(proto.BOOL, number=1, oneof="value",) diff --git a/google/cloud/monitoring_v3/types/service.py b/google/cloud/monitoring_v3/types/service.py index 1e3a4c8b..8ec081e3 100644 --- a/google/cloud/monitoring_v3/types/service.py +++ b/google/cloud/monitoring_v3/types/service.py @@ -42,6 +42,13 @@ class Service(proto.Message): In Cloud Monitoring, a ``Service`` acts as the root resource under which operational aspects of the service are accessible. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: name (str): Resource name for this Service. The format is: @@ -54,20 +61,26 @@ class Service(proto.Message): Service. custom (google.cloud.monitoring_v3.types.Service.Custom): Custom service type. + This field is a member of `oneof`_ ``identifier``. app_engine (google.cloud.monitoring_v3.types.Service.AppEngine): Type used for App Engine services. + This field is a member of `oneof`_ ``identifier``. cloud_endpoints (google.cloud.monitoring_v3.types.Service.CloudEndpoints): Type used for Cloud Endpoints services. + This field is a member of `oneof`_ ``identifier``. cluster_istio (google.cloud.monitoring_v3.types.Service.ClusterIstio): Type used for Istio services that live in a Kubernetes cluster. + This field is a member of `oneof`_ ``identifier``. mesh_istio (google.cloud.monitoring_v3.types.Service.MeshIstio): Type used for Istio services scoped to an Istio mesh. + This field is a member of `oneof`_ ``identifier``. istio_canonical_service (google.cloud.monitoring_v3.types.Service.IstioCanonicalService): Type used for canonical services scoped to an Istio mesh. Metrics for Istio are `documented here `__ + This field is a member of `oneof`_ ``identifier``. telemetry (google.cloud.monitoring_v3.types.Service.Telemetry): Configuration for how to query telemetry on a Service. @@ -243,6 +256,13 @@ class ServiceLevelObjective(proto.Message): milliseconds" or "99.5% of requests in each calendar month return successfully." + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: name (str): Resource name for this ``ServiceLevelObjective``. The format @@ -264,10 +284,12 @@ class ServiceLevelObjective(proto.Message): A rolling time period, semantically "in the past ````". Must be an integer multiple of 1 day no larger than 30 days. + This field is a member of `oneof`_ ``period``. calendar_period (google.type.calendar_period_pb2.CalendarPeriod): A calendar period, semantically "since the start of the current ````". At this time, only ``DAY``, ``WEEK``, ``FORTNIGHT``, and ``MONTH`` are supported. + This field is a member of `oneof`_ ``period``. user_labels (Sequence[google.cloud.monitoring_v3.types.ServiceLevelObjective.UserLabelsEntry]): Labels which have been used to annotate the service-level objective. Label keys must start @@ -323,13 +345,23 @@ class ServiceLevelIndicator(proto.Message): quality, such as fraction of successful queries or fast-enough queries. + 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: basic_sli (google.cloud.monitoring_v3.types.BasicSli): Basic SLI on a well-known service type. + This field is a member of `oneof`_ ``type``. request_based (google.cloud.monitoring_v3.types.RequestBasedSli): Request-based SLIs + This field is a member of `oneof`_ ``type``. windows_based (google.cloud.monitoring_v3.types.WindowsBasedSli): Windows-based SLIs + This field is a member of `oneof`_ ``type``. """ basic_sli = proto.Field(proto.MESSAGE, number=4, oneof="type", message="BasicSli",) @@ -349,6 +381,13 @@ class BasicSli(proto.Message): to construct a monitoring filter to filter that metric down to just the data relevant to this service. + 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: method (Sequence[str]): OPTIONAL: The set of RPCs to which this SLI @@ -379,10 +418,12 @@ class BasicSli(proto.Message): Good service is defined to be the count of requests made to this service that return successfully. + This field is a member of `oneof`_ ``sli_criteria``. latency (google.cloud.monitoring_v3.types.BasicSli.LatencyCriteria): Good service is defined to be the count of requests made to this service that are fast enough with respect to ``latency.threshold``. + This field is a member of `oneof`_ ``sli_criteria``. """ class AvailabilityCriteria(proto.Message): @@ -429,16 +470,25 @@ class RequestBasedSli(proto.Message): r"""Service Level Indicators for which atomic units of service are counted directly. + 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: good_total_ratio (google.cloud.monitoring_v3.types.TimeSeriesRatio): ``good_total_ratio`` is used when the ratio of ``good_service`` to ``total_service`` is computed from two ``TimeSeries``. + This field is a member of `oneof`_ ``method``. distribution_cut (google.cloud.monitoring_v3.types.DistributionCut): ``distribution_cut`` is used when ``good_service`` is a count of values aggregated in a ``Distribution`` that fall into a good range. The ``total_service`` is the total count of all values aggregated in the ``Distribution``. + This field is a member of `oneof`_ ``method``. """ good_total_ratio = proto.Field( @@ -518,20 +568,31 @@ class WindowsBasedSli(proto.Message): for determining if service was good are embedded in the ``window_criterion``. + 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: good_bad_metric_filter (str): A `monitoring filter `__ specifying a ``TimeSeries`` with ``ValueType = BOOL``. The window is good if any ``true`` values appear in the window. + This field is a member of `oneof`_ ``window_criterion``. good_total_ratio_threshold (google.cloud.monitoring_v3.types.WindowsBasedSli.PerformanceThreshold): A window is good if its ``performance`` is high enough. + This field is a member of `oneof`_ ``window_criterion``. metric_mean_in_range (google.cloud.monitoring_v3.types.WindowsBasedSli.MetricRange): A window is good if the metric's value is in a good range, averaged across returned streams. + This field is a member of `oneof`_ ``window_criterion``. metric_sum_in_range (google.cloud.monitoring_v3.types.WindowsBasedSli.MetricRange): A window is good if the metric's value is in a good range, summed across returned streams. + This field is a member of `oneof`_ ``window_criterion``. window_period (google.protobuf.duration_pb2.Duration): Duration over which window quality is evaluated. Must be an integer fraction of a day and at least ``60s``. @@ -541,11 +602,20 @@ class PerformanceThreshold(proto.Message): r"""A ``PerformanceThreshold`` is used when each window is good when that window has a sufficiently high ``performance``. + 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: performance (google.cloud.monitoring_v3.types.RequestBasedSli): ``RequestBasedSli`` to evaluate to judge window quality. + This field is a member of `oneof`_ ``type``. basic_sli_performance (google.cloud.monitoring_v3.types.BasicSli): ``BasicSli`` to evaluate to judge window quality. + This field is a member of `oneof`_ ``type``. threshold (float): If window ``performance >= threshold``, the window is counted as good. diff --git a/google/cloud/monitoring_v3/types/uptime.py b/google/cloud/monitoring_v3/types/uptime.py index c1ed613e..3ce7e87f 100644 --- a/google/cloud/monitoring_v3/types/uptime.py +++ b/google/cloud/monitoring_v3/types/uptime.py @@ -109,6 +109,13 @@ class UptimeCheckConfig(proto.Message): r"""This message configures which resources and services to monitor for availability. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: name (str): A unique resource name for this Uptime check configuration. @@ -137,15 +144,19 @@ class UptimeCheckConfig(proto.Message): resource types are valid for this field: ``uptime_url``, ``gce_instance``, ``gae_app``, ``aws_ec2_instance``, ``aws_elb_load_balancer`` ``k8s_service`` + This field is a member of `oneof`_ ``resource``. resource_group (google.cloud.monitoring_v3.types.UptimeCheckConfig.ResourceGroup): The group resource associated with the configuration. + This field is a member of `oneof`_ ``resource``. http_check (google.cloud.monitoring_v3.types.UptimeCheckConfig.HttpCheck): Contains information needed to make an HTTP or HTTPS check. + This field is a member of `oneof`_ ``check_request_type``. tcp_check (google.cloud.monitoring_v3.types.UptimeCheckConfig.TcpCheck): Contains information needed to make a TCP check. + This field is a member of `oneof`_ ``check_request_type``. period (google.protobuf.duration_pb2.Duration): How often, in seconds, the Uptime check is performed. Currently, the only supported values are ``60s`` (1 minute), diff --git a/monitoring-v3-py.tar.gz b/monitoring-v3-py.tar.gz new file mode 100644 index 00000000..bb98aea5 Binary files /dev/null and b/monitoring-v3-py.tar.gz differ diff --git a/setup.py b/setup.py index 085b1571..525a121c 100644 --- a/setup.py +++ b/setup.py @@ -32,9 +32,8 @@ # NOTE: Maintainers, please do not require google-api-core>=2.x.x # Until this issue is closed # https://github.com/googleapis/google-cloud-python/issues/10566 - "google-api-core[grpc] >= 1.26.0, <3.0.0dev", + "google-api-core[grpc] >= 1.28.0, <3.0.0dev", "proto-plus >= 1.15.0", - "packaging >= 14.3", ] extras = {"pandas": "pandas >= 0.17.1"} diff --git a/testing/constraints-3.6.txt b/testing/constraints-3.6.txt index eb314df0..9d158e8c 100644 --- a/testing/constraints-3.6.txt +++ b/testing/constraints-3.6.txt @@ -2,11 +2,8 @@ # are correct in setup.py # List all library dependencies and extras in this file. # Pin the version to the lower bound. - # e.g., if setup.py has "google-cloud-foo >= 1.14.0, < 2.0.0dev", # Then this file should have google-cloud-foo==1.14.0 -google-api-core==1.26.0 +google-api-core==1.28.0 proto-plus==1.15.0 pandas==0.23.0 -packaging==14.3 -google-auth==1.24.0 # TODO: remove when google-auth>=1.25.0 is required through google-api-core diff --git a/tests/unit/gapic/monitoring_v3/test_alert_policy_service.py b/tests/unit/gapic/monitoring_v3/test_alert_policy_service.py index 87432995..46f25336 100644 --- a/tests/unit/gapic/monitoring_v3/test_alert_policy_service.py +++ b/tests/unit/gapic/monitoring_v3/test_alert_policy_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -40,9 +39,6 @@ ) from google.cloud.monitoring_v3.services.alert_policy_service import pagers from google.cloud.monitoring_v3.services.alert_policy_service import transports -from google.cloud.monitoring_v3.services.alert_policy_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.monitoring_v3.types import alert from google.cloud.monitoring_v3.types import alert_service from google.cloud.monitoring_v3.types import common @@ -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" @@ -228,7 +210,7 @@ def test_alert_policy_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, @@ -245,7 +227,7 @@ def test_alert_policy_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, @@ -262,7 +244,7 @@ def test_alert_policy_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, @@ -291,7 +273,7 @@ def test_alert_policy_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, @@ -360,7 +342,7 @@ def test_alert_policy_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 @@ -402,7 +384,7 @@ def test_alert_policy_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, @@ -424,7 +406,7 @@ def test_alert_policy_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, @@ -455,7 +437,7 @@ def test_alert_policy_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, @@ -486,7 +468,7 @@ def test_alert_policy_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", @@ -1948,7 +1930,6 @@ def test_alert_policy_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_alert_policy_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -1973,30 +1954,6 @@ def test_alert_policy_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_alert_policy_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.monitoring_v3.services.alert_policy_service.transports.AlertPolicyServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.AlertPolicyServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - def test_alert_policy_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( @@ -2008,7 +1965,6 @@ def test_alert_policy_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_alert_policy_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2025,22 +1981,6 @@ def test_alert_policy_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_alert_policy_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) - AlertPolicyServiceClient() - adc.assert_called_once_with( - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -2048,7 +1988,6 @@ def test_alert_policy_service_auth_adc_old_google_auth(): transports.AlertPolicyServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_alert_policy_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2066,30 +2005,6 @@ def test_alert_policy_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.AlertPolicyServiceGrpcTransport, - transports.AlertPolicyServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_alert_policy_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", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [ diff --git a/tests/unit/gapic/monitoring_v3/test_group_service.py b/tests/unit/gapic/monitoring_v3/test_group_service.py index 944ed6fc..5ea2b55e 100644 --- a/tests/unit/gapic/monitoring_v3/test_group_service.py +++ b/tests/unit/gapic/monitoring_v3/test_group_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -37,9 +36,6 @@ from google.cloud.monitoring_v3.services.group_service import GroupServiceClient from google.cloud.monitoring_v3.services.group_service import pagers from google.cloud.monitoring_v3.services.group_service import transports -from google.cloud.monitoring_v3.services.group_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.monitoring_v3.types import common from google.cloud.monitoring_v3.types import group from google.cloud.monitoring_v3.types import group as gm_group @@ -49,20 +45,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" @@ -210,7 +192,7 @@ def test_group_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, @@ -227,7 +209,7 @@ def test_group_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, @@ -244,7 +226,7 @@ def test_group_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, @@ -273,7 +255,7 @@ def test_group_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, @@ -330,7 +312,7 @@ def test_group_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 @@ -372,7 +354,7 @@ def test_group_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, @@ -394,7 +376,7 @@ def test_group_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, @@ -425,7 +407,7 @@ def test_group_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, @@ -456,7 +438,7 @@ def test_group_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", @@ -2125,7 +2107,6 @@ def test_group_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_group_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2150,30 +2131,6 @@ def test_group_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_group_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.monitoring_v3.services.group_service.transports.GroupServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.GroupServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - def test_group_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( @@ -2185,7 +2142,6 @@ def test_group_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_group_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2202,22 +2158,6 @@ def test_group_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_group_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) - GroupServiceClient() - adc.assert_called_once_with( - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -2225,7 +2165,6 @@ def test_group_service_auth_adc_old_google_auth(): transports.GroupServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_group_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2243,30 +2182,6 @@ def test_group_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.GroupServiceGrpcTransport, - transports.GroupServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_group_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", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [ diff --git a/tests/unit/gapic/monitoring_v3/test_metric_service.py b/tests/unit/gapic/monitoring_v3/test_metric_service.py index 9e0600b2..7829c83b 100644 --- a/tests/unit/gapic/monitoring_v3/test_metric_service.py +++ b/tests/unit/gapic/monitoring_v3/test_metric_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.monitoring_v3.services.metric_service import MetricServiceClient from google.cloud.monitoring_v3.services.metric_service import pagers from google.cloud.monitoring_v3.services.metric_service import transports -from google.cloud.monitoring_v3.services.metric_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.monitoring_v3.types import common from google.cloud.monitoring_v3.types import metric as gm_metric from google.cloud.monitoring_v3.types import metric_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_metric_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_metric_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_metric_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_metric_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_metric_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_metric_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_metric_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_metric_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_metric_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", @@ -3219,7 +3201,6 @@ def test_metric_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_metric_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3245,31 +3226,6 @@ def test_metric_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_metric_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.monitoring_v3.services.metric_service.transports.MetricServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.MetricServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - "https://www.googleapis.com/auth/monitoring.write", - ), - quota_project_id="octopus", - ) - - def test_metric_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( @@ -3281,7 +3237,6 @@ def test_metric_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_metric_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3299,23 +3254,6 @@ def test_metric_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_metric_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) - MetricServiceClient() - adc.assert_called_once_with( - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - "https://www.googleapis.com/auth/monitoring.write", - ), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3323,7 +3261,6 @@ def test_metric_service_auth_adc_old_google_auth(): transports.MetricServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_metric_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3342,31 +3279,6 @@ def test_metric_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.MetricServiceGrpcTransport, - transports.MetricServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_metric_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", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - "https://www.googleapis.com/auth/monitoring.write", - ), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [ diff --git a/tests/unit/gapic/monitoring_v3/test_notification_channel_service.py b/tests/unit/gapic/monitoring_v3/test_notification_channel_service.py index 167f60b0..eedfda63 100644 --- a/tests/unit/gapic/monitoring_v3/test_notification_channel_service.py +++ b/tests/unit/gapic/monitoring_v3/test_notification_channel_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -42,9 +41,6 @@ ) from google.cloud.monitoring_v3.services.notification_channel_service import pagers from google.cloud.monitoring_v3.services.notification_channel_service import transports -from google.cloud.monitoring_v3.services.notification_channel_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.monitoring_v3.types import common from google.cloud.monitoring_v3.types import mutation_record from google.cloud.monitoring_v3.types import notification @@ -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" @@ -239,7 +221,7 @@ def test_notification_channel_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_notification_channel_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_notification_channel_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_notification_channel_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_notification_channel_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_notification_channel_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_notification_channel_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_notification_channel_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_notification_channel_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", @@ -3494,7 +3476,6 @@ def test_notification_channel_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_notification_channel_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3519,30 +3500,6 @@ def test_notification_channel_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_notification_channel_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.monitoring_v3.services.notification_channel_service.transports.NotificationChannelServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.NotificationChannelServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - def test_notification_channel_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( @@ -3554,7 +3511,6 @@ def test_notification_channel_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_notification_channel_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3571,22 +3527,6 @@ def test_notification_channel_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_notification_channel_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) - NotificationChannelServiceClient() - adc.assert_called_once_with( - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3594,7 +3534,6 @@ def test_notification_channel_service_auth_adc_old_google_auth(): transports.NotificationChannelServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_notification_channel_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3612,32 +3551,6 @@ def test_notification_channel_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.NotificationChannelServiceGrpcTransport, - transports.NotificationChannelServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_notification_channel_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", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [ diff --git a/tests/unit/gapic/monitoring_v3/test_query_service.py b/tests/unit/gapic/monitoring_v3/test_query_service.py index 045bc1d3..cc9dfbcf 100644 --- a/tests/unit/gapic/monitoring_v3/test_query_service.py +++ b/tests/unit/gapic/monitoring_v3/test_query_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -36,29 +35,12 @@ from google.cloud.monitoring_v3.services.query_service import QueryServiceClient from google.cloud.monitoring_v3.services.query_service import pagers from google.cloud.monitoring_v3.services.query_service import transports -from google.cloud.monitoring_v3.services.query_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.monitoring_v3.types import metric from google.cloud.monitoring_v3.types import metric_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" @@ -206,7 +188,7 @@ def test_query_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, @@ -223,7 +205,7 @@ def test_query_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, @@ -240,7 +222,7 @@ def test_query_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, @@ -269,7 +251,7 @@ def test_query_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, @@ -326,7 +308,7 @@ def test_query_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 @@ -368,7 +350,7 @@ def test_query_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, @@ -390,7 +372,7 @@ def test_query_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, @@ -421,7 +403,7 @@ def test_query_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, @@ -452,7 +434,7 @@ def test_query_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", @@ -888,7 +870,6 @@ def test_query_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_query_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -913,30 +894,6 @@ def test_query_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_query_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.monitoring_v3.services.query_service.transports.QueryServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.QueryServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - def test_query_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( @@ -948,7 +905,6 @@ def test_query_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_query_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -965,22 +921,6 @@ def test_query_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_query_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) - QueryServiceClient() - adc.assert_called_once_with( - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -988,7 +928,6 @@ def test_query_service_auth_adc_old_google_auth(): transports.QueryServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_query_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -1006,30 +945,6 @@ def test_query_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.QueryServiceGrpcTransport, - transports.QueryServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_query_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", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [ diff --git a/tests/unit/gapic/monitoring_v3/test_service_monitoring_service.py b/tests/unit/gapic/monitoring_v3/test_service_monitoring_service.py index 72e45fd8..4e652eb5 100644 --- a/tests/unit/gapic/monitoring_v3/test_service_monitoring_service.py +++ b/tests/unit/gapic/monitoring_v3/test_service_monitoring_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -40,9 +39,6 @@ ) from google.cloud.monitoring_v3.services.service_monitoring_service import pagers from google.cloud.monitoring_v3.services.service_monitoring_service import transports -from google.cloud.monitoring_v3.services.service_monitoring_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.monitoring_v3.types import service from google.cloud.monitoring_v3.types import service as gm_service from google.cloud.monitoring_v3.types import service_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" @@ -234,7 +216,7 @@ def test_service_monitoring_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_service_monitoring_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_service_monitoring_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_service_monitoring_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_service_monitoring_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_service_monitoring_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_service_monitoring_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, @@ -465,7 +447,7 @@ def test_service_monitoring_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_service_monitoring_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", @@ -3198,7 +3180,6 @@ def test_service_monitoring_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_service_monitoring_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -3223,30 +3204,6 @@ def test_service_monitoring_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_service_monitoring_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.monitoring_v3.services.service_monitoring_service.transports.ServiceMonitoringServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.ServiceMonitoringServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - def test_service_monitoring_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( @@ -3258,7 +3215,6 @@ def test_service_monitoring_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_service_monitoring_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -3275,22 +3231,6 @@ def test_service_monitoring_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_service_monitoring_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) - ServiceMonitoringServiceClient() - adc.assert_called_once_with( - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -3298,7 +3238,6 @@ def test_service_monitoring_service_auth_adc_old_google_auth(): transports.ServiceMonitoringServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_service_monitoring_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -3316,30 +3255,6 @@ def test_service_monitoring_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.ServiceMonitoringServiceGrpcTransport, - transports.ServiceMonitoringServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_service_monitoring_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", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [ diff --git a/tests/unit/gapic/monitoring_v3/test_uptime_check_service.py b/tests/unit/gapic/monitoring_v3/test_uptime_check_service.py index 40c4a60c..ed05aa0d 100644 --- a/tests/unit/gapic/monitoring_v3/test_uptime_check_service.py +++ b/tests/unit/gapic/monitoring_v3/test_uptime_check_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.monitoring_v3.services.uptime_check_service import pagers from google.cloud.monitoring_v3.services.uptime_check_service import transports -from google.cloud.monitoring_v3.services.uptime_check_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.monitoring_v3.types import uptime from google.cloud.monitoring_v3.types import uptime_service from google.oauth2 import service_account @@ -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_uptime_check_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_uptime_check_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_uptime_check_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_uptime_check_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_uptime_check_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_uptime_check_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_uptime_check_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_uptime_check_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_uptime_check_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", @@ -2260,7 +2242,6 @@ def test_uptime_check_service_base_transport(): transport.close() -@requires_google_auth_gte_1_25_0 def test_uptime_check_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2285,30 +2266,6 @@ def test_uptime_check_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_uptime_check_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.monitoring_v3.services.uptime_check_service.transports.UptimeCheckServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.UptimeCheckServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - def test_uptime_check_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( @@ -2320,7 +2277,6 @@ def test_uptime_check_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_uptime_check_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2337,22 +2293,6 @@ def test_uptime_check_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_uptime_check_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) - UptimeCheckServiceClient() - adc.assert_called_once_with( - scopes=( - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [ @@ -2360,7 +2300,6 @@ def test_uptime_check_service_auth_adc_old_google_auth(): transports.UptimeCheckServiceGrpcAsyncIOTransport, ], ) -@requires_google_auth_gte_1_25_0 def test_uptime_check_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2378,30 +2317,6 @@ def test_uptime_check_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [ - transports.UptimeCheckServiceGrpcTransport, - transports.UptimeCheckServiceGrpcAsyncIOTransport, - ], -) -@requires_google_auth_lt_1_25_0 -def test_uptime_check_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", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - ), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [