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

@@ -635,6 +635,7 @@ class ComplianceStandard(Enum):
635
635
  IRAP_PROTECTED = "IRAP_PROTECTED"
636
636
  ISMAP = "ISMAP"
637
637
  ITAR_EAR = "ITAR_EAR"
638
+ K_FSI = "K_FSI"
638
639
  NONE = "NONE"
639
640
  PCI_DSS = "PCI_DSS"
640
641
 
@@ -768,18 +769,20 @@ class CreateIpAccessListResponse:
768
769
 
769
770
 
770
771
  @dataclass
771
- class CreateNetworkConnectivityConfigRequest:
772
+ class CreateNetworkConnectivityConfiguration:
773
+ """Properties of the new network connectivity configuration."""
774
+
772
775
  name: str
773
776
  """The name of the network connectivity configuration. The name can contain alphanumeric
774
777
  characters, hyphens, and underscores. The length must be between 3 and 30 characters. The name
775
- must match the regular expression `^[0-9a-zA-Z-_]{3,30}$`."""
778
+ must match the regular expression ^[0-9a-zA-Z-_]{3,30}$"""
776
779
 
777
780
  region: str
778
781
  """The region for the network connectivity configuration. Only workspaces in the same region can be
779
782
  attached to the network connectivity configuration."""
780
783
 
781
784
  def as_dict(self) -> dict:
782
- """Serializes the CreateNetworkConnectivityConfigRequest into a dictionary suitable for use as a JSON request body."""
785
+ """Serializes the CreateNetworkConnectivityConfiguration into a dictionary suitable for use as a JSON request body."""
783
786
  body = {}
784
787
  if self.name is not None:
785
788
  body["name"] = self.name
@@ -788,7 +791,7 @@ class CreateNetworkConnectivityConfigRequest:
788
791
  return body
789
792
 
790
793
  def as_shallow_dict(self) -> dict:
791
- """Serializes the CreateNetworkConnectivityConfigRequest into a shallow dictionary of its immediate attributes."""
794
+ """Serializes the CreateNetworkConnectivityConfiguration into a shallow dictionary of its immediate attributes."""
792
795
  body = {}
793
796
  if self.name is not None:
794
797
  body["name"] = self.name
@@ -797,8 +800,8 @@ class CreateNetworkConnectivityConfigRequest:
797
800
  return body
798
801
 
799
802
  @classmethod
800
- def from_dict(cls, d: Dict[str, Any]) -> CreateNetworkConnectivityConfigRequest:
801
- """Deserializes the CreateNetworkConnectivityConfigRequest from a dictionary."""
803
+ def from_dict(cls, d: Dict[str, Any]) -> CreateNetworkConnectivityConfiguration:
804
+ """Deserializes the CreateNetworkConnectivityConfiguration from a dictionary."""
802
805
  return cls(name=d.get("name", None), region=d.get("region", None))
803
806
 
804
807
 
@@ -913,59 +916,58 @@ class CreateOboTokenResponse:
913
916
 
914
917
 
915
918
  @dataclass
916
- class CreatePrivateEndpointRuleRequest:
919
+ class CreatePrivateEndpointRule:
920
+ """Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure
921
+ portal after initialization."""
922
+
917
923
  resource_id: str
918
924
  """The Azure resource ID of the target resource."""
919
925
 
920
- group_id: CreatePrivateEndpointRuleRequestGroupId
921
- """The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
922
- storage (root DBFS), you need two endpoints, one for `blob` and one for `dfs`."""
926
+ domain_names: Optional[List[str]] = None
927
+ """Only used by private endpoints to customer-managed resources.
928
+
929
+ Domain names of target private link service. When updating this field, the full list of target
930
+ domain_names must be specified."""
923
931
 
924
- network_connectivity_config_id: Optional[str] = None
925
- """Your Network Connectvity Configuration ID."""
932
+ group_id: Optional[str] = None
933
+ """Only used by private endpoints to Azure first-party services. Enum: blob | dfs | sqlServer |
934
+ mysqlServer
935
+
936
+ The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
937
+ storage (root DBFS), you need two endpoints, one for blob and one for dfs."""
926
938
 
927
939
  def as_dict(self) -> dict:
928
- """Serializes the CreatePrivateEndpointRuleRequest into a dictionary suitable for use as a JSON request body."""
940
+ """Serializes the CreatePrivateEndpointRule into a dictionary suitable for use as a JSON request body."""
929
941
  body = {}
942
+ if self.domain_names:
943
+ body["domain_names"] = [v for v in self.domain_names]
930
944
  if self.group_id is not None:
931
- body["group_id"] = self.group_id.value
932
- if self.network_connectivity_config_id is not None:
933
- body["network_connectivity_config_id"] = self.network_connectivity_config_id
945
+ body["group_id"] = self.group_id
934
946
  if self.resource_id is not None:
935
947
  body["resource_id"] = self.resource_id
936
948
  return body
937
949
 
938
950
  def as_shallow_dict(self) -> dict:
939
- """Serializes the CreatePrivateEndpointRuleRequest into a shallow dictionary of its immediate attributes."""
951
+ """Serializes the CreatePrivateEndpointRule into a shallow dictionary of its immediate attributes."""
940
952
  body = {}
953
+ if self.domain_names:
954
+ body["domain_names"] = self.domain_names
941
955
  if self.group_id is not None:
942
956
  body["group_id"] = self.group_id
943
- if self.network_connectivity_config_id is not None:
944
- body["network_connectivity_config_id"] = self.network_connectivity_config_id
945
957
  if self.resource_id is not None:
946
958
  body["resource_id"] = self.resource_id
947
959
  return body
948
960
 
949
961
  @classmethod
950
- def from_dict(cls, d: Dict[str, Any]) -> CreatePrivateEndpointRuleRequest:
951
- """Deserializes the CreatePrivateEndpointRuleRequest from a dictionary."""
962
+ def from_dict(cls, d: Dict[str, Any]) -> CreatePrivateEndpointRule:
963
+ """Deserializes the CreatePrivateEndpointRule from a dictionary."""
952
964
  return cls(
953
- group_id=_enum(d, "group_id", CreatePrivateEndpointRuleRequestGroupId),
954
- network_connectivity_config_id=d.get("network_connectivity_config_id", None),
965
+ domain_names=d.get("domain_names", None),
966
+ group_id=d.get("group_id", None),
955
967
  resource_id=d.get("resource_id", None),
956
968
  )
957
969
 
958
970
 
959
- class CreatePrivateEndpointRuleRequestGroupId(Enum):
960
- """The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
961
- storage (root DBFS), you need two endpoints, one for `blob` and one for `dfs`."""
962
-
963
- BLOB = "blob"
964
- DFS = "dfs"
965
- MYSQL_SERVER = "mysqlServer"
966
- SQL_SERVER = "sqlServer"
967
-
968
-
969
971
  @dataclass
970
972
  class CreateTokenRequest:
971
973
  comment: Optional[str] = None
@@ -1961,6 +1963,14 @@ class EgressNetworkPolicyInternetAccessPolicyStorageDestinationStorageDestinatio
1961
1963
  GOOGLE_CLOUD_STORAGE = "GOOGLE_CLOUD_STORAGE"
1962
1964
 
1963
1965
 
1966
+ class EgressResourceType(Enum):
1967
+ """The target resources that are supported by Network Connectivity Config. Note: some egress types
1968
+ can support general types that are not defined in EgressResourceType. E.g.: Azure private
1969
+ endpoint supports private link enabled Azure services."""
1970
+
1971
+ AZURE_BLOB_STORAGE = "AZURE_BLOB_STORAGE"
1972
+
1973
+
1964
1974
  @dataclass
1965
1975
  class EmailConfig:
1966
1976
  addresses: Optional[List[str]] = None
@@ -2721,6 +2731,8 @@ class ListIpAccessListResponse:
2721
2731
 
2722
2732
  @dataclass
2723
2733
  class ListNccAzurePrivateEndpointRulesResponse:
2734
+ """The private endpoint rule list was successfully retrieved."""
2735
+
2724
2736
  items: Optional[List[NccAzurePrivateEndpointRule]] = None
2725
2737
 
2726
2738
  next_page_token: Optional[str] = None
@@ -2756,6 +2768,8 @@ class ListNccAzurePrivateEndpointRulesResponse:
2756
2768
 
2757
2769
  @dataclass
2758
2770
  class ListNetworkConnectivityConfigurationsResponse:
2771
+ """The network connectivity configuration list was successfully retrieved."""
2772
+
2759
2773
  items: Optional[List[NetworkConnectivityConfiguration]] = None
2760
2774
 
2761
2775
  next_page_token: Optional[str] = None
@@ -2991,17 +3005,19 @@ class NccAwsStableIpRule:
2991
3005
 
2992
3006
  @dataclass
2993
3007
  class NccAzurePrivateEndpointRule:
3008
+ """Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure
3009
+ portal after initialization."""
3010
+
2994
3011
  connection_state: Optional[NccAzurePrivateEndpointRuleConnectionState] = None
2995
3012
  """The current status of this private endpoint. The private endpoint rules are effective only if
