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 DataMigrationManagementClientConfiguration
1720from ._serialization import Deserializer , Serializer
1821from .operations import (
22+ DatabaseMigrationsMongoToCosmosDbRUMongoOperations ,
23+ DatabaseMigrationsMongoToCosmosDbvCoreMongoOperations ,
1924 DatabaseMigrationsSqlDbOperations ,
2025 DatabaseMigrationsSqlMiOperations ,
2126 DatabaseMigrationsSqlVmOperations ,
2227 FilesOperations ,
28+ MigrationServicesOperations ,
2329 Operations ,
2430 ProjectsOperations ,
2531 ResourceSkusOperations ,
3137)
3238
3339if TYPE_CHECKING :
34- # pylint: disable=unused-import,ungrouped-imports
3540 from azure .core .credentials import TokenCredential
3641
3742
38- class DataMigrationManagementClient : # pylint: disable=client-accepts-api-version-keyword, too-many-instance-attributes
43+ class DataMigrationManagementClient : # pylint: disable=too-many-instance-attributes
3944 """Data Migration Client.
4045
46+ :ivar database_migrations_mongo_to_cosmos_db_ru_mongo:
47+ DatabaseMigrationsMongoToCosmosDbRUMongoOperations operations
48+ :vartype database_migrations_mongo_to_cosmos_db_ru_mongo:
49+ azure.mgmt.datamigration.operations.DatabaseMigrationsMongoToCosmosDbRUMongoOperations
50+ :ivar database_migrations_mongo_to_cosmos_dbv_core_mongo:
51+ DatabaseMigrationsMongoToCosmosDbvCoreMongoOperations operations
52+ :vartype database_migrations_mongo_to_cosmos_dbv_core_mongo:
53+ azure.mgmt.datamigration.operations.DatabaseMigrationsMongoToCosmosDbvCoreMongoOperations
4154 :ivar database_migrations_sql_db: DatabaseMigrationsSqlDbOperations operations
4255 :vartype database_migrations_sql_db:
4356 azure.mgmt.datamigration.operations.DatabaseMigrationsSqlDbOperations
@@ -49,6 +62,8 @@ class DataMigrationManagementClient: # pylint: disable=client-accepts-api-versi
4962 azure.mgmt.datamigration.operations.DatabaseMigrationsSqlVmOperations
5063 :ivar operations: Operations operations
5164 :vartype operations: azure.mgmt.datamigration.operations.Operations
65+ :ivar migration_services: MigrationServicesOperations operations
66+ :vartype migration_services: azure.mgmt.datamigration.operations.MigrationServicesOperations
5267 :ivar sql_migration_services: SqlMigrationServicesOperations operations
5368 :vartype sql_migration_services:
5469 azure.mgmt.datamigration.operations.SqlMigrationServicesOperations
@@ -72,7 +87,7 @@ class DataMigrationManagementClient: # pylint: disable=client-accepts-api-versi
7287 :type subscription_id: str
7388 :param base_url: Service URL. Default value is "https://management.azure.com".
7489 :type base_url: str
75- :keyword api_version: Api Version. Default value is "2022 -03-30 -preview". Note that overriding
90+ :keyword api_version: Api Version. Default value is "2025 -03-15 -preview". Note that overriding
7691 this default value may result in unsupported behavior.
7792 :paramtype api_version: str
7893 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
@@ -89,12 +104,36 @@ def __init__(
89104 self ._config = DataMigrationManagementClientConfiguration (
90105 credential = credential , subscription_id = subscription_id , ** kwargs
91106 )
92- self ._client = ARMPipelineClient (base_url = base_url , config = self ._config , ** kwargs )
107+ _policies = kwargs .pop ("policies" , None )
108+ if _policies is None :
109+ _policies = [
110+ policies .RequestIdPolicy (** kwargs ),
111+ self ._config .headers_policy ,
112+ self ._config .user_agent_policy ,
113+ self ._config .proxy_policy ,
114+ policies .ContentDecodePolicy (** kwargs ),
115+ ARMAutoResourceProviderRegistrationPolicy (),
116+ self ._config .redirect_policy ,
117+ self ._config .retry_policy ,
118+ self ._config .authentication_policy ,
119+ self ._config .custom_hook_policy ,
120+ self ._config .logging_policy ,
121+ policies .DistributedTracingPolicy (** kwargs ),
122+ policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
123+ self ._config .http_logging_policy ,
124+ ]
125+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
93126
94127 client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
95128 self ._serialize = Serializer (client_models )
96129 self ._deserialize = Deserializer (client_models )
97130 self ._serialize .client_side_validation = False
131+ self .database_migrations_mongo_to_cosmos_db_ru_mongo = DatabaseMigrationsMongoToCosmosDbRUMongoOperations (
132+ self ._client , self ._config , self ._serialize , self ._deserialize
133+ )
134+ self .database_migrations_mongo_to_cosmos_dbv_core_mongo = DatabaseMigrationsMongoToCosmosDbvCoreMongoOperations (
135+ self ._client , self ._config , self ._serialize , self ._deserialize
136+ )
98137 self .database_migrations_sql_db = DatabaseMigrationsSqlDbOperations (
99138 self ._client , self ._config , self ._serialize , self ._deserialize
100139 )
@@ -105,6 +144,9 @@ def __init__(
105144 self ._client , self ._config , self ._serialize , self ._deserialize
106145 )
107146 self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
147+ self .migration_services = MigrationServicesOperations (
148+ self ._client , self ._config , self ._serialize , self ._deserialize
149+ )
108150 self .sql_migration_services = SqlMigrationServicesOperations (
109151 self ._client , self ._config , self ._serialize , self ._deserialize
110152 )
@@ -116,7 +158,7 @@ def __init__(
116158 self .usages = UsagesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
117159 self .files = FilesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
118160
119- def _send_request (self , request : HttpRequest , ** kwargs : Any ) -> HttpResponse :
161+ def _send_request (self , request : HttpRequest , * , stream : bool = False , * *kwargs : Any ) -> HttpResponse :
120162 """Runs the network request through the client's chained policies.
121163
122164 >>> from azure.core.rest import HttpRequest
@@ -136,14 +178,14 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
136178
137179 request_copy = deepcopy (request )
138180 request_copy .url = self ._client .format_url (request_copy .url )
139- return self ._client .send_request (request_copy , ** kwargs )
181+ return self ._client .send_request (request_copy , stream = stream , ** kwargs ) # type: ignore
140182
141183 def close (self ) -> None :
142184 self ._client .close ()
143185
144- def __enter__ (self ) -> "DataMigrationManagementClient" :
186+ def __enter__ (self ) -> Self :
145187 self ._client .__enter__ ()
146188 return self
147189
148- def __exit__ (self , * exc_details ) -> None :
190+ def __exit__ (self , * exc_details : Any ) -> None :
149191 self ._client .__exit__ (* exc_details )
0 commit comments