databricks-sdk 0.57.0__py3-none-any.whl → 0.59.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 (31) hide show
  1. databricks/sdk/__init__.py +38 -9
  2. databricks/sdk/service/aibuilder.py +0 -163
  3. databricks/sdk/service/apps.py +53 -49
  4. databricks/sdk/service/billing.py +62 -223
  5. databricks/sdk/service/catalog.py +3052 -3707
  6. databricks/sdk/service/cleanrooms.py +5 -54
  7. databricks/sdk/service/compute.py +579 -2715
  8. databricks/sdk/service/dashboards.py +108 -317
  9. databricks/sdk/service/database.py +603 -122
  10. databricks/sdk/service/files.py +2 -218
  11. databricks/sdk/service/iam.py +19 -298
  12. databricks/sdk/service/jobs.py +77 -1263
  13. databricks/sdk/service/marketplace.py +3 -575
  14. databricks/sdk/service/ml.py +816 -2734
  15. databricks/sdk/service/oauth2.py +122 -238
  16. databricks/sdk/service/pipelines.py +133 -724
  17. databricks/sdk/service/provisioning.py +36 -757
  18. databricks/sdk/service/qualitymonitorv2.py +0 -18
  19. databricks/sdk/service/serving.py +37 -583
  20. databricks/sdk/service/settings.py +282 -1768
  21. databricks/sdk/service/sharing.py +6 -478
  22. databricks/sdk/service/sql.py +129 -1696
  23. databricks/sdk/service/vectorsearch.py +0 -410
  24. databricks/sdk/service/workspace.py +252 -727
  25. databricks/sdk/version.py +1 -1
  26. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/METADATA +1 -1
  27. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/RECORD +31 -31
  28. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/WHEEL +0 -0
  29. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/licenses/LICENSE +0 -0
  30. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/licenses/NOTICE +0 -0
  31. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/top_level.txt +0 -0
@@ -352,11 +352,6 @@ class ClusterAutoRestartMessage:
352
352
  enabled: Optional[bool] = None
353
353
 
354
354
  enablement_details: Optional[ClusterAutoRestartMessageEnablementDetails] = None
355
- """Contains an information about the enablement status judging (e.g. whether the enterprise tier is
356
- enabled) This is only additional information that MUST NOT be used to decide whether the setting
357
- is enabled or not. This is intended to use only for purposes like showing an error message to
358
- the customer with the additional details. For example, using these details we can check why
359
- exactly the feature is disabled for this customer."""
360
355
 
361
356
  maintenance_window: Optional[ClusterAutoRestartMessageMaintenanceWindow] = None
362
357
 
@@ -615,7 +610,6 @@ class ComplianceSecurityProfile:
615
610
  @dataclass
616
611
  class ComplianceSecurityProfileSetting:
617
612
  compliance_security_profile_workspace: ComplianceSecurityProfile
618
- """SHIELD feature: CSP"""
619
613
 
620
614
  etag: Optional[str] = None
621
615
  """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
@@ -737,59 +731,11 @@ class Config:
737
731
  )
738
732
 
739
733
 
740
- @dataclass
741
- class CreateIpAccessList:
742
- """Details required to configure a block list or allow list."""
743
-
744
- label: str
745
- """Label for the IP access list. This **cannot** be empty."""
746
-
747
- list_type: ListType
748
- """Type of IP access list. Valid values are as follows and are case-sensitive:
749
-
750
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
751
- range. IP addresses in the block list are excluded even if they are included in an allow list."""
752
-
753
- ip_addresses: Optional[List[str]] = None
754
-
755
- def as_dict(self) -> dict:
756
- """Serializes the CreateIpAccessList into a dictionary suitable for use as a JSON request body."""
757
- body = {}
758
- if self.ip_addresses:
759
- body["ip_addresses"] = [v for v in self.ip_addresses]
760
- if self.label is not None:
761
- body["label"] = self.label
762
- if self.list_type is not None:
763
- body["list_type"] = self.list_type.value
764
- return body
765
-
766
- def as_shallow_dict(self) -> dict:
767
- """Serializes the CreateIpAccessList into a shallow dictionary of its immediate attributes."""
768
- body = {}
769
- if self.ip_addresses:
770
- body["ip_addresses"] = self.ip_addresses
771
- if self.label is not None:
772
- body["label"] = self.label
773
- if self.list_type is not None:
774
- body["list_type"] = self.list_type
775
- return body
776
-
777
- @classmethod
778
- def from_dict(cls, d: Dict[str, Any]) -> CreateIpAccessList:
779
- """Deserializes the CreateIpAccessList from a dictionary."""
780
- return cls(
781
- ip_addresses=d.get("ip_addresses", None),
782
- label=d.get("label", None),
783
- list_type=_enum(d, "list_type", ListType),
784
- )
785
-
786
-
787
734
  @dataclass
788
735
  class CreateIpAccessListResponse:
789
736
  """An IP access list was successfully created."""
790
737
 
791
738
  ip_access_list: Optional[IpAccessListInfo] = None
792
- """Definition of an IP Access list"""
793
739
 
794
740
  def as_dict(self) -> dict:
795
741
  """Serializes the CreateIpAccessListResponse into a dictionary suitable for use as a JSON request body."""
@@ -848,83 +794,6 @@ class CreateNetworkConnectivityConfiguration:
848
794
  return cls(name=d.get("name", None), region=d.get("region", None))
849
795
 
850
796
 
851
- @dataclass
852
- class CreateNotificationDestinationRequest:
853
- config: Optional[Config] = None
854
- """The configuration for the notification destination. Must wrap EXACTLY one of the nested configs."""
855
-
856
- display_name: Optional[str] = None
857
- """The display name for the notification destination."""
858
-
859
- def as_dict(self) -> dict:
860
- """Serializes the CreateNotificationDestinationRequest into a dictionary suitable for use as a JSON request body."""
861
- body = {}
862
- if self.config:
863
- body["config"] = self.config.as_dict()
864
- if self.display_name is not None:
865
- body["display_name"] = self.display_name
866
- return body
867
-
868
- def as_shallow_dict(self) -> dict:
869
- """Serializes the CreateNotificationDestinationRequest into a shallow dictionary of its immediate attributes."""
870
- body = {}
871
- if self.config:
872
- body["config"] = self.config
873
- if self.display_name is not None:
874
- body["display_name"] = self.display_name
875
- return body
876
-
877
- @classmethod
878
- def from_dict(cls, d: Dict[str, Any]) -> CreateNotificationDestinationRequest:
879
- """Deserializes the CreateNotificationDestinationRequest from a dictionary."""
880
- return cls(config=_from_dict(d, "config", Config), display_name=d.get("display_name", None))
881
-
882
-
883
- @dataclass
884
- class CreateOboTokenRequest:
885
- """Configuration details for creating on-behalf tokens."""
886
-
887
- application_id: str
888
- """Application ID of the service principal."""
889
-
890
- comment: Optional[str] = None
891
- """Comment that describes the purpose of the token."""
892
-
893
- lifetime_seconds: Optional[int] = None
894
- """The number of seconds before the token expires."""
895
-
896
- def as_dict(self) -> dict:
897
- """Serializes the CreateOboTokenRequest into a dictionary suitable for use as a JSON request body."""
898
- body = {}
899
- if self.application_id is not None:
900
- body["application_id"] = self.application_id
901
- if self.comment is not None:
902
- body["comment"] = self.comment
903
- if self.lifetime_seconds is not None:
904
- body["lifetime_seconds"] = self.lifetime_seconds
905
- return body
906
-
907
- def as_shallow_dict(self) -> dict:
908
- """Serializes the CreateOboTokenRequest into a shallow dictionary of its immediate attributes."""
909
- body = {}
910
- if self.application_id is not None:
911
- body["application_id"] = self.application_id
912
- if self.comment is not None:
913
- body["comment"] = self.comment
914
- if self.lifetime_seconds is not None:
915
- body["lifetime_seconds"] = self.lifetime_seconds
916
- return body
917
-
918
- @classmethod
919
- def from_dict(cls, d: Dict[str, Any]) -> CreateOboTokenRequest:
920
- """Deserializes the CreateOboTokenRequest from a dictionary."""
921
- return cls(
922
- application_id=d.get("application_id", None),
923
- comment=d.get("comment", None),
924
- lifetime_seconds=d.get("lifetime_seconds", None),
925
- )
926
-
927
-
928
797
  @dataclass
929
798
  class CreateOboTokenResponse:
930
799
  """An on-behalf token was successfully created for the service principal."""
@@ -1031,40 +900,6 @@ class CreatePrivateEndpointRule:
1031
900
  )
1032
901
 
1033
902
 
1034
- @dataclass
1035
- class CreateTokenRequest:
1036
- comment: Optional[str] = None
1037
- """Optional description to attach to the token."""
1038
-
1039
- lifetime_seconds: Optional[int] = None
1040
- """The lifetime of the token, in seconds.
1041
-
1042
- If the lifetime is not specified, this token remains valid indefinitely."""
1043
-
1044
- def as_dict(self) -> dict:
1045
- """Serializes the CreateTokenRequest into a dictionary suitable for use as a JSON request body."""
1046
- body = {}
1047
- if self.comment is not None:
1048
- body["comment"] = self.comment
1049
- if self.lifetime_seconds is not None:
1050
- body["lifetime_seconds"] = self.lifetime_seconds
1051
- return body
1052
-
1053
- def as_shallow_dict(self) -> dict:
1054
- """Serializes the CreateTokenRequest into a shallow dictionary of its immediate attributes."""
1055
- body = {}
1056
- if self.comment is not None:
1057
- body["comment"] = self.comment
1058
- if self.lifetime_seconds is not None:
1059
- body["lifetime_seconds"] = self.lifetime_seconds
1060
- return body
1061
-
1062
- @classmethod
1063
- def from_dict(cls, d: Dict[str, Any]) -> CreateTokenRequest:
1064
- """Deserializes the CreateTokenRequest from a dictionary."""
1065
- return cls(comment=d.get("comment", None), lifetime_seconds=d.get("lifetime_seconds", None))
1066
-
1067
-
1068
903
  @dataclass
1069
904
  class CreateTokenResponse:
1070
905
  token_info: Optional[PublicTokenInfo] = None
@@ -1138,7 +973,6 @@ class CspEnablementAccount:
1138
973
  @dataclass
1139
974
  class CspEnablementAccountSetting:
1140
975
  csp_enablement_account: CspEnablementAccount
1141
- """Account level policy for CSP"""
1142
976
 
1143
977
  etag: Optional[str] = None
1144
978
  """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
@@ -1457,6 +1291,56 @@ class DefaultNamespaceSetting:
1457
1291
  )
1458
1292
 
1459
1293
 
1294
+ @dataclass
1295
+ class DefaultWarehouseId:
1296
+ string_val: StringMessage
1297
+
1298
+ etag: Optional[str] = None
1299
+ """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
1300
+ for optimistic concurrency control as a way to help prevent simultaneous writes of a setting
1301
+ overwriting each other. It is strongly suggested that systems make use of the etag in the read
1302
+ -> update pattern to perform setting updates in order to avoid race conditions. That is, get an
1303
+ etag from a GET request, and pass it with the PATCH request to identify the setting version you
1304
+ are updating."""
1305
+
1306
+ setting_name: Optional[str] = None
1307
+ """Name of the corresponding setting. This field is populated in the response, but it will not be
1308
+ respected even if it's set in the request body. The setting name in the path parameter will be
1309
+ respected instead. Setting name is required to be 'default' if the setting only has one instance
1310
+ per workspace."""
1311
+
1312
+ def as_dict(self) -> dict:
1313
+ """Serializes the DefaultWarehouseId into a dictionary suitable for use as a JSON request body."""
1314
+ body = {}
1315
+ if self.etag is not None:
1316
+ body["etag"] = self.etag
1317
+ if self.setting_name is not None:
1318
+ body["setting_name"] = self.setting_name
1319
+ if self.string_val:
1320
+ body["string_val"] = self.string_val.as_dict()
1321
+ return body
1322
+
1323
+ def as_shallow_dict(self) -> dict:
1324
+ """Serializes the DefaultWarehouseId into a shallow dictionary of its immediate attributes."""
1325
+ body = {}
1326
+ if self.etag is not None:
1327
+ body["etag"] = self.etag
1328
+ if self.setting_name is not None:
1329
+ body["setting_name"] = self.setting_name
1330
+ if self.string_val:
1331
+ body["string_val"] = self.string_val
1332
+ return body
1333
+
1334
+ @classmethod
1335
+ def from_dict(cls, d: Dict[str, Any]) -> DefaultWarehouseId:
1336
+ """Deserializes the DefaultWarehouseId from a dictionary."""
1337
+ return cls(
1338
+ etag=d.get("etag", None),
1339
+ setting_name=d.get("setting_name", None),
1340
+ string_val=_from_dict(d, "string_val", StringMessage),
1341
+ )
1342
+
1343
+
1460
1344
  @dataclass
1461
1345
  class DeleteAccountIpAccessEnableResponse:
1462
1346
  """The etag is returned."""
@@ -1617,6 +1501,38 @@ class DeleteDefaultNamespaceSettingResponse:
1617
1501
  return cls(etag=d.get("etag", None))
1618
1502
 
1619
1503
 