2996
- the connection state is `ESTABLISHED`. Remember that you must approve new endpoints on your
2997
- resources in the Azure portal before they take effect.
2998
-
2999
- The possible values are: - INIT: (deprecated) The endpoint has been created and pending
3000
- approval. - PENDING: The endpoint has been created and pending approval. - ESTABLISHED: The
3001
- endpoint has been approved and is ready to use in your serverless compute resources. - REJECTED:
3002
- Connection was rejected by the private link resource owner. - DISCONNECTED: Connection was
3003
- removed by the private link resource owner, the private endpoint becomes informative and should
3004
- be deleted for clean-up."""
3013
+ the connection state is ESTABLISHED. Remember that you must approve new endpoints on your
3014
+ resources in the Azure portal before they take effect. The possible values are: - INIT:
3015
+ (deprecated) The endpoint has been created and pending approval. - PENDING: The endpoint has
3016
+ been created and pending approval. - ESTABLISHED: The endpoint has been approved and is ready to
3017
+ use in your serverless compute resources. - REJECTED: Connection was rejected by the private
3018
+ link resource owner. - DISCONNECTED: Connection was removed by the private link resource owner,
3019
+ the private endpoint becomes informative and should be deleted for clean-up. - EXPIRED: If the
3020
+ endpoint was created but not approved in 14 days, it will be EXPIRED."""
3005
3021
 
