From 2ee070e51eaa7529262c04b998f4a02212466f8d Mon Sep 17 00:00:00 2001 From: jobatzil Date: Mon, 6 Feb 2017 15:22:21 -0800 Subject: [PATCH 01/22] #ConnectionDraining Created applicationGateway.json file for new version. Added 2016-09-01 and 2016-12-01 folder to project. --- .../swagger/applicationGateway.json | 1305 +++++++++++++++++ azure-rest-api-specs.njsproj | 20 + 2 files changed, 1325 insertions(+) create mode 100644 arm-network/2016-12-01/swagger/applicationGateway.json diff --git a/arm-network/2016-12-01/swagger/applicationGateway.json b/arm-network/2016-12-01/swagger/applicationGateway.json new file mode 100644 index 000000000000..67a38a1df4ed --- /dev/null +++ b/arm-network/2016-12-01/swagger/applicationGateway.json @@ -0,0 +1,1305 @@ +{ + "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": "2016-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}": { + "delete": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Delete", + "description": "Deletes the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist" + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Get", + "description": "Gets the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + } + } + }, + "put": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_CreateOrUpdate", + "description": "Creates or updates the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGateway" + }, + "description": "Parameters supplied to the create or update application gateway operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_List", + "description": "Lists all application gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of ApplicationGateway resources.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAll", + "description": "Gets all the application gateways in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of ApplicationGateway resources.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Start", + "description": "Starts the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation starts the ApplicationGateway resource." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Stop", + "description": "Stops the specified application gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation stops the ApplicationGateway resource." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_BackendHealth", + "description": "Gets the backend health of the specified application gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands BackendAddressPool and BackendHttpSettings referenced in backend health." + } + ], + "responses": { + "200": { + "description": "Request successful.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayBackendHealth" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "ApplicationGatewayBackendHealth": { + "properties": { + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthPool" + } + } + }, + "description": "List of ApplicationGatewayBackendHealthPool resources." + }, + "ApplicationGatewayBackendHealthPool": { + "properties": { + "backendAddressPool": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool", + "description": "Reference of an ApplicationGatewayBackendAddressPool resource." + }, + "backendHttpSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings" + }, + "description": "List of ApplicationGatewayBackendHealthHttpSettings resources." + } + }, + "description": "Application gateway BackendHealth pool." + }, + "ApplicationGatewayBackendHealthHttpSettings": { + "properties": { + "backendHttpSettings": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings", + "description": "Reference of an ApplicationGatewayBackendHttpSettings resource." + }, + "servers": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthServer" + }, + "description": "List of ApplicationGatewayBackendHealthServer resources." + } + }, + "description": "Application gateway BackendHealthHttp settings." + }, + "ApplicationGatewayBackendHealthServer": { + "properties": { + "address": { + "type": "string", + "description": "IP address or FQDN of backend server." + }, + "ipConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of IP configuration of backend server." + }, + "health": { + "type": "string", + "description": "Health of backend server. Possible values are: 'Unknown', 'Up', 'Down', and 'Partial'.", + "enum": [ + "Unknown", + "Up", + "Down", + "Partial" + ], + "x-ms-enum": { + "name": "ApplicationGatewayBackendHealthServerHealth", + "modelAsString": true + } + } + }, + "description": "Application gateway backendhealth http settings." + }, + "ApplicationGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Name of an application gateway SKU. Possible values are: 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', and 'WAF_Large'.", + "enum": [ + "Standard_Small", + "Standard_Medium", + "Standard_Large", + "WAF_Medium", + "WAF_Large" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of an application gateway. Possible values are: 'Standard' and 'WAF'.", + "enum": [ + "Standard", + "WAF" + ], + "x-ms-enum": { + "name": "ApplicationGatewayTier", + "modelAsString": true + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Capacity (instance count) of an application gateway." + } + }, + "description": "SKU of an application gateway" + }, + "ApplicationGatewaySslPolicy": { + "properties": { + "disabledSslProtocols": { + "type": "array", + "description": "SSL protocols to be disabled on application gateway. Possible values are: 'TLSv1_0', 'TLSv1_1', and 'TLSv1_2'.", + "items": { + "type": "string", + "enum": [ + "TLSv1_0", + "TLSv1_1", + "TLSv1_2" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslProtocol", + "modelAsString": true + } + } + } + }, + "description": "Application gateway SSL policy." + }, + "ApplicationGatewayIPConfigurationPropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the subnet resource. A subnet from where application gateway gets its private address." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the application gateway subnet resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of IP configuration of an application gateway." + }, + "ApplicationGatewayIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed." + }, + "ApplicationGatewayAuthenticationCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the authentication certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Authentication certificates properties of an application gateway." + }, + "ApplicationGatewayAuthenticationCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Authentication certificates of an application gateway." + }, + "ApplicationGatewaySslCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Base-64 encoded pfx certificate. Only applicable in PUT Request." + }, + "password": { + "type": "string", + "description": "Password for the pfx file specified in data. Only applicable in PUT request." + }, + "publicCertData": { + "type": "string", + "description": "Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the SSL certificate resource Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of SSL certificates of an application gateway." + }, + "ApplicationGatewaySslCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "SSL certificates of an application gateway." + }, + "ApplicationGatewayFrontendIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "PrivateIPAddress of the network interface IP Configuration." + }, + "privateIPAllocationMethod": { + "type": "string", + "description": "PrivateIP allocation method. Possible values are: 'Static' and 'Dynamic'.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the PublicIP resource." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendPortPropertiesFormat": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "Frontend port" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the frontend port resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of Frontend port of an application gateway." + }, + "ApplicationGatewayFrontendPort": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend port of an application gateway." + }, + "ApplicationGatewayBackendAddress": { + "properties": { + "fqdn": { + "type": "string", + "description": "Fully qualified domain name (FQDN)." + }, + "ipAddress": { + "type": "string", + "description": "IP address" + } + }, + "description": "Backend address of an application gateway." + }, + "ApplicationGatewayBackendAddressPoolPropertiesFormat": { + "properties": { + "backendIPConfigurations": { + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "Collection of references to IPs defined in network interfaces." + }, + "backendAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddress" + }, + "description": "Backend addresses" + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the backend address pool resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendAddressPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat" + }, + "name": { + "type": "string", + "description": "Resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendHttpSettingsPropertiesFormat": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "Port" + }, + "protocol": { + "type": "string", + "description": "Protocol. Possible values are: 'Http' and 'Https'.", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "ApplicationGatewayProtocol", + "modelAsString": true + } + }, + "cookieBasedAffinity": { + "type": "string", + "description": "Cookie based affinity. Possible values are: 'Enabled' and 'Disabled'.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ApplicationGatewayCookieBasedAffinity", + "modelAsString": true + } + }, + "requestTimeout": { + "type": "integer", + "format": "int32", + "description": "Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Probe resource of an application gateway." + }, + "authenticationCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway authentication certificates." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendHttpSettings": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Backend address pool settings of an application gateway." + }, + "ApplicationGatewayHttpListenerPropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend IP configuration resource of an application gateway." + }, + "frontendPort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend port resource of an application gateway." + }, + "protocol": { + "type": "string", + "description": "Protocol. Possible values are: 'Http' and 'Https'.", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "ApplicationGatewayProtocol", + "modelAsString": true + } + }, + "hostName": { + "type": "string", + "description": "Host name of HTTP listener." + }, + "sslCertificate": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL certificate resource of an application gateway." + }, + "requireServerNameIndication": { + "type": "boolean", + "description": "Applicable only if protocol is https. Enables SNI for multi-hosting." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of HTTP listener of an application gateway." + }, + "ApplicationGatewayHttpListener": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Http listener of an application gateway." + }, + "ApplicationGatewayPathRulePropertiesFormat": { + "properties": { + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Path rules of URL path map." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of URL path map." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend http settings resource of URL path map." + }, + "provisioningState": { + "type": "string", + "description": "Path rule of URL path map resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of probe of an application gateway." + }, + "ApplicationGatewayPathRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPathRulePropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Path rule of URL path map of an application gateway." + }, + "ApplicationGatewayProbePropertiesFormat": { + "properties": { + "protocol": { + "type": "string", + "description": "Protocol. Possible values are: 'Http' and 'Https'.", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "ApplicationGatewayProtocol", + "modelAsString": true + } + }, + "host": { + "type": "string", + "description": "Host name to send the probe to." + }, + "path": { + "type": "string", + "description": "Relative path of probe. Valid path starts from '/'. Probe is sent to ://:" + }, + "interval": { + "type": "integer", + "format": "int32", + "description": "The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds." + }, + "timeout": { + "type": "integer", + "format": "int32", + "description": "the probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds." + }, + "unhealthyThreshold": { + "type": "integer", + "format": "int32", + "description": "The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of probe of an application gateway." + }, + "ApplicationGatewayProbe": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayProbePropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Probe of the application gateway." + }, + "ApplicationGatewayRequestRoutingRulePropertiesFormat": { + "properties": { + "ruleType": { + "type": "string", + "description": "Rule type. Possible values are: 'Basic' and 'PathBasedRouting'.", + "enum": [ + "Basic", + "PathBasedRouting" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRequestRoutingRuleType", + "modelAsString": true + } + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of the application gateway. " + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend port resource of the application gateway." + }, + "httpListener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Http listener resource of the application gateway. " + }, + "urlPathMap": { + "$ref": "./network.json#/definitions/SubResource", + "description": "URL path map resource of the application gateway." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the request routing rule resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of request routing rule of the application gateway." + }, + "ApplicationGatewayRequestRoutingRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Request routing rule of an application gateway." + }, + "ApplicationGatewayPropertiesFormat": { + "properties": { + "sku": { + "$ref": "#/definitions/ApplicationGatewaySku", + "description": "SKU of the application gateway resource." + }, + "sslPolicy": { + "$ref": "#/definitions/ApplicationGatewaySslPolicy", + "description": "SSL policy of the application gateway resource." + }, + "operationalState": { + "readOnly": true, + "type": "string", + "description": "Operational state of the application gateway resource. Possible values are: 'Stopped', 'Started', 'Running', and 'Stopping'.", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping" + ], + "x-ms-enum": { + "name": "ApplicationGatewayOperationalState", + "modelAsString": true + } + }, + "gatewayIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayIPConfiguration" + }, + "description": "Subnets of application the gateway resource." + }, + "authenticationCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificate" + }, + "description": "Authentication certificates of the application gateway resource." + }, + "sslCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslCertificate" + }, + "description": "SSL certificates of the application gateway resource." + }, + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration" + }, + "description": "Frontend IP addresses of the application gateway resource." + }, + "frontendPorts": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendPort" + }, + "description": "Frontend ports of the application gateway resource." + }, + "probes": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayProbe" + }, + "description": "Probes of the application gateway resource." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool" + }, + "description": "Backend address pool of the application gateway resource." + }, + "backendHttpSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings" + }, + "description": "Backend http settings of the application gateway resource." + }, + "httpListeners": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHttpListener" + }, + "description": "Http listeners of the application gateway resource." + }, + "urlPathMaps": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayUrlPathMap" + }, + "description": "URL path map of the application gateway resource." + }, + "requestRoutingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRule" + }, + "description": "Request routing rules of the application gateway resource." + }, + "webApplicationFirewallConfiguration": { + "$ref": "#/definitions/ApplicationGatewayWebApplicationFirewallConfiguration", + "description": "Web application firewall configuration." + }, + "resourceGuid": { + "type": "string", + "description": "Resource GUID property of the application gateway resource." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of the application gateway." + }, + "ApplicationGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPropertiesFormat" + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Application gateway resource" + }, + "ApplicationGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGateway" + }, + "description": "List of an application gateways in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGateways API service call." + }, + "ApplicationGatewayUrlPathMapPropertiesFormat": { + "properties": { + "defaultBackendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default backend address pool resource of URL path map." + }, + "defaultBackendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default backend http settings resource of URL path map." + }, + "pathRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPathRule" + }, + "description": "Path rule of URL path map resource." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of UrlPathMap of the application gateway." + }, + "ApplicationGatewayUrlPathMap": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "UrlPathMaps give a url path to the backend mapping information for PathBasedRouting." + }, + "ApplicationGatewayWebApplicationFirewallConfiguration": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the web application firewall is enabled." + }, + "firewallMode": { + "type": "string", + "description": "Web application firewall mode. Possible values are: 'Detection' and 'Prevention'.", + "enum": [ + "Detection", + "Prevention" + ], + "x-ms-enum": { + "name": "ApplicationGatewayFirewallMode", + "modelAsString": true + } + } + }, + "required": [ + "enabled" + ], + "description": "Application gateway web application firewall configuration." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/azure-rest-api-specs.njsproj b/azure-rest-api-specs.njsproj index 0d4d87f6c66b..6695629ed8c6 100644 --- a/azure-rest-api-specs.njsproj +++ b/azure-rest-api-specs.njsproj @@ -16,6 +16,24 @@ + + + + + + + + + + + + + + + + + + @@ -321,6 +339,8 @@ + + From db15014140f5e1a717e31b5f156826f0ee5b0ab3 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Mon, 6 Feb 2017 15:29:00 -0800 Subject: [PATCH 02/22] #ConnectionDraining Added support for connection draining in applicationGateway.json for version 2016-12-01. --- .../2016-12-01/swagger/applicationGateway.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/arm-network/2016-12-01/swagger/applicationGateway.json b/arm-network/2016-12-01/swagger/applicationGateway.json index 67a38a1df4ed..a148d4b4a05c 100644 --- a/arm-network/2016-12-01/swagger/applicationGateway.json +++ b/arm-network/2016-12-01/swagger/applicationGateway.json @@ -785,6 +785,10 @@ "modelAsString": true } }, + "connectionDraining": { + "$ref": "#/definitions/ApplicationGatewayConnectionDraining", + "description": "Connection draining of the backend http settings resource." + }, "requestTimeout": { "type": "integer", "format": "int32", @@ -1284,6 +1288,20 @@ "enabled" ], "description": "Application gateway web application firewall configuration." + }, + "ApplicationGatewayConnectionDraining": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Defines whether connection draining is enabled or not." + }, + "drainTimeoutInSec": { + "type": "integer", + "format": "int32", + "description": "Defines the number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds." + } + }, + "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration." } }, "parameters": { From 00add07248541bf66e879783cb47c6a9f418c8a1 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Mon, 6 Feb 2017 15:30:00 -0800 Subject: [PATCH 03/22] #ConnectionDraining Updated the reference in compositeNetworkClient.json to the 2016-12-01 applicationGateway.json version. --- arm-network/compositeNetworkClient.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arm-network/compositeNetworkClient.json b/arm-network/compositeNetworkClient.json index e0fe1da2d9d4..7c73032f5457 100644 --- a/arm-network/compositeNetworkClient.json +++ b/arm-network/compositeNetworkClient.json @@ -4,7 +4,7 @@ "description": "Composite Swagger for Network Client" }, "documents": [ - "./2016-09-01/swagger/applicationGateway.json", + "./2016-12-01/swagger/applicationGateway.json", "./2016-09-01/swagger/routeTable.json", "./2016-09-01/swagger/publicIpAddress.json", "./2016-09-01/swagger/networkSecurityGroup.json", From 0c28774af20941e37896f23568dd13bb9f09abb2 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Mon, 6 Feb 2017 17:22:38 -0800 Subject: [PATCH 04/22] #ConnectionDraining rephrased 3 descriptions (connection draining and WAF). --- arm-network/2016-12-01/swagger/applicationGateway.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arm-network/2016-12-01/swagger/applicationGateway.json b/arm-network/2016-12-01/swagger/applicationGateway.json index a148d4b4a05c..e2041d549e61 100644 --- a/arm-network/2016-12-01/swagger/applicationGateway.json +++ b/arm-network/2016-12-01/swagger/applicationGateway.json @@ -1269,7 +1269,7 @@ "properties": { "enabled": { "type": "boolean", - "description": "Whether the web application firewall is enabled." + "description": "Defines if the web application firewall is enabled or not." }, "firewallMode": { "type": "string", @@ -1293,12 +1293,12 @@ "properties": { "enabled": { "type": "boolean", - "description": "Defines whether connection draining is enabled or not." + "description": "Defines if connection draining is enabled or not." }, "drainTimeoutInSec": { "type": "integer", "format": "int32", - "description": "Defines the number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds." + "description": "The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds." } }, "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration." From 38c3b90d79625e5f014f2c4e48772213cb632e0a Mon Sep 17 00:00:00 2001 From: jobatzil Date: Mon, 6 Feb 2017 18:01:53 -0800 Subject: [PATCH 05/22] #ConnectionDraining Changed version entry in applicationGateway.json. --- arm-network/2016-12-01/swagger/applicationGateway.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arm-network/2016-12-01/swagger/applicationGateway.json b/arm-network/2016-12-01/swagger/applicationGateway.json index e2041d549e61..31e3328eaee0 100644 --- a/arm-network/2016-12-01/swagger/applicationGateway.json +++ b/arm-network/2016-12-01/swagger/applicationGateway.json @@ -3,7 +3,7 @@ "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": "2016-09-01" + "version": "2016-12-01" }, "host": "management.azure.com", "schemes": [ From 1e1d3d4ba2dee1e72ae59d566ede6613c736b159 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Wed, 8 Feb 2017 13:44:30 -0800 Subject: [PATCH 06/22] #ConnectionDraining Added maximum, minimum and required field to ConnectionDraining in applicationGateway.json --- arm-network/2016-12-01/swagger/applicationGateway.json | 8 ++++++++ arm-network/compositeNetworkClient.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/arm-network/2016-12-01/swagger/applicationGateway.json b/arm-network/2016-12-01/swagger/applicationGateway.json index 31e3328eaee0..d89f912479f1 100644 --- a/arm-network/2016-12-01/swagger/applicationGateway.json +++ b/arm-network/2016-12-01/swagger/applicationGateway.json @@ -1298,9 +1298,17 @@ "drainTimeoutInSec": { "type": "integer", "format": "int32", + "maximum": 3600, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, "description": "The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds." } }, + "required": [ + "enabled", + "drainTimeoutInSec" + ], "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration." } }, diff --git a/arm-network/compositeNetworkClient.json b/arm-network/compositeNetworkClient.json index 7c73032f5457..554ff7849640 100644 --- a/arm-network/compositeNetworkClient.json +++ b/arm-network/compositeNetworkClient.json @@ -4,7 +4,6 @@ "description": "Composite Swagger for Network Client" }, "documents": [ - "./2016-12-01/swagger/applicationGateway.json", "./2016-09-01/swagger/routeTable.json", "./2016-09-01/swagger/publicIpAddress.json", "./2016-09-01/swagger/networkSecurityGroup.json", @@ -15,6 +14,7 @@ "./2016-09-01/swagger/usage.json", "./2016-09-01/swagger/checkDnsAvailability.json", "./2016-09-01/swagger/virtualNetworkGateway.json", + "./2016-12-01/swagger/applicationGateway.json", "./2016-12-01/swagger/expressRouteCircuit.json", "./2016-12-01/swagger/routeFilter.json", "./2016-12-01/swagger/serviceCommunity.json" From 9dff90739c8bf084495cb12e34efa514fa5a039f Mon Sep 17 00:00:00 2001 From: jobatzil Date: Wed, 8 Feb 2017 13:51:57 -0800 Subject: [PATCH 07/22] #ConnectionDraining Fixed reference issue, changed reference to 2016-09-01 networkInterface.json as discussed. --- arm-network/2016-12-01/swagger/applicationGateway.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arm-network/2016-12-01/swagger/applicationGateway.json b/arm-network/2016-12-01/swagger/applicationGateway.json index d89f912479f1..1418e3a079be 100644 --- a/arm-network/2016-12-01/swagger/applicationGateway.json +++ b/arm-network/2016-12-01/swagger/applicationGateway.json @@ -714,7 +714,7 @@ "backendIPConfigurations": { "type": "array", "items": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + "$ref": "./../../2016-09-01/swagger/networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" }, "description": "Collection of references to IPs defined in network interfaces." }, From 2342c12502dd2cfd0a4fccb604773ba1380d1da6 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Sat, 11 Feb 2017 18:37:15 -0800 Subject: [PATCH 08/22] #ConnectionDraining Adjusted comments of connection draining to autogenerated comments in azure sdk. --- arm-network/2016-12-01/swagger/applicationGateway.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arm-network/2016-12-01/swagger/applicationGateway.json b/arm-network/2016-12-01/swagger/applicationGateway.json index 1418e3a079be..c77cb6e1c47f 100644 --- a/arm-network/2016-12-01/swagger/applicationGateway.json +++ b/arm-network/2016-12-01/swagger/applicationGateway.json @@ -1269,7 +1269,7 @@ "properties": { "enabled": { "type": "boolean", - "description": "Defines if the web application firewall is enabled or not." + "description": "Whether the web application firewall is enabled or not." }, "firewallMode": { "type": "string", @@ -1293,7 +1293,7 @@ "properties": { "enabled": { "type": "boolean", - "description": "Defines if connection draining is enabled or not." + "description": "Whether connection draining is enabled or not." }, "drainTimeoutInSec": { "type": "integer", From 85444b42cb16349b3dee24e3cd3dde73e077b038 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 09:36:56 -0800 Subject: [PATCH 09/22] #ConnectionDraining Copied networkInterface to 2016-12-01 and adjusted version number. Changed reference to networkInterface in applicationGateway (v. 2016-12-01) to the new version. --- .../swagger/applicationGateway.json | 2 +- .../2016-12-01/swagger/networkInterface.json | 812 ++++++++++++++++++ 2 files changed, 813 insertions(+), 1 deletion(-) create mode 100644 arm-network/2016-12-01/swagger/networkInterface.json diff --git a/arm-network/2016-12-01/swagger/applicationGateway.json b/arm-network/2016-12-01/swagger/applicationGateway.json index c77cb6e1c47f..c99685c8830b 100644 --- a/arm-network/2016-12-01/swagger/applicationGateway.json +++ b/arm-network/2016-12-01/swagger/applicationGateway.json @@ -714,7 +714,7 @@ "backendIPConfigurations": { "type": "array", "items": { - "$ref": "./../../2016-09-01/swagger/networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" }, "description": "Collection of references to IPs defined in network interfaces." }, diff --git a/arm-network/2016-12-01/swagger/networkInterface.json b/arm-network/2016-12-01/swagger/networkInterface.json new file mode 100644 index 000000000000..31525f278078 --- /dev/null +++ b/arm-network/2016-12-01/swagger/networkInterface.json @@ -0,0 +1,812 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}": { + "delete": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_Delete", + "description": "Deletes the specified network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_Get", + "description": "Gets information about the specified network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + } + } + }, + "put": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_CreateOrUpdate", + "description": "Creates or updates a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkInterface" + }, + "description": "Parameters supplied to the create or update network interface operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListAll", + "description": "Gets all network interfaces in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_List", + "description": "Gets all network interfaces in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable": { + "post": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetEffectiveRouteTable", + "description": "Gets all route tables applied to a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of EffectRoute resources.", + "schema": { + "$ref": "#/definitions/EffectiveRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups": { + "post": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListEffectiveNetworkSecurityGroups", + "description": "Gets all network security groups applied to a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroupListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "NetworkInterfaceIPConfigurationPropertiesFormat": { + "properties": { + "applicationGatewayBackendAddressPools": { + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGatewayBackendAddressPool" + }, + "description": "The reference of ApplicationGatewayBackendAddressPool resource." + }, + "loadBalancerBackendAddressPools": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/BackendAddressPool" + }, + "description": "The reference of LoadBalancerBackendAddressPool resource." + }, + "loadBalancerInboundNatRules": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/InboundNatRule" + }, + "description": "A list of references of LoadBalancerInboundNatRules." + }, + "privateIPAddress": { + "type": "string" + }, + "privateIPAllocationMethod": { + "type": "string", + "description": "Defines how a private IP address is assigned. Possible values are: 'Static' and 'Dynamic'.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "privateIPAddressVersion": { + "type": "string", + "description": "Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet" + }, + "primary": { + "type": "boolean", + "description": "Gets whether this is a primary customer address on the network interface." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress" + }, + "provisioningState": { + "type": "string" + } + }, + "description": "Properties of IP configuration." + }, + "NetworkInterfaceIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceIPConfigurationPropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IPConfiguration in a network interface." + }, + "NetworkInterfaceDnsSettings": { + "properties": { + "dnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection." + }, + "appliedDnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs." + }, + "internalDnsNameLabel": { + "type": "string", + "description": "Relative DNS name for this NIC used for internal communications between VMs in the same virtual network." + }, + "internalFqdn": { + "type": "string", + "description": "Fully qualified DNS name supporting internal communications between VMs in the same virtual network." + }, + "internalDomainNameSuffix": { + "type": "string", + "description": "Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix." + } + }, + "description": "DNS settings of a network interface." + }, + "NetworkInterfacePropertiesFormat": { + "properties": { + "virtualMachine": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference of a virtual machine." + }, + "networkSecurityGroup": { + "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup", + "description": "The reference of the NetworkSecurityGroup resource." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "A list of IPConfigurations of the network interface." + }, + "dnsSettings": { + "$ref": "#/definitions/NetworkInterfaceDnsSettings", + "description": "The DNS settings in network interface." + }, + "macAddress": { + "type": "string", + "description": "The MAC address of the network interface." + }, + "primary": { + "type": "boolean", + "description": "Gets whether this is a primary network interface on a virtual machine." + }, + "enableAcceleratedNetworking": { + "type": "boolean", + "description": "If the network interface is accelerated networking enabled." + }, + "enableIPForwarding": { + "type": "boolean", + "description": "Indicates whether IP forwarding is enabled on this network interface." + }, + "resourceGuid": { + "type": "string", + "description": "The resource GUID property of the network interface resource." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "NetworkInterface properties. " + }, + "NetworkInterface": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfacePropertiesFormat" + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A network interface in a resource group." + }, + "NetworkInterfaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + }, + "description": "A list of network interfaces in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListNetworkInterface API service call." + }, + "EffectiveNetworkSecurityGroup": { + "properties": { + "networkSecurityGroup": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of network security group that is applied." + }, + "association": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroupAssociation" + }, + "effectiveSecurityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveNetworkSecurityRule" + }, + "description": "A collection of effective security rules." + } + }, + "description": "Effective network security group." + }, + "EffectiveNetworkSecurityGroupAssociation": { + "properties": { + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of the subnet if assigned." + }, + "networkInterface": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of the network interface if assigned." + } + }, + "description": "The effective network security group association." + }, + "EffectiveNetworkSecurityRule": { + "properties": { + "name": { + "type": "string", + "description": "The name of the security rule specified by the user (if created by the user)." + }, + "protocol": { + "type": "string", + "description": "The network protocol this rule applies to. Possible values are: 'Tcp', 'Udp', and '*'.", + "enum": [ + "Tcp", + "Udp", + "*" + ], + "x-ms-enum": { + "name": "SecurityRuleProtocol", + "modelAsString": true + } + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range." + }, + "destinationPortRange": { + "type": "string", + "description": "The destination port or range." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The source address prefix." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix." + }, + "expandedSourceAddressPrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The expanded source address prefix." + }, + "expandedDestinationAddressPrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Expanded destination address prefix." + }, + "access": { + "type": "string", + "description": "Whether network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "SecurityRuleAccess", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule." + }, + "direction": { + "type": "string", + "description": "The direction of the rule. Possible values are: 'Inbound and Outbound'.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "SecurityRuleDirection", + "modelAsString": true + } + } + }, + "description": "Effective network security rules." + }, + "EffectiveNetworkSecurityGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroup" + }, + "description": "A list of effective network security groups." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list effective network security groups API service call." + }, + "EffectiveRoute": { + "properties": { + "name": { + "type": "string", + "description": "The name of the user defined route. This is optional." + }, + "source": { + "type": "string", + "description": "Who created the route. Possible values are: 'Unknown', 'User', 'VirtualNetworkGateway', and 'Default'.", + "enum": [ + "Unknown", + "User", + "VirtualNetworkGateway", + "Default" + ], + "x-ms-enum": { + "name": "EffectiveRouteSource", + "modelAsString": true + } + }, + "state": { + "type": "string", + "description": "The value of effective route. Possible values are: 'Active' and 'Invalid'.", + "enum": [ + "Active", + "Invalid" + ], + "x-ms-enum": { + "name": "EffectiveRouteState", + "modelAsString": true + } + }, + "addressPrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The address prefixes of the effective routes in CIDR notation." + }, + "nextHopIpAddress": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP address of the next hop of the effective route." + }, + "nextHopType": { + "type": "string", + "description": "The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'.", + "enum": [ + "VirtualNetworkGateway", + "VnetLocal", + "Internet", + "VirtualAppliance", + "None" + ], + "x-ms-enum": { + "name": "RouteNextHopType", + "modelAsString": true + } + } + }, + "description": "Effective Route" + }, + "EffectiveRouteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveRoute" + }, + "description": "A list of effective routes." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list effective route API service call." + }, + "IPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "type": "string", + "description": "The private IP allocation method. Possible values are 'Static' and 'Dynamic'.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference of the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference of the public IP resource." + }, + "provisioningState": { + "type": "string", + "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of IP configuration." + }, + "IPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IPConfigurationPropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IPConfiguration" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} From f7c0f55c031a53e75170db816801c50b5a9b45f1 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 09:48:52 -0800 Subject: [PATCH 10/22] #ConnectionDraining Copied all files that are referenced by networkInterface in the 2016-12-01 version folder and updated there version. (Their dependencies will follow in the next commit) --- .../2016-12-01/swagger/loadBalancer.json | 849 ++++++++++++++ .../swagger/networkSecurityGroup.json | 649 +++++++++++ .../2016-12-01/swagger/publicIpAddress.json | 365 ++++++ .../2016-12-01/swagger/virtualNetwork.json | 1004 +++++++++++++++++ azure-rest-api-specs.njsproj | 6 + 5 files changed, 2873 insertions(+) create mode 100644 arm-network/2016-12-01/swagger/loadBalancer.json create mode 100644 arm-network/2016-12-01/swagger/networkSecurityGroup.json create mode 100644 arm-network/2016-12-01/swagger/publicIpAddress.json create mode 100644 arm-network/2016-12-01/swagger/virtualNetwork.json diff --git a/arm-network/2016-12-01/swagger/loadBalancer.json b/arm-network/2016-12-01/swagger/loadBalancer.json new file mode 100644 index 000000000000..eb74ba608327 --- /dev/null +++ b/arm-network/2016-12-01/swagger/loadBalancer.json @@ -0,0 +1,849 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}": { + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_Delete", + "description": "Deletes the specified 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": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_Get", + "description": "Gets the specified 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": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_CreateOrUpdate", + "description": "Creates or updates 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." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LoadBalancer" + }, + "description": "Parameters supplied to the create or update load balancer operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_ListAll", + "description": "Gets all the load balancers in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_List", + "description": "Gets all the load balancers in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "FrontendIPConfigurationPropertiesFormat": { + "properties": { + "inboundNatRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Read only. Inbound rules URIs that use this frontend IP." + }, + "inboundNatPools": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Read only. Inbound pools URIs that use this frontend IP." + }, + "outboundNatRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Read only. Outbound rules URIs that use this frontend IP." + }, + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Gets load balancing rules URIs that use this frontend IP." + }, + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "type": "string", + "description": "The Private IP allocation method. Possible values are: 'Static' and 'Dynamic'.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference of the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference of the Public IP resource." + }, + "provisioningState": { + "type": "string", + "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of Frontend IP Configuration of the load balancer." + }, + "FrontendIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FrontendIPConfigurationPropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend IP address of the load balancer." + }, + "BackendAddressPoolPropertiesFormat": { + "properties": { + "backendIPConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "Gets collection of references to IP addresses defined in network interfaces." + }, + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Gets load balancing rules that use this backend address pool." + }, + "outboundNatRule": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "Gets outbound rules that use this backend address pool." + }, + "provisioningState": { + "type": "string", + "description": "Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of the backend address pool." + }, + "BackendAddressPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackendAddressPoolPropertiesFormat" + }, + "name": { + "type": "string", + "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Pool of backend IP addresses." + }, + "LoadBalancingRulePropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference of the load balancer probe used by the load balancing rule." + }, + "protocol": { + "type": "string", + "description": "The transport protocol for the external endpoint. Possible values are 'Udp' or 'Tcp'", + "enum": [ + "Udp", + "Tcp" + ], + "x-ms-enum": { + "name": "TransportProtocol", + "modelAsString": true + } + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule. Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'.", + "enum": [ + "Default", + "SourceIP", + "SourceIPProtocol" + ], + "x-ms-enum": { + "name": "LoadDistribution", + "modelAsString": true + } + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each Rule must be unique within the Load Balancer. Acceptable values are between 1 and 65534." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535. " + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "provisioningState": { + "type": "string", + "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "protocol", + "frontendPort" + ], + "description": "Properties of the load balancer." + }, + "LoadBalancingRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancingRulePropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A loag balancing rule for a load balancer." + }, + "ProbePropertiesFormat": { + "properties": { + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The load balancer rules that use this probe." + }, + "protocol": { + "type": "string", + "description": "The protocol of the end point. Possible values are: 'Http' or 'Tcp'. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.", + "enum": [ + "Http", + "Tcp" + ], + "x-ms-enum": { + "name": "ProbeProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "format": "int32", + "description": "The port for communicating the probe. Possible values range from 1 to 65535, inclusive." + }, + "intervalInSeconds": { + "type": "integer", + "format": "int32", + "description": "The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5." + }, + "numberOfProbes": { + "type": "integer", + "format": "int32", + "description": "The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure." + }, + "requestPath": { + "type": "string", + "description": "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value." + }, + "provisioningState": { + "type": "string", + "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "protocol", + "port" + ] + }, + "Probe": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProbePropertiesFormat" + }, + "name": { + "type": "string", + "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A load balancer probe." + }, + "InboundNatRulePropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "backendIPConfiguration": { + "readOnly": true, + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backed IP." + }, + "protocol": { + "type": "string", + "description": "The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp'", + "enum": [ + "Udp", + "Tcp" + ], + "x-ms-enum": { + "name": "TransportProtocol", + "modelAsString": true + } + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each Rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for the internal endpoint. Acceptable values range from 1 to 65535." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "provisioningState": { + "type": "string", + "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of the inbound NAT rule." + }, + "InboundNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundNatRulePropertiesFormat" + }, + "name": { + "type": "string", + "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Inbound NAT rule of the load balancer." + }, + "InboundNatPoolPropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "protocol": { + "type": "string", + "description": "The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp'.", + "enum": [ + "Udp", + "Tcp" + ], + "x-ms-enum": { + "name": "TransportProtocol", + "modelAsString": true + } + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "description": "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "description": "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535." + }, + "provisioningState": { + "type": "string", + "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "protocol", + "frontendPortRangeStart", + "frontendPortRangeEnd", + "backendPort" + ], + "description": "Properties of Inbound NAT pool." + }, + "InboundNatPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundNatPoolPropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Inbound NAT pool of the load balancer." + }, + "OutboundNatRulePropertiesFormat": { + "properties": { + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "description": "The number of outbound ports to be used for NAT." + }, + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The Frontend IP addresses of the load balancer." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs." + }, + "provisioningState": { + "type": "string", + "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "backendAddressPool" + ], + "description": "Outbound NAT pool of the load balancer." + }, + "OutboundNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OutboundNatRulePropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Outbound NAT pool of the load balancer." + }, + "LoadBalancerPropertiesFormat": { + "properties": { + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendIPConfiguration" + }, + "description": "Object representing the frontend IPs to be used for the load balancer" + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "Collection of backend address pools used by a load balancer" + }, + "loadBalancingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "Object collection representing the load balancing rules Gets the provisioning " + }, + "probes": { + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + }, + "description": "Collection of probe objects used in the load balancer" + }, + "inboundNatRules": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules." + }, + "inboundNatPools": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatPool" + }, + "description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules." + }, + "outboundNatRules": { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundNatRule" + }, + "description": "The outbound NAT rules." + }, + "resourceGuid": { + "type": "string", + "description": "The resource GUID property of the load balancer resource." + }, + "provisioningState": { + "type": "string", + "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of the load balancer." + }, + "LoadBalancer": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerPropertiesFormat" + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "LoadBalancer resource" + }, + "LoadBalancerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "description": "A list of load balancers in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLoadBalancers API service call." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/arm-network/2016-12-01/swagger/networkSecurityGroup.json b/arm-network/2016-12-01/swagger/networkSecurityGroup.json new file mode 100644 index 000000000000..a3e2d9b271e7 --- /dev/null +++ b/arm-network/2016-12-01/swagger/networkSecurityGroup.json @@ -0,0 +1,649 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}": { + "delete": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_Delete", + "description": "Deletes the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. Resource does not exist." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_Get", + "description": "Gets the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + } + } + }, + "put": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_CreateOrUpdate", + "description": "Creates or updates a network security group in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + }, + "description": "Parameters supplied to the create or update network security group operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups": { + "get": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_ListAll", + "description": "Gets all network security groups in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups": { + "get": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_List", + "description": "Gets all network security groups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}": { + "delete": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_Delete", + "description": "Deletes the specified network security rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "securityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the security rule." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_Get", + "description": "Get the specified network security rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "securityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the security rule." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + } + } + }, + "put": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_CreateOrUpdate", + "description": "Creates or updates a security rule in the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "securityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the security rule." + }, + { + "name": "securityRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "Parameters supplied to the create or update network security rule operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules": { + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_List", + "description": "Gets all security rules in a network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of SecurityRule resources.", + "schema": { + "$ref": "#/definitions/SecurityRuleListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SecurityRulePropertiesFormat": { + "properties": { + "description": { + "type": "string", + "description": "A description for this rule. Restricted to 140 chars." + }, + "protocol": { + "type": "string", + "description": "Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and '*'.", + "enum": [ + "Tcp", + "Udp", + "*" + ], + "x-ms-enum": { + "name": "SecurityRuleProtocol", + "modelAsString": true + } + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports." + }, + "destinationPortRange": { + "type": "string", + "description": "The destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. " + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "access": { + "type": "string", + "description": "The network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "SecurityRuleAccess", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule." + }, + "direction": { + "type": "string", + "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outcoming traffic. Possible values are: 'Inbound' and 'Outbound'.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "SecurityRuleDirection", + "modelAsString": true + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "protocol", + "sourceAddressPrefix", + "destinationAddressPrefix", + "access", + "direction" + ] + }, + "SecurityRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityRulePropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Network security rule." + }, + "SecurityRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "The security rules in a network security group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group." + }, + "NetworkSecurityGroupPropertiesFormat": { + "properties": { + "securityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "A collection of security rules of the network security group." + }, + "defaultSecurityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "The default security rules of network security group." + }, + "networkInterfaces": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "A collection of references to network interfaces." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./virtualNetwork.json#/definitions/Subnet" + }, + "description": "A collection of references to subnets." + }, + "resourceGuid": { + "type": "string", + "description": "The resource GUID property of the network security group resource." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Network Security Group resource." + }, + "NetworkSecurityGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkSecurityGroupPropertiesFormat" + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "NetworkSecurityGroup resource." + }, + "NetworkSecurityGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityGroup" + }, + "description": "A list of NetworkSecurityGroup resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListNetworkSecurityGroups API service call." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/arm-network/2016-12-01/swagger/publicIpAddress.json b/arm-network/2016-12-01/swagger/publicIpAddress.json new file mode 100644 index 000000000000..642f63087872 --- /dev/null +++ b/arm-network/2016-12-01/swagger/publicIpAddress.json @@ -0,0 +1,365 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}": { + "delete": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_Delete", + "description": "Deletes the specified public IP address.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_Get", + "description": "Gets the specified public IP address in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + } + } + }, + "put": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_CreateOrUpdate", + "description": "Creates or updates a static or dynamic public IP address.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PublicIPAddress" + }, + "description": "Parameters supplied to the create or update public IP address operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses": { + "get": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_ListAll", + "description": "Gets all the public IP addresses in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "#/definitions/PublicIPAddressListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses": { + "get": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_List", + "description": "Gets all public IP addresses in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "#/definitions/PublicIPAddressListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PublicIPAddressPropertiesFormat": { + "properties": { + "publicIPAllocationMethod": { + "type": "string", + "description": "The public IP allocation method. Possible values are: 'Static' and 'Dynamic'.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "publicIPAddressVersion": { + "type": "string", + "description": "The public IP address version. Possible values are: 'IPv4' and 'IPv6'.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "ipConfiguration": { + "readOnly": true, + "$ref": "./networkInterface.json#/definitions/IPConfiguration" + }, + "dnsSettings": { + "$ref": "#/definitions/PublicIPAddressDnsSettings", + "description": "The FQDN of the DNS record associated with the public IP address." + }, + "ipAddress": { + "type": "string" + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The idle timeout of the public IP address." + }, + "resourceGuid": { + "type": "string", + "description": "The resource GUID property of the public IP resource." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Public IP address properties." + }, + "PublicIPAddress": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PublicIPAddressPropertiesFormat" + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Public IP address resource." + }, + "PublicIPAddressListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicIPAddress" + }, + "description": "A list of public IP addresses that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPublicIpAddresses API service call." + }, + "PublicIPAddressDnsSettings": { + "properties": { + "domainNameLabel": { + "type": "string", + "description": "Gets or sets the Domain name label.The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system." + }, + "fqdn": { + "type": "string", + "description": "Gets the FQDN, Fully qualified domain name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone." + }, + "reverseFqdn": { + "type": "string", + "description": "Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. " + } + }, + "description": "Contains FQDN of the DNS record associated with the public IP address" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/arm-network/2016-12-01/swagger/virtualNetwork.json b/arm-network/2016-12-01/swagger/virtualNetwork.json new file mode 100644 index 000000000000..897c10e7da92 --- /dev/null +++ b/arm-network/2016-12-01/swagger/virtualNetwork.json @@ -0,0 +1,1004 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}": { + "delete": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Delete", + "description": "Deletes the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Get", + "description": "Gets the specified virtual network by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + } + } + }, + "put": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_CreateOrUpdate", + "description": "Creates or updates a virtual network in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetwork" + }, + "description": "Parameters supplied to the create or update virtual network operation" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_ListAll", + "description": "Gets all virtual networks in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetwork resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_List", + "description": "Gets all virtual networks in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetwork resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}": { + "delete": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_Delete", + "description": "Deletes the specified subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_Get", + "description": "Gets the specified subnet by virtual network and resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + } + } + }, + "put": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_CreateOrUpdate", + "description": "Creates or updates a subnet in the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "subnetParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Subnet" + }, + "description": "Parameters supplied to the create or update subnet operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets": { + "get": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_List", + "description": "Gets all subnets in a virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Subnet resources.", + "schema": { + "$ref": "#/definitions/SubnetListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}": { + "delete": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_Delete", + "description": "Deletes the specified virtual network peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network peering." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_Get", + "description": "Gets the specified virtual network peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network peering." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + } + } + }, + "put": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_CreateOrUpdate", + "description": "Creates or updates a peering in the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "VirtualNetworkPeeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "Parameters supplied to the create or update virtual network peering operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings": { + "get": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_List", + "description": "Gets all virtual network peerings in a virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkPeering resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeeringListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability": { + "get": { + "operationId": "VirtualNetworks_CheckIPAddressAvailability", + "description": "Checks whether a private IP address is available for use.", + "parameters": [ + { + "name": "ipAddress", + "in": "query", + "required": false, + "type": "string", + "description": "The private IP address to be verified." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private IP address availability and list of other free addresses if the requested one is not available.", + "schema": { + "$ref": "#/definitions/IPAddressAvailabilityResult" + } + } + } + } + } + }, + "definitions": { + "ResourceNavigationLinkFormat": { + "properties": { + "linkedResourceType": { + "type": "string", + "description": "Resource type of the linked resource." + }, + "link": { + "type": "string", + "description": "Link to the external resource" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the ResourceNavigationLink resource." + } + }, + "description": "Properties of ResourceNavigationLink." + }, + "ResourceNavigationLink": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ResourceNavigationLinkFormat" + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "ResourceNavigationLink resource." + }, + "SubnetPropertiesFormat": { + "properties": { + "addressPrefix": { + "type": "string", + "description": "The address prefix for the subnet." + }, + "networkSecurityGroup": { + "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup", + "description": "The reference of the NetworkSecurityGroup resource." + }, + "routeTable": { + "$ref": "./routeTable.json#/definitions/RouteTable", + "description": "The reference of the RouteTable resource." + }, + "ipConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/IPConfiguration" + }, + "description": "Gets an array of references to the network interface IP configurations using subnet." + }, + "resourceNavigationLinks": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceNavigationLink" + }, + "description": "Gets an array of references to the external resources using subnet." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource." + } + } + }, + "VirtualNetworkPeeringPropertiesFormat": { + "properties": { + "allowVirtualNetworkAccess": { + "type": "boolean", + "description": "Whether the VMs in the linked virtual network space would be able to access all the VMs in local Virtual network space." + }, + "allowForwardedTraffic": { + "type": "boolean", + "description": "Whether the forwarded traffic from the VMs in the remote virtual network will be allowed/disallowed." + }, + "allowGatewayTransit": { + "type": "boolean", + "description": "If gateway links can be used in remote virtual networking to link to this virtual network." + }, + "useRemoteGateways": { + "type": "boolean", + "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway." + }, + "remoteVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference of the remote virtual network." + }, + "peeringState": { + "type": "string", + "description": "The status of the virtual network peering. Possible values are 'Initiated', 'Connected', and 'Disconnected'.", + "enum": [ + "Initiated", + "Connected", + "Disconnected" + ], + "x-ms-enum": { + "name": "VirtualNetworkPeeringState", + "modelAsString": true + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource." + } + } + }, + "Subnet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubnetPropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Subnet in a virtual network resource." + }, + "VirtualNetworkPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peerings in a virtual network resource." + }, + "SubnetListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + }, + "description": "The subnets in a virtual network." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network" + }, + "VirtualNetworkPeeringListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "The peerings in a virtual network." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network." + }, + "VirtualNetworkPropertiesFormat": { + "properties": { + "addressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The AddressSpace that contains an array of IP address ranges that can be used by subnets." + }, + "dhcpOptions": { + "$ref": "#/definitions/DhcpOptions", + "description": "The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network." + }, + "subnets": { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + }, + "description": "A list of subnets in a Virtual Network." + }, + "virtualNetworkPeerings": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "A list of peerings in a Virtual Network." + }, + "resourceGuid": { + "type": "string", + "description": "The resourceGuid property of the Virtual Network resource." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + } + }, + "VirtualNetwork": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkPropertiesFormat" + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Virtual Network resource." + }, + "VirtualNetworkListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetwork" + }, + "description": "Gets a list of VirtualNetwork resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworks API service call." + }, + "AddressSpace": { + "properties": { + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of address blocks reserved for this virtual network in CIDR notation." + } + }, + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "DhcpOptions": { + "properties": { + "dnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of DNS servers IP addresses." + } + }, + "description": "DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options." + }, + "IPAddressAvailabilityResult": { + "properties": { + "available": { + "type": "boolean", + "description": "Private IP address availability." + }, + "availableIPAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Contains other available private IP addresses if the asked for address is taken." + } + }, + "description": "Response for CheckIPAddressAvailability API service call" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/azure-rest-api-specs.njsproj b/azure-rest-api-specs.njsproj index 6695629ed8c6..17553b19eb15 100644 --- a/azure-rest-api-specs.njsproj +++ b/azure-rest-api-specs.njsproj @@ -22,6 +22,7 @@ + @@ -30,9 +31,14 @@ + + + + + From fee11f935c023d2d667eeb5381ec8406611922d7 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 09:51:19 -0800 Subject: [PATCH 11/22] #ConnectionDraining Added the missing references of virtualNetwork to the 2016-12-01 version folder. --- .../2016-12-01/swagger/routeTable.json | 588 ++++++++++++++++++ azure-rest-api-specs.njsproj | 1 + 2 files changed, 589 insertions(+) create mode 100644 arm-network/2016-12-01/swagger/routeTable.json diff --git a/arm-network/2016-12-01/swagger/routeTable.json b/arm-network/2016-12-01/swagger/routeTable.json new file mode 100644 index 000000000000..84ca4e1d4086 --- /dev/null +++ b/arm-network/2016-12-01/swagger/routeTable.json @@ -0,0 +1,588 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}": { + "delete": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_Delete", + "description": "Deletes the specified route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "200": { + "description": "Request successful. Operation to delete was accepted." + }, + "202": { + "description": "Accepted. If route table not found returned synchronously, otherwise if found returned asynchronously." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_Get", + "description": "Gets the specified route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + } + } + }, + "put": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_CreateOrUpdate", + "description": "Create or updates a route table in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RouteTable" + }, + "description": "Parameters supplied to the create or update route table operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables": { + "get": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_List", + "description": "Gets all route tables in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of RouteTable resources.", + "schema": { + "$ref": "#/definitions/RouteTableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables": { + "get": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_ListAll", + "description": "Gets all route tables in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of RouteTable resources.", + "schema": { + "$ref": "#/definitions/RouteTableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}": { + "delete": { + "tags": [ + "Routes" + ], + "operationId": "Routes_Delete", + "description": "Deletes the specified route from a route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "routeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Accepted." + }, + "204": { + "description": "Route was deleted or not found." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Routes" + ], + "operationId": "Routes_Get", + "description": "Gets the specified route from a route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "routeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route resource.", + "schema": { + "$ref": "#/definitions/Route" + } + } + } + }, + "put": { + "tags": [ + "Routes" + ], + "operationId": "Routes_CreateOrUpdate", + "description": "Creates or updates a route in the specified route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "routeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route." + }, + { + "name": "routeParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Route" + }, + "description": "Parameters supplied to the create or update route operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Route resource.", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Route resource.", + "schema": { + "$ref": "#/definitions/Route" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes": { + "get": { + "tags": [ + "Routes" + ], + "operationId": "Routes_List", + "description": "Gets all routes in a route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Route resources.", + "schema": { + "$ref": "#/definitions/RouteListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "RoutePropertiesFormat": { + "properties": { + "addressPrefix": { + "type": "string", + "description": "The destination CIDR to which the route applies." + }, + "nextHopType": { + "type": "string", + "description": "The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'", + "enum": [ + "VirtualNetworkGateway", + "VnetLocal", + "Internet", + "VirtualAppliance", + "None" + ], + "x-ms-enum": { + "name": "RouteNextHopType", + "modelAsString": true + } + }, + "nextHopIpAddress": { + "type": "string", + "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "nextHopType" + ], + "description": "Route resource" + }, + "Route": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoutePropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Route resource" + }, + "RouteTablePropertiesFormat": { + "properties": { + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/Route" + }, + "description": "Collection of routes contained within a route table." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./virtualNetwork.json#/definitions/Subnet" + }, + "description": "A collection of references to subnets." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Route Table resource" + }, + "RouteTable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteTablePropertiesFormat" + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Route table resource." + }, + "RouteTableListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteTable" + }, + "description": "Gets a list of route tables in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRouteTable API service call." + }, + "RouteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Route" + }, + "description": "Gets a list of routes in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRoute API service call" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/azure-rest-api-specs.njsproj b/azure-rest-api-specs.njsproj index 17553b19eb15..a9f5066f56a5 100644 --- a/azure-rest-api-specs.njsproj +++ b/azure-rest-api-specs.njsproj @@ -37,6 +37,7 @@ + From 1bc92df1658777691573836d6689aacef131f886 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 10:05:32 -0800 Subject: [PATCH 12/22] #Connection Draining sorted references in compositeNetworkClient.json alphabetically. --- arm-network/compositeNetworkClient.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/arm-network/compositeNetworkClient.json b/arm-network/compositeNetworkClient.json index 99200cf5234e..0312333f57ac 100644 --- a/arm-network/compositeNetworkClient.json +++ b/arm-network/compositeNetworkClient.json @@ -4,21 +4,21 @@ "description": "Composite Swagger for Network Client" }, "documents": [ - "./2016-09-01/swagger/routeTable.json", - "./2016-09-01/swagger/publicIpAddress.json", - "./2016-09-01/swagger/networkSecurityGroup.json", + "./2016-09-01/swagger/checkDnsAvailability.json", "./2016-09-01/swagger/loadBalancer.json", - "./2016-09-01/swagger/virtualNetwork.json", "./2016-09-01/swagger/networkInterface.json", - "./2016-09-01/swagger/vmssNetworkInterface.json", + "./2016-09-01/swagger/networkSecurityGroup.json", + "./2016-09-01/swagger/networkWatcher.json", + "./2016-09-01/swagger/publicIpAddress.json", + "./2016-09-01/swagger/routeTable.json", "./2016-09-01/swagger/usage.json", - "./2016-09-01/swagger/checkDnsAvailability.json", + "./2016-09-01/swagger/virtualNetwork.json", "./2016-09-01/swagger/virtualNetworkGateway.json", - "./2016-09-01/swagger/networkWatcher.json", + "./2016-09-01/swagger/vmssNetworkInterface.json", "./2016-12-01/swagger/applicationGateway.json", "./2016-12-01/swagger/expressRouteCircuit.json", + "./2016-12-01/swagger/network.json", "./2016-12-01/swagger/routeFilter.json", - "./2016-12-01/swagger/serviceCommunity.json", - "./2016-12-01/swagger/network.json" + "./2016-12-01/swagger/serviceCommunity.json" ] } From 6b4e11ea0be84ad53e67304f855ebbb22bff9648 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 10:16:13 -0800 Subject: [PATCH 13/22] #ConnectionDraining updated compositeNetworkClient based on the previous changes. --- arm-network/compositeNetworkClient.json | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/arm-network/compositeNetworkClient.json b/arm-network/compositeNetworkClient.json index 0312333f57ac..1a0f09f950e8 100644 --- a/arm-network/compositeNetworkClient.json +++ b/arm-network/compositeNetworkClient.json @@ -5,20 +5,21 @@ }, "documents": [ "./2016-09-01/swagger/checkDnsAvailability.json", - "./2016-09-01/swagger/loadBalancer.json", "./2016-09-01/swagger/networkInterface.json", - "./2016-09-01/swagger/networkSecurityGroup.json", "./2016-09-01/swagger/networkWatcher.json", - "./2016-09-01/swagger/publicIpAddress.json", - "./2016-09-01/swagger/routeTable.json", "./2016-09-01/swagger/usage.json", - "./2016-09-01/swagger/virtualNetwork.json", "./2016-09-01/swagger/virtualNetworkGateway.json", "./2016-09-01/swagger/vmssNetworkInterface.json", + "./2016-12-01/swagger/applicationGateway.json", "./2016-12-01/swagger/expressRouteCircuit.json", + "./2016-12-01/swagger/loadBalancer.json", "./2016-12-01/swagger/network.json", + "./2016-12-01/swagger/networkSecurityGroup.json", + "./2016-12-01/swagger/publicIpAddress.json", "./2016-12-01/swagger/routeFilter.json", - "./2016-12-01/swagger/serviceCommunity.json" + "./2016-12-01/swagger/routeTable.json", + "./2016-12-01/swagger/serviceCommunity.json", + "./2016-12-01/swagger/virtualNetwork.json" ] } From a5691bab7afe1600d71786a1381b14092474345c Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 12:56:16 -0800 Subject: [PATCH 14/22] #ConnectionDraining copied the rest of the files to 2016-12-01 based on the comments on github. --- .../swagger/checkDnsAvailability.json | 103 + .../2016-12-01/swagger/networkWatcher.json | 1735 +++++++++++++++++ arm-network/2016-12-01/swagger/usage.json | 159 ++ .../swagger/virtualNetworkGateway.json | 1686 ++++++++++++++++ .../swagger/vmssNetworkInterface.json | 207 ++ arm-network/compositeNetworkClient.json | 15 +- azure-rest-api-specs.njsproj | 5 + 7 files changed, 3902 insertions(+), 8 deletions(-) create mode 100644 arm-network/2016-12-01/swagger/checkDnsAvailability.json create mode 100644 arm-network/2016-12-01/swagger/networkWatcher.json create mode 100644 arm-network/2016-12-01/swagger/usage.json create mode 100644 arm-network/2016-12-01/swagger/virtualNetworkGateway.json create mode 100644 arm-network/2016-12-01/swagger/vmssNetworkInterface.json diff --git a/arm-network/2016-12-01/swagger/checkDnsAvailability.json b/arm-network/2016-12-01/swagger/checkDnsAvailability.json new file mode 100644 index 000000000000..b0e135153e5f --- /dev/null +++ b/arm-network/2016-12-01/swagger/checkDnsAvailability.json @@ -0,0 +1,103 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/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/locations/{location}/CheckDnsNameAvailability": { + "get": { + "operationId": "CheckDnsNameAvailability", + "description": "Checks whether a domain name in the cloudapp.net zone is available for use.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "domainNameLabel", + "in": "query", + "required": false, + "type": "string", + "description": "The domain name to be verified. It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns whether the DNS name is available.", + "schema": { + "$ref": "#/definitions/DnsNameAvailabilityResult" + } + } + } + } + } + }, + "definitions": { + "DnsNameAvailabilityResult": { + "properties": { + "available": { + "type": "boolean", + "description": "Domain availability (True/False)." + } + }, + "description": "Response for the CheckDnsNameAvailability API service call." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/arm-network/2016-12-01/swagger/networkWatcher.json b/arm-network/2016-12-01/swagger/networkWatcher.json new file mode 100644 index 000000000000..ebeaaf3710d0 --- /dev/null +++ b/arm-network/2016-12-01/swagger/networkWatcher.json @@ -0,0 +1,1735 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}": { + "put": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_CreateOrUpdate", + "description": "Creates or updates a network watcher in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkWatcher" + }, + "description": "Parameters that define the network watcher resource." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + } + } + }, + "get": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_Get", + "description": "Gets the specified network watcher by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + } + } + }, + "delete": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_Delete", + "x-ms-long-running-operation": true, + "description": "Deletes the specified network watcher resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers": { + "get": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_List", + "description": "Gets all network watchers by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of network watcher resources.", + "schema": { + "$ref": "#/definitions/NetworkWatcherListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers": { + "get": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_ListAll", + "description": "Gets all network watchers by subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of network watcher resources.", + "schema": { + "$ref": "#/definitions/NetworkWatcherListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetTopology", + "description": "Gets the current network topology by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TopologyParameters" + }, + "description": "Parameters that define the representation of topology." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the topology of resource group.", + "schema": { + "$ref": "#/definitions/Topology" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_VerifyIPFlow", + "x-ms-long-running-operation": true, + "description": "Verify IP flow from the specified VM to a location given the currently configured NSG rules.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VerificationIPFlowParameters" + }, + "description": "Parameters that define the IP flow to be verified." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the result of IP flow verification.", + "schema": { + "$ref": "#/definitions/VerificationIPFlowResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/VerificationIPFlowResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetNextHop", + "x-ms-long-running-operation": true, + "description": "Gets the next hop from the specified VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NextHopParameters" + }, + "description": "Parameters that define the source and destination endpoint." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the next hop from the VM.", + "schema": { + "$ref": "#/definitions/NextHopResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NextHopResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetVMSecurityRules", + "x-ms-long-running-operation": true, + "description": "Gets the configured and effective security group rules on the specified VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityGroupViewParameters" + }, + "description": "Parameters that define the VM to check security groups for." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns security group rules on the VM.", + "schema": { + "$ref": "#/definitions/SecurityGroupViewResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/SecurityGroupViewResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}": { + "put": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Create", + "x-ms-long-running-operation": true, + "description": "Create and start a packet capture on the specified VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PacketCapture" + }, + "description": "Parameters that define the create packet capture operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting packet capture session.", + "schema": { + "$ref": "#/definitions/PacketCaptureResult" + } + } + } + }, + "get": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Get", + "description": "Gets a packet capture session by name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a packet capture session.", + "schema": { + "$ref": "#/definitions/PacketCaptureResult" + } + } + } + }, + "delete": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Delete", + "x-ms-long-running-operation": true, + "description": "Deletes the specified packet capture session.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop": { + "post": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Stop", + "x-ms-long-running-operation": true, + "description": "Stops a specified packet capture session.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation stops the packet capture session." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus": { + "post": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_GetStatus", + "x-ms-long-running-operation": true, + "description": "Query the status of a running packet capture session.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name given to the packet capture session." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful query of packet capture status.", + "schema": { + "$ref": "#/definitions/PacketCaptureQueryStatusResult" + } + }, + "202": { + "description": "Accepted query status of packet capture.", + "schema": { + "$ref": "#/definitions/PacketCaptureQueryStatusResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures": { + "get": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_List", + "description": "Lists all packet capture sessions within the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful packet capture enumeration request.", + "schema": { + "$ref": "#/definitions/PacketCaptureListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetTroubleshooting", + "x-ms-long-running-operation": true, + "description": "Initiate troubleshooting on a specified resource", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TroubleshootingParameters" + }, + "description": "Parameters that define the resource to troubleshoot." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful troubleshooting request", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "202": { + "description": "Accepted get troubleshooting request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetTroubleshootingResult", + "x-ms-long-running-operation": true, + "description": "Get the last completed troubleshooting result on a specified resource", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryTroubleshootingParameters" + }, + "description": "Parameters that define the resource to query the troubleshooting result." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful get troubleshooting result request", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "202": { + "description": "Accepted get troubleshooting result request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_SetFlowLogConfiguration", + "x-ms-long-running-operation": true, + "description": "Configures flow log on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FlowLogInformation" + }, + "description": "Parameters that define the configuration of flow log." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for setting flow log configuration.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetFlowLogStatus", + "x-ms-long-running-operation": true, + "description": "Queries status of flow log on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FlowLogStatusParameters" + }, + "description": "Parameters that define a resource to query flow log status." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for query flow log status.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + } + } + } + } + }, + "definitions": { + "NetworkWatcher": { + "properties": { + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkWatcherPropertiesFormat" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Network watcher in a resource group." + }, + "NetworkWatcherPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "description": "The provisioning state of the resource." + } + }, + "description": "The network watcher properties." + }, + "NetworkWatcherListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkWatcher" + } + } + }, + "description": "List of network watcher resources." + }, + "TopologyParameters": { + "required": [ + "targetResourceGroupName" + ], + "properties": { + "targetResourceGroupName": { + "type": "string", + "description": "The name of the target resource group to perform topology on." + } + }, + "description": "Parameters that define the representation of topology." + }, + "Topology": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "GUID representing the operation id." + }, + "createdDateTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The datetime when the topology was initially created for the resource group." + }, + "lastModified": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The datetime when the topology was last modified." + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/TopologyResource" + } + } + }, + "description": "Topology of the specified resource group." + }, + "TopologyResource": { + "properties": { + "name": { + "type": "string", + "description": "Name of the resource." + }, + "id": { + "type": "string", + "description": "ID of the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "associations": { + "type": "array", + "description": "Holds the associations the resource has with other resources in the resource group.", + "items": { + "$ref": "#/definitions/TopologyAssociation" + } + } + }, + "description": "The network resource topology information for the given resource group." + }, + "TopologyAssociation": { + "properties": { + "name": { + "type": "string", + "description": "The name of the resource that is associated with the parent resource." + }, + "resourceId": { + "type": "string", + "description": "The ID of the resource that is associated with the parent resource." + }, + "associationType": { + "type": "string", + "enum": [ "Associated", "Contains" ], + "x-ms-enum": { + "name": "AssociationType", + "modelAsString": true + }, + "description": "The association type of the child resource to the parent resource." + } + }, + "description": "Resources that have an association with the parent resource." + }, + "VerificationIPFlowParameters": { + "description": "Parameters that define the IP flow to be verified.", + "required": [ + "targetResourceId", + "direction", + "protocol", + "localPort", + "remotePort", + "localIPAddress", + "remoteIPAddress" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The ID of the target resource to perform next-hop on." + }, + "direction": { + "type": "string", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "Direction", + "modelAsString": true + }, + "description": "The direction of the packet represented as a 5-tuple." + }, + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": true + }, + "description": "Protocol to be verified on." + }, + "localPort": { + "type": "string", + "description": "The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction." + }, + "remotePort": { + "type": "string", + "description": "The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction." + }, + "localIPAddress": { + "type": "string", + "description": "The local IP address. Acceptable values are valid IPv4 addresses." + }, + "remoteIPAddress": { + "type": "string", + "description": "The remote IP address. Acceptable values are valid IPv4 addresses." + }, + "targetNicResourceId": { + "type": "string", + "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional)." + } + } + }, + "VerificationIPFlowResult": { + "description": "Results of IP flow verification on the target resource.", + "properties": { + "access": { + "type": "string", + "enum": [ "Allow", "Deny" ], + "x-ms-enum": { + "name": "Access", + "modelAsString": true + }, + "description": "Indicates whether the traffic is allowed or denied." + }, + "ruleName": { + "type": "string", + "description": "Name of the rule. If input is not matched against any security rule, it is not displayed." + } + } + }, + "NextHopParameters": { + "description": "Parameters that define the source and destination endpoint.", + "required": [ + "targetResourceId", + "sourceIPAddress", + "destinationIPAddress" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The resource identifier of the target resource against which the action is to be performed." + }, + "sourceIPAddress": { + "type": "string", + "description": "The source IP address." + }, + "destinationIPAddress": { + "type": "string", + "description": "The destination IP address." + }, + "targetNicResourceId": { + "type": "string", + "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional)." + } + } + }, + "NextHopResult": { + "description": "The information about next hop from the specified VM.", + "properties": { + "nextHopType": { + "type": "string", + "enum": [ + "Internet", + "VirtualAppliance", + "VirtualNetworkGateway", + "VnetLocal", + "HyperNetGateway", + "None" + ], + "x-ms-enum": { + "name": "NextHopType", + "modelAsString": true + }, + "description": "Next hop type." + }, + "nextHopIpAddress": { + "type": "string", + "description": "Next hop IP Address" + }, + "routeTableId": { + "type": "string", + "description": "The resource identifier for the route table associated with the route being returned. If the route being returned does not correspond to any user created routes then this field will be the string 'System Route'." + } + } + }, + "SecurityGroupViewParameters": { + "description": "Parameters that define the VM to check security groups for.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "ID of the target VM." + } + } + }, + "SecurityGroupViewResult": { + "description": "The information about security rules applied to the specified VM.", + "properties": { + "networkInterfaces": { + "type": "array", + "description": "List of network interfaces on the specified VM.", + "items": { + "$ref": "#/definitions/SecurityGroupNetworkInterface" + } + } + } + }, + "SecurityGroupNetworkInterface": { + "description": "Network interface and all its associated security rules.", + "properties": { + "id": { + "type": "string", + "description": "ID of the network interface." + }, + "securityRuleAssociations": { + "$ref": "#/definitions/SecurityRuleAssociations" + } + } + }, + "SecurityRuleAssociations": { + "description": "All security rules associated with the network interface.", + "properties": { + "networkInterfaceAssociation": { + "$ref": "#/definitions/NetworkInterfaceAssociation" + }, + "subnetAssociation": { + "$ref": "#/definitions/SubnetAssociation" + }, + "defaultSecurityRules": { + "type": "array", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + }, + "description": "Collection of default security rules of the network security group." + }, + "effectiveSecurityRules": { + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/EffectiveNetworkSecurityRule" + }, + "description": "Collection of effective security rules." + } + } + }, + "NetworkInterfaceAssociation": { + "description": "Network interface and its custom security rules.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Network interface ID." + }, + "securityRules": { + "type": "array", + "description": "Collection of custom security rules.", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + } + } + } + }, + "SubnetAssociation": { + "description": "Network interface and its custom security rules.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Subnet ID." + }, + "securityRules": { + "type": "array", + "description": "Collection of custom security rules.", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + } + } + } + }, + "PacketCapture": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCaptureParameters" + } + }, + "required": [ + "properties" + ], + "description": "Parameters that define the create packet capture operation." + }, + "PacketCaptureParameters": { + "properties": { + "target": { + "type": "string", + "description": "The ID of the targeted resource, only VM is currently supported." + }, + "bytesToCapturePerPacket": { + "type": "integer", + "default": 0, + "description": "Number of bytes captured per packet, the remaining bytes are truncated." + }, + "totalBytesPerSession": { + "type": "integer", + "default": 1073741824, + "description": "Maximum size of the capture output." + }, + "timeLimitInSeconds": { + "type": "integer", + "default": 18000, + "description": "Maximum duration of the capture session in seconds." + }, + "storageLocation": { + "$ref": "#/definitions/PacketCaptureStorageLocation" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCaptureFilter" + } + } + }, + "required": [ + "target", + "storageLocation" + ], + "description": "Parameters that define the create packet capture operation." + }, + "PacketCaptureStorageLocation": { + "properties": { + "storageId": { + "type": "string", + "description": "The ID of the storage account to save the packet capture session. Required if no local file path is provided." + }, + "storagePath": { + "type": "string", + "description": "The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture." + }, + "filePath": { + "type": "string", + "description": "A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional." + } + }, + "description": "Describes the storage location for a packet capture session." + }, + "PacketCaptureFilter": { + "properties": { + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "Any" + ], + "x-ms-enum": { + "name": "PcProtocol", + "modelAsString": true + }, + "default": "Any", + "description": "Protocol to be filtered on." + }, + "localIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "remoteIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "localPort": { + "type": "string", + "description": "Local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "remotePort": { + "type": "string", + "description": "Remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + } + }, + "description": "Filter that is applied to packet capture request. Multiple filters can be applied." + }, + "PacketCaptureListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCaptureResult" + }, + "description": "Information about packet capture sessions." + } + }, + "description": "List of packet capture sessions." + }, + "PacketCaptureResult": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the packet capture session." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "ID of the packet capture operation." + }, + "etag": { + "type": "string", + "default": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCaptureResultProperties" + } + }, + "description": "Information about packet capture session." + }, + "PacketCaptureResultProperties": { + "properties": { + "provisioningState": { + "type": "string", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "description": "The provisioning state of the packet capture session." + } + }, + "allOf": [ + { + "$ref": "#/definitions/PacketCaptureParameters" + } + ], + "description": "Describes the properties of a packet capture session." + }, + "PacketCaptureQueryStatusResult": { + "properties": { + "name": { + "type": "string", + "description": "The name of the packet capture resource." + }, + "id": { + "type": "string", + "description": "The ID of the packet capture resource." + }, + "captureStartTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the packet capture session." + }, + "packetCaptureStatus": { + "type": "string", + "enum": [ + "NotStarted", + "Running", + "Stopped", + "Error", + "Unknown" + ], + "x-ms-enum": { + "name": "PcStatus", + "modelAsString": true + }, + "description": "The status of the packet capture session." + }, + "stopReason": { + "type": "string", + "description": "The reason the current packet capture session was stopped." + }, + "packetCaptureError": { + "type": "array", + "description": "List of errors of packet capture session.", + "items": { + "type": "string", + "enum": [ + "InternalError", + "AgentStopped", + "CaptureFailed", + "LocalFileFailed", + "StorageFailed" + ], + "x-ms-enum": { + "name": "PcError", + "modelAsString": true + } + } + } + }, + "description": "Status of packet capture session." + }, + "TroubleshootingParameters": { + "description": "Parameters that define the resource to troubleshoot.", + "required": [ + "targetResourceId", + "properties" + ], + "properties": { + "targetResourceId": { + "description": "The target resource to troubleshoot.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TroubleshootingProperties" + } + } + }, + "QueryTroubleshootingParameters": { + "description": "Parameters that define the resource to query the troubleshooting result.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "description": "The target resource ID to query the troubleshooting result.", + "type": "string" + } + } + }, + "TroubleshootingProperties": { + "description": "Storage location provided for troubleshoot.", + "required": [ + "storageId", + "storagePath" + ], + "properties": { + "storageId": { + "description": "The ID for the storage account to save the troubleshoot result.", + "type": "string" + }, + "storagePath": { + "description": "The path to the blob to save the troubleshoot result in.", + "type": "string" + } + } + }, + "TroubleshootingResult": { + "description": "Troubleshooting information gained from specified resource.", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the troubleshooting." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the troubleshooting." + }, + "code": { + "type": "string", + "description": "The result code of the troubleshooting." + }, + "results": { + "type": "array", + "description": "Information from troubleshooting.", + "items": { + "$ref": "#/definitions/TroubleshootingDetails" + } + } + } + }, + "TroubleshootingDetails": { + "description": "Information gained from troubleshooting of specified resource.", + "properties": { + "id": { + "type": "string", + "description": "The id of the get troubleshoot operation." + }, + "reasonType": { + "type": "string", + "description": "Reason type of failure." + }, + "summary": { + "type": "string", + "description": "A summary of troubleshooting." + }, + "detail": { + "type": "string", + "description": "Details on troubleshooting results." + }, + "recommendedActions": { + "type": "array", + "description": "List of recommended actions.", + "items": { + "$ref": "#/definitions/TroubleshootingRecommendedActions" + } + } + } + }, + "TroubleshootingRecommendedActions": { + "description": "Recommended actions based on discovered issues.", + "properties": { + "actionId": { + "description": "ID of the recommended action.", + "type": "string" + }, + "actionText": { + "description": "Description of recommended actions.", + "type": "string" + }, + "actionUri": { + "description": "The uri linking to a documentation for the recommended troubleshooting actions.", + "type": "string" + }, + "actionUriText": { + "description": "The information from the URI for the recommended troubleshooting actions.", + "type": "string" + } + } + }, + "FlowLogProperties": { + "description": "Parameters that define the configuration of flow log.", + "required": [ + "storageId", + "enabled" + ], + "properties": { + "storageId": { + "description": "ID of the storage account which is used to store the flow log.", + "type": "string" + }, + "enabled": { + "description": "Flag to enable/disable flow logging.", + "type": "boolean" + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicyParameters" + } + } + }, + "FlowLogStatusParameters": { + "description": "Parameters that define a resource to query flow log status.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "description": "The target resource where getting the flow logging status.", + "type": "string" + } + } + }, + "RetentionPolicyParameters": { + "description": "Parameters that define the retention policy for flow log.", + "properties": { + "days": { + "description": "Number of days to retain flow log records.", + "type": "integer", + "default": 0 + }, + "enabled": { + "description": "Flag to enable/disable retention.", + "type": "boolean", + "default": false + } + } + }, + "FlowLogInformation": { + "description": "Information on the configuration of flow log.", + "required": [ + "targetResourceId", + "properties" + ], + "properties": { + "targetResourceId": { + "description": "The ID of the resource to configure for flow logging.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowLogProperties" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} \ No newline at end of file diff --git a/arm-network/2016-12-01/swagger/usage.json b/arm-network/2016-12-01/swagger/usage.json new file mode 100644 index 000000000000..79b8cf31e0ca --- /dev/null +++ b/arm-network/2016-12-01/swagger/usage.json @@ -0,0 +1,159 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/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/locations/{location}/usages": { + "get": { + "tags": [ + "Usages" + ], + "operationId": "Usages_List", + "description": "Lists compute usages for a subscription.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location where resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Usage resources.", + "schema": { + "$ref": "#/definitions/UsagesListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "UsageName": { + "properties": { + "value": { + "type": "string", + "description": "A string describing the resource name." + }, + "localizedValue": { + "type": "string", + "description": "A localized string describing the resource name." + } + }, + "description": "The usage names." + }, + "Usage": { + "properties": { + "unit": { + "type": "string", + "description": "An enum describing the unit of measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "type": "integer", + "format": "int64", + "description": "The current value of the usage." + }, + "limit": { + "type": "integer", + "format": "int64", + "description": "The limit of usage." + }, + "name": { + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "required": [ + "unit", + "currentValue", + "limit", + "name" + ], + "description": "Describes network resource usage." + }, + "UsagesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list network resource usages." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "The list usages operation response." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/arm-network/2016-12-01/swagger/virtualNetworkGateway.json b/arm-network/2016-12-01/swagger/virtualNetworkGateway.json new file mode 100644 index 000000000000..dd6c416d1a91 --- /dev/null +++ b/arm-network/2016-12-01/swagger/virtualNetworkGateway.json @@ -0,0 +1,1686 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": { + "put": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "description": "Parameters supplied to create or update virtual network gateway operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Get", + "description": "Gets the specified virtual network gateway by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Delete", + "description": "Deletes the specified virtual network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways": { + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_List", + "description": "Gets all virtual network gateways by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGateway resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Reset", + "description": "Resets the primary of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "gatewayVip", + "in": "query", + "required": false, + "type": "string", + "description": "Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation reset the primary of the virtual network gateway.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Generatevpnclientpackage", + "description": "Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientParameters" + }, + "description": "Parameters supplied to the generate virtual network gateway VPN client package operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "VPN client package URL.", + "schema": { + "type": "string" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetBgpPeerStatus", + "description": "The GetBgpPeerStatus operation retrieves the status of all BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": false, + "type": "string", + "description": "The IP address of the peer to retrieve the status of." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of BGP peer statuses", + "schema": { + "$ref": "#/definitions/BgpPeerStatusListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetLearnedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of advertised BGP routes", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetAdvertisedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": true, + "type": "string", + "description": "The IP address of the peer" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of learned BGP routes", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + }, + "description": "Parameters supplied to the create or update virtual network gateway connection operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Get", + "description": "Gets the specified virtual network gateway connection by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Delete", + "description": "Deletes the specified virtual network Gateway connection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_SetSharedKey", + "description": "The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + }, + "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork resource provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_GetSharedKey", + "description": "The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual network gateway connection shared key through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection shared key name." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": { + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_List", + "description": "The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections created.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation resets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_ResetSharedKey", + "description": "The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection reset shared key Name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + }, + "description": "Parameters supplied to the begin reset virtual network gateway connection shared key operation through network resource provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation sets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + } + }, + "202": { + "description": "" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}": { + "put": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_CreateOrUpdate", + "description": "Creates or updates a local network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + }, + "description": "Parameters supplied to the create or update local network gateway operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_Get", + "description": "Gets the specified local network gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + } + } + }, + "delete": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_Delete", + "description": "Deletes the specified local network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways": { + "get": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_List", + "description": "Gets all the local network gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LocalNetworkGateway resources.", + "schema": { + "$ref": "#/definitions/LocalNetworkGatewayListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualNetworkGatewayIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAllocationMethod": { + "type": "string", + "description": "The private IP allocation method. Possible values are: 'Static' and 'Dynamic'.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference of the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference of the public IP resource." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "subnet", + "publicIPAddress" + ], + "description": "Properties of VirtualNetworkGatewayIPConfiguration" + }, + "VirtualNetworkGatewayIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayIPConfigurationPropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration for virtual network gateway" + }, + "VirtualNetworkGatewayPropertiesFormat": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayIPConfiguration" + }, + "description": "IP configurations for virtual network gateway." + }, + "gatewayType": { + "type": "string", + "description": "The type of this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'.", + "enum": [ + "Vpn", + "ExpressRoute" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayType", + "modelAsString": true + } + }, + "vpnType": { + "type": "string", + "description": "The type of this virtual network gateway. Possible values are: 'PolicyBased' and 'RouteBased'.", + "enum": [ + "PolicyBased", + "RouteBased" + ], + "x-ms-enum": { + "name": "VpnType", + "modelAsString": true + } + }, + "enableBgp": { + "type": "boolean", + "description": "Whether BGP is enabled for this virtual network gateway or not." + }, + "activeActive": { + "type": "boolean", + "description": "ActiveActive flag" + }, + "gatewayDefaultSite": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference of the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting." + }, + "sku": { + "$ref": "#/definitions/VirtualNetworkGatewaySku", + "description": "The reference of the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway." + }, + "vpnClientConfiguration": { + "$ref": "#/definitions/VpnClientConfiguration", + "description": "The reference of the VpnClientConfiguration resource which represents the P2S VpnClient configurations." + }, + "bgpSettings": { + "$ref": "#/definitions/BgpSettings", + "description": "Virtual network gateway's BGP speaker settings." + }, + "resourceGuid": { + "type": "string", + "description": "The resource GUID property of the VirtualNetworkGateway resource." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the VirtualNetworkGateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "ipConfigurations", + "gatewayType", + "vpnType" + ], + "description": "VirtualNetworkGateway properties" + }, + "VpnClientRootCertificatePropertiesFormat": { + "properties": { + "publicCertData": { + "type": "string", + "description": "The certificate public data." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the VPN client root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "publicCertData" + ], + "description": "Properties of SSL certificates of application gateway" + }, + "VpnClientRootCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRootCertificatePropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "required": [ + "properties" + ], + "description": "VPN client root certificate of virtual network gateway" + }, + "VpnClientRevokedCertificatePropertiesFormat": { + "properties": { + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the VPN client revoked certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "description": "Properties of the revoked VPN client certificate of virtual network gateway." + }, + "VpnClientRevokedCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRevokedCertificatePropertiesFormat" + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VPN client revoked certificate of virtual network gateway." + }, + "VpnClientConfiguration": { + "properties": { + "vpnClientAddressPool": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference of the address space resource which represents Address space for P2S VpnClient." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRootCertificate" + }, + "description": "VpnClientRootCertificate for virtual network gateway." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRevokedCertificate" + }, + "description": "VpnClientRevokedCertificate for Virtual network gateway." + } + }, + "description": "VpnClientConfiguration for P2S client." + }, + "VirtualNetworkGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Gateway SKU name. Possible values are: 'Basic', 'HighPerformance','Standard', and 'UltraPerformance'.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Gateway SKU tier. Possible values are: 'Basic', 'HighPerformance','Standard', and 'UltraPerformance'.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuTier", + "modelAsString": true + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The capacity." + } + }, + "required": [ + "name", + "tier" + ], + "description": "VirtualNetworkGatewaySku details" + }, + "BgpSettings": { + "properties": { + "asn": { + "type": "integer", + "format": "int64", + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + }, + "peerWeight": { + "type": "integer", + "format": "int32", + "description": "The weight added to routes learned from this BGP speaker." + } + } + }, + "BgpPeerStatus": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The virtual network gateway's local address" + }, + "neighbor": { + "type": "string", + "readOnly": true, + "description": "The remote BGP peer" + }, + "asn": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The autonomous system number of the remote BGP peer" + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The BGP peer state", + "enum": [ + "Unknown", + "Stopped", + "Idle", + "Connecting", + "Connected" + ], + "x-ms-enum": { + "name": "BgpPeerState", + "modelAsString": true + } + }, + "connectedDuration": { + "type": "string", + "readOnly": true, + "description": "For how long the peering has been up" + }, + "routesReceived": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of routes learned from this peer" + }, + "messagesSent": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of BGP messages sent" + }, + "messagesReceived": { + "type": "integer", + "format": "in64", + "readOnly": true, + "description": "The number of BGP messages received" + } + } + }, + "GatewayRoute": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The gateway's local address" + }, + "network": { + "type": "string", + "readOnly": true, + "description": "The route's network prefix" + }, + "nextHop": { + "type": "string", + "readOnly": true, + "description": "The route's next hop" + }, + "sourcePeer": { + "type": "string", + "readOnly": true, + "description": "The peer this route was learned from" + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The source this route was learned from" + }, + "asPath": { + "type": "string", + "readOnly": true, + "description": "The route's AS path sequence" + }, + "weight": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The route's weight" + } + } + }, + "VirtualNetworkGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat" + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information" + }, + "VpnClientParameters": { + "properties": { + "ProcessorArchitecture": { + "type": "string", + "description": "VPN client Processor Architecture. Possible values are: 'AMD64' and 'X86'.", + "enum": [ + "Amd64", + "X86" + ], + "x-ms-enum": { + "name": "ProcessorArchitecture", + "modelAsString": true + } + } + }, + "required": [ + "ProcessorArchitecture" + ], + "description": "VpnClientParameters" + }, + "VirtualNetworkGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "description": "Gets a list of VirtualNetworkGateway resources that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworkGateways API service call." + }, + "BgpPeerStatusListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BgpPeerStatus" + }, + "description": "List of BGP peers" + } + }, + "description": "Response for list BGP peer status API service call" + }, + "GatewayRouteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayRoute" + }, + "description": "List of gateway routes" + } + }, + "description": "List of virtual network gateway routes" + }, + "TunnelConnectionHealth": { + "properties": { + "tunnel": { + "readOnly": true, + "type": "string", + "description": "Tunnel name." + }, + "connectionStatus": { + "readOnly": true, + "type": "string", + "description": "Virtual network Gateway connection status", + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionStatus", + "modelAsString": true + } + }, + "ingressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The Ingress Bytes Transferred in this connection" + }, + "egressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The Egress Bytes Transferred in this connection" + }, + "lastConnectionEstablishedUtcTime": { + "readOnly": true, + "type": "string", + "description": "The time at which connection was established in Utc format." + } + }, + "description": "VirtualNetworkGatewayConnection properties" + }, + "VirtualNetworkGatewayConnectionPropertiesFormat": { + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorizationKey." + }, + "virtualNetworkGateway1": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "virtualNetworkGateway2": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "localNetworkGateway2": { + "$ref": "#/definitions/LocalNetworkGateway" + }, + "connectionType": { + "type": "string", + "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.", + "enum": [ + "IPsec", + "Vnet2Vnet", + "ExpressRoute", + "VPNClient" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionType", + "modelAsString": true + } + }, + "routingWeight": { + "type": "integer", + "format": "int32", + "description": "The routing weight." + }, + "sharedKey": { + "type": "string", + "description": "The IPSec shared key." + }, + "connectionStatus": { + "readOnly": true, + "type": "string", + "description": "Virtual network Gateway connection status. Possible values are 'Unknown', 'Connecting', 'Connected' and 'NotConnected'.", + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionStatus", + "modelAsString": true + } + }, + "tunnelConnectionStatus": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TunnelConnectionHealth" + }, + "description": "Collection of all tunnels' connection health status." + }, + "egressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The egress bytes transferred in this connection." + }, + "ingressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The ingress bytes transferred in this connection." + }, + "peer": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to peerings resource." + }, + "enableBgp": { + "type": "boolean", + "description": "EnableBgp flag" + }, + "resourceGuid": { + "type": "string", + "description": "The resource GUID property of the VirtualNetworkGatewayConnection resource." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "virtualNetworkGateway1", + "connectionType" + ], + "description": "VirtualNetworkGatewayConnection properties" + }, + "VirtualNetworkGatewayConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionPropertiesFormat" + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information" + }, + "VirtualNetworkGatewayConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + }, + "description": "Gets a list of VirtualNetworkGatewayConnection resources that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworkGatewayConnections API service call" + }, + "ConnectionResetSharedKey": { + "properties": { + "keyLength": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 128, + "description": "The virtual network connection reset shared key length, should between 1 and 128." + } + }, + "required": [ + "keyLength" + ] + }, + "ConnectionSharedKey": { + "properties": { + "value": { + "type": "string", + "description": "The virtual network connection shared key value." + } + }, + "required": [ + "value" + ], + "description": "Response for GetConnectionSharedKey API service call" + }, + "LocalNetworkGatewayPropertiesFormat": { + "properties": { + "localNetworkAddressSpace": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "Local network site address space." + }, + "gatewayIpAddress": { + "type": "string", + "description": "IP address of local network gateway." + }, + "bgpSettings": { + "$ref": "#/definitions/BgpSettings", + "description": "Local network gateway's BGP speaker settings." + }, + "resourceGuid": { + "type": "string", + "description": "The resource GUID property of the LocalNetworkGateway resource." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + } + }, + "required": [ + "localNetworkAddressSpace" + ], + "description": "LocalNetworkGateway properties" + }, + "LocalNetworkGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LocalNetworkGatewayPropertiesFormat" + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information" + }, + "LocalNetworkGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LocalNetworkGateway" + }, + "description": "A list of local network gateways that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLocalNetworkGateways API service call." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/arm-network/2016-12-01/swagger/vmssNetworkInterface.json b/arm-network/2016-12-01/swagger/vmssNetworkInterface.json new file mode 100644 index 000000000000..a3d72c1d097c --- /dev/null +++ b/arm-network/2016-12-01/swagger/vmssNetworkInterface.json @@ -0,0 +1,207 @@ +{ + "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": "2016-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetVMNetworkInterfaces", + "description": "Gets information about all network interfaces in a virtual machine in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetNetworkInterfaces", + "description": "Gets all network interfaces in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface", + "description": "Get the specified network interface in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + } + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/arm-network/compositeNetworkClient.json b/arm-network/compositeNetworkClient.json index 1a0f09f950e8..267444c28c80 100644 --- a/arm-network/compositeNetworkClient.json +++ b/arm-network/compositeNetworkClient.json @@ -4,22 +4,21 @@ "description": "Composite Swagger for Network Client" }, "documents": [ - "./2016-09-01/swagger/checkDnsAvailability.json", - "./2016-09-01/swagger/networkInterface.json", - "./2016-09-01/swagger/networkWatcher.json", - "./2016-09-01/swagger/usage.json", - "./2016-09-01/swagger/virtualNetworkGateway.json", - "./2016-09-01/swagger/vmssNetworkInterface.json", - "./2016-12-01/swagger/applicationGateway.json", + "./2016-12-01/swagger/checkDnsAvailability.json", "./2016-12-01/swagger/expressRouteCircuit.json", "./2016-12-01/swagger/loadBalancer.json", "./2016-12-01/swagger/network.json", + "./2016-12-01/swagger/networkInterface.json", "./2016-12-01/swagger/networkSecurityGroup.json", + "./2016-12-01/swagger/networkWatcher.json", "./2016-12-01/swagger/publicIpAddress.json", "./2016-12-01/swagger/routeFilter.json", "./2016-12-01/swagger/routeTable.json", "./2016-12-01/swagger/serviceCommunity.json", - "./2016-12-01/swagger/virtualNetwork.json" + "./2016-12-01/swagger/usage.json", + "./2016-12-01/swagger/virtualNetwork.json", + "./2016-12-01/swagger/virtualNetworkGateway.json", + "./2016-12-01/swagger/vmssNetworkInterface.json" ] } diff --git a/azure-rest-api-specs.njsproj b/azure-rest-api-specs.njsproj index a9f5066f56a5..7909c3793d93 100644 --- a/azure-rest-api-specs.njsproj +++ b/azure-rest-api-specs.njsproj @@ -30,16 +30,21 @@ + + + + + From 626fe3cc34f9012a34d6ddf1b939fe37819c0035 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 13:17:34 -0800 Subject: [PATCH 15/22] #ConnectionDraining Moved connectionDraining property in BackendHttpSettings to the end to avoid issues with the optionality of the property --- .../2016-12-01/swagger/applicationGateway.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arm-network/2016-12-01/swagger/applicationGateway.json b/arm-network/2016-12-01/swagger/applicationGateway.json index c99685c8830b..16a14007723c 100644 --- a/arm-network/2016-12-01/swagger/applicationGateway.json +++ b/arm-network/2016-12-01/swagger/applicationGateway.json @@ -785,10 +785,6 @@ "modelAsString": true } }, - "connectionDraining": { - "$ref": "#/definitions/ApplicationGatewayConnectionDraining", - "description": "Connection draining of the backend http settings resource." - }, "requestTimeout": { "type": "integer", "format": "int32", @@ -806,8 +802,12 @@ "description": "Array of references to application gateway authentication certificates." }, "provisioningState": { - "type": "string", - "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + "type": "string", + "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "connectionDraining": { + "$ref": "#/definitions/ApplicationGatewayConnectionDraining", + "description": "Connection draining of the backend http settings resource." } }, "description": "Properties of Backend address pool settings of an application gateway." From 90d6b6399cdae73fdc0a0750ca6b9f15432ef2c6 Mon Sep 17 00:00:00 2001 From: Amar Zavery Date: Tue, 14 Feb 2017 13:44:04 -0800 Subject: [PATCH 16/22] porting vmssNetworkInterface back to 2016-09-01 --- .../swagger/vmssNetworkInterface.json | 207 ------------------ arm-network/compositeNetworkClient.json | 6 +- 2 files changed, 3 insertions(+), 210 deletions(-) delete mode 100644 arm-network/2016-12-01/swagger/vmssNetworkInterface.json diff --git a/arm-network/2016-12-01/swagger/vmssNetworkInterface.json b/arm-network/2016-12-01/swagger/vmssNetworkInterface.json deleted file mode 100644 index a3d72c1d097c..000000000000 --- a/arm-network/2016-12-01/swagger/vmssNetworkInterface.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "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": "2016-12-01" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json", - "text/json" - ], - "produces": [ - "application/json", - "text/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces": { - "get": { - "tags": [ - "NetworkInterfaces" - ], - "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetVMNetworkInterfaces", - "description": "Gets information about all network interfaces in a virtual machine in a virtual machine scale set.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualMachineScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine scale set." - }, - { - "name": "virtualmachineIndex", - "in": "path", - "required": true, - "type": "string", - "description": "The virtual machine index." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns a list of NetworkInterface resources.", - "schema": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces": { - "get": { - "tags": [ - "NetworkInterfaces" - ], - "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetNetworkInterfaces", - "description": "Gets all network interfaces in a virtual machine scale set.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualMachineScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine scale set." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns a list of NetworkInterface resources.", - "schema": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}": { - "get": { - "tags": [ - "NetworkInterfaces" - ], - "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface", - "description": "Get the specified network interface in a virtual machine scale set.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualMachineScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine scale set." - }, - { - "name": "virtualmachineIndex", - "in": "path", - "required": true, - "type": "string", - "description": "The virtual machine index." - }, - { - "name": "networkInterfaceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the network interface." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "$expand", - "in": "query", - "required": false, - "type": "string", - "description": "Expands referenced resources." - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns the resulting NetworkInterface resource.", - "schema": { - "$ref": "./networkInterface.json#/definitions/NetworkInterface" - } - } - } - } - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client API version." - } - } -} diff --git a/arm-network/compositeNetworkClient.json b/arm-network/compositeNetworkClient.json index 267444c28c80..1ebe0fcc9d1b 100644 --- a/arm-network/compositeNetworkClient.json +++ b/arm-network/compositeNetworkClient.json @@ -11,7 +11,7 @@ "./2016-12-01/swagger/network.json", "./2016-12-01/swagger/networkInterface.json", "./2016-12-01/swagger/networkSecurityGroup.json", - "./2016-12-01/swagger/networkWatcher.json", + "./2016-12-01/swagger/networkWatcher.json", "./2016-12-01/swagger/publicIpAddress.json", "./2016-12-01/swagger/routeFilter.json", "./2016-12-01/swagger/routeTable.json", @@ -19,6 +19,6 @@ "./2016-12-01/swagger/usage.json", "./2016-12-01/swagger/virtualNetwork.json", "./2016-12-01/swagger/virtualNetworkGateway.json", - "./2016-12-01/swagger/vmssNetworkInterface.json" + "./2016-09-01/swagger/vmssNetworkInterface.json" ] -} +} \ No newline at end of file From 66fc52581d8e4b19428d0860bbc9d10a44086872 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 13:48:06 -0800 Subject: [PATCH 17/22] #ConnectionDraining Removed 2016-12-01 vmssNetworkInterface.json and updated compositeNetworkClient --- .../swagger/vmssNetworkInterface.json | 207 ------------------ arm-network/compositeNetworkClient.json | 45 ++-- azure-rest-api-specs.njsproj | 1 - 3 files changed, 23 insertions(+), 230 deletions(-) delete mode 100644 arm-network/2016-12-01/swagger/vmssNetworkInterface.json diff --git a/arm-network/2016-12-01/swagger/vmssNetworkInterface.json b/arm-network/2016-12-01/swagger/vmssNetworkInterface.json deleted file mode 100644 index a3d72c1d097c..000000000000 --- a/arm-network/2016-12-01/swagger/vmssNetworkInterface.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "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": "2016-12-01" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json", - "text/json" - ], - "produces": [ - "application/json", - "text/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces": { - "get": { - "tags": [ - "NetworkInterfaces" - ], - "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetVMNetworkInterfaces", - "description": "Gets information about all network interfaces in a virtual machine in a virtual machine scale set.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualMachineScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine scale set." - }, - { - "name": "virtualmachineIndex", - "in": "path", - "required": true, - "type": "string", - "description": "The virtual machine index." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns a list of NetworkInterface resources.", - "schema": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces": { - "get": { - "tags": [ - "NetworkInterfaces" - ], - "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetNetworkInterfaces", - "description": "Gets all network interfaces in a virtual machine scale set.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualMachineScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine scale set." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns a list of NetworkInterface resources.", - "schema": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}": { - "get": { - "tags": [ - "NetworkInterfaces" - ], - "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface", - "description": "Get the specified network interface in a virtual machine scale set.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualMachineScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine scale set." - }, - { - "name": "virtualmachineIndex", - "in": "path", - "required": true, - "type": "string", - "description": "The virtual machine index." - }, - { - "name": "networkInterfaceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the network interface." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "$expand", - "in": "query", - "required": false, - "type": "string", - "description": "Expands referenced resources." - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns the resulting NetworkInterface resource.", - "schema": { - "$ref": "./networkInterface.json#/definitions/NetworkInterface" - } - } - } - } - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client API version." - } - } -} diff --git a/arm-network/compositeNetworkClient.json b/arm-network/compositeNetworkClient.json index 267444c28c80..9e1c4b8cf38c 100644 --- a/arm-network/compositeNetworkClient.json +++ b/arm-network/compositeNetworkClient.json @@ -1,24 +1,25 @@ { - "info": { - "title": "NetworkManagementClient", - "description": "Composite Swagger for Network Client" - }, - "documents": [ - "./2016-12-01/swagger/applicationGateway.json", - "./2016-12-01/swagger/checkDnsAvailability.json", - "./2016-12-01/swagger/expressRouteCircuit.json", - "./2016-12-01/swagger/loadBalancer.json", - "./2016-12-01/swagger/network.json", - "./2016-12-01/swagger/networkInterface.json", - "./2016-12-01/swagger/networkSecurityGroup.json", - "./2016-12-01/swagger/networkWatcher.json", - "./2016-12-01/swagger/publicIpAddress.json", - "./2016-12-01/swagger/routeFilter.json", - "./2016-12-01/swagger/routeTable.json", - "./2016-12-01/swagger/serviceCommunity.json", - "./2016-12-01/swagger/usage.json", - "./2016-12-01/swagger/virtualNetwork.json", - "./2016-12-01/swagger/virtualNetworkGateway.json", - "./2016-12-01/swagger/vmssNetworkInterface.json" - ] + "info": { + "title": "NetworkManagementClient", + "description": "Composite Swagger for Network Client" + }, + "documents": [ + "./2016-09-01/swagger/vmssNetworkInterface.json", + + "./2016-12-01/swagger/applicationGateway.json", + "./2016-12-01/swagger/checkDnsAvailability.json", + "./2016-12-01/swagger/expressRouteCircuit.json", + "./2016-12-01/swagger/loadBalancer.json", + "./2016-12-01/swagger/network.json", + "./2016-12-01/swagger/networkInterface.json", + "./2016-12-01/swagger/networkSecurityGroup.json", + "./2016-12-01/swagger/networkWatcher.json", + "./2016-12-01/swagger/publicIpAddress.json", + "./2016-12-01/swagger/routeFilter.json", + "./2016-12-01/swagger/routeTable.json", + "./2016-12-01/swagger/serviceCommunity.json", + "./2016-12-01/swagger/usage.json", + "./2016-12-01/swagger/virtualNetwork.json", + "./2016-12-01/swagger/virtualNetworkGateway.json" + ] } diff --git a/azure-rest-api-specs.njsproj b/azure-rest-api-specs.njsproj index 7909c3793d93..d6275c7bd067 100644 --- a/azure-rest-api-specs.njsproj +++ b/azure-rest-api-specs.njsproj @@ -44,7 +44,6 @@ - From 7c597a7db06089efc863ff54b4412f4dbcb94738 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 14:16:20 -0800 Subject: [PATCH 18/22] #ConnectionDraining changed references of 2016-09-01 vmssNetworkInterface to point to the 2016-12-01 networkInterface. --- arm-network/2016-09-01/swagger/vmssNetworkInterface.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arm-network/2016-09-01/swagger/vmssNetworkInterface.json b/arm-network/2016-09-01/swagger/vmssNetworkInterface.json index acf0b932e787..0c5a8a3097cc 100644 --- a/arm-network/2016-09-01/swagger/vmssNetworkInterface.json +++ b/arm-network/2016-09-01/swagger/vmssNetworkInterface.json @@ -76,7 +76,7 @@ "200": { "description": "Request successful. The operation returns a list of NetworkInterface resources.", "schema": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + "$ref": "./../../2016-12-01/swagger/networkInterface.json#/definitions/NetworkInterfaceListResult" } } }, @@ -118,7 +118,7 @@ "200": { "description": "Request successful. The operation returns a list of NetworkInterface resources.", "schema": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + "$ref": "./../../2016-12-01/swagger/networkInterface.json#/definitions/NetworkInterfaceListResult" } } }, @@ -181,7 +181,7 @@ "200": { "description": "Request successful. The operation returns the resulting NetworkInterface resource.", "schema": { - "$ref": "./networkInterface.json#/definitions/NetworkInterface" + "$ref": "./../../2016-12-01/swagger/networkInterface.json#/definitions/NetworkInterface" } } } From 46b1cc735cec5d41b10add0d8354c5996060987e Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 14:24:55 -0800 Subject: [PATCH 19/22] #ConnectionDraining Undo previous changes to prepare for merging the fix of amar. --- arm-network/2016-09-01/swagger/vmssNetworkInterface.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arm-network/2016-09-01/swagger/vmssNetworkInterface.json b/arm-network/2016-09-01/swagger/vmssNetworkInterface.json index 0c5a8a3097cc..acf0b932e787 100644 --- a/arm-network/2016-09-01/swagger/vmssNetworkInterface.json +++ b/arm-network/2016-09-01/swagger/vmssNetworkInterface.json @@ -76,7 +76,7 @@ "200": { "description": "Request successful. The operation returns a list of NetworkInterface resources.", "schema": { - "$ref": "./../../2016-12-01/swagger/networkInterface.json#/definitions/NetworkInterfaceListResult" + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" } } }, @@ -118,7 +118,7 @@ "200": { "description": "Request successful. The operation returns a list of NetworkInterface resources.", "schema": { - "$ref": "./../../2016-12-01/swagger/networkInterface.json#/definitions/NetworkInterfaceListResult" + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" } } }, @@ -181,7 +181,7 @@ "200": { "description": "Request successful. The operation returns the resulting NetworkInterface resource.", "schema": { - "$ref": "./../../2016-12-01/swagger/networkInterface.json#/definitions/NetworkInterface" + "$ref": "./networkInterface.json#/definitions/NetworkInterface" } } } From 1f981e1688b56ddb9a4f1dde1f72f61f9323ce0a Mon Sep 17 00:00:00 2001 From: Amar Zavery Date: Tue, 14 Feb 2017 15:24:20 -0800 Subject: [PATCH 20/22] modified vmss for 2016-12-01 --- .../swagger/vmssNetworkInterface.json | 50 ++++++++++++++----- arm-network/compositeNetworkClient.json | 4 +- 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/arm-network/2016-12-01/swagger/vmssNetworkInterface.json b/arm-network/2016-12-01/swagger/vmssNetworkInterface.json index a3d72c1d097c..f3755962c627 100644 --- a/arm-network/2016-12-01/swagger/vmssNetworkInterface.json +++ b/arm-network/2016-12-01/swagger/vmssNetworkInterface.json @@ -66,7 +66,18 @@ "description": "The virtual machine index." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "2016-09-01" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "description": "Client API version." }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -108,7 +119,18 @@ "description": "The name of the virtual machine scale set." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "2016-09-01" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "description": "Client API version." }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -164,7 +186,18 @@ "description": "The name of the network interface." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "2016-09-01" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "description": "Client API version." }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -187,7 +220,7 @@ } } } - }, + }, "parameters": { "SubscriptionIdParameter": { "name": "subscriptionId", @@ -195,13 +228,6 @@ "required": true, "type": "string", "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client API version." } } -} +} \ No newline at end of file diff --git a/arm-network/compositeNetworkClient.json b/arm-network/compositeNetworkClient.json index 267444c28c80..6e07ba585d7c 100644 --- a/arm-network/compositeNetworkClient.json +++ b/arm-network/compositeNetworkClient.json @@ -11,7 +11,7 @@ "./2016-12-01/swagger/network.json", "./2016-12-01/swagger/networkInterface.json", "./2016-12-01/swagger/networkSecurityGroup.json", - "./2016-12-01/swagger/networkWatcher.json", + "./2016-12-01/swagger/networkWatcher.json", "./2016-12-01/swagger/publicIpAddress.json", "./2016-12-01/swagger/routeFilter.json", "./2016-12-01/swagger/routeTable.json", @@ -21,4 +21,4 @@ "./2016-12-01/swagger/virtualNetworkGateway.json", "./2016-12-01/swagger/vmssNetworkInterface.json" ] -} +} \ No newline at end of file From 6f1e185fafff9ce6538c6f6b88d84c4148b54231 Mon Sep 17 00:00:00 2001 From: Amar Zavery Date: Tue, 14 Feb 2017 15:53:14 -0800 Subject: [PATCH 21/22] vmss to 2016-12-01 in composite spec --- arm-network/compositeNetworkClient.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arm-network/compositeNetworkClient.json b/arm-network/compositeNetworkClient.json index 1ebe0fcc9d1b..6e07ba585d7c 100644 --- a/arm-network/compositeNetworkClient.json +++ b/arm-network/compositeNetworkClient.json @@ -19,6 +19,6 @@ "./2016-12-01/swagger/usage.json", "./2016-12-01/swagger/virtualNetwork.json", "./2016-12-01/swagger/virtualNetworkGateway.json", - "./2016-09-01/swagger/vmssNetworkInterface.json" + "./2016-12-01/swagger/vmssNetworkInterface.json" ] } \ No newline at end of file From 2adb5fa24b4cc68238074c7bea4f21b4692861e8 Mon Sep 17 00:00:00 2001 From: jobatzil Date: Tue, 14 Feb 2017 16:42:53 -0800 Subject: [PATCH 22/22] #ConnectionDraining added 2016-12-01 vmssNetworkInterface.json to the project file. --- azure-rest-api-specs.njsproj | 1 + 1 file changed, 1 insertion(+) diff --git a/azure-rest-api-specs.njsproj b/azure-rest-api-specs.njsproj index d6275c7bd067..7909c3793d93 100644 --- a/azure-rest-api-specs.njsproj +++ b/azure-rest-api-specs.njsproj @@ -44,6 +44,7 @@ +