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

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

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}
@desc Gets the specified virtual network by resource group.
@required {virtualNetworkName: any # The name of the virtual network.}
@optional {$expand: any # Expands referenced resources.}
@returns(200) Request successful. The operation returns the resulting VirtualNetwork resource.

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

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

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks
@desc Gets all virtual networks in a subscription.
@returns(200) Request successful. The operation returns a list of VirtualNetwork resources.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks
@desc Gets all virtual networks in a resource group.
@returns(200) Request successful. The operation returns a list of VirtualNetwork resources.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
@desc Deletes the specified subnet.
@required {virtualNetworkName: any # The name of the virtual network., subnetName: any # The name of the subnet.}
@returns(200) Delete successful.
@returns(202) Accepted and the operation will complete asynchronously.
@returns(204) Request successful. Resource does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
@desc Gets the specified subnet by virtual network and resource group.
@required {virtualNetworkName: any # The name of the virtual network., subnetName: any # The name of the subnet.}
@optional {$expand: any # Expands referenced resources.}
@returns(200) Request successful. The operation returns the resulting Subnet resource.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
@desc Creates or updates a subnet in the specified virtual network.
@required {virtualNetworkName: any # The name of the virtual network., subnetName: any # The name of the subnet., subnetParameters: any # Parameters supplied to the create or update subnet operation.}
@returns(200) Update successful. The operation returns the resulting Subnet resource.
@returns(201) Create successful. The operation returns the resulting Subnet resource.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies
@desc Prepares a subnet by applying network intent policies.
@required {virtualNetworkName: any # The name of the virtual network., subnetName: any # The name of the subnet., prepareNetworkPoliciesRequestParameters: any # Parameters supplied to prepare subnet by applying network intent policies.}
@returns(200) Preparing subnet by applying network intent policies is successful.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies
@desc Unprepares a subnet by removing network intent policies.
@required {virtualNetworkName: any # The name of the virtual network., subnetName: any # The name of the subnet., unprepareNetworkPoliciesRequestParameters: any # Parameters supplied to unprepare subnet to remove network intent policies.}
@returns(200) Unpreparing subnet by removing network intent policies is successful.
@returns(202) Accepted and the operation will complete asynchronously.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks
@desc Gets a list of resource navigation links for a subnet.
@required {virtualNetworkName: any # The name of the virtual network., subnetName: any # The name of the subnet.}
@returns(200) Request successful. The operation returns a list of resource navigation links for the subnet.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks
@desc Gets a list of service association links for a subnet.
@required {virtualNetworkName: any # The name of the virtual network., subnetName: any # The name of the subnet.}
@returns(200) Request successful. The operation returns a list of service association links for the subnet.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets
@desc Gets all subnets in a virtual network.
@required {virtualNetworkName: any # The name of the virtual network.}
@returns(200) Request successful. The operation returns a list of Subnet resources.

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

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}
@desc Gets the specified virtual network peering.
@required {virtualNetworkName: any # The name of the virtual network., virtualNetworkPeeringName: any # The name of the virtual network peering.}
@returns(200) Request successful. The operation returns the resulting VirtualNetworkPeering resource.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}
@desc Creates or updates a peering in the specified virtual network.
@required {virtualNetworkName: any # The name of the virtual network., virtualNetworkPeeringName: any # The name of the peering., VirtualNetworkPeeringParameters: any # Parameters supplied to the create or update virtual network peering operation.}
@returns(200) Update successful. The operation returns the resulting VirtualNetworkPeering resource.
@returns(201) Create successful. The operation returns the resulting VirtualNetworkPeering resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings
@desc Gets all virtual network peerings in a virtual network.
@required {virtualNetworkName: any # The name of the virtual network.}
@returns(200) Request successful. The operation returns a list of VirtualNetworkPeering resources.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability
@desc Checks whether a private IP address is available for use.
@required {virtualNetworkName: any # The name of the virtual network., ipAddress: any # The private IP address to be verified.}
@returns(200) Private IP address availability and list of other free addresses if the requested one is not available.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages
@desc Lists usage stats.
@required {virtualNetworkName: any # The name of the virtual network.}
@returns(200) Usage stats for vnet.

@end