3006
3022
  creation_time: Optional[int] = None
3007
3023
  """Time in epoch milliseconds when this object was created."""
@@ -3012,12 +3028,21 @@ class NccAzurePrivateEndpointRule:
3012
3028
  deactivated_at: Optional[int] = None
3013
3029
  """Time in epoch milliseconds when this object was deactivated."""
3014
3030
 
3031
+ domain_names: Optional[List[str]] = None
3032
+ """Only used by private endpoints to customer-managed resources.
3033
+
3034
+ Domain names of target private link service. When updating this field, the full list of target
3035
+ domain_names must be specified."""
3036
+
3015
3037
  endpoint_name: Optional[str] = None
3016
3038
  """The name of the Azure private endpoint resource."""
3017
3039
 
3018
- group_id: Optional[NccAzurePrivateEndpointRuleGroupId] = None
3019
- """The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
3020
- storage (root DBFS), you need two endpoints, one for `blob` and one for `dfs`."""
3040
+ group_id: Optional[str] = None
3041
+ """Only used by private endpoints to Azure first-party services. Enum: blob | dfs | sqlServer |
3042
+ mysqlServer
3043
+
3044
+ The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
3045
+ storage (root DBFS), you need two endpoints, one for blob and one for dfs."""
3021
3046
 
3022
3047
  network_connectivity_config_id: Optional[str] = None
