From 77980ff1b910b89ca4177cc193f7d3033ca7d871 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 27 Sep 2021 19:51:47 +0200 Subject: [PATCH 1/8] chore(deps): update dependency google-cloud-monitoring to v2.5.1 (#223) --- samples/snippets/v3/alerts-client/requirements.txt | 2 +- samples/snippets/v3/cloud-client/requirements.txt | 2 +- samples/snippets/v3/uptime-check-client/requirements.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/samples/snippets/v3/alerts-client/requirements.txt b/samples/snippets/v3/alerts-client/requirements.txt index 8eee4bfb..d1445c0b 100644 --- a/samples/snippets/v3/alerts-client/requirements.txt +++ b/samples/snippets/v3/alerts-client/requirements.txt @@ -1,2 +1,2 @@ -google-cloud-monitoring==2.5.0 +google-cloud-monitoring==2.5.1 tabulate==0.8.9 diff --git a/samples/snippets/v3/cloud-client/requirements.txt b/samples/snippets/v3/cloud-client/requirements.txt index 98e3db3a..c6843f58 100644 --- a/samples/snippets/v3/cloud-client/requirements.txt +++ b/samples/snippets/v3/cloud-client/requirements.txt @@ -1 +1 @@ -google-cloud-monitoring==2.5.0 +google-cloud-monitoring==2.5.1 diff --git a/samples/snippets/v3/uptime-check-client/requirements.txt b/samples/snippets/v3/uptime-check-client/requirements.txt index 8eee4bfb..d1445c0b 100644 --- a/samples/snippets/v3/uptime-check-client/requirements.txt +++ b/samples/snippets/v3/uptime-check-client/requirements.txt @@ -1,2 +1,2 @@ -google-cloud-monitoring==2.5.0 +google-cloud-monitoring==2.5.1 tabulate==0.8.9 From 4a8b823061a03fd0e5c385c1fa0ac964b9a5597a Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 30 Sep 2021 09:40:14 +0000 Subject: [PATCH 2/8] chore: use gapic-generator-python 0.52.0 (#224) - [ ] Regenerate this pull request now. fix: improper types in pagers generation PiperOrigin-RevId: 399773015 Source-Link: https://github.com/googleapis/googleapis/commit/410c184536a22fadaf00aec3cab04102e34d2322 Source-Link: https://github.com/googleapis/googleapis-gen/commit/290e883545e3ac9ff2bd00cd0dacb28f1b8ca945 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMjkwZTg4MzU0NWUzYWM5ZmYyYmQwMGNkMGRhY2IyOGYxYjhjYTk0NSJ9 --- .../services/alert_policy_service/pagers.py | 12 ++++---- .../services/group_service/pagers.py | 20 ++++++------- .../services/metric_service/pagers.py | 28 +++++++++---------- .../notification_channel_service/pagers.py | 20 ++++++------- .../services/query_service/pagers.py | 12 ++++---- .../service_monitoring_service/pagers.py | 20 ++++++------- .../services/uptime_check_service/pagers.py | 20 ++++++------- 7 files changed, 66 insertions(+), 66 deletions(-) diff --git a/google/cloud/monitoring_v3/services/alert_policy_service/pagers.py b/google/cloud/monitoring_v3/services/alert_policy_service/pagers.py index 11381e37..cd165d84 100644 --- a/google/cloud/monitoring_v3/services/alert_policy_service/pagers.py +++ b/google/cloud/monitoring_v3/services/alert_policy_service/pagers.py @@ -15,13 +15,13 @@ # from typing import ( Any, - AsyncIterable, + AsyncIterator, Awaitable, Callable, - Iterable, Sequence, Tuple, Optional, + Iterator, ) from google.cloud.monitoring_v3.types import alert @@ -75,14 +75,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[alert_service.ListAlertPoliciesResponse]: + def pages(self) -> Iterator[alert_service.ListAlertPoliciesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[alert.AlertPolicy]: + def __iter__(self) -> Iterator[alert.AlertPolicy]: for page in self.pages: yield from page.alert_policies @@ -137,14 +137,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - async def pages(self) -> AsyncIterable[alert_service.ListAlertPoliciesResponse]: + async def pages(self) -> AsyncIterator[alert_service.ListAlertPoliciesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[alert.AlertPolicy]: + def __aiter__(self) -> AsyncIterator[alert.AlertPolicy]: async def async_generator(): async for page in self.pages: for response in page.alert_policies: diff --git a/google/cloud/monitoring_v3/services/group_service/pagers.py b/google/cloud/monitoring_v3/services/group_service/pagers.py index 92700563..9a85e45a 100644 --- a/google/cloud/monitoring_v3/services/group_service/pagers.py +++ b/google/cloud/monitoring_v3/services/group_service/pagers.py @@ -15,13 +15,13 @@ # from typing import ( Any, - AsyncIterable, + AsyncIterator, Awaitable, Callable, - Iterable, Sequence, Tuple, Optional, + Iterator, ) from google.api import monitored_resource_pb2 # type: ignore @@ -76,14 +76,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[group_service.ListGroupsResponse]: + def pages(self) -> Iterator[group_service.ListGroupsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[group.Group]: + def __iter__(self) -> Iterator[group.Group]: for page in self.pages: yield from page.group @@ -138,14 +138,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - async def pages(self) -> AsyncIterable[group_service.ListGroupsResponse]: + async def pages(self) -> AsyncIterator[group_service.ListGroupsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[group.Group]: + def __aiter__(self) -> AsyncIterator[group.Group]: async def async_generator(): async for page in self.pages: for response in page.group: @@ -204,14 +204,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[group_service.ListGroupMembersResponse]: + def pages(self) -> Iterator[group_service.ListGroupMembersResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[monitored_resource_pb2.MonitoredResource]: + def __iter__(self) -> Iterator[monitored_resource_pb2.MonitoredResource]: for page in self.pages: yield from page.members @@ -266,14 +266,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - async def pages(self) -> AsyncIterable[group_service.ListGroupMembersResponse]: + async def pages(self) -> AsyncIterator[group_service.ListGroupMembersResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[monitored_resource_pb2.MonitoredResource]: + def __aiter__(self) -> AsyncIterator[monitored_resource_pb2.MonitoredResource]: async def async_generator(): async for page in self.pages: for response in page.members: diff --git a/google/cloud/monitoring_v3/services/metric_service/pagers.py b/google/cloud/monitoring_v3/services/metric_service/pagers.py index 1db13a3e..39251fee 100644 --- a/google/cloud/monitoring_v3/services/metric_service/pagers.py +++ b/google/cloud/monitoring_v3/services/metric_service/pagers.py @@ -15,13 +15,13 @@ # from typing import ( Any, - AsyncIterable, + AsyncIterator, Awaitable, Callable, - Iterable, Sequence, Tuple, Optional, + Iterator, ) from google.api import metric_pb2 # type: ignore @@ -79,14 +79,14 @@ def __getattr__(self, name: str) -> Any: @property def pages( self, - ) -> Iterable[metric_service.ListMonitoredResourceDescriptorsResponse]: + ) -> Iterator[metric_service.ListMonitoredResourceDescriptorsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[monitored_resource_pb2.MonitoredResourceDescriptor]: + def __iter__(self) -> Iterator[monitored_resource_pb2.MonitoredResourceDescriptor]: for page in self.pages: yield from page.resource_descriptors @@ -145,7 +145,7 @@ def __getattr__(self, name: str) -> Any: @property async def pages( self, - ) -> AsyncIterable[metric_service.ListMonitoredResourceDescriptorsResponse]: + ) -> AsyncIterator[metric_service.ListMonitoredResourceDescriptorsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token @@ -154,7 +154,7 @@ async def pages( def __aiter__( self, - ) -> AsyncIterable[monitored_resource_pb2.MonitoredResourceDescriptor]: + ) -> AsyncIterator[monitored_resource_pb2.MonitoredResourceDescriptor]: async def async_generator(): async for page in self.pages: for response in page.resource_descriptors: @@ -213,14 +213,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[metric_service.ListMetricDescriptorsResponse]: + def pages(self) -> Iterator[metric_service.ListMetricDescriptorsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[metric_pb2.MetricDescriptor]: + def __iter__(self) -> Iterator[metric_pb2.MetricDescriptor]: for page in self.pages: yield from page.metric_descriptors @@ -277,14 +277,14 @@ def __getattr__(self, name: str) -> Any: @property async def pages( self, - ) -> AsyncIterable[metric_service.ListMetricDescriptorsResponse]: + ) -> AsyncIterator[metric_service.ListMetricDescriptorsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[metric_pb2.MetricDescriptor]: + def __aiter__(self) -> AsyncIterator[metric_pb2.MetricDescriptor]: async def async_generator(): async for page in self.pages: for response in page.metric_descriptors: @@ -343,14 +343,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[metric_service.ListTimeSeriesResponse]: + def pages(self) -> Iterator[metric_service.ListTimeSeriesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[gm_metric.TimeSeries]: + def __iter__(self) -> Iterator[gm_metric.TimeSeries]: for page in self.pages: yield from page.time_series @@ -405,14 +405,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - async def pages(self) -> AsyncIterable[metric_service.ListTimeSeriesResponse]: + async def pages(self) -> AsyncIterator[metric_service.ListTimeSeriesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[gm_metric.TimeSeries]: + def __aiter__(self) -> AsyncIterator[gm_metric.TimeSeries]: async def async_generator(): async for page in self.pages: for response in page.time_series: diff --git a/google/cloud/monitoring_v3/services/notification_channel_service/pagers.py b/google/cloud/monitoring_v3/services/notification_channel_service/pagers.py index 2640ed20..fb601e50 100644 --- a/google/cloud/monitoring_v3/services/notification_channel_service/pagers.py +++ b/google/cloud/monitoring_v3/services/notification_channel_service/pagers.py @@ -15,13 +15,13 @@ # from typing import ( Any, - AsyncIterable, + AsyncIterator, Awaitable, Callable, - Iterable, Sequence, Tuple, Optional, + Iterator, ) from google.cloud.monitoring_v3.types import notification @@ -81,14 +81,14 @@ def __getattr__(self, name: str) -> Any: @property def pages( self, - ) -> Iterable[notification_service.ListNotificationChannelDescriptorsResponse]: + ) -> Iterator[notification_service.ListNotificationChannelDescriptorsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[notification.NotificationChannelDescriptor]: + def __iter__(self) -> Iterator[notification.NotificationChannelDescriptor]: for page in self.pages: yield from page.channel_descriptors @@ -150,14 +150,14 @@ def __getattr__(self, name: str) -> Any: @property async def pages( self, - ) -> AsyncIterable[notification_service.ListNotificationChannelDescriptorsResponse]: + ) -> AsyncIterator[notification_service.ListNotificationChannelDescriptorsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[notification.NotificationChannelDescriptor]: + def __aiter__(self) -> AsyncIterator[notification.NotificationChannelDescriptor]: async def async_generator(): async for page in self.pages: for response in page.channel_descriptors: @@ -216,14 +216,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[notification_service.ListNotificationChannelsResponse]: + def pages(self) -> Iterator[notification_service.ListNotificationChannelsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[notification.NotificationChannel]: + def __iter__(self) -> Iterator[notification.NotificationChannel]: for page in self.pages: yield from page.notification_channels @@ -282,14 +282,14 @@ def __getattr__(self, name: str) -> Any: @property async def pages( self, - ) -> AsyncIterable[notification_service.ListNotificationChannelsResponse]: + ) -> AsyncIterator[notification_service.ListNotificationChannelsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[notification.NotificationChannel]: + def __aiter__(self) -> AsyncIterator[notification.NotificationChannel]: async def async_generator(): async for page in self.pages: for response in page.notification_channels: diff --git a/google/cloud/monitoring_v3/services/query_service/pagers.py b/google/cloud/monitoring_v3/services/query_service/pagers.py index 01905b3c..83730d9f 100644 --- a/google/cloud/monitoring_v3/services/query_service/pagers.py +++ b/google/cloud/monitoring_v3/services/query_service/pagers.py @@ -15,13 +15,13 @@ # from typing import ( Any, - AsyncIterable, + AsyncIterator, Awaitable, Callable, - Iterable, Sequence, Tuple, Optional, + Iterator, ) from google.cloud.monitoring_v3.types import metric @@ -75,14 +75,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[metric_service.QueryTimeSeriesResponse]: + def pages(self) -> Iterator[metric_service.QueryTimeSeriesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[metric.TimeSeriesData]: + def __iter__(self) -> Iterator[metric.TimeSeriesData]: for page in self.pages: yield from page.time_series_data @@ -137,14 +137,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - async def pages(self) -> AsyncIterable[metric_service.QueryTimeSeriesResponse]: + async def pages(self) -> AsyncIterator[metric_service.QueryTimeSeriesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[metric.TimeSeriesData]: + def __aiter__(self) -> AsyncIterator[metric.TimeSeriesData]: async def async_generator(): async for page in self.pages: for response in page.time_series_data: diff --git a/google/cloud/monitoring_v3/services/service_monitoring_service/pagers.py b/google/cloud/monitoring_v3/services/service_monitoring_service/pagers.py index 33da2e1a..63d982dc 100644 --- a/google/cloud/monitoring_v3/services/service_monitoring_service/pagers.py +++ b/google/cloud/monitoring_v3/services/service_monitoring_service/pagers.py @@ -15,13 +15,13 @@ # from typing import ( Any, - AsyncIterable, + AsyncIterator, Awaitable, Callable, - Iterable, Sequence, Tuple, Optional, + Iterator, ) from google.cloud.monitoring_v3.types import service @@ -75,14 +75,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[service_service.ListServicesResponse]: + def pages(self) -> Iterator[service_service.ListServicesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[service.Service]: + def __iter__(self) -> Iterator[service.Service]: for page in self.pages: yield from page.services @@ -137,14 +137,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - async def pages(self) -> AsyncIterable[service_service.ListServicesResponse]: + async def pages(self) -> AsyncIterator[service_service.ListServicesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[service.Service]: + def __aiter__(self) -> AsyncIterator[service.Service]: async def async_generator(): async for page in self.pages: for response in page.services: @@ -203,14 +203,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[service_service.ListServiceLevelObjectivesResponse]: + def pages(self) -> Iterator[service_service.ListServiceLevelObjectivesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[service.ServiceLevelObjective]: + def __iter__(self) -> Iterator[service.ServiceLevelObjective]: for page in self.pages: yield from page.service_level_objectives @@ -269,14 +269,14 @@ def __getattr__(self, name: str) -> Any: @property async def pages( self, - ) -> AsyncIterable[service_service.ListServiceLevelObjectivesResponse]: + ) -> AsyncIterator[service_service.ListServiceLevelObjectivesResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[service.ServiceLevelObjective]: + def __aiter__(self) -> AsyncIterator[service.ServiceLevelObjective]: async def async_generator(): async for page in self.pages: for response in page.service_level_objectives: diff --git a/google/cloud/monitoring_v3/services/uptime_check_service/pagers.py b/google/cloud/monitoring_v3/services/uptime_check_service/pagers.py index 495fbefc..885ec427 100644 --- a/google/cloud/monitoring_v3/services/uptime_check_service/pagers.py +++ b/google/cloud/monitoring_v3/services/uptime_check_service/pagers.py @@ -15,13 +15,13 @@ # from typing import ( Any, - AsyncIterable, + AsyncIterator, Awaitable, Callable, - Iterable, Sequence, Tuple, Optional, + Iterator, ) from google.cloud.monitoring_v3.types import uptime @@ -75,14 +75,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[uptime_service.ListUptimeCheckConfigsResponse]: + def pages(self) -> Iterator[uptime_service.ListUptimeCheckConfigsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[uptime.UptimeCheckConfig]: + def __iter__(self) -> Iterator[uptime.UptimeCheckConfig]: for page in self.pages: yield from page.uptime_check_configs @@ -139,14 +139,14 @@ def __getattr__(self, name: str) -> Any: @property async def pages( self, - ) -> AsyncIterable[uptime_service.ListUptimeCheckConfigsResponse]: + ) -> AsyncIterator[uptime_service.ListUptimeCheckConfigsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[uptime.UptimeCheckConfig]: + def __aiter__(self) -> AsyncIterator[uptime.UptimeCheckConfig]: async def async_generator(): async for page in self.pages: for response in page.uptime_check_configs: @@ -205,14 +205,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - def pages(self) -> Iterable[uptime_service.ListUptimeCheckIpsResponse]: + def pages(self) -> Iterator[uptime_service.ListUptimeCheckIpsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = self._method(self._request, metadata=self._metadata) yield self._response - def __iter__(self) -> Iterable[uptime.UptimeCheckIp]: + def __iter__(self) -> Iterator[uptime.UptimeCheckIp]: for page in self.pages: yield from page.uptime_check_ips @@ -267,14 +267,14 @@ def __getattr__(self, name: str) -> Any: return getattr(self._response, name) @property - async def pages(self) -> AsyncIterable[uptime_service.ListUptimeCheckIpsResponse]: + async def pages(self) -> AsyncIterator[uptime_service.ListUptimeCheckIpsResponse]: yield self._response while self._response.next_page_token: self._request.page_token = self._response.next_page_token self._response = await self._method(self._request, metadata=self._metadata) yield self._response - def __aiter__(self) -> AsyncIterable[uptime.UptimeCheckIp]: + def __aiter__(self) -> AsyncIterator[uptime.UptimeCheckIp]: async def async_generator(): async for page in self.pages: for response in page.uptime_check_ips: From 188c767a0f27c827e29758f595d965e463e85466 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 30 Sep 2021 15:22:13 +0000 Subject: [PATCH 3/8] chore: release 2.5.2 (#225) :robot: I have created a release \*beep\* \*boop\* --- ### [2.5.2](https://www.github.com/googleapis/python-monitoring/compare/v2.5.1...v2.5.2) (2021-09-30) ### Bug Fixes * improper types in pagers generation ([4a8b823](https://www.github.com/googleapis/python-monitoring/commit/4a8b823061a03fd0e5c385c1fa0ac964b9a5597a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- CHANGELOG.md | 7 +++++++ setup.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d02c016..51016a52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://pypi.org/project/google-cloud-monitoring/#history +### [2.5.2](https://www.github.com/googleapis/python-monitoring/compare/v2.5.1...v2.5.2) (2021-09-30) + + +### Bug Fixes + +* improper types in pagers generation ([4a8b823](https://www.github.com/googleapis/python-monitoring/commit/4a8b823061a03fd0e5c385c1fa0ac964b9a5597a)) + ### [2.5.1](https://www.github.com/googleapis/python-monitoring/compare/v2.5.0...v2.5.1) (2021-09-24) diff --git a/setup.py b/setup.py index 4a8c0703..564269ce 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ name = "google-cloud-monitoring" description = "Stackdriver Monitoring API client library" -version = "2.5.1" +version = "2.5.2" # Should be one of: # 'Development Status :: 3 - Alpha' # 'Development Status :: 4 - Beta' From aaffc3990f95017186ce9660e6cec8da03285cc6 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 30 Sep 2021 15:44:19 +0000 Subject: [PATCH 4/8] chore: fail samples nox session if python version is missing (#226) --- .github/.OwlBot.lock.yaml | 2 +- samples/snippets/v3/alerts-client/noxfile.py | 4 ++++ samples/snippets/v3/cloud-client/noxfile.py | 4 ++++ samples/snippets/v3/uptime-check-client/noxfile.py | 4 ++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 2567653c..ae6c57fa 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -1,3 +1,3 @@ docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:87eee22d276554e4e52863ec9b1cb6a7245815dfae20439712bf644348215a5a + digest: sha256:82b12321da4446a73cb11bcb6812fbec8c105abda3946d46e6394e5fbfb64c0f diff --git a/samples/snippets/v3/alerts-client/noxfile.py b/samples/snippets/v3/alerts-client/noxfile.py index b008613f..1fd8956f 100644 --- a/samples/snippets/v3/alerts-client/noxfile.py +++ b/samples/snippets/v3/alerts-client/noxfile.py @@ -98,6 +98,10 @@ def get_pytest_env_vars() -> Dict[str, str]: "True", "true", ) + +# Error if a python version is missing +nox.options.error_on_missing_interpreters = True + # # Style Checks # diff --git a/samples/snippets/v3/cloud-client/noxfile.py b/samples/snippets/v3/cloud-client/noxfile.py index b008613f..1fd8956f 100644 --- a/samples/snippets/v3/cloud-client/noxfile.py +++ b/samples/snippets/v3/cloud-client/noxfile.py @@ -98,6 +98,10 @@ def get_pytest_env_vars() -> Dict[str, str]: "True", "true", ) + +# Error if a python version is missing +nox.options.error_on_missing_interpreters = True + # # Style Checks # diff --git a/samples/snippets/v3/uptime-check-client/noxfile.py b/samples/snippets/v3/uptime-check-client/noxfile.py index b008613f..1fd8956f 100644 --- a/samples/snippets/v3/uptime-check-client/noxfile.py +++ b/samples/snippets/v3/uptime-check-client/noxfile.py @@ -98,6 +98,10 @@ def get_pytest_env_vars() -> Dict[str, str]: "True", "true", ) + +# Error if a python version is missing +nox.options.error_on_missing_interpreters = True + # # Style Checks # From a470ec0d3db40444387a8e9858d3182e8d6d8c86 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Tue, 5 Oct 2021 11:17:27 -0400 Subject: [PATCH 5/8] chore: add default_version and codeowner_team to .repo-metadata.json (#228) * chore: add default_version and codeowner_team to .repo-metadata.json * update default_version --- .repo-metadata.json | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/.repo-metadata.json b/.repo-metadata.json index 677ae4b0..3244c6c7 100644 --- a/.repo-metadata.json +++ b/.repo-metadata.json @@ -1,13 +1,15 @@ { - "name": "monitoring", - "name_pretty": "Stackdriver Monitoring", - "product_documentation": "https://cloud.google.com/monitoring/docs", - "client_documentation": "https://googleapis.dev/python/monitoring/latest", - "issue_tracker": "https://issuetracker.google.com/savedsearches/559785", - "release_level": "ga", - "language": "python", - "library_type": "GAPIC_COMBO", - "repo": "googleapis/python-monitoring", - "distribution_name": "google-cloud-monitoring", - "api_id": "monitoring.googleapis.com" + "name": "monitoring", + "name_pretty": "Stackdriver Monitoring", + "product_documentation": "https://cloud.google.com/monitoring/docs", + "client_documentation": "https://googleapis.dev/python/monitoring/latest", + "issue_tracker": "https://issuetracker.google.com/savedsearches/559785", + "release_level": "ga", + "language": "python", + "library_type": "GAPIC_COMBO", + "repo": "googleapis/python-monitoring", + "distribution_name": "google-cloud-monitoring", + "api_id": "monitoring.googleapis.com", + "default_version": "v3", + "codeowner_team": "" } From c7d369b17addd7b01eba7b107267da6a50c7d60c Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 5 Oct 2021 11:25:53 -0600 Subject: [PATCH 6/8] build: use trampoline_v2 for python samples and allow custom dockerfile (#229) Source-Link: https://github.com/googleapis/synthtool/commit/a7ed11ec0863c422ba2e73aafa75eab22c32b33d Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:6e7328583be8edd3ba8f35311c76a1ecbc823010279ccb6ab46b7a76e25eafcc Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 2 +- .kokoro/samples/lint/common.cfg | 2 +- .kokoro/samples/python3.6/common.cfg | 2 +- .kokoro/samples/python3.6/periodic.cfg | 2 +- .kokoro/samples/python3.7/common.cfg | 2 +- .kokoro/samples/python3.7/periodic.cfg | 2 +- .kokoro/samples/python3.8/common.cfg | 2 +- .kokoro/samples/python3.8/periodic.cfg | 2 +- .kokoro/samples/python3.9/common.cfg | 2 +- .kokoro/samples/python3.9/periodic.cfg | 2 +- .kokoro/test-samples-against-head.sh | 2 -- .kokoro/test-samples.sh | 2 -- .trampolinerc | 17 ++++++++++++++--- 13 files changed, 24 insertions(+), 17 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index ae6c57fa..ee94722a 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -1,3 +1,3 @@ docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:82b12321da4446a73cb11bcb6812fbec8c105abda3946d46e6394e5fbfb64c0f + digest: sha256:6e7328583be8edd3ba8f35311c76a1ecbc823010279ccb6ab46b7a76e25eafcc diff --git a/.kokoro/samples/lint/common.cfg b/.kokoro/samples/lint/common.cfg index d8a9c669..e23dd16e 100644 --- a/.kokoro/samples/lint/common.cfg +++ b/.kokoro/samples/lint/common.cfg @@ -31,4 +31,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "python-monitoring/.kokoro/trampoline.sh" \ No newline at end of file +build_file: "python-monitoring/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.6/common.cfg b/.kokoro/samples/python3.6/common.cfg index 8011fbc2..8cb4eed9 100644 --- a/.kokoro/samples/python3.6/common.cfg +++ b/.kokoro/samples/python3.6/common.cfg @@ -37,4 +37,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "python-monitoring/.kokoro/trampoline.sh" \ No newline at end of file +build_file: "python-monitoring/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.6/periodic.cfg b/.kokoro/samples/python3.6/periodic.cfg index 50fec964..71cd1e59 100644 --- a/.kokoro/samples/python3.6/periodic.cfg +++ b/.kokoro/samples/python3.6/periodic.cfg @@ -3,4 +3,4 @@ env_vars: { key: "INSTALL_LIBRARY_FROM_SOURCE" value: "False" -} \ No newline at end of file +} diff --git a/.kokoro/samples/python3.7/common.cfg b/.kokoro/samples/python3.7/common.cfg index 700a0322..d9f366ff 100644 --- a/.kokoro/samples/python3.7/common.cfg +++ b/.kokoro/samples/python3.7/common.cfg @@ -37,4 +37,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "python-monitoring/.kokoro/trampoline.sh" \ No newline at end of file +build_file: "python-monitoring/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.7/periodic.cfg b/.kokoro/samples/python3.7/periodic.cfg index 50fec964..71cd1e59 100644 --- a/.kokoro/samples/python3.7/periodic.cfg +++ b/.kokoro/samples/python3.7/periodic.cfg @@ -3,4 +3,4 @@ env_vars: { key: "INSTALL_LIBRARY_FROM_SOURCE" value: "False" -} \ No newline at end of file +} diff --git a/.kokoro/samples/python3.8/common.cfg b/.kokoro/samples/python3.8/common.cfg index c96cb4da..6fcd82cb 100644 --- a/.kokoro/samples/python3.8/common.cfg +++ b/.kokoro/samples/python3.8/common.cfg @@ -37,4 +37,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "python-monitoring/.kokoro/trampoline.sh" \ No newline at end of file +build_file: "python-monitoring/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.8/periodic.cfg b/.kokoro/samples/python3.8/periodic.cfg index 50fec964..71cd1e59 100644 --- a/.kokoro/samples/python3.8/periodic.cfg +++ b/.kokoro/samples/python3.8/periodic.cfg @@ -3,4 +3,4 @@ env_vars: { key: "INSTALL_LIBRARY_FROM_SOURCE" value: "False" -} \ No newline at end of file +} diff --git a/.kokoro/samples/python3.9/common.cfg b/.kokoro/samples/python3.9/common.cfg index 4604ea3f..339ed317 100644 --- a/.kokoro/samples/python3.9/common.cfg +++ b/.kokoro/samples/python3.9/common.cfg @@ -37,4 +37,4 @@ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" # Use the trampoline script to run in docker. -build_file: "python-monitoring/.kokoro/trampoline.sh" \ No newline at end of file +build_file: "python-monitoring/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.9/periodic.cfg b/.kokoro/samples/python3.9/periodic.cfg index 50fec964..71cd1e59 100644 --- a/.kokoro/samples/python3.9/periodic.cfg +++ b/.kokoro/samples/python3.9/periodic.cfg @@ -3,4 +3,4 @@ env_vars: { key: "INSTALL_LIBRARY_FROM_SOURCE" value: "False" -} \ No newline at end of file +} diff --git a/.kokoro/test-samples-against-head.sh b/.kokoro/test-samples-against-head.sh index 664c7c60..ba3a707b 100755 --- a/.kokoro/test-samples-against-head.sh +++ b/.kokoro/test-samples-against-head.sh @@ -23,6 +23,4 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar -cd github/python-monitoring - exec .kokoro/test-samples-impl.sh diff --git a/.kokoro/test-samples.sh b/.kokoro/test-samples.sh index 86b555aa..11c042d3 100755 --- a/.kokoro/test-samples.sh +++ b/.kokoro/test-samples.sh @@ -24,8 +24,6 @@ set -eo pipefail # Enables `**` to include files nested inside sub-folders shopt -s globstar -cd github/python-monitoring - # Run periodic samples tests at latest release if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then # preserving the test runner implementation. diff --git a/.trampolinerc b/.trampolinerc index 383b6ec8..0eee72ab 100644 --- a/.trampolinerc +++ b/.trampolinerc @@ -16,15 +16,26 @@ # Add required env vars here. required_envvars+=( - "STAGING_BUCKET" - "V2_STAGING_BUCKET" ) # Add env vars which are passed down into the container here. pass_down_envvars+=( + "NOX_SESSION" + ############### + # Docs builds + ############### "STAGING_BUCKET" "V2_STAGING_BUCKET" - "NOX_SESSION" + ################## + # Samples builds + ################## + "INSTALL_LIBRARY_FROM_SOURCE" + "RUN_TESTS_SESSION" + "BUILD_SPECIFIC_GCLOUD_PROJECT" + # Target directories. + "RUN_TESTS_DIRS" + # The nox session to run. + "RUN_TESTS_SESSION" ) # Prevent unintentional override on the default image. From 954dd18966520dbc623470ef528166d83d3e19ba Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 7 Oct 2021 00:40:33 +0000 Subject: [PATCH 7/8] feat: add context manager support in client (#230) - [ ] Regenerate this pull request now. chore: fix docstring for first attribute of protos committer: @busunkim96 PiperOrigin-RevId: 401271153 Source-Link: https://github.com/googleapis/googleapis/commit/787f8c9a731f44e74a90b9847d48659ca9462d10 Source-Link: https://github.com/googleapis/googleapis-gen/commit/81decffe9fc72396a8153e756d1d67a6eecfd620 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiODFkZWNmZmU5ZmM3MjM5NmE4MTUzZTc1NmQxZDY3YTZlZWNmZDYyMCJ9 --- .../alert_policy_service/async_client.py | 6 +++ .../services/alert_policy_service/client.py | 18 +++++-- .../alert_policy_service/transports/base.py | 9 ++++ .../alert_policy_service/transports/grpc.py | 3 ++ .../transports/grpc_asyncio.py | 3 ++ .../services/group_service/async_client.py | 6 +++ .../services/group_service/client.py | 18 +++++-- .../services/group_service/transports/base.py | 9 ++++ .../services/group_service/transports/grpc.py | 3 ++ .../group_service/transports/grpc_asyncio.py | 3 ++ .../services/metric_service/async_client.py | 6 +++ .../services/metric_service/client.py | 18 +++++-- .../metric_service/transports/base.py | 9 ++++ .../metric_service/transports/grpc.py | 3 ++ .../metric_service/transports/grpc_asyncio.py | 3 ++ .../async_client.py | 6 +++ .../notification_channel_service/client.py | 18 +++++-- .../transports/base.py | 9 ++++ .../transports/grpc.py | 3 ++ .../transports/grpc_asyncio.py | 3 ++ .../services/query_service/async_client.py | 6 +++ .../services/query_service/client.py | 18 +++++-- .../services/query_service/transports/base.py | 9 ++++ .../services/query_service/transports/grpc.py | 3 ++ .../query_service/transports/grpc_asyncio.py | 3 ++ .../async_client.py | 6 +++ .../service_monitoring_service/client.py | 18 +++++-- .../transports/base.py | 9 ++++ .../transports/grpc.py | 3 ++ .../transports/grpc_asyncio.py | 3 ++ .../uptime_check_service/async_client.py | 6 +++ .../services/uptime_check_service/client.py | 18 +++++-- .../uptime_check_service/transports/base.py | 9 ++++ .../uptime_check_service/transports/grpc.py | 3 ++ .../transports/grpc_asyncio.py | 3 ++ .../monitoring_v3/types/alert_service.py | 6 +++ google/cloud/monitoring_v3/types/common.py | 1 + .../monitoring_v3/types/group_service.py | 7 +++ google/cloud/monitoring_v3/types/metric.py | 5 ++ .../monitoring_v3/types/metric_service.py | 15 ++++++ .../monitoring_v3/types/mutation_record.py | 1 + .../types/notification_service.py | 13 +++++ google/cloud/monitoring_v3/types/service.py | 8 ++- .../monitoring_v3/types/service_service.py | 12 +++++ google/cloud/monitoring_v3/types/uptime.py | 2 + .../monitoring_v3/types/uptime_service.py | 8 +++ .../test_alert_policy_service.py | 50 +++++++++++++++++++ .../gapic/monitoring_v3/test_group_service.py | 50 +++++++++++++++++++ .../monitoring_v3/test_metric_service.py | 50 +++++++++++++++++++ .../test_notification_channel_service.py | 50 +++++++++++++++++++ .../gapic/monitoring_v3/test_query_service.py | 50 +++++++++++++++++++ .../test_service_monitoring_service.py | 50 +++++++++++++++++++ .../test_uptime_check_service.py | 50 +++++++++++++++++++ 53 files changed, 671 insertions(+), 30 deletions(-) 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 3a838051..b340a2c3 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 @@ -668,6 +668,12 @@ async def update_alert_policy( # Done; return the response. return response + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, tb): + await self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 1c5bf9ec..72cc3785 100644 --- a/google/cloud/monitoring_v3/services/alert_policy_service/client.py +++ b/google/cloud/monitoring_v3/services/alert_policy_service/client.py @@ -377,10 +377,7 @@ def __init__( client_cert_source_for_mtls=client_cert_source_func, quota_project_id=client_options.quota_project_id, client_info=client_info, - always_use_jwt_access=( - Transport == type(self).get_transport_class("grpc") - or Transport == type(self).get_transport_class("grpc_asyncio") - ), + always_use_jwt_access=True, ) def list_alert_policies( @@ -840,6 +837,19 @@ def update_alert_policy( # Done; return the response. return response + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + """Releases underlying transport's resources. + + .. warning:: + ONLY use as a context manager if the transport is NOT shared + with other clients! Exiting the with block will CLOSE the transport + and may cause errors in other clients! + """ + self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 031dc657..a64044c0 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 @@ -210,6 +210,15 @@ def _prep_wrapped_messages(self, client_info): ), } + def close(self): + """Closes resources associated with the transport. + + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! + """ + raise NotImplementedError() + @property def list_alert_policies( self, diff --git a/google/cloud/monitoring_v3/services/alert_policy_service/transports/grpc.py b/google/cloud/monitoring_v3/services/alert_policy_service/transports/grpc.py index b26b7982..a614ffcc 100644 --- a/google/cloud/monitoring_v3/services/alert_policy_service/transports/grpc.py +++ b/google/cloud/monitoring_v3/services/alert_policy_service/transports/grpc.py @@ -372,5 +372,8 @@ def update_alert_policy( ) return self._stubs["update_alert_policy"] + def close(self): + self.grpc_channel.close() + __all__ = ("AlertPolicyServiceGrpcTransport",) 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 1ee6cd5a..ae1a5a74 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 @@ -379,5 +379,8 @@ def update_alert_policy( ) return self._stubs["update_alert_policy"] + def close(self): + return self.grpc_channel.close() + __all__ = ("AlertPolicyServiceGrpcAsyncIOTransport",) 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 6ed9c9fc..7551c890 100644 --- a/google/cloud/monitoring_v3/services/group_service/async_client.py +++ b/google/cloud/monitoring_v3/services/group_service/async_client.py @@ -776,6 +776,12 @@ async def list_group_members( # Done; return the response. return response + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, tb): + await self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( diff --git a/google/cloud/monitoring_v3/services/group_service/client.py b/google/cloud/monitoring_v3/services/group_service/client.py index 73c6cd1e..095f4751 100644 --- a/google/cloud/monitoring_v3/services/group_service/client.py +++ b/google/cloud/monitoring_v3/services/group_service/client.py @@ -352,10 +352,7 @@ def __init__( client_cert_source_for_mtls=client_cert_source_func, quota_project_id=client_options.quota_project_id, client_info=client_info, - always_use_jwt_access=( - Transport == type(self).get_transport_class("grpc") - or Transport == type(self).get_transport_class("grpc_asyncio") - ), + always_use_jwt_access=True, ) def list_groups( @@ -917,6 +914,19 @@ def list_group_members( # Done; return the response. return response + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + """Releases underlying transport's resources. + + .. warning:: + ONLY use as a context manager if the transport is NOT shared + with other clients! Exiting the with block will CLOSE the transport + and may cause errors in other clients! + """ + self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 2c538e18..41f5b47c 100644 --- a/google/cloud/monitoring_v3/services/group_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/group_service/transports/base.py @@ -236,6 +236,15 @@ def _prep_wrapped_messages(self, client_info): ), } + def close(self): + """Closes resources associated with the transport. + + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! + """ + raise NotImplementedError() + @property def list_groups( self, diff --git a/google/cloud/monitoring_v3/services/group_service/transports/grpc.py b/google/cloud/monitoring_v3/services/group_service/transports/grpc.py index e0fa2266..65dfe64a 100644 --- a/google/cloud/monitoring_v3/services/group_service/transports/grpc.py +++ b/google/cloud/monitoring_v3/services/group_service/transports/grpc.py @@ -397,5 +397,8 @@ def list_group_members( ) return self._stubs["list_group_members"] + def close(self): + self.grpc_channel.close() + __all__ = ("GroupServiceGrpcTransport",) 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 9753edbd..e5d7ba98 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 @@ -405,5 +405,8 @@ def list_group_members( ) return self._stubs["list_group_members"] + def close(self): + return self.grpc_channel.close() + __all__ = ("GroupServiceGrpcAsyncIOTransport",) 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 93647bda..81fdb43b 100644 --- a/google/cloud/monitoring_v3/services/metric_service/async_client.py +++ b/google/cloud/monitoring_v3/services/metric_service/async_client.py @@ -950,6 +950,12 @@ async def create_time_series( request, retry=retry, timeout=timeout, metadata=metadata, ) + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, tb): + await self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( diff --git a/google/cloud/monitoring_v3/services/metric_service/client.py b/google/cloud/monitoring_v3/services/metric_service/client.py index 1930c465..92db8888 100644 --- a/google/cloud/monitoring_v3/services/metric_service/client.py +++ b/google/cloud/monitoring_v3/services/metric_service/client.py @@ -379,10 +379,7 @@ def __init__( client_cert_source_for_mtls=client_cert_source_func, quota_project_id=client_options.quota_project_id, client_info=client_info, - always_use_jwt_access=( - Transport == type(self).get_transport_class("grpc") - or Transport == type(self).get_transport_class("grpc_asyncio") - ), + always_use_jwt_access=True, ) def list_monitored_resource_descriptors( @@ -1116,6 +1113,19 @@ def create_time_series( request, retry=retry, timeout=timeout, metadata=metadata, ) + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + """Releases underlying transport's resources. + + .. warning:: + ONLY use as a context manager if the transport is NOT shared + with other clients! Exiting the with block will CLOSE the transport + and may cause errors in other clients! + """ + self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 5fdc2080..8e2f966e 100644 --- a/google/cloud/monitoring_v3/services/metric_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/metric_service/transports/base.py @@ -256,6 +256,15 @@ def _prep_wrapped_messages(self, client_info): ), } + def close(self): + """Closes resources associated with the transport. + + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! + """ + raise NotImplementedError() + @property def list_monitored_resource_descriptors( self, diff --git a/google/cloud/monitoring_v3/services/metric_service/transports/grpc.py b/google/cloud/monitoring_v3/services/metric_service/transports/grpc.py index 6603803f..17271a52 100644 --- a/google/cloud/monitoring_v3/services/metric_service/transports/grpc.py +++ b/google/cloud/monitoring_v3/services/metric_service/transports/grpc.py @@ -471,5 +471,8 @@ def create_time_series( ) return self._stubs["create_time_series"] + def close(self): + self.grpc_channel.close() + __all__ = ("MetricServiceGrpcTransport",) 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 46c5fb2b..8d192a68 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 @@ -479,5 +479,8 @@ def create_time_series( ) return self._stubs["create_time_series"] + def close(self): + return self.grpc_channel.close() + __all__ = ("MetricServiceGrpcAsyncIOTransport",) 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 a475eeed..46d727cb 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 @@ -1143,6 +1143,12 @@ async def verify_notification_channel( # Done; return the response. return response + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, tb): + await self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 75b031a3..ff563341 100644 --- a/google/cloud/monitoring_v3/services/notification_channel_service/client.py +++ b/google/cloud/monitoring_v3/services/notification_channel_service/client.py @@ -373,10 +373,7 @@ def __init__( client_cert_source_for_mtls=client_cert_source_func, quota_project_id=client_options.quota_project_id, client_info=client_info, - always_use_jwt_access=( - Transport == type(self).get_transport_class("grpc") - or Transport == type(self).get_transport_class("grpc_asyncio") - ), + always_use_jwt_access=True, ) def list_notification_channel_descriptors( @@ -1328,6 +1325,19 @@ def verify_notification_channel( # Done; return the response. return response + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + """Releases underlying transport's resources. + + .. warning:: + ONLY use as a context manager if the transport is NOT shared + with other clients! Exiting the with block will CLOSE the transport + and may cause errors in other clients! + """ + self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 e7fa86ac..566fdf15 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 @@ -275,6 +275,15 @@ def _prep_wrapped_messages(self, client_info): ), } + def close(self): + """Closes resources associated with the transport. + + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! + """ + raise NotImplementedError() + @property def list_notification_channel_descriptors( self, diff --git a/google/cloud/monitoring_v3/services/notification_channel_service/transports/grpc.py b/google/cloud/monitoring_v3/services/notification_channel_service/transports/grpc.py index d5890077..cacc84f2 100644 --- a/google/cloud/monitoring_v3/services/notification_channel_service/transports/grpc.py +++ b/google/cloud/monitoring_v3/services/notification_channel_service/transports/grpc.py @@ -574,5 +574,8 @@ def verify_notification_channel( ) return self._stubs["verify_notification_channel"] + def close(self): + self.grpc_channel.close() + __all__ = ("NotificationChannelServiceGrpcTransport",) 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 6ba6e04f..fca47836 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 @@ -580,5 +580,8 @@ def verify_notification_channel( ) return self._stubs["verify_notification_channel"] + def close(self): + return self.grpc_channel.close() + __all__ = ("NotificationChannelServiceGrpcAsyncIOTransport",) 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 f86aa667..c244368b 100644 --- a/google/cloud/monitoring_v3/services/query_service/async_client.py +++ b/google/cloud/monitoring_v3/services/query_service/async_client.py @@ -216,6 +216,12 @@ async def query_time_series( # Done; return the response. return response + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, tb): + await self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( diff --git a/google/cloud/monitoring_v3/services/query_service/client.py b/google/cloud/monitoring_v3/services/query_service/client.py index 22394a8f..c05db7f4 100644 --- a/google/cloud/monitoring_v3/services/query_service/client.py +++ b/google/cloud/monitoring_v3/services/query_service/client.py @@ -330,10 +330,7 @@ def __init__( client_cert_source_for_mtls=client_cert_source_func, quota_project_id=client_options.quota_project_id, client_info=client_info, - always_use_jwt_access=( - Transport == type(self).get_transport_class("grpc") - or Transport == type(self).get_transport_class("grpc_asyncio") - ), + always_use_jwt_access=True, ) def query_time_series( @@ -394,6 +391,19 @@ def query_time_series( # Done; return the response. return response + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + """Releases underlying transport's resources. + + .. warning:: + ONLY use as a context manager if the transport is NOT shared + with other clients! Exiting the with block will CLOSE the transport + and may cause errors in other clients! + """ + self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 25f30682..74773560 100644 --- a/google/cloud/monitoring_v3/services/query_service/transports/base.py +++ b/google/cloud/monitoring_v3/services/query_service/transports/base.py @@ -163,6 +163,15 @@ def _prep_wrapped_messages(self, client_info): ), } + def close(self): + """Closes resources associated with the transport. + + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! + """ + raise NotImplementedError() + @property def query_time_series( self, diff --git a/google/cloud/monitoring_v3/services/query_service/transports/grpc.py b/google/cloud/monitoring_v3/services/query_service/transports/grpc.py index 133cb1c7..27244056 100644 --- a/google/cloud/monitoring_v3/services/query_service/transports/grpc.py +++ b/google/cloud/monitoring_v3/services/query_service/transports/grpc.py @@ -256,5 +256,8 @@ def query_time_series( ) return self._stubs["query_time_series"] + def close(self): + self.grpc_channel.close() + __all__ = ("QueryServiceGrpcTransport",) 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 c93cf77f..e6cf8540 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 @@ -260,5 +260,8 @@ def query_time_series( ) return self._stubs["query_time_series"] + def close(self): + return self.grpc_channel.close() + __all__ = ("QueryServiceGrpcAsyncIOTransport",) 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 012dd79f..6eb0a034 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 @@ -1053,6 +1053,12 @@ async def delete_service_level_objective( request, retry=retry, timeout=timeout, metadata=metadata, ) + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, tb): + await self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 8cac0642..bd847d42 100644 --- a/google/cloud/monitoring_v3/services/service_monitoring_service/client.py +++ b/google/cloud/monitoring_v3/services/service_monitoring_service/client.py @@ -371,10 +371,7 @@ def __init__( client_cert_source_for_mtls=client_cert_source_func, quota_project_id=client_options.quota_project_id, client_info=client_info, - always_use_jwt_access=( - Transport == type(self).get_transport_class("grpc") - or Transport == type(self).get_transport_class("grpc_asyncio") - ), + always_use_jwt_access=True, ) def create_service( @@ -1206,6 +1203,19 @@ def delete_service_level_objective( request, retry=retry, timeout=timeout, metadata=metadata, ) + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + """Releases underlying transport's resources. + + .. warning:: + ONLY use as a context manager if the transport is NOT shared + with other clients! Exiting the with block will CLOSE the transport + and may cause errors in other clients! + """ + self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 bf81c851..60f5d9a9 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 @@ -263,6 +263,15 @@ def _prep_wrapped_messages(self, client_info): ), } + def close(self): + """Closes resources associated with the transport. + + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! + """ + raise NotImplementedError() + @property def create_service( self, diff --git a/google/cloud/monitoring_v3/services/service_monitoring_service/transports/grpc.py b/google/cloud/monitoring_v3/services/service_monitoring_service/transports/grpc.py index 041aeb11..c570eea7 100644 --- a/google/cloud/monitoring_v3/services/service_monitoring_service/transports/grpc.py +++ b/google/cloud/monitoring_v3/services/service_monitoring_service/transports/grpc.py @@ -514,5 +514,8 @@ def delete_service_level_objective( ) return self._stubs["delete_service_level_objective"] + def close(self): + self.grpc_channel.close() + __all__ = ("ServiceMonitoringServiceGrpcTransport",) 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 0ab6c15f..0dad4f05 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 @@ -523,5 +523,8 @@ def delete_service_level_objective( ) return self._stubs["delete_service_level_objective"] + def close(self): + return self.grpc_channel.close() + __all__ = ("ServiceMonitoringServiceGrpcAsyncIOTransport",) 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 cb7c6966..8e27a15d 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 @@ -675,6 +675,12 @@ async def list_uptime_check_ips( # Done; return the response. return response + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, tb): + await self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 b7d1752f..9254ffb7 100644 --- a/google/cloud/monitoring_v3/services/uptime_check_service/client.py +++ b/google/cloud/monitoring_v3/services/uptime_check_service/client.py @@ -357,10 +357,7 @@ def __init__( client_cert_source_for_mtls=client_cert_source_func, quota_project_id=client_options.quota_project_id, client_info=client_info, - always_use_jwt_access=( - Transport == type(self).get_transport_class("grpc") - or Transport == type(self).get_transport_class("grpc_asyncio") - ), + always_use_jwt_access=True, ) def list_uptime_check_configs( @@ -834,6 +831,19 @@ def list_uptime_check_ips( # Done; return the response. return response + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + """Releases underlying transport's resources. + + .. warning:: + ONLY use as a context manager if the transport is NOT shared + with other clients! Exiting the with block will CLOSE the transport + and may cause errors in other clients! + """ + self.transport.close() + try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 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 86229b74..feff8e21 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 @@ -228,6 +228,15 @@ def _prep_wrapped_messages(self, client_info): ), } + def close(self): + """Closes resources associated with the transport. + + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! + """ + raise NotImplementedError() + @property def list_uptime_check_configs( self, diff --git a/google/cloud/monitoring_v3/services/uptime_check_service/transports/grpc.py b/google/cloud/monitoring_v3/services/uptime_check_service/transports/grpc.py index ea012574..1ccb7acf 100644 --- a/google/cloud/monitoring_v3/services/uptime_check_service/transports/grpc.py +++ b/google/cloud/monitoring_v3/services/uptime_check_service/transports/grpc.py @@ -412,5 +412,8 @@ def list_uptime_check_ips( ) return self._stubs["list_uptime_check_ips"] + def close(self): + self.grpc_channel.close() + __all__ = ("UptimeCheckServiceGrpcTransport",) 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 fd01b0c8..239437a8 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 @@ -420,5 +420,8 @@ def list_uptime_check_ips( ) return self._stubs["list_uptime_check_ips"] + def close(self): + return self.grpc_channel.close() + __all__ = ("UptimeCheckServiceGrpcAsyncIOTransport",) diff --git a/google/cloud/monitoring_v3/types/alert_service.py b/google/cloud/monitoring_v3/types/alert_service.py index 7ee6b820..b7a23e98 100644 --- a/google/cloud/monitoring_v3/types/alert_service.py +++ b/google/cloud/monitoring_v3/types/alert_service.py @@ -34,6 +34,7 @@ class CreateAlertPolicyRequest(proto.Message): r"""The protocol for the ``CreateAlertPolicy`` request. + Attributes: name (str): Required. The @@ -64,6 +65,7 @@ class CreateAlertPolicyRequest(proto.Message): class GetAlertPolicyRequest(proto.Message): r"""The protocol for the ``GetAlertPolicy`` request. + Attributes: name (str): Required. The alerting policy to retrieve. The format is: @@ -78,6 +80,7 @@ class GetAlertPolicyRequest(proto.Message): class ListAlertPoliciesRequest(proto.Message): r"""The protocol for the ``ListAlertPolicies`` request. + Attributes: name (str): Required. The @@ -126,6 +129,7 @@ class ListAlertPoliciesRequest(proto.Message): class ListAlertPoliciesResponse(proto.Message): r"""The protocol for the ``ListAlertPolicies`` response. + Attributes: alert_policies (Sequence[google.cloud.monitoring_v3.types.AlertPolicy]): The returned alert policies. @@ -153,6 +157,7 @@ def raw_page(self): class UpdateAlertPolicyRequest(proto.Message): r"""The protocol for the ``UpdateAlertPolicy`` request. + Attributes: update_mask (google.protobuf.field_mask_pb2.FieldMask): Optional. A list of alerting policy field names. If this @@ -197,6 +202,7 @@ class UpdateAlertPolicyRequest(proto.Message): class DeleteAlertPolicyRequest(proto.Message): r"""The protocol for the ``DeleteAlertPolicy`` request. + Attributes: name (str): Required. The alerting policy to delete. The format is: diff --git a/google/cloud/monitoring_v3/types/common.py b/google/cloud/monitoring_v3/types/common.py index c5669f86..c1a71544 100644 --- a/google/cloud/monitoring_v3/types/common.py +++ b/google/cloud/monitoring_v3/types/common.py @@ -41,6 +41,7 @@ class ComparisonType(proto.Enum): class TypedValue(proto.Message): r"""A single strongly-typed value. + Attributes: bool_value (bool): A Boolean value: ``true`` or ``false``. diff --git a/google/cloud/monitoring_v3/types/group_service.py b/google/cloud/monitoring_v3/types/group_service.py index b450f470..12f02f09 100644 --- a/google/cloud/monitoring_v3/types/group_service.py +++ b/google/cloud/monitoring_v3/types/group_service.py @@ -37,6 +37,7 @@ class ListGroupsRequest(proto.Message): r"""The ``ListGroup`` request. + Attributes: name (str): Required. The @@ -99,6 +100,7 @@ class ListGroupsRequest(proto.Message): class ListGroupsResponse(proto.Message): r"""The ``ListGroups`` response. + Attributes: group (Sequence[google.cloud.monitoring_v3.types.Group]): The groups that match the specified filters. @@ -119,6 +121,7 @@ def raw_page(self): class GetGroupRequest(proto.Message): r"""The ``GetGroup`` request. + Attributes: name (str): Required. The group to retrieve. The format is: @@ -133,6 +136,7 @@ class GetGroupRequest(proto.Message): class CreateGroupRequest(proto.Message): r"""The ``CreateGroup`` request. + Attributes: name (str): Required. The @@ -157,6 +161,7 @@ class CreateGroupRequest(proto.Message): class UpdateGroupRequest(proto.Message): r"""The ``UpdateGroup`` request. + Attributes: group (google.cloud.monitoring_v3.types.Group): Required. The new definition of the group. All fields of the @@ -196,6 +201,7 @@ class DeleteGroupRequest(proto.Message): class ListGroupMembersRequest(proto.Message): r"""The ``ListGroupMembers`` request. + Attributes: name (str): Required. The group whose members are listed. The format is: @@ -241,6 +247,7 @@ class ListGroupMembersRequest(proto.Message): class ListGroupMembersResponse(proto.Message): r"""The ``ListGroupMembers`` response. + Attributes: members (Sequence[google.api.monitored_resource_pb2.MonitoredResource]): A set of monitored resources in the group. diff --git a/google/cloud/monitoring_v3/types/metric.py b/google/cloud/monitoring_v3/types/metric.py index d364d76a..0f55ffd8 100644 --- a/google/cloud/monitoring_v3/types/metric.py +++ b/google/cloud/monitoring_v3/types/metric.py @@ -37,6 +37,7 @@ class Point(proto.Message): r"""A single data point in a time series. + Attributes: interval (google.cloud.monitoring_v3.types.TimeInterval): The time interval to which the data point applies. For @@ -140,6 +141,7 @@ class TimeSeries(proto.Message): class TimeSeriesDescriptor(proto.Message): r"""A descriptor for the labels and points in a time series. + Attributes: label_descriptors (Sequence[google.api.label_pb2.LabelDescriptor]): Descriptors for the labels. @@ -149,6 +151,7 @@ class TimeSeriesDescriptor(proto.Message): class ValueDescriptor(proto.Message): r"""A descriptor for the value columns in a data point. + Attributes: key (str): The value key. @@ -221,6 +224,7 @@ class PointData(proto.Message): class LabelValue(proto.Message): r"""A label value. + Attributes: bool_value (bool): A bool label value. @@ -300,6 +304,7 @@ class TextLocator(proto.Message): class Position(proto.Message): r"""The position of a byte within the text. + Attributes: line (int): The line, starting with 1, where the byte is diff --git a/google/cloud/monitoring_v3/types/metric_service.py b/google/cloud/monitoring_v3/types/metric_service.py index 15cfc281..43a2b151 100644 --- a/google/cloud/monitoring_v3/types/metric_service.py +++ b/google/cloud/monitoring_v3/types/metric_service.py @@ -47,6 +47,7 @@ class ListMonitoredResourceDescriptorsRequest(proto.Message): r"""The ``ListMonitoredResourceDescriptors`` request. + Attributes: name (str): Required. The @@ -85,6 +86,7 @@ class ListMonitoredResourceDescriptorsRequest(proto.Message): class ListMonitoredResourceDescriptorsResponse(proto.Message): r"""The ``ListMonitoredResourceDescriptors`` response. + Attributes: resource_descriptors (Sequence[google.api.monitored_resource_pb2.MonitoredResourceDescriptor]): The monitored resource descriptors that are available to @@ -110,6 +112,7 @@ def raw_page(self): class GetMonitoredResourceDescriptorRequest(proto.Message): r"""The ``GetMonitoredResourceDescriptor`` request. + Attributes: name (str): Required. The monitored resource descriptor to get. The @@ -128,6 +131,7 @@ class GetMonitoredResourceDescriptorRequest(proto.Message): class ListMetricDescriptorsRequest(proto.Message): r"""The ``ListMetricDescriptors`` request. + Attributes: name (str): Required. The @@ -166,6 +170,7 @@ class ListMetricDescriptorsRequest(proto.Message): class ListMetricDescriptorsResponse(proto.Message): r"""The ``ListMetricDescriptors`` response. + Attributes: metric_descriptors (Sequence[google.api.metric_pb2.MetricDescriptor]): The metric descriptors that are available to the project and @@ -189,6 +194,7 @@ def raw_page(self): class GetMetricDescriptorRequest(proto.Message): r"""The ``GetMetricDescriptor`` request. + Attributes: name (str): Required. The metric descriptor on which to execute the @@ -207,6 +213,7 @@ class GetMetricDescriptorRequest(proto.Message): class CreateMetricDescriptorRequest(proto.Message): r"""The ``CreateMetricDescriptor`` request. + Attributes: name (str): Required. The @@ -227,6 +234,7 @@ class CreateMetricDescriptorRequest(proto.Message): class DeleteMetricDescriptorRequest(proto.Message): r"""The ``DeleteMetricDescriptor`` request. + Attributes: name (str): Required. The metric descriptor on which to execute the @@ -245,6 +253,7 @@ class DeleteMetricDescriptorRequest(proto.Message): class ListTimeSeriesRequest(proto.Message): r"""The ``ListTimeSeries`` request. + Attributes: name (str): Required. The @@ -325,6 +334,7 @@ class TimeSeriesView(proto.Enum): class ListTimeSeriesResponse(proto.Message): r"""The ``ListTimeSeries`` response. + Attributes: time_series (Sequence[google.cloud.monitoring_v3.types.TimeSeries]): One or more time series that match the filter @@ -362,6 +372,7 @@ def raw_page(self): class CreateTimeSeriesRequest(proto.Message): r"""The ``CreateTimeSeries`` request. + Attributes: name (str): Required. The @@ -391,6 +402,7 @@ class CreateTimeSeriesRequest(proto.Message): class CreateTimeSeriesError(proto.Message): r"""DEPRECATED. Used to hold per-time-series error status. + Attributes: time_series (google.cloud.monitoring_v3.types.TimeSeries): DEPRECATED. Time series ID that resulted in the ``status`` @@ -421,6 +433,7 @@ class CreateTimeSeriesSummary(proto.Message): class Error(proto.Message): r"""Detailed information about an error category. + Attributes: status (google.rpc.status_pb2.Status): The status of the requested write operation. @@ -439,6 +452,7 @@ class Error(proto.Message): class QueryTimeSeriesRequest(proto.Message): r"""The ``QueryTimeSeries`` request. + Attributes: name (str): Required. The @@ -470,6 +484,7 @@ class QueryTimeSeriesRequest(proto.Message): class QueryTimeSeriesResponse(proto.Message): r"""The ``QueryTimeSeries`` response. + Attributes: time_series_descriptor (google.cloud.monitoring_v3.types.TimeSeriesDescriptor): The descriptor for the time series data. diff --git a/google/cloud/monitoring_v3/types/mutation_record.py b/google/cloud/monitoring_v3/types/mutation_record.py index fbbe735a..fa37617f 100644 --- a/google/cloud/monitoring_v3/types/mutation_record.py +++ b/google/cloud/monitoring_v3/types/mutation_record.py @@ -25,6 +25,7 @@ class MutationRecord(proto.Message): r"""Describes a change made to a configuration. + Attributes: mutate_time (google.protobuf.timestamp_pb2.Timestamp): When the change occurred. diff --git a/google/cloud/monitoring_v3/types/notification_service.py b/google/cloud/monitoring_v3/types/notification_service.py index db736eb8..f1f02477 100644 --- a/google/cloud/monitoring_v3/types/notification_service.py +++ b/google/cloud/monitoring_v3/types/notification_service.py @@ -42,6 +42,7 @@ class ListNotificationChannelDescriptorsRequest(proto.Message): r"""The ``ListNotificationChannelDescriptors`` request. + Attributes: name (str): Required. The REST resource name of the parent from which to @@ -76,6 +77,7 @@ class ListNotificationChannelDescriptorsRequest(proto.Message): class ListNotificationChannelDescriptorsResponse(proto.Message): r"""The ``ListNotificationChannelDescriptors`` response. + Attributes: channel_descriptors (Sequence[google.cloud.monitoring_v3.types.NotificationChannelDescriptor]): The monitored resource descriptors supported @@ -99,6 +101,7 @@ def raw_page(self): class GetNotificationChannelDescriptorRequest(proto.Message): r"""The ``GetNotificationChannelDescriptor`` response. + Attributes: name (str): Required. The channel type for which to execute the request. @@ -114,6 +117,7 @@ class GetNotificationChannelDescriptorRequest(proto.Message): class CreateNotificationChannelRequest(proto.Message): r"""The ``CreateNotificationChannel`` request. + Attributes: name (str): Required. The @@ -143,6 +147,7 @@ class CreateNotificationChannelRequest(proto.Message): class ListNotificationChannelsRequest(proto.Message): r"""The ``ListNotificationChannels`` request. + Attributes: name (str): Required. The @@ -192,6 +197,7 @@ class ListNotificationChannelsRequest(proto.Message): class ListNotificationChannelsResponse(proto.Message): r"""The ``ListNotificationChannels`` response. + Attributes: notification_channels (Sequence[google.cloud.monitoring_v3.types.NotificationChannel]): The notification channels defined for the @@ -221,6 +227,7 @@ def raw_page(self): class GetNotificationChannelRequest(proto.Message): r"""The ``GetNotificationChannel`` request. + Attributes: name (str): Required. The channel for which to execute the request. The @@ -236,6 +243,7 @@ class GetNotificationChannelRequest(proto.Message): class UpdateNotificationChannelRequest(proto.Message): r"""The ``UpdateNotificationChannel`` request. + Attributes: update_mask (google.protobuf.field_mask_pb2.FieldMask): The fields to update. @@ -256,6 +264,7 @@ class UpdateNotificationChannelRequest(proto.Message): class DeleteNotificationChannelRequest(proto.Message): r"""The ``DeleteNotificationChannel`` request. + Attributes: name (str): Required. The channel for which to execute the request. The @@ -279,6 +288,7 @@ class DeleteNotificationChannelRequest(proto.Message): class SendNotificationChannelVerificationCodeRequest(proto.Message): r"""The ``SendNotificationChannelVerificationCode`` request. + Attributes: name (str): Required. The notification channel to which @@ -290,6 +300,7 @@ class SendNotificationChannelVerificationCodeRequest(proto.Message): class GetNotificationChannelVerificationCodeRequest(proto.Message): r"""The ``GetNotificationChannelVerificationCode`` request. + Attributes: name (str): Required. The notification channel for which @@ -320,6 +331,7 @@ class GetNotificationChannelVerificationCodeRequest(proto.Message): class GetNotificationChannelVerificationCodeResponse(proto.Message): r"""The ``GetNotificationChannelVerificationCode`` request. + Attributes: code (str): The verification code, which may be used to @@ -342,6 +354,7 @@ class GetNotificationChannelVerificationCodeResponse(proto.Message): class VerifyNotificationChannelRequest(proto.Message): r"""The ``VerifyNotificationChannel`` request. + Attributes: name (str): Required. The notification channel to verify. diff --git a/google/cloud/monitoring_v3/types/service.py b/google/cloud/monitoring_v3/types/service.py index 1cf9bccf..1e3a4c8b 100644 --- a/google/cloud/monitoring_v3/types/service.py +++ b/google/cloud/monitoring_v3/types/service.py @@ -87,7 +87,8 @@ class Service(proto.Message): class Custom(proto.Message): r"""Custom view of service telemetry. Currently a place-holder pending final design. - """ + + """ class AppEngine(proto.Message): r"""App Engine service. Learn more at @@ -200,6 +201,7 @@ class IstioCanonicalService(proto.Message): class Telemetry(proto.Message): r"""Configuration for how to query telemetry on a Service. + Attributes: resource_name (str): The full name of the resource that defines this service. @@ -384,10 +386,12 @@ class BasicSli(proto.Message): """ class AvailabilityCriteria(proto.Message): - r"""Future parameters for the availability SLI. """ + r"""Future parameters for the availability SLI. + """ class LatencyCriteria(proto.Message): r"""Parameters for a latency threshold SLI. + Attributes: threshold (google.protobuf.duration_pb2.Duration): Good service is defined to be the count of requests made to diff --git a/google/cloud/monitoring_v3/types/service_service.py b/google/cloud/monitoring_v3/types/service_service.py index cd68e245..dd086829 100644 --- a/google/cloud/monitoring_v3/types/service_service.py +++ b/google/cloud/monitoring_v3/types/service_service.py @@ -40,6 +40,7 @@ class CreateServiceRequest(proto.Message): r"""The ``CreateService`` request. + Attributes: parent (str): Required. Resource @@ -64,6 +65,7 @@ class CreateServiceRequest(proto.Message): class GetServiceRequest(proto.Message): r"""The ``GetService`` request. + Attributes: name (str): Required. Resource name of the ``Service``. The format is: @@ -78,6 +80,7 @@ class GetServiceRequest(proto.Message): class ListServicesRequest(proto.Message): r"""The ``ListServices`` request. + Attributes: parent (str): Required. Resource name of the parent containing the listed @@ -132,6 +135,7 @@ class ListServicesRequest(proto.Message): class ListServicesResponse(proto.Message): r"""The ``ListServices`` response. + Attributes: services (Sequence[google.cloud.monitoring_v3.types.Service]): The ``Service``\ s matching the specified filter. @@ -152,6 +156,7 @@ def raw_page(self): class UpdateServiceRequest(proto.Message): r"""The ``UpdateService`` request. + Attributes: service (google.cloud.monitoring_v3.types.Service): Required. The ``Service`` to draw updates from. The given @@ -169,6 +174,7 @@ class UpdateServiceRequest(proto.Message): class DeleteServiceRequest(proto.Message): r"""The ``DeleteService`` request. + Attributes: name (str): Required. Resource name of the ``Service`` to delete. The @@ -184,6 +190,7 @@ class DeleteServiceRequest(proto.Message): class CreateServiceLevelObjectiveRequest(proto.Message): r"""The ``CreateServiceLevelObjective`` request. + Attributes: parent (str): Required. Resource name of the parent ``Service``. The @@ -211,6 +218,7 @@ class CreateServiceLevelObjectiveRequest(proto.Message): class GetServiceLevelObjectiveRequest(proto.Message): r"""The ``GetServiceLevelObjective`` request. + Attributes: name (str): Required. Resource name of the ``ServiceLevelObjective`` to @@ -236,6 +244,7 @@ class GetServiceLevelObjectiveRequest(proto.Message): class ListServiceLevelObjectivesRequest(proto.Message): r"""The ``ListServiceLevelObjectives`` request. + Attributes: parent (str): Required. Resource name of the parent containing the listed @@ -278,6 +287,7 @@ class ListServiceLevelObjectivesRequest(proto.Message): class ListServiceLevelObjectivesResponse(proto.Message): r"""The ``ListServiceLevelObjectives`` response. + Attributes: service_level_objectives (Sequence[google.cloud.monitoring_v3.types.ServiceLevelObjective]): The ``ServiceLevelObjective``\ s matching the specified @@ -301,6 +311,7 @@ def raw_page(self): class UpdateServiceLevelObjectiveRequest(proto.Message): r"""The ``UpdateServiceLevelObjective`` request. + Attributes: service_level_objective (google.cloud.monitoring_v3.types.ServiceLevelObjective): Required. The ``ServiceLevelObjective`` to draw updates @@ -320,6 +331,7 @@ class UpdateServiceLevelObjectiveRequest(proto.Message): class DeleteServiceLevelObjectiveRequest(proto.Message): r"""The ``DeleteServiceLevelObjective`` request. + Attributes: name (str): Required. Resource name of the ``ServiceLevelObjective`` to diff --git a/google/cloud/monitoring_v3/types/uptime.py b/google/cloud/monitoring_v3/types/uptime.py index e3218bc2..c1ed613e 100644 --- a/google/cloud/monitoring_v3/types/uptime.py +++ b/google/cloud/monitoring_v3/types/uptime.py @@ -203,6 +203,7 @@ class ResourceGroup(proto.Message): class HttpCheck(proto.Message): r"""Information involved in an HTTP/HTTPS Uptime check request. + Attributes: request_method (google.cloud.monitoring_v3.types.UptimeCheckConfig.HttpCheck.RequestMethod): The HTTP request method to use for the check. If set to @@ -329,6 +330,7 @@ class BasicAuthentication(proto.Message): class TcpCheck(proto.Message): r"""Information required for a TCP Uptime check request. + Attributes: port (int): The TCP port on the server against which to run the check. diff --git a/google/cloud/monitoring_v3/types/uptime_service.py b/google/cloud/monitoring_v3/types/uptime_service.py index 5f2bc919..9533cd9b 100644 --- a/google/cloud/monitoring_v3/types/uptime_service.py +++ b/google/cloud/monitoring_v3/types/uptime_service.py @@ -36,6 +36,7 @@ class ListUptimeCheckConfigsRequest(proto.Message): r"""The protocol for the ``ListUptimeCheckConfigs`` request. + Attributes: parent (str): Required. The @@ -65,6 +66,7 @@ class ListUptimeCheckConfigsRequest(proto.Message): class ListUptimeCheckConfigsResponse(proto.Message): r"""The protocol for the ``ListUptimeCheckConfigs`` response. + Attributes: uptime_check_configs (Sequence[google.cloud.monitoring_v3.types.UptimeCheckConfig]): The returned Uptime check configurations. @@ -94,6 +96,7 @@ def raw_page(self): class GetUptimeCheckConfigRequest(proto.Message): r"""The protocol for the ``GetUptimeCheckConfig`` request. + Attributes: name (str): Required. The Uptime check configuration to retrieve. The @@ -109,6 +112,7 @@ class GetUptimeCheckConfigRequest(proto.Message): class CreateUptimeCheckConfigRequest(proto.Message): r"""The protocol for the ``CreateUptimeCheckConfig`` request. + Attributes: parent (str): Required. The @@ -130,6 +134,7 @@ class CreateUptimeCheckConfigRequest(proto.Message): class UpdateUptimeCheckConfigRequest(proto.Message): r"""The protocol for the ``UpdateUptimeCheckConfig`` request. + Attributes: update_mask (google.protobuf.field_mask_pb2.FieldMask): Optional. If present, only the listed fields @@ -163,6 +168,7 @@ class UpdateUptimeCheckConfigRequest(proto.Message): class DeleteUptimeCheckConfigRequest(proto.Message): r"""The protocol for the ``DeleteUptimeCheckConfig`` request. + Attributes: name (str): Required. The Uptime check configuration to delete. The @@ -178,6 +184,7 @@ class DeleteUptimeCheckConfigRequest(proto.Message): class ListUptimeCheckIpsRequest(proto.Message): r"""The protocol for the ``ListUptimeCheckIps`` request. + Attributes: page_size (int): The maximum number of results to return in a single @@ -200,6 +207,7 @@ class ListUptimeCheckIpsRequest(proto.Message): class ListUptimeCheckIpsResponse(proto.Message): r"""The protocol for the ``ListUptimeCheckIps`` response. + Attributes: uptime_check_ips (Sequence[google.cloud.monitoring_v3.types.UptimeCheckIp]): The returned list of IP addresses (including 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 2a70684d..87432995 100644 --- a/tests/unit/gapic/monitoring_v3/test_alert_policy_service.py +++ b/tests/unit/gapic/monitoring_v3/test_alert_policy_service.py @@ -29,6 +29,7 @@ from google.api_core import gapic_v1 from google.api_core import grpc_helpers from google.api_core import grpc_helpers_async +from google.api_core import path_template from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError from google.cloud.monitoring_v3.services.alert_policy_service import ( @@ -1943,6 +1944,9 @@ def test_alert_policy_service_base_transport(): with pytest.raises(NotImplementedError): getattr(transport, method)(request=object()) + with pytest.raises(NotImplementedError): + transport.close() + @requires_google_auth_gte_1_25_0 def test_alert_policy_service_base_transport_with_credentials_file(): @@ -2479,3 +2483,49 @@ def test_client_withDEFAULT_CLIENT_INFO(): credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, ) prep.assert_called_once_with(client_info) + + +@pytest.mark.asyncio +async def test_transport_close_async(): + client = AlertPolicyServiceAsyncClient( + credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + ) + with mock.patch.object( + type(getattr(client.transport, "grpc_channel")), "close" + ) as close: + async with client: + close.assert_not_called() + close.assert_called_once() + + +def test_transport_close(): + transports = { + "grpc": "_grpc_channel", + } + + for transport, close_name in transports.items(): + client = AlertPolicyServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + with mock.patch.object( + type(getattr(client.transport, close_name)), "close" + ) as close: + with client: + close.assert_not_called() + close.assert_called_once() + + +def test_client_ctx(): + transports = [ + "grpc", + ] + for transport in transports: + client = AlertPolicyServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + # Test client calls underlying transport. + with mock.patch.object(type(client.transport), "close") as close: + close.assert_not_called() + with client: + pass + close.assert_called() diff --git a/tests/unit/gapic/monitoring_v3/test_group_service.py b/tests/unit/gapic/monitoring_v3/test_group_service.py index 78db1e05..944ed6fc 100644 --- a/tests/unit/gapic/monitoring_v3/test_group_service.py +++ b/tests/unit/gapic/monitoring_v3/test_group_service.py @@ -30,6 +30,7 @@ from google.api_core import gapic_v1 from google.api_core import grpc_helpers from google.api_core import grpc_helpers_async +from google.api_core import path_template from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError from google.cloud.monitoring_v3.services.group_service import GroupServiceAsyncClient @@ -2120,6 +2121,9 @@ def test_group_service_base_transport(): with pytest.raises(NotImplementedError): getattr(transport, method)(request=object()) + with pytest.raises(NotImplementedError): + transport.close() + @requires_google_auth_gte_1_25_0 def test_group_service_base_transport_with_credentials_file(): @@ -2615,3 +2619,49 @@ def test_client_withDEFAULT_CLIENT_INFO(): credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, ) prep.assert_called_once_with(client_info) + + +@pytest.mark.asyncio +async def test_transport_close_async(): + client = GroupServiceAsyncClient( + credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + ) + with mock.patch.object( + type(getattr(client.transport, "grpc_channel")), "close" + ) as close: + async with client: + close.assert_not_called() + close.assert_called_once() + + +def test_transport_close(): + transports = { + "grpc": "_grpc_channel", + } + + for transport, close_name in transports.items(): + client = GroupServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + with mock.patch.object( + type(getattr(client.transport, close_name)), "close" + ) as close: + with client: + close.assert_not_called() + close.assert_called_once() + + +def test_client_ctx(): + transports = [ + "grpc", + ] + for transport in transports: + client = GroupServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + # Test client calls underlying transport. + with mock.patch.object(type(client.transport), "close") as close: + close.assert_not_called() + with client: + pass + close.assert_called() diff --git a/tests/unit/gapic/monitoring_v3/test_metric_service.py b/tests/unit/gapic/monitoring_v3/test_metric_service.py index 71e70e99..0451f291 100644 --- a/tests/unit/gapic/monitoring_v3/test_metric_service.py +++ b/tests/unit/gapic/monitoring_v3/test_metric_service.py @@ -34,6 +34,7 @@ from google.api_core import gapic_v1 from google.api_core import grpc_helpers from google.api_core import grpc_helpers_async +from google.api_core import path_template from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError from google.cloud.monitoring_v3.services.metric_service import MetricServiceAsyncClient @@ -2981,6 +2982,9 @@ def test_metric_service_base_transport(): with pytest.raises(NotImplementedError): getattr(transport, method)(request=object()) + with pytest.raises(NotImplementedError): + transport.close() + @requires_google_auth_gte_1_25_0 def test_metric_service_base_transport_with_credentials_file(): @@ -3538,3 +3542,49 @@ def test_client_withDEFAULT_CLIENT_INFO(): credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, ) prep.assert_called_once_with(client_info) + + +@pytest.mark.asyncio +async def test_transport_close_async(): + client = MetricServiceAsyncClient( + credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + ) + with mock.patch.object( + type(getattr(client.transport, "grpc_channel")), "close" + ) as close: + async with client: + close.assert_not_called() + close.assert_called_once() + + +def test_transport_close(): + transports = { + "grpc": "_grpc_channel", + } + + for transport, close_name in transports.items(): + client = MetricServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + with mock.patch.object( + type(getattr(client.transport, close_name)), "close" + ) as close: + with client: + close.assert_not_called() + close.assert_called_once() + + +def test_client_ctx(): + transports = [ + "grpc", + ] + for transport in transports: + client = MetricServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + # Test client calls underlying transport. + with mock.patch.object(type(client.transport), "close") as close: + close.assert_not_called() + with client: + pass + close.assert_called() 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 07ae251a..3c25e779 100644 --- a/tests/unit/gapic/monitoring_v3/test_notification_channel_service.py +++ b/tests/unit/gapic/monitoring_v3/test_notification_channel_service.py @@ -31,6 +31,7 @@ from google.api_core import gapic_v1 from google.api_core import grpc_helpers from google.api_core import grpc_helpers_async +from google.api_core import path_template from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError from google.cloud.monitoring_v3.services.notification_channel_service import ( @@ -3484,6 +3485,9 @@ def test_notification_channel_service_base_transport(): with pytest.raises(NotImplementedError): getattr(transport, method)(request=object()) + with pytest.raises(NotImplementedError): + transport.close() + @requires_google_auth_gte_1_25_0 def test_notification_channel_service_base_transport_with_credentials_file(): @@ -4030,3 +4034,49 @@ def test_client_withDEFAULT_CLIENT_INFO(): credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, ) prep.assert_called_once_with(client_info) + + +@pytest.mark.asyncio +async def test_transport_close_async(): + client = NotificationChannelServiceAsyncClient( + credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + ) + with mock.patch.object( + type(getattr(client.transport, "grpc_channel")), "close" + ) as close: + async with client: + close.assert_not_called() + close.assert_called_once() + + +def test_transport_close(): + transports = { + "grpc": "_grpc_channel", + } + + for transport, close_name in transports.items(): + client = NotificationChannelServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + with mock.patch.object( + type(getattr(client.transport, close_name)), "close" + ) as close: + with client: + close.assert_not_called() + close.assert_called_once() + + +def test_client_ctx(): + transports = [ + "grpc", + ] + for transport in transports: + client = NotificationChannelServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + # Test client calls underlying transport. + with mock.patch.object(type(client.transport), "close") as close: + close.assert_not_called() + with client: + pass + close.assert_called() diff --git a/tests/unit/gapic/monitoring_v3/test_query_service.py b/tests/unit/gapic/monitoring_v3/test_query_service.py index 0e5c035f..045bc1d3 100644 --- a/tests/unit/gapic/monitoring_v3/test_query_service.py +++ b/tests/unit/gapic/monitoring_v3/test_query_service.py @@ -29,6 +29,7 @@ from google.api_core import gapic_v1 from google.api_core import grpc_helpers from google.api_core import grpc_helpers_async +from google.api_core import path_template from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError from google.cloud.monitoring_v3.services.query_service import QueryServiceAsyncClient @@ -883,6 +884,9 @@ def test_query_service_base_transport(): with pytest.raises(NotImplementedError): getattr(transport, method)(request=object()) + with pytest.raises(NotImplementedError): + transport.close() + @requires_google_auth_gte_1_25_0 def test_query_service_base_transport_with_credentials_file(): @@ -1358,3 +1362,49 @@ def test_client_withDEFAULT_CLIENT_INFO(): credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, ) prep.assert_called_once_with(client_info) + + +@pytest.mark.asyncio +async def test_transport_close_async(): + client = QueryServiceAsyncClient( + credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + ) + with mock.patch.object( + type(getattr(client.transport, "grpc_channel")), "close" + ) as close: + async with client: + close.assert_not_called() + close.assert_called_once() + + +def test_transport_close(): + transports = { + "grpc": "_grpc_channel", + } + + for transport, close_name in transports.items(): + client = QueryServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + with mock.patch.object( + type(getattr(client.transport, close_name)), "close" + ) as close: + with client: + close.assert_not_called() + close.assert_called_once() + + +def test_client_ctx(): + transports = [ + "grpc", + ] + for transport in transports: + client = QueryServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + # Test client calls underlying transport. + with mock.patch.object(type(client.transport), "close") as close: + close.assert_not_called() + with client: + pass + close.assert_called() 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 79db6f54..72e45fd8 100644 --- a/tests/unit/gapic/monitoring_v3/test_service_monitoring_service.py +++ b/tests/unit/gapic/monitoring_v3/test_service_monitoring_service.py @@ -29,6 +29,7 @@ from google.api_core import gapic_v1 from google.api_core import grpc_helpers from google.api_core import grpc_helpers_async +from google.api_core import path_template from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError from google.cloud.monitoring_v3.services.service_monitoring_service import ( @@ -3193,6 +3194,9 @@ def test_service_monitoring_service_base_transport(): with pytest.raises(NotImplementedError): getattr(transport, method)(request=object()) + with pytest.raises(NotImplementedError): + transport.close() + @requires_google_auth_gte_1_25_0 def test_service_monitoring_service_base_transport_with_credentials_file(): @@ -3733,3 +3737,49 @@ def test_client_withDEFAULT_CLIENT_INFO(): credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, ) prep.assert_called_once_with(client_info) + + +@pytest.mark.asyncio +async def test_transport_close_async(): + client = ServiceMonitoringServiceAsyncClient( + credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + ) + with mock.patch.object( + type(getattr(client.transport, "grpc_channel")), "close" + ) as close: + async with client: + close.assert_not_called() + close.assert_called_once() + + +def test_transport_close(): + transports = { + "grpc": "_grpc_channel", + } + + for transport, close_name in transports.items(): + client = ServiceMonitoringServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + with mock.patch.object( + type(getattr(client.transport, close_name)), "close" + ) as close: + with client: + close.assert_not_called() + close.assert_called_once() + + +def test_client_ctx(): + transports = [ + "grpc", + ] + for transport in transports: + client = ServiceMonitoringServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + # Test client calls underlying transport. + with mock.patch.object(type(client.transport), "close") as close: + close.assert_not_called() + with client: + pass + close.assert_called() 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 bea25aea..40c4a60c 100644 --- a/tests/unit/gapic/monitoring_v3/test_uptime_check_service.py +++ b/tests/unit/gapic/monitoring_v3/test_uptime_check_service.py @@ -30,6 +30,7 @@ from google.api_core import gapic_v1 from google.api_core import grpc_helpers from google.api_core import grpc_helpers_async +from google.api_core import path_template from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError from google.cloud.monitoring_v3.services.uptime_check_service import ( @@ -2255,6 +2256,9 @@ def test_uptime_check_service_base_transport(): with pytest.raises(NotImplementedError): getattr(transport, method)(request=object()) + with pytest.raises(NotImplementedError): + transport.close() + @requires_google_auth_gte_1_25_0 def test_uptime_check_service_base_transport_with_credentials_file(): @@ -2767,3 +2771,49 @@ def test_client_withDEFAULT_CLIENT_INFO(): credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, ) prep.assert_called_once_with(client_info) + + +@pytest.mark.asyncio +async def test_transport_close_async(): + client = UptimeCheckServiceAsyncClient( + credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + ) + with mock.patch.object( + type(getattr(client.transport, "grpc_channel")), "close" + ) as close: + async with client: + close.assert_not_called() + close.assert_called_once() + + +def test_transport_close(): + transports = { + "grpc": "_grpc_channel", + } + + for transport, close_name in transports.items(): + client = UptimeCheckServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + with mock.patch.object( + type(getattr(client.transport, close_name)), "close" + ) as close: + with client: + close.assert_not_called() + close.assert_called_once() + + +def test_client_ctx(): + transports = [ + "grpc", + ] + for transport in transports: + client = UptimeCheckServiceClient( + credentials=ga_credentials.AnonymousCredentials(), transport=transport + ) + # Test client calls underlying transport. + with mock.patch.object(type(client.transport), "close") as close: + close.assert_not_called() + with client: + pass + close.assert_called() From b2cef71ae83da7a737814733be9d37f7fcf49054 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 7 Oct 2021 10:38:46 +0000 Subject: [PATCH 8/8] chore: release 2.6.0 (#231) :robot: I have created a release \*beep\* \*boop\* --- ## [2.6.0](https://www.github.com/googleapis/python-monitoring/compare/v2.5.2...v2.6.0) (2021-10-07) ### Features * add context manager support in client ([#230](https://www.github.com/googleapis/python-monitoring/issues/230)) ([954dd18](https://www.github.com/googleapis/python-monitoring/commit/954dd18966520dbc623470ef528166d83d3e19ba)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- CHANGELOG.md | 7 +++++++ setup.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51016a52..9107446b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://pypi.org/project/google-cloud-monitoring/#history +## [2.6.0](https://www.github.com/googleapis/python-monitoring/compare/v2.5.2...v2.6.0) (2021-10-07) + + +### Features + +* add context manager support in client ([#230](https://www.github.com/googleapis/python-monitoring/issues/230)) ([954dd18](https://www.github.com/googleapis/python-monitoring/commit/954dd18966520dbc623470ef528166d83d3e19ba)) + ### [2.5.2](https://www.github.com/googleapis/python-monitoring/compare/v2.5.1...v2.5.2) (2021-09-30) diff --git a/setup.py b/setup.py index 564269ce..085b1571 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ name = "google-cloud-monitoring" description = "Stackdriver Monitoring API client library" -version = "2.5.2" +version = "2.6.0" # Should be one of: # 'Development Status :: 3 - Alpha' # 'Development Status :: 4 - Beta'