databricks-sdk 0.55.0__py3-none-any.whl → 0.57.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of databricks-sdk might be problematic. Click here for more details.

Files changed (31) hide show
  1. databricks/sdk/__init__.py +41 -24
  2. databricks/sdk/service/aibuilder.py +505 -0
  3. databricks/sdk/service/apps.py +14 -42
  4. databricks/sdk/service/billing.py +167 -220
  5. databricks/sdk/service/catalog.py +462 -1235
  6. databricks/sdk/service/cleanrooms.py +26 -43
  7. databricks/sdk/service/compute.py +75 -211
  8. databricks/sdk/service/dashboards.py +77 -511
  9. databricks/sdk/service/database.py +1271 -0
  10. databricks/sdk/service/files.py +20 -54
  11. databricks/sdk/service/iam.py +61 -171
  12. databricks/sdk/service/jobs.py +453 -68
  13. databricks/sdk/service/marketplace.py +46 -146
  14. databricks/sdk/service/ml.py +453 -477
  15. databricks/sdk/service/oauth2.py +17 -45
  16. databricks/sdk/service/pipelines.py +125 -40
  17. databricks/sdk/service/provisioning.py +30 -93
  18. databricks/sdk/service/qualitymonitorv2.py +265 -0
  19. databricks/sdk/service/serving.py +106 -46
  20. databricks/sdk/service/settings.py +1062 -390
  21. databricks/sdk/service/sharing.py +33 -88
  22. databricks/sdk/service/sql.py +292 -185
  23. databricks/sdk/service/vectorsearch.py +13 -43
  24. databricks/sdk/service/workspace.py +35 -105
  25. databricks/sdk/version.py +1 -1
  26. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/METADATA +1 -1
  27. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/RECORD +31 -28
  28. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/WHEEL +0 -0
  29. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/licenses/LICENSE +0 -0
  30. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/licenses/NOTICE +0 -0
  31. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/top_level.txt +0 -0
@@ -963,31 +963,45 @@ class CreatePrivateEndpointRule:
963
963
  """Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure
964
964
  portal after initialization."""
965
965
 
966
- resource_id: str
967
- """The Azure resource ID of the target resource."""
968
-
969
966
  domain_names: Optional[List[str]] = None
970
- """Only used by private endpoints to customer-managed resources.
967
+ """Only used by private endpoints to customer-managed private endpoint services.
971
968
 
972
969
  Domain names of target private link service. When updating this field, the full list of target
973
970
  domain_names must be specified."""
974
971
 
972
+ endpoint_service: Optional[str] = None
973
+ """The full target AWS endpoint service name that connects to the destination resources of the
974
+ private endpoint."""
975
+
975
976
  group_id: Optional[str] = None
976
- """Only used by private endpoints to Azure first-party services. Enum: blob | dfs | sqlServer |
977
- mysqlServer
977
+ """Not used by customer-managed private endpoint services.
978
978
 
979
979
  The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
980
980
  storage (root DBFS), you need two endpoints, one for blob and one for dfs."""
981
981
 
982
+ resource_id: Optional[str] = None
983
+ """The Azure resource ID of the target resource."""
984
+
985
+ resource_names: Optional[List[str]] = None
986
+ """Only used by private endpoints towards AWS S3 service.
987
+
988
+ The globally unique S3 bucket names that will be accessed via the VPC endpoint. The bucket names
989
+ must be in the same region as the NCC/endpoint service. When updating this field, we perform
990
+ full update on this field. Please ensure a full list of desired resource_names is provided."""
991
+
982
992
  def as_dict(self) -> dict:
983
993
  """Serializes the CreatePrivateEndpointRule into a dictionary suitable for use as a JSON request body."""
984
994
  body = {}
985
995
  if self.domain_names:
986
996
  body["domain_names"] = [v for v in self.domain_names]
997
+ if self.endpoint_service is not None:
998
+ body["endpoint_service"] = self.endpoint_service
987
999
  if self.group_id is not None:
988
1000
  body["group_id"] = self.group_id
989
1001
  if self.resource_id is not None:
990
1002
  body["resource_id"] = self.resource_id
1003
+ if self.resource_names:
1004
+ body["resource_names"] = [v for v in self.resource_names]
991
1005
  return body
992
1006
 
993
1007
  def as_shallow_dict(self) -> dict:
@@ -995,10 +1009,14 @@ class CreatePrivateEndpointRule:
995
1009
  body = {}
996
1010
  if self.domain_names:
997
1011
  body["domain_names"] = self.domain_names
1012
+ if self.endpoint_service is not None:
1013
+ body["endpoint_service"] = self.endpoint_service
998
1014
  if self.group_id is not None:
999
1015
  body["group_id"] = self.group_id
1000
1016
  if self.resource_id is not None:
1001
1017
  body["resource_id"] = self.resource_id
1018
+ if self.resource_names:
1019
+ body["resource_names"] = self.resource_names
1002
1020
  return body
1003
1021
 
1004
1022
  @classmethod
@@ -1006,8 +1024,10 @@ class CreatePrivateEndpointRule:
1006
1024
  """Deserializes the CreatePrivateEndpointRule from a dictionary."""
1007
1025
  return cls(
1008
1026
  domain_names=d.get("domain_names", None),
1027
+ endpoint_service=d.get("endpoint_service", None),
1009
1028
  group_id=d.get("group_id", None),
1010
1029
  resource_id=d.get("resource_id", None),
1030
+ resource_names=d.get("resource_names", None),
1011
1031
  )
1012
1032
 
1013
1033
 
@@ -1166,6 +1186,219 @@ class CspEnablementAccountSetting:
1166
1186
  )
1167
1187
 
1168
1188
 
1189
+ @dataclass
1190
+ class CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRule:
1191
+ """Properties of the new private endpoint rule. Note that for private endpoints towards a VPC
1192
+ endpoint service behind a customer-managed NLB, you must approve the endpoint in AWS console
1193
+ after initialization."""
1194
+
1195
+ account_id: Optional[str] = None
1196
+ """Databricks account ID. You can find your account ID from the Accounts Console."""
1197
+
1198
+ connection_state: Optional[
1199
+ CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRulePrivateLinkConnectionState
1200
+ ] = None
1201
+ """The current status of this private endpoint. The private endpoint rules are effective only if
1202
+ the connection state is ESTABLISHED. Remember that you must approve new endpoints on your
1203
+ resources in the AWS console before they take effect. The possible values are: - PENDING: The
1204
+ endpoint has been created and pending approval. - ESTABLISHED: The endpoint has been approved
1205
+ and is ready to use in your serverless compute resources. - REJECTED: Connection was rejected by
1206
+ the private link resource owner. - DISCONNECTED: Connection was removed by the private link
1207
+ resource owner, the private endpoint becomes informative and should be deleted for clean-up. -
1208
+ EXPIRED: If the endpoint is created but not approved in 14 days, it is EXPIRED."""
1209
+
1210
+ creation_time: Optional[int] = None
1211
+ """Time in epoch milliseconds when this object was created."""
1212
+
1213
+ deactivated: Optional[bool] = None
1214
+ """Whether this private endpoint is deactivated."""
1215
+
1216
+ deactivated_at: Optional[int] = None
1217
+ """Time in epoch milliseconds when this object was deactivated."""
1218
+
1219
+ domain_names: Optional[List[str]] = None
1220
+ """Only used by private endpoints towards a VPC endpoint service for customer-managed VPC endpoint
1221
+ service.
1222
+
1223
+ The target AWS resource FQDNs accessible via the VPC endpoint service. When updating this field,
1224
+ we perform full update on this field. Please ensure a full list of desired domain_names is
1225
+ provided."""
1226
+
1227
+ enabled: Optional[bool] = None
1228
+ """Only used by private endpoints towards an AWS S3 service.
1229
+
1230
+ Update this field to activate/deactivate this private endpoint to allow egress access from
1231
+ serverless compute resources."""
1232
+
1233
+ endpoint_service: Optional[str] = None
1234
+ """The full target AWS endpoint service name that connects to the destination resources of the
1235
+ private endpoint."""
1236
+
1237
+ network_connectivity_config_id: Optional[str] = None
1238
+ """The ID of a network connectivity configuration, which is the parent resource of this private
1239
+ endpoint rule object."""
1240
+
1241
+ resource_names: Optional[List[str]] = None
1242
+ """Only used by private endpoints towards AWS S3 service.
1243
+
1244
+ The globally unique S3 bucket names that will be accessed via the VPC endpoint. The bucket names
1245
+ must be in the same region as the NCC/endpoint service. When updating this field, we perform
1246
+ full update on this field. Please ensure a full list of desired resource_names is provided."""
1247
+
1248
+ rule_id: Optional[str] = None
1249
+ """The ID of a private endpoint rule."""
1250
+
1251
+ updated_time: Optional[int] = None
1252
+ """Time in epoch milliseconds when this object was updated."""
1253
+
1254
+ vpc_endpoint_id: Optional[str] = None
1255
+ """The AWS VPC endpoint ID. You can use this ID to identify VPC endpoint created by Databricks."""
1256
+
1257
+ def as_dict(self) -> dict:
1258
+ """Serializes the CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRule into a dictionary suitable for use as a JSON request body."""
1259
+ body = {}
1260
+ if self.account_id is not None:
1261
+ body["account_id"] = self.account_id
1262
+ if self.connection_state is not None:
1263
+ body["connection_state"] = self.connection_state.value
1264
+ if self.creation_time is not None:
1265
+ body["creation_time"] = self.creation_time
1266
+ if self.deactivated is not None:
1267
+ body["deactivated"] = self.deactivated
1268
+ if self.deactivated_at is not None:
1269
+ body["deactivated_at"] = self.deactivated_at
1270
+ if self.domain_names:
1271
+ body["domain_names"] = [v for v in self.domain_names]
1272
+ if self.enabled is not None:
1273
+ body["enabled"] = self.enabled
1274
+ if self.endpoint_service is not None:
1275
+ body["endpoint_service"] = self.endpoint_service
1276
+ if self.network_connectivity_config_id is not None:
1277
+ body["network_connectivity_config_id"] = self.network_connectivity_config_id
1278
+ if self.resource_names:
1279
+ body["resource_names"] = [v for v in self.resource_names]
1280
+ if self.rule_id is not None:
1281
+ body["rule_id"] = self.rule_id
1282
+ if self.updated_time is not None:
1283
+ body["updated_time"] = self.updated_time
1284
+ if self.vpc_endpoint_id is not None:
1285
+ body["vpc_endpoint_id"] = self.vpc_endpoint_id
1286
+ return body
1287
+
1288
+ def as_shallow_dict(self) -> dict:
1289
+ """Serializes the CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRule into a shallow dictionary of its immediate attributes."""
1290
+ body = {}
1291
+ if self.account_id is not None:
1292
+ body["account_id"] = self.account_id
1293
+ if self.connection_state is not None:
1294
+ body["connection_state"] = self.connection_state
1295
+ if self.creation_time is not None:
1296
+ body["creation_time"] = self.creation_time
1297
+ if self.deactivated is not None:
1298
+ body["deactivated"] = self.deactivated
1299
+ if self.deactivated_at is not None:
1300
+ body["deactivated_at"] = self.deactivated_at
1301
+ if self.domain_names:
1302
+ body["domain_names"] = self.domain_names
1303
+ if self.enabled is not None:
1304
+ body["enabled"] = self.enabled
1305
+ if self.endpoint_service is not None:
1306
+ body["endpoint_service"] = self.endpoint_service
1307
+ if self.network_connectivity_config_id is not None:
1308
+ body["network_connectivity_config_id"] = self.network_connectivity_config_id
1309
+ if self.resource_names:
1310
+ body["resource_names"] = self.resource_names
1311
+ if self.rule_id is not None:
1312
+ body["rule_id"] = self.rule_id
1313
+ if self.updated_time is not None:
1314
+ body["updated_time"] = self.updated_time
1315
+ if self.vpc_endpoint_id is not None:
1316
+ body["vpc_endpoint_id"] = self.vpc_endpoint_id
1317
+ return body
1318
+
1319
+ @classmethod
1320
+ def from_dict(cls, d: Dict[str, Any]) -> CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRule:
1321
+ """Deserializes the CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRule from a dictionary."""
1322
+ return cls(
1323
+ account_id=d.get("account_id", None),
1324
+ connection_state=_enum(
1325
+ d,
1326
+ "connection_state",
1327
+ CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRulePrivateLinkConnectionState,
1328
+ ),
1329
+ creation_time=d.get("creation_time", None),
1330
+ deactivated=d.get("deactivated", None),
1331
+ deactivated_at=d.get("deactivated_at", None),
1332
+ domain_names=d.get("domain_names", None),
1333
+ enabled=d.get("enabled", None),
1334
+ endpoint_service=d.get("endpoint_service", None),
1335
+ network_connectivity_config_id=d.get("network_connectivity_config_id", None),
1336
+ resource_names=d.get("resource_names", None),
1337
+ rule_id=d.get("rule_id", None),
1338
+ updated_time=d.get("updated_time", None),
1339
+ vpc_endpoint_id=d.get("vpc_endpoint_id", None),
1340
+ )
1341
+
1342
+
1343
+ class CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRulePrivateLinkConnectionState(Enum):
1344
+
1345
+ DISCONNECTED = "DISCONNECTED"
1346
+ ESTABLISHED = "ESTABLISHED"
1347
+ EXPIRED = "EXPIRED"
1348
+ PENDING = "PENDING"
1349
+ REJECTED = "REJECTED"
1350
+
1351
+
1352
+ @dataclass
1353
+ class DashboardEmailSubscriptions:
1354
+ boolean_val: BooleanMessage
1355
+
1356
+ etag: Optional[str] = None
1357
+ """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
1358
+ for optimistic concurrency control as a way to help prevent simultaneous writes of a setting
1359
+ overwriting each other. It is strongly suggested that systems make use of the etag in the read
1360
+ -> update pattern to perform setting updates in order to avoid race conditions. That is, get an
1361
+ etag from a GET request, and pass it with the PATCH request to identify the setting version you
1362
+ are updating."""
1363
+
1364
+ setting_name: Optional[str] = None
1365
+ """Name of the corresponding setting. This field is populated in the response, but it will not be
1366
+ respected even if it's set in the request body. The setting name in the path parameter will be
1367
+ respected instead. Setting name is required to be 'default' if the setting only has one instance
1368
+ per workspace."""
1369
+
1370
+ def as_dict(self) -> dict:
1371
+ """Serializes the DashboardEmailSubscriptions into a dictionary suitable for use as a JSON request body."""
1372
+ body = {}
1373
+ if self.boolean_val:
1374
+ body["boolean_val"] = self.boolean_val.as_dict()
1375
+ if self.etag is not None:
1376
+ body["etag"] = self.etag
1377
+ if self.setting_name is not None:
1378
+ body["setting_name"] = self.setting_name
1379
+ return body
1380
+
1381
+ def as_shallow_dict(self) -> dict:
1382
+ """Serializes the DashboardEmailSubscriptions into a shallow dictionary of its immediate attributes."""
1383
+ body = {}
1384
+ if self.boolean_val:
1385
+ body["boolean_val"] = self.boolean_val
1386
+ if self.etag is not None:
1387
+ body["etag"] = self.etag
1388
+ if self.setting_name is not None:
1389
+ body["setting_name"] = self.setting_name
1390
+ return body
1391
+
1392
+ @classmethod
1393
+ def from_dict(cls, d: Dict[str, Any]) -> DashboardEmailSubscriptions:
1394
+ """Deserializes the DashboardEmailSubscriptions from a dictionary."""
1395
+ return cls(
1396
+ boolean_val=_from_dict(d, "boolean_val", BooleanMessage),
1397
+ etag=d.get("etag", None),
1398
+ setting_name=d.get("setting_name", None),
1399
+ )
1400
+
1401
+
1169
1402
  @dataclass
