diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/AppServiceEnvironments.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/AppServiceEnvironments.json index 8748d4d25ae9..f64c90f5ec5b 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/AppServiceEnvironments.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/AppServiceEnvironments.json @@ -539,6 +539,56 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/inboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get the network endpoints of all inbound dependencies of an App Service Environment.", + "description": "Get the network endpoints of all inbound dependencies of an App Service Environment.", + "operationId": "AppServiceEnvironments_GetInboundNetworkDependenciesEndpoints", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundEnvironmentEndpoint" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Inbound Network Dependencies Endpoints": { + "$ref": "./examples/GetInboundNetworkDependenciesEndpoints.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions": { "get": { "tags": [ @@ -1209,6 +1259,56 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get the network endpoints of all outbound dependencies of an App Service Environment.", + "description": "Get the network endpoints of all outbound dependencies of an App Service Environment.", + "operationId": "AppServiceEnvironments_GetOutboundNetworkDependenciesEndpoints", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Outbound Network Dependencies Endpoints": { + "$ref": "./examples/GetOutboundNetworkDependenciesEndpoints.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot": { "post": { "tags": [ @@ -2163,6 +2263,47 @@ } } }, + "EndpointDependency": { + "description": "A domain name that a service is reached at, including details of the current connection status.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The IP Addresses and Ports used when connecting to DomainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "EndpointDetail": { + "description": "Current TCP connectivity information from the App Service Environment to a single endpoint.", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IP Address that Domain Name currently resolves to.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "latency": { + "format": "double", + "description": "The time in milliseconds it takes for a TCP connection to be created from the App Service Environment to this IpAddress at this Port.", + "type": "number" + }, + "isAccessable": { + "description": "Whether it is possible to create a TCP connection from the App Service Environment to this IpAddress at this Port.", + "type": "boolean" + } + } + }, "HostingEnvironmentDiagnostics": { "description": "Diagnostics for an App Service Environment.", "type": "object", @@ -2177,6 +2318,30 @@ } } }, + "InboundEnvironmentEndpoint": { + "description": "The IP Addresses and Ports that require inbound network access to and within the subnet of the App Service Environment.", + "type": "object", + "properties": { + "description": { + "description": "Short text describing the purpose of the network traffic.", + "type": "string" + }, + "endpoints": { + "description": "The IP addresses that network traffic will originate from in cidr notation.", + "type": "array", + "items": { + "type": "string" + } + }, + "ports": { + "description": "The ports that network traffic will arrive to the App Service Environment at.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, "MetricAvailabilily": { "description": "Metric availability and retention.", "type": "object", @@ -2231,6 +2396,23 @@ } } }, + "OutboundEnvironmentEndpoint": { + "description": "Endpoints accessed for a common purpose that the App Service Environment requires outbound network access to.", + "type": "object", + "properties": { + "category": { + "description": "The type of service accessed by the App Service Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active Directory.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that the App Service Environment reaches the service at.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + } + } + }, "SkuInfo": { "description": "SKU discovery information.", "type": "object", @@ -2467,4 +2649,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/examples/GetInboundNetworkDependenciesEndpoints.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/examples/GetInboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..5de78128f79b --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/examples/GetInboundNetworkDependenciesEndpoints.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "name": "SampleAse", + "api-version": "2018-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "description": "App Service management", + "endpoints": [ + "70.37.57.58/32", + "157.55.208.185/32", + "23.102.188.65/32", + "191.236.154.88/32", + "52.174.22.21/32", + "13.94.149.179/32", + "13.94.143.126/32", + "13.94.141.115/32", + "52.178.195.197/32", + "52.178.190.65/32", + "52.178.184.149/32", + "52.178.177.147/32", + "13.75.127.117/32", + "40.83.125.161/32", + "40.83.121.56/32", + "40.83.120.64/32", + "52.187.56.50/32", + "52.187.63.37/32", + "52.187.59.251/32", + "52.187.63.19/32", + "52.165.158.140/32", + "52.165.152.214/32", + "52.165.154.193/32", + "52.165.153.122/32", + "104.44.129.255/32", + "104.44.134.255/32", + "104.44.129.243/32", + "104.44.129.141/32", + "65.52.193.203/32", + "70.37.89.222/32", + "13.64.115.203/32", + "52.225.177.153/32", + "65.52.172.237/32" + ], + "ports": [ + "454", + "455" + ] + }, + { + "description": "App Service Environment VIP", + "endpoints": [ + "52.247.209.18/32" + ], + "ports": [ + "454", + "455", + "16001" + ] + }, + { + "description": "App Service Environment subnet", + "endpoints": [ + "192.168.250.0/24" + ], + "ports": [ + "All" + ] + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/examples/GetOutboundNetworkDependenciesEndpoints.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/examples/GetOutboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..06a565f6776c --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/examples/GetOutboundNetworkDependenciesEndpoints.json @@ -0,0 +1,801 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "name": "SampleAse", + "api-version": "2018-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "Azure Storage", + "endpoints": [ + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "52.183.104.36", + "port": 80, + "latency": 42.0469, + "isAccessable": true + }, + { + "ipAddress": "52.183.104.36", + "port": 443, + "latency": 41.7038, + "isAccessable": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "52.183.104.25", + "port": 80, + "latency": 37.326, + "isAccessable": true + }, + { + "ipAddress": "52.183.104.25", + "port": 443, + "latency": 37.513600000000004, + "isAccessable": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "52.183.104.26", + "port": 80, + "latency": 32.789, + "isAccessable": true + }, + { + "ipAddress": "52.183.104.26", + "port": 443, + "latency": 1.8702, + "isAccessable": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "52.183.104.28", + "port": 80, + "latency": 36.7378, + "isAccessable": true + }, + { + "ipAddress": "52.183.104.28", + "port": 443, + "latency": 36.7108, + "isAccessable": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 4.0261000000000005, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 3.8264, + "isAccessable": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 40.8523, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 40.7501, + "isAccessable": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 1.2071, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 38.2975, + "isAccessable": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 59.383700000000005, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 60.0775, + "isAccessable": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 3.5512, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 2.6777, + "isAccessable": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 3.5204, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 2.8193, + "isAccessable": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 3.2720000000000002, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 3.0147, + "isAccessable": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 3.2387, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 3.2804, + "isAccessable": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.176.16", + "port": 80, + "latency": 43.025200000000005, + "isAccessable": true + }, + { + "ipAddress": "13.66.176.16", + "port": 443, + "latency": 43.1683, + "isAccessable": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.176.25", + "port": 80, + "latency": 41.8598, + "isAccessable": true + }, + { + "ipAddress": "13.66.176.25", + "port": 443, + "latency": 41.9805, + "isAccessable": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.176.26", + "port": 80, + "latency": 30.542900000000003, + "isAccessable": true + }, + { + "ipAddress": "13.66.176.26", + "port": 443, + "latency": 0.98320000000000007, + "isAccessable": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.176.28", + "port": 80, + "latency": 35.9562, + "isAccessable": true + }, + { + "ipAddress": "13.66.176.28", + "port": 443, + "latency": 36.0643, + "isAccessable": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 3.2829, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 2.3393, + "isAccessable": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 3.4103000000000003, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 4.1032, + "isAccessable": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 3.1141, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 3.0247, + "isAccessable": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 2.834, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 2.8198000000000003, + "isAccessable": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 1.3855000000000002, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 1.0594000000000001, + "isAccessable": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 2.4717000000000002, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 2.4827, + "isAccessable": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 3.395, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 3.1701, + "isAccessable": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 1.4308, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 22.5866, + "isAccessable": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 2.5372, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 2.4626, + "isAccessable": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 3.7873, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 4.1911000000000005, + "isAccessable": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 2.9162000000000003, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 2.7896, + "isAccessable": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 26.723100000000002, + "isAccessable": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 26.735200000000003, + "isAccessable": true + } + ] + } + ] + }, + { + "category": "Azure SQL Database", + "endpoints": [ + { + "domainName": "database.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.226.202", + "port": 1433, + "latency": 1.5964, + "isAccessable": true + } + ] + } + ] + }, + { + "category": "Azure Management", + "endpoints": [ + { + "domainName": "management.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "23.102.135.246", + "port": 443, + "latency": 46.5764, + "isAccessable": true + } + ] + }, + { + "domainName": "admin.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "23.102.135.247", + "port": 443, + "latency": 47.408, + "isAccessable": true + } + ] + }, + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "ipAddress": "52.151.25.45", + "port": 443, + "latency": 3.9529, + "isAccessable": true + } + ] + } + ] + }, + { + "category": "Azure Active Directory", + "endpoints": [ + { + "domainName": "graph.windows.net", + "endpointDetails": [ + { + "ipAddress": "20.190.133.83", + "port": 443, + "latency": 3.2264, + "isAccessable": true + }, + { + "ipAddress": "20.190.133.81", + "port": 443, + "latency": 3.2264, + "isAccessable": true + }, + { + "ipAddress": "20.190.133.67", + "port": 443, + "latency": 3.2264, + "isAccessable": true + }, + { + "ipAddress": "40.126.5.34", + "port": 443, + "latency": 3.2264, + "isAccessable": true + } + ] + } + ] + }, + { + "category": "Regional Service", + "endpoints": [ + { + "domainName": "gr-prod-mwh.cloudapp.net", + "endpointDetails": [ + { + "ipAddress": "13.66.225.188", + "port": 443, + "latency": 3.3826, + "isAccessable": true + } + ] + }, + { + "domainName": "az-prod.metrics.nsatc.net", + "endpointDetails": [ + { + "ipAddress": "40.77.24.27", + "port": 443, + "latency": 38.5647, + "isAccessable": true + } + ] + } + ] + }, + { + "category": "SSL Certificate Verification", + "endpoints": [ + { + "domainName": "ocsp.msocsp.com", + "endpointDetails": [ + { + "ipAddress": "104.18.25.243", + "port": 80, + "latency": 6.0651, + "isAccessable": true + }, + { + "ipAddress": "104.18.25.243", + "port": 443, + "latency": 12.888, + "isAccessable": true + }, + { + "ipAddress": "104.18.24.243", + "port": 80, + "latency": 6.0651, + "isAccessable": true + }, + { + "ipAddress": "104.18.24.243", + "port": 443, + "latency": 12.888, + "isAccessable": true + } + ] + }, + { + "domainName": "mscrl.microsoft.com", + "endpointDetails": [ + { + "ipAddress": "152.199.4.33", + "port": 80, + "latency": 6.7429000000000006, + "isAccessable": true + }, + { + "ipAddress": "152.199.4.33", + "port": 443, + "latency": 7.4361000000000006, + "isAccessable": true + } + ] + }, + { + "domainName": "crl.microsoft.com", + "endpointDetails": [ + { + "ipAddress": "23.215.102.10", + "port": 80, + "latency": 25.136200000000002, + "isAccessable": true + }, + { + "ipAddress": "23.215.102.10", + "port": 443, + "latency": 25.0085, + "isAccessable": true + }, + { + "ipAddress": "23.215.102.42", + "port": 80, + "latency": 25.136200000000002, + "isAccessable": true + }, + { + "ipAddress": "23.215.102.42", + "port": 443, + "latency": 25.0085, + "isAccessable": true + } + ] + }, + { + "domainName": "www.microsoft.com", + "endpointDetails": [ + { + "ipAddress": "23.49.13.56", + "port": 80, + "latency": 7.9229, + "isAccessable": true + }, + { + "ipAddress": "23.49.13.56", + "port": 443, + "latency": 8.4871, + "isAccessable": true + } + ] + }, + { + "domainName": "crl3.digicert.com", + "endpointDetails": [ + { + "ipAddress": "72.21.91.29", + "port": 80, + "latency": 5.4074, + "isAccessable": true + }, + { + "ipAddress": "72.21.91.29", + "port": 443, + "latency": 5.577, + "isAccessable": true + } + ] + }, + { + "domainName": "ocsp.digicert.com", + "endpointDetails": [ + { + "ipAddress": "72.21.91.29", + "port": 80, + "latency": 6.8989, + "isAccessable": true + }, + { + "ipAddress": "72.21.91.29", + "port": 443, + "latency": 5.6674000000000007, + "isAccessable": true + } + ] + }, + { + "domainName": "cacerts.digicert.com", + "endpointDetails": [ + { + "ipAddress": "104.18.11.39", + "port": 80, + "latency": 10.772400000000001, + "isAccessable": true + }, + { + "ipAddress": "104.18.11.39", + "port": 443, + "latency": 10.7705, + "isAccessable": true + }, + { + "ipAddress": "104.18.10.39", + "port": 80, + "latency": 10.772400000000001, + "isAccessable": true + }, + { + "ipAddress": "104.18.10.39", + "port": 443, + "latency": 10.7705, + "isAccessable": true + } + ] + }, + { + "domainName": "www.thawte.com", + "endpointDetails": [ + { + "ipAddress": "54.69.98.161", + "port": 80, + "latency": 47.532900000000005, + "isAccessable": true + }, + { + "ipAddress": "54.69.98.161", + "port": 443, + "latency": 48.5362, + "isAccessable": true + }, + { + "ipAddress": "35.167.62.148", + "port": 80, + "latency": 47.532900000000005, + "isAccessable": true + }, + { + "ipAddress": "35.167.62.148", + "port": 443, + "latency": 48.5362, + "isAccessable": true + } + ] + } + ] + } + ] + } + } + } +}