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
1111from typing_extensions import Self
1212
1313from azure .core .pipeline import policies
1414from azure .core .rest import HttpRequest , HttpResponse
15+ from azure .core .settings import settings
1516from azure .mgmt .core import ARMPipelineClient
1617from azure .mgmt .core .policies import ARMAutoResourceProviderRegistrationPolicy
18+ from azure .mgmt .core .tools import get_arm_endpoints
1719
18- from . import models as _models
19- from ._configuration import ConnectedKubernetesClientConfiguration
20- from ._serialization import Deserializer , Serializer
21- from .operations import ConnectedClusterOperations , Operations
20+ from ._configuration import KubernetesClientConfiguration
21+ from ._utils .serialization import Deserializer , Serializer
22+ from .operations import ConnectedClustersOperations , Operations
2223
2324if TYPE_CHECKING :
2425 from azure .core .credentials import TokenCredential
2526
2627
27- class ConnectedKubernetesClient :
28+ class KubernetesClient :
2829 """Azure Connected Cluster Resource Provider API for onboarding a Kubernetes Cluster to Azure Arc.
2930
30- :ivar connected_cluster: ConnectedClusterOperations operations
31- :vartype connected_cluster: azure.mgmt.hybridkubernetes.operations.ConnectedClusterOperations
3231 :ivar operations: Operations operations
3332 :vartype operations: azure.mgmt.hybridkubernetes.operations.Operations
34- :param credential: Credential needed for the client to connect to Azure. Required.
33+ :ivar connected_clusters: ConnectedClustersOperations operations
34+ :vartype connected_clusters: azure.mgmt.hybridkubernetes.operations.ConnectedClustersOperations
35+ :param credential: Credential used to authenticate requests to the service. Required.
3536 :type credential: ~azure.core.credentials.TokenCredential
36- :param subscription_id: The ID of the target subscription. Required.
37+ :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
3738 :type subscription_id: str
38- :param base_url: Service URL . Default value is "https://management.azure.com" .
39+ :param base_url: Service host . Default value is None .
3940 :type base_url: str
40- :keyword api_version: Api Version. Default value is "2024-12-01-preview". Note that overriding
41- this default value may result in unsupported behavior.
41+ :keyword api_version: The API version to use for this operation. Default value is
42+ "2024-12-01-preview". Note that overriding this default value may result in unsupported
43+ behavior.
4244 :paramtype api_version: str
4345 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
4446 Retry-After header is present.
4547 """
4648
4749 def __init__ (
48- self ,
49- credential : "TokenCredential" ,
50- subscription_id : str ,
51- base_url : str = "https://management.azure.com" ,
52- ** kwargs : Any
50+ self , credential : "TokenCredential" , subscription_id : str , base_url : Optional [str ] = None , ** kwargs : Any
5351 ) -> None :
54- self ._config = ConnectedKubernetesClientConfiguration (
55- credential = credential , subscription_id = subscription_id , ** kwargs
52+ _endpoint = "{endpoint}"
53+ _cloud = kwargs .pop ("cloud_setting" , None ) or settings .current .azure_cloud # type: ignore
54+ _endpoints = get_arm_endpoints (_cloud )
55+ if not base_url :
56+ base_url = _endpoints ["resource_manager" ]
57+ credential_scopes = kwargs .pop ("credential_scopes" , _endpoints ["credential_scopes" ])
58+ self ._config = KubernetesClientConfiguration (
59+ credential = credential ,
60+ subscription_id = subscription_id ,
61+ base_url = cast (str , base_url ),
62+ credential_scopes = credential_scopes ,
63+ ** kwargs
5664 )
65+
5766 _policies = kwargs .pop ("policies" , None )
5867 if _policies is None :
5968 _policies = [
@@ -72,24 +81,23 @@ def __init__(
7281 policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
7382 self ._config .http_logging_policy ,
7483 ]
75- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
84+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = cast ( str , _endpoint ) , policies = _policies , ** kwargs )
7685
77- client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
78- self ._serialize = Serializer (client_models )
79- self ._deserialize = Deserializer (client_models )
86+ self ._serialize = Serializer ()
87+ self ._deserialize = Deserializer ()
8088 self ._serialize .client_side_validation = False
81- self .connected_cluster = ConnectedClusterOperations (
89+ self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
90+ self .connected_clusters = ConnectedClustersOperations (
8291 self ._client , self ._config , self ._serialize , self ._deserialize
8392 )
84- self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
8593
86- def _send_request (self , request : HttpRequest , * , stream : bool = False , ** kwargs : Any ) -> HttpResponse :
94+ def send_request (self , request : HttpRequest , * , stream : bool = False , ** kwargs : Any ) -> HttpResponse :
8795 """Runs the network request through the client's chained policies.
8896
8997 >>> from azure.core.rest import HttpRequest
9098 >>> request = HttpRequest("GET", "https://www.example.org/")
9199 <HttpRequest [GET], url: 'https://www.example.org/'>
92- >>> response = client._send_request (request)
100+ >>> response = client.send_request (request)
93101 <HttpResponse: 200 OK>
94102
95103 For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request
@@ -102,7 +110,11 @@ def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs:
102110 """
103111
104112 request_copy = deepcopy (request )
105- request_copy .url = self ._client .format_url (request_copy .url )
113+ path_format_arguments = {
114+ "endpoint" : self ._serialize .url ("self._config.base_url" , self ._config .base_url , "str" , skip_quote = True ),
115+ }
116+
117+ request_copy .url = self ._client .format_url (request_copy .url , ** path_format_arguments )
106118 return self ._client .send_request (request_copy , stream = stream , ** kwargs ) # type: ignore
107119
108120 def close (self ) -> None :
0 commit comments