1170
1403
  class DefaultNamespaceSetting:
1171
1404
  """This represents the setting configuration for the default namespace in the Databricks workspace.
@@ -1320,6 +1553,38 @@ class DeleteAibiDashboardEmbeddingApprovedDomainsSettingResponse:
1320
1553
  return cls(etag=d.get("etag", None))
1321
1554
 
1322
1555
 
1556
+ @dataclass
1557
+ class DeleteDashboardEmailSubscriptionsResponse:
1558
+ """The etag is returned."""
1559
+
1560
+ etag: str
1561
+ """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
1562
+ for optimistic concurrency control as a way to help prevent simultaneous writes of a setting
1563
+ overwriting each other. It is strongly suggested that systems make use of the etag in the read
1564
+ -> delete pattern to perform setting deletions in order to avoid race conditions. That is, get
1565
+ an etag from a GET request, and pass it with the DELETE request to identify the rule set version
1566
+ you are deleting."""
1567
+
1568
+ def as_dict(self) -> dict:
1569
+ """Serializes the DeleteDashboardEmailSubscriptionsResponse into a dictionary suitable for use as a JSON request body."""
1570
+ body = {}
1571
+ if self.etag is not None:
1572
+ body["etag"] = self.etag
1573
+ return body
1574
+
1575
+ def as_shallow_dict(self) -> dict:
1576
+ """Serializes the DeleteDashboardEmailSubscriptionsResponse into a shallow dictionary of its immediate attributes."""
1577
+ body = {}
1578
+ if self.etag is not None:
1579
+ body["etag"] = self.etag
1580
+ return body
1581
+
1582
+ @classmethod
1583
+ def from_dict(cls, d: Dict[str, Any]) -> DeleteDashboardEmailSubscriptionsResponse:
1584
+ """Deserializes the DeleteDashboardEmailSubscriptionsResponse from a dictionary."""
1585
+ return cls(etag=d.get("etag", None))
1586
+
1587
+
1323
1588
  @dataclass
1324
1589
  class DeleteDefaultNamespaceSettingResponse:
1325
1590
  """The etag is returned."""
@@ -1598,6 +1863,38 @@ class DeleteRestrictWorkspaceAdminsSettingResponse:
1598
1863
  return cls(etag=d.get("etag", None))
1599
1864
 
1600
1865
 
1866
+ @dataclass
1867
+ class DeleteSqlResultsDownloadResponse:
1868
+ """The etag is returned."""
1869
+
1870
+ etag: str
1871
+ """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
1872
+ for optimistic concurrency control as a way to help prevent simultaneous writes of a setting
1873
+ overwriting each other. It is strongly suggested that systems make use of the etag in the read
1874
+ -> delete pattern to perform setting deletions in order to avoid race conditions. That is, get
1875
+ an etag from a GET request, and pass it with the DELETE request to identify the rule set version
1876
+ you are deleting."""
1877
+
1878
+ def as_dict(self) -> dict:
1879
+ """Serializes the DeleteSqlResultsDownloadResponse into a dictionary suitable for use as a JSON request body."""
1880
+ body = {}
1881
+ if self.etag is not None:
1882
+ body["etag"] = self.etag
1883
+ return body
1884
+
1885
+ def as_shallow_dict(self) -> dict:
1886
+ """Serializes the DeleteSqlResultsDownloadResponse into a shallow dictionary of its immediate attributes."""
1887
+ body = {}
1888
+ if self.etag is not None:
1889
+ body["etag"] = self.etag
1890
+ return body
1891
+
1892
+ @classmethod
1893
+ def from_dict(cls, d: Dict[str, Any]) -> DeleteSqlResultsDownloadResponse:
1894
+ """Deserializes the DeleteSqlResultsDownloadResponse from a dictionary."""
1895
+ return cls(etag=d.get("etag", None))
1896
+
1897
+
1601
1898
  class DestinationType(Enum):
1602
1899
 
1603
1900
  EMAIL = "EMAIL"
@@ -2247,7 +2544,6 @@ class EgressNetworkPolicyNetworkAccessPolicyStorageDestination:
2247
2544
  bucket_name: Optional[str] = None
2248
2545
 
2249
2546
  region: Optional[str] = None
2250
- """The region of the S3 bucket."""
2251
2547
 
2252
2548
  storage_destination_type: Optional[
2253
2549
  EgressNetworkPolicyNetworkAccessPolicyStorageDestinationStorageDestinationType
@@ -3073,43 +3369,6 @@ class ListIpAccessListResponse:
3073
3369
  return cls(ip_access_lists=_repeated_dict(d, "ip_access_lists", IpAccessListInfo))
3074
3370
 
3075
3371
 
3076
- @dataclass
3077
- class ListNccAzurePrivateEndpointRulesResponse:
3078
- """The private endpoint rule list was successfully retrieved."""
3079
-
3080
- items: Optional[List[NccAzurePrivateEndpointRule]] = None
3081
-
3082
- next_page_token: Optional[str] = None
3083
- """A token that can be used to get the next page of results. If null, there are no more results to
3084
- show."""
3085
-
3086
- def as_dict(self) -> dict:
3087
- """Serializes the ListNccAzurePrivateEndpointRulesResponse into a dictionary suitable for use as a JSON request body."""
3088
- body = {}
3089
- if self.items:
3090
- body["items"] = [v.as_dict() for v in self.items]
3091
- if self.next_page_token is not None:
3092
- body["next_page_token"] = self.next_page_token
3093
- return body
3094
-
3095
- def as_shallow_dict(self) -> dict:
3096
- """Serializes the ListNccAzurePrivateEndpointRulesResponse into a shallow dictionary of its immediate attributes."""
3097
- body = {}
3098
- if self.items:
3099
- body["items"] = self.items
3100
- if self.next_page_token is not None:
3101
- body["next_page_token"] = self.next_page_token
3102
- return body
3103
-
3104
- @classmethod
3105
- def from_dict(cls, d: Dict[str, Any]) -> ListNccAzurePrivateEndpointRulesResponse:
3106
- """Deserializes the ListNccAzurePrivateEndpointRulesResponse from a dictionary."""
3107
- return cls(
3108
- items=_repeated_dict(d, "items", NccAzurePrivateEndpointRule),
3109
- next_page_token=d.get("next_page_token", None),
3110
- )
3111
-
3112
-
3113
3372
  @dataclass
3114
3373
  class ListNetworkConnectivityConfigurationsResponse:
3115
3374
  """The network connectivity configuration list was successfully retrieved."""
@@ -3259,6 +3518,42 @@ class ListNotificationDestinationsResult:
3259
3518
  )
3260
3519
 
3261
3520
 
3521
+ @dataclass
3522
+ class ListPrivateEndpointRulesResponse:
3523
+ """The private endpoint rule list was successfully retrieved."""
3524
+
3525
+ items: Optional[List[NccPrivateEndpointRule]] = None
3526
+
3527
+ next_page_token: Optional[str] = None
3528
+ """A token that can be used to get the next page of results. If null, there are no more results to
3529
+ show."""
3530
+
3531
+ def as_dict(self) -> dict:
3532
+ """Serializes the ListPrivateEndpointRulesResponse into a dictionary suitable for use as a JSON request body."""
3533
+ body = {}
3534
+ if self.items:
3535
+ body["items"] = [v.as_dict() for v in self.items]
3536
+ if self.next_page_token is not None:
3537
+ body["next_page_token"] = self.next_page_token
3538
+ return body
3539
+
3540
+ def as_shallow_dict(self) -> dict:
3541
+ """Serializes the ListPrivateEndpointRulesResponse into a shallow dictionary of its immediate attributes."""
3542
+ body = {}
3543
+ if self.items:
3544
+ body["items"] = self.items
3545
+ if self.next_page_token is not None:
3546
+ body["next_page_token"] = self.next_page_token
3547
+ return body
3548
+
3549
+ @classmethod
3550
+ def from_dict(cls, d: Dict[str, Any]) -> ListPrivateEndpointRulesResponse:
3551
+ """Deserializes the ListPrivateEndpointRulesResponse from a dictionary."""
3552
+ return cls(
3553
+ items=_repeated_dict(d, "items", NccPrivateEndpointRule), next_page_token=d.get("next_page_token", None)
3554
+ )
3555
+
3556
+
3262
3557
  @dataclass
3263
3558
  class ListPublicTokensResponse:
3264
3559
  token_infos: Optional[List[PublicTokenInfo]] = None
@@ -3558,7 +3853,7 @@ class NccAzurePrivateEndpointRule:
3558
3853
  """Time in epoch milliseconds when this object was deactivated."""
3559
3854
 
3560
3855
  domain_names: Optional[List[str]] = None
3561
- """Only used by private endpoints to customer-managed resources.
3856
+ """Not used by customer-managed private endpoint services.
3562
3857
 
3563
3858
  Domain names of target private link service. When updating this field, the full list of target
3564
3859
  domain_names must be specified."""
@@ -3567,8 +3862,7 @@ class NccAzurePrivateEndpointRule:
3567
3862
  """The name of the Azure private endpoint resource."""
3568
3863
 
3569
3864
  group_id: Optional[str] = None
3570
- """Only used by private endpoints to Azure first-party services. Enum: blob | dfs | sqlServer |
3571
- mysqlServer
3865
+ """Only used by private endpoints to Azure first-party services.
3572
3866
 
3573
3867
  The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
