databricks-sdk 0.57.0__tar.gz → 0.59.0__tar.gz

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 (87) hide show
  1. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/CHANGELOG.md +124 -0
  2. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/PKG-INFO +1 -1
  3. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/__init__.py +38 -9
  4. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/aibuilder.py +0 -163
  5. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/apps.py +53 -49
  6. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/billing.py +62 -223
  7. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/catalog.py +3052 -3707
  8. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/cleanrooms.py +5 -54
  9. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/compute.py +579 -2715
  10. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/dashboards.py +108 -317
  11. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/database.py +603 -122
  12. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/files.py +2 -218
  13. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/iam.py +19 -298
  14. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/jobs.py +77 -1263
  15. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/marketplace.py +3 -575
  16. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/ml.py +816 -2734
  17. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/oauth2.py +122 -238
  18. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/pipelines.py +133 -724
  19. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/provisioning.py +36 -757
  20. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/qualitymonitorv2.py +0 -18
  21. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/serving.py +37 -583
  22. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/settings.py +282 -1768
  23. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/sharing.py +6 -478
  24. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/sql.py +129 -1696
  25. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/vectorsearch.py +0 -410
  26. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/workspace.py +252 -727
  27. databricks_sdk-0.59.0/databricks/sdk/version.py +1 -0
  28. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks_sdk.egg-info/PKG-INFO +1 -1
  29. databricks_sdk-0.57.0/databricks/sdk/version.py +0 -1
  30. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/CONTRIBUTING.md +0 -0
  31. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/DCO +0 -0
  32. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/LICENSE +0 -0
  33. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/MANIFEST.in +0 -0
  34. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/Makefile +0 -0
  35. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/NOTICE +0 -0
  36. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/README.md +0 -0
  37. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/SECURITY.md +0 -0
  38. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/__init__.py +0 -0
  39. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/_base_client.py +0 -0
  40. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/_property.py +0 -0
  41. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/_widgets/__init__.py +0 -0
  42. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/_widgets/default_widgets_utils.py +0 -0
  43. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/_widgets/ipywidgets_utils.py +0 -0
  44. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/azure.py +0 -0
  45. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/casing.py +0 -0
  46. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/clock.py +0 -0
  47. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/config.py +0 -0
  48. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/core.py +0 -0
  49. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/credentials_provider.py +0 -0
  50. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/data_plane.py +0 -0
  51. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/dbutils.py +0 -0
  52. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/environments.py +0 -0
  53. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/__init__.py +0 -0
  54. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/base.py +0 -0
  55. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/customizer.py +0 -0
  56. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/deserializer.py +0 -0
  57. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/details.py +0 -0
  58. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/mapper.py +0 -0
  59. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/overrides.py +0 -0
  60. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/parser.py +0 -0
  61. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/platform.py +0 -0
  62. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/private_link.py +0 -0
  63. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/errors/sdk.py +0 -0
  64. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/logger/__init__.py +0 -0
  65. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/logger/round_trip_logger.py +0 -0
  66. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/mixins/__init__.py +0 -0
  67. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/mixins/compute.py +0 -0
  68. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/mixins/files.py +0 -0
  69. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/mixins/jobs.py +0 -0
  70. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/mixins/open_ai_client.py +0 -0
  71. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/mixins/workspace.py +0 -0
  72. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/oauth.py +0 -0
  73. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/oidc.py +0 -0
  74. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/oidc_token_supplier.py +0 -0
  75. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/py.typed +0 -0
  76. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/retries.py +0 -0
  77. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/runtime/__init__.py +0 -0
  78. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/runtime/dbutils_stub.py +0 -0
  79. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/__init__.py +0 -0
  80. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/service/_internal.py +0 -0
  81. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks/sdk/useragent.py +0 -0
  82. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks_sdk.egg-info/SOURCES.txt +0 -0
  83. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks_sdk.egg-info/dependency_links.txt +0 -0
  84. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks_sdk.egg-info/requires.txt +0 -0
  85. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/databricks_sdk.egg-info/top_level.txt +0 -0
  86. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/pyproject.toml +0 -0
  87. {databricks_sdk-0.57.0 → databricks_sdk-0.59.0}/setup.cfg +0 -0
@@ -1,5 +1,129 @@
1
1
  # Version changelog
2
2
 
