@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
@endpoints 9
@toc subscriptions(9)

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways
@desc Lists ExpressRoute gateways under a given subscription.
@returns(200) Request successful.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways
@desc Lists ExpressRoute gateways in a given resource group.
@required {resourceGroupName: any # The name of the resource group.}
@returns(200) Operation successful.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}
@desc Creates or updates a ExpressRoute gateway in a specified resource group.
@required {resourceGroupName: any # The name of the resource group., expressRouteGatewayName: any # The name of the ExpressRoute gateway., putExpressRouteGatewayParameters: any # Parameters required in an ExpressRoute gateway PUT operation.}
@returns(200) Update successful. The operation returns the resulting ExpressRoute gateway resource.
@returns(201) Create successful. The operation returns the resulting ExpressRoute gateway resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}
@desc Fetches the details of a ExpressRoute gateway in a resource group.
@required {resourceGroupName: any # The name of the resource group., expressRouteGatewayName: any # The name of the ExpressRoute gateway.}
@returns(200) Operation succeeded. The operation returns the ExpressRoute gateway.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}
@desc Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be deleted when there are no connection subresources.
@required {resourceGroupName: any # The name of the resource group., expressRouteGatewayName: any # The name of the ExpressRoute gateway.}
@returns(200) Delete successful.
@returns(202) Accepted and the operation will complete asynchronously.
@returns(204) Delete successful.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}
@desc Creates a connection between an ExpressRoute gateway and an ExpressRoute circuit.
@required {resourceGroupName: any # The name of the resource group., expressRouteGatewayName: any # The name of the ExpressRoute gateway., connectionName: any # The name of the connection subresource., putExpressRouteConnectionParameters: any # Parameters required in an ExpressRouteConnection PUT operation.}
@returns(200) Update successful. The operation returns the ExpressRouteConnection.
@returns(201) Create successful. The operation returns the ExpressRouteConnection.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}
@desc Gets the specified ExpressRouteConnection.
@required {resourceGroupName: any # The name of the resource group., expressRouteGatewayName: any # The name of the ExpressRoute gateway., connectionName: any # The name of the ExpressRoute connection.}
@returns(200) Request successful. The operation returns the ExpressRouteConnection.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}
@desc Deletes a connection to a ExpressRoute circuit.
@required {resourceGroupName: any # The name of the resource group., expressRouteGatewayName: any # The name of the ExpressRoute gateway., connectionName: any # The name of the connection subresource.}
@returns(200) Delete successful.
@returns(202) Accepted, and the operation will continue asynchronously.
@returns(204) Delete successful.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections
@desc Lists ExpressRouteConnections.
@required {resourceGroupName: any # The name of the resource group., expressRouteGatewayName: any # The name of the ExpressRoute gateway.}
@returns(200) Request successful.

@end
