databricks-sdk 0.69.0__py3-none-any.whl → 0.71.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (37) hide show
  1. databricks/sdk/__init__.py +24 -24
  2. databricks/sdk/dbutils.py +17 -0
  3. databricks/sdk/mixins/files.py +10 -10
  4. databricks/sdk/service/agentbricks.py +2 -0
  5. databricks/sdk/service/apps.py +10 -0
  6. databricks/sdk/service/billing.py +13 -3
  7. databricks/sdk/service/catalog.py +131 -47
  8. databricks/sdk/service/cleanrooms.py +11 -3
  9. databricks/sdk/service/compute.py +64 -0
  10. databricks/sdk/service/dashboards.py +10 -0
  11. databricks/sdk/service/database.py +12 -0
  12. databricks/sdk/service/dataquality.py +201 -52
  13. databricks/sdk/service/files.py +7 -72
  14. databricks/sdk/service/iam.py +26 -36
  15. databricks/sdk/service/iamv2.py +6 -0
  16. databricks/sdk/service/jobs.py +86 -154
  17. databricks/sdk/service/marketplace.py +18 -0
  18. databricks/sdk/service/ml.py +464 -13
  19. databricks/sdk/service/oauth2.py +37 -19
  20. databricks/sdk/service/pipelines.py +25 -2
  21. databricks/sdk/service/provisioning.py +19 -1
  22. databricks/sdk/service/qualitymonitorv2.py +2 -0
  23. databricks/sdk/service/serving.py +16 -21
  24. databricks/sdk/service/settings.py +45 -72
  25. databricks/sdk/service/settingsv2.py +2 -0
  26. databricks/sdk/service/sharing.py +23 -69
  27. databricks/sdk/service/sql.py +85 -62
  28. databricks/sdk/service/tags.py +2 -0
  29. databricks/sdk/service/vectorsearch.py +8 -0
  30. databricks/sdk/service/workspace.py +18 -91
  31. databricks/sdk/version.py +1 -1
  32. {databricks_sdk-0.69.0.dist-info → databricks_sdk-0.71.0.dist-info}/METADATA +1 -1
  33. {databricks_sdk-0.69.0.dist-info → databricks_sdk-0.71.0.dist-info}/RECORD +37 -37
  34. {databricks_sdk-0.69.0.dist-info → databricks_sdk-0.71.0.dist-info}/WHEEL +0 -0
  35. {databricks_sdk-0.69.0.dist-info → databricks_sdk-0.71.0.dist-info}/licenses/LICENSE +0 -0
  36. {databricks_sdk-0.69.0.dist-info → databricks_sdk-0.71.0.dist-info}/licenses/NOTICE +0 -0
  37. {databricks_sdk-0.69.0.dist-info → databricks_sdk-0.71.0.dist-info}/top_level.txt +0 -0
@@ -1697,24 +1697,6 @@ class DeletePersonalComputeSettingResponse:
1697
1697
  return cls(etag=d.get("etag", None))
1698
1698
 
1699
1699
 
1700
- @dataclass
1701
- class DeleteResponse:
1702
- def as_dict(self) -> dict:
1703
- """Serializes the DeleteResponse into a dictionary suitable for use as a JSON request body."""
1704
- body = {}
1705
- return body
1706
-
1707
- def as_shallow_dict(self) -> dict:
1708
- """Serializes the DeleteResponse into a shallow dictionary of its immediate attributes."""
1709
- body = {}
1710
- return body
1711
-
1712
- @classmethod
1713
- def from_dict(cls, d: Dict[str, Any]) -> DeleteResponse:
1714
- """Deserializes the DeleteResponse from a dictionary."""
1715
- return cls()
1716
-
1717
-
1718
1700
  @dataclass
1719
1701
  class DeleteRestrictWorkspaceAdminsSettingResponse:
1720
1702
  """The etag is returned."""
@@ -4183,6 +4165,8 @@ class NccPrivateEndpointRule:
4183
4165
 
4184
4166
  class NccPrivateEndpointRulePrivateLinkConnectionState(Enum):