3023
3048
  """The ID of a network connectivity configuration, which is the parent resource of this private
@@ -3043,10 +3068,12 @@ class NccAzurePrivateEndpointRule:
3043
3068
  body["deactivated"] = self.deactivated
3044
3069
  if self.deactivated_at is not None:
3045
3070
  body["deactivated_at"] = self.deactivated_at
3071
+ if self.domain_names:
3072
+ body["domain_names"] = [v for v in self.domain_names]
3046
3073
  if self.endpoint_name is not None:
3047
3074
  body["endpoint_name"] = self.endpoint_name
3048
3075
  if self.group_id is not None:
3049
- body["group_id"] = self.group_id.value
3076
+ body["group_id"] = self.group_id
3050
3077
  if self.network_connectivity_config_id is not None:
3051
3078
  body["network_connectivity_config_id"] = self.network_connectivity_config_id
3052
3079
  if self.resource_id is not None:
@@ -3068,6 +3095,8 @@ class NccAzurePrivateEndpointRule:
3068
3095
  body["deactivated"] = self.deactivated
3069
3096
  if self.deactivated_at is not None:
3070
3097
  body["deactivated_at"] = self.deactivated_at
3098
+ if self.domain_names:
3099
+ body["domain_names"] = self.domain_names
3071
3100
  if self.endpoint_name is not None:
3072
3101
  body["endpoint_name"] = self.endpoint_name
3073
3102
  if self.group_id is not None:
@@ -3090,8 +3119,9 @@ class NccAzurePrivateEndpointRule:
3090
3119
  creation_time=d.get("creation_time", None),
3091
3120
  deactivated=d.get("deactivated", None),
3092
3121
  deactivated_at=d.get("deactivated_at", None),
3122
+ domain_names=d.get("domain_names", None),
3093
3123
  endpoint_name=d.get("endpoint_name", None),
3094
- group_id=_enum(d, "group_id", NccAzurePrivateEndpointRuleGroupId),
3124
+ group_id=d.get("group_id", None),
3095
3125
  network_connectivity_config_id=d.get("network_connectivity_config_id", None),
3096
3126
  resource_id=d.get("resource_id", None),
3097
3127
  rule_id=d.get("rule_id", None),
@@ -3100,34 +3130,15 @@ class NccAzurePrivateEndpointRule:
3100
3130
 
3101
3131
 
3102
3132
  class NccAzurePrivateEndpointRuleConnectionState(Enum):
3103
- """The current status of this private endpoint. The private endpoint rules are effective only if
3104
- the connection state is `ESTABLISHED`. Remember that you must approve new endpoints on your
3105
- resources in the Azure portal before they take effect.
3106
-
3107
- The possible values are: - INIT: (deprecated) The endpoint has been created and pending
3108
- approval. - PENDING: The endpoint has been created and pending approval. - ESTABLISHED: The
3109
- endpoint has been approved and is ready to use in your serverless compute resources. - REJECTED:
3110
- Connection was rejected by the private link resource owner. - DISCONNECTED: Connection was
3111
- removed by the private link resource owner, the private endpoint becomes informative and should
3112
- be deleted for clean-up."""
3113
3133
 
3114
3134
  DISCONNECTED = "DISCONNECTED"
3115
3135
  ESTABLISHED = "ESTABLISHED"
3136
+ EXPIRED = "EXPIRED"
3116
3137
  INIT = "INIT"
3117
3138
  PENDING = "PENDING"
3118
3139
  REJECTED = "REJECTED"
3119
3140
 
3120
3141
 
3121
- class NccAzurePrivateEndpointRuleGroupId(Enum):
3122
- """The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
3123
- storage (root DBFS), you need two endpoints, one for `blob` and one for `dfs`."""
3124
-
3125
- BLOB = "blob"
3126
- DFS = "dfs"
3127
- MYSQL_SERVER = "mysqlServer"
3128
- SQL_SERVER = "sqlServer"
3129
-
3130
-
3131
3142
  @dataclass
3132
3143
  class NccAzureServiceEndpointRule:
3133
3144
  """The stable Azure service endpoints. You can configure the firewall of your Azure resources to
@@ -3138,9 +3149,9 @@ class NccAzureServiceEndpointRule:
3138
3149
  resources."""
3139
3150
 
3140
3151
  target_region: Optional[str] = None
3141
- """The Azure region in which this service endpoint rule applies."""
3152
+ """The Azure region in which this service endpoint rule applies.."""
3142
3153
 
3143
- target_services: Optional[List[str]] = None
3154
+ target_services: Optional[List[EgressResourceType]] = None
3144
3155
  """The Azure services to which this service endpoint rule applies to."""
3145
3156
 
3146
3157
  def as_dict(self) -> dict:
@@ -3151,7 +3162,7 @@ class NccAzureServiceEndpointRule:
3151
3162
  if self.target_region is not None:
3152
3163
  body["target_region"] = self.target_region
3153
3164
  if self.target_services:
3154
- body["target_services"] = [v for v in self.target_services]
3165
+ body["target_services"] = [v.value for v in self.target_services]
3155
3166
  return body
3156
3167
 
3157
3168
  def as_shallow_dict(self) -> dict:
@@ -3171,15 +3182,12 @@ class NccAzureServiceEndpointRule:
3171
3182
  return cls(
3172
3183
  subnets=d.get("subnets", None),
3173
3184
  target_region=d.get("target_region", None),
3174
- target_services=d.get("target_services", None),
3185
+ target_services=_repeated_enum(d, "target_services", EgressResourceType),
3175
3186
  )
3176
3187
 
3177
3188
 
3178
3189
  @dataclass
3179
3190
  class NccEgressConfig:
3180
- """The network connectivity rules that apply to network traffic from your serverless compute
3181
- resources."""
3182
-
3183
3191
  default_rules: Optional[NccEgressDefaultRules] = None
3184
3192
  """The network connectivity rules that are applied by default without resource specific