3574
3868
  storage (root DBFS), you need two endpoints, one for blob and one for dfs."""
@@ -3783,49 +4077,240 @@ class NccEgressDefaultRules:
3783
4077
  body["azure_service_endpoint_rule"] = self.azure_service_endpoint_rule
3784
4078
  return body
3785
4079
 
3786
- @classmethod
3787
- def from_dict(cls, d: Dict[str, Any]) -> NccEgressDefaultRules:
3788
- """Deserializes the NccEgressDefaultRules from a dictionary."""
3789
- return cls(
3790
- aws_stable_ip_rule=_from_dict(d, "aws_stable_ip_rule", NccAwsStableIpRule),
3791
- azure_service_endpoint_rule=_from_dict(d, "azure_service_endpoint_rule", NccAzureServiceEndpointRule),
3792
- )
4080
+ @classmethod
4081
+ def from_dict(cls, d: Dict[str, Any]) -> NccEgressDefaultRules:
4082
+ """Deserializes the NccEgressDefaultRules from a dictionary."""
4083
+ return cls(
4084
+ aws_stable_ip_rule=_from_dict(d, "aws_stable_ip_rule", NccAwsStableIpRule),
4085
+ azure_service_endpoint_rule=_from_dict(d, "azure_service_endpoint_rule", NccAzureServiceEndpointRule),
4086
+ )
4087
+
4088
+
4089
+ @dataclass
4090
+ class NccEgressTargetRules:
4091
+ """Target rule controls the egress rules that are dedicated to specific resources."""
4092
+
4093
+ aws_private_endpoint_rules: Optional[List[CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRule]] = None
4094
+ """AWS private endpoint rule controls the AWS private endpoint based egress rules."""
4095
+
4096
+ azure_private_endpoint_rules: Optional[List[NccAzurePrivateEndpointRule]] = None
4097
+
4098
+ def as_dict(self) -> dict:
4099
+ """Serializes the NccEgressTargetRules into a dictionary suitable for use as a JSON request body."""
4100
+ body = {}
4101
+ if self.aws_private_endpoint_rules:
4102
+ body["aws_private_endpoint_rules"] = [v.as_dict() for v in self.aws_private_endpoint_rules]
4103
+ if self.azure_private_endpoint_rules:
4104
+ body["azure_private_endpoint_rules"] = [v.as_dict() for v in self.azure_private_endpoint_rules]
4105
+ return body
4106
+
4107
+ def as_shallow_dict(self) -> dict:
4108
+ """Serializes the NccEgressTargetRules into a shallow dictionary of its immediate attributes."""
4109
+ body = {}
4110
+ if self.aws_private_endpoint_rules:
4111
+ body["aws_private_endpoint_rules"] = self.aws_private_endpoint_rules
4112
+ if self.azure_private_endpoint_rules:
4113
+ body["azure_private_endpoint_rules"] = self.azure_private_endpoint_rules
4114
+ return body
4115
+
4116
+ @classmethod
4117
+ def from_dict(cls, d: Dict[str, Any]) -> NccEgressTargetRules:
4118
+ """Deserializes the NccEgressTargetRules from a dictionary."""
4119
+ return cls(
4120
+ aws_private_endpoint_rules=_repeated_dict(
4121
+ d, "aws_private_endpoint_rules", CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRule
4122
+ ),
4123
+ azure_private_endpoint_rules=_repeated_dict(d, "azure_private_endpoint_rules", NccAzurePrivateEndpointRule),
4124
+ )
4125
+
4126
+
4127
+ @dataclass
4128
+ class NccPrivateEndpointRule:
4129
+ """Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure
4130
+ portal after initialization."""
4131
+
4132
+ account_id: Optional[str] = None
4133
+ """Databricks account ID. You can find your account ID from the Accounts Console."""
4134
+
4135
+ connection_state: Optional[NccPrivateEndpointRulePrivateLinkConnectionState] = None
4136
+ """The current status of this private endpoint. The private endpoint rules are effective only if
4137
+ the connection state is ESTABLISHED. Remember that you must approve new endpoints on your
4138
+ resources in the Cloud console before they take effect. The possible values are: - PENDING: The
4139
+ endpoint has been created and pending approval. - ESTABLISHED: The endpoint has been approved
4140
+ and is ready to use in your serverless compute resources. - REJECTED: Connection was rejected by
4141
+ the private link resource owner. - DISCONNECTED: Connection was removed by the private link
4142
+ resource owner, the private endpoint becomes informative and should be deleted for clean-up. -
4143
+ EXPIRED: If the endpoint was created but not approved in 14 days, it will be EXPIRED."""
4144
+
4145
+ creation_time: Optional[int] = None
4146
+ """Time in epoch milliseconds when this object was created."""
4147
+
4148
+ deactivated: Optional[bool] = None
4149
+ """Whether this private endpoint is deactivated."""
4150
+
4151
+ deactivated_at: Optional[int] = None
4152
+ """Time in epoch milliseconds when this object was deactivated."""
4153
+
4154
+ domain_names: Optional[List[str]] = None
4155
+ """Only used by private endpoints to customer-managed private endpoint services.
4156
+
4157
+ Domain names of target private link service. When updating this field, the full list of target
4158
+ domain_names must be specified."""
4159
+
4160
+ enabled: Optional[bool] = None
4161
+ """Only used by private endpoints towards an AWS S3 service.
4162
+
4163
+ Update this field to activate/deactivate this private endpoint to allow egress access from
4164
+ serverless compute resources."""
4165
+
4166
+ endpoint_name: Optional[str] = None
4167
+ """The name of the Azure private endpoint resource."""
4168
+
4169
+ endpoint_service: Optional[str] = None
4170
+ """The full target AWS endpoint service name that connects to the destination resources of the
4171
+ private endpoint."""
4172
+
4173
+ group_id: Optional[str] = None
4174
+ """Not used by customer-managed private endpoint services.
4175
+
4176
+ The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
4177
+ storage (root DBFS), you need two endpoints, one for blob and one for dfs."""
4178
+
4179
+ network_connectivity_config_id: Optional[str] = None
4180
+ """The ID of a network connectivity configuration, which is the parent resource of this private
4181
+ endpoint rule object."""
3793
4182
 
4183
+ resource_id: Optional[str] = None
4184
+ """The Azure resource ID of the target resource."""
3794
4185
 
3795
- @dataclass
3796
- class NccEgressTargetRules:
3797
- """Target rule controls the egress rules that are dedicated to specific resources."""
4186
+ resource_names: Optional[List[str]] = None
4187
+ """Only used by private endpoints towards AWS S3 service.
4188
+
4189
+ The globally unique S3 bucket names that will be accessed via the VPC endpoint. The bucket names
4190
+ must be in the same region as the NCC/endpoint service. When updating this field, we perform
4191
+ full update on this field. Please ensure a full list of desired resource_names is provided."""
3798
4192
 
3799
- azure_private_endpoint_rules: Optional[List[NccAzurePrivateEndpointRule]] = None
4193
+ rule_id: Optional[str] = None
4194
+ """The ID of a private endpoint rule."""
4195
+
4196
+ updated_time: Optional[int] = None
4197
+ """Time in epoch milliseconds when this object was updated."""
4198
+
4199
+ vpc_endpoint_id: Optional[str] = None
4200
+ """The AWS VPC endpoint ID. You can use this ID to identify the VPC endpoint created by Databricks."""
3800
4201
 
3801
4202
  def as_dict(self) -> dict:
3802
- """Serializes the NccEgressTargetRules into a dictionary suitable for use as a JSON request body."""
4203
+ """Serializes the NccPrivateEndpointRule into a dictionary suitable for use as a JSON request body."""
3803
4204
  body = {}
3804
- if self.azure_private_endpoint_rules:
3805
- body["azure_private_endpoint_rules"] = [v.as_dict() for v in self.azure_private_endpoint_rules]
4205
+ if self.account_id is not None:
4206
+ body["account_id"] = self.account_id
4207
+ if self.connection_state is not None:
4208
+ body["connection_state"] = self.connection_state.value
4209
+ if self.creation_time is not None:
4210
+ body["creation_time"] = self.creation_time
4211
+ if self.deactivated is not None:
4212
+ body["deactivated"] = self.deactivated
4213
+ if self.deactivated_at is not None:
4214
+ body["deactivated_at"] = self.deactivated_at
4215
+ if self.domain_names:
4216
+ body["domain_names"] = [v for v in self.domain_names]
4217
+ if self.enabled is not None:
4218
+ body["enabled"] = self.enabled
4219
+ if self.endpoint_name is not None:
4220
+ body["endpoint_name"] = self.endpoint_name
4221
+ if self.endpoint_service is not None:
4222
+ body["endpoint_service"] = self.endpoint_service
4223
+ if self.group_id is not None:
4224
+ body["group_id"] = self.group_id
4225
+ if self.network_connectivity_config_id is not None:
4226
+ body["network_connectivity_config_id"] = self.network_connectivity_config_id
4227
+ if self.resource_id is not None:
4228
+ body["resource_id"] = self.resource_id
4229
+ if self.resource_names:
4230
+ body["resource_names"] = [v for v in self.resource_names]
4231
+ if self.rule_id is not None:
4232
+ body["rule_id"] = self.rule_id
4233
+ if self.updated_time is not None:
4234
+ body["updated_time"] = self.updated_time
4235
+ if self.vpc_endpoint_id is not None:
4236
+ body["vpc_endpoint_id"] = self.vpc_endpoint_id
3806
4237
  return body
3807
4238
 
3808
4239
  def as_shallow_dict(self) -> dict:
3809
- """Serializes the NccEgressTargetRules into a shallow dictionary of its immediate attributes."""
4240
+ """Serializes the NccPrivateEndpointRule into a shallow dictionary of its immediate attributes."""
3810
4241
  body = {}
3811
- if self.azure_private_endpoint_rules:
3812
- body["azure_private_endpoint_rules"] = self.azure_private_endpoint_rules
4242
+ if self.account_id is not None:
4243
+ body["account_id"] = self.account_id
4244
+ if self.connection_state is not None:
4245
+ body["connection_state"] = self.connection_state
4246
+ if self.creation_time is not None:
4247
+ body["creation_time"] = self.creation_time
4248
+ if self.deactivated is not None:
4249
+ body["deactivated"] = self.deactivated
4250
+ if self.deactivated_at is not None:
4251
+ body["deactivated_at"] = self.deactivated_at
4252
+ if self.domain_names:
4253
+ body["domain_names"] = self.domain_names
4254
+ if self.enabled is not None:
4255
+ body["enabled"] = self.enabled
4256
+ if self.endpoint_name is not None:
4257
+ body["endpoint_name"] = self.endpoint_name
4258
+ if self.endpoint_service is not None:
4259
+ body["endpoint_service"] = self.endpoint_service
4260
+ if self.group_id is not None:
4261
+ body["group_id"] = self.group_id
4262
+ if self.network_connectivity_config_id is not None:
4263
+ body["network_connectivity_config_id"] = self.network_connectivity_config_id
4264
+ if self.resource_id is not None:
4265
+ body["resource_id"] = self.resource_id
4266
+ if self.resource_names:
4267
+ body["resource_names"] = self.resource_names
4268
+ if self.rule_id is not None:
4269
+ body["rule_id"] = self.rule_id
4270
+ if self.updated_time is not None:
4271
+ body["updated_time"] = self.updated_time
4272
+ if self.vpc_endpoint_id is not None:
4273
+ body["vpc_endpoint_id"] = self.vpc_endpoint_id
3813
4274
  return body
3814
4275
 
3815
4276
  @classmethod
3816
- def from_dict(cls, d: Dict[str, Any]) -> NccEgressTargetRules:
3817
- """Deserializes the NccEgressTargetRules from a dictionary."""
4277
+ def from_dict(cls, d: Dict[str, Any]) -> NccPrivateEndpointRule:
4278
+ """Deserializes the NccPrivateEndpointRule from a dictionary."""
3818
4279
  return cls(
3819
- azure_private_endpoint_rules=_repeated_dict(d, "azure_private_endpoint_rules", NccAzurePrivateEndpointRule)
4280
+ account_id=d.get("account_id", None),
4281
+ connection_state=_enum(d, "connection_state", NccPrivateEndpointRulePrivateLinkConnectionState),
4282
+ creation_time=d.get("creation_time", None),
4283
+ deactivated=d.get("deactivated", None),
4284
+ deactivated_at=d.get("deactivated_at", None),
4285
+ domain_names=d.get("domain_names", None),
4286
+ enabled=d.get("enabled", None),
4287
+ endpoint_name=d.get("endpoint_name", None),
4288
+ endpoint_service=d.get("endpoint_service", None),
4289
+ group_id=d.get("group_id", None),
4290
+ network_connectivity_config_id=d.get("network_connectivity_config_id", None),
4291
+ resource_id=d.get("resource_id", None),
4292
+ resource_names=d.get("resource_names", None),
4293
+ rule_id=d.get("rule_id", None),
4294
+ updated_time=d.get("updated_time", None),
4295
+ vpc_endpoint_id=d.get("vpc_endpoint_id", None),
3820
4296
  )
3821
4297
 
3822
4298
 
4299
+ class NccPrivateEndpointRulePrivateLinkConnectionState(Enum):
4300
+
4301
+ DISCONNECTED = "DISCONNECTED"
4302
+ ESTABLISHED = "ESTABLISHED"
4303
+ EXPIRED = "EXPIRED"
4304
+ PENDING = "PENDING"
4305
+ REJECTED = "REJECTED"
4306
+
4307
+
3823
4308
  @dataclass
3824
4309
  class NetworkConnectivityConfiguration:
3825
4310
  """Properties of the new network connectivity configuration."""
3826
4311
 
3827
4312
  account_id: Optional[str] = None
3828
- """The Databricks account ID that hosts the credential."""
4313
+ """Your Databricks account ID. You can find your account ID in your Databricks accounts console."""
3829
4314
 
3830
4315
  creation_time: Optional[int] = None
3831
4316
  """Time in epoch milliseconds when this object was created."""
@@ -4440,6 +4925,56 @@ class SlackConfig:
4440
4925
  return cls(url=d.get("url", None), url_set=d.get("url_set", None))
4441
4926
 
4442
4927
 
4928
+ @dataclass
4929
+ class SqlResultsDownload:
4930
+ boolean_val: BooleanMessage
4931
+
4932
+ etag: Optional[str] = None
4933
+ """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
4934
+ for optimistic concurrency control as a way to help prevent simultaneous writes of a setting
4935
+ overwriting each other. It is strongly suggested that systems make use of the etag in the read
4936
+ -> update pattern to perform setting updates in order to avoid race conditions. That is, get an
4937
+ etag from a GET request, and pass it with the PATCH request to identify the setting version you
4938
+ are updating."""
4939
+
4940
+ setting_name: Optional[str] = None
4941
+ """Name of the corresponding setting. This field is populated in the response, but it will not be
4942
+ respected even if it's set in the request body. The setting name in the path parameter will be
4943
+ respected instead. Setting name is required to be 'default' if the setting only has one instance
4944
+ per workspace."""
4945
+
4946
+ def as_dict(self) -> dict:
4947
+ """Serializes the SqlResultsDownload into a dictionary suitable for use as a JSON request body."""
4948
+ body = {}
4949
+ if self.boolean_val:
4950
+ body["boolean_val"] = self.boolean_val.as_dict()
4951
+ if self.etag is not None:
4952
+ body["etag"] = self.etag
4953
+ if self.setting_name is not None:
4954
+ body["setting_name"] = self.setting_name
4955
+ return body
4956
+
4957
+ def as_shallow_dict(self) -> dict:
4958
+ """Serializes the SqlResultsDownload into a shallow dictionary of its immediate attributes."""
4959
+ body = {}
4960
+ if self.boolean_val:
4961
+ body["boolean_val"] = self.boolean_val
4962
+ if self.etag is not None:
4963
+ body["etag"] = self.etag
4964
+ if self.setting_name is not None:
4965
+ body["setting_name"] = self.setting_name
4966
+ return body
4967
+
4968
+ @classmethod
4969
+ def from_dict(cls, d: Dict[str, Any]) -> SqlResultsDownload:
4970
+ """Deserializes the SqlResultsDownload from a dictionary."""
4971
+ return cls(
4972
+ boolean_val=_from_dict(d, "boolean_val", BooleanMessage),
4973
+ etag=d.get("etag", None),
4974
+ setting_name=d.get("setting_name", None),
4975
+ )
4976
+
4977
+
4443
4978
  @dataclass
4444
4979
  class StringMessage:
4445
4980
  value: Optional[str] = None
@@ -5134,6 +5669,58 @@ class UpdateCspEnablementAccountSettingRequest:
5134
5669
  )
5135
5670
 
5136
5671
 
5672
+ @dataclass
5673
+ class UpdateDashboardEmailSubscriptionsRequest:
5674
+ """Details required to update a setting."""
5675
+
5676
+ allow_missing: bool
5677
+ """This should always be set to true for Settings API. Added for AIP compliance."""
5678
+
5679
+ setting: DashboardEmailSubscriptions
5680
+
5681
+ field_mask: str
5682
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5683
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5684
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5685
+ as only the entire collection field can be specified. Field names must exactly match the
5686
+ resource field names.
5687
+
5688
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5689
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5690
+ API changes in the future."""
5691
+
5692
+ def as_dict(self) -> dict:
5693
+ """Serializes the UpdateDashboardEmailSubscriptionsRequest into a dictionary suitable for use as a JSON request body."""
5694
+ body = {}
5695
+ if self.allow_missing is not None:
5696
+ body["allow_missing"] = self.allow_missing
5697
+ if self.field_mask is not None:
5698
+ body["field_mask"] = self.field_mask
5699
+ if self.setting:
5700
+ body["setting"] = self.setting.as_dict()
5701
+ return body
5702
+
5703
+ def as_shallow_dict(self) -> dict:
5704
+ """Serializes the UpdateDashboardEmailSubscriptionsRequest into a shallow dictionary of its immediate attributes."""
5705
+ body = {}
5706
+ if self.allow_missing is not None:
5707
+ body["allow_missing"] = self.allow_missing
5708
+ if self.field_mask is not None:
5709
+ body["field_mask"] = self.field_mask
5710
+ if self.setting:
5711
+ body["setting"] = self.setting
5712
+ return body
5713
+
5714
+ @classmethod
5715
+ def from_dict(cls, d: Dict[str, Any]) -> UpdateDashboardEmailSubscriptionsRequest:
5716
+ """Deserializes the UpdateDashboardEmailSubscriptionsRequest from a dictionary."""
5717
+ return cls(
5718
+ allow_missing=d.get("allow_missing", None),
5719
+ field_mask=d.get("field_mask", None),
5720
+ setting=_from_dict(d, "setting", DashboardEmailSubscriptions),
5721
+ )
5722
+
5723
+
5137
5724
  @dataclass
5138
5725
  class UpdateDefaultNamespaceSettingRequest:
5139
5726
  """Details required to update a setting."""
@@ -5927,16 +6514,33 @@ class UpdatePrivateEndpointRule:
5927
6514
  portal after initialization."""
5928
6515
 
5929
6516
  domain_names: Optional[List[str]] = None
5930
- """Only used by private endpoints to customer-managed resources.
6517
+ """Only used by private endpoints to customer-managed private endpoint services.
5931
6518
 
5932
6519
  Domain names of target private link service. When updating this field, the full list of target
5933
6520
  domain_names must be specified."""
5934
6521
 
6522
+ enabled: Optional[bool] = None
6523
+ """Only used by private endpoints towards an AWS S3 service.
6524
+
6525
+ Update this field to activate/deactivate this private endpoint to allow egress access from
6526
+ serverless compute resources."""
6527
+
6528
+ resource_names: Optional[List[str]] = None
6529
+ """Only used by private endpoints towards AWS S3 service.
6530
+
6531
+ The globally unique S3 bucket names that will be accessed via the VPC endpoint. The bucket names
6532
+ must be in the same region as the NCC/endpoint service. When updating this field, we perform
6533
+ full update on this field. Please ensure a full list of desired resource_names is provided."""
6534
+
5935
6535
  def as_dict(self) -> dict:
5936
6536
  """Serializes the UpdatePrivateEndpointRule into a dictionary suitable for use as a JSON request body."""
5937
6537
  body = {}
5938
6538
  if self.domain_names:
5939
6539
  body["domain_names"] = [v for v in self.domain_names]
6540
+ if self.enabled is not None:
6541
+ body["enabled"] = self.enabled
6542
+ if self.resource_names:
6543
+ body["resource_names"] = [v for v in self.resource_names]
5940
6544
  return body
