From 1494051af18127f7893c29f260e91d46c33830f8 Mon Sep 17 00:00:00 2001 From: naveenchekuri Date: Wed, 4 Sep 2019 18:23:54 -0700 Subject: [PATCH] Add VirtualRouter top level resource Identity under Microsoft.Network/ExpressRoutePort and MacSecConfig under Microsoft.Network/ExpressRouteLink (#7005) --- .../examples/VirtualRouterDelete.json | 13 + .../2019-07-01/examples/VirtualRouterGet.json | 38 + .../VirtualRouterListByResourceGroup.json | 41 + .../VirtualRouterListBySubscription.json | 40 + .../examples/VirtualRouterPeeringDelete.json | 14 + .../examples/VirtualRouterPeeringGet.json | 23 + .../examples/VirtualRouterPeeringList.json | 26 + .../examples/VirtualRouterPeeringPut.json | 41 + .../examples/VirtualRouterPeeringUpdate.json | 29 + .../2019-07-01/examples/VirtualRouterPut.json | 77 ++ .../examples/VirtualRouterUpdateTags.json | 32 + .../stable/2019-07-01/expressRoutePort.json | 36 +- .../stable/2019-07-01/virtualRouter.json | 819 ++++++++++++++++++ .../network/resource-manager/readme.md | 4 + 14 files changed, 1232 insertions(+), 1 deletion(-) create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterDelete.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListByResourceGroup.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListBySubscription.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringDelete.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringList.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringPut.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringUpdate.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPut.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterUpdateTags.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualRouter.json diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterDelete.json new file mode 100644 index 000000000000..c11d0c1d942b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterGet.json new file mode 100644 index 000000000000..306dc58d2116 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListByResourceGroup.json new file mode 100644 index 000000000000..0cb8386b4929 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListByResourceGroup.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListBySubscription.json new file mode 100644 index 000000000000..89fa25f79981 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterListBySubscription.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringDelete.json new file mode 100644 index 000000000000..31cdd5966f23 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringGet.json new file mode 100644 index 000000000000..286940e76d97 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringList.json new file mode 100644 index 000000000000..4bda7dd8cdd1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringPut.json new file mode 100644 index 000000000000..f02f60c85c9f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringPut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter", + "parameters": { + "properties": { + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + }, + "responses": { + "200": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + }, + "201": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringUpdate.json new file mode 100644 index 000000000000..e4c1a06afcfe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPeeringUpdate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter", + "peeringName": "peering1", + "parameters": { + "properties": { + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + }, + "responses": { + "200": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPut.json new file mode 100644 index 000000000000..48f360a78a16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterPut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + }, + "201": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterUpdateTags.json new file mode 100644 index 000000000000..800a14a857c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/VirtualRouterUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2019-07-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter", + "parameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRoutePort.json index 66dac858fad0..9f293c47a043 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRoutePort.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/expressRoutePort.json @@ -563,6 +563,32 @@ } } }, + "ExpressRouteLinkMacSecConfig": { + "description": "ExpressRouteLink Mac Security Configuration.", + "title": "Definition of ExpressRouteLink Mac Security configuration.", + "properties": { + "cknSecretIdentifier": { + "type": "string", + "description": "Keyvault Secret Identifier URL containing Mac security CKN key." + }, + "cakSecretIdentifier": { + "type": "string", + "description": "Keyvault Secret Identifier URL containing Mac security CAK key." + }, + "cipher": { + "type": "string", + "description": "Mac security cipher.", + "enum": [ + "gcm-aes-128", + "gcm-aes-256" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkMacSecCipher", + "modelAsString": true + } + } + } + }, "ExpressRouteLinkPropertiesFormat": { "title": "ExpressRouteLink Resource Properties", "description": "Properties specific to ExpressRouteLink resources.", @@ -616,6 +642,10 @@ "readOnly": true, "$ref": "./network.json#/definitions/ProvisioningState", "description": "The provisioning state of the express route link resource." + }, + "macSecConfig": { + "$ref": "#/definitions/ExpressRouteLinkMacSecConfig", + "description": "MacSec configuration." } } }, @@ -746,6 +776,10 @@ "readOnly": true, "type": "string", "description": "A unique read-only string that changes whenever the resource is updated." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of ExpressRoutePort, if configured." } }, "allOf": [ @@ -772,4 +806,4 @@ } } } -} +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualRouter.json new file mode 100644 index 000000000000..c0af6a092a82 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualRouter.json @@ -0,0 +1,819 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2019-07-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}": { + "delete": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_Delete", + "description": "Deletes the specified Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist" + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Delete VirtualRouter": { + "$ref": "./examples/VirtualRouterDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_Get", + "description": "Gets the specified Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Virtual Router resource.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get VirtualRouter": { + "$ref": "./examples/VirtualRouterGet.json" + } + } + }, + "patch": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_Update", + "description": "Updates a Virtual Router.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Router." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to Update Virtual Router Tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the Virtual Router updated.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Update VirtualRouter": { + "$ref": "./examples/VirtualRouterUpdateTags.json" + } + } + }, + "put": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_CreateOrUpdate", + "description": "Creates or updates the specified Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualRouter" + }, + "description": "Parameters supplied to the create or update Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting Virtual Router resource.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting Virtual Router resource.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Create VirtualRouter": { + "$ref": "./examples/VirtualRouterPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters": { + "get": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_ListByResourceGroup", + "description": "Lists all Virtual Routers in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Virtual Router resources.", + "schema": { + "$ref": "#/definitions/VirtualRouterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all Virtual Router for a given resource group": { + "$ref": "./examples/VirtualRouterListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters": { + "get": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_List", + "description": "Gets all the Virtual Routers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Virtual Router resources.", + "schema": { + "$ref": "#/definitions/VirtualRouterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all Virtual Routers for a given subscription": { + "$ref": "./examples/VirtualRouterListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}": { + "delete": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_Delete", + "description": "Deletes the specified peering from a Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist" + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Delete VirtualRouterPeering": { + "$ref": "./examples/VirtualRouterPeeringDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_Get", + "description": "Gets the specified Virtual Router Peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router Peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Virtual Router Peering resource.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get Virtual Router Peering": { + "$ref": "./examples/VirtualRouterPeeringGet.json" + } + } + }, + "patch": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_Update", + "description": "Updates a Virtual Router Peering.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Router Peering." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router Peering being updated." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + }, + "description": "Parameters supplied to update Virtual Router Peering operation." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the Virtual Router Peering updated.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Update VirtualRouter Peering": { + "$ref": "./examples/VirtualRouterPeeringUpdate.json" + } + } + }, + "put": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_CreateOrUpdate", + "description": "Creates or updates the specified Virtual Router Peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router Peering." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + }, + "description": "Parameters supplied to the create or update Virtual Router Peering operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting Virtual Router Peering resource.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting Virtual Router Peering resource.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Create Virtual Router Peering": { + "$ref": "./examples/VirtualRouterPeeringPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings": { + "get": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_List", + "description": "Lists all Virtual Router Peerings in a Virtual Router resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Virtual Router Peering resources.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all Virtual Router Peerings for a given Virtual Router": { + "$ref": "./examples/VirtualRouterPeeringList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualRouter": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualRouterPropertiesFormat", + "description": "Properties of the Virtual Router." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VirtualRouter Resource." + }, + "VirtualRouterPropertiesFormat": { + "properties": { + "virtualRouterAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 1, + "maximum": 4294967295, + "description": "VirtualRouter ASN." + }, + "virtualRouterIps": { + "type": "array", + "readOnly": false, + "description": "VirtualRouter IPs", + "items": { + "type": "string" + } + }, + "hostedSubnet": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Subnet on which VirtualRouter is hosted." + }, + "hostedGateway": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Gateway on which VirtualRouter is hosted." + }, + "peerings": { + "type": "array", + "readOnly": true, + "description": "List of references to VirtualRouterPeerings", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Virtual Router definition" + }, + "VirtualRouterPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualRouterPeeringProperties", + "description": "The properties of the Virtual Router Peering." + }, + "name": { + "type": "string", + "description": "Gets name of the peering unique to VirtualRouter. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Gets a unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Peering type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Virtual Router Peering resource" + }, + "VirtualRouterPeeringProperties": { + "properties": { + "peerAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 1, + "maximum": 4294967295, + "description": "Peer ASN." + }, + "peerIp": { + "type": "string", + "readOnly": false, + "description": "Peer IP." + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the rule group." + }, + "VirtualRouterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualRouter" + }, + "description": "List of Virtual Routers." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListVirtualRouters API service call." + }, + "VirtualRouterPeeringListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualRouterPeering" + }, + "description": "List of VirtualRouterPeerings in a VirtualRouter." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListVirtualRouterPeerings API service call." + } + } +} diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 7aa1e32b2870..5b80f9f4e808 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -74,6 +74,7 @@ input-file: - Microsoft.Network/stable/2019-07-01/virtualNetwork.json - Microsoft.Network/stable/2019-07-01/virtualNetworkGateway.json - Microsoft.Network/stable/2019-07-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-07-01/virtualRouter.json - Microsoft.Network/stable/2019-07-01/virtualWan.json - Microsoft.Network/stable/2019-07-01/vmssNetworkInterface.json - Microsoft.Network/stable/2019-07-01/vmssPublicIpAddress.json @@ -1071,6 +1072,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel from: virtualNetworkTap.json reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: virtualRouter.json + reason: name, id and type properties are inherited from the upper level - suppress: RequiredPropertiesMissingInResourceModel from: virtualNetworkGateway.json reason: name, id and type properties are inherited from the upper level