88
99from copy import deepcopy
1010from typing import Any , TYPE_CHECKING
11+ from typing_extensions import Self
1112
13+ from azure .core .pipeline import policies
1214from azure .core .rest import HttpRequest , HttpResponse
1315from azure .mgmt .core import ARMPipelineClient
16+ from azure .mgmt .core .policies import ARMAutoResourceProviderRegistrationPolicy
1417
1518from . import models as _models
1619from ._configuration import ChaosManagementClientConfiguration
2124 ExperimentsOperations ,
2225 OperationStatusesOperations ,
2326 Operations ,
27+ PrivateAccessesOperations ,
2428 TargetTypesOperations ,
2529 TargetsOperations ,
2630)
@@ -43,6 +47,8 @@ class ChaosManagementClient: # pylint: disable=client-accepts-api-version-keywo
4347 :vartype operation_statuses: azure.mgmt.chaos.operations.OperationStatusesOperations
4448 :ivar operations: Operations operations
4549 :vartype operations: azure.mgmt.chaos.operations.Operations
50+ :ivar private_accesses: PrivateAccessesOperations operations
51+ :vartype private_accesses: azure.mgmt.chaos.operations.PrivateAccessesOperations
4652 :ivar target_types: TargetTypesOperations operations
4753 :vartype target_types: azure.mgmt.chaos.operations.TargetTypesOperations
4854 :ivar targets: TargetsOperations operations
@@ -53,8 +59,8 @@ class ChaosManagementClient: # pylint: disable=client-accepts-api-version-keywo
5359 :type subscription_id: str
5460 :param base_url: Service URL. Default value is "https://management.azure.com".
5561 :type base_url: str
56- :keyword api_version: Api Version. Default value is "2024-01-01 ". Note that overriding this
57- default value may result in unsupported behavior.
62+ :keyword api_version: Api Version. Default value is "2024-03-22-preview ". Note that overriding
63+ this default value may result in unsupported behavior.
5864 :paramtype api_version: str
5965 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
6066 Retry-After header is present.
@@ -70,7 +76,25 @@ def __init__(
7076 self ._config = ChaosManagementClientConfiguration (
7177 credential = credential , subscription_id = subscription_id , ** kwargs
7278 )
73- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , config = self ._config , ** kwargs )
79+ _policies = kwargs .pop ("policies" , None )
80+ if _policies is None :
81+ _policies = [
82+ policies .RequestIdPolicy (** kwargs ),
83+ self ._config .headers_policy ,
84+ self ._config .user_agent_policy ,
85+ self ._config .proxy_policy ,
86+ policies .ContentDecodePolicy (** kwargs ),
87+ ARMAutoResourceProviderRegistrationPolicy (),
88+ self ._config .redirect_policy ,
89+ self ._config .retry_policy ,
90+ self ._config .authentication_policy ,
91+ self ._config .custom_hook_policy ,
92+ self ._config .logging_policy ,
93+ policies .DistributedTracingPolicy (** kwargs ),
94+ policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
95+ self ._config .http_logging_policy ,
96+ ]
97+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
7498
7599 client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
76100 self ._serialize = Serializer (client_models )
@@ -85,10 +109,13 @@ def __init__(
85109 self ._client , self ._config , self ._serialize , self ._deserialize
86110 )
87111 self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
112+ self .private_accesses = PrivateAccessesOperations (
113+ self ._client , self ._config , self ._serialize , self ._deserialize
114+ )
88115 self .target_types = TargetTypesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
89116 self .targets = TargetsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
90117
91- def _send_request (self , request : HttpRequest , ** kwargs : Any ) -> HttpResponse :
118+ def _send_request (self , request : HttpRequest , * , stream : bool = False , * *kwargs : Any ) -> HttpResponse :
92119 """Runs the network request through the client's chained policies.
93120
94121 >>> from azure.core.rest import HttpRequest
@@ -108,12 +135,12 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
108135
109136 request_copy = deepcopy (request )
110137 request_copy .url = self ._client .format_url (request_copy .url )
111- return self ._client .send_request (request_copy , ** kwargs )
138+ return self ._client .send_request (request_copy , stream = stream , ** kwargs ) # type: ignore
112139
113140 def close (self ) -> None :
114141 self ._client .close ()
115142
116- def __enter__ (self ) -> "ChaosManagementClient" :
143+ def __enter__ (self ) -> Self :
117144 self ._client .__enter__ ()
118145 return self
119146
0 commit comments