88
99from copy import deepcopy
1010from typing import Any , TYPE_CHECKING
11+ from typing_extensions import Self
1112
13+ from azure .core .pipeline import policies
1214from azure .core .rest import HttpRequest , HttpResponse
1315from azure .mgmt .core import ARMPipelineClient
16+ from azure .mgmt .core .policies import ARMAutoResourceProviderRegistrationPolicy
1417
1518from . import models as _models
1619from ._configuration import AzureArcDataManagementClientConfiguration
1720from ._serialization import Deserializer , Serializer
1821from .operations import (
1922 ActiveDirectoryConnectorsOperations ,
2023 DataControllersOperations ,
24+ FailoverGroupsOperations ,
2125 Operations ,
2226 PostgresInstancesOperations ,
2327 SqlManagedInstancesOperations ,
28+ SqlServerAvailabilityGroupsOperations ,
29+ SqlServerDatabasesOperations ,
30+ SqlServerEsuLicensesOperations ,
2431 SqlServerInstancesOperations ,
32+ SqlServerLicensesOperations ,
2533)
2634
2735if TYPE_CHECKING :
28- # pylint: disable=unused-import,ungrouped-imports
2936 from azure .core .credentials import TokenCredential
3037
3138
32- class AzureArcDataManagementClient : # pylint: disable=client-accepts-api-version-keyword
39+ class AzureArcDataManagementClient : # pylint: disable=too-many-instance-attributes
3340 """The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data
3441 Services on Azure Arc Resources.
3542
@@ -38,22 +45,34 @@ class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-versio
3845 :ivar sql_managed_instances: SqlManagedInstancesOperations operations
3946 :vartype sql_managed_instances:
4047 azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations
48+ :ivar failover_groups: FailoverGroupsOperations operations
49+ :vartype failover_groups: azure.mgmt.azurearcdata.operations.FailoverGroupsOperations
4150 :ivar sql_server_instances: SqlServerInstancesOperations operations
4251 :vartype sql_server_instances: azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations
52+ :ivar sql_server_licenses: SqlServerLicensesOperations operations
53+ :vartype sql_server_licenses: azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations
4354 :ivar data_controllers: DataControllersOperations operations
4455 :vartype data_controllers: azure.mgmt.azurearcdata.operations.DataControllersOperations
4556 :ivar active_directory_connectors: ActiveDirectoryConnectorsOperations operations
4657 :vartype active_directory_connectors:
4758 azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations
4859 :ivar postgres_instances: PostgresInstancesOperations operations
4960 :vartype postgres_instances: azure.mgmt.azurearcdata.operations.PostgresInstancesOperations
61+ :ivar sql_server_availability_groups: SqlServerAvailabilityGroupsOperations operations
62+ :vartype sql_server_availability_groups:
63+ azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations
64+ :ivar sql_server_databases: SqlServerDatabasesOperations operations
65+ :vartype sql_server_databases: azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations
66+ :ivar sql_server_esu_licenses: SqlServerEsuLicensesOperations operations
67+ :vartype sql_server_esu_licenses:
68+ azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations
5069 :param credential: Credential needed for the client to connect to Azure. Required.
5170 :type credential: ~azure.core.credentials.TokenCredential
5271 :param subscription_id: The ID of the Azure subscription. Required.
5372 :type subscription_id: str
5473 :param base_url: Service URL. Default value is "https://management.azure.com".
5574 :type base_url: str
56- :keyword api_version: Api Version. Default value is "2022-03 -01-preview". Note that overriding
75+ :keyword api_version: Api Version. Default value is "2024-05 -01-preview". Note that overriding
5776 this default value may result in unsupported behavior.
5877 :paramtype api_version: str
5978 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
@@ -70,7 +89,25 @@ def __init__(
7089 self ._config = AzureArcDataManagementClientConfiguration (
7190 credential = credential , subscription_id = subscription_id , ** kwargs
7291 )
73- self ._client = ARMPipelineClient (base_url = base_url , config = self ._config , ** kwargs )
92+ _policies = kwargs .pop ("policies" , None )
93+ if _policies is None :
94+ _policies = [
95+ policies .RequestIdPolicy (** kwargs ),
96+ self ._config .headers_policy ,
97+ self ._config .user_agent_policy ,
98+ self ._config .proxy_policy ,
99+ policies .ContentDecodePolicy (** kwargs ),
100+ ARMAutoResourceProviderRegistrationPolicy (),
101+ self ._config .redirect_policy ,
102+ self ._config .retry_policy ,
103+ self ._config .authentication_policy ,
104+ self ._config .custom_hook_policy ,
105+ self ._config .logging_policy ,
106+ policies .DistributedTracingPolicy (** kwargs ),
107+ policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
108+ self ._config .http_logging_policy ,
109+ ]
110+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
74111
75112 client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
76113 self ._serialize = Serializer (client_models )
@@ -80,9 +117,13 @@ def __init__(
80117 self .sql_managed_instances = SqlManagedInstancesOperations (
81118 self ._client , self ._config , self ._serialize , self ._deserialize
82119 )
120+ self .failover_groups = FailoverGroupsOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
83121 self .sql_server_instances = SqlServerInstancesOperations (
84122 self ._client , self ._config , self ._serialize , self ._deserialize
85123 )
124+ self .sql_server_licenses = SqlServerLicensesOperations (
125+ self ._client , self ._config , self ._serialize , self ._deserialize
126+ )
86127 self .data_controllers = DataControllersOperations (
87128 self ._client , self ._config , self ._serialize , self ._deserialize
88129 )
@@ -92,8 +133,17 @@ def __init__(
92133 self .postgres_instances = PostgresInstancesOperations (
93134 self ._client , self ._config , self ._serialize , self ._deserialize
94135 )
136+ self .sql_server_availability_groups = SqlServerAvailabilityGroupsOperations (
137+ self ._client , self ._config , self ._serialize , self ._deserialize
138+ )
139+ self .sql_server_databases = SqlServerDatabasesOperations (
140+ self ._client , self ._config , self ._serialize , self ._deserialize
141+ )
142+ self .sql_server_esu_licenses = SqlServerEsuLicensesOperations (
143+ self ._client , self ._config , self ._serialize , self ._deserialize
144+ )
95145
96- def _send_request (self , request : HttpRequest , ** kwargs : Any ) -> HttpResponse :
146+ def _send_request (self , request : HttpRequest , * , stream : bool = False , * *kwargs : Any ) -> HttpResponse :
97147 """Runs the network request through the client's chained policies.
98148
99149 >>> from azure.core.rest import HttpRequest
@@ -113,14 +163,14 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
113163
114164 request_copy = deepcopy (request )
115165 request_copy .url = self ._client .format_url (request_copy .url )
116- return self ._client .send_request (request_copy , ** kwargs )
166+ return self ._client .send_request (request_copy , stream = stream , ** kwargs ) # type: ignore
117167
118168 def close (self ) -> None :
119169 self ._client .close ()
120170
121- def __enter__ (self ) -> "AzureArcDataManagementClient" :
171+ def __enter__ (self ) -> Self :
122172 self ._client .__enter__ ()
123173 return self
124174
125- def __exit__ (self , * exc_details ) -> None :
175+ def __exit__ (self , * exc_details : Any ) -> None :
126176 self ._client .__exit__ (* exc_details )
0 commit comments