Skip to content

Commit a3c9363

Browse files
JeetSharanpunethanishantjeetsharan1
authored
Added OutboundNetworkDependenciesEndpoints API (#15498)
* 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 <[email protected]> Co-authored-by: Sharanjeet Kaur <[email protected]>
1 parent 6bb4782 commit a3c9363

File tree

8 files changed

+905
-1
lines changed

8 files changed

+905
-1
lines changed

specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,49 @@
652652
}
653653
}
654654
}
655+
},
656+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/outboundNetworkDependenciesEndpoints": {
657+
"get": {
658+
"tags": [
659+
"GET"
660+
],
661+
"summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified Workspace.",
662+
"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",
663+
"operationId": "OutboundNetworkDependenciesEndpoints_List",
664+
"x-ms-examples": {
665+
"List OutboundNetworkDependenciesEndpoints by Workspace": {
666+
"$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json"
667+
}
668+
},
669+
"parameters": [
670+
{
671+
"$ref": "#/parameters/ResourceGroupName"
672+
},
673+
{
674+
"$ref": "#/parameters/WorkspaceName"
675+
},
676+
{
677+
"$ref": "#/parameters/ApiVersionParameter"
678+
},
679+
{
680+
"$ref": "#/parameters/SubscriptionIdParameter"
681+
}
682+
],
683+
"responses": {
684+
"200": {
685+
"description": "The response contains list of outbound network dependency endpoints",
686+
"schema": {
687+
"$ref": "#/definitions/OutboundEnvironmentEndpointCollection"
688+
}
689+
},
690+
"default": {
691+
"description": "Error response describing why the operation failed.",
692+
"schema": {
693+
"$ref": "#/definitions/ErrorResponse"
694+
}
695+
}
696+
}
697+
}
655698
}
656699
},
657700
"definitions": {
@@ -1532,6 +1575,71 @@
15321575
"name": "PrivateEndpointConnectionProvisioningState",
15331576
"modelAsString": true
15341577
}
1578+
},
1579+
"EndpointDependency": {
1580+
"description": "A domain name or IP address the Workspace is reaching at.",
1581+
"type": "object",
1582+
"properties": {
1583+
"domainName": {
1584+
"description": "The domain name of the dependency.",
1585+
"type": "string"
1586+
},
1587+
"endpointDetails": {
1588+
"description": "The Ports used when connecting to domainName.",
1589+
"type": "array",
1590+
"items": {
1591+
"$ref": "#/definitions/EndpointDetail"
1592+
}
1593+
}
1594+
}
1595+
},
1596+
"EndpointDetail": {
1597+
"description": "Connect information from the Workspace to a single endpoint.",
1598+
"type": "object",
1599+
"properties": {
1600+
"ipAddress": {
1601+
"description": "An IP Address that Domain Name currently resolves to.",
1602+
"type": "string"
1603+
},
1604+
"port": {
1605+
"format": "int32",
1606+
"description": "The port an endpoint is connected to.",
1607+
"type": "integer"
1608+
},
1609+
"latency": {
1610+
"format": "double",
1611+
"description": "The time in milliseconds it takes for the connection to be created from the Workspace to this IpAddress at this Port.",
1612+
"type": "number"
1613+
},
1614+
"isAccessible": {
1615+
"description": "Whether it is possible to create a connection from the Workspace to this IpAddress at this Port.",
1616+
"type": "boolean"
1617+
}
1618+
}
1619+
},
1620+
"OutboundEnvironmentEndpoint": {
1621+
"description": "Egress endpoints which Workspace connects to for common purposes.",
1622+
"type": "object",
1623+
"properties": {
1624+
"category": {
1625+
"description": "The category of endpoints accessed by the Workspace, e.g. azure-storage, azure-mysql, etc.",
1626+
"type": "string"
1627+
},
1628+
"endpoints": {
1629+
"description": "The endpoints that Workspace connect to",
1630+
"type": "array",
1631+
"items": {
1632+
"$ref": "#/definitions/EndpointDependency"
1633+
}
1634+
}
1635+
}
1636+
},
1637+
"OutboundEnvironmentEndpointCollection": {
1638+
"description": "Collection of outbound network dependency endpoints",
1639+
"type": "array",
1640+
"items": {
1641+
"$ref": "#/definitions/OutboundEnvironmentEndpoint"
1642+
}
15351643
}
15361644
},
15371645
"parameters": {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
{
2+
"parameters": {
3+
"workspaceName": "myWorkspace",
4+
"resourceGroupName": "myResourceGroup",
5+
"api-version": "2021-04-01-preview",
6+
"subscriptionId": "11111111-1111-1111-1111-111111111111"
7+
},
8+
"responses": {
9+
"200": {
10+
"body": [
11+
{
12+
"category": "Webapp",
13+
"endpoints": [
14+
{
15+
"endpointDetails": [
16+
{
17+
"ipAddress": "11.111.111.11/11",
18+
"port": 123
19+
},
20+
{
21+
"ipAddress": "22.222.222.22/22",
22+
"port": 123
23+
}
24+
]
25+
}
26+
]
27+
},
28+
{
29+
"category": "Control Plane NAT",
30+
"endpoints": [
31+
{
32+
"endpointDetails": [
33+
{
34+
"ipAddress": "33.33.333.333/33",
35+
"port": 123
36+
}
37+
]
38+
}
39+
]
40+
},
41+
{
42+
"category": "Extended infrastructure",
43+
"endpoints": [
44+
{
45+
"endpointDetails": [
46+
{
47+
"ipAddress": "44.44.44.44/44",
48+
"port": 123
49+
}
50+
]
51+
}
52+
]
53+
},
54+
{
55+
"category": "Azure Storage",
56+
"endpoints": [
57+
{
58+
"domainName": "xxx.blob.core.windows.net",
59+
"endpointDetails": [
60+
{
61+
"port": 123
62+
}
63+
]
64+
},
65+
{
66+
"domainName": "yyy.blob.core.windows.net",
67+
"endpointDetails": [
68+
{
69+
"port": 123
70+
}
71+
]
72+
},
73+
{
74+
"domainName": "zzz.blob.core.windows.net",
75+
"endpointDetails": [
76+
{
77+
"port": 123
78+
}
79+
]
80+
}
81+
]
82+
},
83+
{
84+
"category": "Azure My SQL",
85+
"endpoints": [
86+
{
87+
"domainName": "xxx.mysql.database.azure.com",
88+
"endpointDetails": [
89+
{
90+
"port": 1234
91+
}
92+
]
93+
},
94+
{
95+
"domainName": "yyy.mysql.database.azure.com",
96+
"endpointDetails": [
97+
{
98+
"port": 1234
99+
}
100+
]
101+
}
102+
]
103+
},
104+
{
105+
"category": "Azure Servicebus",
106+
"endpoints": [
107+
{
108+
"domainName": "xxx.servicebus.windows.net",
109+
"endpointDetails": [
110+
{
111+
"port": 1234
112+
}
113+
]
114+
}
115+
]
116+
}
117+
]
118+
}
119+
}
120+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"parameters": {
3+
"subscriptionId": "subid",
4+
"resourceGroupName": "rg",
5+
"workspaceName": "myWorkspace",
6+
"peeringName": "vNetPeering",
7+
"api-version": "2021-04-01-preview"
8+
},
9+
"responses": {
10+
"200": {
11+
"headers": {},
12+
"body": {
13+
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest",
14+
"name": "vNetPeeringTest",
15+
"properties": {
16+
"allowVirtualNetworkAccess": true,
17+
"allowForwardedTraffic": false,
18+
"allowGatewayTransit": false,
19+
"useRemoteGateways": false,
20+
"remoteVirtualNetwork": {
21+
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet"
22+
},
23+
"remoteAddressSpace": {
24+
"addressPrefixes": [
25+
"10.203.0.0/16"
26+
]
27+
},
28+
"databricksVirtualNetwork": {
29+
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet"
30+
},
31+
"databricksAddressSpace": {
32+
"addressPrefixes": [
33+
"10.139.0.0/16"
34+
]
35+
},
36+
"peeringState": "Initiated",
37+
"provisioningState": "Succeeded"
38+
}
39+
}
40+
},
41+
"204": {}
42+
}
43+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"parameters": {
3+
"subscriptionId": "subid",
4+
"resourceGroupName": "rg",
5+
"workspaceName": "myWorkspace",
6+
"api-version": "2021-04-01-preview"
7+
},
8+
"responses": {
9+
"200": {
10+
"headers": {},
11+
"body": {
12+
"value": [
13+
{
14+
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest",
15+
"name": "vNetPeeringTest",
16+
"properties": {
17+
"allowVirtualNetworkAccess": true,
18+
"allowForwardedTraffic": false,
19+
"allowGatewayTransit": false,
20+
"useRemoteGateways": false,
21+
"remoteVirtualNetwork": {
22+
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet"
23+
},
24+
"remoteAddressSpace": {
25+
"addressPrefixes": [
26+
"10.203.0.0/16"
27+
]
28+
},
29+
"databricksVirtualNetwork": {
30+
"id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet"
31+
},
32+
"databricksAddressSpace": {
33+
"addressPrefixes": [
34+
"10.139.0.0/16"
35+
]
36+
},
37+
"peeringState": "Initiated",
38+
"provisioningState": "Succeeded"
39+
}
40+
}
41+
]
42+
}
43+
}
44+
}
45+
}

0 commit comments

Comments
 (0)