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