Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adaptive request timeouts #837

Merged
merged 10 commits into from
Mar 1, 2024
Merged

Adaptive request timeouts #837

merged 10 commits into from
Mar 1, 2024

Conversation

pietern
Copy link
Contributor

@pietern pietern commented Feb 28, 2024

Changes

The net/http package supports only a fixed timeout.

This is problematic when streaming a large request or response body.

The approach proposed in this PR is to disable the net/http timeouts and use our own context for cancellation instead. This context is canceled only if there is no activity for the duration of 1 timeout period. As the request or response body is read, the deadline is reinitialized to equal 1 timeout period from the current timestamp. This means real timeouts will still time out in the same amount of time, but streaming requests will not time out as long as there is activity.

If a request times out, it used to return the following error:

Get "/a?": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

Now it returns the following error:

Get "/a?": request timed out after 10ms of inactivity

Note: the unit tests are time-based. Not great but I don't have a great alternative (that doesn't involve mocking time itself).

Tests

  • make test passing
  • make fmt applied
  • relevant integration tests applied

The net/http package supports only a fixed timeout.

This is problematic when streaming a large request or response body.

The approach proposed in this PR is to disable the net/http timeouts and use
our own context for cancellation instead. This context is cancelled only if
there is no activity for the duration of 1 timeout period. As the request or
response body is read, the deadline is reinitialized to equal 1 timeout period
from the current timestamp. This means real timeouts will still timeout in the
same amount of time, but streaming requests will not timeout as long as there
is activity.
@pietern
Copy link
Contributor Author

pietern commented Feb 28, 2024

I confirmed that with a very tight timeout (5 seconds), the CLI no longer times out when working with huge files and Unity Catalog Volumes. Ad hoc debug logging confirms that the deadline keeps getting extended while the request/response body is being read. Requests succeed regardless of the network bandwidth as long as there is activity.

httpclient/timeout_context.go Outdated Show resolved Hide resolved
// while the request or response body is being read.
// It exists because the net/http package supports only a fixed timeout.
ctx, ticker := newTimeoutContext(ctx, c.config.HTTPTimeout)
request, err := http.NewRequestWithContext(ctx, method, requestURL, tickingReader(ticker, requestBody.Reader))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, dug through the guts of net/http and I believe the client uses a 32kb buffer when reading from the request body. So this would mean that if less than 32kb is written out over HTTPTimeout duration, the request could be broken. Given the default 30s timeout, the user needs to sustain more than 1066b/s. Sounds good to me.

httpclient/timeout_context.go Outdated Show resolved Hide resolved
Co-authored-by: Miles Yucht <miles@databricks.com>
@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 95.23810% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 18.54%. Comparing base (28be042) to head (1ee2336).
Report is 1 commits behind head on main.

Files Patch % Lines
httpclient/timeout_context.go 94.44% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #837      +/-   ##
==========================================
+ Coverage   18.33%   18.54%   +0.21%     
==========================================
  Files         118      119       +1     
  Lines       22166    22227      +61     
==========================================
+ Hits         4064     4122      +58     
- Misses      17851    17853       +2     
- Partials      251      252       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@pietern pietern requested a review from mgyucht March 1, 2024 09:45
@pietern
Copy link
Contributor Author

pietern commented Mar 1, 2024

Kicking off an integration test run now.

