Skip to content
This repository was archived by the owner on Dec 31, 2023. It is now read-only.

Commit 954dd18

Browse files
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: googleapis/googleapis@787f8c9 Source-Link: https://github.com/googleapis/googleapis-gen/commit/81decffe9fc72396a8153e756d1d67a6eecfd620 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiODFkZWNmZmU5ZmM3MjM5NmE4MTUzZTc1NmQxZDY3YTZlZWNmZDYyMCJ9
1 parent c7d369b commit 954dd18

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+671
-30
lines changed

google/cloud/monitoring_v3/services/alert_policy_service/async_client.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,12 @@ async def update_alert_policy(
668668
# Done; return the response.
669669
return response
670670

671+
async def __aenter__(self):
672+
return self
673+
674+
async def __aexit__(self, exc_type, exc, tb):
675+
await self.transport.close()
676+
671677

672678
try:
673679
DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(

google/cloud/monitoring_v3/services/alert_policy_service/client.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -377,10 +377,7 @@ def __init__(
377377
client_cert_source_for_mtls=client_cert_source_func,
378378
quota_project_id=client_options.quota_project_id,
379379
client_info=client_info,
380-
always_use_jwt_access=(
381-
Transport == type(self).get_transport_class("grpc")
382-
or Transport == type(self).get_transport_class("grpc_asyncio")
383-
),
380+
always_use_jwt_access=True,
384381
)
385382

386383
def list_alert_policies(
@@ -840,6 +837,19 @@ def update_alert_policy(
840837
# Done; return the response.
841838
return response
842839

840+
def __enter__(self):
841+
return self
842+
843+
def __exit__(self, type, value, traceback):
844+
"""Releases underlying transport's resources.
845+
846+
.. warning::
847+
ONLY use as a context manager if the transport is NOT shared
848+
with other clients! Exiting the with block will CLOSE the transport
849+
and may cause errors in other clients!
850+
"""
851+
self.transport.close()
852+
843853

844854
try:
845855
DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(

google/cloud/monitoring_v3/services/alert_policy_service/transports/base.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,15 @@ def _prep_wrapped_messages(self, client_info):
210210
),
211211
}
212212

213+
def close(self):
214+
"""Closes resources associated with the transport.
215+
216+
.. warning::
217+
Only call this method if the transport is NOT shared
218+
with other clients - this may cause errors in other clients!
219+
"""
220+
raise NotImplementedError()
221+
213222
@property
214223
def list_alert_policies(
215224
self,

google/cloud/monitoring_v3/services/alert_policy_service/transports/grpc.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,5 +372,8 @@ def update_alert_policy(
372372
)
373373
return self._stubs["update_alert_policy"]
374374

375+
def close(self):
376+
self.grpc_channel.close()
377+
375378

376379
__all__ = ("AlertPolicyServiceGrpcTransport",)

google/cloud/monitoring_v3/services/alert_policy_service/transports/grpc_asyncio.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,5 +379,8 @@ def update_alert_policy(
379379
)
380380
return self._stubs["update_alert_policy"]
381381

382+
def close(self):
383+
return self.grpc_channel.close()
384+
382385

383386
__all__ = ("AlertPolicyServiceGrpcAsyncIOTransport",)

google/cloud/monitoring_v3/services/group_service/async_client.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,12 @@ async def list_group_members(
776776
# Done; return the response.
777777
return response
778778

779+
async def __aenter__(self):
780+
return self
781+
782+
async def __aexit__(self, exc_type, exc, tb):
783+
await self.transport.close()
784+
779785

780786
try:
781787
DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(

google/cloud/monitoring_v3/services/group_service/client.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -352,10 +352,7 @@ def __init__(
352352
client_cert_source_for_mtls=client_cert_source_func,
353353
quota_project_id=client_options.quota_project_id,
354354
client_info=client_info,
355-
always_use_jwt_access=(
356-
Transport == type(self).get_transport_class("grpc")
357-
or Transport == type(self).get_transport_class("grpc_asyncio")
358-
),
355+
always_use_jwt_access=True,
359356
)
360357

361358
def list_groups(
@@ -917,6 +914,19 @@ def list_group_members(
917914
# Done; return the response.
918915
return response
919916

917+
def __enter__(self):
918+
return self
919+
920+
def __exit__(self, type, value, traceback):
921+
"""Releases underlying transport's resources.
922+
923+
.. warning::
924+
ONLY use as a context manager if the transport is NOT shared
925+
with other clients! Exiting the with block will CLOSE the transport
926+
and may cause errors in other clients!
927+
"""
928+
self.transport.close()
929+
920930

921931
try:
922932
DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(

google/cloud/monitoring_v3/services/group_service/transports/base.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,15 @@ def _prep_wrapped_messages(self, client_info):
236236
),
237237
}
238238

239+
def close(self):
240+
"""Closes resources associated with the transport.
241+
242+
.. warning::
243+
Only call this method if the transport is NOT shared
244+
with other clients - this may cause errors in other clients!
245+
"""
246+
raise NotImplementedError()
247+
239248
@property
240249
def list_groups(
241250
self,

google/cloud/monitoring_v3/services/group_service/transports/grpc.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,5 +397,8 @@ def list_group_members(
397397
)
398398
return self._stubs["list_group_members"]
399399

400+
def close(self):
401+
self.grpc_channel.close()
402+
400403

401404
__all__ = ("GroupServiceGrpcTransport",)

google/cloud/monitoring_v3/services/group_service/transports/grpc_asyncio.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,5 +405,8 @@ def list_group_members(
405405
)
406406
return self._stubs["list_group_members"]
407407

408+
def close(self):
409+
return self.grpc_channel.close()
410+
408411

409412
__all__ = ("GroupServiceGrpcAsyncIOTransport",)

0 commit comments

Comments
 (0)