5941
6545
 
5942
6546
  def as_shallow_dict(self) -> dict:
@@ -5944,12 +6548,20 @@ class UpdatePrivateEndpointRule:
5944
6548
  body = {}
5945
6549
  if self.domain_names:
5946
6550
  body["domain_names"] = self.domain_names
6551
+ if self.enabled is not None:
6552
+ body["enabled"] = self.enabled
6553
+ if self.resource_names:
6554
+ body["resource_names"] = self.resource_names
5947
6555
  return body
5948
6556
 
5949
6557
  @classmethod
5950
6558
  def from_dict(cls, d: Dict[str, Any]) -> UpdatePrivateEndpointRule:
5951
6559
  """Deserializes the UpdatePrivateEndpointRule from a dictionary."""
5952
- return cls(domain_names=d.get("domain_names", None))
6560
+ return cls(
6561
+ domain_names=d.get("domain_names", None),
6562
+ enabled=d.get("enabled", None),
6563
+ resource_names=d.get("resource_names", None),
6564
+ )
5953
6565
 
5954
6566
 
5955
6567
  @dataclass
@@ -6022,6 +6634,58 @@ class UpdateRestrictWorkspaceAdminsSettingRequest:
6022
6634
  )
6023
6635
 
6024
6636
 
6637
+ @dataclass
6638
+ class UpdateSqlResultsDownloadRequest:
6639
+ """Details required to update a setting."""
6640
+
6641
+ allow_missing: bool
6642
+ """This should always be set to true for Settings API. Added for AIP compliance."""
6643
+
6644
+ setting: SqlResultsDownload
6645
+
6646
+ field_mask: str
6647
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6648
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6649
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6650
+ as only the entire collection field can be specified. Field names must exactly match the
6651
+ resource field names.
6652
+
6653
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6654
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6655
+ API changes in the future."""
6656
+
6657
+ def as_dict(self) -> dict:
6658
+ """Serializes the UpdateSqlResultsDownloadRequest into a dictionary suitable for use as a JSON request body."""
6659
+ body = {}
6660
+ if self.allow_missing is not None:
6661
+ body["allow_missing"] = self.allow_missing
6662
+ if self.field_mask is not None:
6663
+ body["field_mask"] = self.field_mask
6664
+ if self.setting:
6665
+ body["setting"] = self.setting.as_dict()
6666
+ return body
6667
+
6668
+ def as_shallow_dict(self) -> dict:
6669
+ """Serializes the UpdateSqlResultsDownloadRequest into a shallow dictionary of its immediate attributes."""
6670
+ body = {}
6671
+ if self.allow_missing is not None:
6672
+ body["allow_missing"] = self.allow_missing
6673
+ if self.field_mask is not None:
6674
+ body["field_mask"] = self.field_mask
6675
+ if self.setting:
6676
+ body["setting"] = self.setting
6677
+ return body
6678
+
6679
+ @classmethod
6680
+ def from_dict(cls, d: Dict[str, Any]) -> UpdateSqlResultsDownloadRequest:
6681
+ """Deserializes the UpdateSqlResultsDownloadRequest from a dictionary."""
6682
+ return cls(
6683
+ allow_missing=d.get("allow_missing", None),
6684
+ field_mask=d.get("field_mask", None),
6685
+ setting=_from_dict(d, "setting", SqlResultsDownload),
6686
+ )
6687
+
6688
+
6025
6689
  WorkspaceConf = Dict[str, str]
6026
6690
 
6027
6691
 
@@ -6085,9 +6749,7 @@ class AccountIpAccessListsAPI:
6085
6749
  def create(
6086
6750
  self, label: str, list_type: ListType, *, ip_addresses: Optional[List[str]] = None
6087
6751
  ) -> CreateIpAccessListResponse:
6088
- """Create access list.
6089
-
6090
- Creates an IP access list for the account.
6752
+ """Creates an IP access list for the account.
6091
6753
 
6092
6754
  A list can be an allow list or a block list. See the top of this file for a description of how the
6093
6755
  server treats allow lists and block lists at runtime.
@@ -6130,9 +6792,7 @@ class AccountIpAccessListsAPI:
6130
6792
  return CreateIpAccessListResponse.from_dict(res)
6131
6793
 
6132
6794
  def delete(self, ip_access_list_id: str):
6133
- """Delete access list.
6134
-
6135
- Deletes an IP access list, specified by its list ID.
6795
+ """Deletes an IP access list, specified by its list ID.
6136
6796
 
6137
6797
  :param ip_access_list_id: str
6138
6798
  The ID for the corresponding IP access list
@@ -6147,9 +6807,7 @@ class AccountIpAccessListsAPI:
6147
6807
  )
6148
6808
 
6149
6809
  def get(self, ip_access_list_id: str) -> GetIpAccessListResponse:
6150
- """Get IP access list.
6151
-
6152
- Gets an IP access list, specified by its list ID.
6810
+ """Gets an IP access list, specified by its list ID.
6153
6811
 
6154
6812
  :param ip_access_list_id: str
6155
6813
  The ID for the corresponding IP access list
@@ -6167,9 +6825,7 @@ class AccountIpAccessListsAPI:
6167
6825
  return GetIpAccessListResponse.from_dict(res)
6168
6826
 
6169
6827
  def list(self) -> Iterator[IpAccessListInfo]:
6170
- """Get access lists.
6171
-
6172
- Gets all IP access lists for the specified account.
6828
+ """Gets all IP access lists for the specified account.
6173
6829
 
6174
6830
  :returns: Iterator over :class:`IpAccessListInfo`
6175
6831
  """
@@ -6191,9 +6847,7 @@ class AccountIpAccessListsAPI:
6191
6847
  *,
6192
6848
  ip_addresses: Optional[List[str]] = None,
6193
6849
  ):
6194
- """Replace access list.
6195
-
6196
- Replaces an IP access list, specified by its ID.
6850
+ """Replaces an IP access list, specified by its ID.
6197
6851
 
6198
6852
  A list can include allow lists and block lists. See the top of this file for a description of how the
6199
6853
  server treats allow lists and block lists at run time. When replacing an IP access list: * For all
@@ -6247,9 +6901,7 @@ class AccountIpAccessListsAPI:
6247
6901
  label: Optional[str] = None,
6248
6902
  list_type: Optional[ListType] = None,
6249
6903
  ):
6250
- """Update access list.
6251
-
6252
- Updates an existing IP access list, specified by its ID.
6904
+ """Updates an existing IP access list, specified by its ID.
6253
6905
 
6254
6906
  A list can include allow lists and block lists. See the top of this file for a description of how the
6255
6907
  server treats allow lists and block lists at run time.
@@ -6357,9 +7009,7 @@ class AibiDashboardEmbeddingAccessPolicyAPI:
6357
7009
  self._api = api_client
6358
7010
 
6359
7011
  def delete(self, *, etag: Optional[str] = None) -> DeleteAibiDashboardEmbeddingAccessPolicySettingResponse:
6360
- """Delete the AI/BI dashboard embedding access policy.
6361
-
6362
- Delete the AI/BI dashboard embedding access policy, reverting back to the default.
7012
+ """Delete the AI/BI dashboard embedding access policy, reverting back to the default.
6363
7013
 
6364
7014
  :param etag: str (optional)
6365
7015
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -6387,9 +7037,7 @@ class AibiDashboardEmbeddingAccessPolicyAPI:
6387
7037
  return DeleteAibiDashboardEmbeddingAccessPolicySettingResponse.from_dict(res)
6388
7038
 
6389
7039
  def get(self, *, etag: Optional[str] = None) -> AibiDashboardEmbeddingAccessPolicySetting:
6390
- """Retrieve the AI/BI dashboard embedding access policy.
6391
-
6392
- Retrieves the AI/BI dashboard embedding access policy. The default setting is ALLOW_APPROVED_DOMAINS,
7040
+ """Retrieves the AI/BI dashboard embedding access policy. The default setting is ALLOW_APPROVED_DOMAINS,
6393
7041
  permitting AI/BI dashboards to be embedded on approved domains.
6394
7042
 
6395
7043
  :param etag: str (optional)
@@ -6417,9 +7065,7 @@ class AibiDashboardEmbeddingAccessPolicyAPI:
6417
7065
  def update(
6418
7066
  self, allow_missing: bool, setting: AibiDashboardEmbeddingAccessPolicySetting, field_mask: str
6419
7067
  ) -> AibiDashboardEmbeddingAccessPolicySetting:
6420
- """Update the AI/BI dashboard embedding access policy.
6421
-
6422
- Updates the AI/BI dashboard embedding access policy at the workspace level.
7068
+ """Updates the AI/BI dashboard embedding access policy at the workspace level.
6423
7069
 
6424
7070
  :param allow_missing: bool
6425
7071
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -6463,9 +7109,7 @@ class AibiDashboardEmbeddingApprovedDomainsAPI:
6463
7109
  self._api = api_client
6464
7110
 
6465
7111
  def delete(self, *, etag: Optional[str] = None) -> DeleteAibiDashboardEmbeddingApprovedDomainsSettingResponse:
6466
- """Delete AI/BI dashboard embedding approved domains.
6467
-
6468
- Delete the list of domains approved to host embedded AI/BI dashboards, reverting back to the default
7112
+ """Delete the list of domains approved to host embedded AI/BI dashboards, reverting back to the default
6469
7113
  empty list.
6470
7114
 
6471
7115
  :param etag: str (optional)
@@ -6494,9 +7138,7 @@ class AibiDashboardEmbeddingApprovedDomainsAPI:
6494
7138
  return DeleteAibiDashboardEmbeddingApprovedDomainsSettingResponse.from_dict(res)
6495
7139
 
6496
7140
  def get(self, *, etag: Optional[str] = None) -> AibiDashboardEmbeddingApprovedDomainsSetting:
6497
- """Retrieve the list of domains approved to host embedded AI/BI dashboards.
6498
-
6499
- Retrieves the list of domains approved to host embedded AI/BI dashboards.
7141
+ """Retrieves the list of domains approved to host embedded AI/BI dashboards.
6500
7142
 
6501
7143
  :param etag: str (optional)
6502
7144
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -6526,9 +7168,7 @@ class AibiDashboardEmbeddingApprovedDomainsAPI:
6526
7168
  def update(
6527
7169
  self, allow_missing: bool, setting: AibiDashboardEmbeddingApprovedDomainsSetting, field_mask: str
6528
7170
  ) -> AibiDashboardEmbeddingApprovedDomainsSetting:
6529
- """Update the list of domains approved to host embedded AI/BI dashboards.
6530
-
6531
- Updates the list of domains approved to host embedded AI/BI dashboards. This update will fail if the
7171
+ """Updates the list of domains approved to host embedded AI/BI dashboards. This update will fail if the
6532
7172
  current workspace access policy is not ALLOW_APPROVED_DOMAINS.
6533
7173
 
6534
7174
  :param allow_missing: bool
@@ -6576,9 +7216,7 @@ class AutomaticClusterUpdateAPI:
6576
7216
  self._api = api_client
6577
7217
 
6578
7218
  def get(self, *, etag: Optional[str] = None) -> AutomaticClusterUpdateSetting:
6579
- """Get the automatic cluster update setting.
6580
-
6581
- Gets the automatic cluster update setting.
7219
+ """Gets the automatic cluster update setting.
6582
7220
 
6583
7221
  :param etag: str (optional)
6584
7222
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -6605,9 +7243,7 @@ class AutomaticClusterUpdateAPI:
6605
7243
  def update(
6606
7244
  self, allow_missing: bool, setting: AutomaticClusterUpdateSetting, field_mask: str
6607
7245
  ) -> AutomaticClusterUpdateSetting:
6608
- """Update the automatic cluster update setting.
6609
-
6610
- Updates the automatic cluster update setting for the workspace. A fresh etag needs to be provided in
7246
+ """Updates the automatic cluster update setting for the workspace. A fresh etag needs to be provided in
6611
7247
  `PATCH` requests (as part of the setting field). The etag can be retrieved by making a `GET` request
6612
7248
  before the `PATCH` request. If the setting is updated concurrently, `PATCH` fails with 409 and the
6613
7249
  request must be retried by using the fresh etag in the 409 response.
@@ -6656,9 +7292,7 @@ class ComplianceSecurityProfileAPI:
6656
7292
  self._api = api_client
6657
7293
 
6658
7294
  def get(self, *, etag: Optional[str] = None) -> ComplianceSecurityProfileSetting:
6659
- """Get the compliance security profile setting.
6660
-
6661
- Gets the compliance security profile setting.
7295
+ """Gets the compliance security profile setting.
6662
7296
 
6663
7297
  :param etag: str (optional)
6664
7298
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -6685,9 +7319,7 @@ class ComplianceSecurityProfileAPI:
6685
7319
  def update(
6686
7320
  self, allow_missing: bool, setting: ComplianceSecurityProfileSetting, field_mask: str
6687
7321
  ) -> ComplianceSecurityProfileSetting:
6688
- """Update the compliance security profile setting.
6689
-
6690
- Updates the compliance security profile setting for the workspace. A fresh etag needs to be provided
7322
+ """Updates the compliance security profile setting for the workspace. A fresh etag needs to be provided
6691
7323
  in `PATCH` requests (as part of the setting field). The etag can be retrieved by making a `GET`
6692
7324
  request before the `PATCH` request. If the setting is updated concurrently, `PATCH` fails with 409 and
6693
7325
  the request must be retried by using the fresh etag in the 409 response.
@@ -6736,9 +7368,7 @@ class CredentialsManagerAPI:
6736
7368
  def exchange_token(
6737
7369
  self, partition_id: PartitionId, token_type: List[TokenType], scopes: List[str]
6738
7370
  ) -> ExchangeTokenResponse:
6739
- """Exchange token.
6740
-
6741
- Exchange tokens with an Identity Provider to get a new access token. It allows specifying scopes to
7371
+ """Exchange tokens with an Identity Provider to get a new access token. It allows specifying scopes to
6742
7372
  determine token permissions.
6743
7373
 
6744
7374
  :param partition_id: :class:`PartitionId`
@@ -6778,9 +7408,7 @@ class CspEnablementAccountAPI:
6778
7408
  self._api = api_client
6779
7409
 
6780
7410
  def get(self, *, etag: Optional[str] = None) -> CspEnablementAccountSetting:
6781
- """Get the compliance security profile setting for new workspaces.
6782
-
6783
- Gets the compliance security profile setting for new workspaces.
7411
+ """Gets the compliance security profile setting for new workspaces.
6784
7412
 
6785
7413
  :param etag: str (optional)
6786
7414
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -6810,9 +7438,7 @@ class CspEnablementAccountAPI:
6810
7438
  def update(
6811
7439
  self, allow_missing: bool, setting: CspEnablementAccountSetting, field_mask: str
6812
7440
  ) -> CspEnablementAccountSetting:
6813
- """Update the compliance security profile setting for new workspaces.
6814
-
6815
- Updates the value of the compliance security profile setting for new workspaces.
7441
+ """Updates the value of the compliance security profile setting for new workspaces.
6816
7442
 
6817
7443
  :param allow_missing: bool
6818
7444
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -6851,6 +7477,106 @@ class CspEnablementAccountAPI:
6851
7477
  return CspEnablementAccountSetting.from_dict(res)
