1# coding=utf-8
2# --------------------------------------------------------------------------
3# Copyright (c) Microsoft Corporation. All rights reserved.
4# Licensed under the MIT License. See License.txt in the project root for license information.
5# Code generated by Microsoft (R) AutoRest Code Generator.
6# Changes may cause incorrect behavior and will be lost if the code is regenerated.
7# --------------------------------------------------------------------------
8
9from typing import Any, Optional, TYPE_CHECKING
10
11from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest
12from azure.mgmt.core import AsyncARMPipelineClient
13from msrest import Deserializer, Serializer
14
15if TYPE_CHECKING:
16    # pylint: disable=unused-import,ungrouped-imports
17    from azure.core.credentials_async import AsyncTokenCredential
18
19from ._configuration import NetworkManagementClientConfiguration
20from .operations import ApplicationGatewaysOperations
21from .operations import ApplicationSecurityGroupsOperations
22from .operations import AvailableDelegationsOperations
23from .operations import AvailableResourceGroupDelegationsOperations
24from .operations import AvailableServiceAliasesOperations
25from .operations import AzureFirewallsOperations
26from .operations import AzureFirewallFqdnTagsOperations
27from .operations import BastionHostsOperations
28from .operations import NetworkManagementClientOperationsMixin
29from .operations import DdosCustomPoliciesOperations
30from .operations import DdosProtectionPlansOperations
31from .operations import AvailableEndpointServicesOperations
32from .operations import ExpressRouteCircuitAuthorizationsOperations
33from .operations import ExpressRouteCircuitPeeringsOperations
34from .operations import ExpressRouteCircuitConnectionsOperations
35from .operations import PeerExpressRouteCircuitConnectionsOperations
36from .operations import ExpressRouteCircuitsOperations
37from .operations import ExpressRouteServiceProvidersOperations
38from .operations import ExpressRouteCrossConnectionsOperations
39from .operations import ExpressRouteCrossConnectionPeeringsOperations
40from .operations import ExpressRoutePortsLocationsOperations
41from .operations import ExpressRoutePortsOperations
42from .operations import ExpressRouteLinksOperations
43from .operations import FirewallPoliciesOperations
44from .operations import FirewallPolicyRuleGroupsOperations
45from .operations import IpAllocationsOperations
46from .operations import IpGroupsOperations
47from .operations import LoadBalancersOperations
48from .operations import LoadBalancerBackendAddressPoolsOperations
49from .operations import LoadBalancerFrontendIPConfigurationsOperations
50from .operations import InboundNatRulesOperations
51from .operations import LoadBalancerLoadBalancingRulesOperations
52from .operations import LoadBalancerOutboundRulesOperations
53from .operations import LoadBalancerNetworkInterfacesOperations
54from .operations import LoadBalancerProbesOperations
55from .operations import NatGatewaysOperations
56from .operations import NetworkInterfacesOperations
57from .operations import NetworkInterfaceIPConfigurationsOperations
58from .operations import NetworkInterfaceLoadBalancersOperations
59from .operations import NetworkInterfaceTapConfigurationsOperations
60from .operations import NetworkProfilesOperations
61from .operations import NetworkSecurityGroupsOperations
62from .operations import SecurityRulesOperations
63from .operations import DefaultSecurityRulesOperations
64from .operations import NetworkVirtualAppliancesOperations
65from .operations import NetworkWatchersOperations
66from .operations import PacketCapturesOperations
67from .operations import ConnectionMonitorsOperations
68from .operations import FlowLogsOperations
69from .operations import Operations
70from .operations import PrivateEndpointsOperations
71from .operations import AvailablePrivateEndpointTypesOperations
72from .operations import PrivateDnsZoneGroupsOperations
73from .operations import PrivateLinkServicesOperations
74from .operations import PublicIPAddressesOperations
75from .operations import PublicIPPrefixesOperations
76from .operations import RouteFiltersOperations
77from .operations import RouteFilterRulesOperations
78from .operations import RouteTablesOperations
79from .operations import RoutesOperations
80from .operations import SecurityPartnerProvidersOperations
81from .operations import BgpServiceCommunitiesOperations
82from .operations import ServiceEndpointPoliciesOperations
83from .operations import ServiceEndpointPolicyDefinitionsOperations
84from .operations import ServiceTagsOperations
85from .operations import UsagesOperations
86from .operations import VirtualNetworksOperations
87from .operations import SubnetsOperations
88from .operations import ResourceNavigationLinksOperations
89from .operations import ServiceAssociationLinksOperations
90from .operations import VirtualNetworkPeeringsOperations
91from .operations import VirtualNetworkGatewaysOperations
92from .operations import VirtualNetworkGatewayConnectionsOperations
93from .operations import LocalNetworkGatewaysOperations
94from .operations import VirtualNetworkTapsOperations
95from .operations import VirtualRoutersOperations
96from .operations import VirtualRouterPeeringsOperations
97from .operations import VirtualWansOperations
98from .operations import VpnSitesOperations
99from .operations import VpnSiteLinksOperations
100from .operations import VpnSitesConfigurationOperations
101from .operations import VpnServerConfigurationsOperations
102from .operations import VirtualHubsOperations
103from .operations import HubVirtualNetworkConnectionsOperations
104from .operations import VpnGatewaysOperations
105from .operations import VpnConnectionsOperations
106from .operations import VpnSiteLinkConnectionsOperations
107from .operations import VpnLinkConnectionsOperations
108from .operations import P2SVpnGatewaysOperations
109from .operations import VpnServerConfigurationsAssociatedWithVirtualWanOperations
110from .operations import VirtualHubRouteTableV2SOperations
111from .operations import ExpressRouteGatewaysOperations
112from .operations import ExpressRouteConnectionsOperations
113from .operations import HubRouteTablesOperations
114from .operations import WebApplicationFirewallPoliciesOperations
115from .. import models
116
117
118class NetworkManagementClient(NetworkManagementClientOperationsMixin):
119    """Network Client.
120
121    :ivar application_gateways: ApplicationGatewaysOperations operations
122    :vartype application_gateways: azure.mgmt.network.v2020_04_01.aio.operations.ApplicationGatewaysOperations
123    :ivar application_security_groups: ApplicationSecurityGroupsOperations operations
124    :vartype application_security_groups: azure.mgmt.network.v2020_04_01.aio.operations.ApplicationSecurityGroupsOperations
125    :ivar available_delegations: AvailableDelegationsOperations operations
126    :vartype available_delegations: azure.mgmt.network.v2020_04_01.aio.operations.AvailableDelegationsOperations
127    :ivar available_resource_group_delegations: AvailableResourceGroupDelegationsOperations operations
128    :vartype available_resource_group_delegations: azure.mgmt.network.v2020_04_01.aio.operations.AvailableResourceGroupDelegationsOperations
129    :ivar available_service_aliases: AvailableServiceAliasesOperations operations
130    :vartype available_service_aliases: azure.mgmt.network.v2020_04_01.aio.operations.AvailableServiceAliasesOperations
131    :ivar azure_firewalls: AzureFirewallsOperations operations
132    :vartype azure_firewalls: azure.mgmt.network.v2020_04_01.aio.operations.AzureFirewallsOperations
133    :ivar azure_firewall_fqdn_tags: AzureFirewallFqdnTagsOperations operations
134    :vartype azure_firewall_fqdn_tags: azure.mgmt.network.v2020_04_01.aio.operations.AzureFirewallFqdnTagsOperations
135    :ivar bastion_hosts: BastionHostsOperations operations
136    :vartype bastion_hosts: azure.mgmt.network.v2020_04_01.aio.operations.BastionHostsOperations
137    :ivar ddos_custom_policies: DdosCustomPoliciesOperations operations
138    :vartype ddos_custom_policies: azure.mgmt.network.v2020_04_01.aio.operations.DdosCustomPoliciesOperations
139    :ivar ddos_protection_plans: DdosProtectionPlansOperations operations
140    :vartype ddos_protection_plans: azure.mgmt.network.v2020_04_01.aio.operations.DdosProtectionPlansOperations
141    :ivar available_endpoint_services: AvailableEndpointServicesOperations operations
142    :vartype available_endpoint_services: azure.mgmt.network.v2020_04_01.aio.operations.AvailableEndpointServicesOperations
143    :ivar express_route_circuit_authorizations: ExpressRouteCircuitAuthorizationsOperations operations
144    :vartype express_route_circuit_authorizations: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteCircuitAuthorizationsOperations
145    :ivar express_route_circuit_peerings: ExpressRouteCircuitPeeringsOperations operations
146    :vartype express_route_circuit_peerings: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteCircuitPeeringsOperations
147    :ivar express_route_circuit_connections: ExpressRouteCircuitConnectionsOperations operations
148    :vartype express_route_circuit_connections: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteCircuitConnectionsOperations
149    :ivar peer_express_route_circuit_connections: PeerExpressRouteCircuitConnectionsOperations operations
150    :vartype peer_express_route_circuit_connections: azure.mgmt.network.v2020_04_01.aio.operations.PeerExpressRouteCircuitConnectionsOperations
151    :ivar express_route_circuits: ExpressRouteCircuitsOperations operations
152    :vartype express_route_circuits: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteCircuitsOperations
153    :ivar express_route_service_providers: ExpressRouteServiceProvidersOperations operations
154    :vartype express_route_service_providers: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteServiceProvidersOperations
155    :ivar express_route_cross_connections: ExpressRouteCrossConnectionsOperations operations
156    :vartype express_route_cross_connections: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteCrossConnectionsOperations
157    :ivar express_route_cross_connection_peerings: ExpressRouteCrossConnectionPeeringsOperations operations
158    :vartype express_route_cross_connection_peerings: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteCrossConnectionPeeringsOperations
159    :ivar express_route_ports_locations: ExpressRoutePortsLocationsOperations operations
160    :vartype express_route_ports_locations: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRoutePortsLocationsOperations
161    :ivar express_route_ports: ExpressRoutePortsOperations operations
162    :vartype express_route_ports: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRoutePortsOperations
163    :ivar express_route_links: ExpressRouteLinksOperations operations
164    :vartype express_route_links: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteLinksOperations
165    :ivar firewall_policies: FirewallPoliciesOperations operations
166    :vartype firewall_policies: azure.mgmt.network.v2020_04_01.aio.operations.FirewallPoliciesOperations
167    :ivar firewall_policy_rule_groups: FirewallPolicyRuleGroupsOperations operations
168    :vartype firewall_policy_rule_groups: azure.mgmt.network.v2020_04_01.aio.operations.FirewallPolicyRuleGroupsOperations
169    :ivar ip_allocations: IpAllocationsOperations operations
170    :vartype ip_allocations: azure.mgmt.network.v2020_04_01.aio.operations.IpAllocationsOperations
171    :ivar ip_groups: IpGroupsOperations operations
172    :vartype ip_groups: azure.mgmt.network.v2020_04_01.aio.operations.IpGroupsOperations
173    :ivar load_balancers: LoadBalancersOperations operations
174    :vartype load_balancers: azure.mgmt.network.v2020_04_01.aio.operations.LoadBalancersOperations
175    :ivar load_balancer_backend_address_pools: LoadBalancerBackendAddressPoolsOperations operations
176    :vartype load_balancer_backend_address_pools: azure.mgmt.network.v2020_04_01.aio.operations.LoadBalancerBackendAddressPoolsOperations
177    :ivar load_balancer_frontend_ip_configurations: LoadBalancerFrontendIPConfigurationsOperations operations
178    :vartype load_balancer_frontend_ip_configurations: azure.mgmt.network.v2020_04_01.aio.operations.LoadBalancerFrontendIPConfigurationsOperations
179    :ivar inbound_nat_rules: InboundNatRulesOperations operations
180    :vartype inbound_nat_rules: azure.mgmt.network.v2020_04_01.aio.operations.InboundNatRulesOperations
181    :ivar load_balancer_load_balancing_rules: LoadBalancerLoadBalancingRulesOperations operations
182    :vartype load_balancer_load_balancing_rules: azure.mgmt.network.v2020_04_01.aio.operations.LoadBalancerLoadBalancingRulesOperations
183    :ivar load_balancer_outbound_rules: LoadBalancerOutboundRulesOperations operations
184    :vartype load_balancer_outbound_rules: azure.mgmt.network.v2020_04_01.aio.operations.LoadBalancerOutboundRulesOperations
185    :ivar load_balancer_network_interfaces: LoadBalancerNetworkInterfacesOperations operations
186    :vartype load_balancer_network_interfaces: azure.mgmt.network.v2020_04_01.aio.operations.LoadBalancerNetworkInterfacesOperations
187    :ivar load_balancer_probes: LoadBalancerProbesOperations operations
188    :vartype load_balancer_probes: azure.mgmt.network.v2020_04_01.aio.operations.LoadBalancerProbesOperations
189    :ivar nat_gateways: NatGatewaysOperations operations
190    :vartype nat_gateways: azure.mgmt.network.v2020_04_01.aio.operations.NatGatewaysOperations
191    :ivar network_interfaces: NetworkInterfacesOperations operations
192    :vartype network_interfaces: azure.mgmt.network.v2020_04_01.aio.operations.NetworkInterfacesOperations
193    :ivar network_interface_ip_configurations: NetworkInterfaceIPConfigurationsOperations operations
194    :vartype network_interface_ip_configurations: azure.mgmt.network.v2020_04_01.aio.operations.NetworkInterfaceIPConfigurationsOperations
195    :ivar network_interface_load_balancers: NetworkInterfaceLoadBalancersOperations operations
196    :vartype network_interface_load_balancers: azure.mgmt.network.v2020_04_01.aio.operations.NetworkInterfaceLoadBalancersOperations
197    :ivar network_interface_tap_configurations: NetworkInterfaceTapConfigurationsOperations operations
198    :vartype network_interface_tap_configurations: azure.mgmt.network.v2020_04_01.aio.operations.NetworkInterfaceTapConfigurationsOperations
199    :ivar network_profiles: NetworkProfilesOperations operations
200    :vartype network_profiles: azure.mgmt.network.v2020_04_01.aio.operations.NetworkProfilesOperations
201    :ivar network_security_groups: NetworkSecurityGroupsOperations operations
202    :vartype network_security_groups: azure.mgmt.network.v2020_04_01.aio.operations.NetworkSecurityGroupsOperations
203    :ivar security_rules: SecurityRulesOperations operations
204    :vartype security_rules: azure.mgmt.network.v2020_04_01.aio.operations.SecurityRulesOperations
205    :ivar default_security_rules: DefaultSecurityRulesOperations operations
206    :vartype default_security_rules: azure.mgmt.network.v2020_04_01.aio.operations.DefaultSecurityRulesOperations
207    :ivar network_virtual_appliances: NetworkVirtualAppliancesOperations operations
208    :vartype network_virtual_appliances: azure.mgmt.network.v2020_04_01.aio.operations.NetworkVirtualAppliancesOperations
209    :ivar network_watchers: NetworkWatchersOperations operations
210    :vartype network_watchers: azure.mgmt.network.v2020_04_01.aio.operations.NetworkWatchersOperations
211    :ivar packet_captures: PacketCapturesOperations operations
212    :vartype packet_captures: azure.mgmt.network.v2020_04_01.aio.operations.PacketCapturesOperations
213    :ivar connection_monitors: ConnectionMonitorsOperations operations
214    :vartype connection_monitors: azure.mgmt.network.v2020_04_01.aio.operations.ConnectionMonitorsOperations
215    :ivar flow_logs: FlowLogsOperations operations
216    :vartype flow_logs: azure.mgmt.network.v2020_04_01.aio.operations.FlowLogsOperations
217    :ivar operations: Operations operations
218    :vartype operations: azure.mgmt.network.v2020_04_01.aio.operations.Operations
219    :ivar private_endpoints: PrivateEndpointsOperations operations
220    :vartype private_endpoints: azure.mgmt.network.v2020_04_01.aio.operations.PrivateEndpointsOperations
221    :ivar available_private_endpoint_types: AvailablePrivateEndpointTypesOperations operations
222    :vartype available_private_endpoint_types: azure.mgmt.network.v2020_04_01.aio.operations.AvailablePrivateEndpointTypesOperations
223    :ivar private_dns_zone_groups: PrivateDnsZoneGroupsOperations operations
224    :vartype private_dns_zone_groups: azure.mgmt.network.v2020_04_01.aio.operations.PrivateDnsZoneGroupsOperations
225    :ivar private_link_services: PrivateLinkServicesOperations operations
226    :vartype private_link_services: azure.mgmt.network.v2020_04_01.aio.operations.PrivateLinkServicesOperations
227    :ivar public_ip_addresses: PublicIPAddressesOperations operations
228    :vartype public_ip_addresses: azure.mgmt.network.v2020_04_01.aio.operations.PublicIPAddressesOperations
229    :ivar public_ip_prefixes: PublicIPPrefixesOperations operations
230    :vartype public_ip_prefixes: azure.mgmt.network.v2020_04_01.aio.operations.PublicIPPrefixesOperations
231    :ivar route_filters: RouteFiltersOperations operations
232    :vartype route_filters: azure.mgmt.network.v2020_04_01.aio.operations.RouteFiltersOperations
233    :ivar route_filter_rules: RouteFilterRulesOperations operations
234    :vartype route_filter_rules: azure.mgmt.network.v2020_04_01.aio.operations.RouteFilterRulesOperations
235    :ivar route_tables: RouteTablesOperations operations
236    :vartype route_tables: azure.mgmt.network.v2020_04_01.aio.operations.RouteTablesOperations
237    :ivar routes: RoutesOperations operations
238    :vartype routes: azure.mgmt.network.v2020_04_01.aio.operations.RoutesOperations
239    :ivar security_partner_providers: SecurityPartnerProvidersOperations operations
240    :vartype security_partner_providers: azure.mgmt.network.v2020_04_01.aio.operations.SecurityPartnerProvidersOperations
241    :ivar bgp_service_communities: BgpServiceCommunitiesOperations operations
242    :vartype bgp_service_communities: azure.mgmt.network.v2020_04_01.aio.operations.BgpServiceCommunitiesOperations
243    :ivar service_endpoint_policies: ServiceEndpointPoliciesOperations operations
244    :vartype service_endpoint_policies: azure.mgmt.network.v2020_04_01.aio.operations.ServiceEndpointPoliciesOperations
245    :ivar service_endpoint_policy_definitions: ServiceEndpointPolicyDefinitionsOperations operations
246    :vartype service_endpoint_policy_definitions: azure.mgmt.network.v2020_04_01.aio.operations.ServiceEndpointPolicyDefinitionsOperations
247    :ivar service_tags: ServiceTagsOperations operations
248    :vartype service_tags: azure.mgmt.network.v2020_04_01.aio.operations.ServiceTagsOperations
249    :ivar usages: UsagesOperations operations
250    :vartype usages: azure.mgmt.network.v2020_04_01.aio.operations.UsagesOperations
251    :ivar virtual_networks: VirtualNetworksOperations operations
252    :vartype virtual_networks: azure.mgmt.network.v2020_04_01.aio.operations.VirtualNetworksOperations
253    :ivar subnets: SubnetsOperations operations
254    :vartype subnets: azure.mgmt.network.v2020_04_01.aio.operations.SubnetsOperations
255    :ivar resource_navigation_links: ResourceNavigationLinksOperations operations
256    :vartype resource_navigation_links: azure.mgmt.network.v2020_04_01.aio.operations.ResourceNavigationLinksOperations
257    :ivar service_association_links: ServiceAssociationLinksOperations operations
258    :vartype service_association_links: azure.mgmt.network.v2020_04_01.aio.operations.ServiceAssociationLinksOperations
259    :ivar virtual_network_peerings: VirtualNetworkPeeringsOperations operations
260    :vartype virtual_network_peerings: azure.mgmt.network.v2020_04_01.aio.operations.VirtualNetworkPeeringsOperations
261    :ivar virtual_network_gateways: VirtualNetworkGatewaysOperations operations
262    :vartype virtual_network_gateways: azure.mgmt.network.v2020_04_01.aio.operations.VirtualNetworkGatewaysOperations
263    :ivar virtual_network_gateway_connections: VirtualNetworkGatewayConnectionsOperations operations
264    :vartype virtual_network_gateway_connections: azure.mgmt.network.v2020_04_01.aio.operations.VirtualNetworkGatewayConnectionsOperations
265    :ivar local_network_gateways: LocalNetworkGatewaysOperations operations
266    :vartype local_network_gateways: azure.mgmt.network.v2020_04_01.aio.operations.LocalNetworkGatewaysOperations
267    :ivar virtual_network_taps: VirtualNetworkTapsOperations operations
268    :vartype virtual_network_taps: azure.mgmt.network.v2020_04_01.aio.operations.VirtualNetworkTapsOperations
269    :ivar virtual_routers: VirtualRoutersOperations operations
270    :vartype virtual_routers: azure.mgmt.network.v2020_04_01.aio.operations.VirtualRoutersOperations
271    :ivar virtual_router_peerings: VirtualRouterPeeringsOperations operations
272    :vartype virtual_router_peerings: azure.mgmt.network.v2020_04_01.aio.operations.VirtualRouterPeeringsOperations
273    :ivar virtual_wans: VirtualWansOperations operations
274    :vartype virtual_wans: azure.mgmt.network.v2020_04_01.aio.operations.VirtualWansOperations
275    :ivar vpn_sites: VpnSitesOperations operations
276    :vartype vpn_sites: azure.mgmt.network.v2020_04_01.aio.operations.VpnSitesOperations
277    :ivar vpn_site_links: VpnSiteLinksOperations operations
278    :vartype vpn_site_links: azure.mgmt.network.v2020_04_01.aio.operations.VpnSiteLinksOperations
279    :ivar vpn_sites_configuration: VpnSitesConfigurationOperations operations
280    :vartype vpn_sites_configuration: azure.mgmt.network.v2020_04_01.aio.operations.VpnSitesConfigurationOperations
281    :ivar vpn_server_configurations: VpnServerConfigurationsOperations operations
282    :vartype vpn_server_configurations: azure.mgmt.network.v2020_04_01.aio.operations.VpnServerConfigurationsOperations
283    :ivar virtual_hubs: VirtualHubsOperations operations
284    :vartype virtual_hubs: azure.mgmt.network.v2020_04_01.aio.operations.VirtualHubsOperations
285    :ivar hub_virtual_network_connections: HubVirtualNetworkConnectionsOperations operations
286    :vartype hub_virtual_network_connections: azure.mgmt.network.v2020_04_01.aio.operations.HubVirtualNetworkConnectionsOperations
287    :ivar vpn_gateways: VpnGatewaysOperations operations
288    :vartype vpn_gateways: azure.mgmt.network.v2020_04_01.aio.operations.VpnGatewaysOperations
289    :ivar vpn_connections: VpnConnectionsOperations operations
290    :vartype vpn_connections: azure.mgmt.network.v2020_04_01.aio.operations.VpnConnectionsOperations
291    :ivar vpn_site_link_connections: VpnSiteLinkConnectionsOperations operations
292    :vartype vpn_site_link_connections: azure.mgmt.network.v2020_04_01.aio.operations.VpnSiteLinkConnectionsOperations
293    :ivar vpn_link_connections: VpnLinkConnectionsOperations operations
294    :vartype vpn_link_connections: azure.mgmt.network.v2020_04_01.aio.operations.VpnLinkConnectionsOperations
295    :ivar p2_svpn_gateways: P2SVpnGatewaysOperations operations
296    :vartype p2_svpn_gateways: azure.mgmt.network.v2020_04_01.aio.operations.P2SVpnGatewaysOperations
297    :ivar vpn_server_configurations_associated_with_virtual_wan: VpnServerConfigurationsAssociatedWithVirtualWanOperations operations
298    :vartype vpn_server_configurations_associated_with_virtual_wan: azure.mgmt.network.v2020_04_01.aio.operations.VpnServerConfigurationsAssociatedWithVirtualWanOperations
299    :ivar virtual_hub_route_table_v2_s: VirtualHubRouteTableV2SOperations operations
300    :vartype virtual_hub_route_table_v2_s: azure.mgmt.network.v2020_04_01.aio.operations.VirtualHubRouteTableV2SOperations
301    :ivar express_route_gateways: ExpressRouteGatewaysOperations operations
302    :vartype express_route_gateways: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteGatewaysOperations
303    :ivar express_route_connections: ExpressRouteConnectionsOperations operations
304    :vartype express_route_connections: azure.mgmt.network.v2020_04_01.aio.operations.ExpressRouteConnectionsOperations
305    :ivar hub_route_tables: HubRouteTablesOperations operations
306    :vartype hub_route_tables: azure.mgmt.network.v2020_04_01.aio.operations.HubRouteTablesOperations
307    :ivar web_application_firewall_policies: WebApplicationFirewallPoliciesOperations operations
308    :vartype web_application_firewall_policies: azure.mgmt.network.v2020_04_01.aio.operations.WebApplicationFirewallPoliciesOperations
309    :param credential: Credential needed for the client to connect to Azure.
310    :type credential: ~azure.core.credentials_async.AsyncTokenCredential
311    :param subscription_id: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
312    :type subscription_id: str
313    :param str base_url: Service URL
314    :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.
315    """
316
317    def __init__(
318        self,
319        credential: "AsyncTokenCredential",
320        subscription_id: str,
321        base_url: Optional[str] = None,
322        **kwargs: Any
323    ) -> None:
324        if not base_url:
325            base_url = 'https://management.azure.com'
326        self._config = NetworkManagementClientConfiguration(credential, subscription_id, **kwargs)
327        self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
328
329        client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
330        self._serialize = Serializer(client_models)
331        self._serialize.client_side_validation = False
332        self._deserialize = Deserializer(client_models)
333
334        self.application_gateways = ApplicationGatewaysOperations(
335            self._client, self._config, self._serialize, self._deserialize)
336        self.application_security_groups = ApplicationSecurityGroupsOperations(
337            self._client, self._config, self._serialize, self._deserialize)
338        self.available_delegations = AvailableDelegationsOperations(
339            self._client, self._config, self._serialize, self._deserialize)
340        self.available_resource_group_delegations = AvailableResourceGroupDelegationsOperations(
341            self._client, self._config, self._serialize, self._deserialize)
342        self.available_service_aliases = AvailableServiceAliasesOperations(
343            self._client, self._config, self._serialize, self._deserialize)
344        self.azure_firewalls = AzureFirewallsOperations(
345            self._client, self._config, self._serialize, self._deserialize)
346        self.azure_firewall_fqdn_tags = AzureFirewallFqdnTagsOperations(
347            self._client, self._config, self._serialize, self._deserialize)
348        self.bastion_hosts = BastionHostsOperations(
349            self._client, self._config, self._serialize, self._deserialize)
350        self.ddos_custom_policies = DdosCustomPoliciesOperations(
351            self._client, self._config, self._serialize, self._deserialize)
352        self.ddos_protection_plans = DdosProtectionPlansOperations(
353            self._client, self._config, self._serialize, self._deserialize)
354        self.available_endpoint_services = AvailableEndpointServicesOperations(
355            self._client, self._config, self._serialize, self._deserialize)
356        self.express_route_circuit_authorizations = ExpressRouteCircuitAuthorizationsOperations(
357            self._client, self._config, self._serialize, self._deserialize)
358        self.express_route_circuit_peerings = ExpressRouteCircuitPeeringsOperations(
359            self._client, self._config, self._serialize, self._deserialize)
360        self.express_route_circuit_connections = ExpressRouteCircuitConnectionsOperations(
361            self._client, self._config, self._serialize, self._deserialize)
362        self.peer_express_route_circuit_connections = PeerExpressRouteCircuitConnectionsOperations(
363            self._client, self._config, self._serialize, self._deserialize)
364        self.express_route_circuits = ExpressRouteCircuitsOperations(
365            self._client, self._config, self._serialize, self._deserialize)
366        self.express_route_service_providers = ExpressRouteServiceProvidersOperations(
367            self._client, self._config, self._serialize, self._deserialize)
368        self.express_route_cross_connections = ExpressRouteCrossConnectionsOperations(
369            self._client, self._config, self._serialize, self._deserialize)
370        self.express_route_cross_connection_peerings = ExpressRouteCrossConnectionPeeringsOperations(
371            self._client, self._config, self._serialize, self._deserialize)
372        self.express_route_ports_locations = ExpressRoutePortsLocationsOperations(
373            self._client, self._config, self._serialize, self._deserialize)
374        self.express_route_ports = ExpressRoutePortsOperations(
375            self._client, self._config, self._serialize, self._deserialize)
376        self.express_route_links = ExpressRouteLinksOperations(
377            self._client, self._config, self._serialize, self._deserialize)
378        self.firewall_policies = FirewallPoliciesOperations(
379            self._client, self._config, self._serialize, self._deserialize)
380        self.firewall_policy_rule_groups = FirewallPolicyRuleGroupsOperations(
381            self._client, self._config, self._serialize, self._deserialize)
382        self.ip_allocations = IpAllocationsOperations(
383            self._client, self._config, self._serialize, self._deserialize)
384        self.ip_groups = IpGroupsOperations(
385            self._client, self._config, self._serialize, self._deserialize)
386        self.load_balancers = LoadBalancersOperations(
387            self._client, self._config, self._serialize, self._deserialize)
388        self.load_balancer_backend_address_pools = LoadBalancerBackendAddressPoolsOperations(
389            self._client, self._config, self._serialize, self._deserialize)
390        self.load_balancer_frontend_ip_configurations = LoadBalancerFrontendIPConfigurationsOperations(
391            self._client, self._config, self._serialize, self._deserialize)
392        self.inbound_nat_rules = InboundNatRulesOperations(
393            self._client, self._config, self._serialize, self._deserialize)
394        self.load_balancer_load_balancing_rules = LoadBalancerLoadBalancingRulesOperations(
395            self._client, self._config, self._serialize, self._deserialize)
396        self.load_balancer_outbound_rules = LoadBalancerOutboundRulesOperations(
397            self._client, self._config, self._serialize, self._deserialize)
398        self.load_balancer_network_interfaces = LoadBalancerNetworkInterfacesOperations(
399            self._client, self._config, self._serialize, self._deserialize)
400        self.load_balancer_probes = LoadBalancerProbesOperations(
401            self._client, self._config, self._serialize, self._deserialize)
402        self.nat_gateways = NatGatewaysOperations(
403            self._client, self._config, self._serialize, self._deserialize)
404        self.network_interfaces = NetworkInterfacesOperations(
405            self._client, self._config, self._serialize, self._deserialize)
406        self.network_interface_ip_configurations = NetworkInterfaceIPConfigurationsOperations(
407            self._client, self._config, self._serialize, self._deserialize)
408        self.network_interface_load_balancers = NetworkInterfaceLoadBalancersOperations(
409            self._client, self._config, self._serialize, self._deserialize)
410        self.network_interface_tap_configurations = NetworkInterfaceTapConfigurationsOperations(
411            self._client, self._config, self._serialize, self._deserialize)
412        self.network_profiles = NetworkProfilesOperations(
413            self._client, self._config, self._serialize, self._deserialize)
414        self.network_security_groups = NetworkSecurityGroupsOperations(
415            self._client, self._config, self._serialize, self._deserialize)
416        self.security_rules = SecurityRulesOperations(
417            self._client, self._config, self._serialize, self._deserialize)
418        self.default_security_rules = DefaultSecurityRulesOperations(
419            self._client, self._config, self._serialize, self._deserialize)
420        self.network_virtual_appliances = NetworkVirtualAppliancesOperations(
421            self._client, self._config, self._serialize, self._deserialize)
422        self.network_watchers = NetworkWatchersOperations(
423            self._client, self._config, self._serialize, self._deserialize)
424        self.packet_captures = PacketCapturesOperations(
425            self._client, self._config, self._serialize, self._deserialize)
426        self.connection_monitors = ConnectionMonitorsOperations(
427            self._client, self._config, self._serialize, self._deserialize)
428        self.flow_logs = FlowLogsOperations(
429            self._client, self._config, self._serialize, self._deserialize)
430        self.operations = Operations(
431            self._client, self._config, self._serialize, self._deserialize)
432        self.private_endpoints = PrivateEndpointsOperations(
433            self._client, self._config, self._serialize, self._deserialize)
434        self.available_private_endpoint_types = AvailablePrivateEndpointTypesOperations(
435            self._client, self._config, self._serialize, self._deserialize)
436        self.private_dns_zone_groups = PrivateDnsZoneGroupsOperations(
437            self._client, self._config, self._serialize, self._deserialize)
438        self.private_link_services = PrivateLinkServicesOperations(
439            self._client, self._config, self._serialize, self._deserialize)
440        self.public_ip_addresses = PublicIPAddressesOperations(
441            self._client, self._config, self._serialize, self._deserialize)
442        self.public_ip_prefixes = PublicIPPrefixesOperations(
443            self._client, self._config, self._serialize, self._deserialize)
444        self.route_filters = RouteFiltersOperations(
445            self._client, self._config, self._serialize, self._deserialize)
446        self.route_filter_rules = RouteFilterRulesOperations(
447            self._client, self._config, self._serialize, self._deserialize)
448        self.route_tables = RouteTablesOperations(
449            self._client, self._config, self._serialize, self._deserialize)
450        self.routes = RoutesOperations(
451            self._client, self._config, self._serialize, self._deserialize)
452        self.security_partner_providers = SecurityPartnerProvidersOperations(
453            self._client, self._config, self._serialize, self._deserialize)
454        self.bgp_service_communities = BgpServiceCommunitiesOperations(
455            self._client, self._config, self._serialize, self._deserialize)
456        self.service_endpoint_policies = ServiceEndpointPoliciesOperations(
457            self._client, self._config, self._serialize, self._deserialize)
458        self.service_endpoint_policy_definitions = ServiceEndpointPolicyDefinitionsOperations(
459            self._client, self._config, self._serialize, self._deserialize)
460        self.service_tags = ServiceTagsOperations(
461            self._client, self._config, self._serialize, self._deserialize)
462        self.usages = UsagesOperations(
463            self._client, self._config, self._serialize, self._deserialize)
464        self.virtual_networks = VirtualNetworksOperations(
465            self._client, self._config, self._serialize, self._deserialize)
466        self.subnets = SubnetsOperations(
467            self._client, self._config, self._serialize, self._deserialize)
468        self.resource_navigation_links = ResourceNavigationLinksOperations(
469            self._client, self._config, self._serialize, self._deserialize)
470        self.service_association_links = ServiceAssociationLinksOperations(
471            self._client, self._config, self._serialize, self._deserialize)
472        self.virtual_network_peerings = VirtualNetworkPeeringsOperations(
473            self._client, self._config, self._serialize, self._deserialize)
474        self.virtual_network_gateways = VirtualNetworkGatewaysOperations(
475            self._client, self._config, self._serialize, self._deserialize)
476        self.virtual_network_gateway_connections = VirtualNetworkGatewayConnectionsOperations(
477            self._client, self._config, self._serialize, self._deserialize)
478        self.local_network_gateways = LocalNetworkGatewaysOperations(
479            self._client, self._config, self._serialize, self._deserialize)
480        self.virtual_network_taps = VirtualNetworkTapsOperations(
481            self._client, self._config, self._serialize, self._deserialize)
482        self.virtual_routers = VirtualRoutersOperations(
483            self._client, self._config, self._serialize, self._deserialize)
484        self.virtual_router_peerings = VirtualRouterPeeringsOperations(
485            self._client, self._config, self._serialize, self._deserialize)
486        self.virtual_wans = VirtualWansOperations(
487            self._client, self._config, self._serialize, self._deserialize)
488        self.vpn_sites = VpnSitesOperations(
489            self._client, self._config, self._serialize, self._deserialize)
490        self.vpn_site_links = VpnSiteLinksOperations(
491            self._client, self._config, self._serialize, self._deserialize)
492        self.vpn_sites_configuration = VpnSitesConfigurationOperations(
493            self._client, self._config, self._serialize, self._deserialize)
494        self.vpn_server_configurations = VpnServerConfigurationsOperations(
495            self._client, self._config, self._serialize, self._deserialize)
496        self.virtual_hubs = VirtualHubsOperations(
497            self._client, self._config, self._serialize, self._deserialize)
498        self.hub_virtual_network_connections = HubVirtualNetworkConnectionsOperations(
499            self._client, self._config, self._serialize, self._deserialize)
500        self.vpn_gateways = VpnGatewaysOperations(
501            self._client, self._config, self._serialize, self._deserialize)
502        self.vpn_connections = VpnConnectionsOperations(
503            self._client, self._config, self._serialize, self._deserialize)
504        self.vpn_site_link_connections = VpnSiteLinkConnectionsOperations(
505            self._client, self._config, self._serialize, self._deserialize)
506        self.vpn_link_connections = VpnLinkConnectionsOperations(
507            self._client, self._config, self._serialize, self._deserialize)
508        self.p2_svpn_gateways = P2SVpnGatewaysOperations(
509            self._client, self._config, self._serialize, self._deserialize)
510        self.vpn_server_configurations_associated_with_virtual_wan = VpnServerConfigurationsAssociatedWithVirtualWanOperations(
511            self._client, self._config, self._serialize, self._deserialize)
512        self.virtual_hub_route_table_v2_s = VirtualHubRouteTableV2SOperations(
513            self._client, self._config, self._serialize, self._deserialize)
514        self.express_route_gateways = ExpressRouteGatewaysOperations(
515            self._client, self._config, self._serialize, self._deserialize)
516        self.express_route_connections = ExpressRouteConnectionsOperations(
517            self._client, self._config, self._serialize, self._deserialize)
518        self.hub_route_tables = HubRouteTablesOperations(
519            self._client, self._config, self._serialize, self._deserialize)
520        self.web_application_firewall_policies = WebApplicationFirewallPoliciesOperations(
521            self._client, self._config, self._serialize, self._deserialize)
522
523    async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse:
524        """Runs the network request through the client's chained policies.
525
526        :param http_request: The network request you want to make. Required.
527        :type http_request: ~azure.core.pipeline.transport.HttpRequest
528        :keyword bool stream: Whether the response payload will be streamed. Defaults to True.
529        :return: The response of your network call. Does not do error handling on your response.
530        :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse
531        """
532        path_format_arguments = {
533            'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'),
534        }
535        http_request.url = self._client.format_url(http_request.url, **path_format_arguments)
536        stream = kwargs.pop("stream", True)
537        pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs)
538        return pipeline_response.http_response
539
540    async def close(self) -> None:
541        await self._client.close()
542
543    async def __aenter__(self) -> "NetworkManagementClient":
544        await self._client.__aenter__()
545        return self
546
547    async def __aexit__(self, *exc_details) -> None:
548        await self._client.__aexit__(*exc_details)
549