1504
+ @dataclass
1505
+ class DeleteDefaultWarehouseIdResponse:
1506
+ """The etag is returned."""
1507
+
1508
+ etag: str
1509
+ """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
1510
+ for optimistic concurrency control as a way to help prevent simultaneous writes of a setting
1511
+ overwriting each other. It is strongly suggested that systems make use of the etag in the read
1512
+ -> delete pattern to perform setting deletions in order to avoid race conditions. That is, get
1513
+ an etag from a GET request, and pass it with the DELETE request to identify the rule set version
1514
+ you are deleting."""
1515
+
1516
+ def as_dict(self) -> dict:
1517
+ """Serializes the DeleteDefaultWarehouseIdResponse into a dictionary suitable for use as a JSON request body."""
1518
+ body = {}
1519
+ if self.etag is not None:
1520
+ body["etag"] = self.etag
1521
+ return body
1522
+
1523
+ def as_shallow_dict(self) -> dict:
1524
+ """Serializes the DeleteDefaultWarehouseIdResponse into a shallow dictionary of its immediate attributes."""
1525
+ body = {}
1526
+ if self.etag is not None:
1527
+ body["etag"] = self.etag
1528
+ return body
1529
+
1530
+ @classmethod
1531
+ def from_dict(cls, d: Dict[str, Any]) -> DeleteDefaultWarehouseIdResponse:
1532
+ """Deserializes the DeleteDefaultWarehouseIdResponse from a dictionary."""
1533
+ return cls(etag=d.get("etag", None))
1534
+
1535
+
1620
1536
  @dataclass
1621
1537
  class DeleteDisableLegacyAccessResponse:
1622
1538
  """The etag is returned."""
@@ -1745,42 +1661,6 @@ class DeleteLlmProxyPartnerPoweredWorkspaceResponse:
1745
1661
  return cls(etag=d.get("etag", None))
1746
1662
 
1747
1663
 
1748
- @dataclass
1749
- class DeleteNetworkConnectivityConfigurationResponse:
1750
- def as_dict(self) -> dict:
1751
- """Serializes the DeleteNetworkConnectivityConfigurationResponse into a dictionary suitable for use as a JSON request body."""
1752
- body = {}
1753
- return body
1754
-
1755
- def as_shallow_dict(self) -> dict:
1756
- """Serializes the DeleteNetworkConnectivityConfigurationResponse into a shallow dictionary of its immediate attributes."""
1757
- body = {}
1758
- return body
1759
-
1760
- @classmethod
1761
- def from_dict(cls, d: Dict[str, Any]) -> DeleteNetworkConnectivityConfigurationResponse:
1762
- """Deserializes the DeleteNetworkConnectivityConfigurationResponse from a dictionary."""
1763
- return cls()
1764
-
1765
-
1766
- @dataclass
1767
- class DeleteNetworkPolicyRpcResponse:
1768
- def as_dict(self) -> dict:
1769
- """Serializes the DeleteNetworkPolicyRpcResponse into a dictionary suitable for use as a JSON request body."""
1770
- body = {}
1771
- return body
1772
-
1773
- def as_shallow_dict(self) -> dict:
1774
- """Serializes the DeleteNetworkPolicyRpcResponse into a shallow dictionary of its immediate attributes."""
1775
- body = {}
1776
- return body
1777
-
1778
- @classmethod
1779
- def from_dict(cls, d: Dict[str, Any]) -> DeleteNetworkPolicyRpcResponse:
1780
- """Deserializes the DeleteNetworkPolicyRpcResponse from a dictionary."""
1781
- return cls()
1782
-
1783
-
1784
1664
  @dataclass
1785
1665
  class DeletePersonalComputeSettingResponse:
1786
1666
  """The etag is returned."""
@@ -2093,11 +1973,6 @@ class EgressNetworkPolicyInternetAccessPolicy:
2093
1973
  """Optional. If not specified, assume the policy is enforced for all workloads."""
2094
1974
 
2095
1975
  restriction_mode: Optional[EgressNetworkPolicyInternetAccessPolicyRestrictionMode] = None
2096
- """At which level can Databricks and Databricks managed compute access Internet. FULL_ACCESS:
2097
- Databricks can access Internet. No blocking rules will apply. RESTRICTED_ACCESS: Databricks can
2098
- only access explicitly allowed internet and storage destinations, as well as UC connections and
2099
- external locations. PRIVATE_ACCESS_ONLY (not used): Databricks can only access destinations via
2100
- private link."""
2101
1976
 
2102
1977
  def as_dict(self) -> dict:
2103
1978
  """Serializes the EgressNetworkPolicyInternetAccessPolicy into a dictionary suitable for use as a JSON request body."""
@@ -2151,10 +2026,6 @@ class EgressNetworkPolicyInternetAccessPolicyInternetDestination:
2151
2026
  protocol: Optional[
2152
2027
  EgressNetworkPolicyInternetAccessPolicyInternetDestinationInternetDestinationFilteringProtocol
2153
2028
  ] = None
2154
- """The filtering protocol used by the DP. For private and public preview, SEG will only support TCP
2155
- filtering (i.e. DNS based filtering, filtering by destination IP address), so protocol will be
2156
- set to TCP by default and hidden from the user. In the future, users may be able to select HTTP
2157
- filtering (i.e. SNI based filtering, filtering by FQDN)."""
2158
2029
 
2159
2030
  type: Optional[EgressNetworkPolicyInternetAccessPolicyInternetDestinationInternetDestinationType] = None
2160
2031
 
@@ -2785,7 +2656,6 @@ class EnhancedSecurityMonitoring:
2785
2656
  @dataclass
2786
2657
  class EnhancedSecurityMonitoringSetting:
2787
2658
  enhanced_security_monitoring_workspace: EnhancedSecurityMonitoring
2788
- """SHIELD feature: ESM"""
2789
2659
 
2790
2660
  etag: Optional[str] = None
2791
2661
  """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
@@ -2864,7 +2734,6 @@ class EsmEnablementAccount:
2864
2734
  @dataclass
2865
2735
  class EsmEnablementAccountSetting:
2866
2736
  esm_enablement_account: EsmEnablementAccount
2867
- """Account level policy for ESM"""
2868
2737
 
2869
2738
  etag: Optional[str] = None
2870
2739
  """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
@@ -2973,51 +2842,6 @@ class ExchangeToken:
2973
2842
  )
2974
2843
 
2975
2844
 
2976
- @dataclass
2977
- class ExchangeTokenRequest:
2978
- """Exchange a token with the IdP"""
2979
-
2980
- partition_id: PartitionId
2981
- """The partition of Credentials store"""
2982
-
2983
- token_type: List[TokenType]
2984
- """A list of token types being requested"""
2985
-
2986
- scopes: List[str]
2987
- """Array of scopes for the token request."""
2988
-
2989
- def as_dict(self) -> dict:
2990
- """Serializes the ExchangeTokenRequest into a dictionary suitable for use as a JSON request body."""
2991
- body = {}
2992
- if self.partition_id:
2993
- body["partitionId"] = self.partition_id.as_dict()
2994
- if self.scopes:
2995
- body["scopes"] = [v for v in self.scopes]
2996
- if self.token_type:
2997
- body["tokenType"] = [v.value for v in self.token_type]
2998
- return body
2999
-
3000
- def as_shallow_dict(self) -> dict:
3001
- """Serializes the ExchangeTokenRequest into a shallow dictionary of its immediate attributes."""
3002
- body = {}
3003
- if self.partition_id:
3004
- body["partitionId"] = self.partition_id
3005
- if self.scopes:
3006
- body["scopes"] = self.scopes
3007
- if self.token_type:
3008
- body["tokenType"] = self.token_type
3009
- return body
3010
-
3011
- @classmethod
3012
- def from_dict(cls, d: Dict[str, Any]) -> ExchangeTokenRequest:
3013
- """Deserializes the ExchangeTokenRequest from a dictionary."""
3014
- return cls(
3015
- partition_id=_from_dict(d, "partitionId", PartitionId),
3016
- scopes=d.get("scopes", None),
3017
- token_type=_repeated_enum(d, "tokenType", TokenType),
3018
- )
3019
-
3020
-
3021
2845
  @dataclass
3022
2846
  class ExchangeTokenResponse:
3023
2847
  """Exhanged tokens were successfully returned."""
@@ -3049,7 +2873,6 @@ class FetchIpAccessListResponse:
3049
2873
  """An IP access list was successfully returned."""
3050
2874
 
3051
2875
  ip_access_list: Optional[IpAccessListInfo] = None
3052
- """Definition of an IP Access list"""
3053
2876
 
3054
2877
  def as_dict(self) -> dict:
3055
2878
  """Serializes the FetchIpAccessListResponse into a dictionary suitable for use as a JSON request body."""
@@ -3141,7 +2964,6 @@ class GenericWebhookConfig:
3141
2964
  @dataclass
3142
2965
  class GetIpAccessListResponse:
3143
2966
  ip_access_list: Optional[IpAccessListInfo] = None
3144
- """Definition of an IP Access list"""
3145
2967
 
3146
2968
  def as_dict(self) -> dict:
3147
2969
  """Serializes the GetIpAccessListResponse into a dictionary suitable for use as a JSON request body."""
@@ -3265,10 +3087,6 @@ class IpAccessListInfo:
3265
3087
  """Universally unique identifier (UUID) of the IP access list."""
3266
3088
 
3267
3089
  list_type: Optional[ListType] = None
3268
- """Type of IP access list. Valid values are as follows and are case-sensitive:
3269
-
3270
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
3271
- range. IP addresses in the block list are excluded even if they are included in an allow list."""
3272
3090
 
3273
3091
  updated_at: Optional[int] = None
3274
3092
  """Update timestamp in milliseconds."""
@@ -4052,12 +3870,8 @@ class NccEgressDefaultRules:
4052
3870
  """Default rules don't have specific targets."""
4053
3871
 
4054
3872
  aws_stable_ip_rule: Optional[NccAwsStableIpRule] = None
4055
- """The stable AWS IP CIDR blocks. You can use these to configure the firewall of your resources to
4056
- allow traffic from your Databricks workspace."""
4057
3873
 
4058
3874
  azure_service_endpoint_rule: Optional[NccAzureServiceEndpointRule] = None
4059
- """The stable Azure service endpoints. You can configure the firewall of your Azure resources to
4060
- allow traffic from your Databricks serverless compute resources."""
4061
3875
 
4062
3876
  def as_dict(self) -> dict:
4063
3877
  """Serializes the NccEgressDefaultRules into a dictionary suitable for use as a JSON request body."""
@@ -4533,11 +4347,6 @@ class PartitionId:
4533
4347
  @dataclass
4534
4348
  class PersonalComputeMessage:
4535
4349
  value: PersonalComputeMessageEnum
4536
- """ON: Grants all users in all workspaces access to the Personal Compute default policy, allowing
4537
- all users to create single-machine compute resources. DELEGATE: Moves access control for the
4538
- Personal Compute default policy to individual workspaces and requires a workspace’s users or
4539
- groups to be added to the ACLs of that workspace’s Personal Compute default policy before they
4540
- will be able to create compute resources through that policy."""
4541
4350
 
4542
4351
  def as_dict(self) -> dict:
4543
4352
  """Serializes the PersonalComputeMessage into a dictionary suitable for use as a JSON request body."""
@@ -4671,69 +4480,6 @@ class PublicTokenInfo:
4671
4480
  )
4672
4481
 
4673
4482
 
4674
- @dataclass
4675
- class ReplaceIpAccessList:
4676
- """Details required to replace an IP access list."""
4677
-
4678
- label: str
4679
- """Label for the IP access list. This **cannot** be empty."""
4680
-
4681
- list_type: ListType
4682
- """Type of IP access list. Valid values are as follows and are case-sensitive:
4683
-
4684
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
4685
- range. IP addresses in the block list are excluded even if they are included in an allow list."""
4686
-
4687
- enabled: bool
4688
- """Specifies whether this IP access list is enabled."""
4689
-
4690
- ip_access_list_id: Optional[str] = None
4691
- """The ID for the corresponding IP access list"""
4692
-
4693
- ip_addresses: Optional[List[str]] = None
4694
-
4695
- def as_dict(self) -> dict:
4696
- """Serializes the ReplaceIpAccessList into a dictionary suitable for use as a JSON request body."""
4697
- body = {}
4698
- if self.enabled is not None:
4699
- body["enabled"] = self.enabled
4700
- if self.ip_access_list_id is not None:
4701
- body["ip_access_list_id"] = self.ip_access_list_id
4702
- if self.ip_addresses:
4703
- body["ip_addresses"] = [v for v in self.ip_addresses]
4704
- if self.label is not None:
4705
- body["label"] = self.label
4706
- if self.list_type is not None:
4707
- body["list_type"] = self.list_type.value
4708
- return body
4709
-
4710
- def as_shallow_dict(self) -> dict:
4711
- """Serializes the ReplaceIpAccessList into a shallow dictionary of its immediate attributes."""
4712
- body = {}
4713
- if self.enabled is not None:
4714
- body["enabled"] = self.enabled
4715
- if self.ip_access_list_id is not None:
4716
- body["ip_access_list_id"] = self.ip_access_list_id
4717
- if self.ip_addresses:
4718
- body["ip_addresses"] = self.ip_addresses
4719
- if self.label is not None:
4720
- body["label"] = self.label
4721
- if self.list_type is not None:
4722
- body["list_type"] = self.list_type
4723
- return body
4724
-
4725
- @classmethod
4726
- def from_dict(cls, d: Dict[str, Any]) -> ReplaceIpAccessList:
4727
- """Deserializes the ReplaceIpAccessList from a dictionary."""
4728
- return cls(
4729
- enabled=d.get("enabled", None),
4730
- ip_access_list_id=d.get("ip_access_list_id", None),
4731
- ip_addresses=d.get("ip_addresses", None),
4732
- label=d.get("label", None),
4733
- list_type=_enum(d, "list_type", ListType),
4734
- )
4735
-
4736
-
4737
4483
  @dataclass
