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 AVSClientConfiguration
20- from ._serialization import Deserializer , Serializer
22+ from ._utils . serialization import Deserializer , Serializer
2123from .operations import (
2224 AddonsOperations ,
2325 AuthorizationsOperations ,
2628 DatastoresOperations ,
2729 GlobalReachConnectionsOperations ,
2830 HcxEnterpriseSitesOperations ,
31+ HostsOperations ,
2932 IscsiPathsOperations ,
3033 LocationsOperations ,
3134 Operations ,
3235 PlacementPoliciesOperations ,
3336 PrivateCloudsOperations ,
37+ ProvisionedNetworksOperations ,
38+ PureStoragePoliciesOperations ,
3439 ScriptCmdletsOperations ,
3540 ScriptExecutionsOperations ,
3641 ScriptPackagesOperations ,
42+ SkusOperations ,
3743 VirtualMachinesOperations ,
3844 WorkloadNetworksOperations ,
3945)
4046
4147if TYPE_CHECKING :
42- # pylint: disable=unused-import,ungrouped-imports
4348 from azure .core .credentials import TokenCredential
4449
4550
46- class AVSClient : # pylint: disable=client-accepts-api-version-keyword, too-many-instance-attributes
51+ class AVSClient : # pylint: disable=too-many-instance-attributes
4752 """Azure VMware Solution API.
4853
4954 :ivar operations: Operations operations
@@ -52,6 +57,8 @@ class AVSClient: # pylint: disable=client-accepts-api-version-keyword,too-many-
5257 :vartype locations: azure.mgmt.avs.operations.LocationsOperations
5358 :ivar private_clouds: PrivateCloudsOperations operations
5459 :vartype private_clouds: azure.mgmt.avs.operations.PrivateCloudsOperations
60+ :ivar skus: SkusOperations operations
61+ :vartype skus: azure.mgmt.avs.operations.SkusOperations
5562 :ivar addons: AddonsOperations operations
5663 :vartype addons: azure.mgmt.avs.operations.AddonsOperations
5764 :ivar authorizations: AuthorizationsOperations operations
@@ -62,6 +69,8 @@ class AVSClient: # pylint: disable=client-accepts-api-version-keyword,too-many-
6269 :vartype clusters: azure.mgmt.avs.operations.ClustersOperations
6370 :ivar datastores: DatastoresOperations operations
6471 :vartype datastores: azure.mgmt.avs.operations.DatastoresOperations
72+ :ivar hosts: HostsOperations operations
73+ :vartype hosts: azure.mgmt.avs.operations.HostsOperations
6574 :ivar placement_policies: PlacementPoliciesOperations operations
6675 :vartype placement_policies: azure.mgmt.avs.operations.PlacementPoliciesOperations
6776 :ivar virtual_machines: VirtualMachinesOperations operations
@@ -72,6 +81,10 @@ class AVSClient: # pylint: disable=client-accepts-api-version-keyword,too-many-
7281 :vartype hcx_enterprise_sites: azure.mgmt.avs.operations.HcxEnterpriseSitesOperations
7382 :ivar iscsi_paths: IscsiPathsOperations operations
7483 :vartype iscsi_paths: azure.mgmt.avs.operations.IscsiPathsOperations
84+ :ivar provisioned_networks: ProvisionedNetworksOperations operations
85+ :vartype provisioned_networks: azure.mgmt.avs.operations.ProvisionedNetworksOperations
86+ :ivar pure_storage_policies: PureStoragePoliciesOperations operations
87+ :vartype pure_storage_policies: azure.mgmt.avs.operations.PureStoragePoliciesOperations
7588 :ivar script_executions: ScriptExecutionsOperations operations
7689 :vartype script_executions: azure.mgmt.avs.operations.ScriptExecutionsOperations
7790 :ivar script_packages: ScriptPackagesOperations operations
@@ -84,23 +97,27 @@ class AVSClient: # pylint: disable=client-accepts-api-version-keyword,too-many-
8497 :type credential: ~azure.core.credentials.TokenCredential
8598 :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
8699 :type subscription_id: str
87- :param base_url: Service URL. Default value is "https://management.azure.com" .
100+ :param base_url: Service URL. Default value is None .
88101 :type base_url: str
89- :keyword api_version: Api Version. Default value is "2023 -09-01". Note that overriding this
102+ :keyword api_version: Api Version. Default value is "2024 -09-01". Note that overriding this
90103 default value may result in unsupported behavior.
91104 :paramtype api_version: str
92105 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
93106 Retry-After header is present.
94107 """
95108
96109 def __init__ (
97- self ,
98- credential : "TokenCredential" ,
99- subscription_id : str ,
100- base_url : str = "https://management.azure.com" ,
101- ** kwargs : Any
110+ self , credential : "TokenCredential" , subscription_id : str , base_url : Optional [str ] = None , ** kwargs : Any
102111 ) -> None :
103- self ._config = AVSClientConfiguration (credential = credential , subscription_id = subscription_id , ** kwargs )
112+ _cloud = kwargs .pop ("cloud_setting" , None ) or settings .current .azure_cloud # type: ignore
113+ _endpoints = get_arm_endpoints (_cloud )
114+ if not base_url :
115+ base_url = _endpoints ["resource_manager" ]
116+ credential_scopes = kwargs .pop ("credential_scopes" , _endpoints ["credential_scopes" ])
117+ self ._config = AVSClientConfiguration (
118+ credential = credential , subscription_id = subscription_id , credential_scopes = credential_scopes , ** kwargs
119+ )
120+
104121 _policies = kwargs .pop ("policies" , None )
105122 if _policies is None :
106123 _policies = [
@@ -119,7 +136,7 @@ def __init__(
119136 policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
120137 self ._config .http_logging_policy ,
121138 ]
122- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
139+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = cast ( str , base_url ) , policies = _policies , ** kwargs )
123140
124141 client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
125142 self ._serialize = Serializer (client_models )
@@ -128,11 +145,13 @@ def __init__(
128145 self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
129146 self .locations = LocationsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
130147 self .private_clouds = PrivateCloudsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
148+ self .skus = SkusOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
131149 self .addons = AddonsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
132150 self .authorizations = AuthorizationsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
133151 self .cloud_links = CloudLinksOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
134152 self .clusters = ClustersOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
135153 self .datastores = DatastoresOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
154+ self .hosts = HostsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
136155 self .placement_policies = PlacementPoliciesOperations (
137156 self ._client , self ._config , self ._serialize , self ._deserialize
138157 )
@@ -146,6 +165,12 @@ def __init__(
146165 self ._client , self ._config , self ._serialize , self ._deserialize
147166 )
148167 self .iscsi_paths = IscsiPathsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
168+ self .provisioned_networks = ProvisionedNetworksOperations (
169+ self ._client , self ._config , self ._serialize , self ._deserialize
170+ )
171+ self .pure_storage_policies = PureStoragePoliciesOperations (
172+ self ._client , self ._config , self ._serialize , self ._deserialize
173+ )
149174 self .script_executions = ScriptExecutionsOperations (
150175 self ._client , self ._config , self ._serialize , self ._deserialize
151176 )
0 commit comments