3185
3193
  configurations. You can find the stable network information of your serverless compute resources
@@ -3218,9 +3226,7 @@ class NccEgressConfig:
3218
3226
 
3219
3227
  @dataclass
3220
3228
  class NccEgressDefaultRules:
3221
- """The network connectivity rules that are applied by default without resource specific
3222
- configurations. You can find the stable network information of your serverless compute resources
3223
- here."""
3229
+ """Default rules don't have specific targets."""
3224
3230
 
3225
3231
  aws_stable_ip_rule: Optional[NccAwsStableIpRule] = None
3226
3232
  """The stable AWS IP CIDR blocks. You can use these to configure the firewall of your resources to
@@ -3259,8 +3265,7 @@ class NccEgressDefaultRules:
3259
3265
 
3260
3266
  @dataclass
3261
3267
  class NccEgressTargetRules:
3262
- """The network connectivity rules that configured for each destinations. These rules override
3263
- default rules."""
3268
+ """Target rule controls the egress rules that are dedicated to specific resources."""
3264
3269
 
3265
3270
  azure_private_endpoint_rules: Optional[List[NccAzurePrivateEndpointRule]] = None
3266
3271
 
@@ -3288,6 +3293,8 @@ class NccEgressTargetRules:
3288
3293
 
3289
3294
  @dataclass
3290
3295
  class NetworkConnectivityConfiguration:
3296
+ """Properties of the new network connectivity configuration."""
3297
+
3291
3298
  account_id: Optional[str] = None
3292
3299
  """The Databricks account ID that hosts the credential."""
3293
3300
 
@@ -3301,7 +3308,7 @@ class NetworkConnectivityConfiguration:
3301
3308
  name: Optional[str] = None
3302
3309
  """The name of the network connectivity configuration. The name can contain alphanumeric
3303
3310
  characters, hyphens, and underscores. The length must be between 3 and 30 characters. The name
3304
- must match the regular expression `^[0-9a-zA-Z-_]{3,30}$`."""
3311
+ must match the regular expression ^[0-9a-zA-Z-_]{3,30}$"""
3305
3312
 
3306
3313
  network_connectivity_config_id: Optional[str] = None
3307
3314
  """Databricks network connectivity configuration ID."""
@@ -5198,6 +5205,37 @@ class UpdatePersonalComputeSettingRequest:
5198
5205
  )
5199
5206
 
5200
5207
 
5208
+ @dataclass
5209
+ class UpdatePrivateEndpointRule:
5210
+ """Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure
5211
+ portal after initialization."""
5212
+
5213
+ domain_names: Optional[List[str]] = None
5214
+ """Only used by private endpoints to customer-managed resources.
5215
+
5216
+ Domain names of target private link service. When updating this field, the full list of target
5217
+ domain_names must be specified."""
5218
+
5219
+ def as_dict(self) -> dict:
5220
+ """Serializes the UpdatePrivateEndpointRule into a dictionary suitable for use as a JSON request body."""
5221
+ body = {}
5222
+ if self.domain_names:
5223
+ body["domain_names"] = [v for v in self.domain_names]
5224
+ return body
5225
+
5226
+ def as_shallow_dict(self) -> dict:
5227
+ """Serializes the UpdatePrivateEndpointRule into a shallow dictionary of its immediate attributes."""
5228
+ body = {}
5229
+ if self.domain_names:
5230
+ body["domain_names"] = self.domain_names
5231
+ return body
5232
+
5233
+ @classmethod
5234
+ def from_dict(cls, d: Dict[str, Any]) -> UpdatePrivateEndpointRule:
5235
+ """Deserializes the UpdatePrivateEndpointRule from a dictionary."""
5236
+ return cls(domain_names=d.get("domain_names", None))
5237
+
5238
+
5201
5239
  @dataclass
5202
5240
  class UpdateResponse:
5203
5241
  def as_dict(self) -> dict:
@@ -6490,16 +6528,16 @@ class DisableLegacyFeaturesAPI:
6490
6528
 
6491
6529
 
6492
6530
  class EnableExportNotebookAPI:
6493
- """Controls whether users can export notebooks and files from the Workspace. By default, this setting is
6531
+ """Controls whether users can export notebooks and files from the Workspace UI. By default, this setting is
6494
6532
  enabled."""
6495
6533
 
6496
6534
  def __init__(self, api_client):
6497
6535
  self._api = api_client
6498
6536
 
6499
6537
  def get_enable_export_notebook(self) -> EnableExportNotebook:
6500
- """Get the Enable Export Notebook setting.
6538
+ """Get the Notebook and File exporting setting.
6501
6539
 
6502
- Gets the Enable Export Notebook setting.
6540
+ Gets the Notebook and File exporting setting.
6503
6541
 
6504
6542
  :returns: :class:`EnableExportNotebook`
6505
6543
  """
@@ -6514,10 +6552,10 @@ class EnableExportNotebookAPI:
6514
6552
  def patch_enable_export_notebook(
6515
6553
  self, allow_missing: bool, setting: EnableExportNotebook, field_mask: str
6516
6554
  ) -> EnableExportNotebook:
6517
- """Update the Enable Export Notebook setting.
6555
+ """Update the Notebook and File exporting setting.
6518
6556
 
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.
6557
+ Updates the Notebook and File exporting setting. The model follows eventual consistency, which means
6558
+ the get after the update operation might receive stale values for some time.
6521
6559
 
6522
6560
  :param allow_missing: bool
6523
6561
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -6670,9 +6708,9 @@ class EnableNotebookTableClipboardAPI:
6670
6708
  self._api = api_client
6671
6709
 
6672
6710
  def get_enable_notebook_table_clipboard(self) -> EnableNotebookTableClipboard:
6673
- """Get the Enable Notebook Table Clipboard setting.
6711
+ """Get the Results Table Clipboard features setting.
6674
6712
 
6675
- Gets the Enable Notebook Table Clipboard setting.
6713
+ Gets the Results Table Clipboard features setting.
6676
6714
 
6677
6715
  :returns: :class:`EnableNotebookTableClipboard`
6678
6716
  """
@@ -6689,9 +6727,9 @@ class EnableNotebookTableClipboardAPI:
6689
6727
  def patch_enable_notebook_table_clipboard(
6690
6728
  self, allow_missing: bool, setting: EnableNotebookTableClipboard, field_mask: str
6691
6729
  ) -> EnableNotebookTableClipboard:
6692
- """Update the Enable Notebook Table Clipboard setting.
6730
+ """Update the Results Table Clipboard features setting.
6693
6731
 
6694
- Updates the Enable Notebook Table Clipboard setting. The model follows eventual consistency, which
6732
+ Updates the Results Table Clipboard features setting. The model follows eventual consistency, which
6695
6733
  means the get after the update operation might receive stale values for some time.
6696
6734
 
6697
6735
  :param allow_missing: bool
@@ -6735,9 +6773,9 @@ class EnableResultsDownloadingAPI:
6735
6773
  self._api = api_client
6736
6774
 
6737
6775
  def get_enable_results_downloading(self) -> EnableResultsDownloading:
6738
- """Get the Enable Results Downloading setting.
6776
+ """Get the Notebook results download setting.
6739
6777
 
6740
- Gets the Enable Results Downloading setting.
6778
+ Gets the Notebook results download setting.
6741
6779
 
6742
6780
  :returns: :class:`EnableResultsDownloading`
6743
6781
  """
@@ -6752,10 +6790,10 @@ class EnableResultsDownloadingAPI:
6752
6790
  def patch_enable_results_downloading(
6753
6791
  self, allow_missing: bool, setting: EnableResultsDownloading, field_mask: str
6754
6792
  ) -> EnableResultsDownloading:
6755
- """Update the Enable Results Downloading setting.
6793
+ """Update the Notebook results download setting.
6756
6794
 
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.
6795
+ Updates the Notebook results download setting. The model follows eventual consistency, which means the
6796
+ get after the update operation might receive stale values for some time.
6759
6797
 
6760
6798
  :param allow_missing: bool
6761
6799
  This should always be set to true for Settings API. Added for AIP compliance.