4738
4484
  class ReplaceResponse:
4739
4485
  def as_dict(self) -> dict:
@@ -4832,31 +4578,6 @@ class RestrictWorkspaceAdminsSetting:
4832
4578
  )
4833
4579
 
4834
4580
 
4835
- @dataclass
4836
- class RevokeTokenRequest:
4837
- token_id: str
4838
- """The ID of the token to be revoked."""
4839
-
4840
- def as_dict(self) -> dict:
4841
- """Serializes the RevokeTokenRequest into a dictionary suitable for use as a JSON request body."""
4842
- body = {}
4843
- if self.token_id is not None:
4844
- body["token_id"] = self.token_id
4845
- return body
4846
-
4847
- def as_shallow_dict(self) -> dict:
4848
- """Serializes the RevokeTokenRequest into a shallow dictionary of its immediate attributes."""
4849
- body = {}
4850
- if self.token_id is not None:
4851
- body["token_id"] = self.token_id
4852
- return body
4853
-
4854
- @classmethod
4855
- def from_dict(cls, d: Dict[str, Any]) -> RevokeTokenRequest:
4856
- """Deserializes the RevokeTokenRequest from a dictionary."""
4857
- return cls(token_id=d.get("token_id", None))
4858
-
4859
-
4860
4581
  @dataclass
4861
4582
  class RevokeTokenResponse:
4862
4583
  def as_dict(self) -> dict:
@@ -5006,7 +4727,6 @@ class TokenAccessControlRequest:
5006
4727
  """name of the group"""
5007
4728
 
5008
4729
  permission_level: Optional[TokenPermissionLevel] = None
5009
- """Permission level"""
5010
4730
 
5011
4731
  service_principal_name: Optional[str] = None
5012
4732
  """application ID of a service principal"""
@@ -5182,1332 +4902,155 @@ class TokenInfo:
5182
4902
  if self.token_id is not None:
5183
4903
  body["token_id"] = self.token_id
5184
4904
  if self.workspace_id is not None:
5185
- body["workspace_id"] = self.workspace_id
5186
- return body
5187
-
5188
- @classmethod
5189
- def from_dict(cls, d: Dict[str, Any]) -> TokenInfo:
5190
- """Deserializes the TokenInfo from a dictionary."""
5191
- return cls(
5192
- comment=d.get("comment", None),
5193
- created_by_id=d.get("created_by_id", None),
5194
- created_by_username=d.get("created_by_username", None),
5195
- creation_time=d.get("creation_time", None),
5196
- expiry_time=d.get("expiry_time", None),
5197
- last_used_day=d.get("last_used_day", None),
5198
- owner_id=d.get("owner_id", None),
5199
- token_id=d.get("token_id", None),
5200
- workspace_id=d.get("workspace_id", None),
5201
- )
5202
-
5203
-
5204
- @dataclass
5205
- class TokenPermission:
5206
- inherited: Optional[bool] = None
5207
-
5208
- inherited_from_object: Optional[List[str]] = None
5209
-
5210
- permission_level: Optional[TokenPermissionLevel] = None
5211
- """Permission level"""
5212
-
5213
- def as_dict(self) -> dict:
5214
- """Serializes the TokenPermission into a dictionary suitable for use as a JSON request body."""
5215
- body = {}
5216
- if self.inherited is not None:
5217
- body["inherited"] = self.inherited
5218
- if self.inherited_from_object:
5219
- body["inherited_from_object"] = [v for v in self.inherited_from_object]
5220
- if self.permission_level is not None:
5221
- body["permission_level"] = self.permission_level.value
5222
- return body
5223
-
5224
- def as_shallow_dict(self) -> dict:
5225
- """Serializes the TokenPermission into a shallow dictionary of its immediate attributes."""
5226
- body = {}
5227
- if self.inherited is not None:
5228
- body["inherited"] = self.inherited
5229
- if self.inherited_from_object:
5230
- body["inherited_from_object"] = self.inherited_from_object
5231
- if self.permission_level is not None:
5232
- body["permission_level"] = self.permission_level
5233
- return body
5234
-
5235
- @classmethod
5236
- def from_dict(cls, d: Dict[str, Any]) -> TokenPermission:
5237
- """Deserializes the TokenPermission from a dictionary."""
5238
- return cls(
5239
- inherited=d.get("inherited", None),
5240
- inherited_from_object=d.get("inherited_from_object", None),
5241
- permission_level=_enum(d, "permission_level", TokenPermissionLevel),
5242
- )
5243
-
5244
-
5245
- class TokenPermissionLevel(Enum):
5246
- """Permission level"""
5247
-
5248
- CAN_USE = "CAN_USE"
5249
-
5250
-
5251
- @dataclass
5252
- class TokenPermissions:
5253
- access_control_list: Optional[List[TokenAccessControlResponse]] = None
5254
-
5255
- object_id: Optional[str] = None
5256
-
5257
- object_type: Optional[str] = None
5258
-
5259
- def as_dict(self) -> dict:
5260
- """Serializes the TokenPermissions into a dictionary suitable for use as a JSON request body."""
5261
- body = {}
5262
- if self.access_control_list:
5263
- body["access_control_list"] = [v.as_dict() for v in self.access_control_list]
5264
- if self.object_id is not None:
5265
- body["object_id"] = self.object_id
5266
- if self.object_type is not None:
5267
- body["object_type"] = self.object_type
5268
- return body
5269
-
5270
- def as_shallow_dict(self) -> dict:
5271
- """Serializes the TokenPermissions into a shallow dictionary of its immediate attributes."""
5272
- body = {}
5273
- if self.access_control_list:
5274
- body["access_control_list"] = self.access_control_list
5275
- if self.object_id is not None:
5276
- body["object_id"] = self.object_id
5277
- if self.object_type is not None:
5278
- body["object_type"] = self.object_type
5279
- return body
5280
-
5281
- @classmethod
5282
- def from_dict(cls, d: Dict[str, Any]) -> TokenPermissions:
5283
- """Deserializes the TokenPermissions from a dictionary."""
5284
- return cls(
5285
- access_control_list=_repeated_dict(d, "access_control_list", TokenAccessControlResponse),
5286
- object_id=d.get("object_id", None),
5287
- object_type=d.get("object_type", None),
5288
- )
5289
-
5290
-
5291
- @dataclass
5292
- class TokenPermissionsDescription:
5293
- description: Optional[str] = None
5294
-
5295
- permission_level: Optional[TokenPermissionLevel] = None
5296
- """Permission level"""
5297
-
5298
- def as_dict(self) -> dict:
5299
- """Serializes the TokenPermissionsDescription into a dictionary suitable for use as a JSON request body."""
5300
- body = {}
5301
- if self.description is not None:
5302
- body["description"] = self.description
5303
- if self.permission_level is not None:
5304
- body["permission_level"] = self.permission_level.value
5305
- return body
5306
-
5307
- def as_shallow_dict(self) -> dict:
5308
- """Serializes the TokenPermissionsDescription into a shallow dictionary of its immediate attributes."""
5309
- body = {}
5310
- if self.description is not None:
5311
- body["description"] = self.description
5312
- if self.permission_level is not None:
5313
- body["permission_level"] = self.permission_level
5314
- return body
5315
-
5316
- @classmethod
5317
- def from_dict(cls, d: Dict[str, Any]) -> TokenPermissionsDescription:
5318
- """Deserializes the TokenPermissionsDescription from a dictionary."""
5319
- return cls(
5320
- description=d.get("description", None), permission_level=_enum(d, "permission_level", TokenPermissionLevel)
5321
- )
5322
-
5323
-
5324
- @dataclass
5325
- class TokenPermissionsRequest:
5326
- access_control_list: Optional[List[TokenAccessControlRequest]] = None
5327
-
5328
- def as_dict(self) -> dict:
5329
- """Serializes the TokenPermissionsRequest into a dictionary suitable for use as a JSON request body."""
5330
- body = {}
5331
- if self.access_control_list:
5332
- body["access_control_list"] = [v.as_dict() for v in self.access_control_list]
5333
- return body
5334
-
5335
- def as_shallow_dict(self) -> dict:
5336
- """Serializes the TokenPermissionsRequest into a shallow dictionary of its immediate attributes."""
5337
- body = {}
5338
- if self.access_control_list:
5339
- body["access_control_list"] = self.access_control_list
5340
- return body
5341
-
5342
- @classmethod
5343
- def from_dict(cls, d: Dict[str, Any]) -> TokenPermissionsRequest:
5344
- """Deserializes the TokenPermissionsRequest from a dictionary."""
5345
- return cls(access_control_list=_repeated_dict(d, "access_control_list", TokenAccessControlRequest))
5346
-
5347
-
5348
- class TokenType(Enum):
5349
- """The type of token request. As of now, only `AZURE_ACTIVE_DIRECTORY_TOKEN` is supported."""
5350
-
5351
- ARCLIGHT_AZURE_EXCHANGE_TOKEN = "ARCLIGHT_AZURE_EXCHANGE_TOKEN"
5352
- ARCLIGHT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY = "ARCLIGHT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY"
5353
- ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN = "ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN"
5354
- ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY = (
5355
- "ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY"
5356
- )
5357
- AZURE_ACTIVE_DIRECTORY_TOKEN = "AZURE_ACTIVE_DIRECTORY_TOKEN"
5358
-
5359
-
5360
- @dataclass
5361
- class UpdateAccountIpAccessEnableRequest:
5362
- """Details required to update a setting."""
5363
-
5364
- allow_missing: bool
5365
- """This should always be set to true for Settings API. Added for AIP compliance."""
5366
-
5367
- setting: AccountIpAccessEnable
5368
-
5369
- field_mask: str
5370
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5371
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5372
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5373
- as only the entire collection field can be specified. Field names must exactly match the
5374
- resource field names.
5375
-
5376
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5377
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5378
- API changes in the future."""
5379
-
5380
- def as_dict(self) -> dict:
5381
- """Serializes the UpdateAccountIpAccessEnableRequest into a dictionary suitable for use as a JSON request body."""
5382
- body = {}
5383
- if self.allow_missing is not None:
5384
- body["allow_missing"] = self.allow_missing
5385
- if self.field_mask is not None:
5386
- body["field_mask"] = self.field_mask
5387
- if self.setting:
5388
- body["setting"] = self.setting.as_dict()
5389
- return body
5390
-
5391
- def as_shallow_dict(self) -> dict:
5392
- """Serializes the UpdateAccountIpAccessEnableRequest into a shallow dictionary of its immediate attributes."""
5393
- body = {}
5394
- if self.allow_missing is not None:
5395
- body["allow_missing"] = self.allow_missing
5396
- if self.field_mask is not None:
5397
- body["field_mask"] = self.field_mask
5398
- if self.setting:
5399
- body["setting"] = self.setting
5400
- return body
5401
-
5402
- @classmethod
5403
- def from_dict(cls, d: Dict[str, Any]) -> UpdateAccountIpAccessEnableRequest:
5404
- """Deserializes the UpdateAccountIpAccessEnableRequest from a dictionary."""
5405
- return cls(
5406
- allow_missing=d.get("allow_missing", None),
5407
- field_mask=d.get("field_mask", None),
5408
- setting=_from_dict(d, "setting", AccountIpAccessEnable),
5409
- )
5410
-
5411
-
5412
- @dataclass
5413
- class UpdateAibiDashboardEmbeddingAccessPolicySettingRequest:
5414
- """Details required to update a setting."""
5415
-
5416
- allow_missing: bool
5417
- """This should always be set to true for Settings API. Added for AIP compliance."""
5418
-
5419
- setting: AibiDashboardEmbeddingAccessPolicySetting
5420
-
5421
- field_mask: str
5422
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5423
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5424
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5425
- as only the entire collection field can be specified. Field names must exactly match the
5426
- resource field names.
5427
-
5428
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5429
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5430
- API changes in the future."""
5431
-
5432
- def as_dict(self) -> dict:
5433
- """Serializes the UpdateAibiDashboardEmbeddingAccessPolicySettingRequest into a dictionary suitable for use as a JSON request body."""
5434
- body = {}
5435
- if self.allow_missing is not None:
5436
- body["allow_missing"] = self.allow_missing
5437
- if self.field_mask is not None:
5438
- body["field_mask"] = self.field_mask
5439
- if self.setting:
5440
- body["setting"] = self.setting.as_dict()
5441
- return body
5442
-
5443
- def as_shallow_dict(self) -> dict:
5444
- """Serializes the UpdateAibiDashboardEmbeddingAccessPolicySettingRequest into a shallow dictionary of its immediate attributes."""
5445
- body = {}
5446
- if self.allow_missing is not None:
5447
- body["allow_missing"] = self.allow_missing
5448
- if self.field_mask is not None:
5449
- body["field_mask"] = self.field_mask
5450
- if self.setting:
5451
- body["setting"] = self.setting
5452
- return body
5453
-
5454
- @classmethod
5455
- def from_dict(cls, d: Dict[str, Any]) -> UpdateAibiDashboardEmbeddingAccessPolicySettingRequest:
5456
- """Deserializes the UpdateAibiDashboardEmbeddingAccessPolicySettingRequest from a dictionary."""
5457
- return cls(
5458
- allow_missing=d.get("allow_missing", None),
5459
- field_mask=d.get("field_mask", None),
5460
- setting=_from_dict(d, "setting", AibiDashboardEmbeddingAccessPolicySetting),
5461
- )
5462
-
5463
-
5464
- @dataclass
5465
- class UpdateAibiDashboardEmbeddingApprovedDomainsSettingRequest:
5466
- """Details required to update a setting."""
5467
-
5468
- allow_missing: bool
5469
- """This should always be set to true for Settings API. Added for AIP compliance."""
5470
-
5471
- setting: AibiDashboardEmbeddingApprovedDomainsSetting
5472
-
5473
- field_mask: str
5474
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5475
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5476
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5477
- as only the entire collection field can be specified. Field names must exactly match the
5478
- resource field names.
5479
-
5480
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5481
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5482
- API changes in the future."""
5483
-
5484
- def as_dict(self) -> dict:
5485
- """Serializes the UpdateAibiDashboardEmbeddingApprovedDomainsSettingRequest into a dictionary suitable for use as a JSON request body."""
5486
- body = {}
5487
- if self.allow_missing is not None:
5488
- body["allow_missing"] = self.allow_missing
5489
- if self.field_mask is not None:
5490
- body["field_mask"] = self.field_mask
5491
- if self.setting:
5492
- body["setting"] = self.setting.as_dict()
5493
- return body
5494
-
5495
- def as_shallow_dict(self) -> dict:
5496
- """Serializes the UpdateAibiDashboardEmbeddingApprovedDomainsSettingRequest into a shallow dictionary of its immediate attributes."""
5497
- body = {}
5498
- if self.allow_missing is not None:
5499
- body["allow_missing"] = self.allow_missing
5500
- if self.field_mask is not None:
5501
- body["field_mask"] = self.field_mask
5502
- if self.setting:
5503
- body["setting"] = self.setting
5504
- return body
5505
-
5506
- @classmethod
5507
- def from_dict(cls, d: Dict[str, Any]) -> UpdateAibiDashboardEmbeddingApprovedDomainsSettingRequest:
5508
- """Deserializes the UpdateAibiDashboardEmbeddingApprovedDomainsSettingRequest from a dictionary."""
5509
- return cls(
5510
- allow_missing=d.get("allow_missing", None),
5511
- field_mask=d.get("field_mask", None),
5512
- setting=_from_dict(d, "setting", AibiDashboardEmbeddingApprovedDomainsSetting),
5513
- )
5514
-
5515
-
5516
- @dataclass
5517
- class UpdateAutomaticClusterUpdateSettingRequest:
5518
- """Details required to update a setting."""
5519
-
5520
- allow_missing: bool
5521
- """This should always be set to true for Settings API. Added for AIP compliance."""
5522
-
5523
- setting: AutomaticClusterUpdateSetting
5524
-
5525
- field_mask: str
5526
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5527
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5528
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5529
- as only the entire collection field can be specified. Field names must exactly match the
5530
- resource field names.
5531
-
5532
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5533
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5534
- API changes in the future."""
5535
-
5536
- def as_dict(self) -> dict:
5537
- """Serializes the UpdateAutomaticClusterUpdateSettingRequest into a dictionary suitable for use as a JSON request body."""
5538
- body = {}
5539
- if self.allow_missing is not None:
5540
- body["allow_missing"] = self.allow_missing
5541
- if self.field_mask is not None:
5542
- body["field_mask"] = self.field_mask
5543
- if self.setting:
5544
- body["setting"] = self.setting.as_dict()
5545
- return body
5546
-
5547
- def as_shallow_dict(self) -> dict:
5548
- """Serializes the UpdateAutomaticClusterUpdateSettingRequest into a shallow dictionary of its immediate attributes."""
5549
- body = {}
5550
- if self.allow_missing is not None:
5551
- body["allow_missing"] = self.allow_missing
5552
- if self.field_mask is not None:
5553
- body["field_mask"] = self.field_mask
5554
- if self.setting:
5555
- body["setting"] = self.setting
5556
- return body
5557
-
5558
- @classmethod
5559
- def from_dict(cls, d: Dict[str, Any]) -> UpdateAutomaticClusterUpdateSettingRequest:
5560
- """Deserializes the UpdateAutomaticClusterUpdateSettingRequest from a dictionary."""
5561
- return cls(
5562
- allow_missing=d.get("allow_missing", None),
5563
- field_mask=d.get("field_mask", None),
5564
- setting=_from_dict(d, "setting", AutomaticClusterUpdateSetting),
5565
- )
5566
-
5567
-
5568
- @dataclass
5569
- class UpdateComplianceSecurityProfileSettingRequest:
5570
- """Details required to update a setting."""
5571
-
5572
- allow_missing: bool
5573
- """This should always be set to true for Settings API. Added for AIP compliance."""
5574
-
5575
- setting: ComplianceSecurityProfileSetting
5576
-
5577
- field_mask: str
5578
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5579
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5580
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5581
- as only the entire collection field can be specified. Field names must exactly match the
5582
- resource field names.
5583
-
5584
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5585
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5586
- API changes in the future."""
5587
-
5588
- def as_dict(self) -> dict:
5589
- """Serializes the UpdateComplianceSecurityProfileSettingRequest into a dictionary suitable for use as a JSON request body."""
5590
- body = {}
5591
- if self.allow_missing is not None:
5592
- body["allow_missing"] = self.allow_missing
5593
- if self.field_mask is not None:
5594
- body["field_mask"] = self.field_mask
5595
- if self.setting:
5596
- body["setting"] = self.setting.as_dict()
5597
- return body
5598
-
5599
- def as_shallow_dict(self) -> dict:
5600
- """Serializes the UpdateComplianceSecurityProfileSettingRequest into a shallow dictionary of its immediate attributes."""
5601
- body = {}
5602
- if self.allow_missing is not None:
5603
- body["allow_missing"] = self.allow_missing
5604
- if self.field_mask is not None:
5605
- body["field_mask"] = self.field_mask
5606
- if self.setting:
5607
- body["setting"] = self.setting
5608
- return body
5609
-
5610
- @classmethod
5611
- def from_dict(cls, d: Dict[str, Any]) -> UpdateComplianceSecurityProfileSettingRequest:
5612
- """Deserializes the UpdateComplianceSecurityProfileSettingRequest from a dictionary."""
5613
- return cls(
5614
- allow_missing=d.get("allow_missing", None),
5615
- field_mask=d.get("field_mask", None),
5616
- setting=_from_dict(d, "setting", ComplianceSecurityProfileSetting),
5617
- )
5618
-
5619
-
5620
- @dataclass
5621
- class UpdateCspEnablementAccountSettingRequest:
5622
- """Details required to update a setting."""
5623
-
5624
- allow_missing: bool
5625
- """This should always be set to true for Settings API. Added for AIP compliance."""
5626
-
5627
- setting: CspEnablementAccountSetting
5628
-
5629
- field_mask: str
5630
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5631
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5632
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5633
- as only the entire collection field can be specified. Field names must exactly match the
5634
- resource field names.
5635
-
5636
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5637
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5638
- API changes in the future."""
5639
-
5640
- def as_dict(self) -> dict:
5641
- """Serializes the UpdateCspEnablementAccountSettingRequest into a dictionary suitable for use as a JSON request body."""
5642
- body = {}
5643
- if self.allow_missing is not None:
5644
- body["allow_missing"] = self.allow_missing
5645
- if self.field_mask is not None:
5646
- body["field_mask"] = self.field_mask
5647
- if self.setting:
5648
- body["setting"] = self.setting.as_dict()
5649
- return body
5650
-
5651
- def as_shallow_dict(self) -> dict:
5652
- """Serializes the UpdateCspEnablementAccountSettingRequest into a shallow dictionary of its immediate attributes."""
5653
- body = {}
5654
- if self.allow_missing is not None:
5655
- body["allow_missing"] = self.allow_missing
5656
- if self.field_mask is not None:
5657
- body["field_mask"] = self.field_mask
5658
- if self.setting:
5659
- body["setting"] = self.setting
5660
- return body
5661
-
5662
- @classmethod
5663
- def from_dict(cls, d: Dict[str, Any]) -> UpdateCspEnablementAccountSettingRequest:
5664
- """Deserializes the UpdateCspEnablementAccountSettingRequest from a dictionary."""
5665
- return cls(
5666
- allow_missing=d.get("allow_missing", None),
5667
- field_mask=d.get("field_mask", None),
5668
- setting=_from_dict(d, "setting", CspEnablementAccountSetting),
5669
- )
5670
-
5671
-
5672
- @dataclass
5673
- class UpdateDashboardEmailSubscriptionsRequest:
5674
- """Details required to update a setting."""
5675
-
5676
- allow_missing: bool
5677
- """This should always be set to true for Settings API. Added for AIP compliance."""
5678
-
5679
- setting: DashboardEmailSubscriptions
5680
-
5681
- field_mask: str
5682
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5683
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5684
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5685
- as only the entire collection field can be specified. Field names must exactly match the
5686
- resource field names.
5687
-
5688
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5689
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5690
- API changes in the future."""
5691
-
5692
- def as_dict(self) -> dict:
5693
- """Serializes the UpdateDashboardEmailSubscriptionsRequest into a dictionary suitable for use as a JSON request body."""
5694
- body = {}
5695
- if self.allow_missing is not None:
5696
- body["allow_missing"] = self.allow_missing
5697
- if self.field_mask is not None:
5698
- body["field_mask"] = self.field_mask
5699
- if self.setting:
5700
- body["setting"] = self.setting.as_dict()
5701
- return body
5702
-
5703
- def as_shallow_dict(self) -> dict:
5704
- """Serializes the UpdateDashboardEmailSubscriptionsRequest into a shallow dictionary of its immediate attributes."""
5705
- body = {}
5706
- if self.allow_missing is not None:
5707
- body["allow_missing"] = self.allow_missing
5708
- if self.field_mask is not None:
5709
- body["field_mask"] = self.field_mask
5710
- if self.setting:
5711
- body["setting"] = self.setting
5712
- return body
5713
-
5714
- @classmethod
5715
- def from_dict(cls, d: Dict[str, Any]) -> UpdateDashboardEmailSubscriptionsRequest:
5716
- """Deserializes the UpdateDashboardEmailSubscriptionsRequest from a dictionary."""
5717
- return cls(
5718
- allow_missing=d.get("allow_missing", None),
5719
- field_mask=d.get("field_mask", None),
5720
- setting=_from_dict(d, "setting", DashboardEmailSubscriptions),
5721
- )
5722
-
5723
-
5724
- @dataclass
5725
- class UpdateDefaultNamespaceSettingRequest:
5726
- """Details required to update a setting."""
5727
-
5728
- allow_missing: bool
5729
- """This should always be set to true for Settings API. Added for AIP compliance."""
5730
-
5731
- setting: DefaultNamespaceSetting
5732
- """This represents the setting configuration for the default namespace in the Databricks workspace.
5733
- Setting the default catalog for the workspace determines the catalog that is used when queries
5734
- do not reference a fully qualified 3 level name. For example, if the default catalog is set to
5735
- 'retail_prod' then a query 'SELECT * FROM myTable' would reference the object
5736
- 'retail_prod.default.myTable' (the schema 'default' is always assumed). This setting requires a
5737
- restart of clusters and SQL warehouses to take effect. Additionally, the default namespace only
5738
- applies when using Unity Catalog-enabled compute."""
5739
-
5740
- field_mask: str
5741
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5742
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5743
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5744
- as only the entire collection field can be specified. Field names must exactly match the
5745
- resource field names.
5746
-
5747
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5748
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5749
- API changes in the future."""
5750
-
5751
- def as_dict(self) -> dict:
5752
- """Serializes the UpdateDefaultNamespaceSettingRequest into a dictionary suitable for use as a JSON request body."""
5753
- body = {}
5754
- if self.allow_missing is not None:
5755
- body["allow_missing"] = self.allow_missing
5756
- if self.field_mask is not None:
5757
- body["field_mask"] = self.field_mask
5758
- if self.setting:
5759
- body["setting"] = self.setting.as_dict()
5760
- return body
5761
-
5762
- def as_shallow_dict(self) -> dict:
5763
- """Serializes the UpdateDefaultNamespaceSettingRequest into a shallow dictionary of its immediate attributes."""
5764
- body = {}
5765
- if self.allow_missing is not None:
5766
- body["allow_missing"] = self.allow_missing
5767
- if self.field_mask is not None:
5768
- body["field_mask"] = self.field_mask
5769
- if self.setting:
5770
- body["setting"] = self.setting
5771
- return body
5772
-
5773
- @classmethod
5774
- def from_dict(cls, d: Dict[str, Any]) -> UpdateDefaultNamespaceSettingRequest:
5775
- """Deserializes the UpdateDefaultNamespaceSettingRequest from a dictionary."""
5776
- return cls(
5777
- allow_missing=d.get("allow_missing", None),
5778
- field_mask=d.get("field_mask", None),
5779
- setting=_from_dict(d, "setting", DefaultNamespaceSetting),
5780
- )
5781
-
5782
-
5783
- @dataclass
5784
- class UpdateDisableLegacyAccessRequest:
5785
- """Details required to update a setting."""
5786
-
5787
- allow_missing: bool
5788
- """This should always be set to true for Settings API. Added for AIP compliance."""
5789
-
5790
- setting: DisableLegacyAccess
5791
-
5792
- field_mask: str
5793
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5794
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5795
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5796
- as only the entire collection field can be specified. Field names must exactly match the
5797
- resource field names.
5798
-
5799
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5800
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5801
- API changes in the future."""
5802
-
5803
- def as_dict(self) -> dict:
5804
- """Serializes the UpdateDisableLegacyAccessRequest into a dictionary suitable for use as a JSON request body."""
5805
- body = {}
5806
- if self.allow_missing is not None:
5807
- body["allow_missing"] = self.allow_missing
5808
- if self.field_mask is not None:
5809
- body["field_mask"] = self.field_mask
5810
- if self.setting:
5811
- body["setting"] = self.setting.as_dict()
5812
- return body
5813
-
5814
- def as_shallow_dict(self) -> dict:
5815
- """Serializes the UpdateDisableLegacyAccessRequest into a shallow dictionary of its immediate attributes."""
5816
- body = {}
5817
- if self.allow_missing is not None:
5818
- body["allow_missing"] = self.allow_missing
5819
- if self.field_mask is not None:
5820
- body["field_mask"] = self.field_mask
5821
- if self.setting:
5822
- body["setting"] = self.setting
5823
- return body
5824
-
5825
- @classmethod
5826
- def from_dict(cls, d: Dict[str, Any]) -> UpdateDisableLegacyAccessRequest:
5827
- """Deserializes the UpdateDisableLegacyAccessRequest from a dictionary."""
5828
- return cls(
5829
- allow_missing=d.get("allow_missing", None),
5830
- field_mask=d.get("field_mask", None),
5831
- setting=_from_dict(d, "setting", DisableLegacyAccess),
5832
- )
5833
-
5834
-
5835
- @dataclass
5836
- class UpdateDisableLegacyDbfsRequest:
5837
- """Details required to update a setting."""
5838
-
5839
- allow_missing: bool
5840
- """This should always be set to true for Settings API. Added for AIP compliance."""
5841
-
5842
- setting: DisableLegacyDbfs
5843
-
5844
- field_mask: str
5845
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5846
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5847
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5848
- as only the entire collection field can be specified. Field names must exactly match the
5849
- resource field names.
5850
-
5851
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5852
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5853
- API changes in the future."""
5854
-
5855
- def as_dict(self) -> dict:
5856
- """Serializes the UpdateDisableLegacyDbfsRequest into a dictionary suitable for use as a JSON request body."""
5857
- body = {}
5858
- if self.allow_missing is not None:
5859
- body["allow_missing"] = self.allow_missing
5860
- if self.field_mask is not None:
5861
- body["field_mask"] = self.field_mask
5862
- if self.setting:
5863
- body["setting"] = self.setting.as_dict()
5864
- return body
5865
-
5866
- def as_shallow_dict(self) -> dict:
5867
- """Serializes the UpdateDisableLegacyDbfsRequest into a shallow dictionary of its immediate attributes."""
5868
- body = {}
5869
- if self.allow_missing is not None:
5870
- body["allow_missing"] = self.allow_missing
5871
- if self.field_mask is not None:
5872
- body["field_mask"] = self.field_mask
5873
- if self.setting:
5874
- body["setting"] = self.setting
5875
- return body
5876
-
5877
- @classmethod
5878
- def from_dict(cls, d: Dict[str, Any]) -> UpdateDisableLegacyDbfsRequest:
5879
- """Deserializes the UpdateDisableLegacyDbfsRequest from a dictionary."""
5880
- return cls(
5881
- allow_missing=d.get("allow_missing", None),
5882
- field_mask=d.get("field_mask", None),
5883
- setting=_from_dict(d, "setting", DisableLegacyDbfs),
5884
- )
5885
-
5886
-
5887
- @dataclass
5888
- class UpdateDisableLegacyFeaturesRequest:
5889
- """Details required to update a setting."""
5890
-
5891
- allow_missing: bool
5892
- """This should always be set to true for Settings API. Added for AIP compliance."""
5893
-
5894
- setting: DisableLegacyFeatures
5895
-
5896
- field_mask: str
5897
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5898
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5899
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5900
- as only the entire collection field can be specified. Field names must exactly match the
5901
- resource field names.
5902
-
5903
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5904
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5905
- API changes in the future."""
5906
-
5907
- def as_dict(self) -> dict:
5908
- """Serializes the UpdateDisableLegacyFeaturesRequest into a dictionary suitable for use as a JSON request body."""
5909
- body = {}
5910
- if self.allow_missing is not None:
5911
- body["allow_missing"] = self.allow_missing
5912
- if self.field_mask is not None:
5913
- body["field_mask"] = self.field_mask
5914
- if self.setting:
5915
- body["setting"] = self.setting.as_dict()
5916
- return body
5917
-
5918
- def as_shallow_dict(self) -> dict:
5919
- """Serializes the UpdateDisableLegacyFeaturesRequest into a shallow dictionary of its immediate attributes."""
5920
- body = {}
5921
- if self.allow_missing is not None:
5922
- body["allow_missing"] = self.allow_missing
5923
- if self.field_mask is not None:
5924
- body["field_mask"] = self.field_mask
5925
- if self.setting:
5926
- body["setting"] = self.setting
5927
- return body
5928
-
5929
- @classmethod
5930
- def from_dict(cls, d: Dict[str, Any]) -> UpdateDisableLegacyFeaturesRequest:
5931
- """Deserializes the UpdateDisableLegacyFeaturesRequest from a dictionary."""
5932
- return cls(
5933
- allow_missing=d.get("allow_missing", None),
5934
- field_mask=d.get("field_mask", None),
5935
- setting=_from_dict(d, "setting", DisableLegacyFeatures),
5936
- )
5937
-
5938
-
5939
- @dataclass
5940
- class UpdateEnableExportNotebookRequest:
5941
- """Details required to update a setting."""
5942
-
5943
- allow_missing: bool
5944
- """This should always be set to true for Settings API. Added for AIP compliance."""
5945
-
5946
- setting: EnableExportNotebook
5947
-
5948
- field_mask: str
5949
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
5950
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
5951
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
5952
- as only the entire collection field can be specified. Field names must exactly match the
5953
- resource field names.
5954
-
5955
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5956
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
5957
- API changes in the future."""
5958
-
5959
- def as_dict(self) -> dict:
5960
- """Serializes the UpdateEnableExportNotebookRequest into a dictionary suitable for use as a JSON request body."""
5961
- body = {}
5962
- if self.allow_missing is not None:
5963
- body["allow_missing"] = self.allow_missing
5964
- if self.field_mask is not None:
5965
- body["field_mask"] = self.field_mask
5966
- if self.setting:
5967
- body["setting"] = self.setting.as_dict()
5968
- return body
5969
-
5970
- def as_shallow_dict(self) -> dict:
5971
- """Serializes the UpdateEnableExportNotebookRequest into a shallow dictionary of its immediate attributes."""
5972
- body = {}
5973
- if self.allow_missing is not None:
5974
- body["allow_missing"] = self.allow_missing
5975
- if self.field_mask is not None:
5976
- body["field_mask"] = self.field_mask
5977
- if self.setting:
5978
- body["setting"] = self.setting
5979
- return body
5980
-
5981
- @classmethod
5982
- def from_dict(cls, d: Dict[str, Any]) -> UpdateEnableExportNotebookRequest:
5983
- """Deserializes the UpdateEnableExportNotebookRequest from a dictionary."""
5984
- return cls(
5985
- allow_missing=d.get("allow_missing", None),
5986
- field_mask=d.get("field_mask", None),
5987
- setting=_from_dict(d, "setting", EnableExportNotebook),
5988
- )
5989
-
5990
-
5991
- @dataclass
5992
- class UpdateEnableNotebookTableClipboardRequest:
5993
- """Details required to update a setting."""
5994
-
5995
- allow_missing: bool
5996
- """This should always be set to true for Settings API. Added for AIP compliance."""
5997
-
5998
- setting: EnableNotebookTableClipboard
5999
-
6000
- field_mask: str
6001
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6002
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6003
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6004
- as only the entire collection field can be specified. Field names must exactly match the
6005
- resource field names.
6006
-
6007
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6008
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6009
- API changes in the future."""
6010
-
6011
- def as_dict(self) -> dict:
6012
- """Serializes the UpdateEnableNotebookTableClipboardRequest into a dictionary suitable for use as a JSON request body."""
6013
- body = {}
6014
- if self.allow_missing is not None:
6015
- body["allow_missing"] = self.allow_missing
6016
- if self.field_mask is not None:
6017
- body["field_mask"] = self.field_mask
6018
- if self.setting:
6019
- body["setting"] = self.setting.as_dict()
6020
- return body
6021
-
6022
- def as_shallow_dict(self) -> dict:
6023
- """Serializes the UpdateEnableNotebookTableClipboardRequest into a shallow dictionary of its immediate attributes."""
6024
- body = {}
6025
- if self.allow_missing is not None:
6026
- body["allow_missing"] = self.allow_missing
6027
- if self.field_mask is not None:
6028
- body["field_mask"] = self.field_mask
6029
- if self.setting:
6030
- body["setting"] = self.setting
6031
- return body
6032
-
6033
- @classmethod
6034
- def from_dict(cls, d: Dict[str, Any]) -> UpdateEnableNotebookTableClipboardRequest:
6035
- """Deserializes the UpdateEnableNotebookTableClipboardRequest from a dictionary."""
6036
- return cls(
6037
- allow_missing=d.get("allow_missing", None),
6038
- field_mask=d.get("field_mask", None),
6039
- setting=_from_dict(d, "setting", EnableNotebookTableClipboard),
6040
- )
6041
-
6042
-
6043
- @dataclass
6044
- class UpdateEnableResultsDownloadingRequest:
6045
- """Details required to update a setting."""
6046
-
6047
- allow_missing: bool
6048
- """This should always be set to true for Settings API. Added for AIP compliance."""
6049
-
6050
- setting: EnableResultsDownloading
6051
-
6052
- field_mask: str
6053
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6054
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6055
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6056
- as only the entire collection field can be specified. Field names must exactly match the
6057
- resource field names.
6058
-
6059
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6060
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6061
- API changes in the future."""
6062
-
6063
- def as_dict(self) -> dict:
6064
- """Serializes the UpdateEnableResultsDownloadingRequest into a dictionary suitable for use as a JSON request body."""
6065
- body = {}
6066
- if self.allow_missing is not None:
6067
- body["allow_missing"] = self.allow_missing
6068
- if self.field_mask is not None:
6069
- body["field_mask"] = self.field_mask
6070
- if self.setting:
6071
- body["setting"] = self.setting.as_dict()
6072
- return body
6073
-
6074
- def as_shallow_dict(self) -> dict:
6075
- """Serializes the UpdateEnableResultsDownloadingRequest into a shallow dictionary of its immediate attributes."""
6076
- body = {}
6077
- if self.allow_missing is not None:
6078
- body["allow_missing"] = self.allow_missing
6079
- if self.field_mask is not None:
6080
- body["field_mask"] = self.field_mask
6081
- if self.setting:
6082
- body["setting"] = self.setting
6083
- return body
6084
-
6085
- @classmethod
6086
- def from_dict(cls, d: Dict[str, Any]) -> UpdateEnableResultsDownloadingRequest:
6087
- """Deserializes the UpdateEnableResultsDownloadingRequest from a dictionary."""
6088
- return cls(
6089
- allow_missing=d.get("allow_missing", None),
6090
- field_mask=d.get("field_mask", None),
6091
- setting=_from_dict(d, "setting", EnableResultsDownloading),
6092
- )
6093
-
6094
-
6095
- @dataclass
6096
- class UpdateEnhancedSecurityMonitoringSettingRequest:
6097
- """Details required to update a setting."""
6098
-
6099
- allow_missing: bool
6100
- """This should always be set to true for Settings API. Added for AIP compliance."""
6101
-
6102
- setting: EnhancedSecurityMonitoringSetting
6103
-
6104
- field_mask: str
6105
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6106
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6107
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6108
- as only the entire collection field can be specified. Field names must exactly match the
6109
- resource field names.
6110
-
6111
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6112
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6113
- API changes in the future."""
6114
-
6115
- def as_dict(self) -> dict:
6116
- """Serializes the UpdateEnhancedSecurityMonitoringSettingRequest into a dictionary suitable for use as a JSON request body."""
6117
- body = {}
6118
- if self.allow_missing is not None:
6119
- body["allow_missing"] = self.allow_missing
6120
- if self.field_mask is not None:
6121
- body["field_mask"] = self.field_mask
6122
- if self.setting:
6123
- body["setting"] = self.setting.as_dict()
6124
- return body
6125
-
6126
- def as_shallow_dict(self) -> dict:
6127
- """Serializes the UpdateEnhancedSecurityMonitoringSettingRequest into a shallow dictionary of its immediate attributes."""
6128
- body = {}
6129
- if self.allow_missing is not None:
6130
- body["allow_missing"] = self.allow_missing
6131
- if self.field_mask is not None:
6132
- body["field_mask"] = self.field_mask
6133
- if self.setting:
6134
- body["setting"] = self.setting
6135
- return body
6136
-
6137
- @classmethod
6138
- def from_dict(cls, d: Dict[str, Any]) -> UpdateEnhancedSecurityMonitoringSettingRequest:
6139
- """Deserializes the UpdateEnhancedSecurityMonitoringSettingRequest from a dictionary."""
6140
- return cls(
6141
- allow_missing=d.get("allow_missing", None),
6142
- field_mask=d.get("field_mask", None),
6143
- setting=_from_dict(d, "setting", EnhancedSecurityMonitoringSetting),
6144
- )
6145
-
6146
-
6147
- @dataclass
6148
- class UpdateEsmEnablementAccountSettingRequest:
6149
- """Details required to update a setting."""
6150
-
6151
- allow_missing: bool
6152
- """This should always be set to true for Settings API. Added for AIP compliance."""
6153
-
6154
- setting: EsmEnablementAccountSetting
6155
-
6156
- field_mask: str
6157
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6158
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6159
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6160
- as only the entire collection field can be specified. Field names must exactly match the
6161
- resource field names.
6162
-
6163
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6164
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6165
- API changes in the future."""
6166
-
6167
- def as_dict(self) -> dict:
6168
- """Serializes the UpdateEsmEnablementAccountSettingRequest into a dictionary suitable for use as a JSON request body."""
6169
- body = {}
6170
- if self.allow_missing is not None:
6171
- body["allow_missing"] = self.allow_missing
6172
- if self.field_mask is not None:
6173
- body["field_mask"] = self.field_mask
6174
- if self.setting:
6175
- body["setting"] = self.setting.as_dict()
6176
- return body
6177
-
6178
- def as_shallow_dict(self) -> dict:
6179
- """Serializes the UpdateEsmEnablementAccountSettingRequest into a shallow dictionary of its immediate attributes."""
6180
- body = {}
6181
- if self.allow_missing is not None:
6182
- body["allow_missing"] = self.allow_missing
6183
- if self.field_mask is not None:
6184
- body["field_mask"] = self.field_mask
6185
- if self.setting:
6186
- body["setting"] = self.setting
6187
- return body
6188
-
6189
- @classmethod
6190
- def from_dict(cls, d: Dict[str, Any]) -> UpdateEsmEnablementAccountSettingRequest:
6191
- """Deserializes the UpdateEsmEnablementAccountSettingRequest from a dictionary."""
6192
- return cls(
6193
- allow_missing=d.get("allow_missing", None),
6194
- field_mask=d.get("field_mask", None),
6195
- setting=_from_dict(d, "setting", EsmEnablementAccountSetting),
6196
- )
6197
-
6198
-
6199
- @dataclass
6200
- class UpdateIpAccessList:
6201
- """Details required to update an IP access list."""
6202
-
6203
- enabled: Optional[bool] = None
6204
- """Specifies whether this IP access list is enabled."""
6205
-
6206
- ip_access_list_id: Optional[str] = None
6207
- """The ID for the corresponding IP access list"""
6208
-
6209
- ip_addresses: Optional[List[str]] = None
6210
-
6211
- label: Optional[str] = None
6212
- """Label for the IP access list. This **cannot** be empty."""
6213
-
6214
- list_type: Optional[ListType] = None
6215
- """Type of IP access list. Valid values are as follows and are case-sensitive:
6216
-
6217
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
6218
- range. IP addresses in the block list are excluded even if they are included in an allow list."""
6219
-
6220
- def as_dict(self) -> dict:
6221
- """Serializes the UpdateIpAccessList into a dictionary suitable for use as a JSON request body."""
6222
- body = {}
6223
- if self.enabled is not None:
6224
- body["enabled"] = self.enabled
6225
- if self.ip_access_list_id is not None:
6226
- body["ip_access_list_id"] = self.ip_access_list_id
6227
- if self.ip_addresses:
6228
- body["ip_addresses"] = [v for v in self.ip_addresses]
6229
- if self.label is not None:
6230
- body["label"] = self.label
6231
- if self.list_type is not None:
6232
- body["list_type"] = self.list_type.value
6233
- return body
6234
-
6235
- def as_shallow_dict(self) -> dict:
6236
- """Serializes the UpdateIpAccessList into a shallow dictionary of its immediate attributes."""
6237
- body = {}
6238
- if self.enabled is not None:
6239
- body["enabled"] = self.enabled
6240
- if self.ip_access_list_id is not None:
6241
- body["ip_access_list_id"] = self.ip_access_list_id
6242
- if self.ip_addresses:
6243
- body["ip_addresses"] = self.ip_addresses
6244
- if self.label is not None:
6245
- body["label"] = self.label
6246
- if self.list_type is not None:
6247
- body["list_type"] = self.list_type
6248
- return body
6249
-
6250
- @classmethod
6251
- def from_dict(cls, d: Dict[str, Any]) -> UpdateIpAccessList:
6252
- """Deserializes the UpdateIpAccessList from a dictionary."""
6253
- return cls(
6254
- enabled=d.get("enabled", None),
6255
- ip_access_list_id=d.get("ip_access_list_id", None),
6256
- ip_addresses=d.get("ip_addresses", None),
6257
- label=d.get("label", None),
6258
- list_type=_enum(d, "list_type", ListType),
6259
- )
6260
-
6261
-
6262
- @dataclass
6263
- class UpdateLlmProxyPartnerPoweredAccountRequest:
6264
- """Details required to update a setting."""
6265
-
6266
- allow_missing: bool
6267
- """This should always be set to true for Settings API. Added for AIP compliance."""
6268
-
6269
- setting: LlmProxyPartnerPoweredAccount
6270
-
6271
- field_mask: str
6272
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6273
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6274
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6275
- as only the entire collection field can be specified. Field names must exactly match the
6276
- resource field names.
6277
-
6278
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6279
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6280
- API changes in the future."""
6281
-
6282
- def as_dict(self) -> dict:
6283
- """Serializes the UpdateLlmProxyPartnerPoweredAccountRequest into a dictionary suitable for use as a JSON request body."""
6284
- body = {}
6285
- if self.allow_missing is not None:
6286
- body["allow_missing"] = self.allow_missing
6287
- if self.field_mask is not None:
6288
- body["field_mask"] = self.field_mask
6289
- if self.setting:
6290
- body["setting"] = self.setting.as_dict()
6291
- return body
6292
-
6293
- def as_shallow_dict(self) -> dict:
6294
- """Serializes the UpdateLlmProxyPartnerPoweredAccountRequest into a shallow dictionary of its immediate attributes."""
6295
- body = {}
6296
- if self.allow_missing is not None:
6297
- body["allow_missing"] = self.allow_missing
6298
- if self.field_mask is not None:
6299
- body["field_mask"] = self.field_mask
6300
- if self.setting:
6301
- body["setting"] = self.setting
4905
+ body["workspace_id"] = self.workspace_id
6302
4906
  return body
6303
4907
 
6304
4908
  @classmethod
6305
- def from_dict(cls, d: Dict[str, Any]) -> UpdateLlmProxyPartnerPoweredAccountRequest:
6306
- """Deserializes the UpdateLlmProxyPartnerPoweredAccountRequest from a dictionary."""
4909
+ def from_dict(cls, d: Dict[str, Any]) -> TokenInfo:
4910
+ """Deserializes the TokenInfo from a dictionary."""
6307
4911
  return cls(
6308
- allow_missing=d.get("allow_missing", None),
6309
- field_mask=d.get("field_mask", None),
6310
- setting=_from_dict(d, "setting", LlmProxyPartnerPoweredAccount),
4912
+ comment=d.get("comment", None),
4913
+ created_by_id=d.get("created_by_id", None),
4914
+ created_by_username=d.get("created_by_username", None),
4915
+ creation_time=d.get("creation_time", None),
4916
+ expiry_time=d.get("expiry_time", None),
4917
+ last_used_day=d.get("last_used_day", None),
4918
+ owner_id=d.get("owner_id", None),
4919
+ token_id=d.get("token_id", None),
4920
+ workspace_id=d.get("workspace_id", None),
6311
4921
  )
6312
4922
 
6313
4923
 
6314
4924
  @dataclass
6315
- class UpdateLlmProxyPartnerPoweredEnforceRequest:
6316
- """Details required to update a setting."""
6317
-
6318
- allow_missing: bool
6319
- """This should always be set to true for Settings API. Added for AIP compliance."""
4925
+ class TokenPermission:
4926
+ inherited: Optional[bool] = None
6320
4927
 
6321
- setting: LlmProxyPartnerPoweredEnforce
4928
+ inherited_from_object: Optional[List[str]] = None
6322
4929
 
6323
- field_mask: str
6324
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6325
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6326
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6327
- as only the entire collection field can be specified. Field names must exactly match the
6328
- resource field names.
6329
-
6330
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6331
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6332
- API changes in the future."""
4930
+ permission_level: Optional[TokenPermissionLevel] = None
6333
4931
 