// If there is a request body, wrap it to extend the request timeout while it is being read.
// Note: we do not wrap the request body earlier, because [http.NewRequestWithContext] performs
// type probing on the body variable to determine the content length.
if request.Body != nil && request.Body != http.NoBody {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mgyucht I needed to check for http.NoBody as well. The guts of net/http use this to signal an empty body if it is not nil... We clearly don't care about extending timeouts if there is no body, so safe to filter here.

Copy link
Contributor

@mgyucht mgyucht left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for the clear comments!

@pietern
Copy link
Contributor Author

pietern commented Mar 1, 2024

Integration tests pass.

@pietern pietern added this pull request to the merge queue Mar 1, 2024
Merged via the queue into main with commit 7651733 Mar 1, 2024
4 checks passed
@pietern pietern deleted the adaptive-timeout branch March 1, 2024 16:09
tanmay-db added a commit that referenced this pull request Mar 4, 2024
* Add helper function ([#824](#824)).
* Add integration tests for files API ([#818](#818)).
* Fix GetWorkspaceClient for GCP ([#803](#803)).
* Support subservices ([#826](#826)).
* Differentiate between empty structures and components that can take on any value ([#821](#821)).
* Do not transpile getWorkspaceClient ([#830](#830)).
* Treat empty entities as entities ([#831](#831)).
* Update isObject to consider empty objects ([#834](#834)).
* Added tokei.rs badge ([#836](#836)).
* Adaptive request timeouts ([#837](#837)).
* HTTP proxy example ([#825](#825)).
* Update SDK to latest OpenAPI spec ([#839](#839)).
* Include Go 1.22 in test matrix ([#841](#841)).

API Changes:

 * Added [w.PermissionMigration](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iam#PermissionMigrationAPI) workspace-level service.
 * Added [iam.PermissionMigrationRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iam#PermissionMigrationRequest).
 * Added [iam.PermissionMigrationResponse](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iam#PermissionMigrationResponse).
 * Changed `Version` field for [serving.AppManifest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/serving#AppManifest) to [serving.AnyValue](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/serving#AnyValue).
 * Removed `DeletePersonalComputeSetting` method for [a.AccountSettings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AccountSettingsAPI) account-level service.
 * Removed `GetPersonalComputeSetting` method for [a.AccountSettings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AccountSettingsAPI) account-level service.
 * Removed `UpdatePersonalComputeSetting` method for [a.AccountSettings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AccountSettingsAPI) account-level service.
 * Removed `DeleteDefaultNamespaceSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `DeleteRestrictWorkspaceAdminsSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `GetDefaultNamespaceSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `GetRestrictWorkspaceAdminsSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `UpdateDefaultNamespaceSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `UpdateRestrictWorkspaceAdminsSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Added [w.AutomaticClusterUpdate](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AutomaticClusterUpdateAPI) workspace-level service.
 * Added [w.CspEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAPI) workspace-level service.
 * Added [a.CspEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAccountAPI) account-level service.
 * Added [w.DefaultNamespace](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DefaultNamespaceAPI) workspace-level service.
 * Added [w.EsmEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAPI) workspace-level service.
 * Added [a.EsmEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAccountAPI) account-level service.
 * Added [a.PersonalCompute](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#PersonalComputeAPI) account-level service.
 * Added [w.RestrictWorkspaceAdmins](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#RestrictWorkspaceAdminsAPI) workspace-level service.
 * Removed [settings.DeleteDefaultNamespaceSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteDefaultNamespaceSettingRequest).
 * Removed [settings.DeletePersonalComputeSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeletePersonalComputeSettingRequest).
 * Removed [settings.DeleteRestrictWorkspaceAdminsSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteRestrictWorkspaceAdminsSettingRequest).
 * Removed [settings.GetDefaultNamespaceSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetDefaultNamespaceSettingRequest).
 * Removed [settings.GetPersonalComputeSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetPersonalComputeSettingRequest).
 * Removed [settings.GetRestrictWorkspaceAdminsSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetRestrictWorkspaceAdminsSettingRequest).
 * Added `AwsStableIpRule` field for [settings.NccEgressDefaultRules](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#NccEgressDefaultRules).
 * Added [settings.AutomaticClusterUpdateSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AutomaticClusterUpdateSetting).
 * Added [settings.ClusterAutoRestartMessage](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessage).
 * Added [settings.ClusterAutoRestartMessageEnablementDetails](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageEnablementDetails).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindow](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindow).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindowDayOfWeek](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowDayOfWeek).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindowWeekDayBasedSchedule](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowWeekDayBasedSchedule).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindowWeekDayFrequency](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowWeekDayFrequency).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindowWindowStartTime](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowWindowStartTime).
 * Added [settings.ComplianceStandard](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ComplianceStandard).
 * Added [settings.CspEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablement).
 * Added [settings.CspEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAccount).
 * Added [settings.CspEnablementAccountSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAccountSetting).
 * Added [settings.CspEnablementSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementSetting).
 * Added [settings.DeleteDefaultNamespaceRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteDefaultNamespaceRequest).
 * Added [settings.DeletePersonalComputeRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeletePersonalComputeRequest).
 * Added [settings.DeleteRestrictWorkspaceAdminRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteRestrictWorkspaceAdminRequest).
 * Added [settings.EsmEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablement).
 * Added [settings.EsmEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAccount).
 * Added [settings.EsmEnablementAccountSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAccountSetting).
 * Added [settings.EsmEnablementSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementSetting).
 * Added [settings.GetAutomaticClusterUpdateRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetAutomaticClusterUpdateRequest).
 * Added [settings.GetCspEnablementAccountRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetCspEnablementAccountRequest).
 * Added [settings.GetCspEnablementRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetCspEnablementRequest).
 * Added [settings.GetDefaultNamespaceRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetDefaultNamespaceRequest).
 * Added [settings.GetEsmEnablementAccountRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetEsmEnablementAccountRequest).
 * Added [settings.GetEsmEnablementRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetEsmEnablementRequest).
 * Added [settings.GetPersonalComputeRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetPersonalComputeRequest).
 * Added [settings.GetRestrictWorkspaceAdminRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetRestrictWorkspaceAdminRequest).
 * Added [settings.NccAwsStableIpRule](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#NccAwsStableIpRule).
 * Added [settings.UpdateAutomaticClusterUpdateSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateAutomaticClusterUpdateSettingRequest).
 * Added [settings.UpdateCspEnablementAccountSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateCspEnablementAccountSettingRequest).
 * Added [settings.UpdateCspEnablementSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateCspEnablementSettingRequest).
 * Added [settings.UpdateEsmEnablementAccountSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateEsmEnablementAccountSettingRequest).
 * Added [settings.UpdateEsmEnablementSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateEsmEnablementSettingRequest).
 * Removed `PlanningPhases` field for [sql.QueryMetrics](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/sql#QueryMetrics).
 * Changed `DeleteEndpoint` method for [w.VectorSearchEndpoints](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchEndpointsAPI) workspace-level service with new required argument order.
 * Changed `CreateIndex` method for [w.VectorSearchIndexes](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchIndexesAPI) workspace-level service with new required argument order.
 * Changed `DeleteDataVectorIndex` method for [w.VectorSearchIndexes](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchIndexesAPI) workspace-level service with new required argument order.
 * Changed `UpsertDataVectorIndex` method for [w.VectorSearchIndexes](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchIndexesAPI) workspace-level service with new required argument order.
 * Changed `EndpointName` field for [vectorsearch.CreateVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#CreateVectorIndexRequest) to be required.
 * Removed `Name` field for [vectorsearch.DeleteDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#DeleteDataVectorIndexRequest).
 * Added `IndexName` field for [vectorsearch.DeleteDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#DeleteDataVectorIndexRequest).
 * Removed `Name` field for [vectorsearch.DeleteEndpointRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#DeleteEndpointRequest).
 * Removed [vectorsearch.EmbeddingConfig](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#EmbeddingConfig).
 * Removed `EmbeddingConfig` field for [vectorsearch.EmbeddingSourceColumn](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#EmbeddingSourceColumn).
 * Added `EmbeddingModelEndpointName` field for [vectorsearch.EmbeddingSourceColumn](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#EmbeddingSourceColumn).
 * Removed `Name` field for [vectorsearch.UpsertDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#UpsertDataVectorIndexRequest).
 * Added `IndexName` field for [vectorsearch.UpsertDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#UpsertDataVectorIndexRequest).
 * Removed `DeltaSyncVectorIndexSpec` field for [vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).
 * Removed `DirectAccessVectorIndexSpec` field for [vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).
 * Added `DeltaSyncIndexSpec` field for [vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).
 * Added `DirectAccessIndexSpec` field for [vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).

OpenAPI SHA: d855b30f25a06fe84f25214efa20e7f1fffcdf9e, Date: 2024-03-04
Dependency updates:

 * Bump google.golang.org/api from 0.161.0 to 0.166.0 ([#829](#829)).
 * Bump exp & mod library ([#832](#832)).
@tanmay-db tanmay-db mentioned this pull request Mar 4, 2024
tanmay-db added a commit that referenced this pull request Mar 4, 2024
* Add helper function ([#824](#824)).
* Add integration tests for files API ([#818](#818)).
* Fix GetWorkspaceClient for GCP ([#803](#803)).
* Support subservices ([#826](#826)).
* Differentiate between empty structures and components that can take on any value ([#821](#821)).
* Do not transpile getWorkspaceClient ([#830](#830)).
* Treat empty entities as entities ([#831](#831)).
* Update isObject to consider empty objects ([#834](#834)).
* Added tokei.rs badge ([#836](#836)).
* Adaptive request timeouts ([#837](#837)).
* HTTP proxy example ([#825](#825)).
* Update SDK to latest OpenAPI spec ([#839](#839)).
* Include Go 1.22 in test matrix ([#841](#841)).

API Changes:

 * Added [w.PermissionMigration](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iam#PermissionMigrationAPI) workspace-level service.
 * Added [iam.PermissionMigrationRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iam#PermissionMigrationRequest).
 * Added [iam.PermissionMigrationResponse](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iam#PermissionMigrationResponse).
 * Changed `Version` field for [serving.AppManifest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/serving#AppManifest) to [serving.AnyValue](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/serving#AnyValue).
 * Removed `DeletePersonalComputeSetting` method for [a.AccountSettings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AccountSettingsAPI) account-level service.
 * Removed `GetPersonalComputeSetting` method for [a.AccountSettings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AccountSettingsAPI) account-level service.
 * Removed `UpdatePersonalComputeSetting` method for [a.AccountSettings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AccountSettingsAPI) account-level service.
 * Removed `DeleteDefaultNamespaceSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `DeleteRestrictWorkspaceAdminsSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `GetDefaultNamespaceSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `GetRestrictWorkspaceAdminsSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `UpdateDefaultNamespaceSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Removed `UpdateRestrictWorkspaceAdminsSetting` method for [w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI) workspace-level service.
 * Added [w.AutomaticClusterUpdate](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AutomaticClusterUpdateAPI) workspace-level service.
 * Added [w.CspEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAPI) workspace-level service.
 * Added [a.CspEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAccountAPI) account-level service.
 * Added [w.DefaultNamespace](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DefaultNamespaceAPI) workspace-level service.
 * Added [w.EsmEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAPI) workspace-level service.
 * Added [a.EsmEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAccountAPI) account-level service.
 * Added [a.PersonalCompute](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#PersonalComputeAPI) account-level service.
 * Added [w.RestrictWorkspaceAdmins](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#RestrictWorkspaceAdminsAPI) workspace-level service.
 * Removed [settings.DeleteDefaultNamespaceSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteDefaultNamespaceSettingRequest).
 * Removed [settings.DeletePersonalComputeSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeletePersonalComputeSettingRequest).
 * Removed [settings.DeleteRestrictWorkspaceAdminsSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteRestrictWorkspaceAdminsSettingRequest).
 * Removed [settings.GetDefaultNamespaceSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetDefaultNamespaceSettingRequest).
 * Removed [settings.GetPersonalComputeSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetPersonalComputeSettingRequest).
 * Removed [settings.GetRestrictWorkspaceAdminsSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetRestrictWorkspaceAdminsSettingRequest).
 * Added `AwsStableIpRule` field for [settings.NccEgressDefaultRules](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#NccEgressDefaultRules).
 * Added [settings.AutomaticClusterUpdateSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AutomaticClusterUpdateSetting).
 * Added [settings.ClusterAutoRestartMessage](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessage).
 * Added [settings.ClusterAutoRestartMessageEnablementDetails](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageEnablementDetails).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindow](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindow).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindowDayOfWeek](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowDayOfWeek).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindowWeekDayBasedSchedule](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowWeekDayBasedSchedule).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindowWeekDayFrequency](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowWeekDayFrequency).
 * Added [settings.ClusterAutoRestartMessageMaintenanceWindowWindowStartTime](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowWindowStartTime).
 * Added [settings.ComplianceStandard](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ComplianceStandard).
 * Added [settings.CspEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablement).
 * Added [settings.CspEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAccount).
 * Added [settings.CspEnablementAccountSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAccountSetting).
 * Added [settings.CspEnablementSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementSetting).
 * Added [settings.DeleteDefaultNamespaceRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteDefaultNamespaceRequest).
 * Added [settings.DeletePersonalComputeRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeletePersonalComputeRequest).
 * Added [settings.DeleteRestrictWorkspaceAdminRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteRestrictWorkspaceAdminRequest).
 * Added [settings.EsmEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablement).
 * Added [settings.EsmEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAccount).
 * Added [settings.EsmEnablementAccountSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAccountSetting).
 * Added [settings.EsmEnablementSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementSetting).
 * Added [settings.GetAutomaticClusterUpdateRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetAutomaticClusterUpdateRequest).
 * Added [settings.GetCspEnablementAccountRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetCspEnablementAccountRequest).
 * Added [settings.GetCspEnablementRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetCspEnablementRequest).
 * Added [settings.GetDefaultNamespaceRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetDefaultNamespaceRequest).
 * Added [settings.GetEsmEnablementAccountRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetEsmEnablementAccountRequest).
 * Added [settings.GetEsmEnablementRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetEsmEnablementRequest).
 * Added [settings.GetPersonalComputeRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetPersonalComputeRequest).
 * Added [settings.GetRestrictWorkspaceAdminRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetRestrictWorkspaceAdminRequest).
 * Added [settings.NccAwsStableIpRule](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#NccAwsStableIpRule).
 * Added [settings.UpdateAutomaticClusterUpdateSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateAutomaticClusterUpdateSettingRequest).
 * Added [settings.UpdateCspEnablementAccountSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateCspEnablementAccountSettingRequest).
 * Added [settings.UpdateCspEnablementSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateCspEnablementSettingRequest).
 * Added [settings.UpdateEsmEnablementAccountSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateEsmEnablementAccountSettingRequest).
 * Added [settings.UpdateEsmEnablementSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateEsmEnablementSettingRequest).
 * Removed `PlanningPhases` field for [sql.QueryMetrics](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/sql#QueryMetrics).
 * Changed `DeleteEndpoint` method for [w.VectorSearchEndpoints](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchEndpointsAPI) workspace-level service with new required argument order.
 * Changed `CreateIndex` method for [w.VectorSearchIndexes](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchIndexesAPI) workspace-level service with new required argument order.
 * Changed `DeleteDataVectorIndex` method for [w.VectorSearchIndexes](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchIndexesAPI) workspace-level service with new required argument order.
 * Changed `UpsertDataVectorIndex` method for [w.VectorSearchIndexes](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchIndexesAPI) workspace-level service with new required argument order.
 * Changed `EndpointName` field for [vectorsearch.CreateVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#CreateVectorIndexRequest) to be required.
 * Removed `Name` field for [vectorsearch.DeleteDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#DeleteDataVectorIndexRequest).
 * Added `IndexName` field for [vectorsearch.DeleteDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#DeleteDataVectorIndexRequest).
 * Removed `Name` field for [vectorsearch.DeleteEndpointRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#DeleteEndpointRequest).
 * Removed [vectorsearch.EmbeddingConfig](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#EmbeddingConfig).
 * Removed `EmbeddingConfig` field for [vectorsearch.EmbeddingSourceColumn](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#EmbeddingSourceColumn).
 * Added `EmbeddingModelEndpointName` field for [vectorsearch.EmbeddingSourceColumn](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#EmbeddingSourceColumn).
 * Removed `Name` field for [vectorsearch.UpsertDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#UpsertDataVectorIndexRequest).
 * Added `IndexName` field for [vectorsearch.UpsertDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#UpsertDataVectorIndexRequest).
 * Removed `DeltaSyncVectorIndexSpec` field for [vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).
 * Removed `DirectAccessVectorIndexSpec` field for [vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).
 * Added `DeltaSyncIndexSpec` field for [vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).
 * Added `DirectAccessIndexSpec` field for [vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).

OpenAPI SHA: d855b30f25a06fe84f25214efa20e7f1fffcdf9e, Date: 2024-03-04
Dependency updates:

 * Bump google.golang.org/api from 0.161.0 to 0.166.0 ([#829](#829)).
 * Bump exp & mod library ([#832](#832)).
github-merge-queue bot pushed a commit that referenced this pull request Mar 5, 2024
### New Features and Improvements 
* Fixed GetWorkspaceClient for GCP
([#803](#803)).
* Adaptive request timeouts
([#837](#837)).
* Added HTTP proxy example
([#825](#825)).
* Note: Backwards incompatible changes - Settings are now nested, please
see the API changes below.

### API Changes:
* Added:
-
[w.PermissionMigration](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iam#PermissionMigrationAPI)
workspace-level service.
-
[iam.PermissionMigrationRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iam#PermissionMigrationRequest).
-
[iam.PermissionMigrationResponse](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iam#PermissionMigrationResponse).
-
[w.AutomaticClusterUpdate](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AutomaticClusterUpdateAPI)
workspace-level service.
-
[w.CspEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAPI)
workspace-level service.
-
[a.CspEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAccountAPI)
account-level service.
-
[w.DefaultNamespace](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DefaultNamespaceAPI)
workspace-level service.
-
[w.EsmEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAPI)
workspace-level service.
-
[a.EsmEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAccountAPI)
account-level service.
-
[a.PersonalCompute](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#PersonalComputeAPI)
account-level service.
-
[w.RestrictWorkspaceAdmins](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#RestrictWorkspaceAdminsAPI)
workspace-level service.
- `AwsStableIpRule` field for
[settings.NccEgressDefaultRules](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#NccEgressDefaultRules).
-
[settings.AutomaticClusterUpdateSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AutomaticClusterUpdateSetting).
-
[settings.ClusterAutoRestartMessage](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessage).
-
[settings.ClusterAutoRestartMessageEnablementDetails](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageEnablementDetails).
-
[settings.ClusterAutoRestartMessageMaintenanceWindow](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindow).
-
[settings.ClusterAutoRestartMessageMaintenanceWindowDayOfWeek](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowDayOfWeek).
-
[settings.ClusterAutoRestartMessageMaintenanceWindowWeekDayBasedSchedule](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowWeekDayBasedSchedule).
-
[settings.ClusterAutoRestartMessageMaintenanceWindowWeekDayFrequency](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowWeekDayFrequency).
-
[settings.ClusterAutoRestartMessageMaintenanceWindowWindowStartTime](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ClusterAutoRestartMessageMaintenanceWindowWindowStartTime).
-
[settings.ComplianceStandard](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#ComplianceStandard).
-
[settings.CspEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablement).
-
[settings.CspEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAccount).
-
[settings.CspEnablementAccountSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementAccountSetting).
-
[settings.CspEnablementSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#CspEnablementSetting).
-
[settings.DeleteDefaultNamespaceRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteDefaultNamespaceRequest).
-
[settings.DeletePersonalComputeRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeletePersonalComputeRequest).
-
[settings.DeleteRestrictWorkspaceAdminRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteRestrictWorkspaceAdminRequest).
-
[settings.EsmEnablement](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablement).
-
[settings.EsmEnablementAccount](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAccount).
-
[settings.EsmEnablementAccountSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementAccountSetting).
-
[settings.EsmEnablementSetting](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#EsmEnablementSetting).
-
[settings.GetAutomaticClusterUpdateRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetAutomaticClusterUpdateRequest).
-
[settings.GetCspEnablementAccountRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetCspEnablementAccountRequest).
-
[settings.GetCspEnablementRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetCspEnablementRequest).
-
[settings.GetDefaultNamespaceRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetDefaultNamespaceRequest).
-
[settings.GetEsmEnablementAccountRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetEsmEnablementAccountRequest).
-
[settings.GetEsmEnablementRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetEsmEnablementRequest).
-
[settings.GetPersonalComputeRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetPersonalComputeRequest).
-
[settings.GetRestrictWorkspaceAdminRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetRestrictWorkspaceAdminRequest).
-
[settings.NccAwsStableIpRule](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#NccAwsStableIpRule).
-
[settings.UpdateAutomaticClusterUpdateSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateAutomaticClusterUpdateSettingRequest).
-
[settings.UpdateCspEnablementAccountSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateCspEnablementAccountSettingRequest).
-
[settings.UpdateCspEnablementSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateCspEnablementSettingRequest).
-
[settings.UpdateEsmEnablementAccountSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateEsmEnablementAccountSettingRequest).
-
[settings.UpdateEsmEnablementSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#UpdateEsmEnablementSettingRequest).
- `IndexName` field for
[vectorsearch.DeleteDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#DeleteDataVectorIndexRequest).
- `EmbeddingModelEndpointName` field for
[vectorsearch.EmbeddingSourceColumn](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#EmbeddingSourceColumn).
- `IndexName` field for
[vectorsearch.UpsertDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#UpsertDataVectorIndexRequest).
- `DeltaSyncIndexSpec` field for
[vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).
- `DirectAccessIndexSpec` field for
[vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).
* Changed:
- `Version` field for
[serving.AppManifest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/serving#AppManifest)
to
[serving.AnyValue](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/serving#AnyValue).
- `DeleteEndpoint` method for
[w.VectorSearchEndpoints](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchEndpointsAPI)
workspace-level service with new required argument order.
- `CreateIndex` method for
[w.VectorSearchIndexes](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchIndexesAPI)
workspace-level service with new required argument order.
- `DeleteDataVectorIndex` method for
[w.VectorSearchIndexes](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchIndexesAPI)
workspace-level service with new required argument order.
- `UpsertDataVectorIndex` method for
[w.VectorSearchIndexes](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorSearchIndexesAPI)
workspace-level service with new required argument order.
- `EndpointName` field for
[vectorsearch.CreateVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#CreateVectorIndexRequest)
to be required.
* Removed: 
- `DeletePersonalComputeSetting` method for
[a.AccountSettings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AccountSettingsAPI)
account-level service.
- `GetPersonalComputeSetting` method for
[a.AccountSettings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AccountSettingsAPI)
account-level service.
- `UpdatePersonalComputeSetting` method for
[a.AccountSettings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#AccountSettingsAPI)
account-level service.
- `DeleteDefaultNamespaceSetting` method for
[w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI)
workspace-level service.
- `DeleteRestrictWorkspaceAdminsSetting` method for
[w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI)
workspace-level service.
- `GetDefaultNamespaceSetting` method for
[w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI)
workspace-level service.
- `GetRestrictWorkspaceAdminsSetting` method for
[w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI)
workspace-level service.
- `UpdateDefaultNamespaceSetting` method for
[w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI)
workspace-level service.
- `UpdateRestrictWorkspaceAdminsSetting` method for
[w.Settings](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#SettingsAPI)
workspace-level service.
-
[settings.DeleteDefaultNamespaceSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteDefaultNamespaceSettingRequest).
-
[settings.DeletePersonalComputeSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeletePersonalComputeSettingRequest).
-
[settings.DeleteRestrictWorkspaceAdminsSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#DeleteRestrictWorkspaceAdminsSettingRequest).
-
[settings.GetDefaultNamespaceSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetDefaultNamespaceSettingRequest).
-
[settings.GetPersonalComputeSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetPersonalComputeSettingRequest).
-
[settings.GetRestrictWorkspaceAdminsSettingRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/settings#GetRestrictWorkspaceAdminsSettingRequest).
- `PlanningPhases` field for
[sql.QueryMetrics](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/sql#QueryMetrics).
- `Name` field for
[vectorsearch.DeleteDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#DeleteDataVectorIndexRequest).
- `Name` field for
[vectorsearch.DeleteEndpointRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#DeleteEndpointRequest).
-
[vectorsearch.EmbeddingConfig](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#EmbeddingConfig).
- `EmbeddingConfig` field for
[vectorsearch.EmbeddingSourceColumn](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#EmbeddingSourceColumn).
- `Name` field for
[vectorsearch.UpsertDataVectorIndexRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#UpsertDataVectorIndexRequest).
- `DeltaSyncVectorIndexSpec` field for
[vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).
- `DirectAccessVectorIndexSpec` field for
[vectorsearch.VectorIndex](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/vectorsearch#VectorIndex).

### Internal Changes:
* Differentiate between empty structures and components that can take on
any value
([#821](#821)).
* Added integration tests for files API
([#818](#818)).
* Added `HasByteStreamField()` helper function
([#824](#824)).
* Update SDK to latest OpenAPI spec
([#839](#839)).
* Added tokei.rs badge
([#836](#836)).
* Updated isObject to consider empty objects
([#834](#834)).
* Treat empty entities as entities
([#831](#831)).
* Do not transpile getWorkspaceClient
([#830](#830)).
* Include Go 1.22 in test matrix
([#841](#841)).
* Added support for subservices
([#826](#826)).
* Bump google.golang.org/api from 0.161.0 to 0.166.0
([#829](#829)).
* Bump exp & mod library
([#832](#832)).

OpenAPI SHA: d855b30f25a06fe84f25214efa20e7f1fffcdf9e, Date: 2024-03-04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants