77# --------------------------------------------------------------------------
88
99from copy import deepcopy
10- from typing import Any , TYPE_CHECKING
10+ from typing import Any , Optional , TYPE_CHECKING , cast
11+ from typing_extensions import Self
1112
13+ from azure .core .pipeline import policies
1214from azure .core .rest import HttpRequest , HttpResponse
15+ from azure .core .settings import settings
1316from azure .mgmt .core import ARMPipelineClient
17+ from azure .mgmt .core .policies import ARMAutoResourceProviderRegistrationPolicy
18+ from azure .mgmt .core .tools import get_arm_endpoints
1419
1520from . import models as _models
1621from ._configuration import ApiCenterMgmtClientConfiguration
17- from ._serialization import Deserializer , Serializer
22+ from ._utils . serialization import Deserializer , Serializer
1823from .operations import (
1924 ApiDefinitionsOperations ,
25+ ApiSourcesOperations ,
2026 ApiVersionsOperations ,
2127 ApisOperations ,
28+ DeletedServicesOperations ,
2229 DeploymentsOperations ,
2330 EnvironmentsOperations ,
2431 MetadataSchemasOperations ,
2835)
2936
3037if TYPE_CHECKING :
31- # pylint: disable=unused-import,ungrouped-imports
3238 from azure .core .credentials import TokenCredential
3339
3440
35- class ApiCenterMgmtClient : # pylint: disable=client-accepts-api-version-keyword, too-many-instance-attributes
41+ class ApiCenterMgmtClient : # pylint: disable=too-many-instance-attributes
3642 """Azure API Center Resource Provider.
3743
3844 :ivar operations: Operations operations
3945 :vartype operations: azure.mgmt.apicenter.operations.Operations
46+ :ivar deleted_services: DeletedServicesOperations operations
47+ :vartype deleted_services: azure.mgmt.apicenter.operations.DeletedServicesOperations
4048 :ivar services: ServicesOperations operations
4149 :vartype services: azure.mgmt.apicenter.operations.ServicesOperations
4250 :ivar metadata_schemas: MetadataSchemasOperations operations
4351 :vartype metadata_schemas: azure.mgmt.apicenter.operations.MetadataSchemasOperations
4452 :ivar workspaces: WorkspacesOperations operations
4553 :vartype workspaces: azure.mgmt.apicenter.operations.WorkspacesOperations
54+ :ivar api_sources: ApiSourcesOperations operations
55+ :vartype api_sources: azure.mgmt.apicenter.operations.ApiSourcesOperations
4656 :ivar apis: ApisOperations operations
4757 :vartype apis: azure.mgmt.apicenter.operations.ApisOperations
4858 :ivar deployments: DeploymentsOperations operations
@@ -57,44 +67,68 @@ class ApiCenterMgmtClient: # pylint: disable=client-accepts-api-version-keyword
5767 :type credential: ~azure.core.credentials.TokenCredential
5868 :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
5969 :type subscription_id: str
60- :param base_url: Service URL. Default value is "https://management.azure.com" .
70+ :param base_url: Service URL. Default value is None .
6171 :type base_url: str
62- :keyword api_version: Api Version. Default value is "2024-03 -01". Note that overriding this
63- default value may result in unsupported behavior.
72+ :keyword api_version: Api Version. Default value is "2024-06 -01-preview ". Note that overriding
73+ this default value may result in unsupported behavior.
6474 :paramtype api_version: str
6575 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
6676 Retry-After header is present.
6777 """
6878
6979 def __init__ (
70- self ,
71- credential : "TokenCredential" ,
72- subscription_id : str ,
73- base_url : str = "https://management.azure.com" ,
74- ** kwargs : Any
80+ self , credential : "TokenCredential" , subscription_id : str , base_url : Optional [str ] = None , ** kwargs : Any
7581 ) -> None :
82+ _cloud = kwargs .pop ("cloud_setting" , None ) or settings .current .azure_cloud # type: ignore
83+ _endpoints = get_arm_endpoints (_cloud )
84+ if not base_url :
85+ base_url = _endpoints ["resource_manager" ]
86+ credential_scopes = kwargs .pop ("credential_scopes" , _endpoints ["credential_scopes" ])
7687 self ._config = ApiCenterMgmtClientConfiguration (
77- credential = credential , subscription_id = subscription_id , ** kwargs
88+ credential = credential , subscription_id = subscription_id , credential_scopes = credential_scopes , ** kwargs
7889 )
79- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , config = self ._config , ** kwargs )
90+
91+ _policies = kwargs .pop ("policies" , None )
92+ if _policies is None :
93+ _policies = [
94+ policies .RequestIdPolicy (** kwargs ),
95+ self ._config .headers_policy ,
96+ self ._config .user_agent_policy ,
97+ self ._config .proxy_policy ,
98+ policies .ContentDecodePolicy (** kwargs ),
99+ ARMAutoResourceProviderRegistrationPolicy (),
100+ self ._config .redirect_policy ,
101+ self ._config .retry_policy ,
102+ self ._config .authentication_policy ,
103+ self ._config .custom_hook_policy ,
104+ self ._config .logging_policy ,
105+ policies .DistributedTracingPolicy (** kwargs ),
106+ policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
107+ self ._config .http_logging_policy ,
108+ ]
109+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = cast (str , base_url ), policies = _policies , ** kwargs )
80110
81111 client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
82112 self ._serialize = Serializer (client_models )
83113 self ._deserialize = Deserializer (client_models )
84114 self ._serialize .client_side_validation = False
85115 self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
116+ self .deleted_services = DeletedServicesOperations (
117+ self ._client , self ._config , self ._serialize , self ._deserialize
118+ )
86119 self .services = ServicesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
87120 self .metadata_schemas = MetadataSchemasOperations (
88121 self ._client , self ._config , self ._serialize , self ._deserialize
89122 )
90123 self .workspaces = WorkspacesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
124+ self .api_sources = ApiSourcesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
91125 self .apis = ApisOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
92126 self .deployments = DeploymentsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
93127 self .api_versions = ApiVersionsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
94128 self .api_definitions = ApiDefinitionsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
95129 self .environments = EnvironmentsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
96130
97- def _send_request (self , request : HttpRequest , ** kwargs : Any ) -> HttpResponse :
131+ def _send_request (self , request : HttpRequest , * , stream : bool = False , * *kwargs : Any ) -> HttpResponse :
98132 """Runs the network request through the client's chained policies.
99133
100134 >>> from azure.core.rest import HttpRequest
@@ -114,12 +148,12 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
114148
115149 request_copy = deepcopy (request )
116150 request_copy .url = self ._client .format_url (request_copy .url )
117- return self ._client .send_request (request_copy , ** kwargs )
151+ return self ._client .send_request (request_copy , stream = stream , ** kwargs ) # type: ignore
118152
119153 def close (self ) -> None :
120154 self ._client .close ()
121155
122- def __enter__ (self ) -> "ApiCenterMgmtClient" :
156+ def __enter__ (self ) -> Self :
123157 self ._client .__enter__ ()
124158 return self
125159
0 commit comments