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
1820from . import models as _models
1921from ._configuration import ConnectedKubernetesClientConfiguration
20- from ._serialization import Deserializer , Serializer
22+ from ._utils . serialization import Deserializer , Serializer
2123from .operations import ConnectedClusterOperations , Operations
2224
2325if TYPE_CHECKING :
2729class ConnectedKubernetesClient :
2830 """Azure Connected Cluster Resource Provider API for onboarding a Kubernetes Cluster to Azure Arc.
2931
30- :ivar connected_cluster: ConnectedClusterOperations operations
31- :vartype connected_cluster: azure.mgmt.hybridkubernetes.operations.ConnectedClusterOperations
3232 :ivar operations: Operations operations
3333 :vartype operations: azure.mgmt.hybridkubernetes.operations.Operations
34+ :ivar connected_cluster: ConnectedClusterOperations operations
35+ :vartype connected_cluster: azure.mgmt.hybridkubernetes.operations.ConnectedClusterOperations
3436 :param credential: Credential needed for the client to connect to Azure. Required.
3537 :type credential: ~azure.core.credentials.TokenCredential
3638 :param subscription_id: The ID of the target subscription. Required.
3739 :type subscription_id: str
38- :param base_url: Service URL. Default value is "https://management.azure.com" .
40+ :param base_url: Service URL. Default value is None .
3941 :type base_url: str
4042 :keyword api_version: Api Version. Default value is "2024-12-01-preview". Note that overriding
4143 this default value may result in unsupported behavior.
@@ -45,15 +47,17 @@ class ConnectedKubernetesClient:
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 :
52+ _cloud = kwargs .pop ("cloud_setting" , None ) or settings .current .azure_cloud # type: ignore
53+ _endpoints = get_arm_endpoints (_cloud )
54+ if not base_url :
55+ base_url = _endpoints ["resource_manager" ]
56+ credential_scopes = kwargs .pop ("credential_scopes" , _endpoints ["credential_scopes" ])
5457 self ._config = ConnectedKubernetesClientConfiguration (
55- credential = credential , subscription_id = subscription_id , ** kwargs
58+ credential = credential , subscription_id = subscription_id , credential_scopes = credential_scopes , ** kwargs
5659 )
60+
5761 _policies = kwargs .pop ("policies" , None )
5862 if _policies is None :
5963 _policies = [
@@ -72,16 +76,16 @@ def __init__(
7276 policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
7377 self ._config .http_logging_policy ,
7478 ]
75- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
79+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = cast ( str , base_url ) , policies = _policies , ** kwargs )
7680
7781 client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
7882 self ._serialize = Serializer (client_models )
7983 self ._deserialize = Deserializer (client_models )
8084 self ._serialize .client_side_validation = False
85+ self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
8186 self .connected_cluster = ConnectedClusterOperations (
8287 self ._client , self ._config , self ._serialize , self ._deserialize
8388 )
84- self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
8589
8690 def _send_request (self , request : HttpRequest , * , stream : bool = False , ** kwargs : Any ) -> HttpResponse :
8791 """Runs the network request through the client's chained policies.
0 commit comments