diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index c7cb7b324..47d4db702 100644 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -02596aaa1588f0a22727f219c734c2cb867ef717 \ No newline at end of file +51280fc34a3c15722f1c4d1e6cec2c9e6bff0697 \ No newline at end of file diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 23733ed1d..1f7ec55d5 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -13,3 +13,20 @@ ### Internal Changes ### API Changes +* Add `IncludeValue` field for [catalog.GetSecretRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#GetSecretRequest). +* Add `DockerImageUrl` field for [jobs.AiRuntimeTask](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/jobs#AiRuntimeTask). +* Add `InputColumn` and `OutputColumn` fields for [pipelines.Transformer](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/pipelines#Transformer). +* Add `Netsuite` enum value for [catalog.ConnectionType](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#ConnectionType). +* Add `GpuXlarge8` enum value for [serving.ServedModelInputWorkloadType](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/serving#ServedModelInputWorkloadType). +* Add `GpuXlarge8` enum value for [serving.ServingModelWorkloadType](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/serving#ServingModelWorkloadType). +* Change `AccountSpStatus` and `DisplayName` fields for [iamv2.ServicePrincipal](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iamv2#ServicePrincipal) to be required. +* Change `AccountUserStatus`, `FullName` and `Username` fields for [iamv2.User](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/iamv2#User) to be required. +* [Breaking] Remove `IncludeBrowse` field for [catalog.GetMcpServiceRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#GetMcpServiceRequest). +* [Breaking] Remove `IncludeBrowse` field for [catalog.GetModelProviderServiceRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#GetModelProviderServiceRequest). +* [Breaking] Remove `IncludeBrowse` field for [catalog.GetModelServiceRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#GetModelServiceRequest). +* [Breaking] Remove `IncludeBrowse` field for [catalog.ListMcpServicesRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#ListMcpServicesRequest). +* [Breaking] Remove `IncludeBrowse` field for [catalog.ListModelProviderServicesRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#ListModelProviderServicesRequest). +* [Breaking] Remove `IncludeBrowse` field for [catalog.ListModelServicesRequest](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#ListModelServicesRequest). +* [Breaking] Remove `BrowseOnly` field for [catalog.McpService](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#McpService). +* [Breaking] Remove `BrowseOnly` field for [catalog.ModelProviderService](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#ModelProviderService). +* [Breaking] Remove `BrowseOnly` field for [catalog.ModelService](https://pkg.go.dev/github.com/databricks/databricks-sdk-go/service/catalog#ModelService). \ No newline at end of file diff --git a/service/bundledeployments/api.go b/service/bundledeployments/api.go index e20d33255..50cc64e92 100644 --- a/service/bundledeployments/api.go +++ b/service/bundledeployments/api.go @@ -30,8 +30,8 @@ type BundleDeploymentsInterface interface { // the version, the server returns `ALREADY_EXISTS`. // // On success the server also updates the corresponding deployment-level - // Resource (creating it if this is the first operation for that resource_key, - // or removing it if action_type is DELETE). + // resource, creating it if this is the first operation for that resource_key + // and removing it if the operation records no `state` (see that field). CreateOperation(ctx context.Context, request CreateOperationRequest) (*Operation, error) // Creates a new version under a deployment. @@ -116,10 +116,12 @@ type BundleDeploymentsInterface interface { // caller sets `operation.sequence_id` to the value it last observed, and the // server rejects the update with `ABORTED` if the operation has been modified // since. On success the server increments `sequence_id`; updates to `state` and - // `resource_id` are mirrored onto the corresponding deployment-level Resource - // projection. The parent version must be in progress, delete operations cannot - // be updated, and after the update is applied a succeeded operation cannot - // carry an `error_message`. + // `resource_id` are mirrored onto the corresponding deployment-level resource. + // Listing `state` in `update_mask` with no value clears it, which removes the + // resource, so a delete that is retried until it succeeds must clear `state`. + // The parent version must be in progress, and after the update is applied a + // succeeded operation cannot carry an `error_message`. See the `state` and + // `resource_id` fields for the rest. UpdateOperation(ctx context.Context, request UpdateOperationRequest) (*Operation, error) } diff --git a/service/bundledeployments/interface.go b/service/bundledeployments/interface.go index 049f4fd7c..ff487ca8a 100644 --- a/service/bundledeployments/interface.go +++ b/service/bundledeployments/interface.go @@ -29,8 +29,9 @@ type BundleDeploymentsService interface { // already exists under the version, the server returns `ALREADY_EXISTS`. // // On success the server also updates the corresponding deployment-level - // Resource (creating it if this is the first operation for that - // resource_key, or removing it if action_type is DELETE). + // resource, creating it if this is the first operation for that + // resource_key and removing it if the operation records no `state` (see + // that field). CreateOperation(ctx context.Context, request CreateOperationRequest) (*Operation, error) // Creates a new version under a deployment. @@ -88,8 +89,11 @@ type BundleDeploymentsService interface { // observed, and the server rejects the update with `ABORTED` if the // operation has been modified since. On success the server increments // `sequence_id`; updates to `state` and `resource_id` are mirrored onto the - // corresponding deployment-level Resource projection. The parent version - // must be in progress, delete operations cannot be updated, and after the - // update is applied a succeeded operation cannot carry an `error_message`. + // corresponding deployment-level resource. Listing `state` in `update_mask` + // with no value clears it, which removes the resource, so a delete that is + // retried until it succeeds must clear `state`. The parent version must be + // in progress, and after the update is applied a succeeded operation cannot + // carry an `error_message`. See the `state` and `resource_id` fields for + // the rest. UpdateOperation(ctx context.Context, request UpdateOperationRequest) (*Operation, error) } diff --git a/service/bundledeployments/model.go b/service/bundledeployments/model.go index fab22553e..847a7a6d5 100644 --- a/service/bundledeployments/model.go +++ b/service/bundledeployments/model.go @@ -106,7 +106,9 @@ type DeleteDeploymentRequest struct { type Deployment struct { // When the deployment was created. CreateTime *time.Time `json:"create_time,omitempty"` - // The user who created the deployment (email or principal name). + // The user who created the deployment (email or principal name). Empty if + // authoritative deployment metadata does not identify a creator or the + // principal cannot be resolved. CreatedBy string `json:"created_by,omitempty"` // Bundle target deployment mode (development or production), derived from // the most recent version's mode. @@ -151,7 +153,8 @@ type Deployment struct { // When the deployment was last updated. UpdateTime *time.Time `json:"update_time,omitempty"` // The user who most recently updated the deployment (email or principal - // name). + // name). Empty if authoritative deployment metadata does not identify a + // modifier or the principal cannot be resolved. UpdatedBy string `json:"updated_by,omitempty"` // Workspace location of the deployment, derived from the latest version. WorkspaceInfo *WorkspaceInfo `json:"workspace_info,omitempty"` @@ -423,7 +426,7 @@ func (s HeartbeatResponse) MarshalJSON() ([]byte, error) { type ListDeploymentsRequest struct { // The maximum number of deployments to return. The service may return fewer // than this value. If unspecified, at most 20 deployments will be returned. - // The maximum value is 100; values above 100 will be coerced to 100. + // The maximum value is 1000; values above 1000 will be coerced to 1000. PageSize int `json:"-" url:"page_size,omitempty"` // A page token, received from a previous `ListDeployments` call. Provide // this to retrieve the subsequent page. @@ -606,10 +609,10 @@ type Operation struct { // deployments/{deployment_id}/versions/{version_id}/operations/{resource_key} Name string `json:"name,omitempty"` // ID of the actual resource in the workspace (e.g. the job ID, pipeline - // ID). Optional at creation: CREATE and RECREATE operations produce a new - // resource whose ID is not yet known when the operation is recorded. - // Mutable: may be filled in (or corrected) later via UpdateOperation once - // the ID is known. + // ID). Required whenever `state` is set, because state records a resource + // that exists. A CREATE or RECREATE that has not produced its resource yet + // records neither. Mutable: may be filled in (or corrected) later via + // UpdateOperation once the ID is known. ResourceId string `json:"resource_id,omitempty"` // Resource identifier within the bundle (e.g. "jobs.foo", "pipelines.bar", // "jobs.foo.permissions", "files."). Can be an arbitrary UTF-8 @@ -630,10 +633,16 @@ type Operation struct { // if it no longer matches the server's value, the update is rejected with // ABORTED so the caller can re-read and retry. Ignored on CreateOperation. SequenceId int64 `json:"sequence_id,omitempty"` - // Serialized local config state after the operation. Should be unset for - // delete operations. Mutable: may be updated after creation via - // UpdateOperation. When updating, the caller must echo the last-observed - // `sequence_id` as a concurrency precondition. + // Serialized local config state after the operation. Its presence records + // whether the resource still exists, so an operation that records no state + // removes its resource from the deployment. It may be unset only for an + // operation that left no resource behind: a `DELETE` that succeeded, or a + // `CREATE` or `RECREATE` that failed. It is required otherwise, including + // for a failed `DELETE`, whose resource survives. + // + // Mutable: may be updated after creation via UpdateOperation. When + // updating, the caller must echo the last-observed `sequence_id` as a + // concurrency precondition. // // Opaque to this service: the string is stored and returned unchanged. This // is deliberately not google.protobuf.Value, whose only numeric case is diff --git a/service/catalog/model.go b/service/catalog/model.go index bf66b8e65..f44025719 100644 --- a/service/catalog/model.go +++ b/service/catalog/model.go @@ -999,6 +999,8 @@ const ConnectionTypeMetaMarketing ConnectionType = `META_MARKETING` const ConnectionTypeMysql ConnectionType = `MYSQL` +const ConnectionTypeNetsuite ConnectionType = `NETSUITE` + const ConnectionTypeOracle ConnectionType = `ORACLE` const ConnectionTypeOutlook ConnectionType = `OUTLOOK` @@ -1039,11 +1041,11 @@ func (f *ConnectionType) String() string { // Set raw string value and validate it against allowed values func (f *ConnectionType) Set(v string) error { switch v { - case `BIGQUERY`, `CONFLUENCE`, `DATABRICKS`, `DYNAMICS365`, `GA4_RAW_DATA`, `GITHUB`, `GLUE`, `HIVE_METASTORE`, `HTTP`, `HUBSPOT`, `JDBC`, `META_MARKETING`, `MYSQL`, `ORACLE`, `OUTLOOK`, `POSTGRESQL`, `POWER_BI`, `REDSHIFT`, `SALESFORCE`, `SALESFORCE_DATA_CLOUD`, `SERVICENOW`, `SMARTSHEET`, `SNOWFLAKE`, `SQLDW`, `SQLSERVER`, `TERADATA`, `UNKNOWN_CONNECTION_TYPE`, `WORKDAY_RAAS`, `ZENDESK`: + case `BIGQUERY`, `CONFLUENCE`, `DATABRICKS`, `DYNAMICS365`, `GA4_RAW_DATA`, `GITHUB`, `GLUE`, `HIVE_METASTORE`, `HTTP`, `HUBSPOT`, `JDBC`, `META_MARKETING`, `MYSQL`, `NETSUITE`, `ORACLE`, `OUTLOOK`, `POSTGRESQL`, `POWER_BI`, `REDSHIFT`, `SALESFORCE`, `SALESFORCE_DATA_CLOUD`, `SERVICENOW`, `SMARTSHEET`, `SNOWFLAKE`, `SQLDW`, `SQLSERVER`, `TERADATA`, `UNKNOWN_CONNECTION_TYPE`, `WORKDAY_RAAS`, `ZENDESK`: *f = ConnectionType(v) return nil default: - return fmt.Errorf(`value "%s" is not one of "BIGQUERY", "CONFLUENCE", "DATABRICKS", "DYNAMICS365", "GA4_RAW_DATA", "GITHUB", "GLUE", "HIVE_METASTORE", "HTTP", "HUBSPOT", "JDBC", "META_MARKETING", "MYSQL", "ORACLE", "OUTLOOK", "POSTGRESQL", "POWER_BI", "REDSHIFT", "SALESFORCE", "SALESFORCE_DATA_CLOUD", "SERVICENOW", "SMARTSHEET", "SNOWFLAKE", "SQLDW", "SQLSERVER", "TERADATA", "UNKNOWN_CONNECTION_TYPE", "WORKDAY_RAAS", "ZENDESK"`, v) + return fmt.Errorf(`value "%s" is not one of "BIGQUERY", "CONFLUENCE", "DATABRICKS", "DYNAMICS365", "GA4_RAW_DATA", "GITHUB", "GLUE", "HIVE_METASTORE", "HTTP", "HUBSPOT", "JDBC", "META_MARKETING", "MYSQL", "NETSUITE", "ORACLE", "OUTLOOK", "POSTGRESQL", "POWER_BI", "REDSHIFT", "SALESFORCE", "SALESFORCE_DATA_CLOUD", "SERVICENOW", "SMARTSHEET", "SNOWFLAKE", "SQLDW", "SQLSERVER", "TERADATA", "UNKNOWN_CONNECTION_TYPE", "WORKDAY_RAAS", "ZENDESK"`, v) } } @@ -1065,6 +1067,7 @@ func (f *ConnectionType) Values() []ConnectionType { ConnectionTypeJdbc, ConnectionTypeMetaMarketing, ConnectionTypeMysql, + ConnectionTypeNetsuite, ConnectionTypeOracle, ConnectionTypeOutlook, ConnectionTypePostgresql, @@ -4162,23 +4165,10 @@ func (s GetGrantRequest) MarshalJSON() ([]byte, error) { } type GetMcpServiceRequest struct { - // Whether to include MCP services for which the principal can only access - // selective metadata. - IncludeBrowse bool `json:"-" url:"include_browse,omitempty"` // Resource name of the MCP service. Format: // `mcp-services/{catalog}.{schema}.{mcp_service}`. Each `{...}` component // is capped at 255 characters individually. Name string `json:"-" url:"-"` - - ForceSendFields []string `json:"-" url:"-"` -} - -func (s *GetMcpServiceRequest) UnmarshalJSON(b []byte) error { - return marshal.Unmarshal(b, s) -} - -func (s GetMcpServiceRequest) MarshalJSON() ([]byte, error) { - return marshal.Marshal(s) } type GetMetastoreRequest struct { @@ -4242,43 +4232,17 @@ func (s GetMetastoreSummaryResponse) MarshalJSON() ([]byte, error) { } type GetModelProviderServiceRequest struct { - // Whether to include provider services for which the principal can only - // access selective metadata. - IncludeBrowse bool `json:"-" url:"include_browse,omitempty"` // Resource name of the model provider service. Format: // `model-provider-services/{catalog}.{schema}.{model_provider_service}`. // Each `{...}` component is capped at 255 characters individually. Name string `json:"-" url:"-"` - - ForceSendFields []string `json:"-" url:"-"` -} - -func (s *GetModelProviderServiceRequest) UnmarshalJSON(b []byte) error { - return marshal.Unmarshal(b, s) -} - -func (s GetModelProviderServiceRequest) MarshalJSON() ([]byte, error) { - return marshal.Marshal(s) } type GetModelServiceRequest struct { - // Whether to include model services for which the principal can only access - // selective metadata. - IncludeBrowse bool `json:"-" url:"include_browse,omitempty"` // Resource name of the model service. Format: // `model-services/{catalog}.{schema}.{model_service}`. Each `{...}` // component is capped at 255 characters individually. Name string `json:"-" url:"-"` - - ForceSendFields []string `json:"-" url:"-"` -} - -func (s *GetModelServiceRequest) UnmarshalJSON(b []byte) error { - return marshal.Unmarshal(b, s) -} - -func (s GetModelServiceRequest) MarshalJSON() ([]byte, error) { - return marshal.Marshal(s) } type GetModelVersionRequest struct { @@ -4408,6 +4372,19 @@ type GetSecretRequest struct { // The three-level (fully qualified) name of the secret (for example, // **catalog_name.schema_name.secret_name**). FullName string `json:"-" url:"-"` + // Whether to include the secret value in the response. Defaults to false. + // Requires the **READ_SECRET** privilege. + IncludeValue bool `json:"-" url:"include_value,omitempty"` + + ForceSendFields []string `json:"-" url:"-"` +} + +func (s *GetSecretRequest) UnmarshalJSON(b []byte) error { + return marshal.Unmarshal(b, s) +} + +func (s GetSecretRequest) MarshalJSON() ([]byte, error) { + return marshal.Marshal(s) } type GetStorageCredentialRequest struct { @@ -5014,9 +4991,6 @@ func (s ListFunctionsResponse) MarshalJSON() ([]byte, error) { } type ListMcpServicesRequest struct { - // Whether to include MCP services for which the principal can only access - // selective metadata. - IncludeBrowse bool `json:"-" url:"include_browse,omitempty"` // Maximum number of MCP services to return. Defaults to 100 when unset or // 0; the maximum is 100. Use `next_page_token` to retrieve additional // pages. @@ -5144,9 +5118,6 @@ func (s ListMetastoresResponse) MarshalJSON() ([]byte, error) { } type ListModelProviderServicesRequest struct { - // Whether to include provider services for which the principal can only - // access selective metadata. - IncludeBrowse bool `json:"-" url:"include_browse,omitempty"` // Maximum number of provider services to return. Defaults to 100 when unset // or 0; the maximum is 100. Use `next_page_token` to retrieve additional // pages. @@ -5230,9 +5201,6 @@ func (s ListModelProviderServicesResponse) MarshalJSON() ([]byte, error) { } type ListModelServicesRequest struct { - // Whether to include model services for which the principal can only access - // selective metadata. - IncludeBrowse bool `json:"-" url:"include_browse,omitempty"` // Maximum number of model services to return. Defaults to 100 when unset or // 0; the maximum is 100. Use `next_page_token` to retrieve additional // pages. @@ -5970,9 +5938,6 @@ func (f *MatchType) Type() string { // Connection, or Databricks-hosted via an internal server -- and exposes its // tools for discovery, authorization, and invocation. type McpService struct { - // Whether the caller sees only metadata available through the BROWSE - // privilege. - BrowseOnly bool `json:"browse_only,omitempty"` // User-provided description. Comment string `json:"comment,omitempty"` // Operational configuration: connection, tool selectors, rate limit. @@ -6141,9 +6106,6 @@ func (s MetastoreInfo) MarshalJSON() ([]byte, error) { // provider serving multiple models); a single ModelService can fan out across // multiple ModelProviderServices for traffic split or failover. type ModelProviderService struct { - // Whether the caller sees only metadata available through the BROWSE - // privilege. - BrowseOnly bool `json:"browse_only,omitempty"` // User-provided description. Comment string `json:"comment,omitempty"` // Behavioral configuration: provider connection, model catalog, and @@ -6284,7 +6246,6 @@ type ModelProviderServiceConfigAmazonBedrockProviderConfig struct { // than one mode is rejected. type ModelProviderServiceConfigAmazonBedrockProviderDirectConfig struct { // AWS access-key-pair auth. Mutually exclusive with `service_credential`. - // Supersedes the flat `aws_access_key_id` / `aws_secret_access_key` fields. AwsAccessKey *ModelProviderServiceConfigAwsAccessKey `json:"aws_access_key,omitempty"` // AWS region where the Bedrock endpoint is hosted (e.g., `us-east-1`). // Required on Create. @@ -6431,8 +6392,7 @@ type ModelProviderServiceConfigAzureOpenAiProviderDirectConfig struct { // `https://myresource.openai.azure.com`. Required on Create. BaseUrl string `json:"base_url,omitempty"` // Entra ID (service principal) auth. Mutually exclusive with `api_key` and - // `service_credential`. Supersedes the flat `tenant_id` / `client_id` / - // `client_secret` fields. + // `service_credential`. EntraServicePrincipal *ModelProviderServiceConfigEntraServicePrincipal `json:"entra_service_principal,omitempty"` // Reference to a UC service credential authorizing Azure OpenAI requests. // On Create the caller supplies `service_credential.name` in the AIP-122 @@ -6627,8 +6587,7 @@ type ModelProviderServiceConfigMicrosoftFoundryProviderDirectConfig struct { // Microsoft AI Foundry endpoint URL. Required on Create. BaseUrl string `json:"base_url,omitempty"` // Entra ID (service principal) auth. Mutually exclusive with `api_key` and - // `service_credential`. Supersedes the flat `tenant_id` / `client_id` / - // `client_secret` fields. + // `service_credential`. EntraServicePrincipal *ModelProviderServiceConfigEntraServicePrincipal `json:"entra_service_principal,omitempty"` // Reference to a UC service credential authorizing Microsoft Foundry // requests. On Create the caller supplies `service_credential.name` in the @@ -6732,9 +6691,6 @@ type ModelProviderServiceConfigServiceCredential struct { // access control, rate limits, guardrails, and auditing to the traffic it // serves. type ModelService struct { - // Whether the caller sees only metadata available through the BROWSE - // privilege. - BrowseOnly bool `json:"browse_only,omitempty"` // User-provided description. Comment string `json:"comment,omitempty"` // Operational configuration: destinations, routing, rate limits, inference diff --git a/service/iamv2/model.go b/service/iamv2/model.go index 3c501b4b5..602e8c7d7 100644 --- a/service/iamv2/model.go +++ b/service/iamv2/model.go @@ -310,11 +310,12 @@ type ServicePrincipal struct { // The parent account ID for the service principal in Databricks. AccountId string `json:"account_id,omitempty"` // The activity status of a service principal in a Databricks account. - AccountSpStatus State `json:"account_sp_status,omitempty"` - // Application ID of the service principal. + AccountSpStatus State `json:"account_sp_status"` + // Application ID of the service principal. Set at creation time and cannot + // be changed afterwards; when omitted, the server generates one. ApplicationId string `json:"application_id,omitempty"` // Display name of the service principal. - DisplayName string `json:"display_name,omitempty"` + DisplayName string `json:"display_name"` // ExternalId of the service principal in the customer's IdP. ExternalId string `json:"external_id,omitempty"` // Internal service principal ID of the service principal in Databricks. @@ -396,15 +397,15 @@ type User struct { // The accountId parent of the user in Databricks. AccountId string `json:"account_id,omitempty"` // The activity status of a user in a Databricks account. - AccountUserStatus State `json:"account_user_status,omitempty"` + AccountUserStatus State `json:"account_user_status"` // ExternalId of the user in the customer's IdP. ExternalId string `json:"external_id,omitempty"` - FullName *UserFullName `json:"full_name,omitempty"` + FullName UserFullName `json:"full_name"` // Internal userId of the user in Databricks. UserId string `json:"user_id,omitempty"` // Username/email of the user. - Username string `json:"username,omitempty"` + Username string `json:"username"` ForceSendFields []string `json:"-" url:"-"` } diff --git a/service/jobs/model.go b/service/jobs/model.go index 54b6637c7..419bf4b21 100644 --- a/service/jobs/model.go +++ b/service/jobs/model.go @@ -27,6 +27,10 @@ type AiRuntimeTask struct { // parameter server, separate eval node, etc.) with multiple entries are the // eventual intent but not yet supported. Deployments []DeploymentSpec `json:"deployments"` + // Optional Docker image URL for a custom container image. When set, the + // task runs on the specified container image instead of the default + // Databricks client image. Format: `{organization}/{repository}:{tag}` + DockerImageUrl string `json:"docker_image_url,omitempty"` // MLflow experiment name for this run. If an experiment with this name // already exists under the calling user, the run is appended to it; // otherwise a new experiment is created. To target a specific MLflow diff --git a/service/pipelines/model.go b/service/pipelines/model.go index dfa3e4a8f..57768cdf1 100644 --- a/service/pipelines/model.go +++ b/service/pipelines/model.go @@ -3617,8 +3617,24 @@ func (f *TikTokAdsOptionsTikTokReportType) Type() string { type Transformer struct { // Required: the wire format of the data. Format TransformerFormat `json:"format,omitempty"` + // Optional input column to transform. When set, the transformer reads from + // this column instead of the default source column. + InputColumn string `json:"input_column,omitempty"` JsonOptions *JsonTransformerOptions `json:"json_options,omitempty"` + // Optional output column name. When set, the transformed result is written + // to this column instead of replacing the input column. + OutputColumn string `json:"output_column,omitempty"` + + ForceSendFields []string `json:"-" url:"-"` +} + +func (s *Transformer) UnmarshalJSON(b []byte) error { + return marshal.Unmarshal(b, s) +} + +func (s Transformer) MarshalJSON() ([]byte, error) { + return marshal.Marshal(s) } type TransformerFormat string diff --git a/service/serving/model.go b/service/serving/model.go index 3780943ea..3be25fe18 100644 --- a/service/serving/model.go +++ b/service/serving/model.go @@ -2094,6 +2094,8 @@ const ServedModelInputWorkloadTypeGpuSmall ServedModelInputWorkloadType = `GPU_S const ServedModelInputWorkloadTypeGpuXlarge ServedModelInputWorkloadType = `GPU_XLARGE` +const ServedModelInputWorkloadTypeGpuXlarge8 ServedModelInputWorkloadType = `GPU_XLARGE_8` + const ServedModelInputWorkloadTypeMultigpuMedium ServedModelInputWorkloadType = `MULTIGPU_MEDIUM` // String representation for [fmt.Print] @@ -2104,11 +2106,11 @@ func (f *ServedModelInputWorkloadType) String() string { // Set raw string value and validate it against allowed values func (f *ServedModelInputWorkloadType) Set(v string) error { switch v { - case `CPU`, `CPU_LARGE`, `CPU_MEDIUM`, `GPU_LARGE`, `GPU_MEDIUM`, `GPU_SMALL`, `GPU_XLARGE`, `MULTIGPU_MEDIUM`: + case `CPU`, `CPU_LARGE`, `CPU_MEDIUM`, `GPU_LARGE`, `GPU_MEDIUM`, `GPU_SMALL`, `GPU_XLARGE`, `GPU_XLARGE_8`, `MULTIGPU_MEDIUM`: *f = ServedModelInputWorkloadType(v) return nil default: - return fmt.Errorf(`value "%s" is not one of "CPU", "CPU_LARGE", "CPU_MEDIUM", "GPU_LARGE", "GPU_MEDIUM", "GPU_SMALL", "GPU_XLARGE", "MULTIGPU_MEDIUM"`, v) + return fmt.Errorf(`value "%s" is not one of "CPU", "CPU_LARGE", "CPU_MEDIUM", "GPU_LARGE", "GPU_MEDIUM", "GPU_SMALL", "GPU_XLARGE", "GPU_XLARGE_8", "MULTIGPU_MEDIUM"`, v) } } @@ -2124,6 +2126,7 @@ func (f *ServedModelInputWorkloadType) Values() []ServedModelInputWorkloadType { ServedModelInputWorkloadTypeGpuMedium, ServedModelInputWorkloadTypeGpuSmall, ServedModelInputWorkloadTypeGpuXlarge, + ServedModelInputWorkloadTypeGpuXlarge8, ServedModelInputWorkloadTypeMultigpuMedium, } } @@ -2596,6 +2599,8 @@ const ServingModelWorkloadTypeGpuSmall ServingModelWorkloadType = `GPU_SMALL` const ServingModelWorkloadTypeGpuXlarge ServingModelWorkloadType = `GPU_XLARGE` +const ServingModelWorkloadTypeGpuXlarge8 ServingModelWorkloadType = `GPU_XLARGE_8` + const ServingModelWorkloadTypeMultigpuMedium ServingModelWorkloadType = `MULTIGPU_MEDIUM` // String representation for [fmt.Print] @@ -2606,11 +2611,11 @@ func (f *ServingModelWorkloadType) String() string { // Set raw string value and validate it against allowed values func (f *ServingModelWorkloadType) Set(v string) error { switch v { - case `CPU`, `CPU_LARGE`, `CPU_MEDIUM`, `GPU_LARGE`, `GPU_MEDIUM`, `GPU_SMALL`, `GPU_XLARGE`, `MULTIGPU_MEDIUM`: + case `CPU`, `CPU_LARGE`, `CPU_MEDIUM`, `GPU_LARGE`, `GPU_MEDIUM`, `GPU_SMALL`, `GPU_XLARGE`, `GPU_XLARGE_8`, `MULTIGPU_MEDIUM`: *f = ServingModelWorkloadType(v) return nil default: - return fmt.Errorf(`value "%s" is not one of "CPU", "CPU_LARGE", "CPU_MEDIUM", "GPU_LARGE", "GPU_MEDIUM", "GPU_SMALL", "GPU_XLARGE", "MULTIGPU_MEDIUM"`, v) + return fmt.Errorf(`value "%s" is not one of "CPU", "CPU_LARGE", "CPU_MEDIUM", "GPU_LARGE", "GPU_MEDIUM", "GPU_SMALL", "GPU_XLARGE", "GPU_XLARGE_8", "MULTIGPU_MEDIUM"`, v) } } @@ -2626,6 +2631,7 @@ func (f *ServingModelWorkloadType) Values() []ServingModelWorkloadType { ServingModelWorkloadTypeGpuMedium, ServingModelWorkloadTypeGpuSmall, ServingModelWorkloadTypeGpuXlarge, + ServingModelWorkloadTypeGpuXlarge8, ServingModelWorkloadTypeMultigpuMedium, } } @@ -2640,7 +2646,10 @@ type TelemetryConfig struct { InferenceTableConfig *TelemetryInferenceTableConfig `json:"inference_table_config,omitempty"` // The Unity Catalog tables to which endpoint telemetry (logs, traces, and // metrics) is exported. Provide this to create a new telemetry profile for - // the endpoint from the given tables. + // the endpoint from the given tables. This field selects the tables when + // writing a telemetry configuration; it is not returned when reading one. + // Responses identify the resulting profile with `telemetry_profile_id` + // instead. TableNames *UnityCatalogTableNames `json:"table_names,omitempty"` // The ID of an existing telemetry profile to apply to this endpoint. // Provide this to reuse a telemetry profile that has already been created,