6334
4932
  def as_dict(self) -> dict:
6335
- """Serializes the UpdateLlmProxyPartnerPoweredEnforceRequest into a dictionary suitable for use as a JSON request body."""
4933
+ """Serializes the TokenPermission into a dictionary suitable for use as a JSON request body."""
6336
4934
  body = {}
6337
- if self.allow_missing is not None:
6338
- body["allow_missing"] = self.allow_missing
6339
- if self.field_mask is not None:
6340
- body["field_mask"] = self.field_mask
6341
- if self.setting:
6342
- body["setting"] = self.setting.as_dict()
4935
+ if self.inherited is not None:
4936
+ body["inherited"] = self.inherited
4937
+ if self.inherited_from_object:
4938
+ body["inherited_from_object"] = [v for v in self.inherited_from_object]
4939
+ if self.permission_level is not None:
4940
+ body["permission_level"] = self.permission_level.value
6343
4941
  return body
6344
4942
 
6345
4943
  def as_shallow_dict(self) -> dict:
6346
- """Serializes the UpdateLlmProxyPartnerPoweredEnforceRequest into a shallow dictionary of its immediate attributes."""
4944
+ """Serializes the TokenPermission into a shallow dictionary of its immediate attributes."""
6347
4945
  body = {}
6348
- if self.allow_missing is not None:
6349
- body["allow_missing"] = self.allow_missing
6350
- if self.field_mask is not None:
6351
- body["field_mask"] = self.field_mask
6352
- if self.setting:
6353
- body["setting"] = self.setting
4946
+ if self.inherited is not None:
4947
+ body["inherited"] = self.inherited
4948
+ if self.inherited_from_object:
4949
+ body["inherited_from_object"] = self.inherited_from_object
4950
+ if self.permission_level is not None:
4951
+ body["permission_level"] = self.permission_level
6354
4952
  return body
