@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api VirtualWANAsAServiceManagementClient
@base https://management.azure.com
@version 2019-07-01
@auth OAuth2
@endpoints 49
@hint download_for_search
@toc subscriptions(49)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}
@desc Retrieves the details of a VirtualWAN.
@required {resourceGroupName: any # The resource group name of the VirtualWan., VirtualWANName: any # The name of the VirtualWAN being retrieved.}
@returns(200) Request successful. Returns the details of the VirtualWAN retrieved.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}
@desc Creates a VirtualWAN resource if it doesn't exist else updates the existing VirtualWAN.
@required {resourceGroupName: any # The resource group name of the VirtualWan., VirtualWANName: any # The name of the VirtualWAN being created or updated., WANParameters: any # Parameters supplied to create or update VirtualWAN.}
@returns(200) Request successful. Returns the details of the VirtualWAN created or updated.
@returns(201) Create successful. The operation returns the resulting VirtualWAN resource.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}
@desc Updates a VirtualWAN tags.
@required {resourceGroupName: any # The resource group name of the VirtualWan., VirtualWANName: any # The name of the VirtualWAN being updated., WANParameters: any # Parameters supplied to Update VirtualWAN tags.}
@returns(200) Request successful. Returns the details of the VirtualWAN updated.
@returns(201) Request received successfully. Returns the details of the VirtualWAN updated.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}
@desc Deletes a VirtualWAN.
@required {resourceGroupName: any # The resource group name of the VirtualWan., VirtualWANName: any # The name of the VirtualWAN being deleted.}
@returns(200) Request successful. VirtualWAN deleted.
@returns(202) Request received successfully. VirtualWAN deletion is in progress; follow the Location header to poll for final outcome.
@returns(204) No VirtualWANs exist by the name provided.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans
@desc Lists all the VirtualWANs in a resource group.
@required {resourceGroupName: any # The resource group name of the VirtualWan.}
@returns(200) Request successful. Returns the details of all the VirtualWANs in the resource group.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans
@desc Lists all the VirtualWANs in a subscription.
@returns(200) Request successful. Returns the details of all the VirtualWANs in the subscription.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}
@desc Retrieves the details of a VPN site.
@required {resourceGroupName: any # The resource group name of the VpnSite., vpnSiteName: any # The name of the VpnSite being retrieved.}
@returns(200) Request successful. Returns the details of the VpnSite retrieved.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}
@desc Creates a VpnSite resource if it doesn't exist else updates the existing VpnSite.
@required {resourceGroupName: any # The resource group name of the VpnSite., vpnSiteName: any # The name of the VpnSite being created or updated., VpnSiteParameters: any # Parameters supplied to create or update VpnSite.}
@returns(200) Request successful. Returns the details of the VpnSite created or updated.
@returns(201) Request received successfully. Returns the details of the VpnSite created or updated.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}
@desc Updates VpnSite tags.
@required {resourceGroupName: any # The resource group name of the VpnSite., vpnSiteName: any # The name of the VpnSite being updated., VpnSiteParameters: any # Parameters supplied to update VpnSite tags.}
@returns(200) Request successful. Returns the details of the VpnSite updated.
@returns(201) Request received successfully. Returns the details of the VpnSite updated.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}
@desc Deletes a VpnSite.
@required {resourceGroupName: any # The resource group name of the VpnSite., vpnSiteName: any # The name of the VpnSite being deleted.}
@returns(200) Request successful. VpnSite deleted.
@returns(202) Request received successfully. VpnSite deletion is in progress.
@returns(204) No VpnSites exist by the name provided.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites
@desc Lists all the vpnSites in a resource group.
@required {resourceGroupName: any # The resource group name of the VpnSite.}
@returns(200) Request successful. Returns the details of all the vpnSites in the resource group.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}
@desc Retrieves the details of a VPN site link.
@required {resourceGroupName: any # The resource group name of the VpnSite., vpnSiteName: any # The name of the VpnSite., vpnSiteLinkName: any # The name of the VpnSiteLink being retrieved.}
@returns(200) Request successful. Returns the details of the VpnSiteLink retrieved.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks
@desc Lists all the vpnSiteLinks in a resource group for a vpn site.
@required {resourceGroupName: any # The resource group name of the VpnSite., vpnSiteName: any # The name of the VpnSite.}
@returns(200) Request successful. Returns the details of all the vpnSites in the resource group.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites
@desc Lists all the VpnSites in a subscription.
@returns(200) Request successful. Returns the details of all the VpnSites in the subscription.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration
@desc Gives the sas-url to download the configurations for vpn-sites in a resource group.
@required {resourceGroupName: any # The resource group name., virtualWANName: any # The name of the VirtualWAN for which configuration of all vpn-sites is needed., request: any # Parameters supplied to download vpn-sites configuration.}
@returns(200) Request successful. Follow the location header for sas-url to output blob.
@returns(202) Accepted and the operation will complete asynchronously. Follow the location header for sas-url to output blob.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders
@desc Gives the supported security providers for the virtual wan.
@required {resourceGroupName: any # The resource group name., virtualWANName: any # The name of the VirtualWAN for which supported security providers are needed.}
@returns(200) Request successful. Returns the object containing supported security providers.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}
@desc Retrieves the details of a VirtualHub.
@required {resourceGroupName: any # The resource group name of the VirtualHub., virtualHubName: any # The name of the VirtualHub.}
@returns(200) Request successful. Returns the details of the VirtualHub retrieved.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}
@desc Creates a VirtualHub resource if it doesn't exist else updates the existing VirtualHub.
@required {resourceGroupName: any # The resource group name of the VirtualHub., virtualHubName: any # The name of the VirtualHub., virtualHubParameters: any # Parameters supplied to create or update VirtualHub.}
@returns(200) Request successful. Returns the details of the VirtualHub created or updated.
@returns(201) Request received successfully. Returns the details of the VirtualHub created or updated.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}
@desc Updates VirtualHub tags.
@required {resourceGroupName: any # The resource group name of the VirtualHub., virtualHubName: any # The name of the VirtualHub., virtualHubParameters: any # Parameters supplied to update VirtualHub tags.}
@returns(200) Request successful. Returns the details of the VirtualHub updated.
@returns(201) Request received successfully. Returns the details of the VirtualHub updated.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}
@desc Deletes a VirtualHub.
@required {resourceGroupName: any # The resource group name of the VirtualHub., virtualHubName: any # The name of the VirtualHub.}
@returns(200) Request successful. VirtualHub deleted.
@returns(202) Request received successfully. VirtualHub deletion is in progress; follow the Location header to poll for final outcome.
@returns(204) No VirtualHubs exist by the name provided.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs
@desc Lists all the VirtualHubs in a resource group.
@required {resourceGroupName: any # The resource group name of the VirtualHub.}
@returns(200) Request successful. Returns the details of all the VirtualHubs in the resource group.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs
@desc Lists all the VirtualHubs in a subscription.
@returns(200) Request successful. Returns the details of all the VirtualHubs in the subscription.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}
@desc Retrieves the details of a HubVirtualNetworkConnection.
@required {resourceGroupName: any # The resource group name of the VirtualHub., virtualHubName: any # The name of the VirtualHub., connectionName: any # The name of the vpn connection.}
@returns(200) Request successful. Returns the details of the HubVirtualNetworkConnection retrieved.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections
@desc Retrieves the details of all HubVirtualNetworkConnections.
@required {resourceGroupName: any # The resource group name of the VirtualHub., virtualHubName: any # The name of the VirtualHub.}
@returns(200) Request successful. Returns the details of all the HubVirtualNetworkConnections for the VirtualHub.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}
@desc Retrieves the details of a virtual wan vpn gateway.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway.}
@returns(200) Request successful. Returns the details of the virtual wan vpn gateway retrieved.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}
@desc Creates a virtual wan vpn gateway if it doesn't exist else updates the existing gateway.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway., vpnGatewayParameters: any # Parameters supplied to create or Update a virtual wan vpn gateway.}
@returns(200) Request successful. Returns the details of the virtual wan vpn Gateway created or updated.
@returns(201) Request successful. Returns the details of the virtual wan vpn gateway retrieved.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}
@desc Updates virtual wan vpn gateway tags.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway., vpnGatewayParameters: any # Parameters supplied to update a virtual wan vpn gateway tags.}
@returns(200) Request successful. Returns the details of the updated gateway.
@returns(201) Request received successfully. Returns the details of the updated gateway.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}
@desc Deletes a virtual wan vpn gateway.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway.}
@returns(200) Request successful. Vpn Gateway deleted.
@returns(202) Request received successfully. Vpn Gateway deletion is in progress; follow the Location header to poll for final outcome.
@returns(204) No vpn gateways exist by the name provided.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset
@desc Resets the primary of the vpn gateway in the specified resource group.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway.}
@returns(200) Request successful. The operation reset the primary of the VpnGateway.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways
@desc Lists all the VpnGateways in a resource group.
@required {resourceGroupName: any # The resource group name of the VpnGateway.}
@returns(200) Request successful. Returns the details of all the VpnGateways in the resource group.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways
@desc Lists all the VpnGateways in a subscription.
@returns(200) Request successful. Returns the details of all the VpnGateways in the subscription.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}
@desc Retrieves the details of a vpn connection.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway., connectionName: any # The name of the vpn connection.}
@returns(200) Request successful. Returns the details of the vpn connection.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}
@desc Creates a vpn connection to a scalable vpn gateway if it doesn't exist else updates the existing connection.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway., connectionName: any # The name of the connection., VpnConnectionParameters: any # Parameters supplied to create or Update a VPN Connection.}
@returns(200) Request successful. Returns the details of the vpn connection created or updated.
@returns(201) Request successful. Returns the details of the vpn connection created or updated.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}
@desc Deletes a vpn connection.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway., connectionName: any # The name of the connection.}
@returns(200) Request successful. Vpn Connection deleted.
@returns(202) Request received successfully. Vpn Connection deletion is in progress; follow the Location header to poll for final outcome.
@returns(204) No vpn connections exist by the name provided.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}
@desc Retrieves the details of a vpn site link connection.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway., connectionName: any # The name of the vpn connection., linkConnectionName: any # The name of the vpn connection.}
@returns(200) Request successful. Returns the details of the vpn connection.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections
@desc Retrieves all vpn connections for a particular virtual wan vpn gateway.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway.}
@returns(200) Request successful. Returns all Vpn connections for a virtual wan vpn gateway.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections
@desc Retrieves all vpn site link connections for a particular virtual wan vpn gateway vpn connection.
@required {resourceGroupName: any # The resource group name of the VpnGateway., gatewayName: any # The name of the gateway., connectionName: any # The name of the vpn connection.}
@returns(200) Request successful. Returns all Vpn connections for a virtual wan vpn gateway.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}
@desc Retrieves the details of a P2SVpnServerConfiguration.
@required {resourceGroupName: any # The resource group name of the P2SVpnServerConfiguration., virtualWanName: any # The name of the VirtualWan., p2SVpnServerConfigurationName: any # The name of the P2SVpnServerConfiguration.}
@returns(200) Request successful. Returns the details of the P2SVpnServerConfiguration.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}
@desc Creates a P2SVpnServerConfiguration to associate with a VirtualWan if it doesn't exist else updates the existing P2SVpnServerConfiguration.
@required {resourceGroupName: any # The resource group name of the VirtualWan., virtualWanName: any # The name of the VirtualWan., p2SVpnServerConfigurationName: any # The name of the P2SVpnServerConfiguration., p2SVpnServerConfigurationParameters: any # Parameters supplied to create or Update a P2SVpnServerConfiguration.}
@returns(200) Request successful. Returns the details of the P2SVpnServerConfiguration created or updated.
@returns(201) Request successful. Returns the details of the P2SVpnServerConfiguration created or updated.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}
@desc Deletes a P2SVpnServerConfiguration.
@required {resourceGroupName: any # The resource group name of the P2SVpnServerConfiguration., virtualWanName: any # The name of the VirtualWan., p2SVpnServerConfigurationName: any # The name of the P2SVpnServerConfiguration.}
@returns(200) Request successful. P2SVpnServerConfiguration deleted.
@returns(202) Request received successfully. P2SVpnServerConfiguration deletion is in progress; follow the Location header to poll for final outcome.
@returns(204) No P2SVpnServerConfigurations exist by the name provided.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations
@desc Retrieves all P2SVpnServerConfigurations for a particular VirtualWan.
@required {resourceGroupName: any # The resource group name of the VirtualWan., virtualWanName: any # The name of the VirtualWan.}
@returns(200) Request successful. Returns all P2SVpnServerConfigurations for a VirtualWan.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}
@desc Retrieves the details of a virtual wan p2s vpn gateway.
@required {resourceGroupName: any # The resource group name of the P2SVpnGateway., gatewayName: any # The name of the gateway.}
@returns(200) Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}
@desc Creates a virtual wan p2s vpn gateway if it doesn't exist else updates the existing gateway.
@required {resourceGroupName: any # The resource group name of the P2SVpnGateway., gatewayName: any # The name of the gateway., p2SVpnGatewayParameters: any # Parameters supplied to create or Update a virtual wan p2s vpn gateway.}
@returns(200) Request successful. Returns the details of the virtual wan p2s vpn Gateway created or updated.
@returns(201) Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}
@desc Updates virtual wan p2s vpn gateway tags.
@required {resourceGroupName: any # The resource group name of the P2SVpnGateway., gatewayName: any # The name of the gateway., p2SVpnGatewayParameters: any # Parameters supplied to update a virtual wan p2s vpn gateway tags.}
@returns(200) Request successful. Returns the details of the updated gateway.
@returns(201) Request received successfully. Returns the details of the updated gateway.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}
@desc Deletes a virtual wan p2s vpn gateway.
@required {resourceGroupName: any # The resource group name of the P2SVpnGateway., gatewayName: any # The name of the gateway.}
@returns(200) Request successful. P2SVpnGateway deleted.
@returns(202) Request received successfully. P2SVpnGateway deletion is in progress; follow the Location header to poll for final outcome.
@returns(204) No p2s vpn gateways exist by the name provided.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways
@desc Lists all the P2SVpnGateways in a resource group.
@required {resourceGroupName: any # The resource group name of the P2SVpnGateway.}
@returns(200) Request successful. Returns the details of all the P2SVpnGateways in the resource group.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways
@desc Lists all the P2SVpnGateways in a subscription.
@returns(200) Request successful. Returns the details of all the P2SVpnGateways in the subscription.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile
@desc Generates VPN profile for P2S client of the P2SVpnGateway in the specified resource group.
@required {resourceGroupName: any # The name of the resource group., gatewayName: any # The name of the P2SVpnGateway., parameters: any # Parameters supplied to the generate P2SVpnGateway 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/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth
@desc Gets the connection health of P2S clients of the virtual wan P2SVpnGateway in the specified resource group.
@required {resourceGroupName: any # The name of the resource group., gatewayName: any # The name of the P2SVpnGateway.}
@returns(200) P2S Vpn Gateway with P2S connection health details.
@returns(202) Accepted and the operation will complete asynchronously.

@end