4185
4167
 
4168
+ CREATE_FAILED = "CREATE_FAILED"
4169
+ CREATING = "CREATING"
4186
4170
  DISCONNECTED = "DISCONNECTED"
4187
4171
  ESTABLISHED = "ESTABLISHED"
4188
4172
  EXPIRED = "EXPIRED"
@@ -4551,24 +4535,6 @@ class PublicTokenInfo:
4551
4535
  )
4552
4536
 
4553
4537
 
4554
- @dataclass
4555
- class ReplaceResponse:
4556
- def as_dict(self) -> dict:
4557
- """Serializes the ReplaceResponse into a dictionary suitable for use as a JSON request body."""
4558
- body = {}
4559
- return body
4560
-
4561
- def as_shallow_dict(self) -> dict:
4562
- """Serializes the ReplaceResponse into a shallow dictionary of its immediate attributes."""
4563
- body = {}
4564
- return body
4565
-
4566
- @classmethod
4567
- def from_dict(cls, d: Dict[str, Any]) -> ReplaceResponse:
4568
- """Deserializes the ReplaceResponse from a dictionary."""
4569
- return cls()
4570
-
4571
-
4572
4538
  @dataclass
4573
4539
  class RestrictWorkspaceAdminsMessage:
4574
4540
  status: RestrictWorkspaceAdminsMessageStatus
@@ -4667,24 +4633,6 @@ class RevokeTokenResponse:
4667
4633
  return cls()
4668
4634
 
4669
4635
 
4670
- @dataclass
4671
- class SetStatusResponse:
4672
- def as_dict(self) -> dict:
4673
- """Serializes the SetStatusResponse into a dictionary suitable for use as a JSON request body."""
4674
- body = {}
4675
- return body
4676
-
4677
- def as_shallow_dict(self) -> dict:
4678
- """Serializes the SetStatusResponse into a shallow dictionary of its immediate attributes."""
4679
- body = {}
4680
- return body
4681
-
4682
- @classmethod
4683
- def from_dict(cls, d: Dict[str, Any]) -> SetStatusResponse:
4684
- """Deserializes the SetStatusResponse from a dictionary."""
4685
- return cls()
4686
-
4687
-
4688
4636
  @dataclass
4689
4637
  class SlackConfig:
4690
4638
  channel_id: Optional[str] = None
@@ -5213,24 +5161,6 @@ class UpdatePrivateEndpointRule:
5213
5161
  )
5214
5162
 
5215
5163
 
5216
- @dataclass
5217
- class UpdateResponse:
5218
- def as_dict(self) -> dict:
5219
- """Serializes the UpdateResponse into a dictionary suitable for use as a JSON request body."""
5220
- body = {}
5221
- return body
5222
-
5223
- def as_shallow_dict(self) -> dict:
5224
- """Serializes the UpdateResponse into a shallow dictionary of its immediate attributes."""
5225
- body = {}
5226
- return body
5227
-
5228
- @classmethod
5229
- def from_dict(cls, d: Dict[str, Any]) -> UpdateResponse:
5230
- """Deserializes the UpdateResponse from a dictionary."""
5231
- return cls()
5232
-
5233
-
5234
5164
  WorkspaceConf = Dict[str, str]
5235
5165
 
5236
5166
 
@@ -5315,6 +5245,7 @@ class AccountIpAccessListsAPI:
5315
5245
 
5316
5246
  :returns: :class:`CreateIpAccessListResponse`
5317
5247
  """
5248
+
5318
5249
  body = {}
5319
5250
  if ip_addresses is not None:
5320
5251
  body["ip_addresses"] = [v for v in ip_addresses]
@@ -5410,6 +5341,7 @@ class AccountIpAccessListsAPI:
5410
5341
 
5411
5342
 
5412
5343
  """
5344
+
5413
5345
  body = {}
5414
5346
  if enabled is not None:
5415
5347
  body["enabled"] = enabled
@@ -5464,6 +5396,7 @@ class AccountIpAccessListsAPI:
5464
5396
 
5465
5397
 