6355
4953
 
6356
4954
  @classmethod
6357
- def from_dict(cls, d: Dict[str, Any]) -> UpdateLlmProxyPartnerPoweredEnforceRequest:
6358
- """Deserializes the UpdateLlmProxyPartnerPoweredEnforceRequest from a dictionary."""
4955
+ def from_dict(cls, d: Dict[str, Any]) -> TokenPermission:
4956
+ """Deserializes the TokenPermission from a dictionary."""
6359
4957
  return cls(
6360
- allow_missing=d.get("allow_missing", None),
6361
- field_mask=d.get("field_mask", None),
6362
- setting=_from_dict(d, "setting", LlmProxyPartnerPoweredEnforce),
4958
+ inherited=d.get("inherited", None),
4959
+ inherited_from_object=d.get("inherited_from_object", None),
4960
+ permission_level=_enum(d, "permission_level", TokenPermissionLevel),
6363
4961
  )
6364
4962
 
6365
4963
 
6366
- @dataclass
6367
- class UpdateLlmProxyPartnerPoweredWorkspaceRequest:
6368
- """Details required to update a setting."""
6369
-
6370
- allow_missing: bool
6371
- """This should always be set to true for Settings API. Added for AIP compliance."""
6372
-
6373
- setting: LlmProxyPartnerPoweredWorkspace
6374
-
6375
- field_mask: str
6376
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6377
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6378
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6379
- as only the entire collection field can be specified. Field names must exactly match the
6380
- resource field names.
6381
-
6382
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6383
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6384
- API changes in the future."""
6385
-
6386
- def as_dict(self) -> dict:
6387
- """Serializes the UpdateLlmProxyPartnerPoweredWorkspaceRequest into a dictionary suitable for use as a JSON request body."""
6388
- body = {}
6389
- if self.allow_missing is not None:
6390
- body["allow_missing"] = self.allow_missing
6391
- if self.field_mask is not None:
6392
- body["field_mask"] = self.field_mask
6393
- if self.setting:
6394
- body["setting"] = self.setting.as_dict()
6395
- return body
6396
-
6397
- def as_shallow_dict(self) -> dict:
6398
- """Serializes the UpdateLlmProxyPartnerPoweredWorkspaceRequest into a shallow dictionary of its immediate attributes."""
6399
- body = {}
6400
- if self.allow_missing is not None:
6401
- body["allow_missing"] = self.allow_missing
6402
- if self.field_mask is not None:
6403
- body["field_mask"] = self.field_mask
6404
- if self.setting:
6405
- body["setting"] = self.setting
6406
- return body
4964
+ class TokenPermissionLevel(Enum):
4965
+ """Permission level"""
6407
4966
 
6408
- @classmethod
6409
- def from_dict(cls, d: Dict[str, Any]) -> UpdateLlmProxyPartnerPoweredWorkspaceRequest:
6410
- """Deserializes the UpdateLlmProxyPartnerPoweredWorkspaceRequest from a dictionary."""
6411
- return cls(
6412
- allow_missing=d.get("allow_missing", None),
6413
- field_mask=d.get("field_mask", None),
6414
- setting=_from_dict(d, "setting", LlmProxyPartnerPoweredWorkspace),
6415
- )
4967
+ CAN_USE = "CAN_USE"
6416
4968
 
6417
4969
 
6418
4970
  @dataclass
6419
- class UpdateNotificationDestinationRequest:
6420
- config: Optional[Config] = None
6421
- """The configuration for the notification destination. Must wrap EXACTLY one of the nested configs."""
4971
+ class TokenPermissions:
4972
+ access_control_list: Optional[List[TokenAccessControlResponse]] = None
6422
4973
 
6423
- display_name: Optional[str] = None
6424
- """The display name for the notification destination."""
4974
+ object_id: Optional[str] = None
6425
4975
 
6426
- id: Optional[str] = None
6427
- """UUID identifying notification destination."""
4976
+ object_type: Optional[str] = None
6428
4977
 
6429
4978
  def as_dict(self) -> dict:
6430
- """Serializes the UpdateNotificationDestinationRequest into a dictionary suitable for use as a JSON request body."""
4979
+ """Serializes the TokenPermissions into a dictionary suitable for use as a JSON request body."""
6431
4980
  body = {}
6432
- if self.config:
6433
- body["config"] = self.config.as_dict()
6434
- if self.display_name is not None:
6435
- body["display_name"] = self.display_name
6436
- if self.id is not None:
6437
- body["id"] = self.id
4981
+ if self.access_control_list:
4982
+ body["access_control_list"] = [v.as_dict() for v in self.access_control_list]
4983
+ if self.object_id is not None:
4984
+ body["object_id"] = self.object_id
4985
+ if self.object_type is not None:
4986
+ body["object_type"] = self.object_type
6438
4987
  return body
6439
4988
 
6440
4989
  def as_shallow_dict(self) -> dict:
6441
- """Serializes the UpdateNotificationDestinationRequest into a shallow dictionary of its immediate attributes."""
4990
+ """Serializes the TokenPermissions into a shallow dictionary of its immediate attributes."""
6442
4991
  body = {}
6443
- if self.config:
6444
- body["config"] = self.config
6445
- if self.display_name is not None:
6446
- body["display_name"] = self.display_name
6447
- if self.id is not None:
6448
- body["id"] = self.id
4992
+ if self.access_control_list:
4993
+ body["access_control_list"] = self.access_control_list
4994
+ if self.object_id is not None:
4995
+ body["object_id"] = self.object_id
4996
+ if self.object_type is not None:
4997
+ body["object_type"] = self.object_type
6449
4998
  return body
6450
4999
 
6451
5000
  @classmethod
6452
- def from_dict(cls, d: Dict[str, Any]) -> UpdateNotificationDestinationRequest:
6453
- """Deserializes the UpdateNotificationDestinationRequest from a dictionary."""
5001
+ def from_dict(cls, d: Dict[str, Any]) -> TokenPermissions:
5002
+ """Deserializes the TokenPermissions from a dictionary."""
6454
5003
  return cls(
6455
- config=_from_dict(d, "config", Config), display_name=d.get("display_name", None), id=d.get("id", None)
5004
+ access_control_list=_repeated_dict(d, "access_control_list", TokenAccessControlResponse),
5005
+ object_id=d.get("object_id", None),
5006
+ object_type=d.get("object_type", None),
6456
5007
  )
6457
5008
 
6458
5009
 
6459
5010
  @dataclass
6460
- class UpdatePersonalComputeSettingRequest:
6461
- """Details required to update a setting."""
6462
-
6463
- allow_missing: bool
6464
- """This should always be set to true for Settings API. Added for AIP compliance."""
6465
-
6466
- setting: PersonalComputeSetting
5011
+ class TokenPermissionsDescription:
5012
+ description: Optional[str] = None
6467
5013
 
6468
- field_mask: str
6469
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6470
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6471
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6472
- as only the entire collection field can be specified. Field names must exactly match the
6473
- resource field names.
6474
-
6475
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6476
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6477
- API changes in the future."""
5014
+ permission_level: Optional[TokenPermissionLevel] = None
6478
5015
 
