From be5f61949f31bad7849c7b286f96b5a54b542bf1 Mon Sep 17 00:00:00 2001 From: "databricks-ci-ghec-1[bot]" <184311507+databricks-ci-ghec-1[bot]@users.noreply.github.com> Date: Thu, 28 May 2026 04:03:04 +0000 Subject: [PATCH] Update SDK to 4811189a6ca18d0632b06ad1d44b696a0a17dbe4 --- .codegen/_openapi_sha | 2 +- NEXT_CHANGELOG.md | 8 + .../ml/mock_feature_engineering_interface.go | 332 ++++++++++++++++++ service/catalog/model.go | 3 +- service/disasterrecovery/model.go | 14 +- service/jobs/model.go | 11 + service/ml/api.go | 23 ++ service/ml/impl.go | 109 ++++++ service/ml/interface.go | 16 + service/ml/model.go | 259 ++++++++++++++ service/pipelines/model.go | 9 + service/postgres/model.go | 4 - service/sql/impl.go | 6 +- service/sql/model.go | 2 + service/supervisoragents/api.go | 6 +- service/supervisoragents/interface.go | 4 +- service/supervisoragents/model.go | 8 +- service/vectorsearch/model.go | 5 +- 18 files changed, 799 insertions(+), 22 deletions(-) mode change 100644 => 100755 NEXT_CHANGELOG.md mode change 100644 => 100755 service/ml/impl.go diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index e6ee8871a..ddc34be53 100755 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -87b666fa172b01444d306112309b6109c096f98b \ No newline at end of file +4811189a6ca18d0632b06ad1d44b696a0a17dbe4 \ No newline at end of file diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md old mode 100644 new mode 100755 index f24f034fb..9f9b2b07f --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -13,3 +13,11 @@ ### Internal Changes ### API Changes +* Add `CreateStream`, `DeleteStream`, `GetStream`, `ListStreams` and `UpdateStream` methods for [w.FeatureEngineering](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/ml#FeatureEngineeringAPI) workspace-level service. +* Add `Parameters` field for [jobs.PipelineTask](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/jobs#PipelineTask). +* Add `PipelineTask` field for [jobs.ResolvedValues](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/jobs#ResolvedValues). +* Add `Parameters` field for [pipelines.CreatePipeline](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/pipelines#CreatePipeline). +* Add `Parameters` field for [pipelines.EditPipeline](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/pipelines#EditPipeline). +* Add `Parameters` field for [pipelines.GetPipelineResponse](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/pipelines#GetPipelineResponse). +* [Breaking] Remove `CatalogId` field for [postgres.CatalogCatalogStatus](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/postgres#CatalogCatalogStatus). +* [Breaking] Remove `SyncedTableId` field for [postgres.SyncedTableSyncedTableStatus](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/postgres#SyncedTableSyncedTableStatus). \ No newline at end of file diff --git a/experimental/mocks/service/ml/mock_feature_engineering_interface.go b/experimental/mocks/service/ml/mock_feature_engineering_interface.go index 6fbb56a53..68fa50743 100755 --- a/experimental/mocks/service/ml/mock_feature_engineering_interface.go +++ b/experimental/mocks/service/ml/mock_feature_engineering_interface.go @@ -259,6 +259,65 @@ func (_c *MockFeatureEngineeringInterface_CreateMaterializedFeature_Call) RunAnd return _c } +// CreateStream provides a mock function with given fields: ctx, request +func (_m *MockFeatureEngineeringInterface) CreateStream(ctx context.Context, request ml.CreateStreamRequest) (*ml.Stream, error) { + ret := _m.Called(ctx, request) + + if len(ret) == 0 { + panic("no return value specified for CreateStream") + } + + var r0 *ml.Stream + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, ml.CreateStreamRequest) (*ml.Stream, error)); ok { + return rf(ctx, request) + } + if rf, ok := ret.Get(0).(func(context.Context, ml.CreateStreamRequest) *ml.Stream); ok { + r0 = rf(ctx, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*ml.Stream) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, ml.CreateStreamRequest) error); ok { + r1 = rf(ctx, request) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// MockFeatureEngineeringInterface_CreateStream_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CreateStream' +type MockFeatureEngineeringInterface_CreateStream_Call struct { + *mock.Call +} + +// CreateStream is a helper method to define mock.On call +// - ctx context.Context +// - request ml.CreateStreamRequest +func (_e *MockFeatureEngineeringInterface_Expecter) CreateStream(ctx interface{}, request interface{}) *MockFeatureEngineeringInterface_CreateStream_Call { + return &MockFeatureEngineeringInterface_CreateStream_Call{Call: _e.mock.On("CreateStream", ctx, request)} +} + +func (_c *MockFeatureEngineeringInterface_CreateStream_Call) Run(run func(ctx context.Context, request ml.CreateStreamRequest)) *MockFeatureEngineeringInterface_CreateStream_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(ml.CreateStreamRequest)) + }) + return _c +} + +func (_c *MockFeatureEngineeringInterface_CreateStream_Call) Return(_a0 *ml.Stream, _a1 error) *MockFeatureEngineeringInterface_CreateStream_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *MockFeatureEngineeringInterface_CreateStream_Call) RunAndReturn(run func(context.Context, ml.CreateStreamRequest) (*ml.Stream, error)) *MockFeatureEngineeringInterface_CreateStream_Call { + _c.Call.Return(run) + return _c +} + // DeleteFeature provides a mock function with given fields: ctx, request func (_m *MockFeatureEngineeringInterface) DeleteFeature(ctx context.Context, request ml.DeleteFeatureRequest) error { ret := _m.Called(ctx, request) @@ -400,6 +459,53 @@ func (_c *MockFeatureEngineeringInterface_DeleteMaterializedFeature_Call) RunAnd return _c } +// DeleteStream provides a mock function with given fields: ctx, request +func (_m *MockFeatureEngineeringInterface) DeleteStream(ctx context.Context, request ml.DeleteStreamRequest) error { + ret := _m.Called(ctx, request) + + if len(ret) == 0 { + panic("no return value specified for DeleteStream") + } + + var r0 error + if rf, ok := ret.Get(0).(func(context.Context, ml.DeleteStreamRequest) error); ok { + r0 = rf(ctx, request) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// MockFeatureEngineeringInterface_DeleteStream_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'DeleteStream' +type MockFeatureEngineeringInterface_DeleteStream_Call struct { + *mock.Call +} + +// DeleteStream is a helper method to define mock.On call +// - ctx context.Context +// - request ml.DeleteStreamRequest +func (_e *MockFeatureEngineeringInterface_Expecter) DeleteStream(ctx interface{}, request interface{}) *MockFeatureEngineeringInterface_DeleteStream_Call { + return &MockFeatureEngineeringInterface_DeleteStream_Call{Call: _e.mock.On("DeleteStream", ctx, request)} +} + +func (_c *MockFeatureEngineeringInterface_DeleteStream_Call) Run(run func(ctx context.Context, request ml.DeleteStreamRequest)) *MockFeatureEngineeringInterface_DeleteStream_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(ml.DeleteStreamRequest)) + }) + return _c +} + +func (_c *MockFeatureEngineeringInterface_DeleteStream_Call) Return(_a0 error) *MockFeatureEngineeringInterface_DeleteStream_Call { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockFeatureEngineeringInterface_DeleteStream_Call) RunAndReturn(run func(context.Context, ml.DeleteStreamRequest) error) *MockFeatureEngineeringInterface_DeleteStream_Call { + _c.Call.Return(run) + return _c +} + // GetFeature provides a mock function with given fields: ctx, request func (_m *MockFeatureEngineeringInterface) GetFeature(ctx context.Context, request ml.GetFeatureRequest) (*ml.Feature, error) { ret := _m.Called(ctx, request) @@ -577,6 +683,65 @@ func (_c *MockFeatureEngineeringInterface_GetMaterializedFeature_Call) RunAndRet return _c } +// GetStream provides a mock function with given fields: ctx, request +func (_m *MockFeatureEngineeringInterface) GetStream(ctx context.Context, request ml.GetStreamRequest) (*ml.Stream, error) { + ret := _m.Called(ctx, request) + + if len(ret) == 0 { + panic("no return value specified for GetStream") + } + + var r0 *ml.Stream + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, ml.GetStreamRequest) (*ml.Stream, error)); ok { + return rf(ctx, request) + } + if rf, ok := ret.Get(0).(func(context.Context, ml.GetStreamRequest) *ml.Stream); ok { + r0 = rf(ctx, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*ml.Stream) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, ml.GetStreamRequest) error); ok { + r1 = rf(ctx, request) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// MockFeatureEngineeringInterface_GetStream_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetStream' +type MockFeatureEngineeringInterface_GetStream_Call struct { + *mock.Call +} + +// GetStream is a helper method to define mock.On call +// - ctx context.Context +// - request ml.GetStreamRequest +func (_e *MockFeatureEngineeringInterface_Expecter) GetStream(ctx interface{}, request interface{}) *MockFeatureEngineeringInterface_GetStream_Call { + return &MockFeatureEngineeringInterface_GetStream_Call{Call: _e.mock.On("GetStream", ctx, request)} +} + +func (_c *MockFeatureEngineeringInterface_GetStream_Call) Run(run func(ctx context.Context, request ml.GetStreamRequest)) *MockFeatureEngineeringInterface_GetStream_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(ml.GetStreamRequest)) + }) + return _c +} + +func (_c *MockFeatureEngineeringInterface_GetStream_Call) Return(_a0 *ml.Stream, _a1 error) *MockFeatureEngineeringInterface_GetStream_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *MockFeatureEngineeringInterface_GetStream_Call) RunAndReturn(run func(context.Context, ml.GetStreamRequest) (*ml.Stream, error)) *MockFeatureEngineeringInterface_GetStream_Call { + _c.Call.Return(run) + return _c +} + // ListFeatures provides a mock function with given fields: ctx, request func (_m *MockFeatureEngineeringInterface) ListFeatures(ctx context.Context, request ml.ListFeaturesRequest) listing.Iterator[ml.Feature] { ret := _m.Called(ctx, request) @@ -901,6 +1066,114 @@ func (_c *MockFeatureEngineeringInterface_ListMaterializedFeaturesAll_Call) RunA return _c } +// ListStreams provides a mock function with given fields: ctx, request +func (_m *MockFeatureEngineeringInterface) ListStreams(ctx context.Context, request ml.ListStreamsRequest) listing.Iterator[ml.Stream] { + ret := _m.Called(ctx, request) + + if len(ret) == 0 { + panic("no return value specified for ListStreams") + } + + var r0 listing.Iterator[ml.Stream] + if rf, ok := ret.Get(0).(func(context.Context, ml.ListStreamsRequest) listing.Iterator[ml.Stream]); ok { + r0 = rf(ctx, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(listing.Iterator[ml.Stream]) + } + } + + return r0 +} + +// MockFeatureEngineeringInterface_ListStreams_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListStreams' +type MockFeatureEngineeringInterface_ListStreams_Call struct { + *mock.Call +} + +// ListStreams is a helper method to define mock.On call +// - ctx context.Context +// - request ml.ListStreamsRequest +func (_e *MockFeatureEngineeringInterface_Expecter) ListStreams(ctx interface{}, request interface{}) *MockFeatureEngineeringInterface_ListStreams_Call { + return &MockFeatureEngineeringInterface_ListStreams_Call{Call: _e.mock.On("ListStreams", ctx, request)} +} + +func (_c *MockFeatureEngineeringInterface_ListStreams_Call) Run(run func(ctx context.Context, request ml.ListStreamsRequest)) *MockFeatureEngineeringInterface_ListStreams_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(ml.ListStreamsRequest)) + }) + return _c +} + +func (_c *MockFeatureEngineeringInterface_ListStreams_Call) Return(_a0 listing.Iterator[ml.Stream]) *MockFeatureEngineeringInterface_ListStreams_Call { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockFeatureEngineeringInterface_ListStreams_Call) RunAndReturn(run func(context.Context, ml.ListStreamsRequest) listing.Iterator[ml.Stream]) *MockFeatureEngineeringInterface_ListStreams_Call { + _c.Call.Return(run) + return _c +} + +// ListStreamsAll provides a mock function with given fields: ctx, request +func (_m *MockFeatureEngineeringInterface) ListStreamsAll(ctx context.Context, request ml.ListStreamsRequest) ([]ml.Stream, error) { + ret := _m.Called(ctx, request) + + if len(ret) == 0 { + panic("no return value specified for ListStreamsAll") + } + + var r0 []ml.Stream + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, ml.ListStreamsRequest) ([]ml.Stream, error)); ok { + return rf(ctx, request) + } + if rf, ok := ret.Get(0).(func(context.Context, ml.ListStreamsRequest) []ml.Stream); ok { + r0 = rf(ctx, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]ml.Stream) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, ml.ListStreamsRequest) error); ok { + r1 = rf(ctx, request) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// MockFeatureEngineeringInterface_ListStreamsAll_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListStreamsAll' +type MockFeatureEngineeringInterface_ListStreamsAll_Call struct { + *mock.Call +} + +// ListStreamsAll is a helper method to define mock.On call +// - ctx context.Context +// - request ml.ListStreamsRequest +func (_e *MockFeatureEngineeringInterface_Expecter) ListStreamsAll(ctx interface{}, request interface{}) *MockFeatureEngineeringInterface_ListStreamsAll_Call { + return &MockFeatureEngineeringInterface_ListStreamsAll_Call{Call: _e.mock.On("ListStreamsAll", ctx, request)} +} + +func (_c *MockFeatureEngineeringInterface_ListStreamsAll_Call) Run(run func(ctx context.Context, request ml.ListStreamsRequest)) *MockFeatureEngineeringInterface_ListStreamsAll_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(ml.ListStreamsRequest)) + }) + return _c +} + +func (_c *MockFeatureEngineeringInterface_ListStreamsAll_Call) Return(_a0 []ml.Stream, _a1 error) *MockFeatureEngineeringInterface_ListStreamsAll_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *MockFeatureEngineeringInterface_ListStreamsAll_Call) RunAndReturn(run func(context.Context, ml.ListStreamsRequest) ([]ml.Stream, error)) *MockFeatureEngineeringInterface_ListStreamsAll_Call { + _c.Call.Return(run) + return _c +} + // UpdateFeature provides a mock function with given fields: ctx, request func (_m *MockFeatureEngineeringInterface) UpdateFeature(ctx context.Context, request ml.UpdateFeatureRequest) (*ml.Feature, error) { ret := _m.Called(ctx, request) @@ -1078,6 +1351,65 @@ func (_c *MockFeatureEngineeringInterface_UpdateMaterializedFeature_Call) RunAnd return _c } +// UpdateStream provides a mock function with given fields: ctx, request +func (_m *MockFeatureEngineeringInterface) UpdateStream(ctx context.Context, request ml.UpdateStreamRequest) (*ml.Stream, error) { + ret := _m.Called(ctx, request) + + if len(ret) == 0 { + panic("no return value specified for UpdateStream") + } + + var r0 *ml.Stream + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, ml.UpdateStreamRequest) (*ml.Stream, error)); ok { + return rf(ctx, request) + } + if rf, ok := ret.Get(0).(func(context.Context, ml.UpdateStreamRequest) *ml.Stream); ok { + r0 = rf(ctx, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*ml.Stream) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, ml.UpdateStreamRequest) error); ok { + r1 = rf(ctx, request) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// MockFeatureEngineeringInterface_UpdateStream_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'UpdateStream' +type MockFeatureEngineeringInterface_UpdateStream_Call struct { + *mock.Call +} + +// UpdateStream is a helper method to define mock.On call +// - ctx context.Context +// - request ml.UpdateStreamRequest +func (_e *MockFeatureEngineeringInterface_Expecter) UpdateStream(ctx interface{}, request interface{}) *MockFeatureEngineeringInterface_UpdateStream_Call { + return &MockFeatureEngineeringInterface_UpdateStream_Call{Call: _e.mock.On("UpdateStream", ctx, request)} +} + +func (_c *MockFeatureEngineeringInterface_UpdateStream_Call) Run(run func(ctx context.Context, request ml.UpdateStreamRequest)) *MockFeatureEngineeringInterface_UpdateStream_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(ml.UpdateStreamRequest)) + }) + return _c +} + +func (_c *MockFeatureEngineeringInterface_UpdateStream_Call) Return(_a0 *ml.Stream, _a1 error) *MockFeatureEngineeringInterface_UpdateStream_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *MockFeatureEngineeringInterface_UpdateStream_Call) RunAndReturn(run func(context.Context, ml.UpdateStreamRequest) (*ml.Stream, error)) *MockFeatureEngineeringInterface_UpdateStream_Call { + _c.Call.Return(run) + return _c +} + // NewMockFeatureEngineeringInterface creates a new instance of MockFeatureEngineeringInterface. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. func NewMockFeatureEngineeringInterface(t interface { diff --git a/service/catalog/model.go b/service/catalog/model.go index 807bd09ac..bbcfe26aa 100755 --- a/service/catalog/model.go +++ b/service/catalog/model.go @@ -7241,7 +7241,8 @@ func (s Securable) MarshalJSON() ([]byte, error) { return marshal.Marshal(s) } -// Latest kind: CONNECTION_ICEBERG_REST_OAUTH_M2M = 336; Next id: 337 +// Latest kind: CONNECTION_GOOGLE_CLOUD_LAKEHOUSE_SERVICE_ACCOUNT = 340; Next +// id: 341 type SecurableKind string const SecurableKindTableDbStorage SecurableKind = `TABLE_DB_STORAGE` diff --git a/service/disasterrecovery/model.go b/service/disasterrecovery/model.go index 80c5932ef..11462f6d0 100755 --- a/service/disasterrecovery/model.go +++ b/service/disasterrecovery/model.go @@ -252,8 +252,11 @@ type GetStableUrlRequest struct { } type ListFailoverGroupsRequest struct { - // Maximum number of failover groups to return per page. Default: 50, - // maximum: 100. + // Maximum number of failover groups to return per page: - when set to a + // value greater than 0, the page length is the minimum of this value and a + // server configured value; - when set to 0 or unset, the page length is set + // to a server configured value (recommended); - when set to a value less + // than 0, an invalid parameter error is returned. PageSize int `json:"-" url:"page_size,omitempty"` // Page token received from a previous ListFailoverGroups call. Provide this // to retrieve the subsequent page. @@ -292,8 +295,11 @@ func (s ListFailoverGroupsResponse) MarshalJSON() ([]byte, error) { } type ListStableUrlsRequest struct { - // Maximum number of stable URLs to return per page. Default: 50, maximum: - // 100. + // Maximum number of stable URLs to return per page: - when set to a value + // greater than 0, the page length is the minimum of this value and a server + // configured value; - when set to 0 or unset, the page length is set to a + // server configured value (recommended); - when set to a value less than 0, + // an invalid parameter error is returned. PageSize int `json:"-" url:"page_size,omitempty"` // Page token received from a previous ListStableUrls call. Provide this to // retrieve the subsequent page. diff --git a/service/jobs/model.go b/service/jobs/model.go index 35fbd6611..2dbab8f8c 100755 --- a/service/jobs/model.go +++ b/service/jobs/model.go @@ -2988,6 +2988,9 @@ type PipelineTask struct { FullRefresh bool `json:"full_refresh,omitempty"` // A list of tables to update with fullRefresh. FullRefreshSelection []string `json:"full_refresh_selection,omitempty"` + // Key/value-map of parameters passed to the pipeline execution. Limited to + // 10k characters in total. + Parameters map[string]string `json:"parameters,omitempty"` // The full name of the pipeline task to execute. PipelineId string `json:"pipeline_id"` // Flow names to selectively refresh. These are unioned with other selective @@ -3466,6 +3469,12 @@ type ResolvedParamPairValues struct { Parameters map[string]string `json:"parameters,omitempty"` } +type ResolvedPipelineTaskValues struct { + // Key/value-map of parameters passed to the pipeline execution. Limited to + // 10k characters in total. + Parameters map[string]string `json:"parameters,omitempty"` +} + type ResolvedPythonWheelTaskValues struct { NamedParameters map[string]string `json:"named_parameters,omitempty"` @@ -3489,6 +3498,8 @@ type ResolvedValues struct { NotebookTask *ResolvedNotebookTaskValues `json:"notebook_task,omitempty"` + PipelineTask *ResolvedPipelineTaskValues `json:"pipeline_task,omitempty"` + PythonWheelTask *ResolvedPythonWheelTaskValues `json:"python_wheel_task,omitempty"` RunJobTask *ResolvedRunJobTaskValues `json:"run_job_task,omitempty"` diff --git a/service/ml/api.go b/service/ml/api.go index 1bc954918..3e26199e2 100755 --- a/service/ml/api.go +++ b/service/ml/api.go @@ -372,6 +372,10 @@ type FeatureEngineeringInterface interface { // Create a materialized feature. CreateMaterializedFeature(ctx context.Context, request CreateMaterializedFeatureRequest) (*MaterializedFeature, error) + // Create a Stream, a governed UC entity representing an external streaming data + // source. + CreateStream(ctx context.Context, request CreateStreamRequest) (*Stream, error) + // Delete a Feature. DeleteFeature(ctx context.Context, request DeleteFeatureRequest) error @@ -383,6 +387,9 @@ type FeatureEngineeringInterface interface { // Delete a materialized feature. DeleteMaterializedFeature(ctx context.Context, request DeleteMaterializedFeatureRequest) error + // Delete a Stream by its full three-part name (catalog.schema.stream). + DeleteStream(ctx context.Context, request DeleteStreamRequest) error + // Get a Feature. GetFeature(ctx context.Context, request GetFeatureRequest) (*Feature, error) @@ -394,6 +401,9 @@ type FeatureEngineeringInterface interface { // Get a materialized feature. GetMaterializedFeature(ctx context.Context, request GetMaterializedFeatureRequest) (*MaterializedFeature, error) + // Get a Stream by its full three-part name (catalog.schema.stream). + GetStream(ctx context.Context, request GetStreamRequest) (*Stream, error) + // List Features. // // This method is generated by Databricks SDK Code Generator. @@ -428,6 +438,16 @@ type FeatureEngineeringInterface interface { // This method is generated by Databricks SDK Code Generator. ListMaterializedFeaturesAll(ctx context.Context, request ListMaterializedFeaturesRequest) ([]MaterializedFeature, error) + // List Streams under a given catalog.schema parent. + // + // This method is generated by Databricks SDK Code Generator. + ListStreams(ctx context.Context, request ListStreamsRequest) listing.Iterator[Stream] + + // List Streams under a given catalog.schema parent. + // + // This method is generated by Databricks SDK Code Generator. + ListStreamsAll(ctx context.Context, request ListStreamsRequest) ([]Stream, error) + // Update a Feature. UpdateFeature(ctx context.Context, request UpdateFeatureRequest) (*Feature, error) @@ -438,6 +458,9 @@ type FeatureEngineeringInterface interface { // Update a materialized feature (pause/resume). UpdateMaterializedFeature(ctx context.Context, request UpdateMaterializedFeatureRequest) (*MaterializedFeature, error) + + // Update a Stream. Only fields listed in `update_mask` are mutated. + UpdateStream(ctx context.Context, request UpdateStreamRequest) (*Stream, error) } func NewFeatureEngineering(client *client.DatabricksClient) *FeatureEngineeringAPI { diff --git a/service/ml/impl.go b/service/ml/impl.go old mode 100644 new mode 100755 index 499a032aa..82cae7e99 --- a/service/ml/impl.go +++ b/service/ml/impl.go @@ -810,6 +810,21 @@ func (a *featureEngineeringImpl) CreateMaterializedFeature(ctx context.Context, return &materializedFeature, err } +func (a *featureEngineeringImpl) CreateStream(ctx context.Context, request CreateStreamRequest) (*Stream, error) { + var stream Stream + path := "/api/2.0/feature-engineering/streams" + queryParams := make(map[string]any) + headers := make(map[string]string) + headers["Accept"] = "application/json" + headers["Content-Type"] = "application/json" + cfg := a.client.Config + if cfg.WorkspaceID != "" { + headers["X-Databricks-Org-Id"] = cfg.WorkspaceID + } + err := a.client.Do(ctx, http.MethodPost, path, headers, queryParams, request.Stream, &stream) + return &stream, err +} + func (a *featureEngineeringImpl) DeleteFeature(ctx context.Context, request DeleteFeatureRequest) error { path := fmt.Sprintf("/api/2.0/feature-engineering/features/%v", request.FullName) queryParams := make(map[string]any) @@ -849,6 +864,19 @@ func (a *featureEngineeringImpl) DeleteMaterializedFeature(ctx context.Context, return err } +func (a *featureEngineeringImpl) DeleteStream(ctx context.Context, request DeleteStreamRequest) error { + path := fmt.Sprintf("/api/2.0/feature-engineering/streams/%v", request.Name) + queryParams := make(map[string]any) + headers := make(map[string]string) + headers["Accept"] = "application/json" + cfg := a.client.Config + if cfg.WorkspaceID != "" { + headers["X-Databricks-Org-Id"] = cfg.WorkspaceID + } + err := a.client.Do(ctx, http.MethodDelete, path, headers, queryParams, request, nil) + return err +} + func (a *featureEngineeringImpl) GetFeature(ctx context.Context, request GetFeatureRequest) (*Feature, error) { var feature Feature path := fmt.Sprintf("/api/2.0/feature-engineering/features/%v", request.FullName) @@ -891,6 +919,20 @@ func (a *featureEngineeringImpl) GetMaterializedFeature(ctx context.Context, req return &materializedFeature, err } +func (a *featureEngineeringImpl) GetStream(ctx context.Context, request GetStreamRequest) (*Stream, error) { + var stream Stream + path := fmt.Sprintf("/api/2.0/feature-engineering/streams/%v", request.Name) + queryParams := make(map[string]any) + headers := make(map[string]string) + headers["Accept"] = "application/json" + cfg := a.client.Config + if cfg.WorkspaceID != "" { + headers["X-Databricks-Org-Id"] = cfg.WorkspaceID + } + err := a.client.Do(ctx, http.MethodGet, path, headers, queryParams, request, &stream) + return &stream, err +} + // List Features. func (a *featureEngineeringImpl) ListFeatures(ctx context.Context, request ListFeaturesRequest) listing.Iterator[Feature] { @@ -1030,6 +1072,51 @@ func (a *featureEngineeringImpl) internalListMaterializedFeatures(ctx context.Co return &listMaterializedFeaturesResponse, err } +// List Streams under a given catalog.schema parent. +func (a *featureEngineeringImpl) ListStreams(ctx context.Context, request ListStreamsRequest) listing.Iterator[Stream] { + + getNextPage := func(ctx context.Context, req ListStreamsRequest) (*ListStreamsResponse, error) { + ctx = useragent.InContext(ctx, "sdk-feature", "pagination") + return a.internalListStreams(ctx, req) + } + getItems := func(resp *ListStreamsResponse) []Stream { + return resp.Streams + } + getNextReq := func(resp *ListStreamsResponse) *ListStreamsRequest { + if resp.NextPageToken == "" { + return nil + } + request.PageToken = resp.NextPageToken + return &request + } + iterator := listing.NewIterator( + &request, + getNextPage, + getItems, + getNextReq) + return iterator +} + +// List Streams under a given catalog.schema parent. +func (a *featureEngineeringImpl) ListStreamsAll(ctx context.Context, request ListStreamsRequest) ([]Stream, error) { + iterator := a.ListStreams(ctx, request) + return listing.ToSlice[Stream](ctx, iterator) +} + +func (a *featureEngineeringImpl) internalListStreams(ctx context.Context, request ListStreamsRequest) (*ListStreamsResponse, error) { + var listStreamsResponse ListStreamsResponse + path := "/api/2.0/feature-engineering/streams" + queryParams := make(map[string]any) + headers := make(map[string]string) + headers["Accept"] = "application/json" + cfg := a.client.Config + if cfg.WorkspaceID != "" { + headers["X-Databricks-Org-Id"] = cfg.WorkspaceID + } + err := a.client.Do(ctx, http.MethodGet, path, headers, queryParams, request, &listStreamsResponse) + return &listStreamsResponse, err +} + func (a *featureEngineeringImpl) UpdateFeature(ctx context.Context, request UpdateFeatureRequest) (*Feature, error) { var feature Feature path := fmt.Sprintf("/api/2.0/feature-engineering/features/%v", request.FullName) @@ -1090,6 +1177,28 @@ func (a *featureEngineeringImpl) UpdateMaterializedFeature(ctx context.Context, return &materializedFeature, err } +func (a *featureEngineeringImpl) UpdateStream(ctx context.Context, request UpdateStreamRequest) (*Stream, error) { + var stream Stream + path := fmt.Sprintf("/api/2.0/feature-engineering/streams/%v", request.Name) + queryParams := make(map[string]any) + + updateMaskJson, updateMaskMarshallError := json.Marshal(request.UpdateMask) + if updateMaskMarshallError != nil { + return nil, updateMaskMarshallError + } + + queryParams["update_mask"] = strings.Trim(string(updateMaskJson), `"`) + headers := make(map[string]string) + headers["Accept"] = "application/json" + headers["Content-Type"] = "application/json" + cfg := a.client.Config + if cfg.WorkspaceID != "" { + headers["X-Databricks-Org-Id"] = cfg.WorkspaceID + } + err := a.client.Do(ctx, http.MethodPatch, path, headers, queryParams, request.Stream, &stream) + return &stream, err +} + // unexported type that holds implementations of just FeatureStore API methods type featureStoreImpl struct { client *client.DatabricksClient diff --git a/service/ml/interface.go b/service/ml/interface.go index 2bef670ad..11f2f3e4c 100755 --- a/service/ml/interface.go +++ b/service/ml/interface.go @@ -272,6 +272,10 @@ type FeatureEngineeringService interface { // Create a materialized feature. CreateMaterializedFeature(ctx context.Context, request CreateMaterializedFeatureRequest) (*MaterializedFeature, error) + // Create a Stream, a governed UC entity representing an external streaming + // data source. + CreateStream(ctx context.Context, request CreateStreamRequest) (*Stream, error) + // Delete a Feature. DeleteFeature(ctx context.Context, request DeleteFeatureRequest) error @@ -283,6 +287,9 @@ type FeatureEngineeringService interface { // Delete a materialized feature. DeleteMaterializedFeature(ctx context.Context, request DeleteMaterializedFeatureRequest) error + // Delete a Stream by its full three-part name (catalog.schema.stream). + DeleteStream(ctx context.Context, request DeleteStreamRequest) error + // Get a Feature. GetFeature(ctx context.Context, request GetFeatureRequest) (*Feature, error) @@ -294,6 +301,9 @@ type FeatureEngineeringService interface { // Get a materialized feature. GetMaterializedFeature(ctx context.Context, request GetMaterializedFeatureRequest) (*MaterializedFeature, error) + // Get a Stream by its full three-part name (catalog.schema.stream). + GetStream(ctx context.Context, request GetStreamRequest) (*Stream, error) + // List Features. ListFeatures(ctx context.Context, request ListFeaturesRequest) (*ListFeaturesResponse, error) @@ -305,6 +315,9 @@ type FeatureEngineeringService interface { // List materialized features. ListMaterializedFeatures(ctx context.Context, request ListMaterializedFeaturesRequest) (*ListMaterializedFeaturesResponse, error) + // List Streams under a given catalog.schema parent. + ListStreams(ctx context.Context, request ListStreamsRequest) (*ListStreamsResponse, error) + // Update a Feature. UpdateFeature(ctx context.Context, request UpdateFeatureRequest) (*Feature, error) @@ -315,6 +328,9 @@ type FeatureEngineeringService interface { // Update a materialized feature (pause/resume). UpdateMaterializedFeature(ctx context.Context, request UpdateMaterializedFeatureRequest) (*MaterializedFeature, error) + + // Update a Stream. Only fields listed in `update_mask` are mutated. + UpdateStream(ctx context.Context, request UpdateStreamRequest) (*Stream, error) } // A feature store is a centralized repository that enables data scientists to diff --git a/service/ml/model.go b/service/ml/model.go index 158f9e97f..d0005a8d4 100755 --- a/service/ml/model.go +++ b/service/ml/model.go @@ -859,6 +859,11 @@ type CreateRunResponse struct { Run *Run `json:"run,omitempty"` } +type CreateStreamRequest struct { + // The Stream to create. + Stream Stream `json:"stream"` +} + // Details required to create a model version stage transition request. type CreateTransitionRequest struct { // User-provided comment on the action. @@ -1098,6 +1103,11 @@ func (s DeleteRunsResponse) MarshalJSON() ([]byte, error) { return marshal.Marshal(s) } +type DeleteStreamRequest struct { + // Full three-part name (catalog.schema.stream) of the Stream to delete. + Name string `json:"-" url:"-"` +} + type DeleteTag struct { // Name of the tag. Maximum size is 255 bytes. Must be provided. Key string `json:"key"` @@ -1184,6 +1194,30 @@ func (s DeltaTableSource) MarshalJSON() ([]byte, error) { return marshal.Marshal(s) } +// Direct connection configs for mTLS, as Kafka Connections do not support mTLS +// yet (XTA-18030). Temporarily used until UC Kafka Connections gain mTLS +// support. +type DirectMtlsConfig struct { + // A comma-separated list of host:port pairs for the Kafka bootstrap + // servers. + BootstrapServers string `json:"bootstrap_servers"` + // Mutual-TLS authentication configuration. + MtlsConfig MtlsConfig `json:"mtls_config"` +} + +// Schema definitions provided directly on the Stream, as opposed to referencing +// a schema registry. In a future milestone, we will support schema registries +// through a UC Connection. +type DirectSchemas struct { + // Schema for the message key. This is only used for Kafka streams. For + // Kafka, at least one of payload_schema or key_schema must be specified. + KeySchema *SchemaConfig `json:"key_schema,omitempty"` + // Schema for the message payload. For Kafka, this is the value schema. + // Unless the platform supports another schema (e.g. keys for Kafka), this + // must be specified. + PayloadSchema *SchemaConfig `json:"payload_schema,omitempty"` +} + type EntityColumn struct { // The name of the entity column. For Kafka sources, use dot-prefixed path // notation to reference fields within the key or value schema (e.g., @@ -1974,6 +2008,11 @@ type GetRunResponse struct { Run *Run `json:"run,omitempty"` } +type GetStreamRequest struct { + // Full three-part name (catalog.schema.stream) of the Stream to get. + Name string `json:"-" url:"-"` +} + type HttpUrlSpec struct { // Value of the authorization header that should be sent in the request sent // by the wehbook. It should be of the form `" "`. @@ -2029,6 +2068,65 @@ func (s HttpUrlSpecWithoutSecret) MarshalJSON() ([]byte, error) { return marshal.Marshal(s) } +// Configuration for the Databricks-managed ingestion pipeline. Groups the +// ingestion destination (required) and optional backfill source. +type IngestionConfig struct { + // The ID of the Databricks Job that performs the historical backfill of the + // ingestion Delta table. + BackfillJobId int64 `json:"backfill_job_id,omitempty"` + // A user-provided source for backfilling data. Historical data is used when + // creating a training set from streaming features linked to this Stream. + // The backfill data stored in this location will be copied into the + // ingestion table for offline querying and training. The schema for this + // source must match exactly that of the key and payload schemas specified + // for this Stream. + BackfillSource *BackfillSource `json:"backfill_source,omitempty"` + // Column paths used to identify duplicate rows during ingestion; only one + // row per distinct combination of these values is kept. Use dot notation + // for nested fields (e.g. `value.user_id`). Empty list means every column + // is compared. + DeduplicationColumns []string `json:"deduplication_columns,omitempty"` + // Destination for the Databricks-managed Delta table that holds an offline + // copy of the streaming data for querying and training. This table contains + // both 1) forward-filled data from the Stream and 2) backfilled data from + // the BackfillSource (if provided). This table is created and managed by + // Databricks and is deleted when the Stream is deleted. + IngestionDestination IngestionDestination `json:"ingestion_destination"` + // The ID of the Databricks Job that performs the forward-fill ingestion. + IngestionJobId int64 `json:"ingestion_job_id,omitempty"` + // The ID of the SDP pipeline that continuously copies new events from the + // streaming source into the ingestion Delta table. + IngestionPipelineId string `json:"ingestion_pipeline_id,omitempty"` + + ForceSendFields []string `json:"-" url:"-"` +} + +func (s *IngestionConfig) UnmarshalJSON(b []byte) error { + return marshal.Unmarshal(b, s) +} + +func (s IngestionConfig) MarshalJSON() ([]byte, error) { + return marshal.Marshal(s) +} + +// Destination for the Databricks-managed Delta table that holds an offline copy +// of the streaming data for querying and training. +type IngestionDestination struct { + // The full three-part name (catalog, schema, name) of the Delta table to be + // created for ingestion. + DeltaTableName string `json:"delta_table_name,omitempty"` + + ForceSendFields []string `json:"-" url:"-"` +} + +func (s *IngestionDestination) UnmarshalJSON(b []byte) error { + return marshal.Unmarshal(b, s) +} + +func (s IngestionDestination) MarshalJSON() ([]byte, error) { + return marshal.Marshal(s) +} + // Tag for a dataset input. type InputTag struct { // The tag key. @@ -2147,6 +2245,42 @@ func (s KafkaSource) MarshalJSON() ([]byte, error) { return marshal.Marshal(s) } +// Kafka-specific configuration for a Stream. +type KafkaStreamConfig struct { + // Miscellaneous source options. Accepted keys are source options or Kafka + // consumer options (kafka.*), validated against an allow-list at request + // time. All auth configuration goes through the underlying UC Connection(s) + // or configs and should not be stored here. + ExtraOptions map[string]string `json:"extra_options,omitempty"` + // Options to configure which Kafka topics to pull data from. + SubscriptionMode KafkaSubscriptionMode `json:"subscription_mode"` +} + +// Subscription mode for Kafka topic selection, matching standard Spark +// Structured Streaming options. +type KafkaSubscriptionMode struct { + // A JSON string that contains the specific topic-partitions to consume + // from. For example, for '{"topicA":[0,1],"topicB":[2,4]}', topicA's 0'th + // and 1st partitions will be consumed from. + Assign string `json:"assign,omitempty"` + // A comma-separated list of Kafka topics to read from. For example, + // 'topicA,topicB,topicC'. + Subscribe string `json:"subscribe,omitempty"` + // A regular expression matching topics to subscribe to. For example, + // 'topic.*' will subscribe to all topics starting with 'topic'. + SubscribePattern string `json:"subscribe_pattern,omitempty"` + + ForceSendFields []string `json:"-" url:"-"` +} + +func (s *KafkaSubscriptionMode) UnmarshalJSON(b []byte) error { + return marshal.Unmarshal(b, s) +} + +func (s KafkaSubscriptionMode) MarshalJSON() ([]byte, error) { + return marshal.Marshal(s) +} + // Returns the last value. type LastFunction struct { // The input column from which the last value is returned. @@ -2516,6 +2650,43 @@ func (s ListRegistryWebhooks) MarshalJSON() ([]byte, error) { return marshal.Marshal(s) } +type ListStreamsRequest struct { + // The maximum number of results to return. + PageSize int `json:"-" url:"page_size,omitempty"` + // Pagination token to go to the next page based on a previous query. + PageToken string `json:"-" url:"page_token,omitempty"` + // Two-part name (catalog.schema) of the parent under which to list Streams. + Parent string `json:"-" url:"parent,omitempty"` + + ForceSendFields []string `json:"-" url:"-"` +} + +func (s *ListStreamsRequest) UnmarshalJSON(b []byte) error { + return marshal.Unmarshal(b, s) +} + +func (s ListStreamsRequest) MarshalJSON() ([]byte, error) { + return marshal.Marshal(s) +} + +// Response to a ListStreamsRequest. +type ListStreamsResponse struct { + // Pagination token to request the next page of results for this query. + NextPageToken string `json:"next_page_token,omitempty"` + // List of Streams. + Streams []Stream `json:"streams,omitempty"` + + ForceSendFields []string `json:"-" url:"-"` +} + +func (s *ListStreamsResponse) UnmarshalJSON(b []byte) error { + return marshal.Unmarshal(b, s) +} + +func (s ListStreamsResponse) MarshalJSON() ([]byte, error) { + return marshal.Marshal(s) +} + type ListTransitionRequestsRequest struct { // Name of the registered model. Name string `json:"-" url:"name"` @@ -4708,6 +4879,85 @@ type StddevSampFunction struct { Input string `json:"input"` } +// A Stream is a governed UC entity representing an external streaming data +// source. The source_config oneof determines the streaming platform source +// (e.g. Kafka, Kinesis, etc.). +type Stream struct { + // Indicates whether the principal is limited to retrieving metadata for the + // associated object through the BROWSE privilege when include_browse is + // enabled in the request. + BrowseOnly bool `json:"browse_only,omitempty"` + // Specifies how to connect and authenticate to the stream platform. + ConnectionConfig StreamConnectionConfig `json:"connection_config"` + // Time at which this Stream was created. + CreateTime *time.Time `json:"create_time,omitempty"` + // Username of the Stream creator. + CreatedBy string `json:"created_by,omitempty"` + // User-provided description. + Description string `json:"description,omitempty"` + // Configuration for streaming data ingestion: the managed table storing an + // offline copy of forward fill data and optional historical backfill. + IngestionConfig IngestionConfig `json:"ingestion_config"` + // Full three-part (catalog.schema.stream) name of the stream. + Name string `json:"name"` + // Schema definitions for the stream. Currently only direct schemas are + // supported. In a future milestone, we will support schema registries + // through a UC Connection. + SchemaConfig StreamSchemaConfig `json:"schema_config"` + // Source-specific configuration. Determines the streaming platform source. + SourceConfig StreamSourceConfig `json:"source_config"` + // Time at which this Stream was last modified. + UpdateTime *time.Time `json:"update_time,omitempty"` + // Username of user who last modified the Stream. + UpdatedBy string `json:"updated_by,omitempty"` + + ForceSendFields []string `json:"-" url:"-"` +} + +func (s *Stream) UnmarshalJSON(b []byte) error { + return marshal.Unmarshal(b, s) +} + +func (s Stream) MarshalJSON() ([]byte, error) { + return marshal.Marshal(s) +} + +// Specifies how to connect and authenticate to the stream platform. +type StreamConnectionConfig struct { + // Direct mTLS configuration for stream platform access. This is only used + // in the short term until UC Kafka Connections support mTLS (XTA-18030). + // Once UC Kafka Connections support mTLS, this will be deprecated. + DirectMtlsConfig *DirectMtlsConfig `json:"direct_mtls_config,omitempty"` + // Name of an existing UC Connection for stream platform access. Must be the + // correct type for the streaming platform (e.g. a Kafka Connection for a + // Kafka Stream). + UcConnectionName string `json:"uc_connection_name,omitempty"` + + ForceSendFields []string `json:"-" url:"-"` +} + +func (s *StreamConnectionConfig) UnmarshalJSON(b []byte) error { + return marshal.Unmarshal(b, s) +} + +func (s StreamConnectionConfig) MarshalJSON() ([]byte, error) { + return marshal.Marshal(s) +} + +// Schema definitions for the stream. Currently only direct schemas are +// supported. In a future milestone, we will support schema registries through a +// UC Connection. +type StreamSchemaConfig struct { + // Schema definitions provided directly on the Stream. + DirectSchemas *DirectSchemas `json:"direct_schemas,omitempty"` +} + +// Source-specific configuration. Determines the streaming platform source. +type StreamSourceConfig struct { + // Configuration for Apache Kafka streams. + KafkaStreamConfig *KafkaStreamConfig `json:"kafka_stream_config,omitempty"` +} + // The streaming mode configuration for a streaming materialization pipeline. type StreamingMode struct { // The type of streaming mode used by the materialization pipeline. @@ -5194,6 +5444,15 @@ func (f *UpdateRunStatus) Type() string { return "UpdateRunStatus" } +type UpdateStreamRequest struct { + // Full three-part (catalog.schema.stream) name of the stream. + Name string `json:"-" url:"-"` + // The Stream to update. + Stream Stream `json:"stream"` + // The list of fields to update. + UpdateMask fieldmask.FieldMask `json:"-" url:"update_mask"` +} + type UpdateWebhookResponse struct { Webhook *RegistryWebhook `json:"webhook,omitempty"` } diff --git a/service/pipelines/model.go b/service/pipelines/model.go index c0e9740b4..9f9a9ff18 100755 --- a/service/pipelines/model.go +++ b/service/pipelines/model.go @@ -317,6 +317,9 @@ type CreatePipeline struct { Name string `json:"name,omitempty"` // List of notification settings for this pipeline. Notifications []Notifications `json:"notifications,omitempty"` + // Key/value map of default parameters to use for pipeline execution. + // Maximum total size: 10k characters (JSON format) + Parameters map[string]string `json:"parameters,omitempty"` // Whether Photon is enabled for this pipeline. Photon bool `json:"photon,omitempty"` // Restart window of this pipeline. @@ -597,6 +600,9 @@ type EditPipeline struct { Name string `json:"name,omitempty"` // List of notification settings for this pipeline. Notifications []Notifications `json:"notifications,omitempty"` + // Key/value map of default parameters to use for pipeline execution. + // Maximum total size: 10k characters (JSON format) + Parameters map[string]string `json:"parameters,omitempty"` // Whether Photon is enabled for this pipeline. Photon bool `json:"photon,omitempty"` // Unique identifier for this pipeline. @@ -947,6 +953,9 @@ type GetPipelineResponse struct { LatestUpdates []UpdateStateInfo `json:"latest_updates,omitempty"` // A human friendly identifier for the pipeline, taken from the `spec`. Name string `json:"name,omitempty"` + // Key/value map of default parameters to use for pipeline execution. + // Maximum total size: 10k characters (JSON format) + Parameters map[string]string `json:"parameters,omitempty"` // The ID of the pipeline. PipelineId string `json:"pipeline_id,omitempty"` // The user or service principal that the pipeline runs as, if specified in diff --git a/service/postgres/model.go b/service/postgres/model.go index 00216c5cf..d0cc66444 100755 --- a/service/postgres/model.go +++ b/service/postgres/model.go @@ -263,8 +263,6 @@ type CatalogCatalogStatus struct { // // Format: projects/{project_id}/branches/{branch_id}. Branch string `json:"branch,omitempty"` - // Part of the resource name. - CatalogId string `json:"catalog_id,omitempty"` // The name of the Postgres database associated with the catalog. PostgresDatabase string `json:"postgres_database,omitempty"` // The resource path of the project associated with the catalog. @@ -2369,8 +2367,6 @@ type SyncedTableSyncedTableStatus struct { Project string `json:"project,omitempty"` // The current phase of the data synchronization pipeline. ProvisioningPhase ProvisioningPhase `json:"provisioning_phase,omitempty"` - // Part of the resource name. - SyncedTableId string `json:"synced_table_id,omitempty"` // The provisioning state of the synced table entity in Unity Catalog. UnityCatalogProvisioningState ProvisioningInfoState `json:"unity_catalog_provisioning_state,omitempty"` diff --git a/service/sql/impl.go b/service/sql/impl.go index 1d13caa6e..5af5a0cca 100755 --- a/service/sql/impl.go +++ b/service/sql/impl.go @@ -1318,11 +1318,12 @@ func (a *warehousesImpl) Start(ctx context.Context, request StartRequest) error queryParams := make(map[string]any) headers := make(map[string]string) headers["Accept"] = "application/json" + headers["Content-Type"] = "application/json" cfg := a.client.Config if cfg.WorkspaceID != "" { headers["X-Databricks-Org-Id"] = cfg.WorkspaceID } - err := a.client.Do(ctx, http.MethodPost, path, headers, queryParams, nil, nil) + err := a.client.Do(ctx, http.MethodPost, path, headers, queryParams, request, nil) return err } @@ -1331,11 +1332,12 @@ func (a *warehousesImpl) Stop(ctx context.Context, request StopRequest) error { queryParams := make(map[string]any) headers := make(map[string]string) headers["Accept"] = "application/json" + headers["Content-Type"] = "application/json" cfg := a.client.Config if cfg.WorkspaceID != "" { headers["X-Databricks-Org-Id"] = cfg.WorkspaceID } - err := a.client.Do(ctx, http.MethodPost, path, headers, queryParams, nil, nil) + err := a.client.Do(ctx, http.MethodPost, path, headers, queryParams, request, nil) return err } diff --git a/service/sql/model.go b/service/sql/model.go index 91809f457..efcc7bd6f 100755 --- a/service/sql/model.go +++ b/service/sql/model.go @@ -4994,6 +4994,7 @@ func (f *SpotInstancePolicy) Type() string { return "SpotInstancePolicy" } +// Starts a SQL warehouse. This API is idempotent. type StartRequest struct { // Required. Id of the SQL warehouse. Id string `json:"-" url:"-"` @@ -5212,6 +5213,7 @@ func (f *Status) Type() string { return "Status" } +// Stops a SQL warehouse. This API is idempotent. type StopRequest struct { // Required. Id of the SQL warehouse. Id string `json:"-" url:"-"` diff --git a/service/supervisoragents/api.go b/service/supervisoragents/api.go index 1aad896a5..dd693ebbb 100755 --- a/service/supervisoragents/api.go +++ b/service/supervisoragents/api.go @@ -21,9 +21,9 @@ type SupervisorAgentsInterface interface { // Creates a Tool under a Supervisor Agent. Specify one of "genie_space", // "knowledge_assistant", "uc_function", "uc_connection", "app", "volume", // "dashboard", "table", "vector_search_index", "catalog", "schema", - // "supervisor_agent", "web_search" in the request body. The legacy values - // "lakeview_dashboard" and "uc_table" are also accepted and remain equivalent - // to "dashboard" and "table" respectively. + // "supervisor_agent", "web_search", "skill" in the request body. The legacy + // values "lakeview_dashboard" and "uc_table" are also accepted and remain + // equivalent to "dashboard" and "table" respectively. CreateTool(ctx context.Context, request CreateToolRequest) (*Tool, error) // Deletes an example from a Supervisor Agent. diff --git a/service/supervisoragents/interface.go b/service/supervisoragents/interface.go index 87bf72d5a..de844f4ca 100755 --- a/service/supervisoragents/interface.go +++ b/service/supervisoragents/interface.go @@ -20,8 +20,8 @@ type SupervisorAgentsService interface { // Creates a Tool under a Supervisor Agent. Specify one of "genie_space", // "knowledge_assistant", "uc_function", "uc_connection", "app", "volume", // "dashboard", "table", "vector_search_index", "catalog", "schema", - // "supervisor_agent", "web_search" in the request body. The legacy values - // "lakeview_dashboard" and "uc_table" are also accepted and remain + // "supervisor_agent", "web_search", "skill" in the request body. The legacy + // values "lakeview_dashboard" and "uc_table" are also accepted and remain // equivalent to "dashboard" and "table" respectively. CreateTool(ctx context.Context, request CreateToolRequest) (*Tool, error) diff --git a/service/supervisoragents/model.go b/service/supervisoragents/model.go index acad11fbd..03ab9edac 100755 --- a/service/supervisoragents/model.go +++ b/service/supervisoragents/model.go @@ -443,11 +443,11 @@ type Tool struct { // User specified id of the Tool. ToolId string `json:"tool_id,omitempty"` // Tool type. Must be one of: "genie_space", "knowledge_assistant", - // "uc_function", "uc_connection", "app", "volume", "dashboard", + // "uc_function", "uc_connection", "uc_mcp", "app", "volume", "dashboard", // "serving_endpoint", "table", "vector_search_index", "catalog", "schema", - // "supervisor_agent", "web_search". The legacy values "lakeview_dashboard" - // and "uc_table" are also accepted and remain equivalent to "dashboard" and - // "table" respectively. + // "supervisor_agent", "web_search", "skill". The legacy values + // "lakeview_dashboard" and "uc_table" are also accepted and remain + // equivalent to "dashboard" and "table" respectively. ToolType string `json:"tool_type"` UcConnection *UcConnection `json:"uc_connection,omitempty"` diff --git a/service/vectorsearch/model.go b/service/vectorsearch/model.go index 12536d610..e1d04e9b5 100755 --- a/service/vectorsearch/model.go +++ b/service/vectorsearch/model.go @@ -928,8 +928,11 @@ func (s QueryVectorIndexResponse) MarshalJSON() ([]byte, error) { } type RerankerConfig struct { + // Reranker identifier: - When model_type=BASE/UNSPECIFIED: must be + // "databricks_reranker". - When model_type=FINETUNED: the Model Serving + // endpoint name hosting a finetuned reranker. Model string `json:"model,omitempty"` - + // Parameters that control how the reranker processes the query results. Parameters *RerankerConfigRerankerParameters `json:"parameters,omitempty"` ForceSendFields []string `json:"-" url:"-"`