From 4b3ae81daaddc6079ec4a6a8ebeebccc019703e6 Mon Sep 17 00:00:00 2001 From: irrogozh Date: Fri, 14 Sep 2018 10:48:22 -0700 Subject: [PATCH 01/11] Updated NetworkConfigurationDiagnostic API + example (#3905) --- ...WatcherNetworkConfigurationDiagnostic.json | 10 ++++-- .../stable/2018-08-01/networkWatcher.json | 31 ++++++++++++++----- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json index 525c1ebba653..4700537d0242 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json @@ -6,7 +6,7 @@ "networkWatcherName" : "nw1", "parameters" : { "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", - "queries": [ + "profiles": [ { "direction" : "Inbound", "protocol" : "TCP", @@ -22,7 +22,7 @@ "body" : { "results": [ { - "trafficQuery": { + "profile": { "direction": "Inbound", "protocol": "TCP", "source": "10.1.0.4", @@ -34,6 +34,7 @@ "evaluatedNetworkSecurityGroups": [ { "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet", "matchedRule": { "ruleName": "UserRule_fe_rule", "action": "Allow" @@ -83,6 +84,7 @@ }, { "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic", "matchedRule": { "ruleName": "UserRule_fe_rule", "action": "Allow" @@ -108,7 +110,7 @@ "body" : { "results": [ { - "trafficQuery": { + "profile": { "direction": "Inbound", "protocol": "TCP", "source": "10.1.0.4", @@ -120,6 +122,7 @@ "evaluatedNetworkSecurityGroups": [ { "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet", "matchedRule": { "ruleName": "UserRule_fe_rule", "action": "Allow" @@ -169,6 +172,7 @@ }, { "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic", "matchedRule": { "ruleName": "UserRule_fe_rule", "action": "Allow" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkWatcher.json index 0803437aeef0..6103a395dcf9 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkWatcher.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkWatcher.json @@ -3432,23 +3432,36 @@ "description": "Parameters to get network configuration diagnostic.", "required": [ "targetResourceId", - "queries" + "profiles" ], "properties": { "targetResourceId": { "type": "string", "description": "The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway." }, - "queries": { + "verbosityLevel": { + "type": "string", + "enum": [ + "Normal", + "Minimum", + "Full" + ], + "x-ms-enum": { + "name": "VerbosityLevel", + "modelAsString": true + }, + "description": "Verbosity level. Accepted values are 'Normal', 'Minimum', 'Full'." + }, + "profiles": { "type": "array", - "description": "List of traffic queries.", + "description": "List of network configuration diagnostic profiles.", "items": { - "$ref": "#/definitions/TrafficQuery" + "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile" } } } }, - "TrafficQuery": { + "NetworkConfigurationDiagnosticProfile": { "description": "Parameters to compare with network configuration.", "required": [ "direction", @@ -3504,8 +3517,8 @@ "NetworkConfigurationDiagnosticResult": { "description": "Network configuration diagnostic result corresponded to provided traffic query.", "properties": { - "trafficQuery": { - "$ref": "#/definitions/TrafficQuery" + "profile": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile" }, "networkSecurityGroupResult": { "$ref": "#/definitions/NetworkSecurityGroupResult" @@ -3544,6 +3557,10 @@ "type": "string", "description": "Network security group ID." }, + "appliedTo": { + "type": "string", + "description": "Resource ID of nic or subnet to which network security group is applied." + }, "matchedRule": { "$ref": "#/definitions/MatchedRule" }, From d5b22d782bef7a3ed388f9b2f19ab06824eb980d Mon Sep 17 00:00:00 2001 From: Anton Evseev Date: Thu, 20 Sep 2018 20:23:23 +0300 Subject: [PATCH 02/11] Fix incorrect API versions in Network's examples (#3954) * Fixed incorrect API versions in 2018-08-01's examples Added missing example for serviceEndpointPolicy.json * Fixed incorrect API version in 2018-07-01 example --- ...WatcherNetworkConfigurationDiagnostic.json | 2 +- ...WatcherNetworkConfigurationDiagnostic.json | 2 +- .../ServiceEndpointPolicyUpdateTags.json | 47 +++++++++++++++++++ ...VirtualNetworkGatewayConnectionCreate.json | 2 +- .../VirtualNetworkGatewayConnectionGet.json | 2 +- .../VirtualNetworkGatewayConnectionsList.json | 2 +- .../VirtualWanSupportedSecurityProviders.json | 4 +- .../2018-08-01/examples/VpnConnectionGet.json | 2 +- .../examples/VpnConnectionList.json | 2 +- .../2018-08-01/examples/VpnConnectionPut.json | 2 +- .../2018-08-01/serviceEndpointPolicy.json | 1 + 11 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ServiceEndpointPolicyUpdateTags.json diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json index 525c1ebba653..770795a2c853 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json @@ -1,6 +1,6 @@ { "parameters" : { - "api-version": "2018-06-01", + "api-version": "2018-07-01", "subscriptionId" : "subid", "resourceGroupName" : "rg1", "networkWatcherName" : "nw1", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json index 4700537d0242..432209fc5142 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json @@ -1,6 +1,6 @@ { "parameters" : { - "api-version": "2018-06-01", + "api-version": "2018-08-01", "subscriptionId" : "subid", "resourceGroupName" : "rg1", "networkWatcherName" : "nw1", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ServiceEndpointPolicyUpdateTags.json new file mode 100644 index 000000000000..3c4879798f14 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ServiceEndpointPolicyUpdateTags.json @@ -0,0 +1,47 @@ +{ + "parameters" : { + "api-version": "2018-08-01", + "subscriptionId" : "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testServiceEndpointPolicy", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses" : { + "200" : { + "body" : { + "name" : "testServiceEndpointPolicy", + "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy", + "type": "Microsoft.Network/serviceEndpointPolicies", + "location" : "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionCreate.json index d82ea1da3d3a..e9c8210ad9aa 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionCreate.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionCreate.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2018-07-01", + "api-version": "2018-08-01", "subscriptionId": "subid", "resourceGroupName": "rg1", "virtualNetworkGatewayConnectionName" : "connS2S", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionGet.json index 980993e1e6b2..12ae10d408ed 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionGet.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2018-07-01", + "api-version": "2018-08-01", "subscriptionId": "subid", "resourceGroupName": "rg1", "virtualNetworkGatewayConnectionName" : "connS2S" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionsList.json index 1287b592b70e..c53622dfbe52 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionsList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayConnectionsList.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2018-07-01", + "api-version": "2018-08-01", "subscriptionId": "subid", "resourceGroupName": "rg1" }, diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualWanSupportedSecurityProviders.json index 46080e150260..6852c564d856 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualWanSupportedSecurityProviders.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualWanSupportedSecurityProviders.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "subid", "resourceGroupName": "rg1", - "api-version": "2018-07-01", + "api-version": "2018-08-01", "virtualWANName": "wan1" }, "responses": { @@ -24,4 +24,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionGet.json index c32622480b47..f980b3f9bd11 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionGet.json @@ -3,7 +3,7 @@ "gatewayName": "gateway1", "connectionName": "vpnConnection1", "resourceGroupName": "rg1", - "api-version": "2018-07-01", + "api-version": "2018-08-01", "subscriptionId": "subid" }, "responses": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionList.json index f7274998449b..0ca7b995e1d1 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionList.json @@ -1,7 +1,7 @@ { "parameters": { "gatewayName": "gateway1", - "api-version": "2018-07-01", + "api-version": "2018-08-01", "resourceGroupName": "rg1", "subscriptionId": "subid" }, diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionPut.json index d9e55465bd90..c07d0b6cc05a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionPut.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VpnConnectionPut.json @@ -3,7 +3,7 @@ "connectionName": "vpnConnection1", "gatewayName": "gateway1", "resourceGroupName": "rg1", - "api-version": "2018-07-01", + "api-version": "2018-08-01", "subscriptionId": "subid", "VpnConnectionParameters": { "properties": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json index ca43b15b56b1..21c161feee88 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json @@ -229,6 +229,7 @@ } }, "x-ms-examples": { + "Update service endpoint policy tags": { "$ref": "./examples/ServiceEndpointPolicyUpdateTags.json" } }, "x-ms-long-running-operation": true } From 69fc43dc5c40cec6f09b1ee7b895641dee74aa99 Mon Sep 17 00:00:00 2001 From: Yanshu Date: Fri, 21 Sep 2018 15:01:00 -0700 Subject: [PATCH 03/11] swagger change for application gateway waf global config and exclusion list (#3972) * swagger change for application gateway waf global config and exclusion list * address the comments --- .../stable/2018-08-01/applicationGateway.json | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json index 9900270e7ce6..be7b275f91a3 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json @@ -1827,6 +1827,31 @@ "minimum": 8, "exclusiveMinimum": false, "description": "Maxium request body size for WAF." + }, + "maxRequestBodySizeInKb": { + "type": "integer", + "format": "int32", + "maximum": 128, + "exclusiveMaximum": false, + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maxium request body size in Kb for WAF." + }, + "fileUploadLimitInMb": { + "type": "integer", + "format": "int32", + "maximum": 500, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Maxium file upload size in Mb for WAF." + }, + "exclusions": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallExclusion" + }, + "description": "The exclusion list." } }, "required": [ @@ -1895,6 +1920,28 @@ ], "description": "Allows to disable rules within a rule group or an entire rule group." }, + "ApplicationGatewayFirewallExclusion": { + "properties": { + "matchVariable": { + "type": "string", + "description": "The variable to be excluded." + }, + "selectorMatchOperator": { + "type": "string", + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + } + }, + "required": [ + "matchVariable", + "selectorMatchOperator", + "selector" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check" + }, "ApplicationGatewayAvailableWafRuleSetsResult": { "properties": { "value": { From 26fc76cf7c2ed2ae5289bd4946513351880d32ff Mon Sep 17 00:00:00 2001 From: KaiChiLin <40705071+KaiChiLin@users.noreply.github.com> Date: Fri, 21 Sep 2018 15:44:58 -0700 Subject: [PATCH 04/11] add customer error spec for Application Gateway (#3985) * add customer error spec for Application Gateway * fix property name issue --- .../stable/2018-08-01/applicationGateway.json | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json index be7b275f91a3..bdbe0ed20643 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json @@ -1217,7 +1217,14 @@ "provisioningState": { "type": "string", "description": "Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." - } + }, + "customErrorConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + }, + "description": "Custom error configurations of the HTTP listener." + } }, "description": "Properties of HTTP listener of an application gateway." }, @@ -1683,7 +1690,14 @@ "provisioningState": { "type": "string", "description": "Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." - } + }, + "customErrorConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + }, + "description": "Custom error configurations of the application gateway resource." + } }, "description": "Properties of the application gateway." }, @@ -2131,6 +2145,27 @@ } }, "description": "Properties of ApplicationGatewaySslPredefinedPolicy" + }, + "ApplicationGatewayCustomError": { + "properties": { + "statusCode": { + "type": "string", + "description": "Status code of the application gateway customer error.", + "enum": [ + "403", + "502" + ], + "x-ms-enum": { + "name": "ApplicationGatewayCustomErrorStatusCode", + "modelAsString": true + } + }, + "customErrorPageUrl": { + "type": "string", + "description": "Error page URL of the application gateway customer error." + } + }, + "description": "Customer error of an application gateway." }, "PolicyNameEnum": { "type": "string", From 3820caa96e84c7b8ca55db5586ff7a56216d85a7 Mon Sep 17 00:00:00 2001 From: Stefan Date: Mon, 24 Sep 2018 15:28:50 -0700 Subject: [PATCH 05/11] Add ICMP to the list of supported protocols (#3993) --- .../Microsoft.Network/stable/2018-08-01/azureFirewall.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/azureFirewall.json index 11fe956ede3f..0fac88e45080 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/azureFirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/azureFirewall.json @@ -741,7 +741,8 @@ "enum":[ "TCP", "UDP", - "Any" + "Any", + "ICMP" ], "x-ms-enum":{ "name":"AzureFirewallNetworkRuleProtocol", From a6ea58748b2e522b7ae26d347d886bd746e47af6 Mon Sep 17 00:00:00 2001 From: KaiChiLin <40705071+KaiChiLin@users.noreply.github.com> Date: Thu, 4 Oct 2018 12:51:31 -0700 Subject: [PATCH 06/11] change appgw custom error status code enum and fix a typo of customErrorConfigurations (#4050) * add customer error spec for Application Gateway * fix property name issue * change appgw custom error status code enum and fix a typo of customErrorConfiguration --- .../stable/2018-08-01/applicationGateway.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json index bdbe0ed20643..77c14e39c946 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json @@ -1218,7 +1218,7 @@ "type": "string", "description": "Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." }, - "customErrorConfiguration": { + "customErrorConfigurations": { "type": "array", "items": { "$ref": "#/definitions/ApplicationGatewayCustomError" @@ -1691,7 +1691,7 @@ "type": "string", "description": "Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." }, - "customErrorConfiguration": { + "customErrorConfigurations": { "type": "array", "items": { "$ref": "#/definitions/ApplicationGatewayCustomError" @@ -2152,8 +2152,8 @@ "type": "string", "description": "Status code of the application gateway customer error.", "enum": [ - "403", - "502" + "HttpStatus403", + "HttpStatus502" ], "x-ms-enum": { "name": "ApplicationGatewayCustomErrorStatusCode", From 758c143eae019925ae9e021fbcd6821af918d000 Mon Sep 17 00:00:00 2001 From: Srividya Thirumala Date: Mon, 15 Oct 2018 10:50:29 -0700 Subject: [PATCH 07/11] Add ExpressRoutePort swagger (#4104) * Add ExpressRoutePort details to readme.md * ExpressRoutePort swagger * Refer SubscriptionIdParameter and ApiVersionParameter from network.json --- ...sRouteCircuitCreateOnExpressRoutePort.json | 79 ++ .../examples/ExpressRouteLinkGet.json | 26 + .../examples/ExpressRouteLinkList.json | 42 + .../examples/ExpressRoutePortCreate.json | 112 +++ .../examples/ExpressRoutePortDelete.json | 13 + .../examples/ExpressRoutePortGet.json | 57 ++ .../examples/ExpressRoutePortList.json | 59 ++ .../ExpressRoutePortListByResourceGroup.json | 60 ++ .../examples/ExpressRoutePortUpdateLink.json | 120 +++ .../examples/ExpressRoutePortUpdateTags.json | 63 ++ .../ExpressRoutePortsLocationGet.json | 28 + .../ExpressRoutePortsLocationList.json | 27 + .../2018-08-01/expressRouteCircuit.json | 14 + .../stable/2018-08-01/expressRoutePort.json | 747 ++++++++++++++++++ .../network/resource-manager/readme.md | 7 + 15 files changed, 1454 insertions(+) create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteLinkGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteLinkList.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortCreate.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortDelete.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortList.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortListByResourceGroup.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortUpdateLink.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortUpdateTags.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortsLocationGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortsLocationList.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRoutePort.json diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json new file mode 100644 index 000000000000..65b05f62e3fe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "resourceGroupName": "rg1", + "type": "Microsoft.Network/expressRouteCircuits", + "circuitName": "expressRouteCircuit1", + "parameters": { + "location": "westus", + "sku": { + "name": "Premium_MeteredData", + "tier": "Premium", + "family": "MeteredData" + }, + "properties": { + "expressRoutePort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName" + }, + "bandwidthInGbps":10 + } + } + }, + "responses": { + "200": { + "body": { + "name": "expressRouteCircuit1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "expressRoutePort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName" + }, + "bandwidthInGbps":10, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "20", + "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Premium_MeteredData", + "tier": "Premium", + "family": "MeteredData" + } + } + }, + "201": { + "body": { + "name": "expressRouteCircuit1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "expressRoutePort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName" + }, + "bandwidthInGbps":10, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "20", + "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Premium_MeteredData", + "tier": "Premium", + "family": "MeteredData" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteLinkGet.json new file mode 100644 index 000000000000..69ce035c4c7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteLinkGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "linkName": "linkName" + }, + "responses": { + "200": { + "body": { + "name": "linkName", + "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/linkName", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteLinkList.json new file mode 100644 index 000000000000..a952ae5eb58b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteLinkList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "link1", + "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "name": "link2", + "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortCreate.json new file mode 100644 index 000000000000..4e09caf5e4c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortCreate.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "location": "westus", + "properties": { + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "encapsulation": "QinQ" + } + } + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName", + "type": "Microsofot.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + }, + "201": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName", + "type": "Microsofot.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortDelete.json new file mode 100644 index 000000000000..6565066f9c1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortGet.json new file mode 100644 index 000000000000..10c570da1ac0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName", + "type": "Microsofot.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortList.json new file mode 100644 index 000000000000..a8e5e3c0975a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName", + "type": "Microsofot.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortListByResourceGroup.json new file mode 100644 index 000000000000..a4683c88ee7e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortListByResourceGroup.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName", + "type": "Microsofot.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortUpdateLink.json new file mode 100644 index 000000000000..ef0263ae47d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortUpdateLink.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "location": "westus", + "properties": { + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "encapsulation": "QinQ", + "links": [ + { + "name":"link1", + "properties": { + "adminState": "Enabled" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName", + "type": "Microsofot.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Enabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + }, + "201": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName", + "type": "Microsofot.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Enabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortUpdateTags.json new file mode 100644 index 000000000000..b8181ba14a91 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortUpdateTags.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName", + "type": "Microsofot.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortsLocationGet.json new file mode 100644 index 000000000000..43d01f4bde6e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortsLocationGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01", + "locationName": "locationName" + }, + "responses": { + "200": { + "body": { + "name": "locationName", + "id": "/subscriptions/subid/providers/Microsofot.Network/expressRoutePortsLocations/locationName", + "type": "Microsofot.Network/expressRoutePortsLocations", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "address": "123 Main Street, City, State, Zip", + "contact": "email@address.com", + "availableBandwidths": [ + { + "offerName": "100 Gbps", + "valueInGbps": 100 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortsLocationList.json new file mode 100644 index 000000000000..1045812cb6b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRoutePortsLocationList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2018-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "locationName", + "id": "/subscriptions/subid/providers/Microsofot.Network/expressRoutePortsLocations/locationName", + "type": "Microsofot.Network/expressRoutePortsLocations", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "address": "123 Main Street, City, State, Zip", + "contact": "email@address.com", + "availableBandwidths": [ + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json index 4f473683ee8a..fb6483f0357d 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json @@ -1688,6 +1688,20 @@ "$ref": "#/definitions/ExpressRouteCircuitServiceProviderProperties", "description": "The ServiceProviderProperties." }, + "expressRoutePort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource." + }, + "bandwidthInGbps": { + "type": "number", + "description": "The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource." + }, + "stag": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The identifier of the circuit traffic. Outer tag for QinQ encapsulation." + }, "provisioningState": { "type": "string", "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRoutePort.json new file mode 100644 index 000000000000..820d010fcc18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRoutePort.json @@ -0,0 +1,747 @@ +{ + "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}/providers/Microsoft.Network/ExpressRoutePortsLocations": { + "get": { + "tags": [ + "ExpressRoutePortsLocations" + ], + "operationId": "ExpressRoutePortsLocations_List", + "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retriving a specific peering location.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the list of all ExpressRoutePort peering locations.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortsLocationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRoutePortsLocationList": { "$ref": "./examples/ExpressRoutePortsLocationList.json" } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}": { + "get": { + "tags": [ + "ExpressRoutePortsLocations" + ], + "operationId": "ExpressRoutePortsLocations_Get", + "description": "Retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at said peering location.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the requested ExpressRoutePort peering location." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRoutePort peering location.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortsLocation" + } + } + }, + "x-ms-examples": { + "ExpressRoutePortsLocationGet": { "$ref": "./examples/ExpressRoutePortsLocationGet.json" } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}": { + "delete": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_Delete", + "description": "Deletes the specified ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ExpressRoutePortDelete": { "$ref": "./examples/ExpressRoutePortDelete.json" } + } + }, + "get": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_Get", + "description": "Retrieves the requested ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of ExpressRoutePort." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + } + }, + "x-ms-examples": { + "ExpressRoutePortGet": { "$ref": "./examples/ExpressRoutePortGet.json" } + } + }, + "put": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_CreateOrUpdate", + "description": "Creates or updates the specified ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + }, + "description": "Parameters supplied to the create ExpressRoutePort operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ExpressRoutePortCreate": { "$ref": "./examples/ExpressRoutePortCreate.json" }, + "ExpressRoutePortUpdateLink": { "$ref": "./examples/ExpressRoutePortUpdateLink.json" } + } + }, + "patch": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_UpdateTags", + "description": "Update ExpressRoutePort tags", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update ExpressRoutePort resource tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ExpressRoutePortUpdateTags": { "$ref": "./examples/ExpressRoutePortUpdateTags.json" } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts": { + "get": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_ListByResourceGroup", + "description": "List all the ExpressRoutePort resources in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRoutePortListByResourceGroup": { "$ref": "./examples/ExpressRoutePortListByResourceGroup.json" } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts": { + "get": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_List", + "description": "List all the ExpressRoutePort resources in the specified subscription", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRoutePortList": { "$ref": "./examples/ExpressRoutePortList.json" } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}": { + "get": { + "tags": [ + "ExpressRouteLinks" + ], + "operationId": "ExpressRouteLinks_Get", + "description": "Retrieves the specified ExpressRouteLink resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + { + "name": "linkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteLink resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRouteLink resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteLink" + } + } + }, + "x-ms-examples": { + "ExpressRouteLinkGet": { "$ref": "./examples/ExpressRouteLinkGet.json" } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links": { + "get": { + "tags": [ + "ExpressRouteLinks" + ], + "operationId": "ExpressRouteLinks_List", + "description": "Retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteLink resources. If there are no ExpressRouteLink resources then an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteLinkListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRouteLinkGet": { "$ref": "./examples/ExpressRouteLinkList.json" } + } + } + } + }, + "definitions": { + "ExpressRoutePortsLocationBandwidths": { + "title": "ExpressRoutePorts Location Bandwidths", + "description" : "Real-time inventory of available ExpressRoute port bandwidths.", + "properties": { + "offerName": { + "type": "string", + "readOnly": true, + "description": "Bandwidth descriptive name" + }, + "valueInGbps": { + "type": "integer", + "readOnly": true, + "description": "Bandwidth value in Gbps" + } + } + }, + "ExpressRoutePortsLocationPropertiesFormat": { + "title": "ExpressRoutePorts Location Properties", + "description" : "Properties specific to ExpressRoutePorts peering location resources.", + "properties": { + "address": { + "type": "string", + "readOnly": true, + "description": "Address of peering location." + }, + "contact": { + "type": "string", + "readOnly": true, + "description": "Contact details of peering locations." + }, + "availableBandwidths": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePortsLocationBandwidths" + }, + "description": "The inventory of available ExpressRoutePort bandwidths." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the ExpressRoutePortLocation resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'." + } + } + }, + "ExpressRoutePortsLocation": { + "title": "ExpressRoutePorts Peering Location", + "description": "Definition of the ExpressRoutePorts peering location resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRoutePortsLocationPropertiesFormat", + "description": "ExpressRoutePort peering location properties" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "ExpressRoutePortsLocationListResult": { + "title": "ExpressRoutePorts Location List Result", + "description": "Response for ListExpressRoutePortsLocations API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePortsLocation" + }, + "description": "The list of all ExpressRoutePort peering locations." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "ExpressRouteLinkPropertiesFormat": { + "title": "ExpressRouteLink Resource Properties", + "description": "Properties specific to ExpressRouteLink resources.", + "properties": { + "routerName": { + "readOnly": true, + "type": "string", + "description": "Name of Azure router associated with physical port." + }, + "interfaceName": { + "readOnly": true, + "type": "string", + "description": "Name of Azure router interface." + }, + "patchPanelId": { + "readOnly": true, + "type": "string", + "description": "Mapping between physical port to patch panel port." + }, + "rackId": { + "readOnly": true, + "type": "string", + "description": "Mapping of physical patch panel to rack." + }, + "connectorType": { + "readOnly": true, + "type": "string", + "description": "Physical fiber port type.", + "enum": [ + "LC", + "SC" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkConnectorType", + "modelAsString": true + } + }, + "adminState": { + "type": "string", + "description": "Administrative state of the physical port", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkAdminState", + "modelAsString": true + } + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the ExpressRouteLink resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'." + } + } + }, + "ExpressRouteLink": { + "title" : "ExpressRouteLink", + "description": "ExpressRouteLink child resource definition.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteLinkPropertiesFormat", + "description": "ExpressRouteLink properties" + }, + "name": { + "type": "string", + "description": "Name of child port resource that is unique among child port resources of the parent." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ] + }, + "ExpressRouteLinkListResult": { + "title": "ExpressRouteLink List Result", + "description": "Response for ListExpressRouteLinks API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteLink" + }, + "description": "The list of ExpressRouteLink sub-resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "ExpressRoutePortPropertiesFormat": { + "title": "ExpressRoutePort Properties", + "description" : "Properties specific to ExpressRoutePort resources.", + "properties": { + "peeringLocation": { + "type": "string", + "description": "The name of the peering location that the ExpressRoutePort is mapped to physically." + }, + "bandwidthInGbps": { + "type": "integer", + "description": "Bandwidth of procured ports in Gbps" + }, + "provisionedBandwidthInGbps": { + "readOnly": true, + "type": "number", + "description": "Aggregate Gbps of associated circuit bandwidths." + }, + "mtu": { + "readOnly": true, + "type": "string", + "description": "Maximum transmission unit of the physical port pair(s)" + }, + "encapsulation": { + "type": "string", + "description": "Encapsulation method on physical ports.", + "enum": [ + "Dot1Q", + "QinQ" + ], + "x-ms-enum": { + "name": "ExpressRoutePortsEncapsulation", + "modelAsString": true + } + }, + "etherType": { + "readOnly": true, + "type": "string", + "description": "Ethertype of the physical port." + }, + "allocationDate": { + "readOnly": true, + "type": "string", + "description": "Date of the physical port allocation to be used in Letter of Authorization." + }, + "links": { + "title" : "ExpressRouteLink Sub-Resources", + "description" : "The set of physical links of the ExpressRoutePort resource", + "readOnly": false, + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteLink" + } + }, + "circuits": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the ExpressRoutePort resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'." + }, + "resourceGuid": { + "type": "string", + "description": "The resource GUID property of the ExpressRoutePort resource." + } + } + }, + "ExpressRoutePort": { + "title": "ExpressRoute Port", + "description": "ExpressRoutePort resource definition.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRoutePortPropertiesFormat", + "description": "ExpressRoutePort properties" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "ExpressRoutePortListResult": { + "title": "ExpressRoute Port List Result", + "description": "Response for ListExpressRoutePorts API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePort" + }, + "description": "A list of ExpressRoutePort resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + } + } +} \ No newline at end of file diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 5a40523ec00f..24e5cfe9ff54 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -49,6 +49,7 @@ input-file: - Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json - Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json - Microsoft.Network/stable/2018-08-01/expressRouteGateway.json + - Microsoft.Network/stable/2018-08-01/expressRoutePort.json - Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json - Microsoft.Network/stable/2018-08-01/loadBalancer.json - Microsoft.Network/stable/2018-08-01/network.json @@ -657,6 +658,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel from: expressRouteGateway.json reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: expressRoutePort.json + reason: name, id and type properties are inherited from the upper level - suppress: RequiredPropertiesMissingInResourceModel from: loadBalancer.json reason: name, id and type properties are inherited from the upper level @@ -721,6 +725,9 @@ directive: - suppress: GetInOperationName where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability"].get.operationId reason: Customized verb is used for API + - suppress: PutInOperationName + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}"].put.operationId + reason: Child resource is auto-created when top-level resource is created. - suppress: PutInOperationName where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey"].put.operationId reason: Customized verb is used for API From 6c4312edb758be23c2bdd7f8c2da0b8b76541187 Mon Sep 17 00:00:00 2001 From: Anton Evseev Date: Thu, 18 Oct 2018 20:05:15 +0300 Subject: [PATCH 08/11] Cherry pick NRP's changes from master to October branch (#4251) * Remove error code from swagger (#4103) * Modifying example templates : enabling Ipv6 support for Private Peering (#4232) * Modifying example templates : enabling Ipv6 support for Private Peering * Resolving oav validation error --- .../ExpressRouteCircuitPeeringCreate.json | 18 +++++++++++++++-- .../ExpressRouteCircuitPeeringList.json | 5 +++++ ...sRouteCrossConnectionBgpPeeringCreate.json | 20 ++++++++++++++++--- ...ressRouteCrossConnectionBgpPeeringGet.json | 7 ++++++- ...essRouteCrossConnectionBgpPeeringList.json | 7 ++++++- .../2018-08-01/expressRouteGateway.json | 3 --- 6 files changed, 50 insertions(+), 10 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitPeeringCreate.json index 1abd9d31ca2e..a6baf5083f12 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitPeeringCreate.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitPeeringCreate.json @@ -11,7 +11,11 @@ "peerASN": 200, "primaryPeerAddressPrefix": "192.168.16.252/30", "secondaryPeerAddressPrefix": "192.168.18.252/30", - "vlanId": 200 + "vlanId": 200, + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126" + } } } }, @@ -34,6 +38,11 @@ "vlanId": 200, "gatewayManagerEtag": "", "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + }, "expressRouteConnection": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName" } @@ -57,7 +66,12 @@ "state": "Enabled", "vlanId": 200, "gatewayManagerEtag": "", - "lastModifiedBy": "Customer", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + }, "expressRouteConnection": "" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitPeeringList.json index ffaab9b7395f..e5f2ebb8ced8 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitPeeringList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCircuitPeeringList.json @@ -70,6 +70,11 @@ "vlanId": 200, "gatewayManagerEtag": "103", "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + }, "expressRouteConnection": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName" } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json index f09b381a4358..9e54c4977070 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json @@ -11,7 +11,11 @@ "peerASN": 200, "primaryPeerAddressPrefix": "192.168.16.252/30", "secondaryPeerAddressPrefix": "192.168.18.252/30", - "vlanId": 200 + "vlanId": 200, + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126" + } } } }, @@ -33,7 +37,12 @@ "state": "Enabled", "vlanId": 200, "gatewayManagerEtag": "", - "lastModifiedBy": "Customer" + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } } } }, @@ -54,7 +63,12 @@ "state": "Enabled", "vlanId": 200, "gatewayManagerEtag": "", - "lastModifiedBy": "Customer" + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } } } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json index a043bc9f1363..db8c8d4b443b 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json @@ -24,7 +24,12 @@ "state": "Enabled", "vlanId": 200, "gatewayManagerEtag": "", - "lastModifiedBy": "Customer" + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } } } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json index 1c3b137cb1a5..7e0297c1a40f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json @@ -25,7 +25,12 @@ "state": "Enabled", "vlanId": 200, "gatewayManagerEtag": "", - "lastModifiedBy": "Customer" + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } } } ] diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteGateway.json index 8d212cbfb166..29e1ed248e2d 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteGateway.json @@ -199,9 +199,6 @@ "schema": { "$ref": "#/definitions/ExpressRouteGateway" } - }, - "404": { - "description": "Not found. The specified resource does not exist." } } }, From e8f2b491e5b1732d9e57cdf9ddd16907ba04920e Mon Sep 17 00:00:00 2001 From: khannarhea <40408300+khannarhea@users.noreply.github.com> Date: Mon, 29 Oct 2018 12:32:37 -0700 Subject: [PATCH 09/11] Changes to add operation id for outbound rules (#4320) * Changes to add operation id for outbound rules * Changes to make outbound rule similar to load balancing rule * fix failures - add example json files * fix failures * Fixed line endings, specs, examples --- .../examples/LoadBalancerOutboundRuleGet.json | 33 ++++++ .../LoadBalancerOutboundRuleList.json | 36 ++++++ .../stable/2018-08-01/loadBalancer.json | 112 ++++++++++++++++++ 3 files changed, 181 insertions(+) create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerOutboundRuleGet.json create mode 100644 specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerOutboundRuleList.json diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerOutboundRuleGet.json new file mode 100644 index 000000000000..08c38c01b6b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerOutboundRuleGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "outboundRuleName": "rule1", + "api-version": "2018-08-01" + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + } + ], + "allocatedOutboundPorts": 64, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerOutboundRuleList.json new file mode 100644 index 000000000000..bc4c7e7e9427 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerOutboundRuleList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2018-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + } + ], + "allocatedOutboundPorts": 64, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/loadBalancer.json index 4cba44de570c..8d30a27644cc 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/loadBalancer.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/loadBalancer.json @@ -12,6 +12,7 @@ "consumes": [ "application/json" ], + "produces": [ "application/json" ], @@ -800,6 +801,100 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerOutboundRules_List", + "description": "Gets all the outbound rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer OutboundRule resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerOutboundRuleListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "LoadBalancerOutboundRuleList": { "$ref": "./examples/LoadBalancerOutboundRuleList.json" } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerOutboundRules_Get", + "description": "Gets the specified load balancer outbound rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "outboundRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the outbound rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting OutboundRule resource.", + "schema": { + "$ref": "#/definitions/OutboundRule" + } + } + }, + "x-ms-examples": { + "LoadBalancerOutboundRuleGet": { "$ref": "./examples/LoadBalancerOutboundRuleGet.json" } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces": { "get": { "tags": [ @@ -1658,6 +1753,23 @@ }, "description": "Response for ListLoadBalancingRule API service call." }, + "LoadBalancerOutboundRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundRule" + }, + "description": "A list of outbound rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListOutboundRule API service call." + }, "LoadBalancerProbeListResult": { "properties": { "value": { From b5843bc403f755b125b7429b679f356bb1acfdcb Mon Sep 17 00:00:00 2001 From: William Ehrich Date: Mon, 29 Oct 2018 13:58:25 -0700 Subject: [PATCH 10/11] Change one parameter (#4339) * Change parameter in most recent version * Fix example --- .../examples/VirtualNetworkCheckIPAddressAvailability.json | 2 +- .../Microsoft.Network/stable/2018-08-01/virtualNetwork.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCheckIPAddressAvailability.json index 1259b47e9141..534b785b8133 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCheckIPAddressAvailability.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCheckIPAddressAvailability.json @@ -4,7 +4,7 @@ "subscriptionId" : "subid", "resourceGroupName" : "rg1", "virtualNetworkName" : "test-vnet", - "IPAddress": "10.0.1.4" + "ipAddress": "10.0.1.4" }, "responses" : { "200" : { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetwork.json index 477ec20ee203..43bd4a45dc6b 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetwork.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetwork.json @@ -742,7 +742,7 @@ { "name": "ipAddress", "in": "query", - "required": false, + "required": true, "type": "string", "description": "The private IP address to be verified." }, From d0417082c41cfae8f0234ee02fe32b506bf4e605 Mon Sep 17 00:00:00 2001 From: raraveen <44040247+raraveen@users.noreply.github.com> Date: Tue, 30 Oct 2018 08:50:01 -0700 Subject: [PATCH 11/11] New SKU for ER (#4342) --- .../stable/2018-08-01/expressRouteCircuit.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json index fb6483f0357d..94be802019aa 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json @@ -1595,10 +1595,11 @@ }, "tier": { "type": "string", - "description": "The tier of the SKU. Possible values are 'Standard' and 'Premium'.", + "description": "The tier of the SKU. Possible values are 'Standard', 'Premium' or 'Basic'.", "enum": [ "Standard", - "Premium" + "Premium", + "Basic" ], "x-ms-enum": { "name": "ExpressRouteCircuitSkuTier",