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

@@ -14,6 +14,48 @@ _LOG = logging.getLogger('databricks.sdk')
14
14
  # all definitions in this file are in alphabetical order
15
15
 
16
16
 
17
+ @dataclass
18
+ class AccountIpAccessEnable:
19
+ acct_ip_acl_enable: BooleanMessage
20
+
21
+ etag: Optional[str] = None
22
+ """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
23
+ for optimistic concurrency control as a way to help prevent simultaneous writes of a setting
24
+ overwriting each other. It is strongly suggested that systems make use of the etag in the read
25
+ -> update pattern to perform setting updates in order to avoid race conditions. That is, get an
26
+ etag from a GET request, and pass it with the PATCH request to identify the setting version you
27
+ are updating."""
28
+
29
+ setting_name: Optional[str] = None
30
+ """Name of the corresponding setting. This field is populated in the response, but it will not be
31
+ respected even if it's set in the request body. The setting name in the path parameter will be
32
+ respected instead. Setting name is required to be 'default' if the setting only has one instance
33
+ per workspace."""
34
+
35
+ def as_dict(self) -> dict:
36
+ """Serializes the AccountIpAccessEnable into a dictionary suitable for use as a JSON request body."""
37
+ body = {}
38
+ if self.acct_ip_acl_enable: body['acct_ip_acl_enable'] = self.acct_ip_acl_enable.as_dict()
39
+ if self.etag is not None: body['etag'] = self.etag
40
+ if self.setting_name is not None: body['setting_name'] = self.setting_name
41
+ return body
42
+
43
+ def as_shallow_dict(self) -> dict:
44
+ """Serializes the AccountIpAccessEnable into a shallow dictionary of its immediate attributes."""
45
+ body = {}
46
+ if self.acct_ip_acl_enable: body['acct_ip_acl_enable'] = self.acct_ip_acl_enable
47
+ if self.etag is not None: body['etag'] = self.etag
48
+ if self.setting_name is not None: body['setting_name'] = self.setting_name
49
+ return body
50
+
51
+ @classmethod
52
+ def from_dict(cls, d: Dict[str, any]) -> AccountIpAccessEnable:
53
+ """Deserializes the AccountIpAccessEnable from a dictionary."""
54
+ return cls(acct_ip_acl_enable=_from_dict(d, 'acct_ip_acl_enable', BooleanMessage),
55
+ etag=d.get('etag', None),
56
+ setting_name=d.get('setting_name', None))
57
+
58
+
17
59
  @dataclass
18
60
  class AibiDashboardEmbeddingAccessPolicy:
19
61
  access_policy_type: AibiDashboardEmbeddingAccessPolicyAccessPolicyType
@@ -521,7 +563,9 @@ class ComplianceStandard(Enum):
521
563
  FEDRAMP_IL5 = 'FEDRAMP_IL5'
522
564
  FEDRAMP_MODERATE = 'FEDRAMP_MODERATE'
523
565
  HIPAA = 'HIPAA'
566
+ HITRUST = 'HITRUST'
524
567
  IRAP_PROTECTED = 'IRAP_PROTECTED'
568
+ ISMAP = 'ISMAP'
525
569
  ITAR_EAR = 'ITAR_EAR'
526
570
  NONE = 'NONE'
527
571
  PCI_DSS = 'PCI_DSS'
@@ -991,6 +1035,36 @@ class DefaultNamespaceSetting:
991
1035
  setting_name=d.get('setting_name', None))
992
1036
 
993
1037
 
