Skip to content

Commit

Permalink
Added OutboundNetworkDependenciesEndpoints API (#15498)
Browse files Browse the repository at this point in the history
* Adds VNet peering to 2021-04-01-preview api-version.

* Added OutboundNetworkDependencies.

* Fixed Prettier issue

* Fixed lint error

* Edited sample output

* Added reference to preview/vnetpeering.json in readme file

* Edited description for outbound network dependency endpoints.

* Corrected return type for outbound network dependency endpoints.

* Corrected return type for outbound network dependency endpoints.

* Correcting schema

* Correcting schema

Co-authored-by: nipuneth <nipuneth@microsoft.com>
Co-authored-by: Sharanjeet Kaur <shkau@microsoft.com>
  • Loading branch information
3 people authored Aug 18, 2021
1 parent 6bb4782 commit a3c9363
Show file tree
Hide file tree
Showing 8 changed files with 905 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -652,6 +652,49 @@
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/outboundNetworkDependenciesEndpoints": {
"get": {
"tags": [
"GET"
],
"summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified Workspace.",
"description": "Gets the list of endpoints that VNET Injected Workspace's Cluster call Azure Databricks Control Plane. You must configure outbound access to these endpoints. For more information, see https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/udr",
"operationId": "OutboundNetworkDependenciesEndpoints_List",
"x-ms-examples": {
"List OutboundNetworkDependenciesEndpoints by Workspace": {
"$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json"
}
},
"parameters": [
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/WorkspaceName"
},
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "The response contains list of outbound network dependency endpoints",
"schema": {
"$ref": "#/definitions/OutboundEnvironmentEndpointCollection"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
}
},
"definitions": {
Expand Down Expand Up @@ -1532,6 +1575,71 @@
"name": "PrivateEndpointConnectionProvisioningState",
"modelAsString": true
}
},
"EndpointDependency": {
"description": "A domain name or IP address the Workspace is reaching at.",
"type": "object",
"properties": {
"domainName": {
"description": "The domain name of the dependency.",
"type": "string"
},
"endpointDetails": {
"description": "The Ports used when connecting to domainName.",
"type": "array",
"items": {
"$ref": "#/definitions/EndpointDetail"
}
}
}
},
"EndpointDetail": {
"description": "Connect information from the Workspace 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 the connection to be created from the Workspace to this IpAddress at this Port.",
"type": "number"
},
"isAccessible": {
"description": "Whether it is possible to create a connection from the Workspace to this IpAddress at this Port.",
"type": "boolean"
}
}
},
"OutboundEnvironmentEndpoint": {
"description": "Egress endpoints which Workspace connects to for common purposes.",
"type": "object",
"properties": {
"category": {
"description": "The category of endpoints accessed by the Workspace, e.g. azure-storage, azure-mysql, etc.",
"type": "string"
},
"endpoints": {
"description": "The endpoints that Workspace connect to",
"type": "array",
"items": {
"$ref": "#/definitions/EndpointDependency"
}
}
}
},
"OutboundEnvironmentEndpointCollection": {
"description": "Collection of outbound network dependency endpoints",
"type": "array",
"items": {
"$ref": "#/definitions/OutboundEnvironmentEndpoint"
}
}
},
"parameters": {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
{
"parameters": {
"workspaceName": "myWorkspace",
"resourceGroupName": "myResourceGroup",
"api-version": "2021-04-01-preview",
"subscriptionId": "11111111-1111-1111-1111-111111111111"
},
"responses": {
"200": {
"body": [
{
"category": "Webapp",
"endpoints": [
{
"endpointDetails": [
{
"ipAddress": "11.111.111.11/11",
"port": 123
},
{
"ipAddress": "22.222.222.22/22",
"port": 123
}
]
}
]
},
{
"category": "Control Plane NAT",
"endpoints": [
{
"endpointDetails": [
{
"ipAddress": "33.33.333.333/33",
"port": 123
}
]
}
]
},
{
"category": "Extended infrastructure",
"endpoints": [
{
"endpointDetails": [
{
"ipAddress": "44.44.44.44/44",
"port": 123
}
]
}
]
},
{
"category": "Azure Storage",
"endpoints": [
{
"domainName": "xxx.blob.core.windows.net",
"endpointDetails": [
{
"port": 123
}
]
},
{
"domainName": "yyy.blob.core.windows.net",
"endpointDetails": [
{
"port": 123
}
]
},
{
"domainName": "zzz.blob.core.windows.net",
"endpointDetails": [
{
"port": 123
}
]
}
]
},
{
"category": "Azure My SQL",
"endpoints": [
{
"domainName": "xxx.mysql.database.azure.com",
"endpointDetails": [
{
"port": 1234
}
]
},
{
"domainName": "yyy.mysql.database.azure.com",
"endpointDetails": [
{
"port": 1234
}
]
}
]
},
{
"category": "Azure Servicebus",
"endpoints": [
{
"domainName": "xxx.servicebus.windows.net",
"endpointDetails": [
{
"port": 1234
}
]
}
]
}
]
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"parameters": {
"subscriptionId": "subid",
"resourceGroupName": "rg",
"workspaceName": "myWorkspace",
"peeringName": "vNetPeering",
"api-version": "2021-04-01-preview"
},
"responses": {
"200": {
"headers": {},
"body": {
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest",
"name": "vNetPeeringTest",
"properties": {
"allowVirtualNetworkAccess": true,
"allowForwardedTraffic": false,
"allowGatewayTransit": false,
"useRemoteGateways": false,
"remoteVirtualNetwork": {
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet"
},
"remoteAddressSpace": {
"addressPrefixes": [
"10.203.0.0/16"
]
},
"databricksVirtualNetwork": {
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet"
},
"databricksAddressSpace": {
"addressPrefixes": [
"10.139.0.0/16"
]
},
"peeringState": "Initiated",
"provisioningState": "Succeeded"
}
}
},
"204": {}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"parameters": {
"subscriptionId": "subid",
"resourceGroupName": "rg",
"workspaceName": "myWorkspace",
"api-version": "2021-04-01-preview"
},
"responses": {
"200": {
"headers": {},
"body": {
"value": [
{
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest",
"name": "vNetPeeringTest",
"properties": {
"allowVirtualNetworkAccess": true,
"allowForwardedTraffic": false,
"allowGatewayTransit": false,
"useRemoteGateways": false,
"remoteVirtualNetwork": {
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet"
},
"remoteAddressSpace": {
"addressPrefixes": [
"10.203.0.0/16"
]
},
"databricksVirtualNetwork": {
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet"
},
"databricksAddressSpace": {
"addressPrefixes": [
"10.139.0.0/16"
]
},
"peeringState": "Initiated",
"provisioningState": "Succeeded"
}
}
]
}
}
}
}
Loading

0 comments on commit a3c9363

Please sign in to comment.