5466
5398
  """
5399
+
5467
5400
  body = {}
5468
5401
  if enabled is not None:
5469
5402
  body["enabled"] = enabled
@@ -5617,6 +5550,7 @@ class AibiDashboardEmbeddingAccessPolicyAPI:
5617
5550
 
5618
5551
  :returns: :class:`AibiDashboardEmbeddingAccessPolicySetting`
5619
5552
  """
5553
+
5620
5554
  body = {}
5621
5555
  if allow_missing is not None:
5622
5556
  body["allow_missing"] = allow_missing
@@ -5721,6 +5655,7 @@ class AibiDashboardEmbeddingApprovedDomainsAPI:
5721
5655
 
5722
5656
  :returns: :class:`AibiDashboardEmbeddingApprovedDomainsSetting`
5723
5657
  """
5658
+
5724
5659
  body = {}
5725
5660
  if allow_missing is not None:
5726
5661
  body["allow_missing"] = allow_missing
@@ -5798,6 +5733,7 @@ class AutomaticClusterUpdateAPI:
5798
5733
 
5799
5734
  :returns: :class:`AutomaticClusterUpdateSetting`
5800
5735
  """
5736
+
5801
5737
  body = {}
5802
5738
  if allow_missing is not None:
5803
5739
  body["allow_missing"] = allow_missing
@@ -5874,6 +5810,7 @@ class ComplianceSecurityProfileAPI:
5874
5810
 
5875
5811
  :returns: :class:`ComplianceSecurityProfileSetting`
5876
5812
  """
5813
+
5877
5814
  body = {}
5878
5815
  if allow_missing is not None:
5879
5816
  body["allow_missing"] = allow_missing
@@ -5914,6 +5851,7 @@ class CredentialsManagerAPI:
5914
5851
 
5915
5852
  :returns: :class:`ExchangeTokenResponse`
5916
5853
  """
5854
+
5917
5855
  body = {}
5918
5856
  if partition_id is not None:
5919
5857
  body["partitionId"] = partition_id.as_dict()
@@ -5990,6 +5928,7 @@ class CspEnablementAccountAPI:
5990
5928
 
5991
5929
  :returns: :class:`CspEnablementAccountSetting`
5992
5930
  """
5931
+
5993
5932
  body = {}
5994
5933
  if allow_missing is not None:
5995
5934
  body["allow_missing"] = allow_missing
@@ -6093,6 +6032,7 @@ class DashboardEmailSubscriptionsAPI:
6093
6032
 
6094
6033
  :returns: :class:`DashboardEmailSubscriptions`
6095
6034
  """
6035
+
6096
6036
  body = {}
6097
6037
  if allow_missing is not None:
6098
6038
  body["allow_missing"] = allow_missing
@@ -6203,6 +6143,7 @@ class DefaultNamespaceAPI:
6203
6143
 
6204
6144
  :returns: :class:`DefaultNamespaceSetting`
6205
6145
  """
6146
+
6206
6147
  body = {}
6207
6148
  if allow_missing is not None:
6208
6149
  body["allow_missing"] = allow_missing
@@ -6297,6 +6238,7 @@ class DefaultWarehouseIdAPI:
6297
6238
 
6298
6239
  :returns: :class:`DefaultWarehouseId`
6299
6240
  """
6241
+
6300
6242
  body = {}
6301
6243
  if allow_missing is not None:
6302
6244
  body["allow_missing"] = allow_missing
@@ -6394,6 +6336,7 @@ class DisableLegacyAccessAPI:
6394
6336
 
6395
6337
  :returns: :class:`DisableLegacyAccess`
6396
6338
  """
6339
+
6397
6340
  body = {}
6398
6341
  if allow_missing is not None:
6399
6342
  body["allow_missing"] = allow_missing
@@ -6494,6 +6437,7 @@ class DisableLegacyDbfsAPI:
6494
6437
 
6495
6438
  :returns: :class:`DisableLegacyDbfs`
6496
6439
  """
6440
+
6497
6441
  body = {}
6498
6442
  if allow_missing is not None:
6499
6443
  body["allow_missing"] = allow_missing
