databricks-sdk 0.48.0__py3-none-any.whl → 0.50.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.

@@ -2004,6 +2004,108 @@ class Empty:
2004
2004
  return cls()
2005
2005
 
2006
2006
 
2007
+ @dataclass
2008
+ class EnableExportNotebook:
2009
+ boolean_val: Optional[BooleanMessage] = None
2010
+
2011
+ setting_name: Optional[str] = None
2012
+ """Name of the corresponding setting. This field is populated in the response, but it will not be
2013
+ respected even if it's set in the request body. The setting name in the path parameter will be
2014
+ respected instead. Setting name is required to be 'default' if the setting only has one instance
2015
+ per workspace."""
2016
+
2017
+ def as_dict(self) -> dict:
2018
+ """Serializes the EnableExportNotebook into a dictionary suitable for use as a JSON request body."""
2019
+ body = {}
2020
+ if self.boolean_val:
2021
+ body["boolean_val"] = self.boolean_val.as_dict()
2022
+ if self.setting_name is not None:
2023
+ body["setting_name"] = self.setting_name
2024
+ return body
2025
+
2026
+ def as_shallow_dict(self) -> dict:
2027
+ """Serializes the EnableExportNotebook into a shallow dictionary of its immediate attributes."""
2028
+ body = {}
2029
+ if self.boolean_val:
2030
+ body["boolean_val"] = self.boolean_val
2031
+ if self.setting_name is not None:
2032
+ body["setting_name"] = self.setting_name
2033
+ return body
2034
+
2035
+ @classmethod
2036
+ def from_dict(cls, d: Dict[str, Any]) -> EnableExportNotebook:
2037
+ """Deserializes the EnableExportNotebook from a dictionary."""
2038
+ return cls(boolean_val=_from_dict(d, "boolean_val", BooleanMessage), setting_name=d.get("setting_name", None))
2039
+
2040
+
2041
+ @dataclass
2042
+ class EnableNotebookTableClipboard:
2043
+ boolean_val: Optional[BooleanMessage] = None
2044
+
2045
+ setting_name: Optional[str] = None
2046
+ """Name of the corresponding setting. This field is populated in the response, but it will not be
2047
+ respected even if it's set in the request body. The setting name in the path parameter will be
2048
+ respected instead. Setting name is required to be 'default' if the setting only has one instance
2049
+ per workspace."""
2050
+
2051
+ def as_dict(self) -> dict:
2052
+ """Serializes the EnableNotebookTableClipboard into a dictionary suitable for use as a JSON request body."""
2053
+ body = {}
2054
+ if self.boolean_val:
2055
+ body["boolean_val"] = self.boolean_val.as_dict()
2056
+ if self.setting_name is not None:
2057
+ body["setting_name"] = self.setting_name
2058
+ return body
2059
+
2060
+ def as_shallow_dict(self) -> dict:
2061
+ """Serializes the EnableNotebookTableClipboard into a shallow dictionary of its immediate attributes."""
2062
+ body = {}
2063
+ if self.boolean_val:
2064
+ body["boolean_val"] = self.boolean_val
2065
+ if self.setting_name is not None:
2066
+ body["setting_name"] = self.setting_name
2067
+ return body
2068
+
2069
+ @classmethod
2070
+ def from_dict(cls, d: Dict[str, Any]) -> EnableNotebookTableClipboard:
2071
+ """Deserializes the EnableNotebookTableClipboard from a dictionary."""
2072
+ return cls(boolean_val=_from_dict(d, "boolean_val", BooleanMessage), setting_name=d.get("setting_name", None))
2073
+
2074
+
2075
+ @dataclass
2076
+ class EnableResultsDownloading:
2077
+ boolean_val: Optional[BooleanMessage] = None
2078
+
2079
+ setting_name: Optional[str] = None
2080
+ """Name of the corresponding setting. This field is populated in the response, but it will not be
2081
+ respected even if it's set in the request body. The setting name in the path parameter will be
2082
+ respected instead. Setting name is required to be 'default' if the setting only has one instance
2083
+ per workspace."""
2084
+
2085
+ def as_dict(self) -> dict:
2086
+ """Serializes the EnableResultsDownloading into a dictionary suitable for use as a JSON request body."""
2087
+ body = {}
2088
+ if self.boolean_val:
2089
+ body["boolean_val"] = self.boolean_val.as_dict()
2090
+ if self.setting_name is not None:
2091
+ body["setting_name"] = self.setting_name
2092
+ return body
2093
+
2094
+ def as_shallow_dict(self) -> dict:
2095
+ """Serializes the EnableResultsDownloading into a shallow dictionary of its immediate attributes."""
2096
+ body = {}
2097
+ if self.boolean_val:
2098
+ body["boolean_val"] = self.boolean_val
2099
+ if self.setting_name is not None:
2100
+ body["setting_name"] = self.setting_name
2101
+ return body
2102
+
2103
+ @classmethod
2104
+ def from_dict(cls, d: Dict[str, Any]) -> EnableResultsDownloading:
2105
+ """Deserializes the EnableResultsDownloading from a dictionary."""
2106
+ return cls(boolean_val=_from_dict(d, "boolean_val", BooleanMessage), setting_name=d.get("setting_name", None))
2107
+
2108
+
2007
2109
  @dataclass