6852
7478
 
6853
7479
 
7480
+ class DashboardEmailSubscriptionsAPI:
7481
+ """Controls whether schedules or workload tasks for refreshing AI/BI Dashboards in the workspace can send
7482
+ subscription emails containing PDFs and/or images of the dashboard. By default, this setting is enabled
7483
+ (set to `true`)"""
7484
+
7485
+ def __init__(self, api_client):
7486
+ self._api = api_client
7487
+
7488
+ def delete(self, *, etag: Optional[str] = None) -> DeleteDashboardEmailSubscriptionsResponse:
7489
+ """Reverts the Dashboard Email Subscriptions setting to its default value.
7490
+
7491
+ :param etag: str (optional)
7492
+ etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
7493
+ optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
7494
+ each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
7495
+ to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
7496
+ request, and pass it with the DELETE request to identify the rule set version you are deleting.
7497
+
7498
+ :returns: :class:`DeleteDashboardEmailSubscriptionsResponse`
7499
+ """
7500
+
7501
+ query = {}
7502
+ if etag is not None:
7503
+ query["etag"] = etag
7504
+ headers = {
7505
+ "Accept": "application/json",
7506
+ }
7507
+
7508
+ res = self._api.do(
7509
+ "DELETE",
7510
+ "/api/2.0/settings/types/dashboard_email_subscriptions/names/default",
7511
+ query=query,
7512
+ headers=headers,
7513
+ )
7514
+ return DeleteDashboardEmailSubscriptionsResponse.from_dict(res)
7515
+
7516
+ def get(self, *, etag: Optional[str] = None) -> DashboardEmailSubscriptions:
7517
+ """Gets the Dashboard Email Subscriptions setting.
7518
+
7519
+ :param etag: str (optional)
7520
+ etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
7521
+ optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
7522
+ each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
7523
+ to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
7524
+ request, and pass it with the DELETE request to identify the rule set version you are deleting.
7525
+
7526
+ :returns: :class:`DashboardEmailSubscriptions`
7527
+ """
7528
+
7529
+ query = {}
7530
+ if etag is not None:
7531
+ query["etag"] = etag
7532
+ headers = {
7533
+ "Accept": "application/json",
7534
+ }
7535
+
7536
+ res = self._api.do(
7537
+ "GET", "/api/2.0/settings/types/dashboard_email_subscriptions/names/default", query=query, headers=headers
7538
+ )
7539
+ return DashboardEmailSubscriptions.from_dict(res)
7540
+
7541
+ def update(
7542
+ self, allow_missing: bool, setting: DashboardEmailSubscriptions, field_mask: str
7543
+ ) -> DashboardEmailSubscriptions:
7544
+ """Updates the Dashboard Email Subscriptions setting.
7545
+
7546
+ :param allow_missing: bool
7547
+ This should always be set to true for Settings API. Added for AIP compliance.
7548
+ :param setting: :class:`DashboardEmailSubscriptions`
7549
+ :param field_mask: str
7550
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
7551
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
7552
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
7553
+ the entire collection field can be specified. Field names must exactly match the resource field
7554
+ names.
7555
+
7556
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
7557
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
7558
+ changes in the future.
7559
+
7560
+ :returns: :class:`DashboardEmailSubscriptions`
7561
+ """
7562
+ body = {}
7563
+ if allow_missing is not None:
7564
+ body["allow_missing"] = allow_missing
7565
+ if field_mask is not None:
7566
+ body["field_mask"] = field_mask
7567
+ if setting is not None:
7568
+ body["setting"] = setting.as_dict()
7569
+ headers = {
7570
+ "Accept": "application/json",
7571
+ "Content-Type": "application/json",
7572
+ }
7573
+
7574
+ res = self._api.do(
7575
+ "PATCH", "/api/2.0/settings/types/dashboard_email_subscriptions/names/default", body=body, headers=headers
7576
+ )
7577
+ return DashboardEmailSubscriptions.from_dict(res)
7578
+
7579
+
6854
7580
  class DefaultNamespaceAPI:
6855
7581
  """The default namespace setting API allows users to configure the default namespace for a Databricks
6856
7582
  workspace.
@@ -6867,9 +7593,7 @@ class DefaultNamespaceAPI:
6867
7593
  self._api = api_client
6868
7594
 
6869
7595
  def delete(self, *, etag: Optional[str] = None) -> DeleteDefaultNamespaceSettingResponse:
6870
- """Delete the default namespace setting.
6871
-
6872
- Deletes the default namespace setting for the workspace. A fresh etag needs to be provided in `DELETE`
7596
+ """Deletes the default namespace setting for the workspace. A fresh etag needs to be provided in `DELETE`
6873
7597
  requests (as a query parameter). The etag can be retrieved by making a `GET` request before the
6874
7598
  `DELETE` request. If the setting is updated/deleted concurrently, `DELETE` fails with 409 and the
6875
7599
  request must be retried by using the fresh etag in the 409 response.
@@ -6897,9 +7621,7 @@ class DefaultNamespaceAPI:
6897
7621
  return DeleteDefaultNamespaceSettingResponse.from_dict(res)
6898
7622
 
6899
7623
  def get(self, *, etag: Optional[str] = None) -> DefaultNamespaceSetting:
6900
- """Get the default namespace setting.
6901
-
6902
- Gets the default namespace setting.
7624
+ """Gets the default namespace setting.
6903
7625
 
6904
7626
  :param etag: str (optional)
6905
7627
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -6924,9 +7646,7 @@ class DefaultNamespaceAPI:
6924
7646
  return DefaultNamespaceSetting.from_dict(res)
6925
7647
 
6926
7648
  def update(self, allow_missing: bool, setting: DefaultNamespaceSetting, field_mask: str) -> DefaultNamespaceSetting:
6927
- """Update the default namespace setting.
6928
-
6929
- Updates the default namespace setting for the workspace. A fresh etag needs to be provided in `PATCH`
7649
+ """Updates the default namespace setting for the workspace. A fresh etag needs to be provided in `PATCH`
6930
7650
  requests (as part of the setting field). The etag can be retrieved by making a `GET` request before
6931
7651
  the `PATCH` request. Note that if the setting does not exist, `GET` returns a NOT_FOUND error and the
6932
7652
  etag is present in the error response, which should be set in the `PATCH` request. If the setting is
@@ -6985,9 +7705,7 @@ class DisableLegacyAccessAPI:
6985
7705
  self._api = api_client
6986
7706
 
6987
7707
  def delete(self, *, etag: Optional[str] = None) -> DeleteDisableLegacyAccessResponse:
6988
- """Delete Legacy Access Disablement Status.
6989
-
6990
- Deletes legacy access disablement status.
7708
+ """Deletes legacy access disablement status.
6991
7709
 
6992
7710
  :param etag: str (optional)
6993
7711
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7012,9 +7730,7 @@ class DisableLegacyAccessAPI:
7012
7730
  return DeleteDisableLegacyAccessResponse.from_dict(res)
7013
7731
 
7014
7732
  def get(self, *, etag: Optional[str] = None) -> DisableLegacyAccess:
7015
- """Retrieve Legacy Access Disablement Status.
7016
-
7017
- Retrieves legacy access disablement Status.
7733
+ """Retrieves legacy access disablement Status.
7018
7734
 
7019
7735
  :param etag: str (optional)
7020
7736
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7039,9 +7755,7 @@ class DisableLegacyAccessAPI:
7039
7755
  return DisableLegacyAccess.from_dict(res)
7040
7756
 
7041
7757
  def update(self, allow_missing: bool, setting: DisableLegacyAccess, field_mask: str) -> DisableLegacyAccess:
7042
- """Update Legacy Access Disablement Status.
7043
-
7044
- Updates legacy access disablement status.
7758
+ """Updates legacy access disablement status.
7045
7759
 
7046
7760
  :param allow_missing: bool
7047
7761
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -7091,9 +7805,7 @@ class DisableLegacyDbfsAPI:
7091
7805
  self._api = api_client
7092
7806
 
7093
7807
  def delete(self, *, etag: Optional[str] = None) -> DeleteDisableLegacyDbfsResponse:
7094
- """Delete the disable legacy DBFS setting.
7095
-
7096
- Deletes the disable legacy DBFS setting for a workspace, reverting back to the default.
7808
+ """Deletes the disable legacy DBFS setting for a workspace, reverting back to the default.
7097
7809
 
7098
7810
  :param etag: str (optional)
7099
7811
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7118,9 +7830,7 @@ class DisableLegacyDbfsAPI:
7118
7830
  return DeleteDisableLegacyDbfsResponse.from_dict(res)
7119
7831
 
7120
7832
  def get(self, *, etag: Optional[str] = None) -> DisableLegacyDbfs:
7121
- """Get the disable legacy DBFS setting.
7122
-
7123
- Gets the disable legacy DBFS setting.
7833
+ """Gets the disable legacy DBFS setting.
7124
7834
 
7125
7835
  :param etag: str (optional)
7126
7836
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7145,9 +7855,7 @@ class DisableLegacyDbfsAPI:
7145
7855
  return DisableLegacyDbfs.from_dict(res)
7146
7856
 
7147
7857
  def update(self, allow_missing: bool, setting: DisableLegacyDbfs, field_mask: str) -> DisableLegacyDbfs:
7148
- """Update the disable legacy DBFS setting.
7149
-
7150
- Updates the disable legacy DBFS setting for the workspace.
7858
+ """Updates the disable legacy DBFS setting for the workspace.
7151
7859
 
7152
7860
  :param allow_missing: bool
7153
7861
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -7194,9 +7902,7 @@ class DisableLegacyFeaturesAPI:
7194
7902
  self._api = api_client
7195
7903
 
7196
7904
  def delete(self, *, etag: Optional[str] = None) -> DeleteDisableLegacyFeaturesResponse:
7197
- """Delete the disable legacy features setting.
7198
-
7199
- Deletes the disable legacy features setting.
7905
+ """Deletes the disable legacy features setting.
7200
7906
 
7201
7907
  :param etag: str (optional)
7202
7908
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7224,9 +7930,7 @@ class DisableLegacyFeaturesAPI:
7224
7930
  return DeleteDisableLegacyFeaturesResponse.from_dict(res)
7225
7931
 
7226
7932
  def get(self, *, etag: Optional[str] = None) -> DisableLegacyFeatures:
7227
- """Get the disable legacy features setting.
7228
-
7229
- Gets the value of the disable legacy features setting.
7933
+ """Gets the value of the disable legacy features setting.
7230
7934
 
7231
7935
  :param etag: str (optional)
7232
7936
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7254,9 +7958,7 @@ class DisableLegacyFeaturesAPI:
7254
7958
  return DisableLegacyFeatures.from_dict(res)
7255
7959
 
7256
7960
  def update(self, allow_missing: bool, setting: DisableLegacyFeatures, field_mask: str) -> DisableLegacyFeatures:
7257
- """Update the disable legacy features setting.
7258
-
7259
- Updates the value of the disable legacy features setting.
7961
+ """Updates the value of the disable legacy features setting.
7260
7962
 
7261
7963
  :param allow_missing: bool
7262
7964
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -7303,9 +8005,7 @@ class EnableExportNotebookAPI:
7303
8005
  self._api = api_client
7304
8006
 
7305
8007
  def get_enable_export_notebook(self) -> EnableExportNotebook:
7306
- """Get the Notebook and File exporting setting.
7307
-
7308
- Gets the Notebook and File exporting setting.
8008
+ """Gets the Notebook and File exporting setting.
7309
8009
 
7310
8010
  :returns: :class:`EnableExportNotebook`
7311
8011
  """
@@ -7320,9 +8020,7 @@ class EnableExportNotebookAPI:
7320
8020
  def patch_enable_export_notebook(
7321
8021
  self, allow_missing: bool, setting: EnableExportNotebook, field_mask: str
7322
8022
  ) -> EnableExportNotebook:
7323
- """Update the Notebook and File exporting setting.
7324
-
7325
- Updates the Notebook and File exporting setting. The model follows eventual consistency, which means
8023
+ """Updates the Notebook and File exporting setting. The model follows eventual consistency, which means
7326
8024
  the get after the update operation might receive stale values for some time.
7327
8025
 
7328
8026
  :param allow_missing: bool
@@ -7367,9 +8065,7 @@ class EnableIpAccessListsAPI:
7367
8065
  self._api = api_client
7368
8066
 
7369
8067
  def delete(self, *, etag: Optional[str] = None) -> DeleteAccountIpAccessEnableResponse:
7370
- """Delete the account IP access toggle setting.
7371
-
7372
- Reverts the value of the account IP access toggle setting to default (ON)
8068
+ """Reverts the value of the account IP access toggle setting to default (ON)
7373
8069
 
7374
8070
  :param etag: str (optional)
7375
8071
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7397,9 +8093,7 @@ class EnableIpAccessListsAPI:
7397
8093
  return DeleteAccountIpAccessEnableResponse.from_dict(res)
7398
8094
 
7399
8095
  def get(self, *, etag: Optional[str] = None) -> AccountIpAccessEnable:
7400
- """Get the account IP access toggle setting.
7401
-
7402
- Gets the value of the account IP access toggle setting.
8096
+ """Gets the value of the account IP access toggle setting.
7403
8097
 
7404
8098
  :param etag: str (optional)
7405
8099
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7427,9 +8121,7 @@ class EnableIpAccessListsAPI:
7427
8121
  return AccountIpAccessEnable.from_dict(res)
7428
8122
 
7429
8123
  def update(self, allow_missing: bool, setting: AccountIpAccessEnable, field_mask: str) -> AccountIpAccessEnable:
7430
- """Update the account IP access toggle setting.
7431
-
7432
- Updates the value of the account IP access toggle setting.
8124
+ """Updates the value of the account IP access toggle setting.
7433
8125
 
7434
8126
  :param allow_missing: bool
7435
8127
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -7476,9 +8168,7 @@ class EnableNotebookTableClipboardAPI:
7476
8168
  self._api = api_client
7477
8169
 
7478
8170
  def get_enable_notebook_table_clipboard(self) -> EnableNotebookTableClipboard:
7479
- """Get the Results Table Clipboard features setting.
7480
-
7481
- Gets the Results Table Clipboard features setting.
8171
+ """Gets the Results Table Clipboard features setting.
7482
8172
 
7483
8173
  :returns: :class:`EnableNotebookTableClipboard`
7484
8174
  """
@@ -7495,9 +8185,7 @@ class EnableNotebookTableClipboardAPI:
7495
8185
  def patch_enable_notebook_table_clipboard(
7496
8186
  self, allow_missing: bool, setting: EnableNotebookTableClipboard, field_mask: str
7497
8187
  ) -> EnableNotebookTableClipboard:
7498
- """Update the Results Table Clipboard features setting.
7499
-
7500
- Updates the Results Table Clipboard features setting. The model follows eventual consistency, which
8188
+ """Updates the Results Table Clipboard features setting. The model follows eventual consistency, which
7501
8189
  means the get after the update operation might receive stale values for some time.
7502
8190
 
7503
8191
  :param allow_missing: bool
@@ -7541,9 +8229,7 @@ class EnableResultsDownloadingAPI:
7541
8229
  self._api = api_client
7542
8230
 
7543
8231
  def get_enable_results_downloading(self) -> EnableResultsDownloading:
7544
- """Get the Notebook results download setting.
7545
-
7546
- Gets the Notebook results download setting.
8232
+ """Gets the Notebook results download setting.
7547
8233
 
7548
8234
  :returns: :class:`EnableResultsDownloading`
7549
8235
  """