1038
+ @dataclass
1039
+ class DeleteAccountIpAccessEnableResponse:
1040
+ """The etag is returned."""
1041
+
1042
+ etag: str
1043
+ """etag used for versioning. The response is at least as fresh as the eTag provided. This is used
1044
+ for optimistic concurrency control as a way to help prevent simultaneous writes of a setting
1045
+ overwriting each other. It is strongly suggested that systems make use of the etag in the read
1046
+ -> delete pattern to perform setting deletions in order to avoid race conditions. That is, get
1047
+ an etag from a GET request, and pass it with the DELETE request to identify the rule set version
1048
+ you are deleting."""
1049
+
1050
+ def as_dict(self) -> dict:
1051
+ """Serializes the DeleteAccountIpAccessEnableResponse into a dictionary suitable for use as a JSON request body."""
1052
+ body = {}
1053
+ if self.etag is not None: body['etag'] = self.etag
1054
+ return body
1055
+
1056
+ def as_shallow_dict(self) -> dict:
1057
+ """Serializes the DeleteAccountIpAccessEnableResponse into a shallow dictionary of its immediate attributes."""
1058
+ body = {}
1059
+ if self.etag is not None: body['etag'] = self.etag
1060
+ return body
1061
+
1062
+ @classmethod
1063
+ def from_dict(cls, d: Dict[str, any]) -> DeleteAccountIpAccessEnableResponse:
1064
+ """Deserializes the DeleteAccountIpAccessEnableResponse from a dictionary."""
1065
+ return cls(etag=d.get('etag', None))
1066
+
1067
+
994
1068
  @dataclass
995
1069
  class DeleteAibiDashboardEmbeddingAccessPolicySettingResponse:
996
1070
  """The etag is returned."""
@@ -3556,9 +3630,54 @@ class TokenType(Enum):
3556
3630
  """The type of token request. As of now, only `AZURE_ACTIVE_DIRECTORY_TOKEN` is supported."""
3557
3631
 
3558
3632
  ARCLIGHT_AZURE_EXCHANGE_TOKEN = 'ARCLIGHT_AZURE_EXCHANGE_TOKEN'
3633
+ ARCLIGHT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY = 'ARCLIGHT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY'
3559
3634
  AZURE_ACTIVE_DIRECTORY_TOKEN = 'AZURE_ACTIVE_DIRECTORY_TOKEN'
3560
3635
 
3561
3636
 
3637
+ @dataclass
3638
+ class UpdateAccountIpAccessEnableRequest:
3639
+ """Details required to update a setting."""
3640
+
3641
+ allow_missing: bool
3642
+ """This should always be set to true for Settings API. Added for AIP compliance."""
3643
+
3644
+ setting: AccountIpAccessEnable
3645
+
3646
+ field_mask: str
3647
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
3648
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
3649
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
3650
+ as only the entire collection field can be specified. Field names must exactly match the
3651
+ resource field names.
3652
+
3653
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
3654
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
3655
+ API changes in the future."""
3656
+
3657
+ def as_dict(self) -> dict:
3658
+ """Serializes the UpdateAccountIpAccessEnableRequest into a dictionary suitable for use as a JSON request body."""
3659
+ body = {}
3660
+ if self.allow_missing is not None: body['allow_missing'] = self.allow_missing
3661
+ if self.field_mask is not None: body['field_mask'] = self.field_mask
3662
+ if self.setting: body['setting'] = self.setting.as_dict()
3663
+ return body
3664
+
3665
+ def as_shallow_dict(self) -> dict:
3666
+ """Serializes the UpdateAccountIpAccessEnableRequest into a shallow dictionary of its immediate attributes."""
3667
+ body = {}
3668
+ if self.allow_missing is not None: body['allow_missing'] = self.allow_missing
3669
+ if self.field_mask is not None: body['field_mask'] = self.field_mask
3670
+ if self.setting: body['setting'] = self.setting
3671
+ return body
3672
+
3673
+ @classmethod
3674
+ def from_dict(cls, d: Dict[str, any]) -> UpdateAccountIpAccessEnableRequest:
3675
+ """Deserializes the UpdateAccountIpAccessEnableRequest from a dictionary."""
3676
+ return cls(allow_missing=d.get('allow_missing', None),
3677
+ field_mask=d.get('field_mask', None),
3678
+ setting=_from_dict(d, 'setting', AccountIpAccessEnable))
3679
+
3680
+
3562
3681
  @dataclass
3563
3682
  class UpdateAibiDashboardEmbeddingAccessPolicySettingRequest:
3564
3683
  """Details required to update a setting."""
@@ -3569,9 +3688,15 @@ class UpdateAibiDashboardEmbeddingAccessPolicySettingRequest:
3569
3688
  setting: AibiDashboardEmbeddingAccessPolicySetting
3570
3689
 
3571
3690
  field_mask: str
3572
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3573
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3574
- specify multiple fields in the field mask, use comma as the separator (no space)."""
3691
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
3692
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
3693
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
3694
+ as only the entire collection field can be specified. Field names must exactly match the
3695
+ resource field names.
3696
+
3697
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
3698
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
3699
+ API changes in the future."""
3575
3700
 
3576
3701
  def as_dict(self) -> dict:
3577
3702
  """Serializes the UpdateAibiDashboardEmbeddingAccessPolicySettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -3607,9 +3732,15 @@ class UpdateAibiDashboardEmbeddingApprovedDomainsSettingRequest:
