msrest-for-python icon indicating copy to clipboard operation
msrest-for-python copied to clipboard

Allow using ConsumptionManagementClient as a context manager for HTTPS connections reuse

Open pdecat opened this issue 4 years ago • 0 comments

Hi,

it would be awesome if ConsumptionManagementClient could be used as a context manager just like ComputeClientManagement.

Currently, this does not work as ConsumptionManagementClient only inherits from object and has no __enter__/__exit__ methods, unlike ComputeClientManagement that does inherit from msrest.service_client.SDKClient:

consumption_client = ConsumptionManagementClient(**parameters)
with consumption_client as client:
  response = client.price_sheet.get(expand="meterDetails", raw=True) 

A dirty work-around that works:

consumption_client = ConsumptionManagementClient(**parameters)
with consumption_client._client:
  response = consumption_client.price_sheet.get(expand="meterDetails", raw=True) 

Related: https://github.com/Azure/msrest-for-python/issues/132#issuecomment-450938697

pdecat avatar Apr 10 '21 06:04 pdecat