@@ -6597,6 +6541,7 @@ class DisableLegacyFeaturesAPI:
6597
6541
 
6598
6542
  :returns: :class:`DisableLegacyFeatures`
6599
6543
  """
6544
+
6600
6545
  body = {}
6601
6546
  if allow_missing is not None:
6602
6547
  body["allow_missing"] = allow_missing
@@ -6661,6 +6606,7 @@ class EnableExportNotebookAPI:
6661
6606
 
6662
6607
  :returns: :class:`EnableExportNotebook`
6663
6608
  """
6609
+
6664
6610
  body = {}
6665
6611
  if allow_missing is not None:
6666
6612
  body["allow_missing"] = allow_missing
@@ -6761,6 +6707,7 @@ class EnableIpAccessListsAPI:
6761
6707
 
6762
6708
  :returns: :class:`AccountIpAccessEnable`
6763
6709
  """
6710
+
6764
6711
  body = {}
6765
6712
  if allow_missing is not None:
6766
6713
  body["allow_missing"] = allow_missing
@@ -6827,6 +6774,7 @@ class EnableNotebookTableClipboardAPI:
6827
6774
 
6828
6775
  :returns: :class:`EnableNotebookTableClipboard`
6829
6776
  """
6777
+
6830
6778
  body = {}
6831
6779
  if allow_missing is not None:
6832
6780
  body["allow_missing"] = allow_missing
@@ -6887,6 +6835,7 @@ class EnableResultsDownloadingAPI:
6887
6835
 
6888
6836
  :returns: :class:`EnableResultsDownloading`
6889
6837
  """
6838
+
6890
6839
  body = {}
6891
6840
  if allow_missing is not None:
6892
6841
  body["allow_missing"] = allow_missing
@@ -6965,6 +6914,7 @@ class EnhancedSecurityMonitoringAPI:
6965
6914
 
6966
6915
  :returns: :class:`EnhancedSecurityMonitoringSetting`
6967
6916
  """
6917
+
6968
6918
  body = {}
6969
6919
  if allow_missing is not None:
6970
6920
  body["allow_missing"] = allow_missing
@@ -7040,6 +6990,7 @@ class EsmEnablementAccountAPI:
7040
6990
 
7041
6991
  :returns: :class:`EsmEnablementAccountSetting`
7042
6992
  """
6993
+
7043
6994
  body = {}
7044
6995
  if allow_missing is not None:
7045
6996
  body["allow_missing"] = allow_missing
@@ -7108,6 +7059,7 @@ class IpAccessListsAPI:
7108
7059
 
7109
7060
  :returns: :class:`CreateIpAccessListResponse`
7110
7061
  """
7062
+
7111
7063
  body = {}
7112
7064
  if ip_addresses is not None:
7113
7065
  body["ip_addresses"] = [v for v in ip_addresses]
@@ -7198,6 +7150,7 @@ class IpAccessListsAPI:
7198
7150
 
7199
7151
 
7200
7152
  """
7153
+
7201
7154
  body = {}
7202
7155
  if enabled is not None:
7203
7156
  body["enabled"] = enabled
@@ -7248,6 +7201,7 @@ class IpAccessListsAPI:
7248
7201
 
7249
7202
 
7250
7203
  """
7204
+
7251
7205
  body = {}
7252
7206
  if enabled is not None:
7253
7207
  body["enabled"] = enabled
@@ -7319,6 +7273,7 @@ class LlmProxyPartnerPoweredAccountAPI:
7319
7273
 
7320
7274
  :returns: :class:`LlmProxyPartnerPoweredAccount`
7321
7275
  """
7276
+
7322
7277
  body = {}
7323
7278
  if allow_missing is not None:
7324
7279
  body["allow_missing"] = allow_missing
@@ -7396,6 +7351,7 @@ class LlmProxyPartnerPoweredEnforceAPI:
7396
7351
 
7397
7352
  :returns: :class:`LlmProxyPartnerPoweredEnforce`
7398
7353
  """
7354
+
7399
7355
  body = {}