@@ -7183,29 +7221,40 @@ class IpAccessListsAPI:
7183
7221
 
7184
7222
  class NetworkConnectivityAPI:
7185
7223
  """These APIs provide configurations for the network connectivity of your workspaces for serverless compute
7186
- resources."""
7224
+ resources. This API provides stable subnets for your workspace so that you can configure your firewalls on
7225
+ your Azure Storage accounts to allow access from Databricks. You can also use the API to provision private
7226
+ endpoints for Databricks to privately connect serverless compute resources to your Azure resources using
7227
+ Azure Private Link. See [configure serverless secure connectivity].
7228
+
7229
+ [configure serverless secure connectivity]: https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security
7230
+ """
7187
7231
 
7188
7232
  def __init__(self, api_client):
7189
7233
  self._api = api_client
7190
7234
 
7191
- def create_network_connectivity_configuration(self, name: str, region: str) -> NetworkConnectivityConfiguration:
7235
+ def create_network_connectivity_configuration(
7236
+ self, network_connectivity_config: CreateNetworkConnectivityConfiguration
7237
+ ) -> NetworkConnectivityConfiguration:
7192
7238
  """Create a network connectivity configuration.
7193
7239
 
7194
- :param name: str
7195
- The name of the network connectivity configuration. The name can contain alphanumeric characters,
7196
- hyphens, and underscores. The length must be between 3 and 30 characters. The name must match the
7197
- regular expression `^[0-9a-zA-Z-_]{3,30}$`.
7198
- :param region: str
7199
- The region for the network connectivity configuration. Only workspaces in the same region can be
7200
- attached to the network connectivity configuration.
7240
+ Creates a network connectivity configuration (NCC), which provides stable Azure service subnets when
7241
+ accessing your Azure Storage accounts. You can also use a network connectivity configuration to create
7242
+ Databricks managed private endpoints so that Databricks serverless compute resources privately access
7243
+ your resources.
7244
+
7245
+ **IMPORTANT**: After you create the network connectivity configuration, you must assign one or more
7246
+ workspaces to the new network connectivity configuration. You can share one network connectivity
7247
+ configuration with multiple workspaces from the same Azure region within the same Databricks account.
7248
+ See [configure serverless secure connectivity].
7249
+
7250
+ [configure serverless secure connectivity]: https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security
7251
+
7252
+ :param network_connectivity_config: :class:`CreateNetworkConnectivityConfiguration`
7253
+ Properties of the new network connectivity configuration.
7201
7254
 
7202
7255
  :returns: :class:`NetworkConnectivityConfiguration`
7203
7256
  """
7204
- body = {}
7205
- if name is not None:
7206
- body["name"] = name
7207
- if region is not None:
7208
- body["region"] = region
7257
+ body = network_connectivity_config.as_dict()
7209
7258
  headers = {
7210
7259
  "Accept": "application/json",
7211
7260
  "Content-Type": "application/json",
@@ -7217,7 +7266,7 @@ class NetworkConnectivityAPI:
7217
7266
  return NetworkConnectivityConfiguration.from_dict(res)
7218
7267
 
7219
7268
  def create_private_endpoint_rule(
7220
- self, network_connectivity_config_id: str, resource_id: str, group_id: CreatePrivateEndpointRuleRequestGroupId
7269
+ self, network_connectivity_config_id: str, private_endpoint_rule: CreatePrivateEndpointRule
7221
7270
  ) -> NccAzurePrivateEndpointRule:
7222
7271
  """Create a private endpoint rule.
7223
7272
 
@@ -7232,20 +7281,14 @@ class NetworkConnectivityAPI:
7232
7281
  [serverless private link]: https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security/serverless-private-link
7233
7282
 
7234
7283
  :param network_connectivity_config_id: str
7235
- Your Network Connectvity Configuration ID.
7236
- :param resource_id: str
7237
- The Azure resource ID of the target resource.
7238
- :param group_id: :class:`CreatePrivateEndpointRuleRequestGroupId`
7239
- The sub-resource type (group ID) of the target resource. Note that to connect to workspace root
7240
- storage (root DBFS), you need two endpoints, one for `blob` and one for `dfs`.
7284
+ Your Network Connectivity Configuration ID.
7285
+ :param private_endpoint_rule: :class:`CreatePrivateEndpointRule`
7286
+ Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure portal
7287
+ after initialization.
7241
7288
 
