22# --------------------------------------------------------------------------
33# Copyright (c) Microsoft Corporation. All rights reserved.
44# Licensed under the MIT License. See License.txt in the project root for license information.
5- # Code generated by Microsoft (R) AutoRest Code Generator.
5+ # Code generated by Microsoft (R) Python Code Generator.
66# Changes may cause incorrect behavior and will be lost if the code is regenerated.
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
17- from . import models as _models
1820from ._configuration import AppComplianceAutomationMgmtClientConfiguration
19- from ._serialization import Deserializer , Serializer
21+ from ._utils . serialization import Deserializer , Serializer
2022from .operations import (
2123 EvidenceOperations ,
2224 Operations ,
2830)
2931
3032if TYPE_CHECKING :
31- # pylint: disable=unused-import,ungrouped-imports
3233 from azure .core .credentials import TokenCredential
3334
3435
35- class AppComplianceAutomationMgmtClient : # pylint: disable=client-accepts-api-version-keyword, too-many-instance-attributes
36+ class AppComplianceAutomationMgmtClient : # pylint: disable=too-many-instance-attributes
3637 """App Compliance Automation Tool for Microsoft 365 API spec.
3738
38- :ivar provider_actions: ProviderActionsOperations operations
39- :vartype provider_actions:
40- azure.mgmt.appcomplianceautomation.operations.ProviderActionsOperations
41- :ivar operations: Operations operations
42- :vartype operations: azure.mgmt.appcomplianceautomation.operations.Operations
4339 :ivar report: ReportOperations operations
4440 :vartype report: azure.mgmt.appcomplianceautomation.operations.ReportOperations
45- :ivar evidence: EvidenceOperations operations
46- :vartype evidence: azure.mgmt.appcomplianceautomation.operations.EvidenceOperations
41+ :ivar webhook: WebhookOperations operations
42+ :vartype webhook: azure.mgmt.appcomplianceautomation.operations.WebhookOperations
43+ :ivar snapshot: SnapshotOperations operations
44+ :vartype snapshot: azure.mgmt.appcomplianceautomation.operations.SnapshotOperations
4745 :ivar scoping_configuration: ScopingConfigurationOperations operations
4846 :vartype scoping_configuration:
4947 azure.mgmt.appcomplianceautomation.operations.ScopingConfigurationOperations
50- :ivar snapshot: SnapshotOperations operations
51- :vartype snapshot: azure.mgmt.appcomplianceautomation.operations.SnapshotOperations
52- :ivar webhook: WebhookOperations operations
53- :vartype webhook: azure.mgmt.appcomplianceautomation.operations.WebhookOperations
54- :param credential: Credential needed for the client to connect to Azure. Required.
48+ :ivar evidence: EvidenceOperations operations
49+ :vartype evidence: azure.mgmt.appcomplianceautomation.operations.EvidenceOperations
50+ :ivar operations: Operations operations
51+ :vartype operations: azure.mgmt.appcomplianceautomation.operations.Operations
52+ :ivar provider_actions: ProviderActionsOperations operations
53+ :vartype provider_actions:
54+ azure.mgmt.appcomplianceautomation.operations.ProviderActionsOperations
55+ :param credential: Credential used to authenticate requests to the service. Required.
5556 :type credential: ~azure.core.credentials.TokenCredential
56- :param base_url: Service URL . Default value is "https://management.azure.com" .
57+ :param base_url: Service host . Default value is None .
5758 :type base_url: str
58- :keyword api_version: Api Version . Default value is "2024-06-27". Note that overriding this
59- default value may result in unsupported behavior.
59+ :keyword api_version: The API version to use for this operation . Default value is "2024-06-27".
60+ Note that overriding this default value may result in unsupported behavior.
6061 :paramtype api_version: str
6162 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
6263 Retry-After header is present.
6364 """
6465
65- def __init__ (
66- self , credential : "TokenCredential" , base_url : str = "https://management.azure.com" , ** kwargs : Any
67- ) -> None :
68- self ._config = AppComplianceAutomationMgmtClientConfiguration (credential = credential , ** kwargs )
66+ def __init__ (self , credential : "TokenCredential" , base_url : Optional [str ] = None , ** kwargs : Any ) -> None :
67+ _endpoint = "{endpoint}"
68+ _cloud = kwargs .pop ("cloud_setting" , None ) or settings .current .azure_cloud # type: ignore
69+ _endpoints = get_arm_endpoints (_cloud )
70+ if not base_url :
71+ base_url = _endpoints ["resource_manager" ]
72+ credential_scopes = kwargs .pop ("credential_scopes" , _endpoints ["credential_scopes" ])
73+ self ._config = AppComplianceAutomationMgmtClientConfiguration (
74+ credential = credential , base_url = cast (str , base_url ), credential_scopes = credential_scopes , ** kwargs
75+ )
76+
6977 _policies = kwargs .pop ("policies" , None )
7078 if _policies is None :
7179 _policies = [
@@ -84,31 +92,30 @@ def __init__(
8492 policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
8593 self ._config .http_logging_policy ,
8694 ]
87- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
95+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = cast ( str , _endpoint ) , policies = _policies , ** kwargs )
8896
89- client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
90- self ._serialize = Serializer (client_models )
91- self ._deserialize = Deserializer (client_models )
97+ self ._serialize = Serializer ()
98+ self ._deserialize = Deserializer ()
9299 self ._serialize .client_side_validation = False
93- self .provider_actions = ProviderActionsOperations (
100+ self .report = ReportOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
101+ self .webhook = WebhookOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
102+ self .snapshot = SnapshotOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
103+ self .scoping_configuration = ScopingConfigurationOperations (
94104 self ._client , self ._config , self ._serialize , self ._deserialize
95105 )
96- self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
97- self .report = ReportOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
98106 self .evidence = EvidenceOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
99- self .scoping_configuration = ScopingConfigurationOperations (
107+ self .operations = Operations (self ._client , self ._config , self ._serialize , self ._deserialize )
108+ self .provider_actions = ProviderActionsOperations (
100109 self ._client , self ._config , self ._serialize , self ._deserialize
101110 )
102- self .snapshot = SnapshotOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
103- self .webhook = WebhookOperations (self ._client , self ._config , self ._serialize , self ._deserialize )
104111
105- def _send_request (self , request : HttpRequest , * , stream : bool = False , ** kwargs : Any ) -> HttpResponse :
112+ def send_request (self , request : HttpRequest , * , stream : bool = False , ** kwargs : Any ) -> HttpResponse :
106113 """Runs the network request through the client's chained policies.
107114
108115 >>> from azure.core.rest import HttpRequest
109116 >>> request = HttpRequest("GET", "https://www.example.org/")
110117 <HttpRequest [GET], url: 'https://www.example.org/'>
111- >>> response = client._send_request (request)
118+ >>> response = client.send_request (request)
112119 <HttpResponse: 200 OK>
113120
114121 For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request
@@ -121,13 +128,17 @@ def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs:
121128 """
122129
123130 request_copy = deepcopy (request )
124- request_copy .url = self ._client .format_url (request_copy .url )
131+ path_format_arguments = {
132+ "endpoint" : self ._serialize .url ("self._config.base_url" , self ._config .base_url , "str" , skip_quote = True ),
133+ }
134+
135+ request_copy .url = self ._client .format_url (request_copy .url , ** path_format_arguments )
125136 return self ._client .send_request (request_copy , stream = stream , ** kwargs ) # type: ignore
126137
127138 def close (self ) -> None :
128139 self ._client .close ()
129140
130- def __enter__ (self ) -> "AppComplianceAutomationMgmtClient" :
141+ def __enter__ (self ) -> Self :
131142 self ._client .__enter__ ()
132143 return self
133144
0 commit comments