3607
3732
  setting: AibiDashboardEmbeddingApprovedDomainsSetting
3608
3733
 
3609
3734
  field_mask: str
3610
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3611
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3612
- specify multiple fields in the field mask, use comma as the separator (no space)."""
3735
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
3736
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
3737
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
3738
+ as only the entire collection field can be specified. Field names must exactly match the
3739
+ resource field names.
3740
+
3741
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
3742
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
3743
+ API changes in the future."""
3613
3744
 
3614
3745
  def as_dict(self) -> dict:
3615
3746
  """Serializes the UpdateAibiDashboardEmbeddingApprovedDomainsSettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -3645,9 +3776,15 @@ class UpdateAutomaticClusterUpdateSettingRequest:
3645
3776
  setting: AutomaticClusterUpdateSetting
3646
3777
 
3647
3778
  field_mask: str
3648
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3649
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3650
- specify multiple fields in the field mask, use comma as the separator (no space)."""
3779
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
3780
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
3781
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
3782
+ as only the entire collection field can be specified. Field names must exactly match the
3783
+ resource field names.
3784
+
3785
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
3786
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
3787
+ API changes in the future."""
3651
3788
 
3652
3789
  def as_dict(self) -> dict:
3653
3790
  """Serializes the UpdateAutomaticClusterUpdateSettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -3683,9 +3820,15 @@ class UpdateComplianceSecurityProfileSettingRequest:
3683
3820
  setting: ComplianceSecurityProfileSetting
3684
3821
 
3685
3822
  field_mask: str
3686
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3687
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3688
- specify multiple fields in the field mask, use comma as the separator (no space)."""
3823
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
3824
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
3825
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
3826
+ as only the entire collection field can be specified. Field names must exactly match the
3827
+ resource field names.
3828
+
3829
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
3830
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
3831
+ API changes in the future."""
3689
3832
 
3690
3833
  def as_dict(self) -> dict:
3691
3834
  """Serializes the UpdateComplianceSecurityProfileSettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -3721,9 +3864,15 @@ class UpdateCspEnablementAccountSettingRequest:
3721
3864
  setting: CspEnablementAccountSetting
3722
3865
 
3723
3866
  field_mask: str
3724
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3725
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3726
- specify multiple fields in the field mask, use comma as the separator (no space)."""
3867
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
3868
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
3869
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
3870
+ as only the entire collection field can be specified. Field names must exactly match the
3871
+ resource field names.
3872
+
3873
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
3874
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
3875
+ API changes in the future."""
3727
3876
 
3728
3877
  def as_dict(self) -> dict:
3729
3878
  """Serializes the UpdateCspEnablementAccountSettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -3766,9 +3915,15 @@ class UpdateDefaultNamespaceSettingRequest:
3766
3915
  applies when using Unity Catalog-enabled compute."""
3767
3916
 
3768
3917
  field_mask: str
3769
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3770
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3771
- specify multiple fields in the field mask, use comma as the separator (no space)."""
3918
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
3919
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
3920
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
3921
+ as only the entire collection field can be specified. Field names must exactly match the
3922
+ resource field names.
3923
+
3924
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
3925
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
3926
+ API changes in the future."""
3772
3927
 
3773
3928
  def as_dict(self) -> dict:
3774
3929
  """Serializes the UpdateDefaultNamespaceSettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -3804,9 +3959,15 @@ class UpdateDisableLegacyAccessRequest:
3804
3959
  setting: DisableLegacyAccess
3805
3960
 
3806
3961
  field_mask: str
3807
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3808
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3809
- specify multiple fields in the field mask, use comma as the separator (no space)."""
3962
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
3963
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
3964
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
3965
+ as only the entire collection field can be specified. Field names must exactly match the
3966
+ resource field names.
3967
+
3968
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
3969
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
3970
+ API changes in the future."""
3810
3971
 
3811
3972
  def as_dict(self) -> dict:
3812
3973
  """Serializes the UpdateDisableLegacyAccessRequest into a dictionary suitable for use as a JSON request body."""
@@ -3842,9 +4003,15 @@ class UpdateDisableLegacyDbfsRequest:
3842
4003
  setting: DisableLegacyDbfs
3843
4004
 
3844
4005
  field_mask: str
3845
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3846
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3847
- specify multiple fields in the field mask, use comma as the separator (no space)."""
4006
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
4007
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
4008
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
4009
+ as only the entire collection field can be specified. Field names must exactly match the
4010
+ resource field names.
4011
+
4012
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4013
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
4014
+ API changes in the future."""
3848
4015
 
3849
4016
  def as_dict(self) -> dict:
3850
4017
  """Serializes the UpdateDisableLegacyDbfsRequest into a dictionary suitable for use as a JSON request body."""
@@ -3880,9 +4047,15 @@ class UpdateDisableLegacyFeaturesRequest:
3880
4047
  setting: DisableLegacyFeatures
3881
4048
 
3882
4049
  field_mask: str
3883
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3884
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3885
- specify multiple fields in the field mask, use comma as the separator (no space)."""
4050
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
4051
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
4052
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
4053
+ as only the entire collection field can be specified. Field names must exactly match the
4054
+ resource field names.
4055
+
4056
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4057
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
4058
+ API changes in the future."""
3886
4059
 
3887
4060
  def as_dict(self) -> dict:
3888
4061
  """Serializes the UpdateDisableLegacyFeaturesRequest into a dictionary suitable for use as a JSON request body."""
@@ -3918,9 +4091,15 @@ class UpdateEnhancedSecurityMonitoringSettingRequest:
3918
4091
  setting: EnhancedSecurityMonitoringSetting
3919
4092
 
3920
4093
  field_mask: str
3921
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3922
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3923
- specify multiple fields in the field mask, use comma as the separator (no space)."""
4094
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
4095
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
4096
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
4097
+ as only the entire collection field can be specified. Field names must exactly match the
4098
+ resource field names.
4099
+
4100
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4101
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
4102
+ API changes in the future."""
3924
4103
 
3925
4104
  def as_dict(self) -> dict:
3926
4105
  """Serializes the UpdateEnhancedSecurityMonitoringSettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -3956,9 +4135,15 @@ class UpdateEsmEnablementAccountSettingRequest:
3956
4135
  setting: EsmEnablementAccountSetting
3957
4136
 
3958
4137
  field_mask: str
3959
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
3960
- the setting payload will be updated. The field mask needs to be supplied as single string. To
3961
- specify multiple fields in the field mask, use comma as the separator (no space)."""
4138
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
4139
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
4140
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
4141
+ as only the entire collection field can be specified. Field names must exactly match the
4142
+ resource field names.
4143
+
4144
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4145
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
4146
+ API changes in the future."""
3962
4147
 
3963
4148
  def as_dict(self) -> dict:
3964
4149
  """Serializes the UpdateEsmEnablementAccountSettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -4080,9 +4265,15 @@ class UpdatePersonalComputeSettingRequest:
4080
4265
  setting: PersonalComputeSetting
4081
4266
 
4082
4267
  field_mask: str
4083
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
4084
- the setting payload will be updated. The field mask needs to be supplied as single string. To
4085
- specify multiple fields in the field mask, use comma as the separator (no space)."""
4268
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
4269
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
4270
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
4271
+ as only the entire collection field can be specified. Field names must exactly match the
4272
+ resource field names.
4273
+
4274
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4275
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
4276
+ API changes in the future."""
4086
4277
 