6479
5016
  def as_dict(self) -> dict:
6480
- """Serializes the UpdatePersonalComputeSettingRequest into a dictionary suitable for use as a JSON request body."""
5017
+ """Serializes the TokenPermissionsDescription into a dictionary suitable for use as a JSON request body."""
6481
5018
  body = {}
6482
- if self.allow_missing is not None:
6483
- body["allow_missing"] = self.allow_missing
6484
- if self.field_mask is not None:
6485
- body["field_mask"] = self.field_mask
6486
- if self.setting:
6487
- body["setting"] = self.setting.as_dict()
5019
+ if self.description is not None:
5020
+ body["description"] = self.description
5021
+ if self.permission_level is not None:
5022
+ body["permission_level"] = self.permission_level.value
6488
5023
  return body
6489
5024
 
6490
5025
  def as_shallow_dict(self) -> dict:
6491
- """Serializes the UpdatePersonalComputeSettingRequest into a shallow dictionary of its immediate attributes."""
5026
+ """Serializes the TokenPermissionsDescription into a shallow dictionary of its immediate attributes."""
6492
5027
  body = {}
6493
- if self.allow_missing is not None:
6494
- body["allow_missing"] = self.allow_missing
6495
- if self.field_mask is not None:
6496
- body["field_mask"] = self.field_mask
6497
- if self.setting:
6498
- body["setting"] = self.setting
5028
+ if self.description is not None:
5029
+ body["description"] = self.description
5030
+ if self.permission_level is not None:
5031
+ body["permission_level"] = self.permission_level
6499
5032
  return body
6500
5033
 
6501
5034
  @classmethod
6502
- def from_dict(cls, d: Dict[str, Any]) -> UpdatePersonalComputeSettingRequest:
6503
- """Deserializes the UpdatePersonalComputeSettingRequest from a dictionary."""
5035
+ def from_dict(cls, d: Dict[str, Any]) -> TokenPermissionsDescription:
5036
+ """Deserializes the TokenPermissionsDescription from a dictionary."""
6504
5037
  return cls(
6505
- allow_missing=d.get("allow_missing", None),
6506
- field_mask=d.get("field_mask", None),
6507
- setting=_from_dict(d, "setting", PersonalComputeSetting),
5038
+ description=d.get("description", None), permission_level=_enum(d, "permission_level", TokenPermissionLevel)
6508
5039
  )
6509
5040
 
6510
5041
 
5042
+ class TokenType(Enum):
5043
+ """The type of token request. As of now, only `AZURE_ACTIVE_DIRECTORY_TOKEN` is supported."""
5044
+
5045
+ ARCLIGHT_AZURE_EXCHANGE_TOKEN = "ARCLIGHT_AZURE_EXCHANGE_TOKEN"
5046
+ ARCLIGHT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY = "ARCLIGHT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY"
5047
+ ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN = "ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN"
5048
+ ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY = (
5049
+ "ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY"
5050
+ )
5051
+ AZURE_ACTIVE_DIRECTORY_TOKEN = "AZURE_ACTIVE_DIRECTORY_TOKEN"
5052
+
5053
+
6511
5054
  @dataclass
6512
5055
  class UpdatePrivateEndpointRule:
6513
5056
  """Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure
@@ -6582,110 +5125,6 @@ class UpdateResponse:
6582
5125
  return cls()
6583
5126
 
6584
5127
 
6585
- @dataclass
6586
- class UpdateRestrictWorkspaceAdminsSettingRequest:
6587
- """Details required to update a setting."""
6588
-
6589
- allow_missing: bool
6590
- """This should always be set to true for Settings API. Added for AIP compliance."""
6591
-
6592
- setting: RestrictWorkspaceAdminsSetting
6593
-
6594
- field_mask: str
6595
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6596
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6597
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6598
- as only the entire collection field can be specified. Field names must exactly match the
6599
- resource field names.
6600
-
6601
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6602
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6603
- API changes in the future."""
6604
-
6605
- def as_dict(self) -> dict:
6606
- """Serializes the UpdateRestrictWorkspaceAdminsSettingRequest into a dictionary suitable for use as a JSON request body."""
6607
- body = {}
6608
- if self.allow_missing is not None:
6609
- body["allow_missing"] = self.allow_missing
6610
- if self.field_mask is not None:
6611
- body["field_mask"] = self.field_mask
6612
- if self.setting:
6613
- body["setting"] = self.setting.as_dict()
6614
- return body
6615
-
6616
- def as_shallow_dict(self) -> dict:
6617
- """Serializes the UpdateRestrictWorkspaceAdminsSettingRequest into a shallow dictionary of its immediate attributes."""
6618
- body = {}
6619
- if self.allow_missing is not None:
6620
- body["allow_missing"] = self.allow_missing
6621
- if self.field_mask is not None:
6622
- body["field_mask"] = self.field_mask
6623
- if self.setting:
6624
- body["setting"] = self.setting
6625
- return body
6626
-
6627
- @classmethod
6628
- def from_dict(cls, d: Dict[str, Any]) -> UpdateRestrictWorkspaceAdminsSettingRequest:
6629
- """Deserializes the UpdateRestrictWorkspaceAdminsSettingRequest from a dictionary."""
6630
- return cls(
6631
- allow_missing=d.get("allow_missing", None),
6632
- field_mask=d.get("field_mask", None),
6633
- setting=_from_dict(d, "setting", RestrictWorkspaceAdminsSetting),
6634
- )
6635
-
6636
-
6637
- @dataclass
6638
- class UpdateSqlResultsDownloadRequest:
6639
- """Details required to update a setting."""
6640
-
6641
- allow_missing: bool
6642
- """This should always be set to true for Settings API. Added for AIP compliance."""
6643
-
6644
- setting: SqlResultsDownload
6645
-
6646
- field_mask: str
6647
- """The field mask must be a single string, with multiple fields separated by commas (no spaces).
6648
- The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
6649
- (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
6650
- as only the entire collection field can be specified. Field names must exactly match the
6651
- resource field names.
6652
-
6653
- A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6654
- fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
6655
- API changes in the future."""
6656
-
6657
- def as_dict(self) -> dict:
6658
- """Serializes the UpdateSqlResultsDownloadRequest into a dictionary suitable for use as a JSON request body."""
6659
- body = {}
6660
- if self.allow_missing is not None:
6661
- body["allow_missing"] = self.allow_missing
6662
- if self.field_mask is not None:
6663
- body["field_mask"] = self.field_mask
6664
- if self.setting:
6665
- body["setting"] = self.setting.as_dict()
6666
- return body
6667
-
6668
- def as_shallow_dict(self) -> dict:
6669
- """Serializes the UpdateSqlResultsDownloadRequest into a shallow dictionary of its immediate attributes."""
6670
- body = {}
6671
- if self.allow_missing is not None:
6672
- body["allow_missing"] = self.allow_missing
6673
- if self.field_mask is not None:
6674
- body["field_mask"] = self.field_mask
6675
- if self.setting:
6676
- body["setting"] = self.setting
6677
- return body
6678
-
6679
- @classmethod
6680
- def from_dict(cls, d: Dict[str, Any]) -> UpdateSqlResultsDownloadRequest:
6681
- """Deserializes the UpdateSqlResultsDownloadRequest from a dictionary."""
6682
- return cls(
6683
- allow_missing=d.get("allow_missing", None),
6684
- field_mask=d.get("field_mask", None),
6685
- setting=_from_dict(d, "setting", SqlResultsDownload),
6686
- )
6687
-
6688
-
6689
5128
  WorkspaceConf = Dict[str, str]
6690
5129
 
6691
5130
 
@@ -6766,10 +5205,6 @@ class AccountIpAccessListsAPI:
6766
5205
  :param label: str
6767
5206
  Label for the IP access list. This **cannot** be empty.
6768
5207
  :param list_type: :class:`ListType`
6769
- Type of IP access list. Valid values are as follows and are case-sensitive:
6770
-
6771
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
6772
- range. IP addresses in the block list are excluded even if they are included in an allow list.
6773
5208
  :param ip_addresses: List[str] (optional)
6774
5209
 
6775
5210
  :returns: :class:`CreateIpAccessListResponse`
@@ -6827,6 +5262,7 @@ class AccountIpAccessListsAPI:
6827
5262
  def list(self) -> Iterator[IpAccessListInfo]:
6828
5263
  """Gets all IP access lists for the specified account.
6829
5264
 
5265
+
6830
5266
  :returns: Iterator over :class:`IpAccessListInfo`
6831
5267
  """
6832
5268
 
@@ -6862,10 +5298,6 @@ class AccountIpAccessListsAPI:
6862
5298
  :param label: str
6863
5299
  Label for the IP access list. This **cannot** be empty.
6864
5300
  :param list_type: :class:`ListType`
6865
- Type of IP access list. Valid values are as follows and are case-sensitive:
6866
-
6867
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
6868
- range. IP addresses in the block list are excluded even if they are included in an allow list.
6869
5301
  :param enabled: bool
6870
5302
  Specifies whether this IP access list is enabled.
6871
5303
  :param ip_addresses: List[str] (optional)
@@ -6923,10 +5355,6 @@ class AccountIpAccessListsAPI:
6923
5355
  :param label: str (optional)
6924
5356
  Label for the IP access list. This **cannot** be empty.