@@ -7558,9 +8244,7 @@ class EnableResultsDownloadingAPI:
7558
8244
  def patch_enable_results_downloading(
7559
8245
  self, allow_missing: bool, setting: EnableResultsDownloading, field_mask: str
7560
8246
  ) -> EnableResultsDownloading:
7561
- """Update the Notebook results download setting.
7562
-
7563
- Updates the Notebook results download setting. The model follows eventual consistency, which means the
8247
+ """Updates the Notebook results download setting. The model follows eventual consistency, which means the
7564
8248
  get after the update operation might receive stale values for some time.
7565
8249
 
7566
8250
  :param allow_missing: bool
@@ -7609,9 +8293,7 @@ class EnhancedSecurityMonitoringAPI:
7609
8293
  self._api = api_client
7610
8294
 
7611
8295
  def get(self, *, etag: Optional[str] = None) -> EnhancedSecurityMonitoringSetting:
7612
- """Get the enhanced security monitoring setting.
7613
-
7614
- Gets the enhanced security monitoring setting.
8296
+ """Gets the enhanced security monitoring setting.
7615
8297
 
7616
8298
  :param etag: str (optional)
7617
8299
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7638,9 +8320,7 @@ class EnhancedSecurityMonitoringAPI:
7638
8320
  def update(
7639
8321
  self, allow_missing: bool, setting: EnhancedSecurityMonitoringSetting, field_mask: str
7640
8322
  ) -> EnhancedSecurityMonitoringSetting:
7641
- """Update the enhanced security monitoring setting.
7642
-
7643
- Updates the enhanced security monitoring setting for the workspace. A fresh etag needs to be provided
8323
+ """Updates the enhanced security monitoring setting for the workspace. A fresh etag needs to be provided
7644
8324
  in `PATCH` requests (as part of the setting field). The etag can be retrieved by making a `GET`
7645
8325
  request before the `PATCH` request. If the setting is updated concurrently, `PATCH` fails with 409 and
7646
8326
  the request must be retried by using the fresh etag in the 409 response.
@@ -7688,9 +8368,7 @@ class EsmEnablementAccountAPI:
7688
8368
  self._api = api_client
7689
8369
 
7690
8370
  def get(self, *, etag: Optional[str] = None) -> EsmEnablementAccountSetting:
7691
- """Get the enhanced security monitoring setting for new workspaces.
7692
-
7693
- Gets the enhanced security monitoring setting for new workspaces.
8371
+ """Gets the enhanced security monitoring setting for new workspaces.
7694
8372
 
7695
8373
  :param etag: str (optional)
7696
8374
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -7720,9 +8398,7 @@ class EsmEnablementAccountAPI:
7720
8398
  def update(
7721
8399
  self, allow_missing: bool, setting: EsmEnablementAccountSetting, field_mask: str
7722
8400
  ) -> EsmEnablementAccountSetting:
7723
- """Update the enhanced security monitoring setting for new workspaces.
7724
-
7725
- Updates the value of the enhanced security monitoring setting for new workspaces.
8401
+ """Updates the value of the enhanced security monitoring setting for new workspaces.
7726
8402
 
7727
8403
  :param allow_missing: bool
7728
8404
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -7786,9 +8462,7 @@ class IpAccessListsAPI:
7786
8462
  def create(
7787
8463
  self, label: str, list_type: ListType, *, ip_addresses: Optional[List[str]] = None
7788
8464
  ) -> CreateIpAccessListResponse:
7789
- """Create access list.
7790
-
7791
- Creates an IP access list for this workspace.
8465
+ """Creates an IP access list for this workspace.
7792
8466
 
7793
8467
  A list can be an allow list or a block list. See the top of this file for a description of how the
7794
8468
  server treats allow lists and block lists at runtime.
@@ -7830,9 +8504,7 @@ class IpAccessListsAPI:
7830
8504
  return CreateIpAccessListResponse.from_dict(res)
7831
8505
 
7832
8506
  def delete(self, ip_access_list_id: str):
7833
- """Delete access list.
7834
-
7835
- Deletes an IP access list, specified by its list ID.
8507
+ """Deletes an IP access list, specified by its list ID.
7836
8508
 
7837
8509
  :param ip_access_list_id: str
7838
8510
  The ID for the corresponding IP access list
@@ -7845,9 +8517,7 @@ class IpAccessListsAPI:
7845
8517
  self._api.do("DELETE", f"/api/2.0/ip-access-lists/{ip_access_list_id}", headers=headers)
7846
8518
 
7847
8519
  def get(self, ip_access_list_id: str) -> FetchIpAccessListResponse:
7848
- """Get access list.
7849
-
7850
- Gets an IP access list, specified by its list ID.
8520
+ """Gets an IP access list, specified by its list ID.
7851
8521
 
7852
8522
  :param ip_access_list_id: str
7853
8523
  The ID for the corresponding IP access list
@@ -7863,9 +8533,7 @@ class IpAccessListsAPI:
7863
8533
  return FetchIpAccessListResponse.from_dict(res)
7864
8534
 
7865
8535
  def list(self) -> Iterator[IpAccessListInfo]:
7866
- """Get access lists.
7867
-
7868
- Gets all IP access lists for the specified workspace.
8536
+ """Gets all IP access lists for the specified workspace.
7869
8537
 
7870
8538
  :returns: Iterator over :class:`IpAccessListInfo`
7871
8539
  """
@@ -7887,9 +8555,7 @@ class IpAccessListsAPI:
7887
8555
  *,
7888
8556
  ip_addresses: Optional[List[str]] = None,
7889
8557
  ):
7890
- """Replace access list.
7891
-
7892
- Replaces an IP access list, specified by its ID.
8558
+ """Replaces an IP access list, specified by its ID.
7893
8559
 
7894
8560
  A list can include allow lists and block lists. See the top of this file for a description of how the
7895
8561
  server treats allow lists and block lists at run time. When replacing an IP access list: * For all
@@ -7939,9 +8605,7 @@ class IpAccessListsAPI:
7939
8605
  label: Optional[str] = None,
7940
8606
  list_type: Optional[ListType] = None,
7941
8607
  ):
7942
- """Update access list.
7943
-
7944
- Updates an existing IP access list, specified by its ID.
8608
+ """Updates an existing IP access list, specified by its ID.
7945
8609
 
7946
8610
  A list can include allow lists and block lists. See the top of this file for a description of how the
7947
8611
  server treats allow lists and block lists at run time.
@@ -7994,9 +8658,7 @@ class LlmProxyPartnerPoweredAccountAPI:
7994
8658
  self._api = api_client
7995
8659
 
7996
8660
  def get(self, *, etag: Optional[str] = None) -> LlmProxyPartnerPoweredAccount:
7997
- """Get the enable partner powered AI features account setting.
7998
-
7999
- Gets the enable partner powered AI features account setting.
8661
+ """Gets the enable partner powered AI features account setting.
8000
8662
 
8001
8663
  :param etag: str (optional)
8002
8664
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -8026,9 +8688,7 @@ class LlmProxyPartnerPoweredAccountAPI:
8026
8688
  def update(
8027
8689
  self, allow_missing: bool, setting: LlmProxyPartnerPoweredAccount, field_mask: str
8028
8690
  ) -> LlmProxyPartnerPoweredAccount:
8029
- """Update the enable partner powered AI features account setting.
8030
-
8031
- Updates the enable partner powered AI features account setting.
8691
+ """Updates the enable partner powered AI features account setting.
8032
8692
 
8033
8693
  :param allow_missing: bool
8034
8694
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -8075,9 +8735,7 @@ class LlmProxyPartnerPoweredEnforceAPI:
8075
8735
  self._api = api_client
8076
8736
 
8077
8737
  def get(self, *, etag: Optional[str] = None) -> LlmProxyPartnerPoweredEnforce:
8078
- """Get the enforcement status of partner powered AI features account setting.
8079
-
8080
- Gets the enforcement status of partner powered AI features account setting.
8738
+ """Gets the enforcement status of partner powered AI features account setting.
8081
8739
 
8082
8740
  :param etag: str (optional)
8083
8741
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -8107,9 +8765,7 @@ class LlmProxyPartnerPoweredEnforceAPI:
8107
8765
  def update(
8108
8766
  self, allow_missing: bool, setting: LlmProxyPartnerPoweredEnforce, field_mask: str
8109
8767
  ) -> LlmProxyPartnerPoweredEnforce:
8110
- """Update the enforcement status of partner powered AI features account setting.
8111
-
8112
- Updates the enable enforcement status of partner powered AI features account setting.
8768
+ """Updates the enable enforcement status of partner powered AI features account setting.
8113
8769
 
8114
8770
  :param allow_missing: bool
8115
8771
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -8155,9 +8811,7 @@ class LlmProxyPartnerPoweredWorkspaceAPI:
8155
8811
  self._api = api_client
8156
8812
 
8157
8813
  def delete(self, *, etag: Optional[str] = None) -> DeleteLlmProxyPartnerPoweredWorkspaceResponse:
8158
- """Delete the enable partner powered AI features workspace setting.
8159
-
8160
- Reverts the enable partner powered AI features workspace setting to its default value.
8814
+ """Reverts the enable partner powered AI features workspace setting to its default value.
8161
8815
 
8162
8816
  :param etag: str (optional)
8163
8817
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -8182,9 +8836,7 @@ class LlmProxyPartnerPoweredWorkspaceAPI:
8182
8836
  return DeleteLlmProxyPartnerPoweredWorkspaceResponse.from_dict(res)
8183
8837
 
8184
8838
  def get(self, *, etag: Optional[str] = None) -> LlmProxyPartnerPoweredWorkspace:
8185
- """Get the enable partner powered AI features workspace setting.
8186
-
8187
- Gets the enable partner powered AI features workspace setting.
8839
+ """Gets the enable partner powered AI features workspace setting.
8188
8840
 
8189
8841
  :param etag: str (optional)
8190
8842
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -8211,9 +8863,7 @@ class LlmProxyPartnerPoweredWorkspaceAPI:
8211
8863
  def update(
8212
8864
  self, allow_missing: bool, setting: LlmProxyPartnerPoweredWorkspace, field_mask: str
8213
8865
  ) -> LlmProxyPartnerPoweredWorkspace:
8214
- """Update the enable partner powered AI features workspace setting.
8215
-
8216
- Updates the enable partner powered AI features workspace setting.
8866
+ """Updates the enable partner powered AI features workspace setting.
8217
8867
 
8218
8868
  :param allow_missing: bool
8219
8869
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -8265,9 +8915,7 @@ class NetworkConnectivityAPI:
8265
8915
  def create_network_connectivity_configuration(
8266
8916
  self, network_connectivity_config: CreateNetworkConnectivityConfiguration
8267
8917
  ) -> NetworkConnectivityConfiguration:
8268
- """Create a network connectivity configuration.
8269
-
8270
- Creates a network connectivity configuration (NCC), which provides stable Azure service subnets when
8918
+ """Creates a network connectivity configuration (NCC), which provides stable Azure service subnets when
8271
8919
  accessing your Azure Storage accounts. You can also use a network connectivity configuration to create
8272
8920
  Databricks managed private endpoints so that Databricks serverless compute resources privately access
8273
8921
  your resources.
@@ -8297,10 +8945,8 @@ class NetworkConnectivityAPI:
8297
8945
 
8298
8946
  def create_private_endpoint_rule(
8299
8947
  self, network_connectivity_config_id: str, private_endpoint_rule: CreatePrivateEndpointRule
8300
- ) -> NccAzurePrivateEndpointRule:
8301
- """Create a private endpoint rule.
8302
-
8303
- Create a private endpoint rule for the specified network connectivity config object. Once the object
8948
+ ) -> NccPrivateEndpointRule:
8949
+ """Create a private endpoint rule for the specified network connectivity config object. Once the object
8304
8950
  is created, Databricks asynchronously provisions a new Azure private endpoint to your specified Azure
8305
8951
  resource.
8306
8952
 
@@ -8316,7 +8962,7 @@ class NetworkConnectivityAPI:
8316
8962
  Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure portal
8317
8963
  after initialization.
8318
8964
 
8319
- :returns: :class:`NccAzurePrivateEndpointRule`
8965
+ :returns: :class:`NccPrivateEndpointRule`
8320
8966
  """
8321
8967
  body = private_endpoint_rule.as_dict()
8322
8968
  headers = {
@@ -8330,12 +8976,10 @@ class NetworkConnectivityAPI:
8330
8976
  body=body,
8331
8977
  headers=headers,
8332
8978
  )
8333
- return NccAzurePrivateEndpointRule.from_dict(res)
8979
+ return NccPrivateEndpointRule.from_dict(res)
8334
8980
 
8335
8981
  def delete_network_connectivity_configuration(self, network_connectivity_config_id: str):
8336
- """Delete a network connectivity configuration.
8337
-
8338
- Deletes a network connectivity configuration.
8982
+ """Deletes a network connectivity configuration.
8339
8983
 
8340
8984
  :param network_connectivity_config_id: str
8341
8985
  Your Network Connectivity Configuration ID.
@@ -8355,10 +8999,8 @@ class NetworkConnectivityAPI:
8355
8999
 
8356
9000
  def delete_private_endpoint_rule(
8357
9001
  self, network_connectivity_config_id: str, private_endpoint_rule_id: str
8358
- ) -> NccAzurePrivateEndpointRule:
8359
- """Delete a private endpoint rule.
8360
-
8361
- Initiates deleting a private endpoint rule. If the connection state is PENDING or EXPIRED, the private
9002
+ ) -> NccPrivateEndpointRule:
9003
+ """Initiates deleting a private endpoint rule. If the connection state is PENDING or EXPIRED, the private
8362
9004
  endpoint is immediately deleted. Otherwise, the private endpoint is deactivated and will be deleted
8363
9005
  after seven days of deactivation. When a private endpoint is deactivated, the `deactivated` field is
8364
9006
  set to `true` and the private endpoint is not available to your serverless compute resources.
@@ -8368,7 +9010,7 @@ class NetworkConnectivityAPI:
8368
9010
  :param private_endpoint_rule_id: str
8369
9011
  Your private endpoint rule ID.
8370
9012
 