7242
7289
  :returns: :class:`NccAzurePrivateEndpointRule`
7243
7290
  """
7244
- body = {}
7245
- if group_id is not None:
7246
- body["group_id"] = group_id.value
7247
- if resource_id is not None:
7248
- body["resource_id"] = resource_id
7291
+ body = private_endpoint_rule.as_dict()
7249
7292
  headers = {
7250
7293
  "Accept": "application/json",
7251
7294
  "Content-Type": "application/json",
@@ -7265,7 +7308,7 @@ class NetworkConnectivityAPI:
7265
7308
  Deletes a network connectivity configuration.
7266
7309
 
7267
7310
  :param network_connectivity_config_id: str
7268
- Your Network Connectvity Configuration ID.
7311
+ Your Network Connectivity Configuration ID.
7269
7312
 
7270
7313
 
7271
7314
  """
@@ -7317,7 +7360,7 @@ class NetworkConnectivityAPI:
7317
7360
  Gets a network connectivity configuration.
7318
7361
 
7319
7362
  :param network_connectivity_config_id: str
7320
- Your Network Connectvity Configuration ID.
7363
+ Your Network Connectivity Configuration ID.
7321
7364
 
7322
7365
  :returns: :class:`NetworkConnectivityConfiguration`
7323
7366
  """
@@ -7336,7 +7379,7 @@ class NetworkConnectivityAPI:
7336
7379
  def get_private_endpoint_rule(
7337
7380
  self, network_connectivity_config_id: str, private_endpoint_rule_id: str
7338
7381
  ) -> NccAzurePrivateEndpointRule:
7339
- """Get a private endpoint rule.
7382
+ """Gets a private endpoint rule.
7340
7383
 
7341
7384
  Gets the private endpoint rule.
7342
7385
 
@@ -7429,6 +7472,52 @@ class NetworkConnectivityAPI:
7429
7472
  return
7430
7473
  query["page_token"] = json["next_page_token"]
7431
7474
 
7475
+ def update_ncc_azure_private_endpoint_rule_public(
7476
+ self,
7477
+ network_connectivity_config_id: str,
7478
+ private_endpoint_rule_id: str,
7479
+ private_endpoint_rule: UpdatePrivateEndpointRule,
7480
+ update_mask: str,
7481
+ ) -> NccAzurePrivateEndpointRule:
7482
+ """Update a private endpoint rule.
7483
+
7484
+ Updates a private endpoint rule. Currently only a private endpoint rule to customer-managed resources
7485
+ is allowed to be updated.
7486
+
7487
+ :param network_connectivity_config_id: str
7488
+ Your Network Connectivity Configuration ID.
7489
+ :param private_endpoint_rule_id: str
7490
+ Your private endpoint rule ID.
7491
+ :param private_endpoint_rule: :class:`UpdatePrivateEndpointRule`
7492
+ Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure portal
7493
+ after initialization.
7494
+ :param update_mask: str
7495
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
7496
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
7497
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
7498
+ the entire collection field can be specified. Field names must exactly match the resource field
7499
+ names.
7500
+
7501
+ :returns: :class:`NccAzurePrivateEndpointRule`
7502
+ """
7503
+ body = private_endpoint_rule.as_dict()
7504
+ query = {}
7505
+ if update_mask is not None:
7506
+ query["update_mask"] = update_mask
7507
+ headers = {
7508
+ "Accept": "application/json",
7509
+ "Content-Type": "application/json",
7510
+ }
7511
+
7512
+ res = self._api.do(
7513
+ "PATCH",
7514
+ f"/api/2.0/accounts/{self._api.account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}",
7515
+ query=query,
7516
+ body=body,
7517
+ headers=headers,
7518
+ )
7519
+ return NccAzurePrivateEndpointRule.from_dict(res)
7520
+
7432
7521
 
7433
7522
  class NotificationDestinationsAPI:
7434
7523
  """The notification destinations API lets you programmatically manage a workspace's notification
@@ -7844,7 +7933,7 @@ class SettingsAPI:
7844
7933
 
7845
7934
  @property
7846
7935
  def enable_export_notebook(self) -> EnableExportNotebookAPI:
7847
- """Controls whether users can export notebooks and files from the Workspace."""
7936
+ """Controls whether users can export notebooks and files from the Workspace UI."""
7848
7937
  return self._enable_export_notebook
7849
7938
 
7850
7939
  @property