From 59a73c09bfe5b21d046a4a0aa1ad77b76c378350 Mon Sep 17 00:00:00 2001 From: karthik ananthakrishnan Date: Thu, 30 Aug 2018 16:36:56 -0700 Subject: [PATCH] Vtapfinal (#3684) * Swagger Coverage/Completeness- for operation CheckNameAvailability (#3663) * Update service.json * CheckNameAvailability * FIxed Parameter name fixed couple of parameters name * Adds base for updating Microsoft.Network from version stable/2018-07-01 to version 2018-08-01 * Updates readme * Updates API version in new specs and examples * vtap update * VTAP changes * VTAP changes * Adding examples for VTAP resource * Update changes for Examples * Further fixes to examples * Add exception for vtap's RequiredPropertiesMissingInResourceModel in readme --- .../examples/NetworkInterfaceGet.json | 3 +- .../NetworkInterfaceIPConfigurationGet.json | 8 + ...etworkInterfaceTapConfigurationCreate.json | 45 +++ ...etworkInterfaceTapConfigurationDelete.json | 14 + .../NetworkInterfaceTapConfigurationGet.json | 25 ++ .../NetworkInterfaceTapConfigurationList.json | 27 ++ .../examples/VirtualNetworkTapCreate.json | 58 +++ .../examples/VirtualNetworkTapDelete.json | 13 + .../examples/VirtualNetworkTapGet.json | 30 ++ .../examples/VirtualNetworkTapList.json | 51 +++ .../examples/VirtualNetworkTapListAll.json | 50 +++ .../examples/VirtualNetworkTapUpdateTags.json | 39 ++ .../stable/2018-08-01/networkInterface.json | 272 +++++++++++++ .../stable/2018-08-01/virtualNetworkTap.json | 380 ++++++++++++++++++ .../network/resource-manager/readme.md | 4 + 15 files changed, 1018 insertions(+), 1 deletion(-) create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationCreate.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationDelete.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationList.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapCreate.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapDelete.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapList.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapListAll.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapUpdateTags.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceGet.json index dc71645bc817..9d44a8997de0 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceGet.json @@ -13,7 +13,8 @@ "location" : "eastus", "properties" : { "provisioningState" : "Succeeded", - "ipConfigurations" : [{ + "ipConfigurations" : [ + { "name" : "ipconfig1", "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", "properties" : { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceIPConfigurationGet.json index 3fa8fdbf0f78..7d1166a7668c 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceIPConfigurationGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceIPConfigurationGet.json @@ -29,6 +29,14 @@ { "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1" } + ], + "virtualNetworkTaps": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP1" + }, + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP2" + } ] } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationCreate.json new file mode 100644 index 000000000000..3f9f4f9be7aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationCreate.json @@ -0,0 +1,45 @@ +{ + "parameters" : { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2018-08-01", + "tapConfigurationParameters": { + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + } + } + } + }, + "responses" : { + "200" : { + "body" : { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + } + } + } + }, + "201" : { + "body" : { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + } + } + } + } + } +} + diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationDelete.json new file mode 100644 index 000000000000..2ab5bf1e9d50 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-networkinterface", + "tapConfigurationName": "test-tapconfiguration" + }, + "responses" : { + "200" : { }, + "202" : { }, + "204" : { } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationGet.json new file mode 100644 index 000000000000..8cd8d8d40e18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2018-08-01" + }, + "responses": { + "200": { + "body": + { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationList.json new file mode 100644 index 000000000000..f0c7937743a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationList.json @@ -0,0 +1,27 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "mynic" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapCreate.json new file mode 100644 index 000000000000..0dc3b921c026 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapCreate.json @@ -0,0 +1,58 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap", + "parameters": { + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/ipconfig1" + } + }, + "location": "centraluseuap" + } + }, + "responses" : { + "200" : { + "body" : { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + } + }, + "201" : { + "body" : { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapDelete.json new file mode 100644 index 000000000000..cb8cf55925ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapDelete.json @@ -0,0 +1,13 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap" + }, + "responses" : { + "200" : { }, + "202" : { }, + "204" : { } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapGet.json new file mode 100644 index 000000000000..59a6f4b96524 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapGet.json @@ -0,0 +1,30 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subid", + "resourceGroupName" : "rg1", + "tapName" : "testvtap" + }, + "responses" : { + "200" : { + "body" : { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapList.json new file mode 100644 index 000000000000..a174654e5d84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapList.json @@ -0,0 +1,51 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subid", + "resourceGroupName": "rg1" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + }, + { + "name": "testvtap2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapListAll.json new file mode 100644 index 000000000000..5c646f5a4310 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapListAll.json @@ -0,0 +1,50 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subid" + }, + "responses" : { + "200" : { + "body" : { + "value": [ + { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + }, + { + "name": "testvtap2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapUpdateTags.json new file mode 100644 index 000000000000..36e38aca3c10 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap", + "tapParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses" : { + "200" : { + "body" : { + "name" : "test-vtap", + "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/test-vtap", + "location" : "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties" : { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + }, + "type" : "Microsoft.Network/virtualNetworkTaps" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json index d97b49763890..5673f627a283 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json @@ -532,11 +532,266 @@ "NetworkInterfaceLoadBalancerList": { "$ref": "./examples/NetworkInterfaceLoadBalancerList.json" } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}": { + "delete": { + "tags": [ + "Network Interfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_Delete", + "description": "Deletes the specified tap configuration from the NetworkInterface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + } + }, + "x-ms-examples": + { + "Delete tap configuration": { "$ref": "./examples/NetworkInterfaceTapConfigurationDelete.json" } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_Get", + "description": "Get the specified tap configuration on a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a tap configuration.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + } + }, + "x-ms-examples": + { + "Get Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationGet.json" } + } + }, + "put": { + "tags": [ + "Network Interfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_CreateOrUpdate", + "description": "Creates or updates a Tap configuration in the specified NetworkInterface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "name": "tapConfigurationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + }, + "description": "Parameters supplied to the create or update tap configuration operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Tap Configuration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Tap configuration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + } + }, + "x-ms-examples": + { + "Create Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationCreate.json" } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_List", + "description": "Get all Tap configurations in a network interface", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface TapConfiguration resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfigurationListResult" + } + } + }, + "x-ms-examples": { + "List virtual network tap configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } } }, "definitions": { + "NetworkInterfaceTapConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceTapConfigurationPropertiesFormat", + "description": "Properties of the Virtual Network Tap configuration" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Tap configuration in a Network Interface" + }, + "NetworkInterfaceTapConfigurationPropertiesFormat": { + "properties": { + "virtualNetworkTap": { + "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap", + "description": "The reference of the Virtual Network Tap resource." + } + }, + "description": "Properties of Virtual Network Tap configuration." + }, "NetworkInterfaceIPConfigurationPropertiesFormat": { "properties": { + "virtualNetworkTaps": { + "type": "array", + "items": { + "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap" + }, + "description": "The reference to Virtual Network Taps." + }, "applicationGatewayBackendAddressPools": { "type": "array", "items": { @@ -750,6 +1005,23 @@ }, "description": "Response for the ListNetworkInterface API service call." }, + "NetworkInterfaceTapConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + }, + "description": "A list of tap configurations." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list tap configurations API service call." + }, "NetworkInterfaceIPConfigurationListResult": { "properties": { "value": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json new file mode 100644 index 000000000000..09d029bdfc9c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json @@ -0,0 +1,380 @@ +{ + "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": "2018-08-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/virtualNetworkTaps/{tapName}": { + "delete": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_Delete", + "description": "Deletes the specified virtual network tap.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network tap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. Sets 'Deleting' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation." + }, + "204": { + "description": "Request successful. Resource does not exist." + } + }, + "x-ms-examples": + { + "Delete Virtual Network Tap resource": { "$ref": "./examples/VirtualNetworkTapDelete.json" } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_Get", + "description": "Gets information about the specified virtual network tap.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of virtual network tap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + } + }, + "x-ms-examples": + { + "Get Virtual Network Tap": { "$ref": "./examples/VirtualNetworkTapGet.json" } + } + }, + "put": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_CreateOrUpdate", + "description": "Creates or updates a Virtual Network Tap.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network tap." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + }, + "description": "Parameters supplied to the create or update virtual network tap operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + } + }, + "x-ms-examples": + { + "Create Virtual Network Tap": { "$ref": "./examples/VirtualNetworkTapCreate.json" } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_UpdateTags", + "description": "Updates an VirtualNetworkTap tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap." + }, + { + "name": "tapParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update VirtualNetworkTap tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + } + }, + "x-ms-examples": { + "Update virtual network tap tags": { "$ref": "./examples/VirtualNetworkTapUpdateTags.json" } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps": { + "get": { + "tags": [ + "VirtualNetworkTaps" + ], + "operationId": "VirtualNetworkTaps_ListAll", + "description": "Gets all the VirtualNetworkTaps in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Virtual Network Tap resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTapListResult" + } + } + }, + "x-ms-examples": { + "List all virtual network taps": { "$ref": "./examples/VirtualNetworkTapListAll.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps": { + "get": { + "tags": [ + "VirtualNetworkTaps" + ], + "operationId": "VirtualNetworkTaps_ListByResourceGroup", + "description": "Gets all the VirtualNetworkTaps in a subscription.", + "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": "Request successful. The operation returns a list of Virtual Network Tap resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTapListResult" + } + } + }, + "x-ms-examples": { + "List virtual network taps in resource group": { "$ref": "./examples/VirtualNetworkTapList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } +}, +"definitions": { + "VirtualNetworkTap": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkTapPropertiesFormat", + "description": "Virtual Network Tap Properties." + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Virtual Network Tap resource" + }, + "VirtualNetworkTapPropertiesFormat": { + "properties": { + "networkInterfaceTapConfigurations": { + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceTapConfiguration", + "description": "The reference of the Network Interface." + }, + "description": "Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped." + }, + "destinationNetworkInterfaceIPConfiguration": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "The reference to the private IP Address of the collector nic that will receive the tap" + }, + "destinationLoadBalancerFrontEndIPConfiguration": { + "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration", + "description": "The reference to the private IP address on the internal Load Balancer that will receive the tap" + }, + "destinationPort": { + "type": "integer", + "description": "The VXLAN destination port that will receive the tapped traffic." + } + }, + "description": "Virtual Network Tap properties." + }, + "VirtualNetworkTapListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkTap" + }, + "description": "A list of VirtualNetworkTaps in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListVirtualNetworkTap API service call." + } +}, +"parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 33f5f9136f6b..2394f45cfc34 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -61,6 +61,7 @@ input-file: - Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json - Microsoft.Network/stable/2018-08-01/usage.json - Microsoft.Network/stable/2018-08-01/virtualNetwork.json + - Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json - Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json - Microsoft.Network/stable/2018-08-01/virtualWan.json - Microsoft.Network/stable/2018-08-01/vmssNetworkInterface.json @@ -688,6 +689,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel from: serviceEndpointPolicy.json reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: virtualNetworkTap.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