8371
- :returns: :class:`NccAzurePrivateEndpointRule`
9013
+ :returns: :class:`NccPrivateEndpointRule`
8372
9014
  """
8373
9015
 
8374
9016
  headers = {
@@ -8380,14 +9022,12 @@ class NetworkConnectivityAPI:
8380
9022
  f"/api/2.0/accounts/{self._api.account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}",
8381
9023
  headers=headers,
8382
9024
  )
8383
- return NccAzurePrivateEndpointRule.from_dict(res)
9025
+ return NccPrivateEndpointRule.from_dict(res)
8384
9026
 
8385
9027
  def get_network_connectivity_configuration(
8386
9028
  self, network_connectivity_config_id: str
8387
9029
  ) -> NetworkConnectivityConfiguration:
8388
- """Get a network connectivity configuration.
8389
-
8390
- Gets a network connectivity configuration.
9030
+ """Gets a network connectivity configuration.
8391
9031
 
8392
9032
  :param network_connectivity_config_id: str
8393
9033
  Your Network Connectivity Configuration ID.
@@ -8408,17 +9048,15 @@ class NetworkConnectivityAPI:
8408
9048
 
8409
9049
  def get_private_endpoint_rule(
8410
9050
  self, network_connectivity_config_id: str, private_endpoint_rule_id: str
8411
- ) -> NccAzurePrivateEndpointRule:
8412
- """Gets a private endpoint rule.
8413
-
8414
- Gets the private endpoint rule.
9051
+ ) -> NccPrivateEndpointRule:
9052
+ """Gets the private endpoint rule.
8415
9053
 
8416
9054
  :param network_connectivity_config_id: str
8417
9055
  Your Network Connectvity Configuration ID.
8418
9056
  :param private_endpoint_rule_id: str
8419
9057
  Your private endpoint rule ID.
8420
9058
 
8421
- :returns: :class:`NccAzurePrivateEndpointRule`
9059
+ :returns: :class:`NccPrivateEndpointRule`
8422
9060
  """
8423
9061
 
8424
9062
  headers = {
@@ -8430,14 +9068,12 @@ class NetworkConnectivityAPI:
8430
9068
  f"/api/2.0/accounts/{self._api.account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}",
8431
9069
  headers=headers,
8432
9070
  )
8433
- return NccAzurePrivateEndpointRule.from_dict(res)
9071
+ return NccPrivateEndpointRule.from_dict(res)
8434
9072
 
8435
9073
  def list_network_connectivity_configurations(
8436
9074
  self, *, page_token: Optional[str] = None
8437
9075
  ) -> Iterator[NetworkConnectivityConfiguration]:
8438
- """List network connectivity configurations.
8439
-
8440
- Gets an array of network connectivity configurations.
9076
+ """Gets an array of network connectivity configurations.
8441
9077
 
8442
9078
  :param page_token: str (optional)
8443
9079
  Pagination token to go to next page based on previous query.
@@ -8468,17 +9104,15 @@ class NetworkConnectivityAPI:
8468
9104
 
8469
9105
  def list_private_endpoint_rules(
8470
9106
  self, network_connectivity_config_id: str, *, page_token: Optional[str] = None
8471
- ) -> Iterator[NccAzurePrivateEndpointRule]:
8472
- """List private endpoint rules.
8473
-
8474
- Gets an array of private endpoint rules.
9107
+ ) -> Iterator[NccPrivateEndpointRule]:
9108
+ """Gets an array of private endpoint rules.
8475
9109
 
8476
9110
  :param network_connectivity_config_id: str
8477
9111
  Your Network Connectvity Configuration ID.
8478
9112
  :param page_token: str (optional)
8479
9113
  Pagination token to go to next page based on previous query.
8480
9114
 
8481
- :returns: Iterator over :class:`NccAzurePrivateEndpointRule`
9115
+ :returns: Iterator over :class:`NccPrivateEndpointRule`
8482
9116
  """
8483
9117
 
8484
9118
  query = {}
@@ -8497,25 +9131,24 @@ class NetworkConnectivityAPI:
8497
9131
  )
8498
9132
  if "items" in json:
8499
9133
  for v in json["items"]:
8500
- yield NccAzurePrivateEndpointRule.from_dict(v)
9134
+ yield NccPrivateEndpointRule.from_dict(v)
8501
9135
  if "next_page_token" not in json or not json["next_page_token"]:
8502
9136
  return
8503
9137
  query["page_token"] = json["next_page_token"]
8504
9138
 
8505
- def update_ncc_azure_private_endpoint_rule_public(
9139
+ def update_private_endpoint_rule(
8506
9140
  self,
8507
9141
  network_connectivity_config_id: str,
8508
9142
  private_endpoint_rule_id: str,
8509
9143
  private_endpoint_rule: UpdatePrivateEndpointRule,
8510
9144
  update_mask: str,
8511
- ) -> NccAzurePrivateEndpointRule:
8512
- """Update a private endpoint rule.
8513
-
8514
- Updates a private endpoint rule. Currently only a private endpoint rule to customer-managed resources
9145
+ ) -> NccPrivateEndpointRule:
9146
+ """Updates a private endpoint rule. Currently only a private endpoint rule to customer-managed resources
8515
9147
  is allowed to be updated.
8516
9148
 
8517
9149
  :param network_connectivity_config_id: str
8518
- Your Network Connectivity Configuration ID.
9150
+ The ID of a network connectivity configuration, which is the parent resource of this private
9151
+ endpoint rule object.
8519
9152
  :param private_endpoint_rule_id: str
8520
9153
  Your private endpoint rule ID.
8521
9154
  :param private_endpoint_rule: :class:`UpdatePrivateEndpointRule`
@@ -8528,7 +9161,7 @@ class NetworkConnectivityAPI:
8528
9161
  the entire collection field can be specified. Field names must exactly match the resource field
8529
9162
  names.
8530
9163
 
8531
- :returns: :class:`NccAzurePrivateEndpointRule`
9164
+ :returns: :class:`NccPrivateEndpointRule`
8532
9165
  """
8533
9166
  body = private_endpoint_rule.as_dict()
8534
9167
  query = {}
@@ -8546,7 +9179,7 @@ class NetworkConnectivityAPI:
8546
9179
  body=body,
8547
9180
  headers=headers,
8548
9181
  )
8549
- return NccAzurePrivateEndpointRule.from_dict(res)
9182
+ return NccPrivateEndpointRule.from_dict(res)
8550
9183
 
8551
9184
 
8552
9185
  class NetworkPoliciesAPI:
@@ -8561,9 +9194,7 @@ class NetworkPoliciesAPI:
8561
9194
  self._api = api_client
8562
9195
 
8563
9196
  def create_network_policy_rpc(self, network_policy: AccountNetworkPolicy) -> AccountNetworkPolicy:
8564
- """Create a network policy.
8565
-
8566
- Creates a new network policy to manage which network destinations can be accessed from the Databricks
9197
+ """Creates a new network policy to manage which network destinations can be accessed from the Databricks
8567
9198
  environment.
8568
9199
 
8569
9200
  :param network_policy: :class:`AccountNetworkPolicy`
@@ -8582,9 +9213,7 @@ class NetworkPoliciesAPI:
8582
9213
  return AccountNetworkPolicy.from_dict(res)
8583
9214
 
8584
9215
  def delete_network_policy_rpc(self, network_policy_id: str):
8585
- """Delete a network policy.
8586
-
8587
- Deletes a network policy. Cannot be called on 'default-policy'.
9216
+ """Deletes a network policy. Cannot be called on 'default-policy'.
8588
9217
 
8589
9218
  :param network_policy_id: str
8590
9219
  The unique identifier of the network policy to delete.
@@ -8601,9 +9230,7 @@ class NetworkPoliciesAPI:
8601
9230
  )
8602
9231
 
8603
9232
  def get_network_policy_rpc(self, network_policy_id: str) -> AccountNetworkPolicy:
8604
- """Get a network policy.
8605
-
8606
- Gets a network policy.
9233
+ """Gets a network policy.
8607
9234
 
8608
9235
  :param network_policy_id: str
8609
9236
  The unique identifier of the network policy to retrieve.
@@ -8621,9 +9248,7 @@ class NetworkPoliciesAPI:
8621
9248
  return AccountNetworkPolicy.from_dict(res)
8622
9249
 
8623
9250
  def list_network_policies_rpc(self, *, page_token: Optional[str] = None) -> Iterator[AccountNetworkPolicy]:
8624
- """List network policies.
8625
-
8626
- Gets an array of network policies.
9251
+ """Gets an array of network policies.
8627
9252
 
8628
9253
  :param page_token: str (optional)
8629
9254
  Pagination token to go to next page based on previous query.
@@ -8652,9 +9277,7 @@ class NetworkPoliciesAPI:
8652
9277
  def update_network_policy_rpc(
8653
9278
  self, network_policy_id: str, network_policy: AccountNetworkPolicy
8654
9279
  ) -> AccountNetworkPolicy:
8655
- """Update a network policy.
8656
-
8657
- Updates a network policy. This allows you to modify the configuration of a network policy.
9280
+ """Updates a network policy. This allows you to modify the configuration of a network policy.
8658
9281
 
8659
9282
  :param network_policy_id: str
8660
9283
  The unique identifier for the network policy.
@@ -8687,9 +9310,7 @@ class NotificationDestinationsAPI:
8687
9310
  self._api = api_client
8688
9311
 
8689
9312
  def create(self, *, config: Optional[Config] = None, display_name: Optional[str] = None) -> NotificationDestination:
8690
- """Create a notification destination.
8691
-
8692
- Creates a notification destination. Requires workspace admin permissions.
9313
+ """Creates a notification destination. Requires workspace admin permissions.
8693
9314
 
8694
9315
  :param config: :class:`Config` (optional)
8695
9316
  The configuration for the notification destination. Must wrap EXACTLY one of the nested configs.
@@ -8712,9 +9333,7 @@ class NotificationDestinationsAPI:
8712
9333
  return NotificationDestination.from_dict(res)
8713
9334
 
8714
9335
  def delete(self, id: str):
8715
- """Delete a notification destination.
8716
-
8717
- Deletes a notification destination. Requires workspace admin permissions.
9336
+ """Deletes a notification destination. Requires workspace admin permissions.
8718
9337
 
8719
9338
  :param id: str
8720
9339
 
@@ -8728,9 +9347,7 @@ class NotificationDestinationsAPI:
8728
9347
  self._api.do("DELETE", f"/api/2.0/notification-destinations/{id}", headers=headers)
8729
9348
 
8730
9349
  def get(self, id: str) -> NotificationDestination:
8731
- """Get a notification destination.
8732
-
8733
- Gets a notification destination.
9350
+ """Gets a notification destination.
8734
9351
 
8735
9352
  :param id: str
8736
9353
 
@@ -8747,9 +9364,7 @@ class NotificationDestinationsAPI:
8747
9364
  def list(
8748
9365
  self, *, page_size: Optional[int] = None, page_token: Optional[str] = None
8749
9366
  ) -> Iterator[ListNotificationDestinationsResult]:
8750
- """List notification destinations.
8751
-
8752
- Lists notification destinations.
9367
+ """Lists notification destinations.
8753
9368
 
8754
9369
  :param page_size: int (optional)
8755
9370
  :param page_token: str (optional)
@@ -8778,9 +9393,7 @@ class NotificationDestinationsAPI:
8778
9393
  def update(
8779
9394
  self, id: str, *, config: Optional[Config] = None, display_name: Optional[str] = None
8780
9395
  ) -> NotificationDestination:
8781
- """Update a notification destination.
8782
-
8783
- Updates a notification destination. Requires workspace admin permissions. At least one field is
9396
+ """Updates a notification destination. Requires workspace admin permissions. At least one field is
8784
9397
  required in the request body.
8785
9398
 
8786
9399
  :param id: str
@@ -8819,9 +9432,7 @@ class PersonalComputeAPI:
8819
9432
  self._api = api_client
8820
9433
 
8821
9434
  def delete(self, *, etag: Optional[str] = None) -> DeletePersonalComputeSettingResponse:
8822
- """Delete Personal Compute setting.
8823
-
8824
- Reverts back the Personal Compute setting value to default (ON)
9435
+ """Reverts back the Personal Compute setting value to default (ON)
8825
9436
 
8826
9437
  :param etag: str (optional)
8827
9438
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -8849,9 +9460,7 @@ class PersonalComputeAPI:
8849
9460
  return DeletePersonalComputeSettingResponse.from_dict(res)
8850
9461
 
8851
9462
  def get(self, *, etag: Optional[str] = None) -> PersonalComputeSetting:
8852
- """Get Personal Compute setting.
8853
-
8854
- Gets the value of the Personal Compute setting.
9463
+ """Gets the value of the Personal Compute setting.
8855
9464
 
8856
9465
  :param etag: str (optional)
8857
9466
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -8879,9 +9488,7 @@ class PersonalComputeAPI:
8879
9488
  return PersonalComputeSetting.from_dict(res)
8880
9489
 
8881
9490
  def update(self, allow_missing: bool, setting: PersonalComputeSetting, field_mask: str) -> PersonalComputeSetting:
8882
- """Update Personal Compute setting.
8883
-
8884
- Updates the value of the Personal Compute setting.
9491
+ """Updates the value of the Personal Compute setting.
8885
9492
 
8886
9493
  :param allow_missing: bool
8887
9494
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -8935,9 +9542,7 @@ class RestrictWorkspaceAdminsAPI:
8935
9542
  self._api = api_client
8936
9543
 
8937
9544
  def delete(self, *, etag: Optional[str] = None) -> DeleteRestrictWorkspaceAdminsSettingResponse:
8938
- """Delete the restrict workspace admins setting.
8939
-
8940
- Reverts the restrict workspace admins setting status for the workspace. A fresh etag needs to be
9545
+ """Reverts the restrict workspace admins setting status for the workspace. A fresh etag needs to be
8941
9546
  provided in `DELETE` requests (as a query parameter). The etag can be retrieved by making a `GET`
8942
9547
  request before the DELETE request. If the setting is updated/deleted concurrently, `DELETE` fails with
8943
9548
  409 and the request must be retried by using the fresh etag in the 409 response.
@@ -8965,9 +9570,7 @@ class RestrictWorkspaceAdminsAPI:
8965
9570
  return DeleteRestrictWorkspaceAdminsSettingResponse.from_dict(res)
8966
9571
 
8967
9572
  def get(self, *, etag: Optional[str] = None) -> RestrictWorkspaceAdminsSetting:
8968
- """Get the restrict workspace admins setting.
8969
-
8970
- Gets the restrict workspace admins setting.
9573
+ """Gets the restrict workspace admins setting.
8971
9574
 
8972
9575
  :param etag: str (optional)
8973
9576
  etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
@@ -8994,9 +9597,7 @@ class RestrictWorkspaceAdminsAPI:
8994
9597
  def update(
8995
9598
  self, allow_missing: bool, setting: RestrictWorkspaceAdminsSetting, field_mask: str
8996
9599
  ) -> RestrictWorkspaceAdminsSetting:
8997
- """Update the restrict workspace admins setting.
8998
-
8999
- Updates the restrict workspace admins setting for the workspace. A fresh etag needs to be provided in
9600
+ """Updates the restrict workspace admins setting for the workspace. A fresh etag needs to be provided in
9000
9601
  `PATCH` requests (as part of the setting field). The etag can be retrieved by making a GET request
9001
9602
  before the `PATCH` request. If the setting is updated concurrently, `PATCH` fails with 409 and the
9002
9603
  request must be retried by using the fresh etag in the 409 response.
@@ -9045,6 +9646,7 @@ class SettingsAPI:
9045
9646
  self._aibi_dashboard_embedding_approved_domains = AibiDashboardEmbeddingApprovedDomainsAPI(self._api)
9046
9647
  self._automatic_cluster_update = AutomaticClusterUpdateAPI(self._api)
9047
9648
  self._compliance_security_profile = ComplianceSecurityProfileAPI(self._api)
