88# --------------------------------------------------------------------------
99
1010from copy import deepcopy
11- from typing import Any , TYPE_CHECKING
11+ from typing import Any , Optional , TYPE_CHECKING , cast
1212from typing_extensions import Self
1313
1414from azure .core .pipeline import policies
1515from azure .core .rest import HttpRequest , HttpResponse
16+ from azure .core .settings import settings
1617from azure .mgmt .core import ARMPipelineClient
1718from azure .mgmt .core .policies import ARMAutoResourceProviderRegistrationPolicy
19+ from azure .mgmt .core .tools import get_arm_endpoints
1820
1921from . import models as _models
2022from ._configuration import NetworkManagementClientConfiguration
21- from ._serialization import Deserializer , Serializer
23+ from ._utils . serialization import Deserializer , Serializer
2224from .operations import (
2325 AdminRuleCollectionsOperations ,
2426 AdminRulesOperations ,
98100 NetworkManagersOperations ,
99101 NetworkProfilesOperations ,
100102 NetworkSecurityGroupsOperations ,
103+ NetworkSecurityPerimeterAccessRulesOperations ,
104+ NetworkSecurityPerimeterAssociableResourceTypesOperations ,
105+ NetworkSecurityPerimeterAssociationsOperations ,
106+ NetworkSecurityPerimeterLinkReferencesOperations ,
107+ NetworkSecurityPerimeterLinksOperations ,
108+ NetworkSecurityPerimeterLoggingConfigurationsOperations ,
109+ NetworkSecurityPerimeterOperationStatusesOperations ,
110+ NetworkSecurityPerimeterProfilesOperations ,
111+ NetworkSecurityPerimetersOperations ,
101112 NetworkVirtualApplianceConnectionsOperations ,
102113 NetworkVirtualAppliancesOperations ,
103114 NetworkWatchersOperations ,
@@ -399,6 +410,40 @@ class NetworkManagementClient(
399410 :vartype security_rules: azure.mgmt.network.operations.SecurityRulesOperations
400411 :ivar default_security_rules: DefaultSecurityRulesOperations operations
401412 :vartype default_security_rules: azure.mgmt.network.operations.DefaultSecurityRulesOperations
413+ :ivar network_security_perimeters: NetworkSecurityPerimetersOperations operations
414+ :vartype network_security_perimeters:
415+ azure.mgmt.network.operations.NetworkSecurityPerimetersOperations
416+ :ivar network_security_perimeter_profiles: NetworkSecurityPerimeterProfilesOperations
417+ operations
418+ :vartype network_security_perimeter_profiles:
419+ azure.mgmt.network.operations.NetworkSecurityPerimeterProfilesOperations
420+ :ivar network_security_perimeter_access_rules: NetworkSecurityPerimeterAccessRulesOperations
421+ operations
422+ :vartype network_security_perimeter_access_rules:
423+ azure.mgmt.network.operations.NetworkSecurityPerimeterAccessRulesOperations
424+ :ivar network_security_perimeter_associations: NetworkSecurityPerimeterAssociationsOperations
425+ operations
426+ :vartype network_security_perimeter_associations:
427+ azure.mgmt.network.operations.NetworkSecurityPerimeterAssociationsOperations
428+ :ivar network_security_perimeter_associable_resource_types:
429+ NetworkSecurityPerimeterAssociableResourceTypesOperations operations
430+ :vartype network_security_perimeter_associable_resource_types:
431+ azure.mgmt.network.operations.NetworkSecurityPerimeterAssociableResourceTypesOperations
432+ :ivar network_security_perimeter_links: NetworkSecurityPerimeterLinksOperations operations
433+ :vartype network_security_perimeter_links:
434+ azure.mgmt.network.operations.NetworkSecurityPerimeterLinksOperations
435+ :ivar network_security_perimeter_link_references:
436+ NetworkSecurityPerimeterLinkReferencesOperations operations
437+ :vartype network_security_perimeter_link_references:
438+ azure.mgmt.network.operations.NetworkSecurityPerimeterLinkReferencesOperations
439+ :ivar network_security_perimeter_logging_configurations:
440+ NetworkSecurityPerimeterLoggingConfigurationsOperations operations
441+ :vartype network_security_perimeter_logging_configurations:
442+ azure.mgmt.network.operations.NetworkSecurityPerimeterLoggingConfigurationsOperations
443+ :ivar network_security_perimeter_operation_statuses:
444+ NetworkSecurityPerimeterOperationStatusesOperations operations
445+ :vartype network_security_perimeter_operation_statuses:
446+ azure.mgmt.network.operations.NetworkSecurityPerimeterOperationStatusesOperations
402447 :ivar reachability_analysis_intents: ReachabilityAnalysisIntentsOperations operations
403448 :vartype reachability_analysis_intents:
404449 azure.mgmt.network.operations.ReachabilityAnalysisIntentsOperations
@@ -565,22 +610,24 @@ class NetworkManagementClient(
565610 :param subscription_id: The subscription credentials which uniquely identify the Microsoft
566611 Azure subscription. The subscription ID forms part of the URI for every service call. Required.
567612 :type subscription_id: str
568- :param base_url: Service URL. Default value is "https://management.azure.com" .
613+ :param base_url: Service URL. Default value is None .
569614 :type base_url: str
570615 :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
571616 Retry-After header is present.
572617 """
573618
574619 def __init__ (
575- self ,
576- credential : "TokenCredential" ,
577- subscription_id : str ,
578- base_url : str = "https://management.azure.com" ,
579- ** kwargs : Any
620+ self , credential : "TokenCredential" , subscription_id : str , base_url : Optional [str ] = None , ** kwargs : Any
580621 ) -> None :
622+ _cloud = kwargs .pop ("cloud_setting" , None ) or settings .current .azure_cloud # type: ignore
623+ _endpoints = get_arm_endpoints (_cloud )
624+ if not base_url :
625+ base_url = _endpoints ["resource_manager" ]
626+ credential_scopes = kwargs .pop ("credential_scopes" , _endpoints ["credential_scopes" ])
581627 self ._config = NetworkManagementClientConfiguration (
582- credential = credential , subscription_id = subscription_id , ** kwargs
628+ credential = credential , subscription_id = subscription_id , credential_scopes = credential_scopes , ** kwargs
583629 )
630+
584631 _policies = kwargs .pop ("policies" , None )
585632 if _policies is None :
586633 _policies = [
@@ -599,7 +646,7 @@ def __init__(
599646 policies .SensitiveHeaderCleanupPolicy (** kwargs ) if self ._config .redirect_policy else None ,
600647 self ._config .http_logging_policy ,
601648 ]
602- self ._client : ARMPipelineClient = ARMPipelineClient (base_url = base_url , policies = _policies , ** kwargs )
649+ self ._client : ARMPipelineClient = ARMPipelineClient (base_url = cast ( str , base_url ) , policies = _policies , ** kwargs )
603650
604651 client_models = {k : v for k , v in _models .__dict__ .items () if isinstance (v , type )}
605652 self ._serialize = Serializer (client_models )
@@ -815,6 +862,37 @@ def __init__(
815862 self .default_security_rules = DefaultSecurityRulesOperations (
816863 self ._client , self ._config , self ._serialize , self ._deserialize
817864 )
865+ self .network_security_perimeters = NetworkSecurityPerimetersOperations (
866+ self ._client , self ._config , self ._serialize , self ._deserialize
867+ )
868+ self .network_security_perimeter_profiles = NetworkSecurityPerimeterProfilesOperations (
869+ self ._client , self ._config , self ._serialize , self ._deserialize
870+ )
871+ self .network_security_perimeter_access_rules = NetworkSecurityPerimeterAccessRulesOperations (
872+ self ._client , self ._config , self ._serialize , self ._deserialize
873+ )
874+ self .network_security_perimeter_associations = NetworkSecurityPerimeterAssociationsOperations (
875+ self ._client , self ._config , self ._serialize , self ._deserialize
876+ )
877+ self .network_security_perimeter_associable_resource_types = (
878+ NetworkSecurityPerimeterAssociableResourceTypesOperations (
879+ self ._client , self ._config , self ._serialize , self ._deserialize
880+ )
881+ )
882+ self .network_security_perimeter_links = NetworkSecurityPerimeterLinksOperations (
883+ self ._client , self ._config , self ._serialize , self ._deserialize
884+ )
885+ self .network_security_perimeter_link_references = NetworkSecurityPerimeterLinkReferencesOperations (
886+ self ._client , self ._config , self ._serialize , self ._deserialize
887+ )
888+ self .network_security_perimeter_logging_configurations = (
889+ NetworkSecurityPerimeterLoggingConfigurationsOperations (
890+ self ._client , self ._config , self ._serialize , self ._deserialize
891+ )
892+ )
893+ self .network_security_perimeter_operation_statuses = NetworkSecurityPerimeterOperationStatusesOperations (
894+ self ._client , self ._config , self ._serialize , self ._deserialize
895+ )
818896 self .reachability_analysis_intents = ReachabilityAnalysisIntentsOperations (
819897 self ._client , self ._config , self ._serialize , self ._deserialize
820898 )
0 commit comments