2008
2110
  class EnhancedSecurityMonitoring:
2009
2111
  """SHIELD feature: ESM"""
@@ -4146,6 +4248,10 @@ class TokenType(Enum):
4146
4248
 
4147
4249
  ARCLIGHT_AZURE_EXCHANGE_TOKEN = "ARCLIGHT_AZURE_EXCHANGE_TOKEN"
4148
4250
  ARCLIGHT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY = "ARCLIGHT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY"
4251
+ ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN = "ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN"
4252
+ ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY = (
4253
+ "ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY"
4254
+ )
4149
4255
  AZURE_ACTIVE_DIRECTORY_TOKEN = "AZURE_ACTIVE_DIRECTORY_TOKEN"
4150
4256
 
4151
4257
 
@@ -4676,6 +4782,162 @@ class UpdateDisableLegacyFeaturesRequest:
4676
4782
  )
4677
4783
 
4678
4784
 
4785
+ @dataclass
4786
+ class UpdateEnableExportNotebookRequest:
4787
+ """Details required to update a setting."""
4788
+
4789
+ allow_missing: bool
4790
+ """This should always be set to true for Settings API. Added for AIP compliance."""
4791
+
4792
+ setting: EnableExportNotebook
4793
+
4794
+ field_mask: str
4795
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
4796
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
4797
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
4798
+ as only the entire collection field can be specified. Field names must exactly match the
4799
+ resource field names.
4800
+
4801
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4802
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
4803
+ API changes in the future."""
4804
+
4805
+ def as_dict(self) -> dict:
4806
+ """Serializes the UpdateEnableExportNotebookRequest into a dictionary suitable for use as a JSON request body."""
4807
+ body = {}
4808
+ if self.allow_missing is not None:
4809
+ body["allow_missing"] = self.allow_missing
4810
+ if self.field_mask is not None:
4811
+ body["field_mask"] = self.field_mask
4812
+ if self.setting:
4813
+ body["setting"] = self.setting.as_dict()
4814
+ return body
4815
+
4816
+ def as_shallow_dict(self) -> dict:
4817
+ """Serializes the UpdateEnableExportNotebookRequest into a shallow dictionary of its immediate attributes."""
4818
+ body = {}
4819
+ if self.allow_missing is not None:
4820
+ body["allow_missing"] = self.allow_missing
4821
+ if self.field_mask is not None:
4822
+ body["field_mask"] = self.field_mask
4823
+ if self.setting:
4824
+ body["setting"] = self.setting
4825
+ return body
4826
+
4827
+ @classmethod
4828
+ def from_dict(cls, d: Dict[str, Any]) -> UpdateEnableExportNotebookRequest:
4829
+ """Deserializes the UpdateEnableExportNotebookRequest from a dictionary."""
4830
+ return cls(
4831
+ allow_missing=d.get("allow_missing", None),
4832
+ field_mask=d.get("field_mask", None),
4833
+ setting=_from_dict(d, "setting", EnableExportNotebook),
4834
+ )
4835
+
4836
+
4837
+ @dataclass
4838
+ class UpdateEnableNotebookTableClipboardRequest:
4839
+ """Details required to update a setting."""
4840
+
4841
+ allow_missing: bool
4842
+ """This should always be set to true for Settings API. Added for AIP compliance."""
4843
+
4844
+ setting: EnableNotebookTableClipboard
4845
+
4846
+ field_mask: str
4847
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
4848
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
4849
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
4850
+ as only the entire collection field can be specified. Field names must exactly match the
4851
+ resource field names.
4852
+
4853
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4854
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
4855
+ API changes in the future."""
4856
+
4857
+ def as_dict(self) -> dict:
4858
+ """Serializes the UpdateEnableNotebookTableClipboardRequest into a dictionary suitable for use as a JSON request body."""
4859
+ body = {}
4860
+ if self.allow_missing is not None:
4861
+ body["allow_missing"] = self.allow_missing
4862
+ if self.field_mask is not None:
4863
+ body["field_mask"] = self.field_mask
4864
+ if self.setting:
4865
+ body["setting"] = self.setting.as_dict()
4866
+ return body
4867
+
4868
+ def as_shallow_dict(self) -> dict:
4869
+ """Serializes the UpdateEnableNotebookTableClipboardRequest into a shallow dictionary of its immediate attributes."""
4870
+ body = {}
4871
+ if self.allow_missing is not None:
4872
+ body["allow_missing"] = self.allow_missing
4873
+ if self.field_mask is not None:
4874
+ body["field_mask"] = self.field_mask
4875
+ if self.setting:
4876
+ body["setting"] = self.setting
4877
+ return body
4878
+
4879
+ @classmethod
4880
+ def from_dict(cls, d: Dict[str, Any]) -> UpdateEnableNotebookTableClipboardRequest:
4881
+ """Deserializes the UpdateEnableNotebookTableClipboardRequest from a dictionary."""
4882
+ return cls(
4883
+ allow_missing=d.get("allow_missing", None),
4884
+ field_mask=d.get("field_mask", None),
4885
+ setting=_from_dict(d, "setting", EnableNotebookTableClipboard),
4886
+ )
4887
+
4888
+
4889
+ @dataclass
4890
+ class UpdateEnableResultsDownloadingRequest:
4891
+ """Details required to update a setting."""
4892
+
4893
+ allow_missing: bool
4894
+ """This should always be set to true for Settings API. Added for AIP compliance."""
4895
+
4896
+ setting: EnableResultsDownloading
4897
+
4898
+ field_mask: str
4899
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
4900
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
4901
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
4902
+ as only the entire collection field can be specified. Field names must exactly match the
4903
+ resource field names.
4904
+
4905
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4906
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
4907
+ API changes in the future."""
4908
+
4909
+ def as_dict(self) -> dict:
4910
+ """Serializes the UpdateEnableResultsDownloadingRequest into a dictionary suitable for use as a JSON request body."""
4911
+ body = {}
4912
+ if self.allow_missing is not None:
4913
+ body["allow_missing"] = self.allow_missing
4914
+ if self.field_mask is not None:
4915
+ body["field_mask"] = self.field_mask
4916
+ if self.setting:
4917
+ body["setting"] = self.setting.as_dict()
4918
+ return body
4919
+
4920
+ def as_shallow_dict(self) -> dict:
4921
+ """Serializes the UpdateEnableResultsDownloadingRequest into a shallow dictionary of its immediate attributes."""
4922
+ body = {}
4923
+ if self.allow_missing is not None:
4924
+ body["allow_missing"] = self.allow_missing
4925
+ if self.field_mask is not None:
4926
+ body["field_mask"] = self.field_mask
4927
+ if self.setting:
4928
+ body["setting"] = self.setting
4929
+ return body
4930
+
4931
+ @classmethod
4932
+ def from_dict(cls, d: Dict[str, Any]) -> UpdateEnableResultsDownloadingRequest:
4933
+ """Deserializes the UpdateEnableResultsDownloadingRequest from a dictionary."""
4934
+ return cls(
4935
+ allow_missing=d.get("allow_missing", None),
4936
+ field_mask=d.get("field_mask", None),
4937
+ setting=_from_dict(d, "setting", EnableResultsDownloading),
4938
+ )
4939
+
4940
+
4679
4941
  @dataclass
4680
4942
  class UpdateEnhancedSecurityMonitoringSettingRequest:
4681
4943
  """Details required to update a setting."""
@@ -5915,10 +6177,9 @@ class DefaultNamespaceAPI:
5915
6177
  class DisableLegacyAccessAPI:
5916
6178
  """'Disabling legacy access' has the following impacts:
5917
6179
 
5918
- 1. Disables direct access to the Hive Metastore. However, you can still access Hive Metastore through HMS
5919
- Federation. 2. Disables Fallback Mode (docs link) on any External Location access from the workspace. 3.
5920
- Alters DBFS path access to use External Location permissions in place of legacy credentials. 4. Enforces
5921
- Unity Catalog access on all path based access."""
6180
+ 1. Disables direct access to Hive Metastores from the workspace. However, you can still access a Hive
6181
+ Metastore through Hive Metastore federation. 2. Disables fallback mode on external location access from
6182
+ the workspace. 3. Disables Databricks Runtime versions prior to 13.3LTS."""
5922
6183
 
5923
6184
  def __init__(self, api_client):
5924
6185
  self._api = api_client
@@ -6228,6 +6489,70 @@ class DisableLegacyFeaturesAPI:
6228
6489
  return DisableLegacyFeatures.from_dict(res)
6229
6490
 
6230
6491
 
6492
+ class EnableExportNotebookAPI:
6493
+ """Controls whether users can export notebooks and files from the Workspace. By default, this setting is
6494
+ enabled."""
6495
+
6496
+ def __init__(self, api_client):
6497
+ self._api = api_client
6498
+
6499
+ def get_enable_export_notebook(self) -> EnableExportNotebook:
6500
+ """Get the Enable Export Notebook setting.
6501
+
6502
+ Gets the Enable Export Notebook setting.
6503
+
6504
+ :returns: :class:`EnableExportNotebook`
6505
+ """
6506
+
6507
+ headers = {
6508
+ "Accept": "application/json",
6509
+ }
6510
+
6511
+ res = self._api.do("GET", "/api/2.0/settings/types/enable-export-notebook/names/default", headers=headers)
6512
+ return EnableExportNotebook.from_dict(res)
6513
+
6514
+ def patch_enable_export_notebook(
6515
+ self, allow_missing: bool, setting: EnableExportNotebook, field_mask: str
6516
+ ) -> EnableExportNotebook:
6517
+ """Update the Enable Export Notebook setting.
6518
+
6519
+ Updates the Enable Export Notebook setting. The model follows eventual consistency, which means the
6520
+ get after the update operation might receive stale values for some time.
6521
+
6522
+ :param allow_missing: bool
6523
+ This should always be set to true for Settings API. Added for AIP compliance.
6524
+ :param setting: :class:`EnableExportNotebook`
6525
+ :param field_mask: str
6526
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
6527
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
6528
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
6529
+ the entire collection field can be specified. Field names must exactly match the resource field
6530
+ names.
6531
+
6532
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6533
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
6534
+ changes in the future.
6535
+
6536
+ :returns: :class:`EnableExportNotebook`
6537
+ """
6538
+ body = {}
6539
+ if allow_missing is not None:
6540
+ body["allow_missing"] = allow_missing
6541
+ if field_mask is not None:
6542
+ body["field_mask"] = field_mask
6543
+ if setting is not None:
6544
+ body["setting"] = setting.as_dict()
6545
+ headers = {
6546
+ "Accept": "application/json",
6547
+ "Content-Type": "application/json",
6548
+ }
6549
+
6550
+ res = self._api.do(
6551
+ "PATCH", "/api/2.0/settings/types/enable-export-notebook/names/default", body=body, headers=headers
6552
+ )
6553
+ return EnableExportNotebook.from_dict(res)
6554
+
6555
+
6231
6556
  class EnableIpAccessListsAPI:
6232
6557
  """Controls the enforcement of IP access lists for accessing the account console. Allowing you to enable or
6233
6558
  disable restricted access based on IP addresses."""
@@ -6337,6 +6662,135 @@ class EnableIpAccessListsAPI:
6337
6662
  return AccountIpAccessEnable.from_dict(res)
6338
6663
 
6339
6664
 
6665
+ class EnableNotebookTableClipboardAPI:
6666
+ """Controls whether users can copy tabular data to the clipboard via the UI. By default, this setting is
6667
+ enabled."""
6668
+
6669
+ def __init__(self, api_client):
6670
+ self._api = api_client
6671
+
6672
+ def get_enable_notebook_table_clipboard(self) -> EnableNotebookTableClipboard:
6673
+ """Get the Enable Notebook Table Clipboard setting.
6674
+
6675
+ Gets the Enable Notebook Table Clipboard setting.
6676
+
6677
+ :returns: :class:`EnableNotebookTableClipboard`
6678
+ """
6679
+
6680
+ headers = {
6681
+ "Accept": "application/json",
6682
+ }
6683
+
6684
+ res = self._api.do(
6685
+ "GET", "/api/2.0/settings/types/enable-notebook-table-clipboard/names/default", headers=headers
6686
+ )
6687
+ return EnableNotebookTableClipboard.from_dict(res)
6688
+
6689
+ def patch_enable_notebook_table_clipboard(
6690
+ self, allow_missing: bool, setting: EnableNotebookTableClipboard, field_mask: str
6691
+ ) -> EnableNotebookTableClipboard:
6692
+ """Update the Enable Notebook Table Clipboard setting.
6693
+
6694
+ Updates the Enable Notebook Table Clipboard setting. The model follows eventual consistency, which
6695
+ means the get after the update operation might receive stale values for some time.
6696
+
6697
+ :param allow_missing: bool
6698
+ This should always be set to true for Settings API. Added for AIP compliance.
6699
+ :param setting: :class:`EnableNotebookTableClipboard`
6700
+ :param field_mask: str
6701
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
6702
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
6703
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
6704
+ the entire collection field can be specified. Field names must exactly match the resource field
6705
+ names.
6706
+
6707
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6708
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
6709
+ changes in the future.
6710
+
6711
+ :returns: :class:`EnableNotebookTableClipboard`
6712
+ """
6713
+ body = {}
6714
+ if allow_missing is not None:
6715
+ body["allow_missing"] = allow_missing
6716
+ if field_mask is not None:
6717
+ body["field_mask"] = field_mask
6718
+ if setting is not None:
6719
+ body["setting"] = setting.as_dict()
6720
+ headers = {
6721
+ "Accept": "application/json",
6722
+ "Content-Type": "application/json",
6723
+ }
6724
+
6725
+ res = self._api.do(
6726
+ "PATCH", "/api/2.0/settings/types/enable-notebook-table-clipboard/names/default", body=body, headers=headers
6727
+ )
6728
+ return EnableNotebookTableClipboard.from_dict(res)
6729
+
6730
+
6731
+ class EnableResultsDownloadingAPI:
6732
+ """Controls whether users can download notebook results. By default, this setting is enabled."""
6733
+
6734
+ def __init__(self, api_client):
6735
+ self._api = api_client
6736
+
6737
+ def get_enable_results_downloading(self) -> EnableResultsDownloading:
6738
+ """Get the Enable Results Downloading setting.
6739
+
6740
+ Gets the Enable Results Downloading setting.
6741
+
6742
+ :returns: :class:`EnableResultsDownloading`
6743
+ """
6744
+
6745
+ headers = {
6746
+ "Accept": "application/json",
6747
+ }
6748
+
6749
+ res = self._api.do("GET", "/api/2.0/settings/types/enable-results-downloading/names/default", headers=headers)
6750
+ return EnableResultsDownloading.from_dict(res)
6751
+
6752
+ def patch_enable_results_downloading(
6753
+ self, allow_missing: bool, setting: EnableResultsDownloading, field_mask: str
6754
+ ) -> EnableResultsDownloading:
6755
+ """Update the Enable Results Downloading setting.
6756
+
6757
+ Updates the Enable Results Downloading setting. The model follows eventual consistency, which means
6758
+ the get after the update operation might receive stale values for some time.
6759
+
6760
+ :param allow_missing: bool
6761
+ This should always be set to true for Settings API. Added for AIP compliance.
6762
+ :param setting: :class:`EnableResultsDownloading`
6763
+ :param field_mask: str
6764
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
6765
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
6766
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
6767
+ the entire collection field can be specified. Field names must exactly match the resource field
6768
+ names.
6769
+
6770
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6771
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
6772
+ changes in the future.
6773
+
6774
+ :returns: :class:`EnableResultsDownloading`
6775
+ """
6776
+ body = {}
6777
+ if allow_missing is not None:
6778
+ body["allow_missing"] = allow_missing
6779
+ if field_mask is not None:
6780
+ body["field_mask"] = field_mask
6781
+ if setting is not None:
6782
+ body["setting"] = setting.as_dict()
6783
+ headers = {
6784
+ "Accept": "application/json",
6785
+ "Content-Type": "application/json",
6786
+ }
6787
+
6788
+ res = self._api.do(
6789
+ "PATCH", "/api/2.0/settings/types/enable-results-downloading/names/default", body=body, headers=headers
6790
+ )
6791
+ return EnableResultsDownloading.from_dict(res)
6792
+
6793
+
6340
6794
  class EnhancedSecurityMonitoringAPI:
6341
6795
  """Controls whether enhanced security monitoring is enabled for the current workspace. If the compliance
6342
6796
  security profile is enabled, this is automatically enabled. By default, it is disabled. However, if the
@@ -7347,6 +7801,9 @@ class SettingsAPI:
7347
7801
  self._default_namespace = DefaultNamespaceAPI(self._api)
7348
7802
  self._disable_legacy_access = DisableLegacyAccessAPI(self._api)
7349
7803
  self._disable_legacy_dbfs = DisableLegacyDbfsAPI(self._api)
7804
+ self._enable_export_notebook = EnableExportNotebookAPI(self._api)
7805
+ self._enable_notebook_table_clipboard = EnableNotebookTableClipboardAPI(self._api)
7806
+ self._enable_results_downloading = EnableResultsDownloadingAPI(self._api)
7350
7807
  self._enhanced_security_monitoring = EnhancedSecurityMonitoringAPI(self._api)
7351
7808
  self._restrict_workspace_admins = RestrictWorkspaceAdminsAPI(self._api)
7352
7809
 
@@ -7385,6 +7842,21 @@ class SettingsAPI:
7385
7842
  """When this setting is on, access to DBFS root and DBFS mounts is disallowed (as well as creation of new mounts)."""
7386
7843
  return self._disable_legacy_dbfs
7387
7844
 
7845
+ @property
7846
+ def enable_export_notebook(self) -> EnableExportNotebookAPI:
7847
+ """Controls whether users can export notebooks and files from the Workspace."""
7848
+ return self._enable_export_notebook
7849
+
7850
+ @property
7851
+ def enable_notebook_table_clipboard(self) -> EnableNotebookTableClipboardAPI:
7852
+ """Controls whether users can copy tabular data to the clipboard via the UI."""
7853
+ return self._enable_notebook_table_clipboard
7854
+
7855
+ @property
7856
+ def enable_results_downloading(self) -> EnableResultsDownloadingAPI:
7857
+ """Controls whether users can download notebook results."""
7858
+ return self._enable_results_downloading
7859
+
7388
7860
  @property
7389
7861
  def enhanced_security_monitoring(self) -> EnhancedSecurityMonitoringAPI:
7390
7862
  """Controls whether enhanced security monitoring is enabled for the current workspace."""