diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForConnection.json new file mode 100644 index 000000000000..b279686ffaec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForConnection.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2020-05-01", + "effectiveRoutesParameters": { + "resourceId": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "virtualWanResourceType": "ExpressRouteConnection" + } + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForRouteTable.json new file mode 100644 index 000000000000..2ba6b6e83e6b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForRouteTable.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2020-05-01", + "effectiveRoutesParameters": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "virtualWanResourceType": "RouteTable" + } + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForVirtualHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForVirtualHub.json new file mode 100644 index 000000000000..4b9d8a96389e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForVirtualHub.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2020-05-01", + "effectiveRoutesParameters": null + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubGet.json index dadeefac2095..45eefcbebf60 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubGet.json @@ -22,6 +22,7 @@ "virtualHubRouteTableV2s": [], "addressPrefix": "10.10.1.0/24", "sku": "Basic", + "routingState": "Provisioned", "virtualRouterAsn": 65515, "virtualRouterIps": [ "10.10.1.12", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubList.json index 486119dc5a21..50c36f8fc344 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubList.json @@ -108,6 +108,7 @@ ], "addressPrefix": "10.10.1.0/24", "sku": "Basic", + "routingState": "Provisioned", "virtualRouterAsn": 65515, "virtualRouterIps": [ "10.10.1.12", @@ -216,6 +217,7 @@ ], "addressPrefix": "210.10.1.0/24", "sku": "Basic", + "routingState": "Provisioned", "virtualRouterAsn": 65515, "virtualRouterIps": [ "10.10.1.12", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubListByResourceGroup.json index 715123f63955..2d0b658c343c 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubListByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubListByResourceGroup.json @@ -109,6 +109,7 @@ ], "addressPrefix": "10.10.1.0/24", "sku": "Basic", + "routingState": "Provisioned", "virtualRouterAsn": 65515, "virtualRouterIps": [ "10.10.1.12", @@ -217,6 +218,7 @@ ], "addressPrefix": "210.10.1.0/24", "sku": "Basic", + "routingState": "Provisioned", "virtualRouterAsn": 65515, "virtualRouterIps": [ "10.10.1.12", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubPut.json index dd3247a1b526..b7673f7c47df 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubPut.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubPut.json @@ -35,6 +35,7 @@ "virtualHubRouteTableV2s": [], "addressPrefix": "10.168.0.0/24", "sku": "Basic", + "routingState": "Provisioned", "virtualRouterAsn": 65515, "virtualRouterIps": [ "10.10.1.12", @@ -59,6 +60,7 @@ "virtualHubRouteTableV2s": [], "addressPrefix": "10.168.0.0/24", "sku": "Basic", + "routingState": "Provisioned", "virtualRouterAsn": 65515, "virtualRouterIps": [ "10.10.1.12", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json index d98213584ae4..5146f9a47c32 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json @@ -4350,6 +4350,72 @@ "nextLinkName": "nextLink" } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/effectiveRoutes": { + "post": { + "operationId": "VirtualHubs_GetEffectiveVirtualHubRoutes", + "x-ms-examples": { + "Effective Routes for the Virtual Hub": { + "$ref": "./examples/EffectiveRoutesListForVirtualHub.json" + }, + "Effective Routes for a Route Table resource": { + "$ref": "./examples/EffectiveRoutesListForRouteTable.json" + }, + "Effective Routes for a Connection resource": { + "$ref": "./examples/EffectiveRoutesListForConnection.json" + } + }, + "description": "Gets the effective routes configured for the Virtual Hub resource or the specified resource .", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "effectiveRoutesParameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/EffectiveRoutesParameters" + }, + "description": "Parameters supplied to get the effective routes for a specific resource." + } + ], + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } } }, "definitions": { @@ -4673,6 +4739,10 @@ "type": "string", "description": "The sku of this VirtualHub." }, + "routingState": { + "$ref": "#/definitions/RoutingState", + "description": "The routing state." + }, "bgpConnections": { "type": "array", "readOnly": true, @@ -4708,6 +4778,21 @@ }, "description": "Parameters for VirtualHub." }, + "RoutingState": { + "type": "string", + "description": "The current routing state of the VirtualHub.", + "readOnly": true, + "enum": [ + "None", + "Provisioned", + "Provisioning", + "Failed" + ], + "x-ms-enum": { + "name": "RoutingState", + "modelAsString": true + } + }, "BgpConnection": { "properties": { "properties": { @@ -6378,6 +6463,62 @@ "description": "The ip address of the next hop." } } + }, + "VirtualHubEffectiveRouteEffectiveRouteList": { + "description": "EffectiveRoutes List.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubEffectiveRoute" + }, + "description": "The list of effective routes configured on the virtual hub or the specified resource." + } + } + }, + "VirtualHubEffectiveRoute": { + "description": "The effective route configured on the virtual hub or specified resource.", + "properties": { + "addressPrefixes": { + "description": "The list of address prefixes.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHops": { + "description": "The list of next hops.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHopType": { + "description": "The type of the next hop.", + "type": "string" + }, + "asPath": { + "description": "The ASPath of this route.", + "type": "string" + }, + "routeOrigin": { + "description": "The origin of this route.", + "type": "string" + } + } + }, + "EffectiveRoutesParameters": { + "description": "The parameters specifying the resource whose effective routes are being requested.", + "properties": { + "resourceId": { + "$ref": "./network.json#/definitions/Resource", + "description": "The resource whose effective routes are being requested." + }, + "virtualWanResourceType": { + "type": "string", + "description": "The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection." + } + } } } }