import * as coreClient from "@azure/core-client" ; import * as coreAuth from "@azure/core-auth" ; import { PagedAsyncIterableIterator } from "@azure/core-paging" ; import { PollerLike , PollOperationState , LroEngine } from "@azure/core-lro" ; import { LroImpl } from "./lroImpl" ; import { ApplicationGatewaysImpl , ApplicationGatewayPrivateLinkResourcesImpl , ApplicationGatewayPrivateEndpointConnectionsImpl , ApplicationSecurityGroupsImpl , AvailableDelegationsImpl , AvailableResourceGroupDelegationsImpl , AvailableServiceAliasesImpl , AzureFirewallsImpl , AzureFirewallFqdnTagsImpl , WebCategoriesImpl , BastionHostsImpl , NetworkInterfacesImpl , PublicIPAddressesImpl , CustomIPPrefixesImpl , DdosCustomPoliciesImpl , DdosProtectionPlansImpl , DscpConfigurationOperationsImpl , AvailableEndpointServicesImpl , ExpressRouteCircuitAuthorizationsImpl , ExpressRouteCircuitPeeringsImpl , ExpressRouteCircuitConnectionsImpl , PeerExpressRouteCircuitConnectionsImpl , ExpressRouteCircuitsImpl , ExpressRouteServiceProvidersImpl , ExpressRouteCrossConnectionsImpl , ExpressRouteCrossConnectionPeeringsImpl , ExpressRoutePortsLocationsImpl , ExpressRoutePortsImpl , ExpressRouteLinksImpl , FirewallPoliciesImpl , FirewallPolicyRuleCollectionGroupsImpl , FirewallPolicyIdpsSignaturesImpl , FirewallPolicyIdpsSignaturesOverridesImpl , FirewallPolicyIdpsSignaturesFilterValuesImpl , IpAllocationsImpl , IpGroupsImpl , LoadBalancersImpl , LoadBalancerBackendAddressPoolsImpl , LoadBalancerFrontendIPConfigurationsImpl , InboundNatRulesImpl , LoadBalancerLoadBalancingRulesImpl , LoadBalancerOutboundRulesImpl , LoadBalancerNetworkInterfacesImpl , LoadBalancerProbesImpl , NatGatewaysImpl , NetworkInterfaceIPConfigurationsImpl , NetworkInterfaceLoadBalancersImpl , NetworkInterfaceTapConfigurationsImpl , NetworkProfilesImpl , NetworkSecurityGroupsImpl , SecurityRulesImpl , DefaultSecurityRulesImpl , NetworkVirtualAppliancesImpl , VirtualApplianceSitesImpl , VirtualApplianceSkusImpl , InboundSecurityRuleOperationsImpl , NetworkWatchersImpl , PacketCapturesImpl , ConnectionMonitorsImpl , FlowLogsImpl , OperationsImpl , PrivateEndpointsImpl , AvailablePrivateEndpointTypesImpl , PrivateDnsZoneGroupsImpl , PrivateLinkServicesImpl , PublicIPPrefixesImpl , RouteFiltersImpl , RouteFilterRulesImpl , RouteTablesImpl , RoutesImpl , SecurityPartnerProvidersImpl , BgpServiceCommunitiesImpl , ServiceEndpointPoliciesImpl , ServiceEndpointPolicyDefinitionsImpl , ServiceTagsImpl , ServiceTagInformationOperationsImpl , UsagesImpl , VirtualNetworksImpl , SubnetsImpl , ResourceNavigationLinksImpl , ServiceAssociationLinksImpl , VirtualNetworkPeeringsImpl , VirtualNetworkGatewaysImpl , VirtualNetworkGatewayConnectionsImpl , LocalNetworkGatewaysImpl , VirtualNetworkGatewayNatRulesImpl , VirtualNetworkTapsImpl , VirtualRoutersImpl , VirtualRouterPeeringsImpl , VirtualWansImpl , VpnSitesImpl , VpnSiteLinksImpl , VpnSitesConfigurationImpl , VpnServerConfigurationsImpl , VirtualHubsImpl , HubVirtualNetworkConnectionsImpl , VpnGatewaysImpl , VpnLinkConnectionsImpl , VpnConnectionsImpl , VpnSiteLinkConnectionsImpl , NatRulesImpl , P2SVpnGatewaysImpl , VpnServerConfigurationsAssociatedWithVirtualWanImpl , VirtualHubRouteTableV2SImpl , ExpressRouteGatewaysImpl , ExpressRouteConnectionsImpl , VirtualHubBgpConnectionImpl , VirtualHubBgpConnectionsImpl , VirtualHubIpConfigurationImpl , HubRouteTablesImpl , RoutingIntentOperationsImpl , WebApplicationFirewallPoliciesImpl } from "./operations" ; import { ApplicationGateways , ApplicationGatewayPrivateLinkResources , ApplicationGatewayPrivateEndpointConnections , ApplicationSecurityGroups , AvailableDelegations , AvailableResourceGroupDelegations , AvailableServiceAliases , AzureFirewalls , AzureFirewallFqdnTags , WebCategories , BastionHosts , NetworkInterfaces , PublicIPAddresses , CustomIPPrefixes , DdosCustomPolicies , DdosProtectionPlans , DscpConfigurationOperations , AvailableEndpointServices , ExpressRouteCircuitAuthorizations , ExpressRouteCircuitPeerings , ExpressRouteCircuitConnections , PeerExpressRouteCircuitConnections , ExpressRouteCircuits , ExpressRouteServiceProviders , ExpressRouteCrossConnections , ExpressRouteCrossConnectionPeerings , ExpressRoutePortsLocations , ExpressRoutePorts , ExpressRouteLinks , FirewallPolicies , FirewallPolicyRuleCollectionGroups , FirewallPolicyIdpsSignatures , FirewallPolicyIdpsSignaturesOverrides , FirewallPolicyIdpsSignaturesFilterValues , IpAllocations , IpGroups , LoadBalancers , LoadBalancerBackendAddressPools , LoadBalancerFrontendIPConfigurations , InboundNatRules , LoadBalancerLoadBalancingRules , LoadBalancerOutboundRules , LoadBalancerNetworkInterfaces , LoadBalancerProbes , NatGateways , NetworkInterfaceIPConfigurations , NetworkInterfaceLoadBalancers , NetworkInterfaceTapConfigurations , NetworkProfiles , NetworkSecurityGroups , SecurityRules , DefaultSecurityRules , NetworkVirtualAppliances , VirtualApplianceSites , VirtualApplianceSkus , InboundSecurityRuleOperations , NetworkWatchers , PacketCaptures , ConnectionMonitors , FlowLogs , Operations , PrivateEndpoints , AvailablePrivateEndpointTypes , PrivateDnsZoneGroups , PrivateLinkServices , PublicIPPrefixes , RouteFilters , RouteFilterRules , RouteTables , Routes , SecurityPartnerProviders , BgpServiceCommunities , ServiceEndpointPolicies , ServiceEndpointPolicyDefinitions , ServiceTags , ServiceTagInformationOperations , Usages , VirtualNetworks , Subnets , ResourceNavigationLinks , ServiceAssociationLinks , VirtualNetworkPeerings , VirtualNetworkGateways , VirtualNetworkGatewayConnections , LocalNetworkGateways , VirtualNetworkGatewayNatRules , VirtualNetworkTaps , VirtualRouters , VirtualRouterPeerings , VirtualWans , VpnSites , VpnSiteLinks , VpnSitesConfiguration , VpnServerConfigurations , VirtualHubs , HubVirtualNetworkConnections , VpnGateways , VpnLinkConnections , VpnConnections , VpnSiteLinkConnections , NatRules , P2SVpnGateways , VpnServerConfigurationsAssociatedWithVirtualWan , VirtualHubRouteTableV2S , ExpressRouteGateways , ExpressRouteConnections , VirtualHubBgpConnection , VirtualHubBgpConnections , VirtualHubIpConfiguration , HubRouteTables , RoutingIntentOperations , WebApplicationFirewallPolicies } from "./operationsInterfaces" ; import * as Parameters from "./models/parameters" ; import * as Mappers from "./models/mappers" ; import { NetworkManagementClientOptionalParams , BastionShareableLink , BastionShareableLinkListRequest , PutBastionShareableLinkNextOptionalParams , PutBastionShareableLinkOptionalParams , GetBastionShareableLinkNextOptionalParams , GetBastionShareableLinkOptionalParams , BastionActiveSession , GetActiveSessionsNextOptionalParams , GetActiveSessionsOptionalParams , BastionSessionState , SessionIds , DisconnectActiveSessionsNextOptionalParams , DisconnectActiveSessionsOptionalParams , PutBastionShareableLinkResponse , DeleteBastionShareableLinkOptionalParams , GetBastionShareableLinkResponse , GetActiveSessionsResponse , DisconnectActiveSessionsResponse , CheckDnsNameAvailabilityOptionalParams , CheckDnsNameAvailabilityResponse , SupportedSecurityProvidersOptionalParams , SupportedSecurityProvidersResponse , VirtualWanVpnProfileParameters , GeneratevirtualwanvpnserverconfigurationvpnprofileOptionalParams , GeneratevirtualwanvpnserverconfigurationvpnprofileResponse , PutBastionShareableLinkNextResponse , GetBastionShareableLinkNextResponse , GetActiveSessionsNextResponse , DisconnectActiveSessionsNextResponse } from "./models" ; export class NetworkManagementClient extends coreClient . ServiceClient { $host : string ; subscriptionId : string ; param credentials param subscriptionId param options constructor ( credentials , subscriptionId , options ? ) { if ( credentials === undefined ) { throw new Error ( "'credentials' cannot be null" ) ; } if ( subscriptionId === undefined ) { throw new Error ( "'subscriptionId' cannot be null" ) ; } if ( ! options ) { options = { } ; } const defaults = { requestContentType : "application/json; charset=utf-8" , credential : credentials } ; const packageDetails = `azsdk-js-network-resource-manager/1.0.0-beta.1` ; const userAgentPrefix = options . userAgentOptions && options . userAgentOptions . userAgentPrefix ? `${ options . userAgentOptions . userAgentPrefix } ${ packageDetails }` : `${ packageDetails }` ; const optionsWithDefaults = { ... defaults , ... options , userAgentOptions : { userAgentPrefix } , baseUri : options . endpoint || "https://management.azure.com" } ; super ( optionsWithDefaults ) ; this . subscriptionId = subscriptionId ; this . $host = options . $host || "https://management.azure.com" ; this . applicationGateways = new ApplicationGatewaysImpl ( this ) ; this . applicationGatewayPrivateLinkResources = new ApplicationGatewayPrivateLinkResourcesImpl ( this ) ; this . applicationGatewayPrivateEndpointConnections = new ApplicationGatewayPrivateEndpointConnectionsImpl ( this ) ; this . applicationSecurityGroups = new ApplicationSecurityGroupsImpl ( this ) ; this . availableDelegations = new AvailableDelegationsImpl ( this ) ; this . availableResourceGroupDelegations = new AvailableResourceGroupDelegationsImpl ( this ) ; this . availableServiceAliases = new AvailableServiceAliasesImpl ( this ) ; this . azureFirewalls = new AzureFirewallsImpl ( this ) ; this . azureFirewallFqdnTags = new AzureFirewallFqdnTagsImpl ( this ) ; this . webCategories = new WebCategoriesImpl ( this ) ; this . bastionHosts = new BastionHostsImpl ( this ) ; this . networkInterfaces = new NetworkInterfacesImpl ( this ) ; this . publicIPAddresses = new PublicIPAddressesImpl ( this ) ; this . customIPPrefixes = new CustomIPPrefixesImpl ( this ) ; this . ddosCustomPolicies = new DdosCustomPoliciesImpl ( this ) ; this . ddosProtectionPlans = new DdosProtectionPlansImpl ( this ) ; this . dscpConfigurationOperations = new DscpConfigurationOperationsImpl ( this ) ; this . availableEndpointServices = new AvailableEndpointServicesImpl ( this ) ; this . expressRouteCircuitAuthorizations = new ExpressRouteCircuitAuthorizationsImpl ( this ) ; this . expressRouteCircuitPeerings = new ExpressRouteCircuitPeeringsImpl ( this ) ; this . expressRouteCircuitConnections = new ExpressRouteCircuitConnectionsImpl ( this ) ; this . peerExpressRouteCircuitConnections = new PeerExpressRouteCircuitConnectionsImpl ( this ) ; this . expressRouteCircuits = new ExpressRouteCircuitsImpl ( this ) ; this . expressRouteServiceProviders = new ExpressRouteServiceProvidersImpl ( this ) ; this . expressRouteCrossConnections = new ExpressRouteCrossConnectionsImpl ( this ) ; this . expressRouteCrossConnectionPeerings = new ExpressRouteCrossConnectionPeeringsImpl ( this ) ; this . expressRoutePortsLocations = new ExpressRoutePortsLocationsImpl ( this ) ; this . expressRoutePorts = new ExpressRoutePortsImpl ( this ) ; this . expressRouteLinks = new ExpressRouteLinksImpl ( this ) ; this . firewallPolicies = new FirewallPoliciesImpl ( this ) ; this . firewallPolicyRuleCollectionGroups = new FirewallPolicyRuleCollectionGroupsImpl ( this ) ; this . firewallPolicyIdpsSignatures = new FirewallPolicyIdpsSignaturesImpl ( this ) ; this . firewallPolicyIdpsSignaturesOverrides = new FirewallPolicyIdpsSignaturesOverridesImpl ( this ) ; this . firewallPolicyIdpsSignaturesFilterValues = new FirewallPolicyIdpsSignaturesFilterValuesImpl ( this ) ; this . ipAllocations = new IpAllocationsImpl ( this ) ; this . ipGroups = new IpGroupsImpl ( this ) ; this . loadBalancers = new LoadBalancersImpl ( this ) ; this . loadBalancerBackendAddressPools = new LoadBalancerBackendAddressPoolsImpl ( this ) ; this . loadBalancerFrontendIPConfigurations = new LoadBalancerFrontendIPConfigurationsImpl ( this ) ; this . inboundNatRules = new InboundNatRulesImpl ( this ) ; this . loadBalancerLoadBalancingRules = new LoadBalancerLoadBalancingRulesImpl ( this ) ; this . loadBalancerOutboundRules = new LoadBalancerOutboundRulesImpl ( this ) ; this . loadBalancerNetworkInterfaces = new LoadBalancerNetworkInterfacesImpl ( this ) ; this . loadBalancerProbes = new LoadBalancerProbesImpl ( this ) ; this . natGateways = new NatGatewaysImpl ( this ) ; this . networkInterfaceIPConfigurations = new NetworkInterfaceIPConfigurationsImpl ( this ) ; this . networkInterfaceLoadBalancers = new NetworkInterfaceLoadBalancersImpl ( this ) ; this . networkInterfaceTapConfigurations = new NetworkInterfaceTapConfigurationsImpl ( this ) ; this . networkProfiles = new NetworkProfilesImpl ( this ) ; this . networkSecurityGroups = new NetworkSecurityGroupsImpl ( this ) ; this . securityRules = new SecurityRulesImpl ( this ) ; this . defaultSecurityRules = new DefaultSecurityRulesImpl ( this ) ; this . networkVirtualAppliances = new NetworkVirtualAppliancesImpl ( this ) ; this . virtualApplianceSites = new VirtualApplianceSitesImpl ( this ) ; this . virtualApplianceSkus = new VirtualApplianceSkusImpl ( this ) ; this . inboundSecurityRuleOperations = new InboundSecurityRuleOperationsImpl ( this ) ; this . networkWatchers = new NetworkWatchersImpl ( this ) ; this . packetCaptures = new PacketCapturesImpl ( this ) ; this . connectionMonitors = new ConnectionMonitorsImpl ( this ) ; this . flowLogs = new FlowLogsImpl ( this ) ; this . operations = new OperationsImpl ( this ) ; this . privateEndpoints = new PrivateEndpointsImpl ( this ) ; this . availablePrivateEndpointTypes = new AvailablePrivateEndpointTypesImpl ( this ) ; this . privateDnsZoneGroups = new PrivateDnsZoneGroupsImpl ( this ) ; this . privateLinkServices = new PrivateLinkServicesImpl ( this ) ; this . publicIPPrefixes = new PublicIPPrefixesImpl ( this ) ; this . routeFilters = new RouteFiltersImpl ( this ) ; this . routeFilterRules = new RouteFilterRulesImpl ( this ) ; this . routeTables = new RouteTablesImpl ( this ) ; this . routes = new RoutesImpl ( this ) ; this . securityPartnerProviders = new SecurityPartnerProvidersImpl ( this ) ; this . bgpServiceCommunities = new BgpServiceCommunitiesImpl ( this ) ; this . serviceEndpointPolicies = new ServiceEndpointPoliciesImpl ( this ) ; this . serviceEndpointPolicyDefinitions = new ServiceEndpointPolicyDefinitionsImpl ( this ) ; this . serviceTags = new ServiceTagsImpl ( this ) ; this . serviceTagInformationOperations = new ServiceTagInformationOperationsImpl ( this ) ; this . usages = new UsagesImpl ( this ) ; this . virtualNetworks = new VirtualNetworksImpl ( this ) ; this . subnets = new SubnetsImpl ( this ) ; this . resourceNavigationLinks = new ResourceNavigationLinksImpl ( this ) ; this . serviceAssociationLinks = new ServiceAssociationLinksImpl ( this ) ; this . virtualNetworkPeerings = new VirtualNetworkPeeringsImpl ( this ) ; this . virtualNetworkGateways = new VirtualNetworkGatewaysImpl ( this ) ; this . virtualNetworkGatewayConnections = new VirtualNetworkGatewayConnectionsImpl ( this ) ; this . localNetworkGateways = new LocalNetworkGatewaysImpl ( this ) ; this . virtualNetworkGatewayNatRules = new VirtualNetworkGatewayNatRulesImpl ( this ) ; this . virtualNetworkTaps = new VirtualNetworkTapsImpl ( this ) ; this . virtualRouters = new VirtualRoutersImpl ( this ) ; this . virtualRouterPeerings = new VirtualRouterPeeringsImpl ( this ) ; this . virtualWans = new VirtualWansImpl ( this ) ; this . vpnSites = new VpnSitesImpl ( this ) ; this . vpnSiteLinks = new VpnSiteLinksImpl ( this ) ; this . vpnSitesConfiguration = new VpnSitesConfigurationImpl ( this ) ; this . vpnServerConfigurations = new VpnServerConfigurationsImpl ( this ) ; this . virtualHubs = new VirtualHubsImpl ( this ) ; this . hubVirtualNetworkConnections = new HubVirtualNetworkConnectionsImpl ( this ) ; this . vpnGateways = new VpnGatewaysImpl ( this ) ; this . vpnLinkConnections = new VpnLinkConnectionsImpl ( this ) ; this . vpnConnections = new VpnConnectionsImpl ( this ) ; this . vpnSiteLinkConnections = new VpnSiteLinkConnectionsImpl ( this ) ; this . natRules = new NatRulesImpl ( this ) ; this . p2SVpnGateways = new P2SVpnGatewaysImpl ( this ) ; this . vpnServerConfigurationsAssociatedWithVirtualWan = new VpnServerConfigurationsAssociatedWithVirtualWanImpl ( this ) ; this . virtualHubRouteTableV2S = new VirtualHubRouteTableV2SImpl ( this ) ; this . expressRouteGateways = new ExpressRouteGatewaysImpl ( this ) ; this . expressRouteConnections = new ExpressRouteConnectionsImpl ( this ) ; this . virtualHubBgpConnection = new VirtualHubBgpConnectionImpl ( this ) ; this . virtualHubBgpConnections = new VirtualHubBgpConnectionsImpl ( this ) ; this . virtualHubIpConfiguration = new VirtualHubIpConfigurationImpl ( this ) ; this . hubRouteTables = new HubRouteTablesImpl ( this ) ; this . routingIntentOperations = new RoutingIntentOperationsImpl ( this ) ; this . webApplicationFirewallPolicies = new WebApplicationFirewallPoliciesImpl ( this ) ; } param resourceGroupName param bastionHostName param bslRequest param options public beginListPutBastionShareableLinkAndWait ( resourceGroupName , bastionHostName , bslRequest , options ? ) { const iter = this . putBastionShareableLinkPagingAll ( resourceGroupName , bastionHostName , bslRequest , options ) ; return { next ( ) { return iter . next ( ) ; } , [ Symbol . asyncIterator ] ( ) { return this ; } , byPage : ( ) => { return this . putBastionShareableLinkPagingPage ( resourceGroupName , bastionHostName , bslRequest , options ) ; } } ; } private async * putBastionShareableLinkPagingPage ( resourceGroupName , bastionHostName , bslRequest , options ? ) { const poller = await this . _putBastionShareableLink ( resourceGroupName , bastionHostName , bslRequest , options ) ; let result = await poller . pollUntilDone ( ) ; yield result . value || [ ] ; let continuationToken = result . nextLink ; while ( continuationToken ) { result = await this . _putBastionShareableLinkNext ( resourceGroupName , bastionHostName , bslRequest , continuationToken , options ) ; continuationToken = result . nextLink ; yield result . value || [ ] ; } } private async * putBastionShareableLinkPagingAll ( resourceGroupName , bastionHostName , bslRequest , options ? ) { for await ( const page of this . putBastionShareableLinkPagingPage ( resourceGroupName , bastionHostName , bslRequest , options ) ) { yield * page ; } } param resourceGroupName param bastionHostName param bslRequest param options public listBastionShareableLink ( resourceGroupName , bastionHostName , bslRequest , options ? ) { const iter = this . getBastionShareableLinkPagingAll ( resourceGroupName , bastionHostName , bslRequest , options ) ; return { next ( ) { return iter . next ( ) ; } , [ Symbol . asyncIterator ] ( ) { return this ; } , byPage : ( ) => { return this . getBastionShareableLinkPagingPage ( resourceGroupName , bastionHostName , bslRequest , options ) ; } } ; } private async * getBastionShareableLinkPagingPage ( resourceGroupName , bastionHostName , bslRequest , options ? ) { let result = await this . _getBastionShareableLink ( resourceGroupName , bastionHostName , bslRequest , options ) ; yield result . value || [ ] ; let continuationToken = result . nextLink ; while ( continuationToken ) { result = await this . _getBastionShareableLinkNext ( resourceGroupName , bastionHostName , bslRequest , continuationToken , options ) ; continuationToken = result . nextLink ; yield result . value || [ ] ; } } private async * getBastionShareableLinkPagingAll ( resourceGroupName , bastionHostName , bslRequest , options ? ) { for await ( const page of this . getBastionShareableLinkPagingPage ( resourceGroupName , bastionHostName , bslRequest , options ) ) { yield * page ; } } param resourceGroupName param bastionHostName param options public beginListActiveSessionsAndWait ( resourceGroupName , bastionHostName , options ? ) { const iter = this . getActiveSessionsPagingAll ( resourceGroupName , bastionHostName , options ) ; return { next ( ) { return iter . next ( ) ; } , [ Symbol . asyncIterator ] ( ) { return this ; } , byPage : ( ) => { return this . getActiveSessionsPagingPage ( resourceGroupName , bastionHostName , options ) ; } } ; } private async * getActiveSessionsPagingPage ( resourceGroupName , bastionHostName , options ? ) { const poller = await this . _getActiveSessions ( resourceGroupName , bastionHostName , options ) ; let result = await poller . pollUntilDone ( ) ; yield result . value || [ ] ; let continuationToken = result . nextLink ; while ( continuationToken ) { result = await this . _getActiveSessionsNext ( resourceGroupName , bastionHostName , continuationToken , options ) ; continuationToken = result . nextLink ; yield result . value || [ ] ; } } private async * getActiveSessionsPagingAll ( resourceGroupName , bastionHostName , options ? ) { for await ( const page of this . getActiveSessionsPagingPage ( resourceGroupName , bastionHostName , options ) ) { yield * page ; } } param resourceGroupName param bastionHostName param sessionIds param options public listDisconnectActiveSessions ( resourceGroupName , bastionHostName , sessionIds , options ? ) { const iter = this . disconnectActiveSessionsPagingAll ( resourceGroupName , bastionHostName , sessionIds , options ) ; return { next ( ) { return iter . next ( ) ; } , [ Symbol . asyncIterator ] ( ) { return this ; } , byPage : ( ) => { return this . disconnectActiveSessionsPagingPage ( resourceGroupName , bastionHostName , sessionIds , options ) ; } } ; } private async * disconnectActiveSessionsPagingPage ( resourceGroupName , bastionHostName , sessionIds , options ? ) { let result = await this . _disconnectActiveSessions ( resourceGroupName , bastionHostName , sessionIds , options ) ; yield result . value || [ ] ; let continuationToken = result . nextLink ; while ( continuationToken ) { result = await this . _disconnectActiveSessionsNext ( resourceGroupName , bastionHostName , sessionIds , continuationToken , options ) ; continuationToken = result . nextLink ; yield result . value || [ ] ; } } private async * disconnectActiveSessionsPagingAll ( resourceGroupName , bastionHostName , sessionIds , options ? ) { for await ( const page of this . disconnectActiveSessionsPagingPage ( resourceGroupName , bastionHostName , sessionIds , options ) ) { yield * page ; } } param resourceGroupName param bastionHostName param bslRequest param options private async _putBastionShareableLink ( resourceGroupName , bastionHostName , bslRequest , options ? ) { const directSendOperation = async ( args , spec ) : Promise < PutBastionShareableLinkResponse > => { return this . sendOperationRequest ( args , spec ) ; } ; const sendOperation = async ( args , spec ) => { let currentRawResponse = undefined ; const providedCallback = args . options ?. onResponse ; const callback = ( rawResponse , flatResponse ) => { currentRawResponse = rawResponse ; providedCallback ?. ( rawResponse , flatResponse ) ; } ; const updatedArgs = { ... args , options : { ... args . options , onResponse : callback } } ; const flatResponse = await directSendOperation ( updatedArgs , spec ) ; return { flatResponse , rawResponse : { statusCode : currentRawResponse ! . status , body : currentRawResponse ! . parsedBody , headers : currentRawResponse ! . headers . toJSON ( ) } } ; } ; const lro = new LroImpl ( sendOperation , { resourceGroupName , bastionHostName , bslRequest , options } , putBastionShareableLinkOperationSpec ) ; return new LroEngine ( lro , { resumeFrom : options ?. resumeFrom , intervalInMs : options ?. updateIntervalInMs , lroResourceLocationConfig : "location" } ) ; } param resourceGroupName param bastionHostName param bslRequest param options async beginDeleteBastionShareableLink ( resourceGroupName , bastionHostName , bslRequest , options ? ) { const directSendOperation = async ( args , spec ) : Promise < void > => { return this . sendOperationRequest ( args , spec ) ; } ; const sendOperation = async ( args , spec ) => { let currentRawResponse = undefined ; const providedCallback = args . options ?. onResponse ; const callback = ( rawResponse , flatResponse ) => { currentRawResponse = rawResponse ; providedCallback ?. ( rawResponse , flatResponse ) ; } ; const updatedArgs = { ... args , options : { ... args . options , onResponse : callback } } ; const flatResponse = await directSendOperation ( updatedArgs , spec ) ; return { flatResponse , rawResponse : { statusCode : currentRawResponse ! . status , body : currentRawResponse ! . parsedBody , headers : currentRawResponse ! . headers . toJSON ( ) } } ; } ; const lro = new LroImpl ( sendOperation , { resourceGroupName , bastionHostName , bslRequest , options } , deleteBastionShareableLinkOperationSpec ) ; return new LroEngine ( lro , { resumeFrom : options ?. resumeFrom , intervalInMs : options ?. updateIntervalInMs , lroResourceLocationConfig : "location" } ) ; } param resourceGroupName param bastionHostName param bslRequest param options async beginDeleteBastionShareableLinkAndWait ( resourceGroupName , bastionHostName , bslRequest , options ? ) { const poller = await this . beginDeleteBastionShareableLink ( resourceGroupName , bastionHostName , bslRequest , options ) ; return poller . pollUntilDone ( ) ; } param resourceGroupName param bastionHostName param bslRequest param options private _getBastionShareableLink ( resourceGroupName , bastionHostName , bslRequest , options ? ) { return this . sendOperationRequest ( { resourceGroupName , bastionHostName , bslRequest , options } , getBastionShareableLinkOperationSpec ) ; } param resourceGroupName param bastionHostName param options private async _getActiveSessions ( resourceGroupName , bastionHostName , options ? ) { const directSendOperation = async ( args , spec ) : Promise < GetActiveSessionsResponse > => { return this . sendOperationRequest ( args , spec ) ; } ; const sendOperation = async ( args , spec ) => { let currentRawResponse = undefined ; const providedCallback = args . options ?. onResponse ; const callback = ( rawResponse , flatResponse ) => { currentRawResponse = rawResponse ; providedCallback ?. ( rawResponse , flatResponse ) ; } ; const updatedArgs = { ... args , options : { ... args . options , onResponse : callback } } ; const flatResponse = await directSendOperation ( updatedArgs , spec ) ; return { flatResponse , rawResponse : { statusCode : currentRawResponse ! . status , body : currentRawResponse ! . parsedBody , headers : currentRawResponse ! . headers . toJSON ( ) } } ; } ; const lro = new LroImpl ( sendOperation , { resourceGroupName , bastionHostName , options } , getActiveSessionsOperationSpec ) ; return new LroEngine ( lro , { resumeFrom : options ?. resumeFrom , intervalInMs : options ?. updateIntervalInMs , lroResourceLocationConfig : "location" } ) ; } param resourceGroupName param bastionHostName param sessionIds param options private _disconnectActiveSessions ( resourceGroupName , bastionHostName , sessionIds , options ? ) { return this . sendOperationRequest ( { resourceGroupName , bastionHostName , sessionIds , options } , disconnectActiveSessionsOperationSpec ) ; } param location param domainNameLabel param options checkDnsNameAvailability ( location , domainNameLabel , options ? ) { return this . sendOperationRequest ( { location , domainNameLabel , options } , checkDnsNameAvailabilityOperationSpec ) ; } param resourceGroupName param virtualWANName param options supportedSecurityProviders ( resourceGroupName , virtualWANName , options ? ) { return this . sendOperationRequest ( { resourceGroupName , virtualWANName , options } , supportedSecurityProvidersOperationSpec ) ; } param resourceGroupName param virtualWANName param vpnClientParams param options async beginGeneratevirtualwanvpnserverconfigurationvpnprofile ( resourceGroupName , virtualWANName , vpnClientParams , options ? ) { const directSendOperation = async ( args , spec ) : Promise < GeneratevirtualwanvpnserverconfigurationvpnprofileResponse > => { return this . sendOperationRequest ( args , spec ) ; } ; const sendOperation = async ( args , spec ) => { let currentRawResponse = undefined ; const providedCallback = args . options ?. onResponse ; const callback = ( rawResponse , flatResponse ) => { currentRawResponse = rawResponse ; providedCallback ?. ( rawResponse , flatResponse ) ; } ; const updatedArgs = { ... args , options : { ... args . options , onResponse : callback } } ; const flatResponse = await directSendOperation ( updatedArgs , spec ) ; return { flatResponse , rawResponse : { statusCode : currentRawResponse ! . status , body : currentRawResponse ! . parsedBody , headers : currentRawResponse ! . headers . toJSON ( ) } } ; } ; const lro = new LroImpl ( sendOperation , { resourceGroupName , virtualWANName , vpnClientParams , options } , generatevirtualwanvpnserverconfigurationvpnprofileOperationSpec ) ; return new LroEngine ( lro , { resumeFrom : options ?. resumeFrom , intervalInMs : options ?. updateIntervalInMs , lroResourceLocationConfig : "location" } ) ; } param resourceGroupName param virtualWANName param vpnClientParams param options async beginGeneratevirtualwanvpnserverconfigurationvpnprofileAndWait ( resourceGroupName , virtualWANName , vpnClientParams , options ? ) { const poller = await this . beginGeneratevirtualwanvpnserverconfigurationvpnprofile ( resourceGroupName , virtualWANName , vpnClientParams , options ) ; return poller . pollUntilDone ( ) ; } param resourceGroupName param bastionHostName param bslRequest param nextLink param options private _putBastionShareableLinkNext ( resourceGroupName , bastionHostName , bslRequest , nextLink , options ? ) { return this . sendOperationRequest ( { resourceGroupName , bastionHostName , bslRequest , nextLink , options } , putBastionShareableLinkNextOperationSpec ) ; } param resourceGroupName param bastionHostName param bslRequest param nextLink param options private _getBastionShareableLinkNext ( resourceGroupName , bastionHostName , bslRequest , nextLink , options ? ) { return this . sendOperationRequest ( { resourceGroupName , bastionHostName , bslRequest , nextLink , options } , getBastionShareableLinkNextOperationSpec ) ; } param resourceGroupName param bastionHostName param nextLink param options private _getActiveSessionsNext ( resourceGroupName , bastionHostName , nextLink , options ? ) { return this . sendOperationRequest ( { resourceGroupName , bastionHostName , nextLink , options } , getActiveSessionsNextOperationSpec ) ; } param resourceGroupName param bastionHostName param sessionIds param nextLink param options private _disconnectActiveSessionsNext ( resourceGroupName , bastionHostName , sessionIds , nextLink , options ? ) { return this . sendOperationRequest ( { resourceGroupName , bastionHostName , sessionIds , nextLink , options } , disconnectActiveSessionsNextOperationSpec ) ; } applicationGateways : ApplicationGateways ; applicationGatewayPrivateLinkResources : ApplicationGatewayPrivateLinkResources ; applicationGatewayPrivateEndpointConnections : ApplicationGatewayPrivateEndpointConnections ; applicationSecurityGroups : ApplicationSecurityGroups ; availableDelegations : AvailableDelegations ; availableResourceGroupDelegations : AvailableResourceGroupDelegations ; availableServiceAliases : AvailableServiceAliases ; azureFirewalls : AzureFirewalls ; azureFirewallFqdnTags : AzureFirewallFqdnTags ; webCategories : WebCategories ; bastionHosts : BastionHosts ; networkInterfaces : NetworkInterfaces ; publicIPAddresses : PublicIPAddresses ; customIPPrefixes : CustomIPPrefixes ; ddosCustomPolicies : DdosCustomPolicies ; ddosProtectionPlans : DdosProtectionPlans ; dscpConfigurationOperations : DscpConfigurationOperations ; availableEndpointServices : AvailableEndpointServices ; expressRouteCircuitAuthorizations : ExpressRouteCircuitAuthorizations ; expressRouteCircuitPeerings : ExpressRouteCircuitPeerings ; expressRouteCircuitConnections : ExpressRouteCircuitConnections ; peerExpressRouteCircuitConnections : PeerExpressRouteCircuitConnections ; expressRouteCircuits : ExpressRouteCircuits ; expressRouteServiceProviders : ExpressRouteServiceProviders ; expressRouteCrossConnections : ExpressRouteCrossConnections ; expressRouteCrossConnectionPeerings : ExpressRouteCrossConnectionPeerings ; expressRoutePortsLocations : ExpressRoutePortsLocations ; expressRoutePorts : ExpressRoutePorts ; expressRouteLinks : ExpressRouteLinks ; firewallPolicies : FirewallPolicies ; firewallPolicyRuleCollectionGroups : FirewallPolicyRuleCollectionGroups ; firewallPolicyIdpsSignatures : FirewallPolicyIdpsSignatures ; firewallPolicyIdpsSignaturesOverrides : FirewallPolicyIdpsSignaturesOverrides ; firewallPolicyIdpsSignaturesFilterValues : FirewallPolicyIdpsSignaturesFilterValues ; ipAllocations : IpAllocations ; ipGroups : IpGroups ; loadBalancers : LoadBalancers ; loadBalancerBackendAddressPools : LoadBalancerBackendAddressPools ; loadBalancerFrontendIPConfigurations : LoadBalancerFrontendIPConfigurations ; inboundNatRules : InboundNatRules ; loadBalancerLoadBalancingRules : LoadBalancerLoadBalancingRules ; loadBalancerOutboundRules : LoadBalancerOutboundRules ; loadBalancerNetworkInterfaces : LoadBalancerNetworkInterfaces ; loadBalancerProbes : LoadBalancerProbes ; natGateways : NatGateways ; networkInterfaceIPConfigurations : NetworkInterfaceIPConfigurations ; networkInterfaceLoadBalancers : NetworkInterfaceLoadBalancers ; networkInterfaceTapConfigurations : NetworkInterfaceTapConfigurations ; networkProfiles : NetworkProfiles ; networkSecurityGroups : NetworkSecurityGroups ; securityRules : SecurityRules ; defaultSecurityRules : DefaultSecurityRules ; networkVirtualAppliances : NetworkVirtualAppliances ; virtualApplianceSites : VirtualApplianceSites ; virtualApplianceSkus : VirtualApplianceSkus ; inboundSecurityRuleOperations : InboundSecurityRuleOperations ; networkWatchers : NetworkWatchers ; packetCaptures : PacketCaptures ; connectionMonitors : ConnectionMonitors ; flowLogs : FlowLogs ; operations : Operations ; privateEndpoints : PrivateEndpoints ; availablePrivateEndpointTypes : AvailablePrivateEndpointTypes ; privateDnsZoneGroups : PrivateDnsZoneGroups ; privateLinkServices : PrivateLinkServices ; publicIPPrefixes : PublicIPPrefixes ; routeFilters : RouteFilters ; routeFilterRules : RouteFilterRules ; routeTables : RouteTables ; routes : Routes ; securityPartnerProviders : SecurityPartnerProviders ; bgpServiceCommunities : BgpServiceCommunities ; serviceEndpointPolicies : ServiceEndpointPolicies ; serviceEndpointPolicyDefinitions : ServiceEndpointPolicyDefinitions ; serviceTags : ServiceTags ; serviceTagInformationOperations : ServiceTagInformationOperations ; usages : Usages ; virtualNetworks : VirtualNetworks ; subnets : Subnets ; resourceNavigationLinks : ResourceNavigationLinks ; serviceAssociationLinks : ServiceAssociationLinks ; virtualNetworkPeerings : VirtualNetworkPeerings ; virtualNetworkGateways : VirtualNetworkGateways ; virtualNetworkGatewayConnections : VirtualNetworkGatewayConnections ; localNetworkGateways : LocalNetworkGateways ; virtualNetworkGatewayNatRules : VirtualNetworkGatewayNatRules ; virtualNetworkTaps : VirtualNetworkTaps ; virtualRouters : VirtualRouters ; virtualRouterPeerings : VirtualRouterPeerings ; virtualWans : VirtualWans ; vpnSites : VpnSites ; vpnSiteLinks : VpnSiteLinks ; vpnSitesConfiguration : VpnSitesConfiguration ; vpnServerConfigurations : VpnServerConfigurations ; virtualHubs : VirtualHubs ; hubVirtualNetworkConnections : HubVirtualNetworkConnections ; vpnGateways : VpnGateways ; vpnLinkConnections : VpnLinkConnections ; vpnConnections : VpnConnections ; vpnSiteLinkConnections : VpnSiteLinkConnections ; natRules : NatRules ; p2SVpnGateways : P2SVpnGateways ; vpnServerConfigurationsAssociatedWithVirtualWan : VpnServerConfigurationsAssociatedWithVirtualWan ; virtualHubRouteTableV2S : VirtualHubRouteTableV2S ; expressRouteGateways : ExpressRouteGateways ; expressRouteConnections : ExpressRouteConnections ; virtualHubBgpConnection : VirtualHubBgpConnection ; virtualHubBgpConnections : VirtualHubBgpConnections ; virtualHubIpConfiguration : VirtualHubIpConfiguration ; hubRouteTables : HubRouteTables ; routingIntentOperations : RoutingIntentOperations ; webApplicationFirewallPolicies : WebApplicationFirewallPolicies ; } const serializer = coreClient . createSerializer ( Mappers , false ) ; const putBastionShareableLinkOperationSpec = { path : "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/createShareableLinks" , httpMethod : "POST" , responses : { 200 : { bodyMapper : Mappers . BastionShareableLinkListResult } , 201 : { bodyMapper : Mappers . BastionShareableLinkListResult } , 202 : { bodyMapper : Mappers . BastionShareableLinkListResult } , 204 : { bodyMapper : Mappers . BastionShareableLinkListResult } , default : { bodyMapper : Mappers . CloudError } } , requestBody : Parameters . bslRequest , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . bastionHostName ] , headerParameters : [ Parameters . accept , Parameters . contentType ] , mediaType : "json" , serializer } ; const deleteBastionShareableLinkOperationSpec = { path : "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/deleteShareableLinks" , httpMethod : "POST" , responses : { 200 : { } , 201 : { } , 202 : { } , 204 : { } , default : { bodyMapper : Mappers . CloudError } } , requestBody : Parameters . bslRequest , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . bastionHostName ] , headerParameters : [ Parameters . accept , Parameters . contentType ] , mediaType : "json" , serializer } ; const getBastionShareableLinkOperationSpec = { path : "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getShareableLinks" , httpMethod : "POST" , responses : { 200 : { bodyMapper : Mappers . BastionShareableLinkListResult } , default : { bodyMapper : Mappers . CloudError } } , requestBody : Parameters . bslRequest , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . bastionHostName ] , headerParameters : [ Parameters . accept , Parameters . contentType ] , mediaType : "json" , serializer } ; const getActiveSessionsOperationSpec = { path : "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getActiveSessions" , httpMethod : "POST" , responses : { 200 : { bodyMapper : Mappers . BastionActiveSessionListResult } , 201 : { bodyMapper : Mappers . BastionActiveSessionListResult } , 202 : { bodyMapper : Mappers . BastionActiveSessionListResult } , 204 : { bodyMapper : Mappers . BastionActiveSessionListResult } , default : { bodyMapper : Mappers . CloudError } } , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . bastionHostName ] , headerParameters : [ Parameters . accept ] , serializer } ; const disconnectActiveSessionsOperationSpec = { path : "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/disconnectActiveSessions" , httpMethod : "POST" , responses : { 200 : { bodyMapper : Mappers . BastionSessionDeleteResult } , default : { bodyMapper : Mappers . CloudError } } , requestBody : Parameters . sessionIds , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . bastionHostName ] , headerParameters : [ Parameters . accept , Parameters . contentType ] , mediaType : "json" , serializer } ; const checkDnsNameAvailabilityOperationSpec = { path : "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability" , httpMethod : "GET" , responses : { 200 : { bodyMapper : Mappers . DnsNameAvailabilityResult } , default : { bodyMapper : Mappers . CloudError } } , queryParameters : [ Parameters . apiVersion , Parameters . domainNameLabel ] , urlParameters : [ Parameters . $host , Parameters . subscriptionId , Parameters . location ] , headerParameters : [ Parameters . accept ] , serializer } ; const supportedSecurityProvidersOperationSpec = { path : "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders" , httpMethod : "GET" , responses : { 200 : { bodyMapper : Mappers . VirtualWanSecurityProviders } , default : { bodyMapper : Mappers . CloudError } } , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . virtualWANName ] , headerParameters : [ Parameters . accept ] , serializer } ; const generatevirtualwanvpnserverconfigurationvpnprofileOperationSpec = { path : "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/GenerateVpnProfile" , httpMethod : "POST" , responses : { 200 : { bodyMapper : Mappers . VpnProfileResponse } , 201 : { bodyMapper : Mappers . VpnProfileResponse } , 202 : { bodyMapper : Mappers . VpnProfileResponse } , 204 : { bodyMapper : Mappers . VpnProfileResponse } , default : { bodyMapper : Mappers . CloudError } } , requestBody : Parameters . vpnClientParams , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . virtualWANName ] , headerParameters : [ Parameters . accept , Parameters . contentType ] , mediaType : "json" , serializer } ; const putBastionShareableLinkNextOperationSpec = { path : "{nextLink}" , httpMethod : "GET" , responses : { 200 : { bodyMapper : Mappers . BastionShareableLinkListResult } , 202 : { } , default : { bodyMapper : Mappers . CloudError } } , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . nextLink , Parameters . bastionHostName ] , headerParameters : [ Parameters . accept , Parameters . contentType ] , mediaType : "json" , serializer } ; const getBastionShareableLinkNextOperationSpec = { path : "{nextLink}" , httpMethod : "GET" , responses : { 200 : { bodyMapper : Mappers . BastionShareableLinkListResult } , default : { bodyMapper : Mappers . CloudError } } , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . nextLink , Parameters . bastionHostName ] , headerParameters : [ Parameters . accept , Parameters . contentType ] , mediaType : "json" , serializer } ; const getActiveSessionsNextOperationSpec = { path : "{nextLink}" , httpMethod : "GET" , responses : { 200 : { bodyMapper : Mappers . BastionActiveSessionListResult } , 202 : { } , default : { bodyMapper : Mappers . CloudError } } , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . nextLink , Parameters . bastionHostName ] , headerParameters : [ Parameters . accept ] , serializer } ; const disconnectActiveSessionsNextOperationSpec = { path : "{nextLink}" , httpMethod : "GET" , responses : { 200 : { bodyMapper : Mappers . BastionSessionDeleteResult } , default : { bodyMapper : Mappers . CloudError } } , queryParameters : [ Parameters . apiVersion ] , urlParameters : [ Parameters . $host , Parameters . resourceGroupName , Parameters . subscriptionId , Parameters . nextLink , Parameters . bastionHostName ] , headerParameters : [ Parameters . accept , Parameters . contentType ] , mediaType : "json" , serializer } ;