diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/expressRouteProviderPortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/expressRouteProviderPortGet.json new file mode 100644 index 000000000000..b5a795dfff22 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/expressRouteProviderPortGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "expressRouteProviderPortName": "bvtazureixpportpair1" + }, + "responses": { + "200": { + "body": { + "name": "bvtazureixpportpair1", + "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/bvtazureixpportpair1", + "type": "Microsoft.Network/expressRouteProviderPorts", + "properties": { + "portPairDescriptor": "bvtazureixpportpair", + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "peeringLocation": "SiliconValley", + "overprovisionFactor": 4, + "portBandwidthInMbps": 4000, + "usedBandwidthInMbps": 2500, + "remainingBandwidthInMbps": 1500 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/expressRouteProviderPortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/expressRouteProviderPortList.json new file mode 100644 index 000000000000..bf582b22d900 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/expressRouteProviderPortList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "bvtazureixpportpair1", + "id": "/subscriptions/subid/providers/Microsoft.Network/expressRouteProviderPorts/bvtazureixpportpair1", + "type": "Microsoft.Network/expressRouteProviderPorts", + "properties": { + "portPairDescriptor": "bvtazureixpportpair", + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "peeringLocation": "SiliconValley", + "overprovisionFactor": 4, + "portBandwidthInMbps": 4000, + "usedBandwidthInMbps": 2500, + "remainingBandwidthInMbps": 1500 + } + }, + { + "name": "bvtazureixpportpair2", + "id": "/subscriptions/subid/providers/Microsoft.Network/expressRouteProviderPorts/bvtazureixpportpair2", + "type": "Microsoft.Network/expressRouteProviderPorts", + "properties": { + "portPairDescriptor": "bvtazureixpportpair2", + "primaryAzurePort": "bvtazureixp02", + "secondaryAzurePort": "bvtazureixp02", + "peeringLocation": "seattle", + "overprovisionFactor": 4, + "portBandwidthInMbps": 4000, + "usedBandwidthInMbps": 1200, + "remainingBandwidthInMbps": 1800 + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/expressRouteProviderPortListByLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/expressRouteProviderPortListByLocation.json new file mode 100644 index 000000000000..ec6431b22861 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/expressRouteProviderPortListByLocation.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "$filter": "peeringLocation eq 'SiliconValley'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "bvtazureixpportpair1", + "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/bvtazureixpportpair1", + "type": "Microsoft.Network/expressRouteProviderPorts", + "properties": { + "portPairDescriptor": "bvtazureixpportpair", + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "peeringLocation": "SiliconValley", + "overprovisionFactor": 4, + "portBandwidthInMbps": 4000, + "usedBandwidthInMbps": 2500, + "remainingBandwidthInMbps": 1500 + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json index 8d141bcd3893..e9061c118257 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json @@ -799,12 +799,10 @@ "ExpressRouteCrossConnectionProperties": { "properties": { "primaryAzurePort": { - "readOnly": true, "type": "string", "description": "The name of the primary port." }, "secondaryAzurePort": { - "readOnly": true, "type": "string", "description": "The name of the secondary port." }, @@ -814,10 +812,12 @@ "description": "The identifier of the circuit traffic." }, "peeringLocation": { + "readOnly": true, "type": "string", "description": "The peering location of the ExpressRoute circuit." }, "bandwidthInMbps": { + "readOnly": true, "type": "integer", "format": "int32", "description": "The circuit bandwidth In Mbps." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteProviderPort.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteProviderPort.json new file mode 100644 index 000000000000..6cbc689be01a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteProviderPort.json @@ -0,0 +1,208 @@ +{ + "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": "2020-06-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}/providers/Microsoft.Network/expressRouteProviderPorts": { + "get": { + "tags": [ + "ExpressRouteProviderPorts" + ], + "operationId": "ExpressRouteProviderPorts_List", + "description": "Retrieves all the ExpressRouteProviderPorts in a subscription.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Can be used to filter on peering location. Supports only eq." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteProviderPort resources. If there are no ports for the provider, an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteProviderPortListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteProviderPortList": { + "$ref": "./examples/expressRouteProviderPortList.json" + }, + "ExpressRouteProviderPortListByLocation": { + "$ref": "./examples/expressRouteProviderPortListByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteProviderPorts/{expressRouteProviderPortName}": { + "get": { + "tags": [ + "ExpressRouteProviderPorts" + ], + "operationId": "ExpressRouteProviderPorts_Get", + "description": "Retrieves the requested ExpressRouteProviderPort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "expressRouteProviderPortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of ExpressRouteProviderPort." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRouteProviderPort resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteProviderPort" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteProviderPortGet": { + "$ref": "./examples/expressRouteProviderPortGet.json" + } + } + } + } + }, + "definitions": { + "ExpressRouteProviderPortProperties": { + "properties": { + "portPairDescriptor": { + "readOnly": true, + "type": "string", + "description": "The name of the port pair." + }, + "primaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the primary port." + }, + "secondaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the secondary port." + }, + "peeringLocation": { + "type": "string", + "description": "The peering location of the port pair." + }, + "overprovisionFactor": { + "type": "integer", + "format": "int32", + "description": "Overprovisioning factor for the port pair." + }, + "portBandwidthInMbps": { + "type": "integer", + "format": "int32", + "description": "Bandwidth of the port in Mbps." + }, + "usedBandwidthInMbps": { + "type": "integer", + "format": "int32", + "description": "Used Bandwidth of the port in Mbps." + }, + "remainingBandwidthInMbps": { + "type": "integer", + "format": "int32", + "description": "Remaining Bandwidth of the port in Mbps." + } + }, + "description": "Properties of ExpressRouteProviderPort." + }, + "ExpressRouteProviderPort": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteProviderPortProperties", + "description": "Properties of the express route Service Provider Port." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "ExpressRouteProviderPort resource." + }, + "ExpressRouteProviderPortListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteProviderPort" + }, + "description": "A list of ExpressRouteProviderPort resources." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListExpressRouteProviderPort API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/network.json index 04d5812fcf07..bc962fea389e 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/network.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/network.json @@ -178,6 +178,27 @@ "description": "Reference to another subresource.", "x-ms-azure-resource": true }, + "ProxyResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + } + }, + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.", + "x-ms-azure-resource": true + }, "TagsObject": { "properties": { "tags": { diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index d02540084402..45f7f7cf5352 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -83,6 +83,7 @@ input-file: - Microsoft.Network/stable/2020-06-01/vmssNetworkInterface.json - Microsoft.Network/stable/2020-06-01/vmssPublicIpAddress.json - Microsoft.Network/stable/2020-06-01/webapplicationfirewall.json + - Microsoft.Network/stable/2020-06-01/expressRouteProviderPort.json ``` ### Tag: package-2020-05 @@ -1441,6 +1442,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel from: expressRoutePort.json reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: expressRouteProviderPort.json + reason: name, id and type properties are inherited from the upper level - suppress: RequiredPropertiesMissingInResourceModel from: firewallPolicy.json reason: name, id and type properties are inherited from the upper level