3
+ ## Release v0.59.0
4
+
5
+ ### API Changes
6
+ * Added [w.service_principal_secrets_proxy](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/oauth2/service_principal_secrets_proxy.html) workspace-level service.
7
+ * Added [w.default_warehouse_id](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/settings/default_warehouse_id.html) workspace-level service.
8
+ * Added `database` field for `databricks.sdk.service.apps.AppResource`.
9
+ * Added `environment_settings` field for `databricks.sdk.service.catalog.ConnectionInfo`.
10
+ * Added `environment_settings` field for `databricks.sdk.service.catalog.CreateConnection`.
11
+ * Added `environment_settings` field for `databricks.sdk.service.catalog.UpdateConnection`.
12
+ * Added `read_replica_count` field for `databricks.sdk.service.ml.OnlineStore`.
13
+ * Added `page_size` field for `databricks.sdk.service.oauth2.ListServicePrincipalSecretsRequest`.
14
+ * Added `query_based_connector_config` field for `databricks.sdk.service.pipelines.TableSpecificConfig`.
15
+ * Added `projected_remaining_task_total_time_ms`, `remaining_task_count`, `runnable_tasks` and `work_to_be_done` fields for `databricks.sdk.service.sql.QueryMetrics`.
16
+ * Added `is_default_for_provider` and `name` fields for `databricks.sdk.service.workspace.CreateCredentialsRequest`.
17
+ * Added `is_default_for_provider` and `name` fields for `databricks.sdk.service.workspace.CreateCredentialsResponse`.
18
+ * Added `is_default_for_provider` and `name` fields for `databricks.sdk.service.workspace.CredentialInfo`.
19
+ * Added `is_default_for_provider` and `name` fields for `databricks.sdk.service.workspace.GetCredentialsResponse`.
20
+ * Added `is_default_for_provider` and `name` fields for `databricks.sdk.service.workspace.UpdateCredentialsRequest`.
21
+ * Added `databricks` enum value for `databricks.sdk.service.catalog.SystemType`.
22
+ * Added `driver_dns_resolution_failure` enum value for `databricks.sdk.service.compute.TerminationReasonCode`.
23
+ * Added `confluence` and `meta_marketing` enum values for `databricks.sdk.service.pipelines.IngestionSourceType`.
24
+ * Added `delta_iceberg_table` enum value for `databricks.sdk.service.sharing.TableInternalAttributesSharedTableType`.
25
+ * [Breaking] Changed `delete()` method for [w.table_constraints](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/catalog/table_constraints.html) workspace-level service to start returning `databricks.sdk.service.catalog.DeleteTableConstraintResponse` dataclass.
26
+ * [Breaking] Changed `service_principal_id` field for `databricks.sdk.service.oauth2.CreateServicePrincipalSecretRequest` to type `str` dataclass.
27
+ * [Breaking] Changed `service_principal_id` field for `databricks.sdk.service.oauth2.DeleteServicePrincipalSecretRequest` to type `str` dataclass.
28
+ * [Breaking] Changed `service_principal_id` field for `databricks.sdk.service.oauth2.ListServicePrincipalSecretsRequest` to type `str` dataclass.
29
+ * [Breaking] Changed `calls` field for `databricks.sdk.service.serving.AiGatewayRateLimit` to no longer be required.
30
+ * Changed `calls` field for `databricks.sdk.service.serving.AiGatewayRateLimit` to no longer be required.
31
+ * [Breaking] Removed `create()` method for [w.dashboards](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/sql/dashboards.html) workspace-level service.
32
+ * [Breaking] Removed `range` and `if_unmodified_since` fields for `databricks.sdk.service.files.DownloadRequest`.
33
+ * [Breaking] Removed `range` and `if_unmodified_since` fields for `databricks.sdk.service.files.GetMetadataRequest`.
34
+
35
+
36
+ ## Release v0.58.0
37
+
38
+ ### API Changes
39
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.ClusterAttributes`.
40
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.ClusterDetails`.
41
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.ClusterSpec`.
42
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.CreateCluster`.
43
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.CreateInstancePool`.
44
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.EditCluster`.
45
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.EditInstancePool`.
46
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.GetInstancePool`.
47
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.InstancePoolAndStats`.
48
+ * Added `remote_disk_throughput` and `total_initial_remote_disk_size` fields for `databricks.sdk.service.compute.UpdateClusterResource`.
49
+ * Added `r` enum value for `databricks.sdk.service.compute.Language`.
50
+ * Added `continuous` and `continuous_restart` enum values for `databricks.sdk.service.jobs.TriggerType`.
51
+ * Added [w.external_lineage](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/catalog/external_lineage.html) workspace-level service and [w.external_metadata](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/catalog/external_metadata.html) workspace-level service.
52
+ * Added [w.materialized_features](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/ml/materialized_features.html) workspace-level service.
53
+ * Added `delete_conversation()`, `list_conversations()` and `trash_space()` methods for [w.genie](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/dashboards/genie.html) workspace-level service.
54
+ * Added `create_database_instance_role()`, `delete_database_instance_role()`, `get_database_instance_role()` and `list_database_instance_roles()` methods for [w.database](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/database/database.html) workspace-level service.
55
+ * Added `connection` and `credential` fields for `databricks.sdk.service.catalog.Dependency`.
56
+ * Added `rely` field for `databricks.sdk.service.catalog.ForeignKeyConstraint`.
57
+ * Added `rely` field for `databricks.sdk.service.catalog.PrimaryKeyConstraint`.
58
+ * Added `securable_kind_manifest` field for `databricks.sdk.service.catalog.TableInfo`.
59
+ * Added `securable_kind_manifest` field for `databricks.sdk.service.catalog.TableSummary`.
60
+ * Added `child_instance_refs`, `effective_enable_readable_secondaries`, `effective_node_count`, `effective_retention_window_in_days`, `enable_readable_secondaries`, `node_count`, `parent_instance_ref`, `read_only_dns` and `retention_window_in_days` fields for `databricks.sdk.service.database.DatabaseInstance`.
61
+ * Added `claims` field for `databricks.sdk.service.database.GenerateDatabaseCredentialRequest`.
62
+ * Added `last_sync` field for `databricks.sdk.service.database.SyncedTableStatus`.
63
+ * Added `activity` field for `databricks.sdk.service.ml.DeleteTransitionRequestResponse`.
64
+ * Added `max_results` field for `databricks.sdk.service.ml.ListWebhooksRequest`.
65
+ * Added `body` and `status_code` fields for `databricks.sdk.service.ml.TestRegistryWebhookResponse`.
66
+ * Added `model_version_databricks` field for `databricks.sdk.service.ml.TransitionStageResponse`.
67
+ * Added `registered_model` field for `databricks.sdk.service.ml.UpdateModelResponse`.
68
+ * Added `model_version` field for `databricks.sdk.service.ml.UpdateModelVersionResponse`.
69
+ * Added `webhook` field for `databricks.sdk.service.ml.UpdateWebhookResponse`.
70
+ * Added `run_as` field for `databricks.sdk.service.pipelines.GetPipelineResponse`.
71
+ * Added `principal` field for `databricks.sdk.service.serving.AiGatewayRateLimit`.
72
+ * Added `description` field for `databricks.sdk.service.serving.CreateServingEndpoint`.
73
+ * Added `served_entity_name` field for `databricks.sdk.service.serving.Route`.
74
+ * Added `any_static_credential` enum value for `databricks.sdk.service.catalog.CredentialType`.
75
+ * Added `databricks_row_store_format`, `delta_uniform_hudi`, `delta_uniform_iceberg`, `hive`, `iceberg`, `mongodb_format`, `oracle_format`, `salesforce_data_cloud_format` and `teradata_format` enum values for `databricks.sdk.service.catalog.DataSourceFormat`.
76
+ * Added `metric_view` enum value for `databricks.sdk.service.catalog.TableType`.
77
+ * Added `security_agents_failed_initial_verification` enum value for `databricks.sdk.service.compute.TerminationReasonCode`.
78
+ * Added `can_create_registered_model` enum value for `databricks.sdk.service.ml.PermissionLevel`.
79
+ * Added `bigquery` enum value for `databricks.sdk.service.pipelines.IngestionSourceType`.
80
+ * Added `append_only` enum value for `databricks.sdk.service.pipelines.TableSpecificConfigScdType`.
81
+ * Added `service_principal` and `user_group` enum values for `databricks.sdk.service.serving.AiGatewayRateLimitKey`.
82
+ * [Breaking] Changed `cancel_optimize()` and `delete_custom_llm()` methods for [w.ai_builder](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/aibuilder/ai_builder.html) workspace-level service to return `any` dataclass.
83
+ * [Breaking] Changed `delete()` method for [a.budget_policy](https://databricks-sdk-py.readthedocs.io/en/latest/account/billing/budget_policy.html) account-level service to return `any` dataclass.
84
+ * [Breaking] Changed `delete()` method for [w.online_tables](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/catalog/online_tables.html) workspace-level service to return `any` dataclass.
85
+ * [Breaking] Changed `delete()` method for [w.clean_rooms](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/cleanrooms/clean_rooms.html) workspace-level service to return `any` dataclass.
86
+ * [Breaking] Changed `delete_schedule()` and `delete_subscription()` methods for [w.lakeview](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/dashboards/lakeview.html) workspace-level service to return `any` dataclass.
87
+ * [Breaking] Changed `delete_database_catalog()`, `delete_database_instance()`, `delete_database_table()` and `delete_synced_database_table()` methods for [w.database](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/database/database.html) workspace-level service to return `any` dataclass.
88
+ * [Breaking] Changed `delete_online_store()` method for [w.feature_store](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/ml/feature_store.html) workspace-level service to return `any` dataclass.
89
+ * [Breaking] Changed `delete_transition_request()`, `update_model()`, `update_model_version()` and `update_webhook()` methods for [w.model_registry](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/ml/model_registry.html) workspace-level service return type to become non-empty.
90
+ * [Breaking] Changed `delete_webhook()` method for [w.model_registry](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/ml/model_registry.html) workspace-level service with new required argument order.
91
+ * [Breaking] Changed `delete()` method for [a.account_federation_policy](https://databricks-sdk-py.readthedocs.io/en/latest/account/oauth2/federation_policy.html) account-level service to return `any` dataclass.
92
+ * [Breaking] Changed `delete()` method for [a.service_principal_federation_policy](https://databricks-sdk-py.readthedocs.io/en/latest/account/oauth2/service_principal_federation_policy.html) account-level service to return `any` dataclass.
93
+ * [Breaking] Changed `delete_quality_monitor()` method for [w.quality_monitor_v2](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/qualitymonitorv2/quality_monitor_v2.html) workspace-level service to return `any` dataclass.
94
+ * [Breaking] Changed `delete_network_connectivity_configuration()` method for [a.network_connectivity](https://databricks-sdk-py.readthedocs.io/en/latest/account/settings/network_connectivity.html) account-level service to return `any` dataclass.
95
+ * [Breaking] Changed `delete_network_policy_rpc()` method for [a.network_policies](https://databricks-sdk-py.readthedocs.io/en/latest/account/settings/network_policies.html) account-level service to return `any` dataclass.
96
+ * [Breaking] Changed `delete()` method for [w.recipient_federation_policies](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/sharing/recipient_federation_policies.html) workspace-level service to return `any` dataclass.
97
+ * [Breaking] Changed `list()` method for [w.alerts_legacy](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/sql/alerts_legacy.html) workspace-level service . New request type is `any` dataclass.
98
+ * [Breaking] Changed `update()` method for [w.dashboard_widgets](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/sql/dashboard_widgets.html) workspace-level service . New request type is `databricks.sdk.service.sql.UpdateWidgetRequest` dataclass.
99
+ * [Breaking] Changed `list()` method for [w.data_sources](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/sql/data_sources.html) workspace-level service . New request type is `any` dataclass.
100
+ * [Breaking] Changed `create()` method for [w.query_visualizations_legacy](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/sql/query_visualizations_legacy.html) workspace-level service with new required argument order.
101
+ * [Breaking] Changed `from_stage` and `to_stage` fields for `databricks.sdk.service.ml.Activity` to type `str` dataclass.
102
+ * [Breaking] Changed `stage` field for `databricks.sdk.service.ml.ApproveTransitionRequest` to type `str` dataclass.
103
+ * [Breaking] Changed `stage` field for `databricks.sdk.service.ml.CreateTransitionRequest` to type `str` dataclass.
104
+ * [Breaking] Changed `stage` field for `databricks.sdk.service.ml.DeleteTransitionRequestRequest` to type `str` dataclass.
105
+ * [Breaking] Changed `id` field for `databricks.sdk.service.ml.DeleteWebhookRequest` to be required.
106
+ * [Breaking] Changed `capacity` field for `databricks.sdk.service.ml.OnlineStore` to be required.
107
+ * Changed `capacity` field for `databricks.sdk.service.ml.OnlineStore` to be required.
108
+ * [Breaking] Changed `online_table_name` field for `databricks.sdk.service.ml.PublishSpec` to be required.
109
+ * [Breaking] Changed `stage` field for `databricks.sdk.service.ml.RejectTransitionRequest` to type `str` dataclass.
110
+ * [Breaking] Changed `stage` field for `databricks.sdk.service.ml.TransitionModelVersionStageDatabricks` to type `str` dataclass.
111
+ * [Breaking] Changed `to_stage` field for `databricks.sdk.service.ml.TransitionRequest` to type `str` dataclass.
112
+ * Changed `served_model_name` field for `databricks.sdk.service.serving.Route` to no longer be required.
113
+ * [Breaking] Changed `served_model_name` field for `databricks.sdk.service.serving.Route` to no longer be required.
114
+ * Changed pagination for [TablesAPI.list](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/catalog/tables.html#databricks.sdk.service.catalog.TablesAPI.list) method.
115
+ * Changed pagination for [TablesAPI.list_summaries](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/catalog/tables.html#databricks.sdk.service.catalog.TablesAPI.list_summaries) method.
116
+ * [Breaking] Removed `generate_download_full_query_result()` and `get_download_full_query_result()` methods for [w.genie](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/dashboards/genie.html) workspace-level service.
117
+ * [Breaking] Removed `include_delta_metadata` field for `databricks.sdk.service.catalog.ListTablesRequest`.
118
+ * [Breaking] Removed `webhook` field for `databricks.sdk.service.ml.TestRegistryWebhookResponse`.
119
+ * [Breaking] Removed `model_version` field for `databricks.sdk.service.ml.TransitionStageResponse`.
120
+ * [Breaking] Removed `unknown_catalog_type` enum value for `databricks.sdk.service.catalog.CatalogType`.
121
+ * [Breaking] Removed `hive_custom` and `hive_serde` enum values for `databricks.sdk.service.catalog.DataSourceFormat`.
122
+ * [Breaking] Removed `unknown_securable_type` enum value for `databricks.sdk.service.catalog.SecurableType`.
123
+ * [Breaking] Removed `archived`, `none`, `production` and `staging` enum values for `databricks.sdk.service.ml.DeleteTransitionRequestStage`.
124
+ * [Breaking] Removed `archived`, `none`, `production` and `staging` enum values for `databricks.sdk.service.ml.Stage`.
125
+
126
+
3
127
  ## Release v0.57.0
4
128
 
5
129
  ### API Changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: databricks-sdk
3
- Version: 0.57.0
3
+ Version: 0.59.0
4
4
  Summary: Databricks SDK for Python (Beta)
5
5
  Project-URL: Documentation, https://databricks-sdk-py.readthedocs.io
6
6
  Keywords: databricks,sdk
@@ -46,7 +46,9 @@ from databricks.sdk.service.catalog import (AccountMetastoreAssignmentsAPI,
46
46
  AccountStorageCredentialsAPI,
47
47
  ArtifactAllowlistsAPI, CatalogsAPI,
48
48
  ConnectionsAPI, CredentialsAPI,
49
- ExternalLocationsAPI, FunctionsAPI,
49
+ ExternalLineageAPI,
50
+ ExternalLocationsAPI,
51
+ ExternalMetadataAPI, FunctionsAPI,
50
52
  GrantsAPI, MetastoresAPI,
51
53
  ModelVersionsAPI, OnlineTablesAPI,
52
54
  QualityMonitorsAPI,
@@ -88,13 +90,15 @@ from databricks.sdk.service.marketplace import (
88
90
  ProviderListingsAPI, ProviderPersonalizationRequestsAPI,
89
91
  ProviderProviderAnalyticsDashboardsAPI, ProviderProvidersAPI)
90
92
  from databricks.sdk.service.ml import (ExperimentsAPI, FeatureStoreAPI,
91
- ForecastingAPI, ModelRegistryAPI)
93
+ ForecastingAPI, MaterializedFeaturesAPI,
94
+ ModelRegistryAPI)
92
95
  from databricks.sdk.service.oauth2 import (AccountFederationPolicyAPI,
93
96
  CustomAppIntegrationAPI,
94
97
  OAuthPublishedAppsAPI,
95
98
  PublishedAppIntegrationAPI,
96
99
  ServicePrincipalFederationPolicyAPI,
97
- ServicePrincipalSecretsAPI)
100
+ ServicePrincipalSecretsAPI,
101
+ ServicePrincipalSecretsProxyAPI)
98
102
  from databricks.sdk.service.pipelines import PipelinesAPI
99
103
  from databricks.sdk.service.provisioning import (CredentialsAPI,
100
104
  EncryptionKeysAPI,
@@ -110,10 +114,11 @@ from databricks.sdk.service.settings import (
110
114
  AibiDashboardEmbeddingApprovedDomainsAPI, AutomaticClusterUpdateAPI,
111
115
  ComplianceSecurityProfileAPI, CredentialsManagerAPI,
112
116
  CspEnablementAccountAPI, DashboardEmailSubscriptionsAPI,
113
- DefaultNamespaceAPI, DisableLegacyAccessAPI, DisableLegacyDbfsAPI,
114
- DisableLegacyFeaturesAPI, EnableExportNotebookAPI, EnableIpAccessListsAPI,
115
- EnableNotebookTableClipboardAPI, EnableResultsDownloadingAPI,
116
- EnhancedSecurityMonitoringAPI, EsmEnablementAccountAPI, IpAccessListsAPI,
117
+ DefaultNamespaceAPI, DefaultWarehouseIdAPI, DisableLegacyAccessAPI,
118
+ DisableLegacyDbfsAPI, DisableLegacyFeaturesAPI, EnableExportNotebookAPI,
119
+ EnableIpAccessListsAPI, EnableNotebookTableClipboardAPI,
120
+ EnableResultsDownloadingAPI, EnhancedSecurityMonitoringAPI,
121
+ EsmEnablementAccountAPI, IpAccessListsAPI,
117
122
  LlmProxyPartnerPoweredAccountAPI, LlmProxyPartnerPoweredEnforceAPI,
118
123
  LlmProxyPartnerPoweredWorkspaceAPI, NetworkConnectivityAPI,
119
124
  NetworkPoliciesAPI, NotificationDestinationsAPI, PersonalComputeAPI,
@@ -264,7 +269,9 @@ class WorkspaceClient:
264
269
  self._dbfs = DbfsExt(self._api_client)
265
270
  self._dbsql_permissions = pkg_sql.DbsqlPermissionsAPI(self._api_client)
266
271
  self._experiments = pkg_ml.ExperimentsAPI(self._api_client)
272
+ self._external_lineage = pkg_catalog.ExternalLineageAPI(self._api_client)
267
273
  self._external_locations = pkg_catalog.ExternalLocationsAPI(self._api_client)
274
+ self._external_metadata = pkg_catalog.ExternalMetadataAPI(self._api_client)
268
275
  self._feature_store = pkg_ml.FeatureStoreAPI(self._api_client)
269
276
  self._files = _make_files_client(self._api_client, self._config)
270
277
  self._functions = pkg_catalog.FunctionsAPI(self._api_client)
@@ -280,6 +287,7 @@ class WorkspaceClient:
280
287
  self._lakeview = pkg_dashboards.LakeviewAPI(self._api_client)
281
288
  self._lakeview_embedded = pkg_dashboards.LakeviewEmbeddedAPI(self._api_client)
282
289
  self._libraries = pkg_compute.LibrariesAPI(self._api_client)
290
+ self._materialized_features = pkg_ml.MaterializedFeaturesAPI(self._api_client)
283
291
  self._metastores = pkg_catalog.MetastoresAPI(self._api_client)
284
292
  self._model_registry = pkg_ml.ModelRegistryAPI(self._api_client)
285
293
  self._model_versions = pkg_catalog.ModelVersionsAPI(self._api_client)
@@ -317,6 +325,7 @@ class WorkspaceClient:
317
325
  self._resource_quotas = pkg_catalog.ResourceQuotasAPI(self._api_client)
318
326
  self._schemas = pkg_catalog.SchemasAPI(self._api_client)
319
327
  self._secrets = pkg_workspace.SecretsAPI(self._api_client)
328
+ self._service_principal_secrets_proxy = pkg_oauth2.ServicePrincipalSecretsProxyAPI(self._api_client)
320
329
  self._service_principals = pkg_iam.ServicePrincipalsAPI(self._api_client)
321
330
  self._serving_endpoints = serving_endpoints
322
331
  serving_endpoints_data_plane_token_source = DataPlaneTokenSource(
@@ -414,7 +423,7 @@ class WorkspaceClient:
414
423
 
415
424
  @property
416
425
  def clean_rooms(self) -> pkg_cleanrooms.CleanRoomsAPI:
417
- """A clean room uses Delta Sharing and serverless compute to provide a secure and privacy-protecting environment where multiple parties can work together on sensitive enterprise data without direct access to each others data."""
426
+ """A clean room uses Delta Sharing and serverless compute to provide a secure and privacy-protecting environment where multiple parties can work together on sensitive enterprise data without direct access to each other's data."""
418
427
  return self._clean_rooms
419
428
 
420
429
  @property
@@ -512,11 +521,21 @@ class WorkspaceClient:
512
521
  """Experiments are the primary unit of organization in MLflow; all MLflow runs belong to an experiment."""
513
522
  return self._experiments
514
523
 
524
+ @property
525
+ def external_lineage(self) -> pkg_catalog.ExternalLineageAPI:
526
+ """External Lineage APIs enable defining and managing lineage relationships between Databricks objects and external systems."""
527
+ return self._external_lineage
528
+
515
529
  @property
516
530
  def external_locations(self) -> pkg_catalog.ExternalLocationsAPI:
517
531
  """An external location is an object that combines a cloud storage path with a storage credential that authorizes access to the cloud storage path."""
518
532
  return self._external_locations
519
533
 
534
+ @property
535
+ def external_metadata(self) -> pkg_catalog.ExternalMetadataAPI:
536
+ """External Metadata objects enable customers to register and manage metadata about external systems within Unity Catalog."""
537
+ return self._external_metadata
538
+
520
539
  @property
521
540
  def feature_store(self) -> pkg_ml.FeatureStoreAPI:
522
541
  """A feature store is a centralized repository that enables data scientists to find and share features."""
@@ -592,6 +611,11 @@ class WorkspaceClient:
592
611
  """The Libraries API allows you to install and uninstall libraries and get the status of libraries on a cluster."""
593
612
  return self._libraries
594
613
 
614
+ @property
615
+ def materialized_features(self) -> pkg_ml.MaterializedFeaturesAPI:
616
+ """Materialized Features are columns in tables and views that can be directly used as features to train and serve ML models."""
617
+ return self._materialized_features
618
+
595
619
  @property
596
620
  def metastores(self) -> pkg_catalog.MetastoresAPI:
597
621
  """A metastore is the top-level container of objects in Unity Catalog."""
@@ -767,6 +791,11 @@ class WorkspaceClient:
767
791
  """The Secrets API allows you to manage secrets, secret scopes, and access permissions."""
768
792
  return self._secrets
769
793
 
794
+ @property
795
+ def service_principal_secrets_proxy(self) -> pkg_oauth2.ServicePrincipalSecretsProxyAPI:
796
+ """These APIs enable administrators to manage service principal secrets at the workspace level."""
797
+ return self._service_principal_secrets_proxy
798
+
770
799
  @property
771
800
  def service_principals(self) -> pkg_iam.ServicePrincipalsAPI:
772
801
  """Identities for use with jobs, automated tools, and systems such as scripts, apps, and CI/CD platforms."""
@@ -1038,7 +1067,7 @@ class AccountClient:
1038
1067
 
1039
1068
  @property
1040
1069
  def log_delivery(self) -> pkg_billing.LogDeliveryAPI:
1041
- """These APIs manage Log delivery configurations for this account."""
1070
+ """These APIs manage log delivery configurations for this account."""
1042
1071
  return self._log_delivery
1043
1072
 
1044
1073
  @property
@@ -15,91 +15,6 @@ _LOG = logging.getLogger("databricks.sdk")
15
15
  # all definitions in this file are in alphabetical order
16
16
 
17
17
 
18
- @dataclass
19
- class CancelCustomLlmOptimizationRunRequest:
20
- id: Optional[str] = None
21
-
22
-
23
- @dataclass
24
- class CancelOptimizeResponse:
25
- def as_dict(self) -> dict:
26
- """Serializes the CancelOptimizeResponse into a dictionary suitable for use as a JSON request body."""
27
- body = {}
28
- return body
29
-
30
- def as_shallow_dict(self) -> dict:
31
- """Serializes the CancelOptimizeResponse into a shallow dictionary of its immediate attributes."""
32
- body = {}
33
- return body
34
-
35
- @classmethod
36
- def from_dict(cls, d: Dict[str, Any]) -> CancelOptimizeResponse:
37
- """Deserializes the CancelOptimizeResponse from a dictionary."""
38
- return cls()
39
-
40
-
41
- @dataclass
42
- class CreateCustomLlmRequest:
43
- name: str
44
- """Name of the custom LLM. Only alphanumeric characters and dashes allowed."""
45
-
46
- instructions: str
47
- """Instructions for the custom LLM to follow"""
48
-
49
- agent_artifact_path: Optional[str] = None
50
- """Optional: UC path for agent artifacts. If you are using a dataset that you only have read
51
- permissions, please provide a destination path where you have write permissions. Please provide
52
- this in catalog.schema format."""
53
-
54
- datasets: Optional[List[Dataset]] = None
55
- """Datasets used for training and evaluating the model, not for inference. Currently, only 1
56
- dataset is accepted."""
57
-
58
- guidelines: Optional[List[str]] = None
59
- """Guidelines for the custom LLM to adhere to"""
60
-
61
- def as_dict(self) -> dict:
62
- """Serializes the CreateCustomLlmRequest into a dictionary suitable for use as a JSON request body."""
63
- body = {}
64
- if self.agent_artifact_path is not None:
65
- body["agent_artifact_path"] = self.agent_artifact_path
66
- if self.datasets:
67
- body["datasets"] = [v.as_dict() for v in self.datasets]
68
- if self.guidelines:
69
- body["guidelines"] = [v for v in self.guidelines]
70
- if self.instructions is not None:
71
- body["instructions"] = self.instructions
72
- if self.name is not None:
73
- body["name"] = self.name
74
- return body
75
-
76
- def as_shallow_dict(self) -> dict:
77
- """Serializes the CreateCustomLlmRequest into a shallow dictionary of its immediate attributes."""
78
- body = {}
79
- if self.agent_artifact_path is not None:
80
- body["agent_artifact_path"] = self.agent_artifact_path
81
- if self.datasets:
82
- body["datasets"] = self.datasets
83
- if self.guidelines:
84
- body["guidelines"] = self.guidelines
85
- if self.instructions is not None:
86
- body["instructions"] = self.instructions
87
- if self.name is not None:
88
- body["name"] = self.name
89
- return body
90
-
91
- @classmethod
92
- def from_dict(cls, d: Dict[str, Any]) -> CreateCustomLlmRequest:
93
- """Deserializes the CreateCustomLlmRequest from a dictionary."""
94
- return cls(
95
- agent_artifact_path=d.get("agent_artifact_path", None),
96
- datasets=_repeated_dict(d, "datasets", Dataset),
97
- guidelines=d.get("guidelines", None),
98
- instructions=d.get("instructions", None),
99
- name=d.get("name", None),
100
- )
101
-
102
-
103
18
  @dataclass
104
19
  class CustomLlm:
105
20
  name: str
@@ -221,30 +136,6 @@ class Dataset:
221
136
  return cls(table=_from_dict(d, "table", Table))
222
137
 
223
138
 
224
- @dataclass
225
- class DeleteCustomLlmResponse:
226
- def as_dict(self) -> dict:
227
- """Serializes the DeleteCustomLlmResponse into a dictionary suitable for use as a JSON request body."""
228
- body = {}
229
- return body
230
-
231
- def as_shallow_dict(self) -> dict:
232
- """Serializes the DeleteCustomLlmResponse into a shallow dictionary of its immediate attributes."""
233
- body = {}
234
- return body
235
-
236
- @classmethod
237
- def from_dict(cls, d: Dict[str, Any]) -> DeleteCustomLlmResponse:
238
- """Deserializes the DeleteCustomLlmResponse from a dictionary."""
239
- return cls()
240
-
241
-
242
- @dataclass
243
- class StartCustomLlmOptimizationRunRequest:
244
- id: Optional[str] = None
245
- """The Id of the tile."""
246
-
247
-
248
139
  class State(Enum):
249
140
  """States of Custom LLM optimization lifecycle."""
250
141
 
@@ -299,60 +190,6 @@ class Table:
299
190
  )
300
191
 
301
192
 
302
- @dataclass
303
- class UpdateCustomLlmRequest:
304
- custom_llm: CustomLlm
305
- """The CustomLlm containing the fields which should be updated."""
306
-
307
- update_mask: str
308
- """The list of the CustomLlm fields to update. These should correspond to the values (or lack
309
- thereof) present in `custom_llm`.
310
-
311
- The field mask must be a single string, with multiple fields separated by commas (no spaces).
312
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
313
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
314
- as only the entire collection field can be specified. Field names must exactly match the
315
- resource field names.
316
-
317
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
318
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
319
- API changes in the future."""
320
-
321
- id: Optional[str] = None
322
- """The id of the custom llm"""
323
-
324
- def as_dict(self) -> dict:
325
- """Serializes the UpdateCustomLlmRequest into a dictionary suitable for use as a JSON request body."""
326
- body = {}
327
- if self.custom_llm:
328
- body["custom_llm"] = self.custom_llm.as_dict()
329
- if self.id is not None:
330
- body["id"] = self.id
331
- if self.update_mask is not None:
332
- body["update_mask"] = self.update_mask
333
- return body
334
-
335
- def as_shallow_dict(self) -> dict:
336
- """Serializes the UpdateCustomLlmRequest into a shallow dictionary of its immediate attributes."""
337
- body = {}
338
- if self.custom_llm:
339
- body["custom_llm"] = self.custom_llm
340
- if self.id is not None:
341
- body["id"] = self.id
342
- if self.update_mask is not None:
343
- body["update_mask"] = self.update_mask
344
- return body
345
-
346
- @classmethod
347
- def from_dict(cls, d: Dict[str, Any]) -> UpdateCustomLlmRequest:
348
- """Deserializes the UpdateCustomLlmRequest from a dictionary."""
349
- return cls(
350
- custom_llm=_from_dict(d, "custom_llm", CustomLlm),
351
- id=d.get("id", None),
352
- update_mask=d.get("update_mask", None),
353
- )
354
-
355
-
356
193
  class AiBuilderAPI:
357
194
  """The Custom LLMs service manages state and powers the UI for the Custom LLM product."""
358
195
 
@@ -222,7 +222,6 @@ class AppAccessControlRequest:
222
222
  """name of the group"""
223
223
 
224
224
  permission_level: Optional[AppPermissionLevel] = None
225
- """Permission level"""
226
225
 
227
226
  service_principal_name: Optional[str] = None
228
227
  """application ID of a service principal"""
@@ -491,7 +490,6 @@ class AppPermission:
491
490
  inherited_from_object: Optional[List[str]] = None
492
491
 
493
492
  permission_level: Optional[AppPermissionLevel] = None
494
- """Permission level"""
495
493
 
496
494
  def as_dict(self) -> dict:
497
495
  """Serializes the AppPermission into a dictionary suitable for use as a JSON request body."""
@@ -577,7 +575,6 @@ class AppPermissionsDescription:
577
575
  description: Optional[str] = None
578
576
 
579
577
  permission_level: Optional[AppPermissionLevel] = None
580
- """Permission level"""
581
578
 
582
579
  def as_dict(self) -> dict:
583
580
  """Serializes the AppPermissionsDescription into a dictionary suitable for use as a JSON request body."""
@@ -605,45 +602,13 @@ class AppPermissionsDescription:
605
602
  )
606
603
 
607
604
 
608
- @dataclass
609
- class AppPermissionsRequest:
610
- access_control_list: Optional[List[AppAccessControlRequest]] = None
611
-
612
- app_name: Optional[str] = None
613
- """The app for which to get or manage permissions."""
614
-
615
- def as_dict(self) -> dict:
616
- """Serializes the AppPermissionsRequest into a dictionary suitable for use as a JSON request body."""
617
- body = {}
618
- if self.access_control_list:
619
- body["access_control_list"] = [v.as_dict() for v in self.access_control_list]
620
- if self.app_name is not None:
621
- body["app_name"] = self.app_name
622
- return body
623
-
624
- def as_shallow_dict(self) -> dict:
625
- """Serializes the AppPermissionsRequest into a shallow dictionary of its immediate attributes."""
626
- body = {}
627
- if self.access_control_list:
628
- body["access_control_list"] = self.access_control_list
629
- if self.app_name is not None:
630
- body["app_name"] = self.app_name
631
- return body
632
-
633
- @classmethod
634
- def from_dict(cls, d: Dict[str, Any]) -> AppPermissionsRequest:
635
- """Deserializes the AppPermissionsRequest from a dictionary."""
636
- return cls(
637
- access_control_list=_repeated_dict(d, "access_control_list", AppAccessControlRequest),
638
- app_name=d.get("app_name", None),
639
- )
640
-
641
-
642
605
  @dataclass
643
606
  class AppResource:
644
607
  name: str
645
608
  """Name of the App Resource."""
646
609
 
610
+ database: Optional[AppResourceDatabase] = None
611
+
647
612
  description: Optional[str] = None
648
613
  """Description of the App Resource."""
649
614
 
@@ -660,6 +625,8 @@ class AppResource:
660
625
  def as_dict(self) -> dict:
661
626
  """Serializes the AppResource into a dictionary suitable for use as a JSON request body."""
662
627
  body = {}
628
+ if self.database:
629
+ body["database"] = self.database.as_dict()
663
630
  if self.description is not None:
664
631
  body["description"] = self.description
665
632
  if self.job:
@@ -679,6 +646,8 @@ class AppResource:
679
646
  def as_shallow_dict(self) -> dict:
680
647
  """Serializes the AppResource into a shallow dictionary of its immediate attributes."""
681
648
  body = {}
649
+ if self.database:
650
+ body["database"] = self.database
682
651
  if self.description is not None:
683
652
  body["description"] = self.description
684
653
  if self.job:
@@ -699,6 +668,7 @@ class AppResource:
699
668
  def from_dict(cls, d: Dict[str, Any]) -> AppResource:
700
669
  """Deserializes the AppResource from a dictionary."""
701
670
  return cls(
671
+ database=_from_dict(d, "database", AppResourceDatabase),
702
672
  description=d.get("description", None),
703
673
  job=_from_dict(d, "job", AppResourceJob),
704
674
  name=d.get("name", None),
@@ -709,6 +679,51 @@ class AppResource:
709
679
  )
710
680
 
711
681
 
682
+ @dataclass
683
+ class AppResourceDatabase:
684
+ instance_name: str
685
+
686
+ database_name: str
687
+
688
+ permission: AppResourceDatabaseDatabasePermission
689
+
690
+ def as_dict(self) -> dict:
691
+ """Serializes the AppResourceDatabase into a dictionary suitable for use as a JSON request body."""
692
+ body = {}
693
+ if self.database_name is not None:
694
+ body["database_name"] = self.database_name
695
+ if self.instance_name is not None:
696
+ body["instance_name"] = self.instance_name
697
+ if self.permission is not None:
698
+ body["permission"] = self.permission.value
699
+ return body
700
+
701
+ def as_shallow_dict(self) -> dict:
702
+ """Serializes the AppResourceDatabase into a shallow dictionary of its immediate attributes."""
703
+ body = {}
704
+ if self.database_name is not None:
705
+ body["database_name"] = self.database_name
706
+ if self.instance_name is not None:
707
+ body["instance_name"] = self.instance_name
708
+ if self.permission is not None:
709
+ body["permission"] = self.permission
710
+ return body
711
+
712
+ @classmethod
713
+ def from_dict(cls, d: Dict[str, Any]) -> AppResourceDatabase:
714
+ """Deserializes the AppResourceDatabase from a dictionary."""
715
+ return cls(
716
+ database_name=d.get("database_name", None),
717
+ instance_name=d.get("instance_name", None),
718
+ permission=_enum(d, "permission", AppResourceDatabaseDatabasePermission),
719
+ )
720
+
721
+
722
+ class AppResourceDatabaseDatabasePermission(Enum):
723
+
724
+ CAN_CONNECT_AND_CREATE = "CAN_CONNECT_AND_CREATE"
725
+
726
+
712
727
  @dataclass
713
728
  class AppResourceJob:
714
729
  id: str
@@ -1112,18 +1127,6 @@ class ListAppsResponse:
1112
1127
  return cls(apps=_repeated_dict(d, "apps", App), next_page_token=d.get("next_page_token", None))
1113
1128
 
1114
1129
 
1115
- @dataclass
1116
- class StartAppRequest:
1117
- name: Optional[str] = None
1118
- """The name of the app."""
1119
-
1120
-
1121
- @dataclass
1122
- class StopAppRequest:
1123
- name: Optional[str] = None
1124
- """The name of the app."""
1125
-
1126
-
1127
1130
  class AppsAPI:
1128
1131
  """Apps run directly on a customer’s Databricks instance, integrate with their data, use and extend
1129
1132
  Databricks services, and enable users to interact through single sign-on."""
@@ -1279,6 +1282,7 @@ class AppsAPI:
1279
1282
  :param app_name: str
1280
1283
  The name of the app.
1281
1284
  :param app_deployment: :class:`AppDeployment`
1285
+ The app deployment configuration.
1282
1286
 
1283
1287
  :returns:
1284
1288
  Long-running operation waiter for :class:`AppDeployment`.