77# --------------------------------------------------------------------------
88
99from copy import deepcopy
10- from typing import Any , TYPE_CHECKING
10+ from typing import Any , Optional , TYPE_CHECKING , cast
11+ from typing_extensions import Self
1112
1213from azure .core .pipeline import policies
1314from azure .core .rest import HttpRequest , HttpResponse
15+ from azure .core .settings import settings
1416from azure .mgmt .core import ARMPipelineClient
1517from azure .mgmt .core .policies import ARMAutoResourceProviderRegistrationPolicy
18+ from azure .mgmt .core .tools import get_arm_endpoints
1619
1720from . import models as _models
1821from ._configuration import MaintenanceManagementClientConfiguration
19- from ._serialization import Deserializer , Serializer
22+ from ._utils . serialization import Deserializer , Serializer
2023from .operations import (
2124 ApplyUpdateForResourceGroupOperations ,
2225 ApplyUpdatesOperations ,
3336)
3437
3538if TYPE_CHECKING :
36- # pylint: disable=unused-import,ungrouped-imports
3739 from azure .core .credentials import TokenCredential
3840
3941
40- class MaintenanceManagementClient : # pylint: disable=client-accepts-api-version-keyword, too-many-instance-attributes
42+ class MaintenanceManagementClient : # pylint: disable=too-many-instance-attributes
4143 """Azure Maintenance Management Client.
4244
43- :ivar scheduled_event: ScheduledEventOperations operations
44- :vartype scheduled_event: azure.mgmt.maintenance.operations.ScheduledEventOperations
45- :ivar public_maintenance_configurations: PublicMaintenanceConfigurationsOperations operations
46- :vartype public_maintenance_configurations:
47- azure.mgmt.maintenance.operations.PublicMaintenanceConfigurationsOperations
45+ :ivar operations: Operations operations
46+ :vartype operations: azure.mgmt.maintenance.operations.Operations
4847 :ivar apply_updates: ApplyUpdatesOperations operations
4948 :vartype apply_updates: azure.mgmt.maintenance.operations.ApplyUpdatesOperations
50- :ivar configuration_assignments: ConfigurationAssignmentsOperations operations
51- :vartype configuration_assignments:
52- azure.mgmt.maintenance.operations.ConfigurationAssignmentsOperations
53- :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations
54- :vartype maintenance_configurations:
55- azure.mgmt.maintenance.operations.MaintenanceConfigurationsOperations
56- :ivar maintenance_configurations_for_resource_group:
57- MaintenanceConfigurationsForResourceGroupOperations operations
58- :vartype maintenance_configurations_for_resource_group:
59- azure.mgmt.maintenance.operations.MaintenanceConfigurationsForResourceGroupOperations
60- :ivar apply_update_for_resource_group: ApplyUpdateForResourceGroupOperations operations
61- :vartype apply_update_for_resource_group:
62- azure.mgmt.maintenance.operations.ApplyUpdateForResourceGroupOperations
6349 :ivar configuration_assignments_within_subscription:
6450 ConfigurationAssignmentsWithinSubscriptionOperations operations
6551 :vartype configuration_assignments_within_subscription:
@@ -68,35 +54,53 @@ class MaintenanceManagementClient: # pylint: disable=client-accepts-api-version
6854 ConfigurationAssignmentsForSubscriptionsOperations operations
6955 :vartype configuration_assignments_for_subscriptions:
7056 azure.mgmt.maintenance.operations.ConfigurationAssignmentsForSubscriptionsOperations
57+ :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations
58+ :vartype maintenance_configurations:
59+ azure.mgmt.maintenance.operations.MaintenanceConfigurationsOperations
60+ :ivar public_maintenance_configurations: PublicMaintenanceConfigurationsOperations operations
61+ :vartype public_maintenance_configurations:
62+ azure.mgmt.maintenance.operations.PublicMaintenanceConfigurationsOperations
63+ :ivar configuration_assignments: ConfigurationAssignmentsOperations operations
64+ :vartype configuration_assignments:
65+ azure.mgmt.maintenance.operations.ConfigurationAssignmentsOperations
66+ :ivar apply_update_for_resource_group: ApplyUpdateForResourceGroupOperations operations
67+ :vartype apply_update_for_resource_group:
68+ azure.mgmt.maintenance.operations.ApplyUpdateForResourceGroupOperations
7169 :ivar configuration_assignments_for_resource_group:
7270 ConfigurationAssignmentsForResourceGroupOperations operations
7371 :vartype configuration_assignments_for_resource_group:
7472 azure.mgmt.maintenance.operations.ConfigurationAssignmentsForResourceGroupOperations
75- :ivar operations: Operations operations
76- :vartype operations: azure.mgmt.maintenance.operations.Operations
73+ :ivar maintenance_configurations_for_resource_group:
74+ MaintenanceConfigurationsForResourceGroupOperations operations
75+ :vartype maintenance_configurations_for_resource_group:
76+ azure.mgmt.maintenance.operations.MaintenanceConfigurationsForResourceGroupOperations
7777 :ivar updates: UpdatesOperations operations
7878 :vartype updates: azure.mgmt.maintenance.operations.UpdatesOperations
79+ :ivar scheduled_event: ScheduledEventOperations operations
80+ :vartype scheduled_event: azure.mgmt.maintenance.operations.ScheduledEventOperations
7981 :param credential: Credential needed for the client to connect to Azure. Required.
8082 :type credential: ~azure.core.credentials.TokenCredential
8183 :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
8284 :type subscription_id: str
83- :param base_url: Service URL. Default value is "https://management.azure.com" .
85+ :param base_url: Service URL. Default value is None .
8486 :type base_url: str
8587 :keyword api_version: Api Version. Default value is "2023-10-01-preview". Note that overriding
8688 this default value may result in unsupported behavior.
8789 :paramtype api_version: str
8890 """
8991
9092 def __init__ (
91- self ,
92- credential : "TokenCredential" ,
93- subscription_id : str ,
94- base_url : str = "https://management.azure.com" ,
95- ** kwargs : Any
93+ self , credential : "TokenCredential" , subscription_id : str , base_url : Optional [str ] = None , ** kwargs : Any
9694 ) -> None :
95+ _cloud = kwargs .pop ("cloud_setting" , None ) or settings .current .azure_cloud # type: ignore
96+ _endpoints = get_arm_endpoints (_cloud )
97+ if not base_url :
98+ base_url = _endpoints ["resource_manager" ]
99+ credential_scopes = kwargs .pop ("credential_scopes" , _endpoints ["credential_scopes" ])
97100 self ._config = MaintenanceManagementClientConfiguration (
98- credential = credential , subscription_id = subscription_id , ** kwargs
101+ credential = credential , subscription_id = subscription_id , credential_scopes = credential_scopes , ** kwargs
99102 )
103+
100104 _policies = kwargs .pop ("policies" , None )
101105 if _policies is None :
102106 _policies = [
@@ -115,40 +119,40 @@ def __init__(
115119 policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
116120 self ._config .http_logging_policy ,
117121 ]
118- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
122+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = cast ( str , base_url ) , policies = _policies , ** kwargs )
119123
120124 client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
121125 self ._serialize = Serializer (client_models )
122126 self ._deserialize = Deserializer (client_models )
123127 self ._serialize .client_side_validation = False
124- self .scheduled_event = ScheduledEventOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
125- self .public_maintenance_configurations = PublicMaintenanceConfigurationsOperations (
128+ self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
129+ self .apply_updates = ApplyUpdatesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
130+ self .configuration_assignments_within_subscription = ConfigurationAssignmentsWithinSubscriptionOperations (
126131 self ._client , self ._config , self ._serialize , self ._deserialize
127132 )
128- self .apply_updates = ApplyUpdatesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
129- self .configuration_assignments = ConfigurationAssignmentsOperations (
133+ self .configuration_assignments_for_subscriptions = ConfigurationAssignmentsForSubscriptionsOperations (
130134 self ._client , self ._config , self ._serialize , self ._deserialize
131135 )
132136 self .maintenance_configurations = MaintenanceConfigurationsOperations (
133137 self ._client , self ._config , self ._serialize , self ._deserialize
134138 )
135- self .maintenance_configurations_for_resource_group = MaintenanceConfigurationsForResourceGroupOperations (
139+ self .public_maintenance_configurations = PublicMaintenanceConfigurationsOperations (
136140 self ._client , self ._config , self ._serialize , self ._deserialize
137141 )
138- self .apply_update_for_resource_group = ApplyUpdateForResourceGroupOperations (
142+ self .configuration_assignments = ConfigurationAssignmentsOperations (
139143 self ._client , self ._config , self ._serialize , self ._deserialize
140144 )
141- self .configuration_assignments_within_subscription = ConfigurationAssignmentsWithinSubscriptionOperations (
145+ self .apply_update_for_resource_group = ApplyUpdateForResourceGroupOperations (
142146 self ._client , self ._config , self ._serialize , self ._deserialize
143147 )
144- self .configuration_assignments_for_subscriptions = ConfigurationAssignmentsForSubscriptionsOperations (
148+ self .configuration_assignments_for_resource_group = ConfigurationAssignmentsForResourceGroupOperations (
145149 self ._client , self ._config , self ._serialize , self ._deserialize
146150 )
147- self .configuration_assignments_for_resource_group = ConfigurationAssignmentsForResourceGroupOperations (
151+ self .maintenance_configurations_for_resource_group = MaintenanceConfigurationsForResourceGroupOperations (
148152 self ._client , self ._config , self ._serialize , self ._deserialize
149153 )
150- self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
151154 self .updates = UpdatesOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
155+ self .scheduled_event = ScheduledEventOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
152156
153157 def _send_request (self , request : HttpRequest , * , stream : bool = False , ** kwargs : Any ) -> HttpResponse :
154158 """Runs the network request through the client's chained policies.
@@ -175,7 +179,7 @@ def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs:
175179 def close (self ) -> None :
176180 self ._client .close ()
177181
178- def __enter__ (self ) -> "MaintenanceManagementClient" :
182+ def __enter__ (self ) -> Self :
179183 self ._client .__enter__ ()
180184 return self
181185
0 commit comments