9649
+ self._dashboard_email_subscriptions = DashboardEmailSubscriptionsAPI(self._api)
9048
9650
  self._default_namespace = DefaultNamespaceAPI(self._api)
9049
9651
  self._disable_legacy_access = DisableLegacyAccessAPI(self._api)
9050
9652
  self._disable_legacy_dbfs = DisableLegacyDbfsAPI(self._api)
@@ -9054,6 +9656,7 @@ class SettingsAPI:
9054
9656
  self._enhanced_security_monitoring = EnhancedSecurityMonitoringAPI(self._api)
9055
9657
  self._llm_proxy_partner_powered_workspace = LlmProxyPartnerPoweredWorkspaceAPI(self._api)
9056
9658
  self._restrict_workspace_admins = RestrictWorkspaceAdminsAPI(self._api)
9659
+ self._sql_results_download = SqlResultsDownloadAPI(self._api)
9057
9660
 
9058
9661
  @property
9059
9662
  def aibi_dashboard_embedding_access_policy(self) -> AibiDashboardEmbeddingAccessPolicyAPI:
@@ -9075,6 +9678,11 @@ class SettingsAPI:
9075
9678
  """Controls whether to enable the compliance security profile for the current workspace."""
9076
9679
  return self._compliance_security_profile
9077
9680
 
9681
+ @property
9682
+ def dashboard_email_subscriptions(self) -> DashboardEmailSubscriptionsAPI:
9683
+ """Controls whether schedules or workload tasks for refreshing AI/BI Dashboards in the workspace can send subscription emails containing PDFs and/or images of the dashboard."""
9684
+ return self._dashboard_email_subscriptions
9685
+
9078
9686
  @property
9079
9687
  def default_namespace(self) -> DefaultNamespaceAPI:
9080
9688
  """The default namespace setting API allows users to configure the default namespace for a Databricks workspace."""
@@ -9120,6 +9728,105 @@ class SettingsAPI:
9120
9728
  """The Restrict Workspace Admins setting lets you control the capabilities of workspace admins."""
9121
9729
  return self._restrict_workspace_admins
9122
9730
 
9731
+ @property
9732
+ def sql_results_download(self) -> SqlResultsDownloadAPI:
9733
+ """Controls whether users within the workspace are allowed to download results from the SQL Editor and AI/BI Dashboards UIs."""
9734
+ return self._sql_results_download
9735
+
9736
+
9737
+ class SqlResultsDownloadAPI:
9738
+ """Controls whether users within the workspace are allowed to download results from the SQL Editor and AI/BI
9739
+ Dashboards UIs. By default, this setting is enabled (set to `true`)"""
9740
+
9741
+ def __init__(self, api_client):
9742
+ self._api = api_client
9743
+
9744
+ def delete(self, *, etag: Optional[str] = None) -> DeleteSqlResultsDownloadResponse:
9745
+ """Reverts the SQL Results Download setting to its default value.
9746
+
9747
+ :param etag: str (optional)
9748
+ etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
9749
+ optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
9750
+ each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
9751
+ to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
9752
+ request, and pass it with the DELETE request to identify the rule set version you are deleting.
9753
+
9754
+ :returns: :class:`DeleteSqlResultsDownloadResponse`
9755
+ """
9756
+
9757
+ query = {}
9758
+ if etag is not None:
9759
+ query["etag"] = etag
9760
+ headers = {
9761
+ "Accept": "application/json",
9762
+ }
9763
+
9764
+ res = self._api.do(
9765
+ "DELETE", "/api/2.0/settings/types/sql_results_download/names/default", query=query, headers=headers
9766
+ )
9767
+ return DeleteSqlResultsDownloadResponse.from_dict(res)
9768
+
9769
+ def get(self, *, etag: Optional[str] = None) -> SqlResultsDownload:
9770
+ """Gets the SQL Results Download setting.
9771
+
9772
+ :param etag: str (optional)
9773
+ etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
9774
+ optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
9775
+ each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
9776
+ to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
9777
+ request, and pass it with the DELETE request to identify the rule set version you are deleting.
9778
+
9779
+ :returns: :class:`SqlResultsDownload`
9780
+ """
9781
+
9782
+ query = {}
9783
+ if etag is not None:
9784
+ query["etag"] = etag
9785
+ headers = {
9786
+ "Accept": "application/json",
9787
+ }
9788
+
9789
+ res = self._api.do(
9790
+ "GET", "/api/2.0/settings/types/sql_results_download/names/default", query=query, headers=headers
9791
+ )
9792
+ return SqlResultsDownload.from_dict(res)
9793
+
9794
+ def update(self, allow_missing: bool, setting: SqlResultsDownload, field_mask: str) -> SqlResultsDownload:
9795
+ """Updates the SQL Results Download setting.
9796
+
9797
+ :param allow_missing: bool
9798
+ This should always be set to true for Settings API. Added for AIP compliance.
9799
+ :param setting: :class:`SqlResultsDownload`
9800
+ :param field_mask: str
9801
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
9802
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
9803
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
9804
+ the entire collection field can be specified. Field names must exactly match the resource field
9805
+ names.
9806
+
9807
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
9808
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
9809
+ changes in the future.
9810
+
9811
+ :returns: :class:`SqlResultsDownload`
9812
+ """
9813
+ body = {}
9814
+ if allow_missing is not None:
9815
+ body["allow_missing"] = allow_missing
9816
+ if field_mask is not None:
9817
+ body["field_mask"] = field_mask
9818
+ if setting is not None:
9819
+ body["setting"] = setting.as_dict()
9820
+ headers = {
9821
+ "Accept": "application/json",
9822
+ "Content-Type": "application/json",
9823
+ }
9824
+
9825
+ res = self._api.do(
9826
+ "PATCH", "/api/2.0/settings/types/sql_results_download/names/default", body=body, headers=headers
9827
+ )
9828
+ return SqlResultsDownload.from_dict(res)
9829
+
9123
9830
 
9124
9831
  class TokenManagementAPI:
9125
9832
  """Enables administrators to get all tokens and delete tokens for other users. Admins can either get every
@@ -9131,9 +9838,7 @@ class TokenManagementAPI:
9131
9838
  def create_obo_token(
9132
9839
  self, application_id: str, *, comment: Optional[str] = None, lifetime_seconds: Optional[int] = None
9133
9840
  ) -> CreateOboTokenResponse:
9134
- """Create on-behalf token.
9135
-
9136
- Creates a token on behalf of a service principal.
9841
+ """Creates a token on behalf of a service principal.
9137
9842
 
9138
9843
  :param application_id: str
9139
9844
  Application ID of the service principal.
@@ -9160,9 +9865,7 @@ class TokenManagementAPI:
9160
9865
  return CreateOboTokenResponse.from_dict(res)
9161
9866
 
9162
9867
  def delete(self, token_id: str):
9163
- """Delete a token.
9164
-
9165
- Deletes a token, specified by its ID.
9868
+ """Deletes a token, specified by its ID.
9166
9869
 
9167
9870
  :param token_id: str
9168
9871
  The ID of the token to revoke.
@@ -9175,9 +9878,7 @@ class TokenManagementAPI:
9175
9878
  self._api.do("DELETE", f"/api/2.0/token-management/tokens/{token_id}", headers=headers)
9176
9879
 
9177
9880
  def get(self, token_id: str) -> GetTokenResponse:
9178
- """Get token info.
9179
-
9180
- Gets information about a token, specified by its ID.
9881
+ """Gets information about a token, specified by its ID.
9181
9882
 
9182
9883
  :param token_id: str
9183
9884
  The ID of the token to get.
@@ -9193,9 +9894,7 @@ class TokenManagementAPI:
9193
9894
  return GetTokenResponse.from_dict(res)
9194
9895
 
9195
9896
  def get_permission_levels(self) -> GetTokenPermissionLevelsResponse:
9196
- """Get token permission levels.
9197
-
9198
- Gets the permission levels that a user can have on an object.
9897
+ """Gets the permission levels that a user can have on an object.
9199
9898
 
9200
9899
  :returns: :class:`GetTokenPermissionLevelsResponse`
9201
9900
  """
@@ -9208,9 +9907,7 @@ class TokenManagementAPI:
9208
9907
  return GetTokenPermissionLevelsResponse.from_dict(res)
9209
9908
 
9210
9909
  def get_permissions(self) -> TokenPermissions:
9211
- """Get token permissions.
9212
-
9213
- Gets the permissions of all tokens. Tokens can inherit permissions from their root object.
9910
+ """Gets the permissions of all tokens. Tokens can inherit permissions from their root object.
9214
9911
 
9215
9912
  :returns: :class:`TokenPermissions`
9216
9913
  """
@@ -9225,9 +9922,7 @@ class TokenManagementAPI:
9225
9922
  def list(
9226
9923
  self, *, created_by_id: Optional[int] = None, created_by_username: Optional[str] = None
9227
9924
  ) -> Iterator[TokenInfo]:
9228
- """List all tokens.
9229
-
9230
- Lists all tokens associated with the specified workspace or user.
9925
+ """Lists all tokens associated with the specified workspace or user.
9231
9926
 
9232
9927
  :param created_by_id: int (optional)
9233
9928
  User ID of the user that created the token.
@@ -9253,9 +9948,7 @@ class TokenManagementAPI:
9253
9948
  def set_permissions(
9254
9949
  self, *, access_control_list: Optional[List[TokenAccessControlRequest]] = None
9255
9950
  ) -> TokenPermissions:
9256
- """Set token permissions.
9257
-
9258
- Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct
9951
+ """Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct
9259
9952
  permissions if none are specified. Objects can inherit permissions from their root object.
9260
9953
 
9261
9954
  :param access_control_list: List[:class:`TokenAccessControlRequest`] (optional)
@@ -9276,9 +9969,7 @@ class TokenManagementAPI:
9276
9969
  def update_permissions(
9277
9970
  self, *, access_control_list: Optional[List[TokenAccessControlRequest]] = None
9278
9971
  ) -> TokenPermissions:
9279
- """Update token permissions.
9280
-
9281
- Updates the permissions on all tokens. Tokens can inherit permissions from their root object.
9972
+ """Updates the permissions on all tokens. Tokens can inherit permissions from their root object.
9282
9973
 
9283
9974
  :param access_control_list: List[:class:`TokenAccessControlRequest`] (optional)
9284
9975
 
@@ -9304,9 +9995,7 @@ class TokensAPI:
9304
9995
  self._api = api_client
9305
9996
 
9306
9997
  def create(self, *, comment: Optional[str] = None, lifetime_seconds: Optional[int] = None) -> CreateTokenResponse:
9307
- """Create a user token.
9308
-
9309
- Creates and returns a token for a user. If this call is made through token authentication, it creates
9998
+ """Creates and returns a token for a user. If this call is made through token authentication, it creates
9310
9999
  a token with the same client ID as the authenticated token. If the user's token quota is exceeded,
9311
10000
  this call returns an error **QUOTA_EXCEEDED**.
9312
10001
 
@@ -9333,9 +10022,7 @@ class TokensAPI:
9333
10022
  return CreateTokenResponse.from_dict(res)
9334
10023
 
9335
10024
  def delete(self, token_id: str):
9336
- """Revoke token.
9337
-
9338
- Revokes an access token.
10025
+ """Revokes an access token.
9339
10026
 
9340
10027
  If a token with the specified ID is not valid, this call returns an error **RESOURCE_DOES_NOT_EXIST**.
9341
10028
 
@@ -9355,9 +10042,7 @@ class TokensAPI:
9355
10042
  self._api.do("POST", "/api/2.0/token/delete", body=body, headers=headers)
9356
10043
 
9357
10044
  def list(self) -> Iterator[PublicTokenInfo]:
9358
- """List tokens.
9359
-
9360
- Lists all the valid tokens for a user-workspace pair.
10045
+ """Lists all the valid tokens for a user-workspace pair.
9361
10046
 
9362
10047
  :returns: Iterator over :class:`PublicTokenInfo`
9363
10048
  """
@@ -9378,9 +10063,7 @@ class WorkspaceConfAPI:
9378
10063
  self._api = api_client
9379
10064
 
9380
10065
  def get_status(self, keys: str) -> WorkspaceConf:
9381
- """Check configuration status.
9382
-
9383
- Gets the configuration status for a workspace.
10066
+ """Gets the configuration status for a workspace.
9384
10067
 
9385
10068
  :param keys: str
9386
10069
 
@@ -9398,13 +10081,7 @@ class WorkspaceConfAPI:
9398
10081
  return res
9399
10082
 
9400
10083
  def set_status(self, contents: Dict[str, str]):
9401
- """Enable/disable features.
9402
-
9403
- Sets the configuration status for a workspace, including enabling or disabling it.
9404
-
9405
-
9406
-
9407
- """
10084
+ """Sets the configuration status for a workspace, including enabling or disabling it."""
9408
10085
 
9409
10086
  headers = {
9410
10087
  "Content-Type": "application/json",
@@ -9414,20 +10091,18 @@ class WorkspaceConfAPI:
9414
10091
 
9415
10092
 
9416
10093
  class WorkspaceNetworkConfigurationAPI:
9417
- """These APIs allow configuration of network settings for Databricks workspaces. Each workspace is always
9418
- associated with exactly one network policy that controls which network destinations can be accessed from
9419
- the Databricks environment. By default, workspaces are associated with the 'default-policy' network
9420
- policy. You cannot create or delete a workspace's network configuration, only update it to associate the
9421
- workspace with a different policy."""
10094
+ """These APIs allow configuration of network settings for Databricks workspaces by selecting which network
10095
+ policy to associate with the workspace. Each workspace is always associated with exactly one network
10096
+ policy that controls which network destinations can be accessed from the Databricks environment. By
10097
+ default, workspaces are associated with the 'default-policy' network policy. You cannot create or delete a
10098
+ workspace's network option, only update it to associate the workspace with a different policy"""
9422
10099
 
9423
10100
  def __init__(self, api_client):
9424
10101
  self._api = api_client
9425
10102
 
9426
10103
  def get_workspace_network_option_rpc(self, workspace_id: int) -> WorkspaceNetworkOption:
9427
- """Get workspace network configuration.
9428
-
9429
- Gets the network configuration for a workspace. Every workspace has exactly one network policy
9430
- binding, with 'default-policy' used if no explicit assignment exists.
10104
+ """Gets the network option for a workspace. Every workspace has exactly one network policy binding, with
10105
+ 'default-policy' used if no explicit assignment exists.
9431
10106
 
9432
10107
  :param workspace_id: int
9433
10108
  The workspace ID.
@@ -9447,11 +10122,8 @@ class WorkspaceNetworkConfigurationAPI:
9447
10122
  def update_workspace_network_option_rpc(
9448
10123
  self, workspace_id: int, workspace_network_option: WorkspaceNetworkOption
9449
10124
  ) -> WorkspaceNetworkOption:
9450
- """Update workspace network configuration.
9451
-
9452
- Updates the network configuration for a workspace. This operation associates the workspace with the
9453
- specified network policy. To revert to the default policy, specify 'default-policy' as the
9454
- network_policy_id.
10125
+ """Updates the network option for a workspace. This operation associates the workspace with the specified
10126
+ network policy. To revert to the default policy, specify 'default-policy' as the network_policy_id.
9455
10127
 
9456
10128
  :param workspace_id: int
9457
10129
  The workspace ID.