diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index 6c93c5434..ddc2a1c04 100644 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -129c9a58f8048f59e7d2829261ec88b7ec9f567f \ No newline at end of file +7cdccf5974c2a1e31cf43518b38cb3aa0b11ad4b \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index b56df0cd2..67f16c82e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2307,10 +2307,12 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureLineageFe databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureLineageModel.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureLineageOnlineFeature.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureList.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureReference.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureStoreAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureStoreImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureStoreService.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureTag.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureViewSource.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FieldDefinition.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FileInfo.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FinalizeLoggedModelRequest.java linguist-generated=true diff --git a/.github/workflows/tagging.yml b/.github/workflows/tagging.yml index a9989edfd..341df0776 100644 --- a/.github/workflows/tagging.yml +++ b/.github/workflows/tagging.yml @@ -37,13 +37,13 @@ jobs: github.repository == 'databricks/databricks-sdk-java' env: # Ref the release is cut from. Releasing from a branch is currently - # supported in the terraform repository only: for - # terraform-provider-databricks this follows the dispatched branch + # supported in the terraform-provider-databricks and cli repositories: + # for those two this follows the dispatched branch # (``github.ref_name``), so a release can be cut from a branch other # than main; every other synced repo (SDK go/py/java, …) stays pinned # to main, preserving the pre-existing hardcoded-main behaviour and # blocking branch releases even via a manual non-main dispatch. - RELEASE_REF: ${{ github.repository == 'databricks/terraform-provider-databricks' && github.ref_name || 'main' }} + RELEASE_REF: ${{ (github.repository == 'databricks/terraform-provider-databricks' || github.repository == 'databricks/cli') && github.ref_name || 'main' }} # Changelog source. databricks/cli builds the release changelog from # per-PR ``.nextchanges/
/*.md`` fragments and a # ``.nextchanges/version`` file rather than a single hand-maintained @@ -67,10 +67,10 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: # Check out the release ref. ``RELEASE_REF`` is the dispatched - # branch for terraform-provider-databricks and ``main`` for every + # branch for terraform-provider-databricks and cli, and ``main`` for every # other repo (see the job-level ``env``). For scheduled runs and # manual dispatches left at defaults this is the default branch - # (main); dispatching terraform with ``--ref `` cuts the + # (main); dispatching terraform or cli with ``--ref `` cuts the # release from that branch instead. # # Naming the ref explicitly (rather than omitting ``ref:``) @@ -100,7 +100,7 @@ jobs: # changelog bump and creates the tag on this branch, and its # concurrent-advance guard checks this branch. Matches the ref # checked out above (``RELEASE_REF``): the dispatched branch for - # terraform, main everywhere else. + # terraform and cli, main everywhere else. DECO_TAGGING_REF: ${{ env.RELEASE_REF }} # Non-empty only for databricks/cli (see job-level env). When set, # tagging.py renders the changelog from ``$NEXTCHANGES_DIR/`` fragments diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 241284dbb..0253e86e5 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -15,3 +15,7 @@ ### Internal Changes ### API Changes +* Add `unityCatalogImagePath` field for `com.databricks.sdk.service.jobs.AiRuntimeTask`. +* Add `featureViewSource` field for `com.databricks.sdk.service.ml.DataSource`. +* Add `budgetPolicyId` and `tags` fields for `com.databricks.sdk.service.ml.PublishSpec`. +* Add `development` field for `com.databricks.sdk.service.pipelines.StartUpdate`. \ No newline at end of file diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/aifunctions/AiFunctionsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/aifunctions/AiFunctionsAPI.java index 79d09edc0..c5d2a719a 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/aifunctions/AiFunctionsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/aifunctions/AiFunctionsAPI.java @@ -23,17 +23,29 @@ public AiFunctionsAPI(AiFunctionsService mock) { impl = mock; } - /** Classifies content according to a set of provided labels. */ + /** + * Classifies content according to a set of provided labels. For REST API requests, the default + * rate limit is 1,200 requests per minute per workspace. Contact your Databricks account team to + * request a higher limit. + */ public AiClassifyResponse aiClassify(AiClassifyRequest request) { return impl.aiClassify(request); } - /** Extracts structured data from text and documents according to a provided schema. */ + /** + * Extracts structured data from text and documents according to a provided schema. For REST API + * requests, the default rate limit is 120 requests per minute per workspace. Contact your + * Databricks account team to request a higher limit. + */ public AiExtractResponse aiExtract(AiExtractRequest request) { return impl.aiExtract(request); } - /** Parse structured content from unstructured documents. */ + /** + * Parse structured content from unstructured documents. For REST API requests, the default rate + * limit is 120 pages per minute per workspace. Contact your Databricks account team to request a + * higher limit. + */ public AiParseDocumentResponse aiParseDocument(AiParseDocumentRequest request) { return impl.aiParseDocument(request); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/aifunctions/AiFunctionsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/aifunctions/AiFunctionsService.java index ac00da07e..f971cf0db 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/aifunctions/AiFunctionsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/aifunctions/AiFunctionsService.java @@ -12,12 +12,24 @@ */ @Generated public interface AiFunctionsService { - /** Classifies content according to a set of provided labels. */ + /** + * Classifies content according to a set of provided labels. For REST API requests, the default + * rate limit is 1,200 requests per minute per workspace. Contact your Databricks account team to + * request a higher limit. + */ AiClassifyResponse aiClassify(AiClassifyRequest aiClassifyRequest); - /** Extracts structured data from text and documents according to a provided schema. */ + /** + * Extracts structured data from text and documents according to a provided schema. For REST API + * requests, the default rate limit is 120 requests per minute per workspace. Contact your + * Databricks account team to request a higher limit. + */ AiExtractResponse aiExtract(AiExtractRequest aiExtractRequest); - /** Parse structured content from unstructured documents. */ + /** + * Parse structured content from unstructured documents. For REST API requests, the default rate + * limit is 120 pages per minute per workspace. Contact your Databricks account team to request a + * higher limit. + */ AiParseDocumentResponse aiParseDocument(AiParseDocumentRequest aiParseDocumentRequest); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java index 923b8155e..3b2ddb365 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java @@ -84,8 +84,8 @@ public Iterable list(String fullName) { } /** - * List model versions. You can list model versions under a particular schema, or list all model - * versions in the current metastore. + * List the model versions of the specified registered model, identified by its full three-level + * name (catalog.schema.model). * *

The returned models are filtered based on the privileges of the calling user. For example, * the metastore admin is able to list all the model versions. A regular user needs to be the diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsService.java index 39a5a87b0..5b8e8aba5 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsService.java @@ -48,8 +48,8 @@ public interface ModelVersionsService { ModelVersionInfo getByAlias(GetByAliasRequest getByAliasRequest); /** - * List model versions. You can list model versions under a particular schema, or list all model - * versions in the current metastore. + * List the model versions of the specified registered model, identified by its full three-level + * name (catalog.schema.model). * *

The returned models are filtered based on the privileges of the calling user. For example, * the metastore admin is able to list all the model versions. A regular user needs to be the diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateMcpServiceRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateMcpServiceRequest.java index 87d9805c9..e7350c783 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateMcpServiceRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateMcpServiceRequest.java @@ -40,8 +40,7 @@ public class UpdateMcpServiceRequest { * Fields to update. Use `config` to replace the entire configuration. The replacement must * include every required field; any optional field you omit is cleared. To preserve sibling * fields, use one or more granular paths: `comment`, `config.source_connection.name`, - * `config.include_tool_selectors`, or `config.rate_limits`. Wildcard paths such as `*` are not - * supported. + * `config.include_tool_selectors`, or `config.rate_limits`. */ @JsonIgnore @QueryParam("update_mask") diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateModelProviderServiceRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateModelProviderServiceRequest.java index 3edd6e09c..475eeab01 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateModelProviderServiceRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateModelProviderServiceRequest.java @@ -44,8 +44,7 @@ public class UpdateModelProviderServiceRequest { * provider-specific value (for example, `config.openai`; the mask path remains * `config.provider`); `config.allow_all_targets`, `config.targets`, `config.forward_headers`, * `config.forward_query_parameters`, `config.forward_unmanaged_paths`, `config.rate_limits`, or - * `config.inference_table`. The provider type is immutable, and wildcard paths such as `*` are - * not supported. + * `config.inference_table`. The provider type is immutable. */ @JsonIgnore @QueryParam("update_mask") diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateModelServiceRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateModelServiceRequest.java index ceb7c282b..95ae56a32 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateModelServiceRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/UpdateModelServiceRequest.java @@ -42,8 +42,7 @@ public class UpdateModelServiceRequest { * include every required field; any optional field you omit is cleared. To preserve sibling * fields, use one or more granular paths: `comment`, `config.routing.destinations`, * `config.routing.fallback.destinations`, `config.rate_limits`, or `config.inference_table`. - * Intermediate paths such as `config.routing` and `config.routing.fallback`, and wildcard paths - * such as `*`, are not supported. + * Intermediate paths such as `config.routing` and `config.routing.fallback` are not supported. */ @JsonIgnore @QueryParam("update_mask") diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/TerminationReasonCode.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/TerminationReasonCode.java index 521fdcebd..321a4d163 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/TerminationReasonCode.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/TerminationReasonCode.java @@ -4,7 +4,7 @@ import com.databricks.sdk.support.Generated; -/** The status code indicating why the cluster was terminated */ +/** The status code indicating why the cluster was terminated. */ @Generated public enum TerminationReasonCode { ABUSE_DETECTED, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieAPI.java index 2739b4cc8..19ff7a75f 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieAPI.java @@ -93,8 +93,8 @@ public GenieMessage waitGetMessageGenieCompleted( } /** - * Create new message in a [conversation](:method:genie/startconversation). The AI response uses - * all previously created messages in the conversation to respond. + * Sends a new message in a chat-mode [conversation](:method:genie/startconversation). The AI + * response uses all previously created messages in the conversation to respond. */ public Wait createMessage( GenieCreateConversationMessageRequest request) { @@ -214,7 +214,7 @@ public GenieMessage genieCancelResponse(GenieCancelResponseRequest request) { return impl.genieCancelResponse(request); } - /** Create and run evaluations for multiple benchmark questions in a Genie space. */ + /** Creates and runs chat-mode evaluations for multiple benchmark questions in a Genie space. */ public GenieEvalRunResponse genieCreateEvalRun(GenieCreateEvalRunRequest request) { return impl.genieCreateEvalRun(request); } @@ -314,7 +314,10 @@ public GenieMessage getMessage(String spaceId, String conversationId, String mes .setMessageId(messageId)); } - /** Get message from conversation. */ + /** + * Gets a message from a chat-mode or agent-mode conversation. For a complete agent-mode + * transcript, use the List conversation items endpoint. + */ public GenieMessage getMessage(GenieGetConversationMessageRequest request) { return impl.getMessage(request); } @@ -406,7 +409,11 @@ public GenieListConversationMessagesResponse listConversationMessages( .setConversationId(conversationId)); } - /** List messages in a conversation */ + /** + * Lists messages in a chat-mode or agent-mode conversation. Agent-mode messages are returned as + * GenieMessage projections. Use the List conversation items endpoint for the complete reasoning + * and tool-call history. + */ public GenieListConversationMessagesResponse listConversationMessages( GenieListConversationMessagesRequest request) { return impl.listConversationMessages(request); @@ -441,12 +448,12 @@ public GenieListSpacesResponse listSpaces(GenieListSpacesRequest request) { return impl.listSpaces(request); } - /** Send feedback for a message. */ + /** Sends feedback for a message in a chat-mode or agent-mode conversation. */ public void sendMessageFeedback(GenieSendMessageFeedbackRequest request) { impl.sendMessageFeedback(request); } - /** Start a new conversation. */ + /** Starts a new chat-mode conversation and sends its first message. */ public Wait startConversation( GenieStartConversationMessageRequest request) { GenieStartConversationResponse response = impl.startConversation(request); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieConversation.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieConversation.java index 46c2ebd64..adafacd86 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieConversation.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieConversation.java @@ -7,6 +7,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; +/** + * A Genie conversation. Use chat-mode message endpoints for classic chats and agent-mode response + * and item endpoints for agent conversations. Conversation management, feedback, comments, and + * attachment operations support both modes. + */ @Generated public class GenieConversation { /** Conversation ID */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieEvalRunResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieEvalRunResponse.java index 2e51186cd..053668c4b 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieEvalRunResponse.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieEvalRunResponse.java @@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; +/** A benchmark evaluation run. The public benchmark API currently evaluates chat-mode responses. */ @Generated public class GenieEvalRunResponse { /** Timestamp when the evaluation run was created (milliseconds since epoch). */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieService.java index c8ed0be9e..2452c18a6 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieService.java @@ -16,8 +16,8 @@ @Generated public interface GenieService { /** - * Create new message in a [conversation](:method:genie/startconversation). The AI response uses - * all previously created messages in the conversation to respond. + * Sends a new message in a chat-mode [conversation](:method:genie/startconversation). The AI + * response uses all previously created messages in the conversation to respond. */ GenieMessage createMessage( GenieCreateConversationMessageRequest genieCreateConversationMessageRequest); @@ -91,7 +91,7 @@ GenieGenerateDownloadFullQueryResultResponse generateDownloadFullQueryResult( */ GenieMessage genieCancelResponse(GenieCancelResponseRequest genieCancelResponseRequest); - /** Create and run evaluations for multiple benchmark questions in a Genie space. */ + /** Creates and runs chat-mode evaluations for multiple benchmark questions in a Genie space. */ GenieEvalRunResponse genieCreateEvalRun(GenieCreateEvalRunRequest genieCreateEvalRunRequest); /** Get details for evaluation results. */ @@ -134,7 +134,10 @@ GenieListEvalResultsResponse genieListEvalResults( GenieGetDownloadFullQueryResultResponse getDownloadFullQueryResult( GenieGetDownloadFullQueryResultRequest genieGetDownloadFullQueryResultRequest); - /** Get message from conversation. */ + /** + * Gets a message from a chat-mode or agent-mode conversation. For a complete agent-mode + * transcript, use the List conversation items endpoint. + */ GenieMessage getMessage(GenieGetConversationMessageRequest genieGetConversationMessageRequest); /** @@ -165,7 +168,11 @@ GenieGetMessageQueryResultResponse getMessageQueryResultByAttachment( GenieListConversationCommentsResponse listConversationComments( GenieListConversationCommentsRequest genieListConversationCommentsRequest); - /** List messages in a conversation */ + /** + * Lists messages in a chat-mode or agent-mode conversation. Agent-mode messages are returned as + * GenieMessage projections. Use the List conversation items endpoint for the complete reasoning + * and tool-call history. + */ GenieListConversationMessagesResponse listConversationMessages( GenieListConversationMessagesRequest genieListConversationMessagesRequest); @@ -180,10 +187,10 @@ GenieListMessageCommentsResponse listMessageComments( /** Get list of Genie Spaces. */ GenieListSpacesResponse listSpaces(GenieListSpacesRequest genieListSpacesRequest); - /** Send feedback for a message. */ + /** Sends feedback for a message in a chat-mode or agent-mode conversation. */ void sendMessageFeedback(GenieSendMessageFeedbackRequest genieSendMessageFeedbackRequest); - /** Start a new conversation. */ + /** Starts a new chat-mode conversation and sends its first message. */ GenieStartConversationResponse startConversation( GenieStartConversationMessageRequest genieStartConversationMessageRequest); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/AiRuntimeTask.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/AiRuntimeTask.java index ff485e1eb..f006aebcd 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/AiRuntimeTask.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/AiRuntimeTask.java @@ -76,6 +76,14 @@ public class AiRuntimeTask { @JsonProperty("mlflow_run") private String mlflowRun; + /** + * Optional Unity Catalog path for a custom container image. When set, the task runs on the + * specified container image instead of the default Databricks client image. Format: + * `{catalog}.{schema}.{image_name}:{tag}` + */ + @JsonProperty("unity_catalog_image_path") + private String unityCatalogImagePath; + public AiRuntimeTask setCodeSourcePath(String codeSourcePath) { this.codeSourcePath = codeSourcePath; return this; @@ -139,6 +147,15 @@ public String getMlflowRun() { return mlflowRun; } + public AiRuntimeTask setUnityCatalogImagePath(String unityCatalogImagePath) { + this.unityCatalogImagePath = unityCatalogImagePath; + return this; + } + + public String getUnityCatalogImagePath() { + return unityCatalogImagePath; + } + @Override public boolean equals(Object o) { if (this == o) return true; @@ -150,7 +167,8 @@ public boolean equals(Object o) { && Objects.equals(experiment, that.experiment) && Objects.equals(mlflowArtifactLocation, that.mlflowArtifactLocation) && Objects.equals(mlflowExperimentDirectory, that.mlflowExperimentDirectory) - && Objects.equals(mlflowRun, that.mlflowRun); + && Objects.equals(mlflowRun, that.mlflowRun) + && Objects.equals(unityCatalogImagePath, that.unityCatalogImagePath); } @Override @@ -162,7 +180,8 @@ public int hashCode() { experiment, mlflowArtifactLocation, mlflowExperimentDirectory, - mlflowRun); + mlflowRun, + unityCatalogImagePath); } @Override @@ -175,6 +194,7 @@ public String toString() { .add("mlflowArtifactLocation", mlflowArtifactLocation) .add("mlflowExperimentDirectory", mlflowExperimentDirectory) .add("mlflowRun", mlflowRun) + .add("unityCatalogImagePath", unityCatalogImagePath) .toString(); } } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DataSource.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DataSource.java index b1c35c151..45e5ae7e1 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DataSource.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DataSource.java @@ -14,6 +14,10 @@ public class DataSource { @JsonProperty("delta_table_source") private DeltaTableSource deltaTableSource; + /** A data source composed from registered upstream Features. */ + @JsonProperty("feature_view_source") + private FeatureViewSource featureViewSource; + /** A Kafka stream data source. */ @JsonProperty("kafka_source") private KafkaSource kafkaSource; @@ -42,6 +46,15 @@ public DeltaTableSource getDeltaTableSource() { return deltaTableSource; } + public DataSource setFeatureViewSource(FeatureViewSource featureViewSource) { + this.featureViewSource = featureViewSource; + return this; + } + + public FeatureViewSource getFeatureViewSource() { + return featureViewSource; + } + public DataSource setKafkaSource(KafkaSource kafkaSource) { this.kafkaSource = kafkaSource; return this; @@ -84,6 +97,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; DataSource that = (DataSource) o; return Objects.equals(deltaTableSource, that.deltaTableSource) + && Objects.equals(featureViewSource, that.featureViewSource) && Objects.equals(kafkaSource, that.kafkaSource) && Objects.equals(lateness, that.lateness) && Objects.equals(requestSource, that.requestSource) @@ -92,13 +106,15 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(deltaTableSource, kafkaSource, lateness, requestSource, streamSource); + return Objects.hash( + deltaTableSource, featureViewSource, kafkaSource, lateness, requestSource, streamSource); } @Override public String toString() { return new ToStringer(DataSource.class) .add("deltaTableSource", deltaTableSource) + .add("featureViewSource", featureViewSource) .add("kafkaSource", kafkaSource) .add("lateness", lateness) .add("requestSource", requestSource) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureReference.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureReference.java new file mode 100644 index 000000000..b2bdbef27 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureReference.java @@ -0,0 +1,46 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** + * A reference to one registered upstream Feature. A message rather than a bare name so an upstream + * can later be pinned more precisely (e.g. by version) without a breaking type change. + */ +@Generated +public class FeatureReference { + /** The three-part full name of the upstream Feature. */ + @JsonProperty("feature") + private String feature; + + public FeatureReference setFeature(String feature) { + this.feature = feature; + return this; + } + + public String getFeature() { + return feature; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + FeatureReference that = (FeatureReference) o; + return Objects.equals(feature, that.feature); + } + + @Override + public int hashCode() { + return Objects.hash(feature); + } + + @Override + public String toString() { + return new ToStringer(FeatureReference.class).add("feature", feature).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureViewSource.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureViewSource.java new file mode 100644 index 000000000..c4d4436a6 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureViewSource.java @@ -0,0 +1,46 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Collection; +import java.util.Objects; + +/** A data source composed from registered upstream Features. */ +@Generated +public class FeatureViewSource { + /** The upstream Features this source reads. Must include at least one feature. */ + @JsonProperty("feature_references") + private Collection featureReferences; + + public FeatureViewSource setFeatureReferences(Collection featureReferences) { + this.featureReferences = featureReferences; + return this; + } + + public Collection getFeatureReferences() { + return featureReferences; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + FeatureViewSource that = (FeatureViewSource) o; + return Objects.equals(featureReferences, that.featureReferences); + } + + @Override + public int hashCode() { + return Objects.hash(featureReferences); + } + + @Override + public String toString() { + return new ToStringer(FeatureViewSource.class) + .add("featureReferences", featureReferences) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/PublishSpec.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/PublishSpec.java index 71dab0374..a72133e2d 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/PublishSpec.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/PublishSpec.java @@ -5,10 +5,19 @@ import com.databricks.sdk.support.Generated; import com.databricks.sdk.support.ToStringer; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; import java.util.Objects; @Generated public class PublishSpec { + /** + * Budget policy id used to attribute the serverless compute cost of the synced online-table sync + * pipeline. Applied only when the sync pipeline is first created (the initial publish of a new + * online table); republishing to an existing online table does not update it. + */ + @JsonProperty("budget_policy_id") + private String budgetPolicyId; + /** * Full Unity Catalog name of one of the features materialized in the source table, used to derive * the synced online table's entity and timeseries columns. Required for view sources without a UC @@ -29,6 +38,24 @@ public class PublishSpec { @JsonProperty("publish_mode") private PublishSpecPublishMode publishMode; + /** + * Custom tags to apply to the synced online-table sync pipeline created for this publish. They + * are forwarded to the pipeline's compute as cluster tags so its cost can be attributed in the + * billing system tables. Applied only when the sync pipeline is first created (the initial + * publish of a new online table); republishing to an existing online table does not update them. + */ + @JsonProperty("tags") + private Map tags; + + public PublishSpec setBudgetPolicyId(String budgetPolicyId) { + this.budgetPolicyId = budgetPolicyId; + return this; + } + + public String getBudgetPolicyId() { + return budgetPolicyId; + } + public PublishSpec setFullFeatureName(String fullFeatureName) { this.fullFeatureName = fullFeatureName; return this; @@ -65,29 +92,43 @@ public PublishSpecPublishMode getPublishMode() { return publishMode; } + public PublishSpec setTags(Map tags) { + this.tags = tags; + return this; + } + + public Map getTags() { + return tags; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PublishSpec that = (PublishSpec) o; - return Objects.equals(fullFeatureName, that.fullFeatureName) + return Objects.equals(budgetPolicyId, that.budgetPolicyId) + && Objects.equals(fullFeatureName, that.fullFeatureName) && Objects.equals(onlineStore, that.onlineStore) && Objects.equals(onlineTableName, that.onlineTableName) - && Objects.equals(publishMode, that.publishMode); + && Objects.equals(publishMode, that.publishMode) + && Objects.equals(tags, that.tags); } @Override public int hashCode() { - return Objects.hash(fullFeatureName, onlineStore, onlineTableName, publishMode); + return Objects.hash( + budgetPolicyId, fullFeatureName, onlineStore, onlineTableName, publishMode, tags); } @Override public String toString() { return new ToStringer(PublishSpec.class) + .add("budgetPolicyId", budgetPolicyId) .add("fullFeatureName", fullFeatureName) .add("onlineStore", onlineStore) .add("onlineTableName", onlineTableName) .add("publishMode", publishMode) + .add("tags", tags) .toString(); } } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/PurgeFeatureEntitiesResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/PurgeFeatureEntitiesResponse.java index 23bd0614c..9b3296b0f 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/PurgeFeatureEntitiesResponse.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/PurgeFeatureEntitiesResponse.java @@ -11,6 +11,10 @@ /** Result of a completed feature entity purge. */ @Generated public class PurgeFeatureEntitiesResponse { + /** Operation-level error, if the purge failed outside an individual feature target. */ + @JsonProperty("error") + private DatabricksServiceExceptionWithDetailsProto error; + /** Metadata about the purge operation. */ @JsonProperty("metadata") private PurgeFeatureEntitiesMetadata metadata; @@ -23,6 +27,15 @@ public class PurgeFeatureEntitiesResponse { @JsonProperty("state") private PurgeFeatureEntitiesMetadataState state; + public PurgeFeatureEntitiesResponse setError(DatabricksServiceExceptionWithDetailsProto error) { + this.error = error; + return this; + } + + public DatabricksServiceExceptionWithDetailsProto getError() { + return error; + } + public PurgeFeatureEntitiesResponse setMetadata(PurgeFeatureEntitiesMetadata metadata) { this.metadata = metadata; return this; @@ -55,19 +68,21 @@ public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PurgeFeatureEntitiesResponse that = (PurgeFeatureEntitiesResponse) o; - return Objects.equals(metadata, that.metadata) + return Objects.equals(error, that.error) + && Objects.equals(metadata, that.metadata) && Objects.equals(results, that.results) && Objects.equals(state, that.state); } @Override public int hashCode() { - return Objects.hash(metadata, results, state); + return Objects.hash(error, metadata, results, state); } @Override public String toString() { return new ToStringer(PurgeFeatureEntitiesResponse.class) + .add("error", error) .add("metadata", metadata) .add("results", results) .add("state", state) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/StartUpdate.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/StartUpdate.java index ddb29dcd7..63ef82f38 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/StartUpdate.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/StartUpdate.java @@ -16,6 +16,14 @@ public class StartUpdate { @JsonProperty("cause") private StartUpdateCause cause; + /** + * Whether the update is started in the development mode. This is recommended for interactive + * development and testing. Reuses compute for faster iteration and disables automatic retries. + * Not recommended for production. + */ + @JsonProperty("development") + private Boolean development; + /** If true, this update will reset all tables before running. */ @JsonProperty("full_refresh") private Boolean fullRefresh; @@ -81,6 +89,15 @@ public StartUpdateCause getCause() { return cause; } + public StartUpdate setDevelopment(Boolean development) { + this.development = development; + return this; + } + + public Boolean getDevelopment() { + return development; + } + public StartUpdate setFullRefresh(Boolean fullRefresh) { this.fullRefresh = fullRefresh; return this; @@ -169,6 +186,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; StartUpdate that = (StartUpdate) o; return Objects.equals(cause, that.cause) + && Objects.equals(development, that.development) && Objects.equals(fullRefresh, that.fullRefresh) && Objects.equals(fullRefreshSelection, that.fullRefreshSelection) && Objects.equals(parameters, that.parameters) @@ -184,6 +202,7 @@ public boolean equals(Object o) { public int hashCode() { return Objects.hash( cause, + development, fullRefresh, fullRefreshSelection, parameters, @@ -199,6 +218,7 @@ public int hashCode() { public String toString() { return new ToStringer(StartUpdate.class) .add("cause", cause) + .add("development", development) .add("fullRefresh", fullRefresh) .add("fullRefreshSelection", fullRefreshSelection) .add("parameters", parameters) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sandbox/Sandbox.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sandbox/Sandbox.java index 622178a40..1df20fab0 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sandbox/Sandbox.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sandbox/Sandbox.java @@ -15,11 +15,14 @@ public class Sandbox { @JsonProperty("create_time") private Timestamp createTime; - /** Human-readable display label for the sandbox. At most 256 bytes. */ + /** Human-readable display label for the sandbox. At most 256 characters. */ @JsonProperty("display_name") private String displayName; - /** The AIP-compliant resource name, such as "sandboxes/my-sandbox". */ + /** + * The sandbox resource name, in the form `sandboxes/{sandbox_id}`. Derived from `sandbox_id`; any + * value supplied in a create or update request body is ignored. + */ @JsonProperty("name") private String name; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/TerminationReasonCode.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/TerminationReasonCode.java index e85fa1109..2839ea24a 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/TerminationReasonCode.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/TerminationReasonCode.java @@ -4,7 +4,7 @@ import com.databricks.sdk.support.Generated; -/** The status code indicating why the cluster was terminated */ +/** The status code indicating why the cluster was terminated. */ @Generated public enum TerminationReasonCode { ABUSE_DETECTED, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/DeleteTagAssignmentRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/DeleteTagAssignmentRequest.java index a4dd8def2..6524440d2 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/DeleteTagAssignmentRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/DeleteTagAssignmentRequest.java @@ -17,7 +17,7 @@ public class DeleteTagAssignmentRequest { /** * The type of entity to which the tag is assigned. Allowed values are apps, dashboards, - * geniespaces, notebooks + * designerfiles, geniespaces, notebooks */ @JsonIgnore private String entityType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/GetTagAssignmentRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/GetTagAssignmentRequest.java index 05227b7e1..96de7bfe4 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/GetTagAssignmentRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/GetTagAssignmentRequest.java @@ -17,7 +17,7 @@ public class GetTagAssignmentRequest { /** * The type of entity to which the tag is assigned. Allowed values are apps, dashboards, - * geniespaces, notebooks + * designerfiles, geniespaces, notebooks */ @JsonIgnore private String entityType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/ListTagAssignmentsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/ListTagAssignmentsRequest.java index 926202986..c59d0cbda 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/ListTagAssignmentsRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/ListTagAssignmentsRequest.java @@ -18,7 +18,7 @@ public class ListTagAssignmentsRequest { /** * The type of entity to which the tag is assigned. Allowed values are apps, dashboards, - * geniespaces, notebooks + * designerfiles, geniespaces, notebooks */ @JsonIgnore private String entityType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/TagAssignment.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/TagAssignment.java index 2cddc0d88..c6047acd5 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/TagAssignment.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/TagAssignment.java @@ -18,7 +18,7 @@ public class TagAssignment { /** * The type of entity to which the tag is assigned. Allowed values are apps, dashboards, - * geniespaces, notebooks + * designerfiles, geniespaces, notebooks */ @JsonProperty("entity_type") private String entityType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/UpdateTagAssignmentRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/UpdateTagAssignmentRequest.java index 21f6e0c33..e01a473f5 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/UpdateTagAssignmentRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/UpdateTagAssignmentRequest.java @@ -19,7 +19,7 @@ public class UpdateTagAssignmentRequest { /** * The type of entity to which the tag is assigned. Allowed values are apps, dashboards, - * geniespaces, notebooks + * designerfiles, geniespaces, notebooks */ @JsonIgnore private String entityType;