databricks-sdk 0.54.0__py3-none-any.whl → 0.56.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.
- databricks/sdk/__init__.py +304 -278
- databricks/sdk/config.py +15 -4
- databricks/sdk/credentials_provider.py +101 -55
- databricks/sdk/oauth.py +0 -5
- databricks/sdk/oidc.py +206 -0
- databricks/sdk/service/aibuilder.py +364 -0
- databricks/sdk/service/billing.py +150 -169
- databricks/sdk/service/catalog.py +263 -835
- databricks/sdk/service/cleanrooms.py +15 -10
- databricks/sdk/service/compute.py +12 -22
- databricks/sdk/service/dashboards.py +59 -451
- databricks/sdk/service/database.py +1256 -0
- databricks/sdk/service/files.py +2 -0
- databricks/sdk/service/iam.py +6 -6
- databricks/sdk/service/jobs.py +238 -0
- databricks/sdk/service/ml.py +8 -271
- databricks/sdk/service/pipelines.py +45 -1
- databricks/sdk/service/provisioning.py +0 -3
- databricks/sdk/service/qualitymonitorv2.py +275 -0
- databricks/sdk/service/serving.py +76 -4
- databricks/sdk/service/settings.py +982 -99
- databricks/sdk/service/sharing.py +3 -2
- databricks/sdk/service/sql.py +218 -1
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/METADATA +1 -1
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/RECORD +30 -26
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/WHEEL +1 -1
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/licenses/LICENSE +0 -0
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/licenses/NOTICE +0 -0
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.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
|
|
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
|
-
"""
|
|
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"
|
|
@@ -3073,43 +3370,6 @@ class ListIpAccessListResponse:
|
|
|
3073
3370
|
return cls(ip_access_lists=_repeated_dict(d, "ip_access_lists", IpAccessListInfo))
|
|
3074
3371
|
|
|
3075
3372
|
|
|
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
3373
|
@dataclass
|
|
3114
3374
|
class ListNetworkConnectivityConfigurationsResponse:
|
|
3115
3375
|
"""The network connectivity configuration list was successfully retrieved."""
|
|
@@ -3259,6 +3519,42 @@ class ListNotificationDestinationsResult:
|
|
|
3259
3519
|
)
|
|
3260
3520
|
|
|
3261
3521
|
|
|
3522
|
+
@dataclass
|
|
3523
|
+
class ListPrivateEndpointRulesResponse:
|
|
3524
|
+
"""The private endpoint rule list was successfully retrieved."""
|
|
3525
|
+
|
|
3526
|
+
items: Optional[List[NccPrivateEndpointRule]] = None
|
|
3527
|
+
|
|
3528
|
+
next_page_token: Optional[str] = None
|
|
3529
|
+
"""A token that can be used to get the next page of results. If null, there are no more results to
|
|
3530
|
+
show."""
|
|
3531
|
+
|
|
3532
|
+
def as_dict(self) -> dict:
|
|
3533
|
+
"""Serializes the ListPrivateEndpointRulesResponse into a dictionary suitable for use as a JSON request body."""
|
|
3534
|
+
body = {}
|
|
3535
|
+
if self.items:
|
|
3536
|
+
body["items"] = [v.as_dict() for v in self.items]
|
|
3537
|
+
if self.next_page_token is not None:
|
|
3538
|
+
body["next_page_token"] = self.next_page_token
|
|
3539
|
+
return body
|
|
3540
|
+
|
|
3541
|
+
def as_shallow_dict(self) -> dict:
|
|
3542
|
+
"""Serializes the ListPrivateEndpointRulesResponse into a shallow dictionary of its immediate attributes."""
|
|
3543
|
+
body = {}
|
|
3544
|
+
if self.items:
|
|
3545
|
+
body["items"] = self.items
|
|
3546
|
+
if self.next_page_token is not None:
|
|
3547
|
+
body["next_page_token"] = self.next_page_token
|
|
3548
|
+
return body
|
|
3549
|
+
|
|
3550
|
+
@classmethod
|
|
3551
|
+
def from_dict(cls, d: Dict[str, Any]) -> ListPrivateEndpointRulesResponse:
|
|
3552
|
+
"""Deserializes the ListPrivateEndpointRulesResponse from a dictionary."""
|
|
3553
|
+
return cls(
|
|
3554
|
+
items=_repeated_dict(d, "items", NccPrivateEndpointRule), next_page_token=d.get("next_page_token", None)
|
|
3555
|
+
)
|
|
3556
|
+
|
|
3557
|
+
|
|
3262
3558
|
@dataclass
|
|
3263
3559
|
class ListPublicTokensResponse:
|
|
3264
3560
|
token_infos: Optional[List[PublicTokenInfo]] = None
|
|
@@ -3558,7 +3854,7 @@ class NccAzurePrivateEndpointRule:
|
|
|
3558
3854
|
"""Time in epoch milliseconds when this object was deactivated."""
|
|
3559
3855
|
|
|
3560
3856
|
domain_names: Optional[List[str]] = None
|
|
3561
|
-
"""
|
|
3857
|
+
"""Not used by customer-managed private endpoint services.
|
|
3562
3858
|
|
|
3563
3859
|
Domain names of target private link service. When updating this field, the full list of target
|
|
3564
3860
|
domain_names must be specified."""
|
|
@@ -3567,8 +3863,7 @@ class NccAzurePrivateEndpointRule:
|
|
|
3567
3863
|
"""The name of the Azure private endpoint resource."""
|
|
3568
3864
|
|
|
3569
3865
|
group_id: Optional[str] = None
|
|
3570
|
-
"""Only used by private endpoints to Azure first-party services.
|
|
3571
|
-
mysqlServer
|
|
3866
|
+
"""Only used by private endpoints to Azure first-party services.
|
|
3572
3867
|
|
|
3573
3868
|
The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
|
|
3574
3869
|
storage (root DBFS), you need two endpoints, one for blob and one for dfs."""
|
|
@@ -3796,11 +4091,16 @@ class NccEgressDefaultRules:
|
|
|
3796
4091
|
class NccEgressTargetRules:
|
|
3797
4092
|
"""Target rule controls the egress rules that are dedicated to specific resources."""
|
|
3798
4093
|
|
|
4094
|
+
aws_private_endpoint_rules: Optional[List[CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRule]] = None
|
|
4095
|
+
"""AWS private endpoint rule controls the AWS private endpoint based egress rules."""
|
|
4096
|
+
|
|
3799
4097
|
azure_private_endpoint_rules: Optional[List[NccAzurePrivateEndpointRule]] = None
|
|
3800
4098
|
|
|
3801
4099
|
def as_dict(self) -> dict:
|
|
3802
4100
|
"""Serializes the NccEgressTargetRules into a dictionary suitable for use as a JSON request body."""
|
|
3803
4101
|
body = {}
|
|
4102
|
+
if self.aws_private_endpoint_rules:
|
|
4103
|
+
body["aws_private_endpoint_rules"] = [v.as_dict() for v in self.aws_private_endpoint_rules]
|
|
3804
4104
|
if self.azure_private_endpoint_rules:
|
|
3805
4105
|
body["azure_private_endpoint_rules"] = [v.as_dict() for v in self.azure_private_endpoint_rules]
|
|
3806
4106
|
return body
|
|
@@ -3808,6 +4108,8 @@ class NccEgressTargetRules:
|
|
|
3808
4108
|
def as_shallow_dict(self) -> dict:
|
|
3809
4109
|
"""Serializes the NccEgressTargetRules into a shallow dictionary of its immediate attributes."""
|
|
3810
4110
|
body = {}
|
|
4111
|
+
if self.aws_private_endpoint_rules:
|
|
4112
|
+
body["aws_private_endpoint_rules"] = self.aws_private_endpoint_rules
|
|
3811
4113
|
if self.azure_private_endpoint_rules:
|
|
3812
4114
|
body["azure_private_endpoint_rules"] = self.azure_private_endpoint_rules
|
|
3813
4115
|
return body
|
|
@@ -3816,16 +4118,200 @@ class NccEgressTargetRules:
|
|
|
3816
4118
|
def from_dict(cls, d: Dict[str, Any]) -> NccEgressTargetRules:
|
|
3817
4119
|
"""Deserializes the NccEgressTargetRules from a dictionary."""
|
|
3818
4120
|
return cls(
|
|
3819
|
-
|
|
4121
|
+
aws_private_endpoint_rules=_repeated_dict(
|
|
4122
|
+
d, "aws_private_endpoint_rules", CustomerFacingNetworkConnectivityConfigAwsPrivateEndpointRule
|
|
4123
|
+
),
|
|
4124
|
+
azure_private_endpoint_rules=_repeated_dict(d, "azure_private_endpoint_rules", NccAzurePrivateEndpointRule),
|
|
3820
4125
|
)
|
|
3821
4126
|
|
|
3822
4127
|
|
|
4128
|
+
@dataclass
|
|
4129
|
+
class NccPrivateEndpointRule:
|
|
4130
|
+
"""Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure
|
|
4131
|
+
portal after initialization."""
|
|
4132
|
+
|
|
4133
|
+
account_id: Optional[str] = None
|
|
4134
|
+
"""Databricks account ID. You can find your account ID from the Accounts Console."""
|
|
4135
|
+
|
|
4136
|
+
connection_state: Optional[NccPrivateEndpointRulePrivateLinkConnectionState] = None
|
|
4137
|
+
"""The current status of this private endpoint. The private endpoint rules are effective only if
|
|
4138
|
+
the connection state is ESTABLISHED. Remember that you must approve new endpoints on your
|
|
4139
|
+
resources in the Cloud console before they take effect. The possible values are: - PENDING: The
|
|
4140
|
+
endpoint has been created and pending approval. - ESTABLISHED: The endpoint has been approved
|
|
4141
|
+
and is ready to use in your serverless compute resources. - REJECTED: Connection was rejected by
|
|
4142
|
+
the private link resource owner. - DISCONNECTED: Connection was removed by the private link
|
|
4143
|
+
resource owner, the private endpoint becomes informative and should be deleted for clean-up. -
|
|
4144
|
+
EXPIRED: If the endpoint was created but not approved in 14 days, it will be EXPIRED."""
|
|
4145
|
+
|
|
4146
|
+
creation_time: Optional[int] = None
|
|
4147
|
+
"""Time in epoch milliseconds when this object was created."""
|
|
4148
|
+
|
|
4149
|
+
deactivated: Optional[bool] = None
|
|
4150
|
+
"""Whether this private endpoint is deactivated."""
|
|
4151
|
+
|
|
4152
|
+
deactivated_at: Optional[int] = None
|
|
4153
|
+
"""Time in epoch milliseconds when this object was deactivated."""
|
|
4154
|
+
|
|
4155
|
+
domain_names: Optional[List[str]] = None
|
|
4156
|
+
"""Only used by private endpoints to customer-managed private endpoint services.
|
|
4157
|
+
|
|
4158
|
+
Domain names of target private link service. When updating this field, the full list of target
|
|
4159
|
+
domain_names must be specified."""
|
|
4160
|
+
|
|
4161
|
+
enabled: Optional[bool] = None
|
|
4162
|
+
"""Only used by private endpoints towards an AWS S3 service.
|
|
4163
|
+
|
|
4164
|
+
Update this field to activate/deactivate this private endpoint to allow egress access from
|
|
4165
|
+
serverless compute resources."""
|
|
4166
|
+
|
|
4167
|
+
endpoint_name: Optional[str] = None
|
|
4168
|
+
"""The name of the Azure private endpoint resource."""
|
|
4169
|
+
|
|
4170
|
+
endpoint_service: Optional[str] = None
|
|
4171
|
+
"""The full target AWS endpoint service name that connects to the destination resources of the
|
|
4172
|
+
private endpoint."""
|
|
4173
|
+
|
|
4174
|
+
group_id: Optional[str] = None
|
|
4175
|
+
"""Not used by customer-managed private endpoint services.
|
|
4176
|
+
|
|
4177
|
+
The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
|
|
4178
|
+
storage (root DBFS), you need two endpoints, one for blob and one for dfs."""
|
|
4179
|
+
|
|
4180
|
+
network_connectivity_config_id: Optional[str] = None
|
|
4181
|
+
"""The ID of a network connectivity configuration, which is the parent resource of this private
|
|
4182
|
+
endpoint rule object."""
|
|
4183
|
+
|
|
4184
|
+
resource_id: Optional[str] = None
|
|
4185
|
+
"""The Azure resource ID of the target resource."""
|
|
4186
|
+
|
|
4187
|
+
resource_names: Optional[List[str]] = None
|
|
4188
|
+
"""Only used by private endpoints towards AWS S3 service.
|
|
4189
|
+
|
|
4190
|
+
The globally unique S3 bucket names that will be accessed via the VPC endpoint. The bucket names
|
|
4191
|
+
must be in the same region as the NCC/endpoint service. When updating this field, we perform
|
|
4192
|
+
full update on this field. Please ensure a full list of desired resource_names is provided."""
|
|
4193
|
+
|
|
4194
|
+
rule_id: Optional[str] = None
|
|
4195
|
+
"""The ID of a private endpoint rule."""
|
|
4196
|
+
|
|
4197
|
+
updated_time: Optional[int] = None
|
|
4198
|
+
"""Time in epoch milliseconds when this object was updated."""
|
|
4199
|
+
|
|
4200
|
+
vpc_endpoint_id: Optional[str] = None
|
|
4201
|
+
"""The AWS VPC endpoint ID. You can use this ID to identify the VPC endpoint created by Databricks."""
|
|
4202
|
+
|
|
4203
|
+
def as_dict(self) -> dict:
|
|
4204
|
+
"""Serializes the NccPrivateEndpointRule into a dictionary suitable for use as a JSON request body."""
|
|
4205
|
+
body = {}
|
|
4206
|
+
if self.account_id is not None:
|
|
4207
|
+
body["account_id"] = self.account_id
|
|
4208
|
+
if self.connection_state is not None:
|
|
4209
|
+
body["connection_state"] = self.connection_state.value
|
|
4210
|
+
if self.creation_time is not None:
|
|
4211
|
+
body["creation_time"] = self.creation_time
|
|
4212
|
+
if self.deactivated is not None:
|
|
4213
|
+
body["deactivated"] = self.deactivated
|
|
4214
|
+
if self.deactivated_at is not None:
|
|
4215
|
+
body["deactivated_at"] = self.deactivated_at
|
|
4216
|
+
if self.domain_names:
|
|
4217
|
+
body["domain_names"] = [v for v in self.domain_names]
|
|
4218
|
+
if self.enabled is not None:
|
|
4219
|
+
body["enabled"] = self.enabled
|
|
4220
|
+
if self.endpoint_name is not None:
|
|
4221
|
+
body["endpoint_name"] = self.endpoint_name
|
|
4222
|
+
if self.endpoint_service is not None:
|
|
4223
|
+
body["endpoint_service"] = self.endpoint_service
|
|
4224
|
+
if self.group_id is not None:
|
|
4225
|
+
body["group_id"] = self.group_id
|
|
4226
|
+
if self.network_connectivity_config_id is not None:
|
|
4227
|
+
body["network_connectivity_config_id"] = self.network_connectivity_config_id
|
|
4228
|
+
if self.resource_id is not None:
|
|
4229
|
+
body["resource_id"] = self.resource_id
|
|
4230
|
+
if self.resource_names:
|
|
4231
|
+
body["resource_names"] = [v for v in self.resource_names]
|
|
4232
|
+
if self.rule_id is not None:
|
|
4233
|
+
body["rule_id"] = self.rule_id
|
|
4234
|
+
if self.updated_time is not None:
|
|
4235
|
+
body["updated_time"] = self.updated_time
|
|
4236
|
+
if self.vpc_endpoint_id is not None:
|
|
4237
|
+
body["vpc_endpoint_id"] = self.vpc_endpoint_id
|
|
4238
|
+
return body
|
|
4239
|
+
|
|
4240
|
+
def as_shallow_dict(self) -> dict:
|
|
4241
|
+
"""Serializes the NccPrivateEndpointRule into a shallow dictionary of its immediate attributes."""
|
|
4242
|
+
body = {}
|
|
4243
|
+
if self.account_id is not None:
|
|
4244
|
+
body["account_id"] = self.account_id
|
|
4245
|
+
if self.connection_state is not None:
|
|
4246
|
+
body["connection_state"] = self.connection_state
|
|
4247
|
+
if self.creation_time is not None:
|
|
4248
|
+
body["creation_time"] = self.creation_time
|
|
4249
|
+
if self.deactivated is not None:
|
|
4250
|
+
body["deactivated"] = self.deactivated
|
|
4251
|
+
if self.deactivated_at is not None:
|
|
4252
|
+
body["deactivated_at"] = self.deactivated_at
|
|
4253
|
+
if self.domain_names:
|
|
4254
|
+
body["domain_names"] = self.domain_names
|
|
4255
|
+
if self.enabled is not None:
|
|
4256
|
+
body["enabled"] = self.enabled
|
|
4257
|
+
if self.endpoint_name is not None:
|
|
4258
|
+
body["endpoint_name"] = self.endpoint_name
|
|
4259
|
+
if self.endpoint_service is not None:
|
|
4260
|
+
body["endpoint_service"] = self.endpoint_service
|
|
4261
|
+
if self.group_id is not None:
|
|
4262
|
+
body["group_id"] = self.group_id
|
|
4263
|
+
if self.network_connectivity_config_id is not None:
|
|
4264
|
+
body["network_connectivity_config_id"] = self.network_connectivity_config_id
|
|
4265
|
+
if self.resource_id is not None:
|
|
4266
|
+
body["resource_id"] = self.resource_id
|
|
4267
|
+
if self.resource_names:
|
|
4268
|
+
body["resource_names"] = self.resource_names
|
|
4269
|
+
if self.rule_id is not None:
|
|
4270
|
+
body["rule_id"] = self.rule_id
|
|
4271
|
+
if self.updated_time is not None:
|
|
4272
|
+
body["updated_time"] = self.updated_time
|
|
4273
|
+
if self.vpc_endpoint_id is not None:
|
|
4274
|
+
body["vpc_endpoint_id"] = self.vpc_endpoint_id
|
|
4275
|
+
return body
|
|
4276
|
+
|
|
4277
|
+
@classmethod
|
|
4278
|
+
def from_dict(cls, d: Dict[str, Any]) -> NccPrivateEndpointRule:
|
|
4279
|
+
"""Deserializes the NccPrivateEndpointRule from a dictionary."""
|
|
4280
|
+
return cls(
|
|
4281
|
+
account_id=d.get("account_id", None),
|
|
4282
|
+
connection_state=_enum(d, "connection_state", NccPrivateEndpointRulePrivateLinkConnectionState),
|
|
4283
|
+
creation_time=d.get("creation_time", None),
|
|
4284
|
+
deactivated=d.get("deactivated", None),
|
|
4285
|
+
deactivated_at=d.get("deactivated_at", None),
|
|
4286
|
+
domain_names=d.get("domain_names", None),
|
|
4287
|
+
enabled=d.get("enabled", None),
|
|
4288
|
+
endpoint_name=d.get("endpoint_name", None),
|
|
4289
|
+
endpoint_service=d.get("endpoint_service", None),
|
|
4290
|
+
group_id=d.get("group_id", None),
|
|
4291
|
+
network_connectivity_config_id=d.get("network_connectivity_config_id", None),
|
|
4292
|
+
resource_id=d.get("resource_id", None),
|
|
4293
|
+
resource_names=d.get("resource_names", None),
|
|
4294
|
+
rule_id=d.get("rule_id", None),
|
|
4295
|
+
updated_time=d.get("updated_time", None),
|
|
4296
|
+
vpc_endpoint_id=d.get("vpc_endpoint_id", None),
|
|
4297
|
+
)
|
|
4298
|
+
|
|
4299
|
+
|
|
4300
|
+
class NccPrivateEndpointRulePrivateLinkConnectionState(Enum):
|
|
4301
|
+
|
|
4302
|
+
DISCONNECTED = "DISCONNECTED"
|
|
4303
|
+
ESTABLISHED = "ESTABLISHED"
|
|
4304
|
+
EXPIRED = "EXPIRED"
|
|
4305
|
+
PENDING = "PENDING"
|
|
4306
|
+
REJECTED = "REJECTED"
|
|
4307
|
+
|
|
4308
|
+
|
|
3823
4309
|
@dataclass
|
|
3824
4310
|
class NetworkConnectivityConfiguration:
|
|
3825
4311
|
"""Properties of the new network connectivity configuration."""
|
|
3826
4312
|
|
|
3827
4313
|
account_id: Optional[str] = None
|
|
3828
|
-
"""
|
|
4314
|
+
"""Your Databricks account ID. You can find your account ID in your Databricks accounts console."""
|
|
3829
4315
|
|
|
3830
4316
|
creation_time: Optional[int] = None
|
|
3831
4317
|
"""Time in epoch milliseconds when this object was created."""
|
|
@@ -4440,6 +4926,56 @@ class SlackConfig:
|
|
|
4440
4926
|
return cls(url=d.get("url", None), url_set=d.get("url_set", None))
|
|
4441
4927
|
|
|
4442
4928
|
|
|
4929
|
+
@dataclass
|
|
4930
|
+
class SqlResultsDownload:
|
|
4931
|
+
boolean_val: BooleanMessage
|
|
4932
|
+
|
|
4933
|
+
etag: Optional[str] = None
|
|
4934
|
+
"""etag used for versioning. The response is at least as fresh as the eTag provided. This is used
|
|
4935
|
+
for optimistic concurrency control as a way to help prevent simultaneous writes of a setting
|
|
4936
|
+
overwriting each other. It is strongly suggested that systems make use of the etag in the read
|
|
4937
|
+
-> update pattern to perform setting updates in order to avoid race conditions. That is, get an
|
|
4938
|
+
etag from a GET request, and pass it with the PATCH request to identify the setting version you
|
|
4939
|
+
are updating."""
|
|
4940
|
+
|
|
4941
|
+
setting_name: Optional[str] = None
|
|
4942
|
+
"""Name of the corresponding setting. This field is populated in the response, but it will not be
|
|
4943
|
+
respected even if it's set in the request body. The setting name in the path parameter will be
|
|
4944
|
+
respected instead. Setting name is required to be 'default' if the setting only has one instance
|
|
4945
|
+
per workspace."""
|
|
4946
|
+
|
|
4947
|
+
def as_dict(self) -> dict:
|
|
4948
|
+
"""Serializes the SqlResultsDownload into a dictionary suitable for use as a JSON request body."""
|
|
4949
|
+
body = {}
|
|
4950
|
+
if self.boolean_val:
|
|
4951
|
+
body["boolean_val"] = self.boolean_val.as_dict()
|
|
4952
|
+
if self.etag is not None:
|
|
4953
|
+
body["etag"] = self.etag
|
|
4954
|
+
if self.setting_name is not None:
|
|
4955
|
+
body["setting_name"] = self.setting_name
|
|
4956
|
+
return body
|
|
4957
|
+
|
|
4958
|
+
def as_shallow_dict(self) -> dict:
|
|
4959
|
+
"""Serializes the SqlResultsDownload into a shallow dictionary of its immediate attributes."""
|
|
4960
|
+
body = {}
|
|
4961
|
+
if self.boolean_val:
|
|
4962
|
+
body["boolean_val"] = self.boolean_val
|
|
4963
|
+
if self.etag is not None:
|
|
4964
|
+
body["etag"] = self.etag
|
|
4965
|
+
if self.setting_name is not None:
|
|
4966
|
+
body["setting_name"] = self.setting_name
|
|
4967
|
+
return body
|
|
4968
|
+
|
|
4969
|
+
@classmethod
|
|
4970
|
+
def from_dict(cls, d: Dict[str, Any]) -> SqlResultsDownload:
|
|
4971
|
+
"""Deserializes the SqlResultsDownload from a dictionary."""
|
|
4972
|
+
return cls(
|
|
4973
|
+
boolean_val=_from_dict(d, "boolean_val", BooleanMessage),
|
|
4974
|
+
etag=d.get("etag", None),
|
|
4975
|
+
setting_name=d.get("setting_name", None),
|
|
4976
|
+
)
|
|
4977
|
+
|
|
4978
|
+
|
|
4443
4979
|
@dataclass
|
|
4444
4980
|
class StringMessage:
|
|
4445
4981
|
value: Optional[str] = None
|
|
@@ -4985,7 +5521,59 @@ class UpdateAutomaticClusterUpdateSettingRequest:
|
|
|
4985
5521
|
allow_missing: bool
|
|
4986
5522
|
"""This should always be set to true for Settings API. Added for AIP compliance."""
|
|
4987
5523
|
|
|
4988
|
-
setting: AutomaticClusterUpdateSetting
|
|
5524
|
+
setting: AutomaticClusterUpdateSetting
|
|
5525
|
+
|
|
5526
|
+
field_mask: str
|
|
5527
|
+
"""The field mask must be a single string, with multiple fields separated by commas (no spaces).
|
|
5528
|
+
The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
|
|
5529
|
+
(e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
|
|
5530
|
+
as only the entire collection field can be specified. Field names must exactly match the
|
|
5531
|
+
resource field names.
|
|
5532
|
+
|
|
5533
|
+
A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
|
|
5534
|
+
fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
|
|
5535
|
+
API changes in the future."""
|
|
5536
|
+
|
|
5537
|
+
def as_dict(self) -> dict:
|
|
5538
|
+
"""Serializes the UpdateAutomaticClusterUpdateSettingRequest into a dictionary suitable for use as a JSON request body."""
|
|
5539
|
+
body = {}
|
|
5540
|
+
if self.allow_missing is not None:
|
|
5541
|
+
body["allow_missing"] = self.allow_missing
|
|
5542
|
+
if self.field_mask is not None:
|
|
5543
|
+
body["field_mask"] = self.field_mask
|
|
5544
|
+
if self.setting:
|
|
5545
|
+
body["setting"] = self.setting.as_dict()
|
|
5546
|
+
return body
|
|
5547
|
+
|
|
5548
|
+
def as_shallow_dict(self) -> dict:
|
|
5549
|
+
"""Serializes the UpdateAutomaticClusterUpdateSettingRequest into a shallow dictionary of its immediate attributes."""
|
|
5550
|
+
body = {}
|
|
5551
|
+
if self.allow_missing is not None:
|
|
5552
|
+
body["allow_missing"] = self.allow_missing
|
|
5553
|
+
if self.field_mask is not None:
|
|
5554
|
+
body["field_mask"] = self.field_mask
|
|
5555
|
+
if self.setting:
|
|
5556
|
+
body["setting"] = self.setting
|
|
5557
|
+
return body
|
|
5558
|
+
|
|
5559
|
+
@classmethod
|
|
5560
|
+
def from_dict(cls, d: Dict[str, Any]) -> UpdateAutomaticClusterUpdateSettingRequest:
|
|
5561
|
+
"""Deserializes the UpdateAutomaticClusterUpdateSettingRequest from a dictionary."""
|
|
5562
|
+
return cls(
|
|
5563
|
+
allow_missing=d.get("allow_missing", None),
|
|
5564
|
+
field_mask=d.get("field_mask", None),
|
|
5565
|
+
setting=_from_dict(d, "setting", AutomaticClusterUpdateSetting),
|
|
5566
|
+
)
|
|
5567
|
+
|
|
5568
|
+
|
|
5569
|
+
@dataclass
|
|
5570
|
+
class UpdateComplianceSecurityProfileSettingRequest:
|
|
5571
|
+
"""Details required to update a setting."""
|
|
5572
|
+
|
|
5573
|
+
allow_missing: bool
|
|
5574
|
+
"""This should always be set to true for Settings API. Added for AIP compliance."""
|
|
5575
|
+
|
|
5576
|
+
setting: ComplianceSecurityProfileSetting
|
|
4989
5577
|
|
|
4990
5578
|
field_mask: str
|
|
4991
5579
|
"""The field mask must be a single string, with multiple fields separated by commas (no spaces).
|
|
@@ -4999,7 +5587,7 @@ class UpdateAutomaticClusterUpdateSettingRequest:
|
|
|
4999
5587
|
API changes in the future."""
|
|
5000
5588
|
|
|
5001
5589
|
def as_dict(self) -> dict:
|
|
5002
|
-
"""Serializes the
|
|
5590
|
+
"""Serializes the UpdateComplianceSecurityProfileSettingRequest into a dictionary suitable for use as a JSON request body."""
|
|
5003
5591
|
body = {}
|
|
5004
5592
|
if self.allow_missing is not None:
|
|
5005
5593
|
body["allow_missing"] = self.allow_missing
|
|
@@ -5010,7 +5598,7 @@ class UpdateAutomaticClusterUpdateSettingRequest:
|
|
|
5010
5598
|
return body
|
|
5011
5599
|
|
|
5012
5600
|
def as_shallow_dict(self) -> dict:
|
|
5013
|
-
"""Serializes the
|
|
5601
|
+
"""Serializes the UpdateComplianceSecurityProfileSettingRequest into a shallow dictionary of its immediate attributes."""
|
|
5014
5602
|
body = {}
|
|
5015
5603
|
if self.allow_missing is not None:
|
|
5016
5604
|
body["allow_missing"] = self.allow_missing
|
|
@@ -5021,23 +5609,23 @@ class UpdateAutomaticClusterUpdateSettingRequest:
|
|
|
5021
5609
|
return body
|
|
5022
5610
|
|
|
5023
5611
|
@classmethod
|
|
5024
|
-
def from_dict(cls, d: Dict[str, Any]) ->
|
|
5025
|
-
"""Deserializes the
|
|
5612
|
+
def from_dict(cls, d: Dict[str, Any]) -> UpdateComplianceSecurityProfileSettingRequest:
|
|
5613
|
+
"""Deserializes the UpdateComplianceSecurityProfileSettingRequest from a dictionary."""
|
|
5026
5614
|
return cls(
|
|
5027
5615
|
allow_missing=d.get("allow_missing", None),
|
|
5028
5616
|
field_mask=d.get("field_mask", None),
|
|
5029
|
-
setting=_from_dict(d, "setting",
|
|
5617
|
+
setting=_from_dict(d, "setting", ComplianceSecurityProfileSetting),
|
|
5030
5618
|
)
|
|
5031
5619
|
|
|
5032
5620
|
|
|
5033
5621
|
@dataclass
|
|
5034
|
-
class
|
|
5622
|
+
class UpdateCspEnablementAccountSettingRequest:
|
|
5035
5623
|
"""Details required to update a setting."""
|
|
5036
5624
|
|
|
5037
5625
|
allow_missing: bool
|
|
5038
5626
|
"""This should always be set to true for Settings API. Added for AIP compliance."""
|
|
5039
5627
|
|
|
5040
|
-
setting:
|
|
5628
|
+
setting: CspEnablementAccountSetting
|
|
5041
5629
|
|
|
5042
5630
|
field_mask: str
|
|
5043
5631
|
"""The field mask must be a single string, with multiple fields separated by commas (no spaces).
|
|
@@ -5051,7 +5639,7 @@ class UpdateComplianceSecurityProfileSettingRequest:
|
|
|
5051
5639
|
API changes in the future."""
|
|
5052
5640
|
|
|
5053
5641
|
def as_dict(self) -> dict:
|
|
5054
|
-
"""Serializes the
|
|
5642
|
+
"""Serializes the UpdateCspEnablementAccountSettingRequest into a dictionary suitable for use as a JSON request body."""
|
|
5055
5643
|
body = {}
|
|
5056
5644
|
if self.allow_missing is not None:
|
|
5057
5645
|
body["allow_missing"] = self.allow_missing
|
|
@@ -5062,7 +5650,7 @@ class UpdateComplianceSecurityProfileSettingRequest:
|
|
|
5062
5650
|
return body
|
|
5063
5651
|
|
|
5064
5652
|
def as_shallow_dict(self) -> dict:
|
|
5065
|
-
"""Serializes the
|
|
5653
|
+
"""Serializes the UpdateCspEnablementAccountSettingRequest into a shallow dictionary of its immediate attributes."""
|
|
5066
5654
|
body = {}
|
|
5067
5655
|
if self.allow_missing is not None:
|
|
5068
5656
|
body["allow_missing"] = self.allow_missing
|
|
@@ -5073,23 +5661,23 @@ class UpdateComplianceSecurityProfileSettingRequest:
|
|
|
5073
5661
|
return body
|
|
5074
5662
|
|
|
5075
5663
|
@classmethod
|
|
5076
|
-
def from_dict(cls, d: Dict[str, Any]) ->
|
|
5077
|
-
"""Deserializes the
|
|
5664
|
+
def from_dict(cls, d: Dict[str, Any]) -> UpdateCspEnablementAccountSettingRequest:
|
|
5665
|
+
"""Deserializes the UpdateCspEnablementAccountSettingRequest from a dictionary."""
|
|
5078
5666
|
return cls(
|
|
5079
5667
|
allow_missing=d.get("allow_missing", None),
|
|
5080
5668
|
field_mask=d.get("field_mask", None),
|
|
5081
|
-
setting=_from_dict(d, "setting",
|
|
5669
|
+
setting=_from_dict(d, "setting", CspEnablementAccountSetting),
|
|
5082
5670
|
)
|
|
5083
5671
|
|
|
5084
5672
|
|
|
5085
5673
|
@dataclass
|
|
5086
|
-
class
|
|
5674
|
+
class UpdateDashboardEmailSubscriptionsRequest:
|
|
5087
5675
|
"""Details required to update a setting."""
|
|
5088
5676
|
|
|
5089
5677
|
allow_missing: bool
|
|
5090
5678
|
"""This should always be set to true for Settings API. Added for AIP compliance."""
|
|
5091
5679
|
|
|
5092
|
-
setting:
|
|
5680
|
+
setting: DashboardEmailSubscriptions
|
|
5093
5681
|
|
|
5094
5682
|
field_mask: str
|
|
5095
5683
|
"""The field mask must be a single string, with multiple fields separated by commas (no spaces).
|
|
@@ -5103,7 +5691,7 @@ class UpdateCspEnablementAccountSettingRequest:
|
|
|
5103
5691
|
API changes in the future."""
|
|
5104
5692
|
|
|
5105
5693
|
def as_dict(self) -> dict:
|
|
5106
|
-
"""Serializes the
|
|
5694
|
+
"""Serializes the UpdateDashboardEmailSubscriptionsRequest into a dictionary suitable for use as a JSON request body."""
|
|
5107
5695
|
body = {}
|
|
5108
5696
|
if self.allow_missing is not None:
|
|
5109
5697
|
body["allow_missing"] = self.allow_missing
|
|
@@ -5114,7 +5702,7 @@ class UpdateCspEnablementAccountSettingRequest:
|
|
|
5114
5702
|
return body
|
|
5115
5703
|
|
|
5116
5704
|
def as_shallow_dict(self) -> dict:
|
|
5117
|
-
"""Serializes the
|
|
5705
|
+
"""Serializes the UpdateDashboardEmailSubscriptionsRequest into a shallow dictionary of its immediate attributes."""
|
|
5118
5706
|
body = {}
|
|
5119
5707
|
if self.allow_missing is not None:
|
|
5120
5708
|
body["allow_missing"] = self.allow_missing
|
|
@@ -5125,12 +5713,12 @@ class UpdateCspEnablementAccountSettingRequest:
|
|
|
5125
5713
|
return body
|
|
5126
5714
|
|
|
5127
5715
|
@classmethod
|
|
5128
|
-
def from_dict(cls, d: Dict[str, Any]) ->
|
|
5129
|
-
"""Deserializes the
|
|
5716
|
+
def from_dict(cls, d: Dict[str, Any]) -> UpdateDashboardEmailSubscriptionsRequest:
|
|
5717
|
+
"""Deserializes the UpdateDashboardEmailSubscriptionsRequest from a dictionary."""
|
|
5130
5718
|
return cls(
|
|
5131
5719
|
allow_missing=d.get("allow_missing", None),
|
|
5132
5720
|
field_mask=d.get("field_mask", None),
|
|
5133
|
-
setting=_from_dict(d, "setting",
|
|
5721
|
+
setting=_from_dict(d, "setting", DashboardEmailSubscriptions),
|
|
5134
5722
|
)
|
|
5135
5723
|
|
|
5136
5724
|
|
|
@@ -5927,16 +6515,33 @@ class UpdatePrivateEndpointRule:
|
|
|
5927
6515
|
portal after initialization."""
|
|
5928
6516
|
|
|
5929
6517
|
domain_names: Optional[List[str]] = None
|
|
5930
|
-
"""Only used by private endpoints to customer-managed
|
|
6518
|
+
"""Only used by private endpoints to customer-managed private endpoint services.
|
|
5931
6519
|
|
|
5932
6520
|
Domain names of target private link service. When updating this field, the full list of target
|
|
5933
6521
|
domain_names must be specified."""
|
|
5934
6522
|
|
|
6523
|
+
enabled: Optional[bool] = None
|
|
6524
|
+
"""Only used by private endpoints towards an AWS S3 service.
|
|
6525
|
+
|
|
6526
|
+
Update this field to activate/deactivate this private endpoint to allow egress access from
|
|
6527
|
+
serverless compute resources."""
|
|
6528
|
+
|
|
6529
|
+
resource_names: Optional[List[str]] = None
|
|
6530
|
+
"""Only used by private endpoints towards AWS S3 service.
|
|
6531
|
+
|
|
6532
|
+
The globally unique S3 bucket names that will be accessed via the VPC endpoint. The bucket names
|
|
6533
|
+
must be in the same region as the NCC/endpoint service. When updating this field, we perform
|
|
6534
|
+
full update on this field. Please ensure a full list of desired resource_names is provided."""
|
|
6535
|
+
|
|
5935
6536
|
def as_dict(self) -> dict:
|
|
5936
6537
|
"""Serializes the UpdatePrivateEndpointRule into a dictionary suitable for use as a JSON request body."""
|
|
5937
6538
|
body = {}
|
|
5938
6539
|
if self.domain_names:
|
|
5939
6540
|
body["domain_names"] = [v for v in self.domain_names]
|
|
6541
|
+
if self.enabled is not None:
|
|
6542
|
+
body["enabled"] = self.enabled
|
|
6543
|
+
if self.resource_names:
|
|
6544
|
+
body["resource_names"] = [v for v in self.resource_names]
|
|
5940
6545
|
return body
|
|
5941
6546
|
|
|
5942
6547
|
def as_shallow_dict(self) -> dict:
|
|
@@ -5944,12 +6549,20 @@ class UpdatePrivateEndpointRule:
|
|
|
5944
6549
|
body = {}
|
|
5945
6550
|
if self.domain_names:
|
|
5946
6551
|
body["domain_names"] = self.domain_names
|
|
6552
|
+
if self.enabled is not None:
|
|
6553
|
+
body["enabled"] = self.enabled
|
|
6554
|
+
if self.resource_names:
|
|
6555
|
+
body["resource_names"] = self.resource_names
|
|
5947
6556
|
return body
|
|
5948
6557
|
|
|
5949
6558
|
@classmethod
|
|
5950
6559
|
def from_dict(cls, d: Dict[str, Any]) -> UpdatePrivateEndpointRule:
|
|
5951
6560
|
"""Deserializes the UpdatePrivateEndpointRule from a dictionary."""
|
|
5952
|
-
return cls(
|
|
6561
|
+
return cls(
|
|
6562
|
+
domain_names=d.get("domain_names", None),
|
|
6563
|
+
enabled=d.get("enabled", None),
|
|
6564
|
+
resource_names=d.get("resource_names", None),
|
|
6565
|
+
)
|
|
5953
6566
|
|
|
5954
6567
|
|
|
5955
6568
|
@dataclass
|
|
@@ -6022,6 +6635,58 @@ class UpdateRestrictWorkspaceAdminsSettingRequest:
|
|
|
6022
6635
|
)
|
|
6023
6636
|
|
|
6024
6637
|
|
|
6638
|
+
@dataclass
|
|
6639
|
+
class UpdateSqlResultsDownloadRequest:
|
|
6640
|
+
"""Details required to update a setting."""
|
|
6641
|
+
|
|
6642
|
+
allow_missing: bool
|
|
6643
|
+
"""This should always be set to true for Settings API. Added for AIP compliance."""
|
|
6644
|
+
|
|
6645
|
+
setting: SqlResultsDownload
|
|
6646
|
+
|
|
6647
|
+
field_mask: str
|
|
6648
|
+
"""The field mask must be a single string, with multiple fields separated by commas (no spaces).
|
|
6649
|
+
The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
|
|
6650
|
+
(e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
|
|
6651
|
+
as only the entire collection field can be specified. Field names must exactly match the
|
|
6652
|
+
resource field names.
|
|
6653
|
+
|
|
6654
|
+
A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
|
|
6655
|
+
fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
|
|
6656
|
+
API changes in the future."""
|
|
6657
|
+
|
|
6658
|
+
def as_dict(self) -> dict:
|
|
6659
|
+
"""Serializes the UpdateSqlResultsDownloadRequest into a dictionary suitable for use as a JSON request body."""
|
|
6660
|
+
body = {}
|
|
6661
|
+
if self.allow_missing is not None:
|
|
6662
|
+
body["allow_missing"] = self.allow_missing
|
|
6663
|
+
if self.field_mask is not None:
|
|
6664
|
+
body["field_mask"] = self.field_mask
|
|
6665
|
+
if self.setting:
|
|
6666
|
+
body["setting"] = self.setting.as_dict()
|
|
6667
|
+
return body
|
|
6668
|
+
|
|
6669
|
+
def as_shallow_dict(self) -> dict:
|
|
6670
|
+
"""Serializes the UpdateSqlResultsDownloadRequest into a shallow dictionary of its immediate attributes."""
|
|
6671
|
+
body = {}
|
|
6672
|
+
if self.allow_missing is not None:
|
|
6673
|
+
body["allow_missing"] = self.allow_missing
|
|
6674
|
+
if self.field_mask is not None:
|
|
6675
|
+
body["field_mask"] = self.field_mask
|
|
6676
|
+
if self.setting:
|
|
6677
|
+
body["setting"] = self.setting
|
|
6678
|
+
return body
|
|
6679
|
+
|
|
6680
|
+
@classmethod
|
|
6681
|
+
def from_dict(cls, d: Dict[str, Any]) -> UpdateSqlResultsDownloadRequest:
|
|
6682
|
+
"""Deserializes the UpdateSqlResultsDownloadRequest from a dictionary."""
|
|
6683
|
+
return cls(
|
|
6684
|
+
allow_missing=d.get("allow_missing", None),
|
|
6685
|
+
field_mask=d.get("field_mask", None),
|
|
6686
|
+
setting=_from_dict(d, "setting", SqlResultsDownload),
|
|
6687
|
+
)
|
|
6688
|
+
|
|
6689
|
+
|
|
6025
6690
|
WorkspaceConf = Dict[str, str]
|
|
6026
6691
|
|
|
6027
6692
|
|
|
@@ -6851,6 +7516,112 @@ class CspEnablementAccountAPI:
|
|
|
6851
7516
|
return CspEnablementAccountSetting.from_dict(res)
|
|
6852
7517
|
|
|
6853
7518
|
|
|
7519
|
+
class DashboardEmailSubscriptionsAPI:
|
|
7520
|
+
"""Controls whether schedules or workload tasks for refreshing AI/BI Dashboards in the workspace can send
|
|
7521
|
+
subscription emails containing PDFs and/or images of the dashboard. By default, this setting is enabled
|
|
7522
|
+
(set to `true`)"""
|
|
7523
|
+
|
|
7524
|
+
def __init__(self, api_client):
|
|
7525
|
+
self._api = api_client
|
|
7526
|
+
|
|
7527
|
+
def delete(self, *, etag: Optional[str] = None) -> DeleteDashboardEmailSubscriptionsResponse:
|
|
7528
|
+
"""Delete the Dashboard Email Subscriptions setting.
|
|
7529
|
+
|
|
7530
|
+
Reverts the Dashboard Email Subscriptions setting to its default value.
|
|
7531
|
+
|
|
7532
|
+
:param etag: str (optional)
|
|
7533
|
+
etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
|
|
7534
|
+
optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
|
|
7535
|
+
each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
|
|
7536
|
+
to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
|
|
7537
|
+
request, and pass it with the DELETE request to identify the rule set version you are deleting.
|
|
7538
|
+
|
|
7539
|
+
:returns: :class:`DeleteDashboardEmailSubscriptionsResponse`
|
|
7540
|
+
"""
|
|
7541
|
+
|
|
7542
|
+
query = {}
|
|
7543
|
+
if etag is not None:
|
|
7544
|
+
query["etag"] = etag
|
|
7545
|
+
headers = {
|
|
7546
|
+
"Accept": "application/json",
|
|
7547
|
+
}
|
|
7548
|
+
|
|
7549
|
+
res = self._api.do(
|
|
7550
|
+
"DELETE",
|
|
7551
|
+
"/api/2.0/settings/types/dashboard_email_subscriptions/names/default",
|
|
7552
|
+
query=query,
|
|
7553
|
+
headers=headers,
|
|
7554
|
+
)
|
|
7555
|
+
return DeleteDashboardEmailSubscriptionsResponse.from_dict(res)
|
|
7556
|
+
|
|
7557
|
+
def get(self, *, etag: Optional[str] = None) -> DashboardEmailSubscriptions:
|
|
7558
|
+
"""Get the Dashboard Email Subscriptions setting.
|
|
7559
|
+
|
|
7560
|
+
Gets the Dashboard Email Subscriptions setting.
|
|
7561
|
+
|
|
7562
|
+
:param etag: str (optional)
|
|
7563
|
+
etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
|
|
7564
|
+
optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
|
|
7565
|
+
each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
|
|
7566
|
+
to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
|
|
7567
|
+
request, and pass it with the DELETE request to identify the rule set version you are deleting.
|
|
7568
|
+
|
|
7569
|
+
:returns: :class:`DashboardEmailSubscriptions`
|
|
7570
|
+
"""
|
|
7571
|
+
|
|
7572
|
+
query = {}
|
|
7573
|
+
if etag is not None:
|
|
7574
|
+
query["etag"] = etag
|
|
7575
|
+
headers = {
|
|
7576
|
+
"Accept": "application/json",
|
|
7577
|
+
}
|
|
7578
|
+
|
|
7579
|
+
res = self._api.do(
|
|
7580
|
+
"GET", "/api/2.0/settings/types/dashboard_email_subscriptions/names/default", query=query, headers=headers
|
|
7581
|
+
)
|
|
7582
|
+
return DashboardEmailSubscriptions.from_dict(res)
|
|
7583
|
+
|
|
7584
|
+
def update(
|
|
7585
|
+
self, allow_missing: bool, setting: DashboardEmailSubscriptions, field_mask: str
|
|
7586
|
+
) -> DashboardEmailSubscriptions:
|
|
7587
|
+
"""Update the Dashboard Email Subscriptions setting.
|
|
7588
|
+
|
|
7589
|
+
Updates the Dashboard Email Subscriptions setting.
|
|
7590
|
+
|
|
7591
|
+
:param allow_missing: bool
|
|
7592
|
+
This should always be set to true for Settings API. Added for AIP compliance.
|
|
7593
|
+
:param setting: :class:`DashboardEmailSubscriptions`
|
|
7594
|
+
:param field_mask: str
|
|
7595
|
+
The field mask must be a single string, with multiple fields separated by commas (no spaces). The
|
|
7596
|
+
field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
|
|
7597
|
+
`author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
|
|
7598
|
+
the entire collection field can be specified. Field names must exactly match the resource field
|
|
7599
|
+
names.
|
|
7600
|
+
|
|
7601
|
+
A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
|
|
7602
|
+
fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
|
|
7603
|
+
changes in the future.
|
|
7604
|
+
|
|
7605
|
+
:returns: :class:`DashboardEmailSubscriptions`
|
|
7606
|
+
"""
|
|
7607
|
+
body = {}
|
|
7608
|
+
if allow_missing is not None:
|
|
7609
|
+
body["allow_missing"] = allow_missing
|
|
7610
|
+
if field_mask is not None:
|
|
7611
|
+
body["field_mask"] = field_mask
|
|
7612
|
+
if setting is not None:
|
|
7613
|
+
body["setting"] = setting.as_dict()
|
|
7614
|
+
headers = {
|
|
7615
|
+
"Accept": "application/json",
|
|
7616
|
+
"Content-Type": "application/json",
|
|
7617
|
+
}
|
|
7618
|
+
|
|
7619
|
+
res = self._api.do(
|
|
7620
|
+
"PATCH", "/api/2.0/settings/types/dashboard_email_subscriptions/names/default", body=body, headers=headers
|
|
7621
|
+
)
|
|
7622
|
+
return DashboardEmailSubscriptions.from_dict(res)
|
|
7623
|
+
|
|
7624
|
+
|
|
6854
7625
|
class DefaultNamespaceAPI:
|
|
6855
7626
|
"""The default namespace setting API allows users to configure the default namespace for a Databricks
|
|
6856
7627
|
workspace.
|
|
@@ -8297,7 +9068,7 @@ class NetworkConnectivityAPI:
|
|
|
8297
9068
|
|
|
8298
9069
|
def create_private_endpoint_rule(
|
|
8299
9070
|
self, network_connectivity_config_id: str, private_endpoint_rule: CreatePrivateEndpointRule
|
|
8300
|
-
) ->
|
|
9071
|
+
) -> NccPrivateEndpointRule:
|
|
8301
9072
|
"""Create a private endpoint rule.
|
|
8302
9073
|
|
|
8303
9074
|
Create a private endpoint rule for the specified network connectivity config object. Once the object
|
|
@@ -8316,7 +9087,7 @@ class NetworkConnectivityAPI:
|
|
|
8316
9087
|
Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure portal
|
|
8317
9088
|
after initialization.
|
|
8318
9089
|
|
|
8319
|
-
:returns: :class:`
|
|
9090
|
+
:returns: :class:`NccPrivateEndpointRule`
|
|
8320
9091
|
"""
|
|
8321
9092
|
body = private_endpoint_rule.as_dict()
|
|
8322
9093
|
headers = {
|
|
@@ -8330,7 +9101,7 @@ class NetworkConnectivityAPI:
|
|
|
8330
9101
|
body=body,
|
|
8331
9102
|
headers=headers,
|
|
8332
9103
|
)
|
|
8333
|
-
return
|
|
9104
|
+
return NccPrivateEndpointRule.from_dict(res)
|
|
8334
9105
|
|
|
8335
9106
|
def delete_network_connectivity_configuration(self, network_connectivity_config_id: str):
|
|
8336
9107
|
"""Delete a network connectivity configuration.
|
|
@@ -8355,7 +9126,7 @@ class NetworkConnectivityAPI:
|
|
|
8355
9126
|
|
|
8356
9127
|
def delete_private_endpoint_rule(
|
|
8357
9128
|
self, network_connectivity_config_id: str, private_endpoint_rule_id: str
|
|
8358
|
-
) ->
|
|
9129
|
+
) -> NccPrivateEndpointRule:
|
|
8359
9130
|
"""Delete a private endpoint rule.
|
|
8360
9131
|
|
|
8361
9132
|
Initiates deleting a private endpoint rule. If the connection state is PENDING or EXPIRED, the private
|
|
@@ -8368,7 +9139,7 @@ class NetworkConnectivityAPI:
|
|
|
8368
9139
|
:param private_endpoint_rule_id: str
|
|
8369
9140
|
Your private endpoint rule ID.
|
|
8370
9141
|
|
|
8371
|
-
:returns: :class:`
|
|
9142
|
+
:returns: :class:`NccPrivateEndpointRule`
|
|
8372
9143
|
"""
|
|
8373
9144
|
|
|
8374
9145
|
headers = {
|
|
@@ -8380,7 +9151,7 @@ class NetworkConnectivityAPI:
|
|
|
8380
9151
|
f"/api/2.0/accounts/{self._api.account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}",
|
|
8381
9152
|
headers=headers,
|
|
8382
9153
|
)
|
|
8383
|
-
return
|
|
9154
|
+
return NccPrivateEndpointRule.from_dict(res)
|
|
8384
9155
|
|
|
8385
9156
|
def get_network_connectivity_configuration(
|
|
8386
9157
|
self, network_connectivity_config_id: str
|
|
@@ -8408,7 +9179,7 @@ class NetworkConnectivityAPI:
|
|
|
8408
9179
|
|
|
8409
9180
|
def get_private_endpoint_rule(
|
|
8410
9181
|
self, network_connectivity_config_id: str, private_endpoint_rule_id: str
|
|
8411
|
-
) ->
|
|
9182
|
+
) -> NccPrivateEndpointRule:
|
|
8412
9183
|
"""Gets a private endpoint rule.
|
|
8413
9184
|
|
|
8414
9185
|
Gets the private endpoint rule.
|
|
@@ -8418,7 +9189,7 @@ class NetworkConnectivityAPI:
|
|
|
8418
9189
|
:param private_endpoint_rule_id: str
|
|
8419
9190
|
Your private endpoint rule ID.
|
|
8420
9191
|
|
|
8421
|
-
:returns: :class:`
|
|
9192
|
+
:returns: :class:`NccPrivateEndpointRule`
|
|
8422
9193
|
"""
|
|
8423
9194
|
|
|
8424
9195
|
headers = {
|
|
@@ -8430,7 +9201,7 @@ class NetworkConnectivityAPI:
|
|
|
8430
9201
|
f"/api/2.0/accounts/{self._api.account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}",
|
|
8431
9202
|
headers=headers,
|
|
8432
9203
|
)
|
|
8433
|
-
return
|
|
9204
|
+
return NccPrivateEndpointRule.from_dict(res)
|
|
8434
9205
|
|
|
8435
9206
|
def list_network_connectivity_configurations(
|
|
8436
9207
|
self, *, page_token: Optional[str] = None
|
|
@@ -8468,7 +9239,7 @@ class NetworkConnectivityAPI:
|
|
|
8468
9239
|
|
|
8469
9240
|
def list_private_endpoint_rules(
|
|
8470
9241
|
self, network_connectivity_config_id: str, *, page_token: Optional[str] = None
|
|
8471
|
-
) -> Iterator[
|
|
9242
|
+
) -> Iterator[NccPrivateEndpointRule]:
|
|
8472
9243
|
"""List private endpoint rules.
|
|
8473
9244
|
|
|
8474
9245
|
Gets an array of private endpoint rules.
|
|
@@ -8478,7 +9249,7 @@ class NetworkConnectivityAPI:
|
|
|
8478
9249
|
:param page_token: str (optional)
|
|
8479
9250
|
Pagination token to go to next page based on previous query.
|
|
8480
9251
|
|
|
8481
|
-
:returns: Iterator over :class:`
|
|
9252
|
+
:returns: Iterator over :class:`NccPrivateEndpointRule`
|
|
8482
9253
|
"""
|
|
8483
9254
|
|
|
8484
9255
|
query = {}
|
|
@@ -8497,25 +9268,26 @@ class NetworkConnectivityAPI:
|
|
|
8497
9268
|
)
|
|
8498
9269
|
if "items" in json:
|
|
8499
9270
|
for v in json["items"]:
|
|
8500
|
-
yield
|
|
9271
|
+
yield NccPrivateEndpointRule.from_dict(v)
|
|
8501
9272
|
if "next_page_token" not in json or not json["next_page_token"]:
|
|
8502
9273
|
return
|
|
8503
9274
|
query["page_token"] = json["next_page_token"]
|
|
8504
9275
|
|
|
8505
|
-
def
|
|
9276
|
+
def update_private_endpoint_rule(
|
|
8506
9277
|
self,
|
|
8507
9278
|
network_connectivity_config_id: str,
|
|
8508
9279
|
private_endpoint_rule_id: str,
|
|
8509
9280
|
private_endpoint_rule: UpdatePrivateEndpointRule,
|
|
8510
9281
|
update_mask: str,
|
|
8511
|
-
) ->
|
|
9282
|
+
) -> NccPrivateEndpointRule:
|
|
8512
9283
|
"""Update a private endpoint rule.
|
|
8513
9284
|
|
|
8514
9285
|
Updates a private endpoint rule. Currently only a private endpoint rule to customer-managed resources
|
|
8515
9286
|
is allowed to be updated.
|
|
8516
9287
|
|
|
8517
9288
|
:param network_connectivity_config_id: str
|
|
8518
|
-
|
|
9289
|
+
The ID of a network connectivity configuration, which is the parent resource of this private
|
|
9290
|
+
endpoint rule object.
|
|
8519
9291
|
:param private_endpoint_rule_id: str
|
|
8520
9292
|
Your private endpoint rule ID.
|
|
8521
9293
|
:param private_endpoint_rule: :class:`UpdatePrivateEndpointRule`
|
|
@@ -8528,7 +9300,7 @@ class NetworkConnectivityAPI:
|
|
|
8528
9300
|
the entire collection field can be specified. Field names must exactly match the resource field
|
|
8529
9301
|
names.
|
|
8530
9302
|
|
|
8531
|
-
:returns: :class:`
|
|
9303
|
+
:returns: :class:`NccPrivateEndpointRule`
|
|
8532
9304
|
"""
|
|
8533
9305
|
body = private_endpoint_rule.as_dict()
|
|
8534
9306
|
query = {}
|
|
@@ -8546,7 +9318,7 @@ class NetworkConnectivityAPI:
|
|
|
8546
9318
|
body=body,
|
|
8547
9319
|
headers=headers,
|
|
8548
9320
|
)
|
|
8549
|
-
return
|
|
9321
|
+
return NccPrivateEndpointRule.from_dict(res)
|
|
8550
9322
|
|
|
8551
9323
|
|
|
8552
9324
|
class NetworkPoliciesAPI:
|
|
@@ -9045,6 +9817,7 @@ class SettingsAPI:
|
|
|
9045
9817
|
self._aibi_dashboard_embedding_approved_domains = AibiDashboardEmbeddingApprovedDomainsAPI(self._api)
|
|
9046
9818
|
self._automatic_cluster_update = AutomaticClusterUpdateAPI(self._api)
|
|
9047
9819
|
self._compliance_security_profile = ComplianceSecurityProfileAPI(self._api)
|
|
9820
|
+
self._dashboard_email_subscriptions = DashboardEmailSubscriptionsAPI(self._api)
|
|
9048
9821
|
self._default_namespace = DefaultNamespaceAPI(self._api)
|
|
9049
9822
|
self._disable_legacy_access = DisableLegacyAccessAPI(self._api)
|
|
9050
9823
|
self._disable_legacy_dbfs = DisableLegacyDbfsAPI(self._api)
|
|
@@ -9054,6 +9827,7 @@ class SettingsAPI:
|
|
|
9054
9827
|
self._enhanced_security_monitoring = EnhancedSecurityMonitoringAPI(self._api)
|
|
9055
9828
|
self._llm_proxy_partner_powered_workspace = LlmProxyPartnerPoweredWorkspaceAPI(self._api)
|
|
9056
9829
|
self._restrict_workspace_admins = RestrictWorkspaceAdminsAPI(self._api)
|
|
9830
|
+
self._sql_results_download = SqlResultsDownloadAPI(self._api)
|
|
9057
9831
|
|
|
9058
9832
|
@property
|
|
9059
9833
|
def aibi_dashboard_embedding_access_policy(self) -> AibiDashboardEmbeddingAccessPolicyAPI:
|
|
@@ -9075,6 +9849,11 @@ class SettingsAPI:
|
|
|
9075
9849
|
"""Controls whether to enable the compliance security profile for the current workspace."""
|
|
9076
9850
|
return self._compliance_security_profile
|
|
9077
9851
|
|
|
9852
|
+
@property
|
|
9853
|
+
def dashboard_email_subscriptions(self) -> DashboardEmailSubscriptionsAPI:
|
|
9854
|
+
"""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."""
|
|
9855
|
+
return self._dashboard_email_subscriptions
|
|
9856
|
+
|
|
9078
9857
|
@property
|
|
9079
9858
|
def default_namespace(self) -> DefaultNamespaceAPI:
|
|
9080
9859
|
"""The default namespace setting API allows users to configure the default namespace for a Databricks workspace."""
|
|
@@ -9120,6 +9899,111 @@ class SettingsAPI:
|
|
|
9120
9899
|
"""The Restrict Workspace Admins setting lets you control the capabilities of workspace admins."""
|
|
9121
9900
|
return self._restrict_workspace_admins
|
|
9122
9901
|
|
|
9902
|
+
@property
|
|
9903
|
+
def sql_results_download(self) -> SqlResultsDownloadAPI:
|
|
9904
|
+
"""Controls whether users within the workspace are allowed to download results from the SQL Editor and AI/BI Dashboards UIs."""
|
|
9905
|
+
return self._sql_results_download
|
|
9906
|
+
|
|
9907
|
+
|
|
9908
|
+
class SqlResultsDownloadAPI:
|
|
9909
|
+
"""Controls whether users within the workspace are allowed to download results from the SQL Editor and AI/BI
|
|
9910
|
+
Dashboards UIs. By default, this setting is enabled (set to `true`)"""
|
|
9911
|
+
|
|
9912
|
+
def __init__(self, api_client):
|
|
9913
|
+
self._api = api_client
|
|
9914
|
+
|
|
9915
|
+
def delete(self, *, etag: Optional[str] = None) -> DeleteSqlResultsDownloadResponse:
|
|
9916
|
+
"""Delete the SQL Results Download setting.
|
|
9917
|
+
|
|
9918
|
+
Reverts the SQL Results Download setting to its default value.
|
|
9919
|
+
|
|
9920
|
+
:param etag: str (optional)
|
|
9921
|
+
etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
|
|
9922
|
+
optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
|
|
9923
|
+
each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
|
|
9924
|
+
to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
|
|
9925
|
+
request, and pass it with the DELETE request to identify the rule set version you are deleting.
|
|
9926
|
+
|
|
9927
|
+
:returns: :class:`DeleteSqlResultsDownloadResponse`
|
|
9928
|
+
"""
|
|
9929
|
+
|
|
9930
|
+
query = {}
|
|
9931
|
+
if etag is not None:
|
|
9932
|
+
query["etag"] = etag
|
|
9933
|
+
headers = {
|
|
9934
|
+
"Accept": "application/json",
|
|
9935
|
+
}
|
|
9936
|
+
|
|
9937
|
+
res = self._api.do(
|
|
9938
|
+
"DELETE", "/api/2.0/settings/types/sql_results_download/names/default", query=query, headers=headers
|
|
9939
|
+
)
|
|
9940
|
+
return DeleteSqlResultsDownloadResponse.from_dict(res)
|
|
9941
|
+
|
|
9942
|
+
def get(self, *, etag: Optional[str] = None) -> SqlResultsDownload:
|
|
9943
|
+
"""Get the SQL Results Download setting.
|
|
9944
|
+
|
|
9945
|
+
Gets the SQL Results Download setting.
|
|
9946
|
+
|
|
9947
|
+
:param etag: str (optional)
|
|
9948
|
+
etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
|
|
9949
|
+
optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
|
|
9950
|
+
each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
|
|
9951
|
+
to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
|
|
9952
|
+
request, and pass it with the DELETE request to identify the rule set version you are deleting.
|
|
9953
|
+
|
|
9954
|
+
:returns: :class:`SqlResultsDownload`
|
|
9955
|
+
"""
|
|
9956
|
+
|
|
9957
|
+
query = {}
|
|
9958
|
+
if etag is not None:
|
|
9959
|
+
query["etag"] = etag
|
|
9960
|
+
headers = {
|
|
9961
|
+
"Accept": "application/json",
|
|
9962
|
+
}
|
|
9963
|
+
|
|
9964
|
+
res = self._api.do(
|
|
9965
|
+
"GET", "/api/2.0/settings/types/sql_results_download/names/default", query=query, headers=headers
|
|
9966
|
+
)
|
|
9967
|
+
return SqlResultsDownload.from_dict(res)
|
|
9968
|
+
|
|
9969
|
+
def update(self, allow_missing: bool, setting: SqlResultsDownload, field_mask: str) -> SqlResultsDownload:
|
|
9970
|
+
"""Update the SQL Results Download setting.
|
|
9971
|
+
|
|
9972
|
+
Updates the SQL Results Download setting.
|
|
9973
|
+
|
|
9974
|
+
:param allow_missing: bool
|
|
9975
|
+
This should always be set to true for Settings API. Added for AIP compliance.
|
|
9976
|
+
:param setting: :class:`SqlResultsDownload`
|
|
9977
|
+
:param field_mask: str
|
|
9978
|
+
The field mask must be a single string, with multiple fields separated by commas (no spaces). The
|
|
9979
|
+
field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
|
|
9980
|
+
`author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
|
|
9981
|
+
the entire collection field can be specified. Field names must exactly match the resource field
|
|
9982
|
+
names.
|
|
9983
|
+
|
|
9984
|
+
A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
|
|
9985
|
+
fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
|
|
9986
|
+
changes in the future.
|
|
9987
|
+
|
|
9988
|
+
:returns: :class:`SqlResultsDownload`
|
|
9989
|
+
"""
|
|
9990
|
+
body = {}
|
|
9991
|
+
if allow_missing is not None:
|
|
9992
|
+
body["allow_missing"] = allow_missing
|
|
9993
|
+
if field_mask is not None:
|
|
9994
|
+
body["field_mask"] = field_mask
|
|
9995
|
+
if setting is not None:
|
|
9996
|
+
body["setting"] = setting.as_dict()
|
|
9997
|
+
headers = {
|
|
9998
|
+
"Accept": "application/json",
|
|
9999
|
+
"Content-Type": "application/json",
|
|
10000
|
+
}
|
|
10001
|
+
|
|
10002
|
+
res = self._api.do(
|
|
10003
|
+
"PATCH", "/api/2.0/settings/types/sql_results_download/names/default", body=body, headers=headers
|
|
10004
|
+
)
|
|
10005
|
+
return SqlResultsDownload.from_dict(res)
|
|
10006
|
+
|
|
9123
10007
|
|
|
9124
10008
|
class TokenManagementAPI:
|
|
9125
10009
|
"""Enables administrators to get all tokens and delete tokens for other users. Admins can either get every
|
|
@@ -9414,20 +10298,20 @@ class WorkspaceConfAPI:
|
|
|
9414
10298
|
|
|
9415
10299
|
|
|
9416
10300
|
class WorkspaceNetworkConfigurationAPI:
|
|
9417
|
-
"""These APIs allow configuration of network settings for Databricks workspaces
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
workspace with a different policy
|
|
10301
|
+
"""These APIs allow configuration of network settings for Databricks workspaces by selecting which network
|
|
10302
|
+
policy to associate with the workspace. Each workspace is always associated with exactly one network
|
|
10303
|
+
policy that controls which network destinations can be accessed from the Databricks environment. By
|
|
10304
|
+
default, workspaces are associated with the 'default-policy' network policy. You cannot create or delete a
|
|
10305
|
+
workspace's network option, only update it to associate the workspace with a different policy"""
|
|
9422
10306
|
|
|
9423
10307
|
def __init__(self, api_client):
|
|
9424
10308
|
self._api = api_client
|
|
9425
10309
|
|
|
9426
10310
|
def get_workspace_network_option_rpc(self, workspace_id: int) -> WorkspaceNetworkOption:
|
|
9427
|
-
"""Get workspace network
|
|
10311
|
+
"""Get workspace network option.
|
|
9428
10312
|
|
|
9429
|
-
Gets the network
|
|
9430
|
-
|
|
10313
|
+
Gets the network option for a workspace. Every workspace has exactly one network policy binding, with
|
|
10314
|
+
'default-policy' used if no explicit assignment exists.
|
|
9431
10315
|
|
|
9432
10316
|
:param workspace_id: int
|
|
9433
10317
|
The workspace ID.
|
|
@@ -9447,11 +10331,10 @@ class WorkspaceNetworkConfigurationAPI:
|
|
|
9447
10331
|
def update_workspace_network_option_rpc(
|
|
9448
10332
|
self, workspace_id: int, workspace_network_option: WorkspaceNetworkOption
|
|
9449
10333
|
) -> WorkspaceNetworkOption:
|
|
9450
|
-
"""Update workspace network
|
|
10334
|
+
"""Update workspace network option.
|
|
9451
10335
|
|
|
9452
|
-
Updates the network
|
|
9453
|
-
|
|
9454
|
-
network_policy_id.
|
|
10336
|
+
Updates the network option for a workspace. This operation associates the workspace with the specified
|
|
10337
|
+
network policy. To revert to the default policy, specify 'default-policy' as the network_policy_id.
|
|
9455
10338
|
|
|
9456
10339
|
:param workspace_id: int
|
|
9457
10340
|
The workspace ID.
|