@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api NetworkManagementClient
@base https://management.azure.com
@version 2019-07-01
@auth OAuth2
@common_fields {resourceGroupName: any # The name of the resource group.}
@endpoints 36
@hint download_for_search
@toc subscriptions(36)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}
@desc Creates or updates a virtual network gateway in the specified resource group.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway., parameters: any # Parameters supplied to create or update virtual network gateway operation.}
@returns(200) Update successful. The operation returns the resulting VirtualNetworkGateway resource.
@returns(201) Create successful. The operation returns the resulting VirtualNetworkGateway resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}
@desc Gets the specified virtual network gateway by resource group.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@returns(200) Request successful. The operation returns a VirtualNetworkGateway resource.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}
@desc Deletes the specified virtual network gateway.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@returns(200) Delete successful.
@returns(202) Accepted and the operation will complete asynchronously.
@returns(204) Delete successful.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}
@desc Updates a virtual network gateway tags.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway., parameters: any # Parameters supplied to update virtual network gateway tags.}
@returns(200) Update successful. The operation returns the resulting VirtualNetworkGateway resource.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways
@desc Gets all virtual network gateways by resource group.
@returns(200) Request successful. The operation returns a list of VirtualNetworkGateway resources.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections
@desc Gets all the connections in a virtual network gateway.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@returns(200) Request successful. The operation returns a list of VirtualNetworkGatewayConnection resource.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset
@desc Resets the primary of the virtual network gateway in the specified resource group.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@optional {gatewayVip: any # Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway.}
@returns(200) Request successful. The operation reset the primary of the virtual network gateway.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey
@desc Resets the VPN client shared key of the virtual network gateway in the specified resource group.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@returns(200) Request successful. The operation reset the vpn client shared key of the virtual network gateway.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage
@desc Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway., parameters: any # Parameters supplied to the generate virtual network gateway VPN client package operation.}
@returns(200) VPN client package URL.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile
@desc Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway., parameters: any # Parameters supplied to the generate virtual network gateway VPN client package operation.}
@returns(200) VPN profile package URL.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl
@desc Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@returns(200) VPN profile package URL.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus
@desc The GetBgpPeerStatus operation retrieves the status of all BGP peers.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@optional {peer: any # The IP address of the peer to retrieve the status of.}
@returns(200) List of BGP peer statuses.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices
@desc Gets a xml format representation for supported vpn devices.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@returns(200) Xml format representation for supported vpn devices.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes
@desc This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@returns(200) List of advertised BGP routes.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes
@desc This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway., peer: any # The IP address of the peer.}
@returns(200) List of learned BGP routes.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters
@desc The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway., vpnclientIpsecParams: any # Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider.}
@returns(200) Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters
@desc The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.
@required {virtualNetworkGatewayName: any # The virtual network gateway name.}
@returns(200) Request successful. The operation returns the set vpnclient ipsec parameters for P2S client of VirtualNetworkGateway resource.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript
@desc Gets a xml format representation for vpn device configuration script.
@required {virtualNetworkGatewayConnectionName: any # The name of the virtual network gateway connection for which the configuration script is generated., parameters: any # Parameters supplied to the generate vpn device script operation.}
@returns(200) Xml format representation for vpn device configuration script.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture
@desc Starts packet capture on virtual network gateway in the specified resource group.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@optional {parameters: any # Virtual network gateway packet capture parameters supplied to start packet capture on gateway.}
@returns(200) Request successful. The operation packet capture started on virtual network gateway.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture
@desc Stops packet capture on virtual network gateway in the specified resource group.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway., parameters: any # Virtual network gateway packet capture parameters supplied to stop packet capture on gateway.}
@returns(200) Request successful. The operation packet capture stopped on virtual network gateway.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}
@desc Creates or updates a virtual network gateway connection in the specified resource group.
@required {virtualNetworkGatewayConnectionName: any # The name of the virtual network gateway connection., parameters: any # Parameters supplied to the create or update virtual network gateway connection operation.}
@returns(200) Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.
@returns(201) Create successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}
@desc Gets the specified virtual network gateway connection by resource group.
@required {virtualNetworkGatewayConnectionName: any # The name of the virtual network gateway connection.}
@returns(200) Request successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}
@desc Deletes the specified virtual network Gateway connection.
@required {virtualNetworkGatewayConnectionName: any # The name of the virtual network gateway connection.}
@returns(200) Delete successful.
@returns(202) Accepted and the operation will complete asynchronously.
@returns(204) Delete successful.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}
@desc Updates a virtual network gateway connection tags.
@required {virtualNetworkGatewayConnectionName: any # The name of the virtual network gateway connection., parameters: any # Parameters supplied to update virtual network gateway connection tags.}
@returns(200) Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey
@desc The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.
@required {virtualNetworkGatewayConnectionName: any # The virtual network gateway connection name., parameters: any # Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork resource provider.}
@returns(200) Request successful. The operation returns the resulting ConnectionSharedKey resource.
@returns(201) Request successful. The operation returns the resulting ConnectionSharedKey resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey
@desc The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual network gateway connection shared key through Network resource provider.
@required {virtualNetworkGatewayConnectionName: any # The virtual network gateway connection shared key name.}
@returns(200) Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections
@desc The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections created.
@returns(200) Request successful. The operation resets the virtual network gateway connection shared key.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset
@desc The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.
@required {virtualNetworkGatewayConnectionName: any # The virtual network gateway connection reset shared key Name., parameters: any # Parameters supplied to the begin reset virtual network gateway connection shared key operation through network resource provider.}
@returns(200) Request successful. The operation sets the virtual network gateway connection shared key.
@returns(202) Request successful. The operation sets the virtual network gateway connection shared key.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture
@desc Starts packet capture on virtual network gateway connection in the specified resource group.
@required {virtualNetworkGatewayConnectionName: any # The name of the virtual network gateway connection.}
@optional {parameters: any # Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection.}
@returns(200) Request successful. The operation packet capture started on virtual network gateway connection.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture
@desc Stops packet capture on virtual network gateway connection in the specified resource group.
@required {virtualNetworkGatewayConnectionName: any # The name of the virtual network gateway Connection., parameters: any # Virtual network gateway packet capture parameters supplied to stop packet capture on gateway connection.}
@returns(200) Request successful. The operation packet capture stopped on virtual network gateway connection.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}
@desc Creates or updates a local network gateway in the specified resource group.
@required {localNetworkGatewayName: any # The name of the local network gateway., parameters: any # Parameters supplied to the create or update local network gateway operation.}
@returns(200) Update successful. The operation returns the resulting LocalNetworkGateway resource.
@returns(201) Create successful. The operation returns the resulting LocalNetworkGateway resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}
@desc Gets the specified local network gateway in a resource group.
@required {localNetworkGatewayName: any # The name of the local network gateway.}
@returns(200) Request successful. The operation returns the resulting LocalNetworkGateway resource.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}
@desc Deletes the specified local network gateway.
@required {localNetworkGatewayName: any # The name of the local network gateway.}
@returns(200) Delete successful.
@returns(202) Accepted and the operation will complete asynchronously.
@returns(204) Delete successful.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}
@desc Updates a local network gateway tags.
@required {localNetworkGatewayName: any # The name of the local network gateway., parameters: any # Parameters supplied to update local network gateway tags.}
@returns(200) Update successful. The operation returns the resulting LocalNetworkGateway resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways
@desc Gets all the local network gateways in a resource group.
@returns(200) Request successful. The operation returns a list of LocalNetworkGateway resources.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth
@desc Get VPN client connection health detail per P2S client connection of the virtual network gateway in the specified resource group.
@required {virtualNetworkGatewayName: any # The name of the virtual network gateway.}
@returns(200) List of VPN client connection health details.
@returns(202) Accepted and the operation will complete asynchronously.

@end
