22# --------------------------------------------------------------------------
33# Copyright (c) Microsoft Corporation. All rights reserved.
44# Licensed under the MIT License. See License.txt in the project root for license information.
5- # Code generated by Microsoft (R) AutoRest Code Generator.
5+ # Code generated by Microsoft (R) Python Code Generator.
66# Changes may cause incorrect behavior and will be lost if the code is regenerated.
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
1213from azure .core .pipeline import policies
1314from azure .core .rest import HttpRequest , HttpResponse
15+ from azure .core .settings import settings
1416from azure .mgmt .core import ARMPipelineClient
1517from azure .mgmt .core .policies import ARMAutoResourceProviderRegistrationPolicy
18+ from azure .mgmt .core .tools import get_arm_endpoints
1619
17- from . import models as _models
1820from ._configuration import AzureSphereMgmtClientConfiguration
19- from ._serialization import Deserializer , Serializer
21+ from ._utils . serialization import Deserializer , Serializer
2022from .operations import (
2123 CatalogsOperations ,
2224 CertificatesOperations ,
2931)
3032
3133if TYPE_CHECKING :
32- # pylint: disable=unused-import,ungrouped-imports
3334 from azure .core .credentials import TokenCredential
3435
3536
36- class AzureSphereMgmtClient : # pylint: disable=client-accepts-api-version-keyword, too-many-instance-attributes
37+ class AzureSphereMgmtClient : # pylint: disable=too-many-instance-attributes
3738 """Azure Sphere resource management API.
3839
3940 :ivar operations: Operations operations
@@ -52,29 +53,36 @@ class AzureSphereMgmtClient: # pylint: disable=client-accepts-api-version-keywo
5253 :vartype deployments: azure.mgmt.sphere.operations.DeploymentsOperations
5354 :ivar devices: DevicesOperations operations
5455 :vartype devices: azure.mgmt.sphere.operations.DevicesOperations
55- :param credential: Credential needed for the client to connect to Azure . Required.
56+ :param credential: Credential used to authenticate requests to the service . Required.
5657 :type credential: ~azure.core.credentials.TokenCredential
57- :param subscription_id: The ID of the target subscription. Required.
58+ :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
5859 :type subscription_id: str
59- :param base_url: Service URL . Default value is "https://management.azure.com" .
60+ :param base_url: Service host . Default value is None .
6061 :type base_url: str
61- :keyword api_version: Api Version . Default value is "2024-04-01". Note that overriding this
62- default value may result in unsupported behavior.
62+ :keyword api_version: The API version to use for this operation . Default value is "2024-04-01".
63+ Note that overriding this default value may result in unsupported behavior.
6364 :paramtype api_version: str
6465 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
6566 Retry-After header is present.
6667 """
6768
6869 def __init__ (
69- self ,
70- credential : "TokenCredential" ,
71- subscription_id : str ,
72- base_url : str = "https://management.azure.com" ,
73- ** kwargs : Any
70+ self , credential : "TokenCredential" , subscription_id : str , base_url : Optional [str ] = None , ** kwargs : Any
7471 ) -> None :
72+ _endpoint = "{endpoint}"
73+ _cloud = kwargs .pop ("cloud_setting" , None ) or settings .current .azure_cloud # type: ignore
74+ _endpoints = get_arm_endpoints (_cloud )
75+ if not base_url :
76+ base_url = _endpoints ["resource_manager" ]
77+ credential_scopes = kwargs .pop ("credential_scopes" , _endpoints ["credential_scopes" ])
7578 self ._config = AzureSphereMgmtClientConfiguration (
76- credential = credential , subscription_id = subscription_id , ** kwargs
79+ credential = credential ,
80+ subscription_id = subscription_id ,
81+ base_url = cast (str , base_url ),
82+ credential_scopes = credential_scopes ,
83+ ** kwargs
7784 )
85+
7886 _policies = kwargs .pop ("policies" , None )
7987 if _policies is None :
8088 _policies = [
@@ -93,11 +101,10 @@ def __init__(
93101 policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
94102 self ._config .http_logging_policy ,
95103 ]
96- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
104+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = cast ( str , _endpoint ) , policies = _policies , ** kwargs )
97105
98- client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
99- self ._serialize = Serializer (client_models )
100- self ._deserialize = Deserializer (client_models )
106+ self ._serialize = Serializer ()
107+ self ._deserialize = Deserializer ()
101108 self ._serialize .client_side_validation = False
102109 self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
103110 self .catalogs = CatalogsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
@@ -108,13 +115,13 @@ def __init__(
108115 self .deployments = DeploymentsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
109116 self .devices = DevicesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
110117
111- def _send_request (self , request : HttpRequest , * , stream : bool = False , ** kwargs : Any ) -> HttpResponse :
118+ def send_request (self , request : HttpRequest , * , stream : bool = False , ** kwargs : Any ) -> HttpResponse :
112119 """Runs the network request through the client's chained policies.
113120
114121 >>> from azure.core.rest import HttpRequest
115122 >>> request = HttpRequest("GET", "https://www.example.org/")
116123 <HttpRequest [GET], url: 'https://www.example.org/'>
117- >>> response = client._send_request (request)
124+ >>> response = client.send_request (request)
118125 <HttpResponse: 200 OK>
119126
120127 For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request
@@ -127,13 +134,17 @@ def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs:
127134 """
128135
129136 request_copy = deepcopy (request )
130- request_copy .url = self ._client .format_url (request_copy .url )
137+ path_format_arguments = {
138+ "endpoint" : self ._serialize .url ("self._config.base_url" , self ._config .base_url , "str" , skip_quote = True ),
139+ }
140+
141+ request_copy .url = self ._client .format_url (request_copy .url , ** path_format_arguments )
131142 return self ._client .send_request (request_copy , stream = stream , ** kwargs ) # type: ignore
132143
133144 def close (self ) -> None :
134145 self ._client .close ()
135146
136- def __enter__ (self ) -> "AzureSphereMgmtClient" :
147+ def __enter__ (self ) -> Self :
137148 self ._client .__enter__ ()
138149 return self
139150
0 commit comments