4087
4278
  def as_dict(self) -> dict:
4088
4279
  """Serializes the UpdatePersonalComputeSettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -4137,9 +4328,15 @@ class UpdateRestrictWorkspaceAdminsSettingRequest:
4137
4328
  setting: RestrictWorkspaceAdminsSetting
4138
4329
 
4139
4330
  field_mask: str
4140
- """Field mask is required to be passed into the PATCH request. Field mask specifies which fields of
4141
- the setting payload will be updated. The field mask needs to be supplied as single string. To
4142
- specify multiple fields in the field mask, use comma as the separator (no space)."""
4331
+ """The field mask must be a single string, with multiple fields separated by commas (no spaces).
4332
+ The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields
4333
+ (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed,
4334
+ as only the entire collection field can be specified. Field names must exactly match the
4335
+ resource field names.
4336
+
4337
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4338
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the
4339
+ API changes in the future."""
4143
4340
 
4144
4341
  def as_dict(self) -> dict:
4145
4342
  """Serializes the UpdateRestrictWorkspaceAdminsSettingRequest into a dictionary suitable for use as a JSON request body."""
@@ -4391,6 +4588,7 @@ class AccountSettingsAPI:
4391
4588
 
4392
4589
  self._csp_enablement_account = CspEnablementAccountAPI(self._api)
4393
4590
  self._disable_legacy_features = DisableLegacyFeaturesAPI(self._api)
4591
+ self._enable_ip_access_lists = EnableIpAccessListsAPI(self._api)
4394
4592
  self._esm_enablement_account = EsmEnablementAccountAPI(self._api)
4395
4593
  self._personal_compute = PersonalComputeAPI(self._api)
4396
4594
 
@@ -4404,6 +4602,11 @@ class AccountSettingsAPI:
4404
4602
  """Disable legacy features for new Databricks workspaces."""
4405
4603
  return self._disable_legacy_features
4406
4604
 
4605
+ @property
4606
+ def enable_ip_access_lists(self) -> EnableIpAccessListsAPI:
4607
+ """Controls the enforcement of IP access lists for accessing the account console."""
4608
+ return self._enable_ip_access_lists
4609
+
4407
4610
  @property
4408
4611
  def esm_enablement_account(self) -> EsmEnablementAccountAPI:
4409
4612
  """The enhanced security monitoring setting at the account level controls whether to enable the feature on new workspaces."""
@@ -4485,9 +4688,15 @@ class AibiDashboardEmbeddingAccessPolicyAPI:
4485
4688
  This should always be set to true for Settings API. Added for AIP compliance.
4486
4689
  :param setting: :class:`AibiDashboardEmbeddingAccessPolicySetting`
4487
4690
  :param field_mask: str
4488
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
4489
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
4490
- multiple fields in the field mask, use comma as the separator (no space).
4691
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
4692
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
4693
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
4694
+ the entire collection field can be specified. Field names must exactly match the resource field
4695
+ names.
4696
+
4697
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4698
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
4699
+ changes in the future.
4491
4700
 
4492
4701
  :returns: :class:`AibiDashboardEmbeddingAccessPolicySetting`
4493
4702
  """
@@ -4575,9 +4784,15 @@ class AibiDashboardEmbeddingApprovedDomainsAPI:
4575
4784
  This should always be set to true for Settings API. Added for AIP compliance.
4576
4785
  :param setting: :class:`AibiDashboardEmbeddingApprovedDomainsSetting`
4577
4786
  :param field_mask: str
4578
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
4579
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
4580
- multiple fields in the field mask, use comma as the separator (no space).
4787
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
4788
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
4789
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
4790
+ the entire collection field can be specified. Field names must exactly match the resource field
4791
+ names.
4792
+
4793
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4794
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
4795
+ changes in the future.
4581
4796
 
4582
4797
  :returns: :class:`AibiDashboardEmbeddingApprovedDomainsSetting`
4583
4798
  """
@@ -4639,9 +4854,15 @@ class AutomaticClusterUpdateAPI:
4639
4854
  This should always be set to true for Settings API. Added for AIP compliance.
4640
4855
  :param setting: :class:`AutomaticClusterUpdateSetting`
4641
4856
  :param field_mask: str
4642
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
4643
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
4644
- multiple fields in the field mask, use comma as the separator (no space).
4857
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
4858
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
4859
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
4860
+ the entire collection field can be specified. Field names must exactly match the resource field
4861
+ names.
4862
+
4863
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4864
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
4865
+ changes in the future.
4645
4866
 
4646
4867
  :returns: :class:`AutomaticClusterUpdateSetting`
4647
4868
  """
@@ -4705,9 +4926,15 @@ class ComplianceSecurityProfileAPI:
4705
4926
  This should always be set to true for Settings API. Added for AIP compliance.
4706
4927
  :param setting: :class:`ComplianceSecurityProfileSetting`
4707
4928
  :param field_mask: str
4708
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
4709
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
4710
- multiple fields in the field mask, use comma as the separator (no space).
4929
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
4930
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
4931
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
4932
+ the entire collection field can be specified. Field names must exactly match the resource field
4933
+ names.
4934
+
4935
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
4936
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
4937
+ changes in the future.
4711
4938
 
4712
4939
  :returns: :class:`ComplianceSecurityProfileSetting`
4713
4940
  """
@@ -4807,9 +5034,15 @@ class CspEnablementAccountAPI:
4807
5034
  This should always be set to true for Settings API. Added for AIP compliance.
4808
5035
  :param setting: :class:`CspEnablementAccountSetting`
4809
5036
  :param field_mask: str
4810
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
4811
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
4812
- multiple fields in the field mask, use comma as the separator (no space).
5037
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
5038
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
5039
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
5040
+ the entire collection field can be specified. Field names must exactly match the resource field
5041
+ names.
5042
+
5043
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5044
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
5045
+ changes in the future.
4813
5046
 
4814
5047
  :returns: :class:`CspEnablementAccountSetting`
4815
5048
  """
@@ -4917,9 +5150,15 @@ class DefaultNamespaceAPI:
4917
5150
  restart of clusters and SQL warehouses to take effect. Additionally, the default namespace only
4918
5151
  applies when using Unity Catalog-enabled compute.
4919
5152
  :param field_mask: str
4920
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
4921
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
4922
- multiple fields in the field mask, use comma as the separator (no space).
5153
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
5154
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
5155
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
5156
+ the entire collection field can be specified. Field names must exactly match the resource field
5157
+ names.
5158
+
5159
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5160
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
5161
+ changes in the future.
4923
5162
 
4924
5163
  :returns: :class:`DefaultNamespaceSetting`
4925
5164
  """
@@ -5007,9 +5246,15 @@ class DisableLegacyAccessAPI:
5007
5246
  This should always be set to true for Settings API. Added for AIP compliance.
5008
5247
  :param setting: :class:`DisableLegacyAccess`
5009
5248
  :param field_mask: str
5010
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
5011
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
5012
- multiple fields in the field mask, use comma as the separator (no space).
5249
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
5250
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
5251
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
5252
+ the entire collection field can be specified. Field names must exactly match the resource field
5253
+ names.
5254
+
5255
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5256
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
5257
+ changes in the future.
5013
5258
 
5014
5259
  :returns: :class:`DisableLegacyAccess`
5015
5260
  """
@@ -5092,9 +5337,15 @@ class DisableLegacyDbfsAPI:
5092
5337
  This should always be set to true for Settings API. Added for AIP compliance.
5093
5338
  :param setting: :class:`DisableLegacyDbfs`
5094
5339
  :param field_mask: str
5095
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
5096
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
5097
- multiple fields in the field mask, use comma as the separator (no space).
5340
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
5341
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
5342
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
5343
+ the entire collection field can be specified. Field names must exactly match the resource field
5344
+ names.
5345
+
5346
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5347
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
5348
+ changes in the future.
5098
5349
 
5099
5350
  :returns: :class:`DisableLegacyDbfs`
5100
5351
  """
@@ -5183,9 +5434,15 @@ class DisableLegacyFeaturesAPI:
5183
5434
  This should always be set to true for Settings API. Added for AIP compliance.
5184
5435
  :param setting: :class:`DisableLegacyFeatures`
5185
5436
  :param field_mask: str
5186
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
5187
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
5188
- multiple fields in the field mask, use comma as the separator (no space).
5437
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
5438
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
5439
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
5440
+ the entire collection field can be specified. Field names must exactly match the resource field
5441
+ names.
5442
+
5443
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5444
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
5445
+ changes in the future.
5189
5446
 
5190
5447
  :returns: :class:`DisableLegacyFeatures`
5191
5448
  """
@@ -5203,6 +5460,101 @@ class DisableLegacyFeaturesAPI:
5203
5460
  return DisableLegacyFeatures.from_dict(res)
5204
5461
 
5205
5462
 
5463
+ class EnableIpAccessListsAPI:
5464
+ """Controls the enforcement of IP access lists for accessing the account console. Allowing you to enable or
5465
+ disable restricted access based on IP addresses."""
5466
+
5467
+ def __init__(self, api_client):
5468
+ self._api = api_client
5469
+
5470
+ def delete(self, *, etag: Optional[str] = None) -> DeleteAccountIpAccessEnableResponse:
5471
+ """Delete the account IP access toggle setting.
5472
+
5473
+ Reverts the value of the account IP access toggle setting to default (ON)
5474
+
5475
+ :param etag: str (optional)
5476
+ etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
5477
+ optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
5478
+ each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
5479
+ to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
5480
+ request, and pass it with the DELETE request to identify the rule set version you are deleting.
5481
+
5482
+ :returns: :class:`DeleteAccountIpAccessEnableResponse`
5483
+ """
5484
+
5485
+ query = {}
5486
+ if etag is not None: query['etag'] = etag
5487
+ headers = {'Accept': 'application/json', }
5488
+
5489
+ res = self._api.do(
5490
+ 'DELETE',
5491
+ f'/api/2.0/accounts/{self._api.account_id}/settings/types/acct_ip_acl_enable/names/default',
5492
+ query=query,
5493
+ headers=headers)
5494
+ return DeleteAccountIpAccessEnableResponse.from_dict(res)
5495
+
5496
+ def get(self, *, etag: Optional[str] = None) -> AccountIpAccessEnable:
5497
+ """Get the account IP access toggle setting.
5498
+
5499
+ Gets the value of the account IP access toggle setting.
5500
+
5501
+ :param etag: str (optional)
5502
+ etag used for versioning. The response is at least as fresh as the eTag provided. This is used for
5503
+ optimistic concurrency control as a way to help prevent simultaneous writes of a setting overwriting
5504
+ each other. It is strongly suggested that systems make use of the etag in the read -> delete pattern
5505
+ to perform setting deletions in order to avoid race conditions. That is, get an etag from a GET
5506
+ request, and pass it with the DELETE request to identify the rule set version you are deleting.
5507
+
5508
+ :returns: :class:`AccountIpAccessEnable`
5509
+ """
5510
+
5511
+ query = {}
5512
+ if etag is not None: query['etag'] = etag
5513
+ headers = {'Accept': 'application/json', }
5514
+
5515
+ res = self._api.do(
5516
+ 'GET',
5517
+ f'/api/2.0/accounts/{self._api.account_id}/settings/types/acct_ip_acl_enable/names/default',
5518
+ query=query,
5519
+ headers=headers)
5520
+ return AccountIpAccessEnable.from_dict(res)
5521
+
5522
+ def update(self, allow_missing: bool, setting: AccountIpAccessEnable,
5523
+ field_mask: str) -> AccountIpAccessEnable:
5524
+ """Update the account IP access toggle setting.
5525
+
5526
+ Updates the value of the account IP access toggle setting.
5527
+
5528
+ :param allow_missing: bool
5529
+ This should always be set to true for Settings API. Added for AIP compliance.
5530
+ :param setting: :class:`AccountIpAccessEnable`
5531
+ :param field_mask: str
5532
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
5533
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
5534
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
5535
+ the entire collection field can be specified. Field names must exactly match the resource field
5536
+ names.
5537
+
5538
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5539
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
5540
+ changes in the future.
5541
+
5542
+ :returns: :class:`AccountIpAccessEnable`
5543
+ """
5544
+ body = {}
5545
+ if allow_missing is not None: body['allow_missing'] = allow_missing
5546
+ if field_mask is not None: body['field_mask'] = field_mask
5547
+ if setting is not None: body['setting'] = setting.as_dict()
5548
+ headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
5549
+
5550
+ res = self._api.do(
5551
+ 'PATCH',
5552
+ f'/api/2.0/accounts/{self._api.account_id}/settings/types/acct_ip_acl_enable/names/default',
5553
+ body=body,
5554
+ headers=headers)
5555
+ return AccountIpAccessEnable.from_dict(res)
5556
+
5557
+
5206
5558
  class EnhancedSecurityMonitoringAPI:
5207
5559
  """Controls whether enhanced security monitoring is enabled for the current workspace. If the compliance
5208
5560
  security profile is enabled, this is automatically enabled. By default, it is disabled. However, if the
@@ -5252,9 +5604,15 @@ class EnhancedSecurityMonitoringAPI:
5252
5604
  This should always be set to true for Settings API. Added for AIP compliance.
5253
5605
  :param setting: :class:`EnhancedSecurityMonitoringSetting`
5254
5606
  :param field_mask: str
5255
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
5256
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
5257
- multiple fields in the field mask, use comma as the separator (no space).
5607
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
5608
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
5609
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
5610
+ the entire collection field can be specified. Field names must exactly match the resource field
5611
+ names.
5612
+
5613
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5614
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
5615
+ changes in the future.
5258
5616
 
5259
5617
  :returns: :class:`EnhancedSecurityMonitoringSetting`
5260
5618
  """
@@ -5315,9 +5673,15 @@ class EsmEnablementAccountAPI:
5315
5673
  This should always be set to true for Settings API. Added for AIP compliance.
5316
5674
  :param setting: :class:`EsmEnablementAccountSetting`
5317
5675
  :param field_mask: str
5318
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
5319
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
5320
- multiple fields in the field mask, use comma as the separator (no space).
5676
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
5677
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
5678
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
5679
+ the entire collection field can be specified. Field names must exactly match the resource field
5680
+ names.
5681
+
5682
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
5683
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
5684
+ changes in the future.
5321
5685
 
5322
5686
  :returns: :class:`EsmEnablementAccountSetting`
5323
5687
  """
@@ -5947,9 +6311,15 @@ class PersonalComputeAPI:
5947
6311
  This should always be set to true for Settings API. Added for AIP compliance.
5948
6312
  :param setting: :class:`PersonalComputeSetting`
5949
6313
  :param field_mask: str
5950
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
5951
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
5952
- multiple fields in the field mask, use comma as the separator (no space).
6314
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
6315
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
6316
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
6317
+ the entire collection field can be specified. Field names must exactly match the resource field
6318
+ names.
6319
+
6320
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6321
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
6322
+ changes in the future.
5953
6323
 
5954
6324
  :returns: :class:`PersonalComputeSetting`
5955
6325
  """
@@ -6047,9 +6417,15 @@ class RestrictWorkspaceAdminsAPI:
6047
6417
  This should always be set to true for Settings API. Added for AIP compliance.
6048
6418
  :param setting: :class:`RestrictWorkspaceAdminsSetting`
6049
6419
  :param field_mask: str
6050
- Field mask is required to be passed into the PATCH request. Field mask specifies which fields of the
6051
- setting payload will be updated. The field mask needs to be supplied as single string. To specify
6052
- multiple fields in the field mask, use comma as the separator (no space).
6420
+ The field mask must be a single string, with multiple fields separated by commas (no spaces). The
6421
+ field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g.,
6422
+ `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only
6423
+ the entire collection field can be specified. Field names must exactly match the resource field
6424
+ names.
6425
+
6426
+ A field mask of `*` indicates full replacement. It’s recommended to always explicitly list the
6427
+ fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API
6428
+ changes in the future.
6053
6429
 
6054
6430
  :returns: :class:`RestrictWorkspaceAdminsSetting`
6055
6431
  """