6925
5357
  :param list_type: :class:`ListType` (optional)
6926
- Type of IP access list. Valid values are as follows and are case-sensitive:
6927
-
6928
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
6929
- range. IP addresses in the block list are excluded even if they are included in an allow list.
6930
5358
 
6931
5359
 
6932
5360
  """
@@ -7656,13 +6084,6 @@ class DefaultNamespaceAPI:
7656
6084
  :param allow_missing: bool
7657
6085
  This should always be set to true for Settings API. Added for AIP compliance.
7658
6086
  :param setting: :class:`DefaultNamespaceSetting`
7659
- This represents the setting configuration for the default namespace in the Databricks workspace.
7660
- Setting the default catalog for the workspace determines the catalog that is used when queries do
7661
- not reference a fully qualified 3 level name. For example, if the default catalog is set to
7662
- 'retail_prod' then a query 'SELECT * FROM myTable' would reference the object
7663
- 'retail_prod.default.myTable' (the schema 'default' is always assumed). This setting requires a
7664
- restart of clusters and SQL warehouses to take effect. Additionally, the default namespace only
7665
- applies when using Unity Catalog-enabled compute.
7666
6087
  :param field_mask: str
7667
6088
  The field mask must be a single string, with multiple fields separated by commas (no spaces). The
7668
6089
  field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
@@ -7694,6 +6115,100 @@ class DefaultNamespaceAPI:
7694
6115
  return DefaultNamespaceSetting.from_dict(res)
7695
6116
 
7696
6117
 
6118
+ class DefaultWarehouseIdAPI:
6119
+ """Warehouse to be selected by default for users in this workspace. Covers SQL workloads only and can be
6120
+ overridden by users."""
6121
+
6122
+ def __init__(self, api_client):
6123
+ self._api = api_client
6124
+
6125
+ def delete(self, *, etag: Optional[str] = None) -> DeleteDefaultWarehouseIdResponse:
6126
+ """Reverts the Default Warehouse Id setting to its default value.
6127
+
6128
+ :param etag: str (optional)
6129
+ etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
6130
+ optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
6131
+ each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
6132
+ to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
6133
+ request, and pass it with the DELETE request to identify the rule set version you are deleting.
6134
+
6135
+ :returns: :class:`DeleteDefaultWarehouseIdResponse`
6136
+ """
6137
+
6138
+ query = {}
6139
+ if etag is not None:
6140
+ query["etag"] = etag
6141
+ headers = {
6142
+ "Accept": "application/json",
6143
+ }
6144
+
6145
+ res = self._api.do(
6146
+ "DELETE", "/api/2.0/settings/types/default_warehouse_id/names/default", query=query, headers=headers
6147
+ )
6148
+ return DeleteDefaultWarehouseIdResponse.from_dict(res)
6149
+
6150
+ def get(self, *, etag: Optional[str] = None) -> DefaultWarehouseId:
6151
+ """Gets the Default Warehouse Id setting.
6152
+
6153
+ :param etag: str (optional)
6154
+ etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
6155
+ optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
6156
+ each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
6157
+ to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
6158
+ request, and pass it with the DELETE request to identify the rule set version you are deleting.
6159
+
6160
+ :returns: :class:`DefaultWarehouseId`
6161
+ """
6162
+
6163
+ query = {}
6164
+ if etag is not None:
6165
+ query["etag"] = etag
6166
+ headers = {
6167
+ "Accept": "application/json",
6168
+ }
6169
+
6170
+ res = self._api.do(
6171
+ "GET", "/api/2.0/settings/types/default_warehouse_id/names/default", query=query, headers=headers
6172
+ )
6173
+ return DefaultWarehouseId.from_dict(res)
6174
+
6175
+ def update(self, allow_missing: bool, setting: DefaultWarehouseId, field_mask: str) -> DefaultWarehouseId:
6176
+ """Updates the Default Warehouse Id setting.
6177
+
6178
+ :param allow_missing: bool
6179
+ This should always be set to true for Settings API. Added for AIP compliance.
6180
+ :param setting: :class:`DefaultWarehouseId`
6181
+ :param field_mask: str
6182
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
6183
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
6184
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
6185
+ the entire collection field can be specified. Field names must exactly match the resource field
6186
+ names.
6187
+
6188
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6189
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
6190
+ changes in the future.
6191
+
6192
+ :returns: :class:`DefaultWarehouseId`
6193
+ """
6194
+ body = {}
6195
+ if allow_missing is not None:
6196
+ body["allow_missing"] = allow_missing
6197
+ if field_mask is not None:
6198
+ body["field_mask"] = field_mask
6199
+ if setting is not None:
6200
+ body["setting"] = setting.as_dict()
6201
+ headers = {
6202
+ "Accept": "application/json",
6203
+ "Content-Type": "application/json",
6204
+ }
6205
+
6206
+ res = self._api.do(
6207
+ "PATCH", "/api/2.0/settings/types/default_warehouse_id/names/default", body=body, headers=headers
6208
+ )
6209
+ return DefaultWarehouseId.from_dict(res)
6210
+
6211
+
7697
6212
  class DisableLegacyAccessAPI:
7698
6213
  """'Disabling legacy access' has the following impacts:
7699
6214
 
@@ -8007,6 +6522,7 @@ class EnableExportNotebookAPI:
8007
6522
  def get_enable_export_notebook(self) -> EnableExportNotebook:
8008
6523
  """Gets the Notebook and File exporting setting.
8009
6524
 
6525
+
8010
6526
  :returns: :class:`EnableExportNotebook`
8011
6527
  """
8012
6528
 
@@ -8170,6 +6686,7 @@ class EnableNotebookTableClipboardAPI:
8170
6686
  def get_enable_notebook_table_clipboard(self) -> EnableNotebookTableClipboard:
8171
6687
  """Gets the Results Table Clipboard features setting.
8172
6688
 
6689
+
8173
6690
  :returns: :class:`EnableNotebookTableClipboard`
8174
6691
  """
8175
6692
 
@@ -8231,6 +6748,7 @@ class EnableResultsDownloadingAPI:
8231
6748
  def get_enable_results_downloading(self) -> EnableResultsDownloading:
8232
6749
  """Gets the Notebook results download setting.
8233
6750
 
6751
+
8234
6752
  :returns: :class:`EnableResultsDownloading`
8235
6753
  """
8236
6754
 
@@ -8480,10 +6998,6 @@ class IpAccessListsAPI:
8480
6998
  :param label: str
8481
6999
  Label for the IP access list. This **cannot** be empty.
8482
7000
  :param list_type: :class:`ListType`
8483
- Type of IP access list. Valid values are as follows and are case-sensitive:
8484
-
8485
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
8486
- range. IP addresses in the block list are excluded even if they are included in an allow list.
8487
7001
  :param ip_addresses: List[str] (optional)
8488
7002
 
8489
7003
  :returns: :class:`CreateIpAccessListResponse`
@@ -8535,6 +7049,7 @@ class IpAccessListsAPI:
8535
7049
  def list(self) -> Iterator[IpAccessListInfo]:
8536
7050
  """Gets all IP access lists for the specified workspace.
8537
7051
 
7052
+
8538
7053
  :returns: Iterator over :class:`IpAccessListInfo`
8539
7054
  """
8540
7055
 
@@ -8571,10 +7086,6 @@ class IpAccessListsAPI:
8571
7086
  :param label: str
8572
7087
  Label for the IP access list. This **cannot** be empty.
8573
7088
  :param list_type: :class:`ListType`
8574
- Type of IP access list. Valid values are as follows and are case-sensitive:
8575
-
8576
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
8577
- range. IP addresses in the block list are excluded even if they are included in an allow list.
8578
7089
  :param enabled: bool
8579
7090
  Specifies whether this IP access list is enabled.
8580
7091
  :param ip_addresses: List[str] (optional)
@@ -8628,10 +7139,6 @@ class IpAccessListsAPI:
8628
7139
  :param label: str (optional)
8629
7140
  Label for the IP access list. This **cannot** be empty.
8630
7141
  :param list_type: :class:`ListType` (optional)
8631
- Type of IP access list. Valid values are as follows and are case-sensitive:
8632
-
8633
- * `ALLOW`: An allow list. Include this IP or range. * `BLOCK`: A block list. Exclude this IP or
8634
- range. IP addresses in the block list are excluded even if they are included in an allow list.
8635
7142
 
8636
7143
 
8637
7144
  """
@@ -8928,7 +7435,6 @@ class NetworkConnectivityAPI:
8928
7435
  [configure serverless secure connectivity]: https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security
8929
7436
 
8930
7437
  :param network_connectivity_config: :class:`CreateNetworkConnectivityConfiguration`
8931
- Properties of the new network connectivity configuration.
8932
7438
 
8933
7439
  :returns: :class:`NetworkConnectivityConfiguration`
8934
7440
  """
@@ -8959,8 +7465,6 @@ class NetworkConnectivityAPI:
8959
7465
  :param network_connectivity_config_id: str
8960
7466
  Your Network Connectivity Configuration ID.
8961
7467
  :param private_endpoint_rule: :class:`CreatePrivateEndpointRule`
8962
- Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure portal
8963
- after initialization.
8964
7468
 
8965
7469
  :returns: :class:`NccPrivateEndpointRule`
8966
7470
  """
@@ -9152,8 +7656,6 @@ class NetworkConnectivityAPI:
9152
7656
  :param private_endpoint_rule_id: str
9153
7657
  Your private endpoint rule ID.
9154
7658
  :param private_endpoint_rule: :class:`UpdatePrivateEndpointRule`
9155
- Properties of the new private endpoint rule. Note that you must approve the endpoint in Azure portal
9156
- after initialization.
9157
7659
  :param update_mask: str
9158
7660
  The field mask must be a single string, with multiple fields separated by commas (no spaces). The
9159
7661
  field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
@@ -9198,6 +7700,7 @@ class NetworkPoliciesAPI:
9198
7700
  environment.
9199
7701
 
9200
7702
  :param network_policy: :class:`AccountNetworkPolicy`
7703
+ Network policy configuration details.
9201
7704
 
9202
7705
  :returns: :class:`AccountNetworkPolicy`
9203
7706
  """
@@ -9282,6 +7785,7 @@ class NetworkPoliciesAPI:
9282
7785
  :param network_policy_id: str
9283
7786
  The unique identifier for the network policy.
9284
7787
  :param network_policy: :class:`AccountNetworkPolicy`
7788
+ Updated network policy configuration details.
9285
7789
 
9286
7790
  :returns: :class:`AccountNetworkPolicy`
9287
7791
  """
@@ -9648,6 +8152,7 @@ class SettingsAPI:
9648
8152
  self._compliance_security_profile = ComplianceSecurityProfileAPI(self._api)
9649
8153
  self._dashboard_email_subscriptions = DashboardEmailSubscriptionsAPI(self._api)
9650
8154
  self._default_namespace = DefaultNamespaceAPI(self._api)
8155
+ self._default_warehouse_id = DefaultWarehouseIdAPI(self._api)
9651
8156
  self._disable_legacy_access = DisableLegacyAccessAPI(self._api)
9652
8157
  self._disable_legacy_dbfs = DisableLegacyDbfsAPI(self._api)
9653
8158
  self._enable_export_notebook = EnableExportNotebookAPI(self._api)
@@ -9688,6 +8193,11 @@ class SettingsAPI:
9688
8193
  """The default namespace setting API allows users to configure the default namespace for a Databricks workspace."""
9689
8194
  return self._default_namespace
9690
8195
 
8196
+ @property
8197
+ def default_warehouse_id(self) -> DefaultWarehouseIdAPI:
8198
+ """Warehouse to be selected by default for users in this workspace."""
8199
+ return self._default_warehouse_id
8200
+
9691
8201
  @property
9692
8202
  def disable_legacy_access(self) -> DisableLegacyAccessAPI:
9693
8203
  """'Disabling legacy access' has the following impacts: 1."""
@@ -9896,6 +8406,7 @@ class TokenManagementAPI:
9896
8406
  def get_permission_levels(self) -> GetTokenPermissionLevelsResponse:
9897
8407
  """Gets the permission levels that a user can have on an object.
9898
8408
 
8409
+
9899
8410
  :returns: :class:`GetTokenPermissionLevelsResponse`
9900
8411
  """
9901
8412
 
@@ -9909,6 +8420,7 @@ class TokenManagementAPI:
9909
8420
  def get_permissions(self) -> TokenPermissions:
9910
8421
  """Gets the permissions of all tokens. Tokens can inherit permissions from their root object.
9911
8422
 
8423
+
9912
8424
  :returns: :class:`TokenPermissions`
9913
8425
  """
9914
8426
 
@@ -10044,6 +8556,7 @@ class TokensAPI:
10044
8556
  def list(self) -> Iterator[PublicTokenInfo]:
10045
8557
  """Lists all the valid tokens for a user-workspace pair.
10046
8558
 
8559
+
10047
8560
  :returns: Iterator over :class:`PublicTokenInfo`
10048
8561
  """
10049
8562
 
@@ -10128,6 +8641,7 @@ class WorkspaceNetworkConfigurationAPI:
10128
8641
  :param workspace_id: int
10129
8642
  The workspace ID.
10130
8643
  :param workspace_network_option: :class:`WorkspaceNetworkOption`
8644
+ The network option details for the workspace.
10131
8645
 
10132
8646
  :returns: :class:`WorkspaceNetworkOption`
10133
8647
  """