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 DynatraceObservabilityMgmtClientConfiguration
1720from ._serialization import Deserializer , Serializer
18- from .operations import MonitorsOperations , Operations , SingleSignOnOperations , TagRulesOperations
21+ from .operations import (
22+ CreationSupportedOperations ,
23+ MonitoredSubscriptionsOperations ,
24+ MonitorsOperations ,
25+ Operations ,
26+ SingleSignOnOperations ,
27+ TagRulesOperations ,
28+ )
1929
2030if TYPE_CHECKING :
21- # pylint: disable=unused-import,ungrouped-imports
2231 from azure .core .credentials import TokenCredential
2332
2433
25- class DynatraceObservabilityMgmtClient : # pylint: disable=client-accepts-api-version-keyword
34+ class DynatraceObservabilityMgmtClient :
2635 """DynatraceObservabilityMgmtClient.
2736
2837 :ivar monitors: MonitorsOperations operations
2938 :vartype monitors: azure.mgmt.dynatrace.operations.MonitorsOperations
39+ :ivar monitored_subscriptions: MonitoredSubscriptionsOperations operations
40+ :vartype monitored_subscriptions:
41+ azure.mgmt.dynatrace.operations.MonitoredSubscriptionsOperations
42+ :ivar creation_supported: CreationSupportedOperations operations
43+ :vartype creation_supported: azure.mgmt.dynatrace.operations.CreationSupportedOperations
3044 :ivar operations: Operations operations
3145 :vartype operations: azure.mgmt.dynatrace.operations.Operations
3246 :ivar tag_rules: TagRulesOperations operations
@@ -35,11 +49,11 @@ class DynatraceObservabilityMgmtClient: # pylint: disable=client-accepts-api-ve
3549 :vartype single_sign_on: azure.mgmt.dynatrace.operations.SingleSignOnOperations
3650 :param credential: Credential needed for the client to connect to Azure. Required.
3751 :type credential: ~azure.core.credentials.TokenCredential
38- :param subscription_id: The ID of the target subscription. Required.
52+ :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
3953 :type subscription_id: str
4054 :param base_url: Service URL. Default value is "https://management.azure.com".
4155 :type base_url: str
42- :keyword api_version: Api Version. Default value is "2023 -04-27 ". Note that overriding this
56+ :keyword api_version: Api Version. Default value is "2024 -04-24 ". Note that overriding this
4357 default value may result in unsupported behavior.
4458 :paramtype api_version: str
4559 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
@@ -56,18 +70,42 @@ def __init__(
5670 self ._config = DynatraceObservabilityMgmtClientConfiguration (
5771 credential = credential , subscription_id = subscription_id , ** kwargs
5872 )
59- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , config = self ._config , ** kwargs )
73+ _policies = kwargs .pop ("policies" , None )
74+ if _policies is None :
75+ _policies = [
76+ policies .RequestIdPolicy (** kwargs ),
77+ self ._config .headers_policy ,
78+ self ._config .user_agent_policy ,
79+ self ._config .proxy_policy ,
80+ policies .ContentDecodePolicy (** kwargs ),
81+ ARMAutoResourceProviderRegistrationPolicy (),
82+ self ._config .redirect_policy ,
83+ self ._config .retry_policy ,
84+ self ._config .authentication_policy ,
85+ self ._config .custom_hook_policy ,
86+ self ._config .logging_policy ,
87+ policies .DistributedTracingPolicy (** kwargs ),
88+ policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
89+ self ._config .http_logging_policy ,
90+ ]
91+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
6092
6193 client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
6294 self ._serialize = Serializer (client_models )
6395 self ._deserialize = Deserializer (client_models )
6496 self ._serialize .client_side_validation = False
6597 self .monitors = MonitorsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
98+ self .monitored_subscriptions = MonitoredSubscriptionsOperations (
99+ self ._client , self ._config , self ._serialize , self ._deserialize
100+ )
101+ self .creation_supported = CreationSupportedOperations (
102+ self ._client , self ._config , self ._serialize , self ._deserialize
103+ )
66104 self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
67105 self .tag_rules = TagRulesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
68106 self .single_sign_on = SingleSignOnOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
69107
70- def _send_request (self , request : HttpRequest , ** kwargs : Any ) -> HttpResponse :
108+ def _send_request (self , request : HttpRequest , * , stream : bool = False , * *kwargs : Any ) -> HttpResponse :
71109 """Runs the network request through the client's chained policies.
72110
73111 >>> from azure.core.rest import HttpRequest
@@ -87,12 +125,12 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
87125
88126 request_copy = deepcopy (request )
89127 request_copy .url = self ._client .format_url (request_copy .url )
90- return self ._client .send_request (request_copy , ** kwargs )
128+ return self ._client .send_request (request_copy , stream = stream , ** kwargs ) # type: ignore
91129
92130 def close (self ) -> None :
93131 self ._client .close ()
94132
95- def __enter__ (self ) -> "DynatraceObservabilityMgmtClient" :
133+ def __enter__ (self ) -> Self :
96134 self ._client .__enter__ ()
97135 return self
98136
0 commit comments