7400
7356
  if allow_missing is not None:
7401
7357
  body["allow_missing"] = allow_missing
@@ -7494,6 +7450,7 @@ class LlmProxyPartnerPoweredWorkspaceAPI:
7494
7450
 
7495
7451
  :returns: :class:`LlmProxyPartnerPoweredWorkspace`
7496
7452
  """
7453
+
7497
7454
  body = {}
7498
7455
  if allow_missing is not None:
7499
7456
  body["allow_missing"] = allow_missing
@@ -7544,6 +7501,7 @@ class NetworkConnectivityAPI:
7544
7501
 
7545
7502
  :returns: :class:`NetworkConnectivityConfiguration`
7546
7503
  """
7504
+
7547
7505
  body = network_connectivity_config.as_dict()
7548
7506
  headers = {
7549
7507
  "Accept": "application/json",
@@ -7574,6 +7532,7 @@ class NetworkConnectivityAPI:
7574
7532
 
7575
7533
  :returns: :class:`NccPrivateEndpointRule`
7576
7534
  """
7535
+
7577
7536
  body = private_endpoint_rule.as_dict()
7578
7537
  headers = {
7579
7538
  "Accept": "application/json",
@@ -7771,6 +7730,7 @@ class NetworkConnectivityAPI:
7771
7730
 
7772
7731
  :returns: :class:`NccPrivateEndpointRule`
7773
7732
  """
7733
+
7774
7734
  body = private_endpoint_rule.as_dict()
7775
7735
  query = {}
7776
7736
  if update_mask is not None:
@@ -7810,6 +7770,7 @@ class NetworkPoliciesAPI:
7810
7770
 
7811
7771
  :returns: :class:`AccountNetworkPolicy`
7812
7772
  """
7773
+
7813
7774
  body = network_policy.as_dict()
7814
7775
  headers = {
7815
7776
  "Accept": "application/json",
@@ -7895,6 +7856,7 @@ class NetworkPoliciesAPI:
7895
7856
 
7896
7857
  :returns: :class:`AccountNetworkPolicy`
7897
7858
  """
7859
+
7898
7860
  body = network_policy.as_dict()
7899
7861
  headers = {
7900
7862
  "Accept": "application/json",
@@ -7929,6 +7891,7 @@ class NotificationDestinationsAPI:
7929
7891
 
7930
7892
  :returns: :class:`NotificationDestination`
7931
7893
  """
7894
+
7932
7895
  body = {}
7933
7896
  if config is not None:
7934
7897
  body["config"] = config.as_dict()
@@ -8015,6 +7978,7 @@ class NotificationDestinationsAPI:
8015
7978
 
8016
7979
  :returns: :class:`NotificationDestination`
8017
7980
  """
7981
+
8018
7982
  body = {}
8019
7983
  if config is not None:
8020
7984
  body["config"] = config.as_dict()
@@ -8116,6 +8080,7 @@ class PersonalComputeAPI:
8116
8080
 
8117
8081
  :returns: :class:`PersonalComputeSetting`
8118
8082
  """
8083
+
8119
8084
  body = {}
8120
8085
  if allow_missing is not None:
8121
8086
  body["allow_missing"] = allow_missing
@@ -8228,6 +8193,7 @@ class RestrictWorkspaceAdminsAPI:
8228
8193
 
8229
8194
  :returns: :class:`RestrictWorkspaceAdminsSetting`
8230
8195
  """
8196
+
8231
8197
  body = {}
8232
8198
  if allow_missing is not None:
8233
8199
  body["allow_missing"] = allow_missing
@@ -8426,6 +8392,7 @@ class SqlResultsDownloadAPI:
8426
8392
 
8427
8393
  :returns: :class:`SqlResultsDownload`
8428
8394
  """
8395
+
8429
8396
  body = {}
8430
8397
  if allow_missing is not None:
8431
8398
  body["allow_missing"] = allow_missing
@@ -8465,6 +8432,7 @@ class TokenManagementAPI:
8465
8432
 
8466
8433
  :returns: :class:`CreateOboTokenResponse`
8467
8434
  """
8435
+
8468
8436
  body = {}
8469
8437
  if application_id is not None:
8470
8438
  body["application_id"] = application_id
@@ -8573,6 +8541,7 @@ class TokenManagementAPI:
8573
8541
 
8574
8542
  :returns: :class:`TokenPermissions`
8575
8543
  """
8544
+
8576
8545
  body = {}
8577
8546
  if access_control_list is not None:
8578
8547
  body["access_control_list"] = [v.as_dict() for v in access_control_list]
@@ -8593,6 +8562,7 @@ class TokenManagementAPI:
8593
8562
 
8594
8563
  :returns: :class:`TokenPermissions`
8595
8564
  """
8565
+
8596
8566
  body = {}
8597
8567
  if access_control_list is not None:
8598
8568
  body["access_control_list"] = [v.as_dict() for v in access_control_list]
@@ -8626,6 +8596,7 @@ class TokensAPI:
8626
8596
 
8627
8597
  :returns: :class:`CreateTokenResponse`
8628
8598
  """
8599
+
8629
8600
  body = {}
8630
8601
  if comment is not None:
8631
8602
  body["comment"] = comment
@@ -8649,6 +8620,7 @@ class TokensAPI:
8649
8620
 
8650
8621
 
8651
8622
  """
8623
+
8652
8624
  body = {}
8653
8625
  if token_id is not None:
8654
8626
  body["token_id"] = token_id
@@ -8751,6 +8723,7 @@ class WorkspaceNetworkConfigurationAPI:
8751
8723
 
8752
8724
  :returns: :class:`WorkspaceNetworkOption`
8753
8725
  """
8726
+
8754
8727
  body = workspace_network_option.as_dict()
8755
8728
  headers = {
8756
8729
  "Accept": "application/json",
@@ -793,6 +793,7 @@ class AccountSettingsV2API:
793
793
 
794
794
  :returns: :class:`Setting`
795
795
  """
796
+
796
797
  body = setting.as_dict()
797
798
  headers = {
798
799
  "Accept": "application/json",
@@ -875,6 +876,7 @@ class WorkspaceSettingsV2API:
875
876
 
876
877
  :returns: :class:`Setting`
877
878
  """
879
+
878
880
  body = setting.as_dict()
879
881
  headers = {
880
882
  "Accept": "application/json",
@@ -55,24 +55,6 @@ class ColumnTypeName(Enum):
55
55
  VARIANT = "VARIANT"
56
56
 
57
57
 
58
- @dataclass
59
- class DeleteResponse:
60
- def as_dict(self) -> dict:
61
- """Serializes the DeleteResponse into a dictionary suitable for use as a JSON request body."""
62
- body = {}
63
- return body
64
-
65
- def as_shallow_dict(self) -> dict:
66
- """Serializes the DeleteResponse into a shallow dictionary of its immediate attributes."""
67
- body = {}
68
- return body
69
-
70
- @classmethod
71
- def from_dict(cls, d: Dict[str, Any]) -> DeleteResponse:
72
- """Deserializes the DeleteResponse from a dictionary."""
73
- return cls()
74
-
75
-
76
58
  @dataclass
77
59
  class DeltaSharingDependency:
78
60
  """Represents a UC dependency."""
@@ -2563,6 +2545,7 @@ class ProvidersAPI:
2563
2545
 
2564
2546
  :returns: :class:`ProviderInfo`
2565
2547
  """
2548
+
2566
2549
  body = {}
2567
2550
  if authentication_type is not None:
2568
2551
  body["authentication_type"] = authentication_type.value
@@ -2778,6 +2761,7 @@ class ProvidersAPI:
2778
2761
 
2779
2762
  :returns: :class:`ProviderInfo`
2780
2763
  """
2764
+
2781
2765
  body = {}
2782
2766
  if comment is not None:
2783
2767
  body["comment"] = comment
@@ -2898,6 +2882,7 @@ class RecipientFederationPoliciesAPI:
2898
2882
 
2899
2883
  :returns: :class:`FederationPolicy`
2900
2884
  """
2885
+
2901
2886
  body = policy.as_dict()
2902
2887
  headers = {
2903
2888
  "Accept": "application/json",
@@ -2987,44 +2972,6 @@ class RecipientFederationPoliciesAPI:
2987
2972
  return
2988
2973
  query["page_token"] = json["next_page_token"]
2989
2974
 
2990
- def update(
2991
- self, recipient_name: str, name: str, policy: FederationPolicy, *, update_mask: Optional[str] = None
2992
- ) -> FederationPolicy:
2993
- """Updates an existing federation policy for an OIDC_RECIPIENT. The caller must be the owner of the
2994
- recipient.
2995
-
2996
- :param recipient_name: str
2997
- Name of the recipient. This is the name of the recipient for which the policy is being updated.
2998
- :param name: str
2999
- Name of the policy. This is the name of the current name of the policy.
3000
- :param policy: :class:`FederationPolicy`
3001
- :param update_mask: str (optional)
3002
- The field mask specifies which fields of the policy to update. To specify multiple fields in the
3003
- field mask, use comma as the separator (no space). The special value '*' indicates that all fields
3004
- should be updated (full replacement). If unspecified, all fields that are set in the policy provided
3005
- in the update request will overwrite the corresponding fields in the existing policy. Example value:
3006
- 'comment,oidc_policy.audiences'.
3007
-
3008
- :returns: :class:`FederationPolicy`
3009
- """
3010
- body = policy.as_dict()
3011
- query = {}
3012
- if update_mask is not None:
3013
- query["update_mask"] = update_mask
3014
- headers = {
3015
- "Accept": "application/json",
3016
- "Content-Type": "application/json",
3017
- }
3018
-
3019
- res = self._api.do(
3020
- "PATCH",
3021
- f"/api/2.0/data-sharing/recipients/{recipient_name}/federation-policies/{name}",
3022
- query=query,
3023
- body=body,
3024
- headers=headers,
3025
- )
3026
- return FederationPolicy.from_dict(res)
3027
-
3028
2975
 
3029
2976
  class RecipientsAPI:
3030
2977
  """A recipient is an object you create using :method:recipients/create to represent an organization which you
@@ -3085,6 +3032,7 @@ class RecipientsAPI:
3085
3032
 
3086
3033
  :returns: :class:`RecipientInfo`
3087
3034
  """
3035
+
3088
3036
  body = {}
3089
3037
  if authentication_type is not None:
3090
3038
  body["authentication_type"] = authentication_type.value
@@ -3207,6 +3155,7 @@ class RecipientsAPI:
3207
3155
 
3208
3156
  :returns: :class:`RecipientInfo`
3209
3157
  """
3158
+
3210
3159
  body = {}
3211
3160
  if existing_token_expire_in_seconds is not None:
3212
3161
  body["existing_token_expire_in_seconds"] = existing_token_expire_in_seconds
@@ -3221,8 +3170,8 @@ class RecipientsAPI:
3221
3170
  def share_permissions(
3222
3171
  self, name: str, *, max_results: Optional[int] = None, page_token: Optional[str] = None
3223
3172
  ) -> GetRecipientSharePermissionsResponse:
3224
- """Gets the share permissions for the specified Recipient. The caller must be a metastore admin or the
3225
- owner of the Recipient.
3173
+ """Gets the share permissions for the specified Recipient. The caller must have the USE_RECIPIENT
3174
+ privilege on the metastore or be the owner of the Recipient.
3226
3175
 
3227
3176
  :param name: str
3228
3177
  The name of the Recipient.
@@ -3288,6 +3237,7 @@ class RecipientsAPI:
3288
3237
 
3289
3238
  :returns: :class:`RecipientInfo`
3290
3239
  """
3240
+
3291
3241
  body = {}
3292
3242
  if comment is not None:
3293
3243
  body["comment"] = comment
@@ -3332,6 +3282,7 @@ class SharesAPI:
3332
3282
 
3333
3283
  :returns: :class:`ShareInfo`
3334
3284
  """
3285
+
3335
3286
  body = {}
3336
3287
  if comment is not None:
3337
3288
  body["comment"] = comment
@@ -3361,8 +3312,8 @@ class SharesAPI:
3361
3312
  self._api.do("DELETE", f"/api/2.1/unity-catalog/shares/{name}", headers=headers)
3362
3313
 
3363
3314
  def get(self, name: str, *, include_shared_data: Optional[bool] = None) -> ShareInfo:
3364
- """Gets a data object share from the metastore. The caller must be a metastore admin or the owner of the
3365
- share.
3315
+ """Gets a data object share from the metastore. The caller must have the USE_SHARE privilege on the
3316
+ metastore or be the owner of the share.
3366
3317
 
3367
3318
  :param name: str
3368
3319
  The name of the share.
@@ -3385,8 +3336,9 @@ class SharesAPI:
3385
3336
  def list_shares(
3386
3337
  self, *, max_results: Optional[int] = None, page_token: Optional[str] = None
3387
3338
  ) -> Iterator[ShareInfo]:
3388
- """Gets an array of data object shares from the metastore. The caller must be a metastore admin or the
3389
- owner of the share. There is no guarantee of a specific ordering of the elements in the array.
3339
+ """Gets an array of data object shares from the metastore. If the caller has the USE_SHARE privilege on
3340
+ the metastore, all shares are returned. Otherwise, only shares owned by the caller are returned. There
3341
+ is no guarantee of a specific ordering of the elements in the array.
3390
3342
 
3391
3343
  :param max_results: int (optional)
3392
3344
  Maximum number of shares to return. - when set to 0, the page length is set to a server configured
@@ -3425,11 +3377,11 @@ class SharesAPI:
3425
3377
  def share_permissions(
3426
3378
  self, name: str, *, max_results: Optional[int] = None, page_token: Optional[str] = None
3427
3379
  ) -> GetSharePermissionsResponse:
3428
- """Gets the permissions for a data share from the metastore. The caller must be a metastore admin or the
3429
- owner of the share.
3380
+ """Gets the permissions for a data share from the metastore. The caller must have the USE_SHARE privilege
3381
+ on the metastore or be the owner of the share.
3430
3382
 
3431
3383
  :param name: str
3432
- The name of the share.
3384
+ The name of the Recipient.
3433
3385
  :param max_results: int (optional)
3434
3386
  Maximum number of permissions to return. - when set to 0, the page length is set to a server
3435
3387
  configured value (recommended); - when set to a value greater than 0, the page length is the minimum
@@ -3497,6 +3449,7 @@ class SharesAPI:
3497
3449
 
3498
3450
  :returns: :class:`ShareInfo`
3499
3451
  """
3452
+
3500
3453
  body = {}
3501
3454
  if comment is not None:
3502
3455
  body["comment"] = comment
@@ -3523,11 +3476,11 @@ class SharesAPI:
3523
3476
  changes: Optional[List[PermissionsChange]] = None,
3524
3477
  omit_permissions_list: Optional[bool] = None,
3525
3478
  ) -> UpdateSharePermissionsResponse:
3526
- """Updates the permissions for a data share in the metastore. The caller must be a metastore admin or an
3527
- owner of the share.
3479
+ """Updates the permissions for a data share in the metastore. The caller must have both the USE_SHARE and
3480
+ SET_SHARE_PERMISSION privileges on the metastore, or be the owner of the share.
3528
3481
 
3529
- For new recipient grants, the user must also be the recipient owner or metastore admin. recipient
3530
- revocations do not require additional privileges.
3482
+ For new recipient grants, the user must also be the owner of the recipients. recipient revocations do
3483
+ not require additional privileges.
3531
3484
 
3532
3485
  :param name: str
3533
3486
  The name of the share.
@@ -3538,6 +3491,7 @@ class SharesAPI:
3538
3491
 
3539
3492
  :returns: :class:`UpdateSharePermissionsResponse`
3540
3493
  """
3494
+
3541
3495
  body = {}
3542
3496
  if changes is not None:
3543
3497
  body["changes"] = [v.as_dict() for v in changes]