From ecbc5c013b12b4f64cfce3eb7c6a43d0ac6444c0 Mon Sep 17 00:00:00 2001 From: Jan Rose Date: Fri, 12 Jun 2026 21:35:02 +0200 Subject: [PATCH 1/2] Drop stale PLACEHOLDER annotations that shadow upstream descriptions A `description: PLACEHOLDER` marks a field that has no documentation anywhere. It is added when a field first appears undocumented, but was never removed when cli.json later gained a description for the field. Because the annotations file overrides upstream docs in the merge, the stale marker shadowed the real description, and since PLACEHOLDER is skipped when assigning annotations, the schema emitted no description at all (e.g. `vector_search_endpoints.*.target_qps`). Strip such placeholders in newAnnotationHandler before the merge: the upstream description shows through, and because the pruned map is what syncWithMissingAnnotations writes back, the annotations file sheds the stale markers in the same run. Entries that carry other hand-authored fields (e.g. deprecation_message) lose only the placeholder. Fields that are genuinely undocumented keep their TODO marker, so the result is idempotent. TestRequiredAnnotationsForNewFields now also records deletes and updates during regeneration instead of nil-panicking on them, so any future non-idempotent rewrite of annotations.yml fails with a message instead of a panic. Co-authored-by: Isaac --- NEXT_CHANGELOG.md | 1 + bundle/internal/schema/annotations.go | 43 ++ bundle/internal/schema/annotations.yml | 487 --------------------- bundle/internal/schema/annotations_test.go | 100 +++++ bundle/internal/schema/main_test.go | 21 +- bundle/schema/jsonschema.json | 128 ++++++ bundle/schema/jsonschema_for_docs.json | 128 ++++++ 7 files changed, 417 insertions(+), 491 deletions(-) diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 9c5ce923dd5..e76f9f8f2e8 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -12,6 +12,7 @@ * direct: Fix resolving a resource reference that is used more than once within the same field ([#5558](https://github.com/databricks/cli/pull/5558)). * Bundle variable references now accept Unicode letters in path segments (e.g. `${var.变量}`). ([#5532](https://github.com/databricks/cli/pull/5532)) * Ignore remote changes for vector search direct_access_index_spec.schema_json to prevent drift when the backend normalizes the schema ([#5481](https://github.com/databricks/cli/pull/5481)). +* Fix missing field descriptions in the bundle JSON schema for fields whose upstream API docs arrived after the field was first annotated (e.g. `vector_search_endpoints.*.target_qps`); stale placeholder markers no longer hide them. ### Dependency updates diff --git a/bundle/internal/schema/annotations.go b/bundle/internal/schema/annotations.go index b68260f7ee4..6db04c7602e 100644 --- a/bundle/internal/schema/annotations.go +++ b/bundle/internal/schema/annotations.go @@ -26,6 +26,7 @@ type annotationHandler struct { // Adds annotations to the JSON schema reading from the annotation files. // More details https://json-schema.org/understanding-json-schema/reference/annotations func newAnnotationHandler(extracted, fromFile annotation.File) (*annotationHandler, error) { + dropShadowingPlaceholders(fromFile, extracted) merged, err := mergeAnnotationFiles(extracted, fromFile) if err != nil { return nil, err @@ -37,6 +38,48 @@ func newAnnotationHandler(extracted, fromFile annotation.File) (*annotationHandl }, nil } +// dropShadowingPlaceholders removes PLACEHOLDER descriptions from fromFile for +// fields that cli.json documents. A PLACEHOLDER marks a field with no +// documentation anywhere, so once upstream gains a description the marker is +// stale and would otherwise shadow it in the merge, leaving the schema with no +// description at all. fromFile is mutated in place: the sync step then rewrites +// the annotations file without the stale markers. Entries that carry other +// hand-authored fields (e.g. deprecation_message) lose only the placeholder. +func dropShadowingPlaceholders(fromFile, extracted annotation.File) { + for typePath, props := range fromFile { + for key, d := range props { + if d.Description != annotation.Placeholder { + continue + } + if extracted[typePath][key].Description == "" { + // Genuinely undocumented: keep the TODO marker. + continue + } + d.Description = "" + if isEmptyDescriptor(d) { + delete(props, key) + } else { + props[key] = d + } + } + if len(props) == 0 { + delete(fromFile, typePath) + } + } +} + +func isEmptyDescriptor(d annotation.Descriptor) bool { + return d.Description == "" && + d.MarkdownDescription == "" && + d.Title == "" && + d.Default == nil && + d.Enum == nil && + d.MarkdownExamples == "" && + d.DeprecationMessage == "" && + d.Preview == "" && + d.OutputOnly == nil +} + // mergeAnnotationFiles merges later layers over earlier ones with the same // semantics the on-disk annotation files used to be merged with: maps merge // recursively, scalars take the later value, sequences concatenate. diff --git a/bundle/internal/schema/annotations.yml b/bundle/internal/schema/annotations.yml index 0187b406beb..4ce6811b26a 100644 --- a/bundle/internal/schema/annotations.yml +++ b/bundle/internal/schema/annotations.yml @@ -234,21 +234,6 @@ resources: "description": |- PLACEHOLDER "fields": - "create_time": - "description": |- - PLACEHOLDER - "custom_description": - "description": |- - PLACEHOLDER - "custom_summary": - "description": |- - PLACEHOLDER - "display_name": - "description": |- - PLACEHOLDER - "effective_run_as": - "description": |- - PLACEHOLDER "evaluation": "description": |- PLACEHOLDER @@ -267,9 +252,6 @@ resources: PLACEHOLDER "source": "fields": - "aggregation": - "description": |- - PLACEHOLDER "display": "description": |- PLACEHOLDER @@ -297,114 +279,33 @@ resources: "file_path": "description": |- PLACEHOLDER - "id": - "description": |- - PLACEHOLDER "lifecycle": "description": |- PLACEHOLDER - "lifecycle_state": - "description": |- - PLACEHOLDER - "owner_user_name": - "description": |- - PLACEHOLDER - "parent_path": - "description": |- - PLACEHOLDER "permissions": "description": |- PLACEHOLDER - "query_text": - "description": |- - PLACEHOLDER - "run_as": - "description": |- - PLACEHOLDER - "run_as_user_name": - "description": |- - PLACEHOLDER "schedule": "description": |- PLACEHOLDER - "update_time": - "description": |- - PLACEHOLDER - "warehouse_id": - "description": |- - PLACEHOLDER "apps": "description": |- The app resource defines a Databricks app. "markdown_description": |- The app resource defines a [Databricks app](/api/workspace/apps/create). For information about Databricks Apps, see [\_](/dev-tools/databricks-apps/index.md). "fields": - "active_deployment": - "fields": - "create_time": - "description": |- - PLACEHOLDER - "creator": - "description": |- - PLACEHOLDER - "deployment_artifacts": - "description": |- - PLACEHOLDER - "fields": - "source_code_path": - "description": |- - PLACEHOLDER - "deployment_id": - "description": |- - PLACEHOLDER - "mode": - "description": |- - PLACEHOLDER - "source_code_path": - "description": |- - PLACEHOLDER - "status": - "description": |- - PLACEHOLDER - "fields": - "message": - "description": |- - PLACEHOLDER - "state": - "description": |- - PLACEHOLDER - "update_time": - "description": |- - PLACEHOLDER "app_status": "description": |- PLACEHOLDER - "fields": - "message": - "description": |- - PLACEHOLDER - "state": - "description": |- - PLACEHOLDER "budget_policy_id": "description": |- PLACEHOLDER - "compute_max_instances": - "description": |- - PLACEHOLDER - "compute_min_instances": - "description": |- - PLACEHOLDER "compute_size": "description": |- PLACEHOLDER "compute_status": "description": |- PLACEHOLDER - "fields": - "message": - "description": |- - PLACEHOLDER "config": "description": |- PLACEHOLDER @@ -512,13 +413,6 @@ resources: "job": "description": |- PLACEHOLDER - "fields": - "id": - "description": |- - PLACEHOLDER - "permission": - "description": |- - PLACEHOLDER "postgres": "description": |- PLACEHOLDER @@ -535,36 +429,12 @@ resources: "secret": "description": |- PLACEHOLDER - "fields": - "key": - "description": |- - PLACEHOLDER - "permission": - "description": |- - PLACEHOLDER - "scope": - "description": |- - PLACEHOLDER "serving_endpoint": "description": |- PLACEHOLDER - "fields": - "name": - "description": |- - PLACEHOLDER - "permission": - "description": |- - PLACEHOLDER "sql_warehouse": "description": |- PLACEHOLDER - "fields": - "id": - "description": |- - PLACEHOLDER - "permission": - "description": |- - PLACEHOLDER "uc_securable": "description": |- PLACEHOLDER @@ -593,9 +463,6 @@ resources: "telemetry_export_destinations": "description": |- PLACEHOLDER - "thumbnail_url": - "description": |- - PLACEHOLDER "usage_policy_id": "description": |- PLACEHOLDER @@ -606,12 +473,6 @@ resources: "description": |- PLACEHOLDER "fields": - "comment": - "description": |- - PLACEHOLDER - "connection_name": - "description": |- - PLACEHOLDER "grants": "description": |- PLACEHOLDER @@ -631,24 +492,6 @@ resources: "azure_tenant_id": "description": |- PLACEHOLDER - "name": - "description": |- - PLACEHOLDER - "options": - "description": |- - PLACEHOLDER - "properties": - "description": |- - PLACEHOLDER - "provider_name": - "description": |- - PLACEHOLDER - "share_name": - "description": |- - PLACEHOLDER - "storage_root": - "description": |- - PLACEHOLDER "clusters": "description": |- The cluster definitions for the bundle, where each key is the name of a cluster. @@ -684,15 +527,6 @@ resources: notebook_task: notebook_path: "./src/my_notebook.py" ``` - "data_security_mode": - "description": |- - PLACEHOLDER - "docker_image": - "description": |- - PLACEHOLDER - "kind": - "description": |- - PLACEHOLDER "lifecycle": "description": |- Lifecycle is a struct that contains the lifecycle settings for a resource. It controls the behavior of the resource when it is deployed or destroyed. @@ -719,12 +553,6 @@ resources: "user_name": "description": |- PLACEHOLDER - "runtime_engine": - "description": |- - PLACEHOLDER - "workload_type": - "description": |- - PLACEHOLDER "dashboards": "description": |- The dashboard definitions for the bundle, where each key is the name of the dashboard. @@ -838,9 +666,6 @@ resources: "description": |- PLACEHOLDER "fields": - "effective_capacity": - "description": |- - PLACEHOLDER "lifecycle": "description": |- Lifecycle is a struct that contains the lifecycle settings for a resource. It controls the behavior of the resource when it is deployed or destroyed. @@ -892,50 +717,17 @@ resources: "description": |- PLACEHOLDER "fields": - "comment": - "description": |- - PLACEHOLDER - "credential_name": - "description": |- - PLACEHOLDER "effective_file_event_queue": "fields": "managed_aqs": "description": |- PLACEHOLDER - "fields": - "managed_resource_id": - "description": |- - PLACEHOLDER - "queue_url": - "description": |- - PLACEHOLDER - "resource_group": - "description": |- - PLACEHOLDER - "subscription_id": - "description": |- - PLACEHOLDER "managed_pubsub": "description": |- PLACEHOLDER - "fields": - "managed_resource_id": - "description": |- - PLACEHOLDER - "subscription_name": - "description": |- - PLACEHOLDER "managed_sqs": "description": |- PLACEHOLDER - "fields": - "managed_resource_id": - "description": |- - PLACEHOLDER - "queue_url": - "description": |- - PLACEHOLDER "provided_aqs": "description": |- PLACEHOLDER @@ -945,20 +737,11 @@ resources: "provided_sqs": "description": |- PLACEHOLDER - "enable_file_events": - "description": |- - PLACEHOLDER "encryption_details": - "description": |- - PLACEHOLDER "fields": "sse_encryption_details": - "description": |- - PLACEHOLDER "fields": "algorithm": - "description": |- - PLACEHOLDER "fields": "_": "description": |- @@ -968,33 +751,12 @@ resources: AWS_SSE_KMS - |- AWS_SSE_S3 - "aws_kms_key_arn": - "description": |- - PLACEHOLDER - "fallback": - "description": |- - PLACEHOLDER - "file_event_queue": - "description": |- - PLACEHOLDER "grants": "description": |- PLACEHOLDER "lifecycle": "description": |- PLACEHOLDER - "name": - "description": |- - PLACEHOLDER - "read_only": - "description": |- - PLACEHOLDER - "skip_validation": - "description": |- - PLACEHOLDER - "url": - "description": |- - PLACEHOLDER "genie_spaces": "description": |- PLACEHOLDER @@ -1053,54 +815,26 @@ resources: "environments": "fields": "spec": - "description": |- - PLACEHOLDER "fields": "dependencies": "description": |- List of pip dependencies, as supported by the version of pip in this environment. - "java_dependencies": - "description": |- - PLACEHOLDER "git_source": "fields": - "git_snapshot": - "description": |- - PLACEHOLDER "sparse_checkout": "description": |- PLACEHOLDER "health": - "description": |- - PLACEHOLDER "fields": "rules": "description": |- PLACEHOLDER - "fields": - "metric": - "description": |- - PLACEHOLDER - "op": - "description": |- - PLACEHOLDER "job_clusters": "fields": "new_cluster": "fields": - "aws_attributes": - "fields": - "availability": - "description": |- - PLACEHOLDER - "ebs_volume_type": - "description": |- - PLACEHOLDER "azure_attributes": "fields": - "availability": - "description": |- - PLACEHOLDER "log_analytics_info": "fields": "log_analytics_primary_key": @@ -1109,35 +843,11 @@ resources: "log_analytics_workspace_id": "description": |- The workspace ID for the Azure Log Analytics agent configuration - "data_security_mode": - "description": |- - PLACEHOLDER - "docker_image": - "description": |- - PLACEHOLDER - "fields": - "basic_auth": - "description": |- - PLACEHOLDER - "gcp_attributes": - "fields": - "availability": - "description": |- - PLACEHOLDER "init_scripts": "fields": "abfss": "description": |- Contains the Azure Data Lake Storage destination path - "kind": - "description": |- - PLACEHOLDER - "runtime_engine": - "description": |- - PLACEHOLDER - "workload_type": - "description": |- - PLACEHOLDER "lifecycle": "description": |- Lifecycle is a struct that contains the lifecycle settings for a resource. It controls the behavior of the resource when it is deployed or destroyed. @@ -1162,8 +872,6 @@ resources: "description": |- PLACEHOLDER "run_as": - "description": |- - PLACEHOLDER "fields": "service_principal_name": "description": |- @@ -1180,25 +888,6 @@ resources: "destination_id": "description": |- PLACEHOLDER - "dashboard_task": - "fields": - "dashboard_id": - "description": |- - PLACEHOLDER - "subscription": - "description": |- - PLACEHOLDER - "fields": - "subscribers": - "description": |- - PLACEHOLDER - "fields": - "destination_id": - "description": |- - PLACEHOLDER - "user_name": - "description": |- - PLACEHOLDER "dbt_platform_task": "description": |- PLACEHOLDER @@ -1209,9 +898,6 @@ resources: "compute": "description": |- PLACEHOLDER - "health": - "description": |- - PLACEHOLDER "python_operator_task": "fields": "parameters": @@ -1379,18 +1065,8 @@ resources: PLACEHOLDER "ingestion_definition": "fields": - "netsuite_jar_path": - "description": |- - PLACEHOLDER "objects": "fields": - "report": - "fields": - "table_configuration": - "fields": - "workday_report_parameters": - "description": |- - PLACEHOLDER "schema": "fields": "connector_options": @@ -1446,9 +1122,6 @@ resources: "lifecycle": "description": |- Lifecycle is a struct that contains the lifecycle settings for a resource. It controls the behavior of the resource when it is deployed or destroyed. - "parameters": - "description": |- - PLACEHOLDER "permissions": "description": |- PLACEHOLDER @@ -1465,9 +1138,6 @@ resources: "user_name": "description": |- PLACEHOLDER - "run_as": - "description": |- - PLACEHOLDER "trigger": "deprecation_message": |- Use continuous instead @@ -1731,52 +1401,12 @@ resources: - EXECUTE principal: account users ``` - "aliases": - "description": |- - PLACEHOLDER - "fields": - "catalog_name": - "description": |- - PLACEHOLDER - "id": - "description": |- - PLACEHOLDER - "model_name": - "description": |- - PLACEHOLDER - "schema_name": - "description": |- - PLACEHOLDER - "browse_only": - "description": |- - PLACEHOLDER - "created_at": - "description": |- - PLACEHOLDER - "created_by": - "description": |- - PLACEHOLDER - "full_name": - "description": |- - PLACEHOLDER "grants": "description": |- PLACEHOLDER "lifecycle": "description": |- Lifecycle is a struct that contains the lifecycle settings for a resource. It controls the behavior of the resource when it is deployed or destroyed. - "metastore_id": - "description": |- - PLACEHOLDER - "owner": - "description": |- - PLACEHOLDER - "updated_at": - "description": |- - PLACEHOLDER - "updated_by": - "description": |- - PLACEHOLDER "schemas": "description": |- The schema definitions for the bundle, where each key is the name of the schema. @@ -1835,9 +1465,6 @@ resources: "lifecycle": "description": |- Lifecycle is a struct that contains the lifecycle settings for a resource. It controls the behavior of the resource when it is deployed or destroyed. - "properties": - "description": |- - PLACEHOLDER "secret_scopes": "description": |- The secret scope definitions for the bundle, where each key is the name of the secret scope. @@ -1919,9 +1546,6 @@ resources: "user_name": "description": |- PLACEHOLDER - "spot_instance_policy": - "description": |- - PLACEHOLDER "tags": "fields": "custom_tags": @@ -1934,148 +1558,40 @@ resources: "value": "description": |- PLACEHOLDER - "warehouse_type": - "description": |- - PLACEHOLDER "synced_database_tables": "description": |- PLACEHOLDER "fields": "data_synchronization_status": - "description": |- - PLACEHOLDER "fields": "last_sync": "fields": "delta_table_sync_info": "description": |- PLACEHOLDER - "database_instance_name": - "description": |- - PLACEHOLDER - "effective_database_instance_name": - "description": |- - PLACEHOLDER - "effective_logical_database_name": - "description": |- - PLACEHOLDER "lifecycle": "description": |- PLACEHOLDER - "logical_database_name": - "description": |- - PLACEHOLDER - "name": - "description": |- - PLACEHOLDER - "spec": - "description": |- - PLACEHOLDER - "unity_catalog_provisioning_state": - "description": |- - PLACEHOLDER "vector_search_endpoints": "description": |- PLACEHOLDER "fields": - "budget_policy_id": - "description": |- - PLACEHOLDER - "endpoint_type": - "description": |- - PLACEHOLDER "lifecycle": "description": |- PLACEHOLDER - "name": - "description": |- - PLACEHOLDER "permissions": "description": |- PLACEHOLDER - "target_qps": - "description": |- - PLACEHOLDER - "usage_policy_id": - "description": |- - PLACEHOLDER "vector_search_indexes": "description": |- PLACEHOLDER "fields": - "delta_sync_index_spec": - "description": |- - PLACEHOLDER - "fields": - "columns_to_sync": - "description": |- - PLACEHOLDER - "embedding_source_columns": - "description": |- - PLACEHOLDER - "fields": - "embedding_model_endpoint_name": - "description": |- - PLACEHOLDER - "model_endpoint_name_for_query": - "description": |- - PLACEHOLDER - "name": - "description": |- - PLACEHOLDER - "embedding_vector_columns": - "description": |- - PLACEHOLDER - "fields": - "embedding_dimension": - "description": |- - PLACEHOLDER - "name": - "description": |- - PLACEHOLDER - "embedding_writeback_table": - "description": |- - PLACEHOLDER - "pipeline_type": - "description": |- - PLACEHOLDER - "source_table": - "description": |- - PLACEHOLDER - "direct_access_index_spec": - "description": |- - PLACEHOLDER - "fields": - "embedding_source_columns": - "description": |- - PLACEHOLDER - "embedding_vector_columns": - "description": |- - PLACEHOLDER - "schema_json": - "description": |- - PLACEHOLDER - "endpoint_name": - "description": |- - PLACEHOLDER "grants": "description": |- PLACEHOLDER - "index_subtype": - "description": |- - PLACEHOLDER - "index_type": - "description": |- - PLACEHOLDER "lifecycle": "description": |- PLACEHOLDER - "name": - "description": |- - PLACEHOLDER - "primary_key": - "description": |- - PLACEHOLDER "volumes": "description": |- The volume definitions for the bundle, where each key is the name of the volume. @@ -2108,9 +1624,6 @@ resources: "lifecycle": "description": |- Lifecycle is a struct that contains the lifecycle settings for a resource. It controls the behavior of the resource when it is deployed or destroyed. - "volume_type": - "description": |- - PLACEHOLDER run_as: "description": |- The identity to use when running Declarative Automation Bundles resources. diff --git a/bundle/internal/schema/annotations_test.go b/bundle/internal/schema/annotations_test.go index 0e159335967..5cc29f87fca 100644 --- a/bundle/internal/schema/annotations_test.go +++ b/bundle/internal/schema/annotations_test.go @@ -2,6 +2,10 @@ package main import ( "testing" + + "github.com/databricks/cli/bundle/internal/annotation" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestConvertLinksToAbsoluteUrl(t *testing.T) { @@ -46,3 +50,99 @@ func TestConvertLinksToAbsoluteUrl(t *testing.T) { } } } + +const testTypePath = "github.com/databricks/cli/bundle/config.Foo" + +func TestDropShadowingPlaceholders(t *testing.T) { + tests := []struct { + name string + fromFile annotation.File + extracted annotation.File + want annotation.File + }{ + { + name: "placeholder shadowing an upstream description is dropped", + fromFile: annotation.File{ + testTypePath: {"field": {Description: annotation.Placeholder}}, + }, + extracted: annotation.File{ + testTypePath: {"field": {Description: "upstream description"}}, + }, + want: annotation.File{}, + }, + { + name: "placeholder without upstream description is kept", + fromFile: annotation.File{ + testTypePath: {"field": {Description: annotation.Placeholder}}, + }, + extracted: annotation.File{}, + want: annotation.File{ + testTypePath: {"field": {Description: annotation.Placeholder}}, + }, + }, + { + name: "placeholder with other fields loses only the placeholder", + fromFile: annotation.File{ + testTypePath: {"field": {Description: annotation.Placeholder, DeprecationMessage: "deprecated"}}, + }, + extracted: annotation.File{ + testTypePath: {"field": {Description: "upstream description"}}, + }, + want: annotation.File{ + testTypePath: {"field": {DeprecationMessage: "deprecated"}}, + }, + }, + { + name: "real description override is untouched", + fromFile: annotation.File{ + testTypePath: {"field": {Description: "hand-written override"}}, + }, + extracted: annotation.File{ + testTypePath: {"field": {Description: "upstream description"}}, + }, + want: annotation.File{ + testTypePath: {"field": {Description: "hand-written override"}}, + }, + }, + { + name: "other fields of the same type are kept", + fromFile: annotation.File{ + testTypePath: { + "stale": {Description: annotation.Placeholder}, + "todo": {Description: annotation.Placeholder}, + }, + }, + extracted: annotation.File{ + testTypePath: {"stale": {Description: "upstream description"}}, + }, + want: annotation.File{ + testTypePath: {"todo": {Description: annotation.Placeholder}}, + }, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + dropShadowingPlaceholders(test.fromFile, test.extracted) + assert.Equal(t, test.want, test.fromFile) + }) + } +} + +// A stale placeholder must not swallow the upstream description in the merged +// view the schema is generated from. +func TestNewAnnotationHandlerResolvesShadowedDescriptions(t *testing.T) { + extracted := annotation.File{ + testTypePath: {"field": {Description: "upstream description"}}, + } + fromFile := annotation.File{ + testTypePath: {"field": {Description: annotation.Placeholder, DeprecationMessage: "deprecated"}}, + } + + h, err := newAnnotationHandler(extracted, fromFile) + require.NoError(t, err) + + merged := h.parsedAnnotations[testTypePath]["field"] + assert.Equal(t, "upstream description", merged.Description) + assert.Equal(t, "deprecated", merged.DeprecationMessage) +} diff --git a/bundle/internal/schema/main_test.go b/bundle/internal/schema/main_test.go index 7d010163686..308081c50f4 100644 --- a/bundle/internal/schema/main_test.go +++ b/bundle/internal/schema/main_test.go @@ -63,16 +63,29 @@ func TestRequiredAnnotationsForNewFields(t *testing.T) { current, err := yamlloader.LoadYAML("", bytes.NewBuffer(currentFile)) require.NoError(t, err) - // Collect added paths. - var updatedFieldPaths []string + // Regenerating from the committed file must be a no-op: no new placeholders + // (a new undocumented config field) and no deletes/updates (stale + // placeholders not yet pruned). VisitDelete/VisitUpdate must be set or + // Override panics on any change. + var addedFieldPaths []string + var changedFieldPaths []string _, err = merge.Override(original, current, merge.OverrideVisitor{ VisitInsert: func(basePath dyn.Path, right dyn.Value) (dyn.Value, error) { - updatedFieldPaths = append(updatedFieldPaths, basePath.String()) + addedFieldPaths = append(addedFieldPaths, basePath.String()) + return right, nil + }, + VisitDelete: func(basePath dyn.Path, left dyn.Value) error { + changedFieldPaths = append(changedFieldPaths, basePath.String()) + return nil + }, + VisitUpdate: func(basePath dyn.Path, left, right dyn.Value) (dyn.Value, error) { + changedFieldPaths = append(changedFieldPaths, basePath.String()) return right, nil }, }) assert.NoError(t, err) - assert.Empty(t, updatedFieldPaths, "Missing JSON-schema descriptions for new config fields in bundle/internal/schema/annotations.yml:\n%s", strings.Join(updatedFieldPaths, "\n")) + assert.Empty(t, addedFieldPaths, "Missing JSON-schema descriptions for new config fields in bundle/internal/schema/annotations.yml:\n%s", strings.Join(addedFieldPaths, "\n")) + assert.Empty(t, changedFieldPaths, "annotations.yml is out of sync; run `./task generate-schema` and commit the result:\n%s", strings.Join(changedFieldPaths, "\n")) } // Checks that the annotations file only contains entries that match the diff --git a/bundle/schema/jsonschema.json b/bundle/schema/jsonschema.json index 0ce7f830e47..f54b6cfac1a 100644 --- a/bundle/schema/jsonschema.json +++ b/bundle/schema/jsonschema.json @@ -80,12 +80,15 @@ "type": "object", "properties": { "custom_description": { + "description": "Custom description for the alert. support mustache template.", "$ref": "#/$defs/string" }, "custom_summary": { + "description": "Custom summary for the alert. support mustache template.", "$ref": "#/$defs/string" }, "display_name": { + "description": "The display name of the alert.", "$ref": "#/$defs/string" }, "evaluation": { @@ -98,18 +101,22 @@ "$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.Lifecycle" }, "parent_path": { + "description": "The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated.", "$ref": "#/$defs/string" }, "permissions": { "$ref": "#/$defs/slice/github.com/databricks/cli/bundle/config/resources.Permission" }, "query_text": { + "description": "Text of the query to be run.", "$ref": "#/$defs/string" }, "run_as": { + "description": "Specifies the identity that will be used to run the alert.\nThis field allows you to configure alerts to run as a specific user or service principal.\n- For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.\n- For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.\nIf not specified, the alert will run as the request user.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.AlertV2RunAs" }, "run_as_user_name": { + "description": "The run as username or application ID of service principal.\nOn Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.\nDeprecated: Use `run_as` field instead. This field will be removed in a future release.", "$ref": "#/$defs/string", "deprecationMessage": "This field is deprecated", "deprecated": true @@ -118,6 +125,7 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.CronSchedule" }, "warehouse_id": { + "description": "ID of the SQL warehouse attached to the alert.", "$ref": "#/$defs/string" } }, @@ -145,11 +153,13 @@ "$ref": "#/$defs/string" }, "compute_max_instances": { + "description": "Maximum number of app instances. Must be set together with `compute_min_instances`.", "$ref": "#/$defs/int", "x-databricks-preview": "PRIVATE", "doNotSuggest": true }, "compute_min_instances": { + "description": "Minimum number of app instances. Must be set together with `compute_max_instances`.", "$ref": "#/$defs/int", "x-databricks-preview": "PRIVATE", "doNotSuggest": true @@ -298,9 +308,11 @@ "type": "object", "properties": { "comment": { + "description": "User-provided free-form text description.", "$ref": "#/$defs/string" }, "connection_name": { + "description": "The name of the connection to an external data source.", "$ref": "#/$defs/string" }, "grants": { @@ -314,21 +326,27 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.EncryptionSettings" }, "name": { + "description": "Name of catalog.", "$ref": "#/$defs/string" }, "options": { + "description": "A map of key-value properties attached to the securable.", "$ref": "#/$defs/map/string" }, "properties": { + "description": "A map of key-value properties attached to the securable.", "$ref": "#/$defs/map/string" }, "provider_name": { + "description": "The name of delta sharing provider.\n\nA Delta Sharing catalog is a catalog that is based on a Delta share on a remote sharing server.", "$ref": "#/$defs/string" }, "share_name": { + "description": "The name of the share under the share provider.", "$ref": "#/$defs/string" }, "storage_root": { + "description": "Storage root URL for managed tables within catalog.", "$ref": "#/$defs/string" } }, @@ -382,9 +400,11 @@ "$ref": "#/$defs/map/string" }, "data_security_mode": { + "description": "Data security mode decides what data governance model to use when accessing data\nfrom a cluster.\n\n* `DATA_SECURITY_MODE_AUTO`: Databricks will choose the most appropriate access mode depending on your compute configuration.\n* `DATA_SECURITY_MODE_STANDARD`: A secure cluster that can be shared by multiple users. Cluster users are fully isolated so that they cannot see each other’s data and credentials. Most data governance features are supported in this mode. But programming languages and cluster features might be limited.\n* `DATA_SECURITY_MODE_DEDICATED`: A secure cluster that can only be exclusively used by a single user specified in `single_user_name`. Most programming languages, cluster features and data governance features are available in this mode.\n\nThe following modes are legacy aliases for the above modes:\n\n* `USER_ISOLATION`: Legacy alias for `DATA_SECURITY_MODE_STANDARD`.\n* `SINGLE_USER`: Legacy alias for `DATA_SECURITY_MODE_DEDICATED`.\n\nThe following modes are deprecated starting with Databricks Runtime 15.0 and\nwill be removed for future Databricks Runtime versions:\n\n* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters.\n* `LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high concurrency clusters.\n* `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy Passthrough on standard clusters.\n* `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that doesn’t have UC nor passthrough enabled.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DataSecurityMode" }, "docker_image": { + "description": "Custom docker image BYOC", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DockerImage" }, "driver_instance_pool_id": { @@ -424,6 +444,7 @@ "$ref": "#/$defs/bool" }, "kind": { + "description": "The kind of compute described by this compute specification.\n\nDepending on `kind`, different validations and default values will be applied.\n\nClusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no specified `kind` do not.\n* [is_single_node](/api/workspace/clusters/create#is_single_node)\n* [use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime)\n\nBy using the [simple form](https://docs.databricks.com/compute/simple-form.html), your clusters are automatically using `kind = CLASSIC_PREVIEW`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.Kind" }, "lifecycle": { @@ -450,6 +471,7 @@ "$ref": "#/$defs/int" }, "runtime_engine": { + "description": "Determines the cluster's runtime engine, either standard or Photon.\n\nThis field is not compatible with legacy `spark_version` values that contain `-photon-`.\nRemove `-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.\n\nIf left unspecified, the runtime engine defaults to standard unless the spark_version\ncontains -photon-, in which case Photon will be used.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.RuntimeEngine" }, "single_user_name": { @@ -485,6 +507,7 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.NodeTypeFlexibility" }, "workload_type": { + "description": "Cluster Attributes showing for clusters workload types.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.WorkloadType" } }, @@ -711,21 +734,27 @@ "type": "object", "properties": { "comment": { + "description": "User-provided free-form text description.", "$ref": "#/$defs/string" }, "credential_name": { + "description": "Name of the storage credential used with this location.", "$ref": "#/$defs/string" }, "enable_file_events": { + "description": "Whether to enable file events on this external location. Default to `true`. Set to `false` to disable file events.\nThe actual applied value may differ due to server-side defaults; check `effective_enable_file_events` for the effective state.", "$ref": "#/$defs/bool" }, "encryption_details": { + "description": "Encryption options that apply to clients connecting to cloud storage.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.EncryptionDetails" }, "fallback": { + "description": "Indicates whether fallback mode is enabled for this external location. When fallback mode is enabled, the access to the location falls back to cluster credentials if UC credentials are not sufficient.", "$ref": "#/$defs/bool" }, "file_event_queue": { + "description": "File event queue settings. If `enable_file_events` is not `false`, must be defined and have exactly one of the documented properties.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.FileEventQueue" }, "grants": { @@ -735,15 +764,19 @@ "$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.Lifecycle" }, "name": { + "description": "Name of the external location.", "$ref": "#/$defs/string" }, "read_only": { + "description": "Indicates whether the external location is read-only.", "$ref": "#/$defs/bool" }, "skip_validation": { + "description": "Skips validation of the storage credential associated with the external location.", "$ref": "#/$defs/bool" }, "url": { + "description": "Path URL of the external location.", "$ref": "#/$defs/string" } }, @@ -837,6 +870,7 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.GitSource" }, "health": { + "description": "An optional set of health rules that can be defined for this job.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobsHealthRules" }, "job_clusters": { @@ -875,6 +909,7 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.QueueSettings" }, "run_as": { + "description": "The user or service principal that the job runs as, if specified in the request.\nThis field indicates the explicit configuration of `run_as` for the job.\nTo find the value in all cases, explicit or implicit, use `run_as_user_name`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobRunAs" }, "schedule": { @@ -1326,6 +1361,7 @@ "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/pipelines.Notifications" }, "parameters": { + "description": "Key/value map of default parameters to use for pipeline execution.\nMaximum total size: 10k characters (JSON format)", "$ref": "#/$defs/map/string" }, "permissions": { @@ -1346,6 +1382,7 @@ "$ref": "#/$defs/string" }, "run_as": { + "description": "Write-only setting, available only in Create/Update calls. Specifies the user or service principal that the pipeline runs as. If not specified, the pipeline runs as the user who created the pipeline.\n\nOnly `user_name` or `service_principal_name` can be specified. If both are specified, an error is thrown.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.RunAs" }, "schema": { @@ -1753,9 +1790,11 @@ "type": "object", "properties": { "aliases": { + "description": "List of aliases associated with the registered model", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/catalog.RegisteredModelAlias" }, "browse_only": { + "description": "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.", "$ref": "#/$defs/bool" }, "catalog_name": { @@ -1767,12 +1806,15 @@ "$ref": "#/$defs/string" }, "created_at": { + "description": "Creation timestamp of the registered model in milliseconds since the Unix epoch", "$ref": "#/$defs/int64" }, "created_by": { + "description": "The identifier of the user who created the registered model", "$ref": "#/$defs/string" }, "full_name": { + "description": "The three-level (fully qualified) name of the registered model", "$ref": "#/$defs/string" }, "grants": { @@ -1783,6 +1825,7 @@ "$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.Lifecycle" }, "metastore_id": { + "description": "The unique identifier of the metastore", "$ref": "#/$defs/string" }, "name": { @@ -1790,6 +1833,7 @@ "$ref": "#/$defs/string" }, "owner": { + "description": "The identifier of the user who owns the registered model", "$ref": "#/$defs/string" }, "schema_name": { @@ -1801,9 +1845,11 @@ "$ref": "#/$defs/string" }, "updated_at": { + "description": "Last-update timestamp of the registered model in milliseconds since the Unix epoch", "$ref": "#/$defs/int64" }, "updated_by": { + "description": "The identifier of the user who updated the registered model last time", "$ref": "#/$defs/string" } }, @@ -1841,6 +1887,7 @@ "$ref": "#/$defs/string" }, "properties": { + "description": "A map of key-value properties attached to the securable.", "$ref": "#/$defs/map/string" }, "storage_root": { @@ -2003,6 +2050,7 @@ "$ref": "#/$defs/slice/github.com/databricks/cli/bundle/config/resources.SqlWarehousePermission" }, "spot_instance_policy": { + "description": "Configurations whether the endpoint should use spot instances.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.SpotInstancePolicy" }, "tags": { @@ -2010,6 +2058,7 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.EndpointTags" }, "warehouse_type": { + "description": "Warehouse type: `PRO` or `CLASSIC`. If you want to use serverless compute,\nyou must set to `PRO` and also set the field `enable_serverless_compute` to `true`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.CreateWarehouseRequestWarehouseType" } }, @@ -2056,18 +2105,22 @@ "type": "object", "properties": { "database_instance_name": { + "description": "Name of the target database instance. This is required when creating synced database tables in standard catalogs.\nThis is optional when creating synced database tables in registered catalogs. If this field is specified\nwhen creating synced database tables in registered catalogs, the database instance name MUST\nmatch that of the registered catalog (or the request will be rejected).", "$ref": "#/$defs/string" }, "lifecycle": { "$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.Lifecycle" }, "logical_database_name": { + "description": "Target Postgres database object (logical database) name for this table.\n\nWhen creating a synced table in a registered Postgres catalog, the\ntarget Postgres database name is inferred to be that of the registered catalog.\nIf this field is specified in this scenario, the Postgres database name MUST\nmatch that of the registered catalog (or the request will be rejected).\n\nWhen creating a synced table in a standard catalog, this field is required.\nIn this scenario, specifying this field will allow targeting an arbitrary postgres database.\nNote that this has implications for the `create_database_objects_is_missing` field in `spec`.", "$ref": "#/$defs/string" }, "name": { + "description": "Full three-part (catalog, schema, table) name of the table.", "$ref": "#/$defs/string" }, "spec": { + "description": "Specification of a synced database table.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/database.SyncedTableSpec" } }, @@ -2088,24 +2141,29 @@ "type": "object", "properties": { "budget_policy_id": { + "description": "The budget policy id to be applied", "$ref": "#/$defs/string" }, "endpoint_type": { + "description": "Type of endpoint", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.EndpointType" }, "lifecycle": { "$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.Lifecycle" }, "name": { + "description": "Name of the AI Search endpoint", "$ref": "#/$defs/string" }, "permissions": { "$ref": "#/$defs/slice/github.com/databricks/cli/bundle/config/resources.Permission" }, "target_qps": { + "description": "Target QPS for the endpoint. Mutually exclusive with num_replicas.\nThe actual replica count is calculated at index creation/sync time based on this value.\nBest-effort target; the system does not guarantee this QPS will be achieved.", "$ref": "#/$defs/int64" }, "usage_policy_id": { + "description": "The usage policy id to be applied once we've migrated to usage policies", "$ref": "#/$defs/string", "x-databricks-preview": "PRIVATE", "doNotSuggest": true @@ -2129,30 +2187,37 @@ "type": "object", "properties": { "delta_sync_index_spec": { + "description": "Specification for Delta Sync Index. Required if `index_type` is `DELTA_SYNC`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.DeltaSyncVectorIndexSpecRequest" }, "direct_access_index_spec": { + "description": "Specification for Direct Vector Access Index. Required if `index_type` is `DIRECT_ACCESS`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.DirectAccessVectorIndexSpec" }, "endpoint_name": { + "description": "Name of the endpoint to be used for serving the index", "$ref": "#/$defs/string" }, "grants": { "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/catalog.PrivilegeAssignment" }, "index_subtype": { + "description": "The subtype of the index. Use `HYBRID` or `FULL_TEXT`. `VECTOR` is not supported.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.IndexSubtype" }, "index_type": { + "description": "There are 2 types of AI Search indexes:\n- `DELTA_SYNC`: An index that automatically syncs with a source Delta Table, automatically and incrementally updating the index as the underlying data in the Delta Table changes.\n- `DIRECT_ACCESS`: An index that supports direct read and write of vectors and metadata through our REST and SDK APIs. With this model, the user manages index updates.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.VectorIndexType" }, "lifecycle": { "$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.Lifecycle" }, "name": { + "description": "Name of the index", "$ref": "#/$defs/string" }, "primary_key": { + "description": "Primary key of the index", "$ref": "#/$defs/string" } }, @@ -2203,6 +2268,7 @@ "$ref": "#/$defs/string" }, "volume_type": { + "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.VolumeType" } }, @@ -3038,6 +3104,7 @@ "$ref": "#/$defs/slice/string" }, "deployment_id": { + "description": "The unique id of the deployment.", "$ref": "#/$defs/string" }, "env_vars": { @@ -3049,9 +3116,11 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.GitSource" }, "mode": { + "description": "The mode of which the deployment will manage the source code.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentMode" }, "source_code_path": { + "description": "The workspace file system path of the source code used to create the app deployment. This is different from\n`deployment_artifacts.source_code_path`, which is the path used by the deployed app. The former refers\nto the original source code location of the app in the workspace during deployment creation, whereas\nthe latter provides a system generated stable snapshotted source code path used by the deployment.", "$ref": "#/$defs/string" } }, @@ -3069,6 +3138,7 @@ "type": "object", "properties": { "source_code_path": { + "description": "The snapshotted workspace file system path of the source code loaded by the deployed app.", "$ref": "#/$defs/string" } }, @@ -3362,9 +3432,11 @@ "type": "object", "properties": { "id": { + "description": "Id of the job to grant permission on.", "$ref": "#/$defs/string" }, "permission": { + "description": "Permissions to grant on the Job. Supported permissions are: \"CAN_MANAGE\", \"IS_OWNER\", \"CAN_MANAGE_RUN\", \"CAN_VIEW\".", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceJobJobPermission" } }, @@ -3440,12 +3512,15 @@ "type": "object", "properties": { "key": { + "description": "Key of the secret to grant permission on.", "$ref": "#/$defs/string" }, "permission": { + "description": "Permission to grant on the secret scope. For secrets, only one permission is allowed. Permission must be one of: \"READ\", \"WRITE\", \"MANAGE\".", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceSecretSecretPermission" }, "scope": { + "description": "Scope of the secret to grant permission on.", "$ref": "#/$defs/string" } }, @@ -3485,9 +3560,11 @@ "type": "object", "properties": { "name": { + "description": "Name of the serving endpoint to grant permission on.", "$ref": "#/$defs/string" }, "permission": { + "description": "Permission to grant on the serving endpoint. Supported permissions are: \"CAN_MANAGE\", \"CAN_QUERY\", \"CAN_VIEW\".", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceServingEndpointServingEndpointPermission" } }, @@ -3525,9 +3602,11 @@ "type": "object", "properties": { "id": { + "description": "Id of the SQL warehouse to grant permission on.", "$ref": "#/$defs/string" }, "permission": { + "description": "Permission to grant on the SQL warehouse. Supported permissions are: \"CAN_MANAGE\", \"CAN_USE\", \"IS_OWNER\".", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceSqlWarehouseSqlWarehousePermission" } }, @@ -3840,6 +3919,7 @@ "type": "object", "properties": { "queue_url": { + "description": "The AQS queue url in the format https://sqs.{region}.amazonaws.com/{account id}/{queue name}.\nOnly required for provided_sqs.", "$ref": "#/$defs/string" } }, @@ -3883,12 +3963,15 @@ "type": "object", "properties": { "queue_url": { + "description": "The AQS queue url in the format https://{storage account}.queue.core.windows.net/{queue name}\nOnly required for provided_aqs.", "$ref": "#/$defs/string" }, "resource_group": { + "description": "Optional resource group for the queue, event grid subscription, and external location storage\naccount.\nOnly required for locations with a service principal storage credential", "$ref": "#/$defs/string" }, "subscription_id": { + "description": "Optional subscription id for the queue, event grid subscription, and external location storage\naccount.\nRequired for locations with a service principal storage credential", "$ref": "#/$defs/string" } }, @@ -3907,6 +3990,7 @@ "description": "Encryption options that apply to clients connecting to cloud storage.", "properties": { "sse_encryption_details": { + "description": "Server-Side Encryption properties for clients communicating with AWS s3.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.SseEncryptionDetails" } }, @@ -3983,6 +4067,7 @@ "type": "object", "properties": { "subscription_name": { + "description": "The Pub/Sub subscription name in the format projects/{project}/subscriptions/{subscription name}.\nOnly required for provided_pubsub.", "$ref": "#/$defs/string" } }, @@ -4362,15 +4447,19 @@ "$ref": "#/$defs/string" }, "catalog_name": { + "description": "The name of the catalog containing the model version", "$ref": "#/$defs/string" }, "id": { + "description": "The unique identifier of the alias", "$ref": "#/$defs/string" }, "model_name": { + "description": "The name of the parent registered model of the model version, relative to parent schema", "$ref": "#/$defs/string" }, "schema_name": { + "description": "The name of the schema containing the model version, relative to parent catalog", "$ref": "#/$defs/string" }, "version_num": { @@ -4393,9 +4482,11 @@ "description": "Server-Side Encryption properties for clients communicating with AWS s3.", "properties": { "algorithm": { + "description": "Sets the value of the 'x-amz-server-side-encryption' header in S3 request.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.SseEncryptionDetailsAlgorithm" }, "aws_kms_key_arn": { + "description": "Optional. The ARN of the SSE-KMS key used with the S3 location, when algorithm = \"SSE-KMS\".\nSets the value of the 'x-amz-server-side-encryption-aws-kms-key-id' header.", "$ref": "#/$defs/string" } }, @@ -4491,6 +4582,7 @@ "description": "Attributes set during cluster creation which are related to Amazon Web Services.", "properties": { "availability": { + "description": "Availability type used for all subsequent nodes past the `first_on_demand` ones.\n\nNote: If `first_on_demand` is zero, this availability type will be used for the entire cluster.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.AwsAvailability" }, "ebs_volume_count": { @@ -4510,6 +4602,7 @@ "$ref": "#/$defs/int" }, "ebs_volume_type": { + "description": "The type of EBS volumes that will be launched with this cluster.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.EbsVolumeType" }, "first_on_demand": { @@ -4561,6 +4654,7 @@ "description": "Attributes set during cluster creation which are related to Microsoft Azure.", "properties": { "availability": { + "description": "Availability type used for all subsequent nodes past the `first_on_demand` ones.\nNote: If `first_on_demand` is zero, this availability\ntype will be used for the entire cluster.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.AzureAvailability" }, "first_on_demand": { @@ -4706,9 +4800,11 @@ "$ref": "#/$defs/map/string" }, "data_security_mode": { + "description": "Data security mode decides what data governance model to use when accessing data\nfrom a cluster.\n\n* `DATA_SECURITY_MODE_AUTO`: Databricks will choose the most appropriate access mode depending on your compute configuration.\n* `DATA_SECURITY_MODE_STANDARD`: A secure cluster that can be shared by multiple users. Cluster users are fully isolated so that they cannot see each other’s data and credentials. Most data governance features are supported in this mode. But programming languages and cluster features might be limited.\n* `DATA_SECURITY_MODE_DEDICATED`: A secure cluster that can only be exclusively used by a single user specified in `single_user_name`. Most programming languages, cluster features and data governance features are available in this mode.\n\nThe following modes are legacy aliases for the above modes:\n\n* `USER_ISOLATION`: Legacy alias for `DATA_SECURITY_MODE_STANDARD`.\n* `SINGLE_USER`: Legacy alias for `DATA_SECURITY_MODE_DEDICATED`.\n\nThe following modes are deprecated starting with Databricks Runtime 15.0 and\nwill be removed for future Databricks Runtime versions:\n\n* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters.\n* `LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high concurrency clusters.\n* `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy Passthrough on standard clusters.\n* `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that doesn’t have UC nor passthrough enabled.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DataSecurityMode" }, "docker_image": { + "description": "Custom docker image BYOC", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DockerImage" }, "driver_instance_pool_id": { @@ -4748,6 +4844,7 @@ "$ref": "#/$defs/bool" }, "kind": { + "description": "The kind of compute described by this compute specification.\n\nDepending on `kind`, different validations and default values will be applied.\n\nClusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no specified `kind` do not.\n* [is_single_node](/api/workspace/clusters/create#is_single_node)\n* [use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime)\n\nBy using the [simple form](https://docs.databricks.com/compute/simple-form.html), your clusters are automatically using `kind = CLASSIC_PREVIEW`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.Kind" }, "node_type_id": { @@ -4767,6 +4864,7 @@ "$ref": "#/$defs/int" }, "runtime_engine": { + "description": "Determines the cluster's runtime engine, either standard or Photon.\n\nThis field is not compatible with legacy `spark_version` values that contain `-photon-`.\nRemove `-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.\n\nIf left unspecified, the runtime engine defaults to standard unless the spark_version\ncontains -photon-, in which case Photon will be used.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.RuntimeEngine" }, "single_user_name": { @@ -4802,6 +4900,7 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.NodeTypeFlexibility" }, "workload_type": { + "description": "Cluster Attributes showing for clusters workload types.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.WorkloadType" } }, @@ -4903,6 +5002,7 @@ "type": "object", "properties": { "basic_auth": { + "description": "Basic auth with username and password", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DockerBasicAuth" }, "url": { @@ -4959,6 +5059,7 @@ "$ref": "#/$defs/string" }, "java_dependencies": { + "description": "List of java dependencies. Each dependency is a string representing a java library path. For example: `/Volumes/path/to/test.jar`.", "$ref": "#/$defs/slice/string" } }, @@ -4977,6 +5078,7 @@ "description": "Attributes set during cluster creation which are related to GCP.", "properties": { "availability": { + "description": "This field determines whether the spark executors will be scheduled to run on preemptible\nVMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.GcpAvailability" }, "boot_disk_size": { @@ -6111,6 +6213,7 @@ "description": "Configures the Lakeview Dashboard job task type.", "properties": { "dashboard_id": { + "description": "The identifier of the dashboard to refresh.", "$ref": "#/$defs/string" }, "filters": { @@ -6120,6 +6223,7 @@ "doNotSuggest": true }, "subscription": { + "description": "Optional: subscription configuration for sending the dashboard snapshot.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.Subscription" }, "warehouse_id": { @@ -6598,6 +6702,7 @@ "$ref": "#/$defs/string" }, "spec": { + "description": "The environment entity used to preserve serverless environment side panel, jobs' environment for non-notebook task, and SDP's environment for classic and serverless pipelines.\nIn this minimal environment spec, only pip and java dependencies are supported.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.Environment" } }, @@ -6800,9 +6905,11 @@ "type": "object", "properties": { "metric": { + "description": "Specifies the health metric that is being evaluated for a particular health rule.\n\n* `RUN_DURATION_SECONDS`: Expected total time for a run in seconds.\n* `STREAMING_BACKLOG_BYTES`: An estimate of the maximum bytes of data waiting to be consumed across all streams. This metric is in Public Preview.\n* `STREAMING_BACKLOG_RECORDS`: An estimate of the maximum offset lag across all streams. This metric is in Public Preview.\n* `STREAMING_BACKLOG_SECONDS`: An estimate of the maximum consumer delay across all streams. This metric is in Public Preview.\n* `STREAMING_BACKLOG_FILES`: An estimate of the maximum number of outstanding files across all streams. This metric is in Public Preview.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobsHealthMetric" }, "op": { + "description": "Specifies the operator used to compare the health metric value with the specified threshold.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobsHealthOperator" }, "value": { @@ -7712,6 +7819,7 @@ "$ref": "#/$defs/bool" }, "subscribers": { + "description": "The list of subscribers to send the snapshot of the dashboard to.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/jobs.SubscriptionSubscriber" } }, @@ -7729,9 +7837,11 @@ "type": "object", "properties": { "destination_id": { + "description": "A snapshot of the dashboard will be sent to the destination when the `destination_id` field is present.", "$ref": "#/$defs/string" }, "user_name": { + "description": "A snapshot of the dashboard will be sent to the user's email when the `user_name` field is present.", "$ref": "#/$defs/string" } }, @@ -7856,6 +7966,7 @@ "doNotSuggest": true }, "health": { + "description": "An optional set of health rules that can be defined for this job.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobsHealthRules" }, "job_cluster_key": { @@ -8904,6 +9015,7 @@ "$ref": "#/$defs/string" }, "netsuite_jar_path": { + "description": "Netsuite only configuration. When the field is set for a netsuite connector,\nthe jar stored in the field will be validated and added to the classpath of\npipeline's cluster.", "$ref": "#/$defs/string", "x-databricks-preview": "PRIVATE", "doNotSuggest": true @@ -10105,6 +10217,7 @@ "$ref": "#/$defs/slice/string" }, "workday_report_parameters": { + "description": "(Optional) Additional custom parameters for Workday Report", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.IngestionPipelineDefinitionWorkdayReportParameters", "x-databricks-preview": "PRIVATE", "doNotSuggest": true @@ -11726,6 +11839,7 @@ "type": "object", "properties": { "aggregation": { + "description": "If not set, the behavior is equivalent to using `First row` in the UI.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.Aggregation" }, "display": { @@ -12014,21 +12128,27 @@ "$ref": "#/$defs/slice/string" }, "columns_to_sync": { + "description": "[Optional] Select the columns to sync with the vector index. If you leave this field blank, all columns\nfrom the source table are synced with the index. The primary key column and embedding source column or\nembedding vector column are always synced.", "$ref": "#/$defs/slice/string" }, "embedding_source_columns": { + "description": "The columns that contain the embedding source.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/vectorsearch.EmbeddingSourceColumn" }, "embedding_vector_columns": { + "description": "The columns that contain the embedding vectors.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/vectorsearch.EmbeddingVectorColumn" }, "embedding_writeback_table": { + "description": "[Optional] Name of the Delta table to sync the vector index contents and computed embeddings to.", "$ref": "#/$defs/string" }, "pipeline_type": { + "description": "Pipeline execution mode.\n- `TRIGGERED`: If the pipeline uses the triggered execution mode, the system stops processing after successfully refreshing the source table in the pipeline once, ensuring the table is updated based on the data available when the update started.\n- `CONTINUOUS`: If the pipeline uses continuous execution, the pipeline processes new data as it arrives in the source table to keep vector index fresh.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.PipelineType" }, "source_table": { + "description": "The name of the source table.", "$ref": "#/$defs/string" } }, @@ -12046,12 +12166,15 @@ "type": "object", "properties": { "embedding_source_columns": { + "description": "The columns that contain the embedding source. The format should be array[double].", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/vectorsearch.EmbeddingSourceColumn" }, "embedding_vector_columns": { + "description": "The columns that contain the embedding vectors. The format should be array[double].", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/vectorsearch.EmbeddingVectorColumn" }, "schema_json": { + "description": "The schema of the index in JSON format.\nSupported types are `integer`, `long`, `float`, `double`, `boolean`, `string`, `date`, `timestamp`.\nSupported types for vector column: `array\u003cfloat\u003e`, `array\u003cdouble\u003e`,`.", "$ref": "#/$defs/string" } }, @@ -12069,12 +12192,15 @@ "type": "object", "properties": { "embedding_model_endpoint_name": { + "description": "Name of the embedding model endpoint, used by default for both ingestion and querying.", "$ref": "#/$defs/string" }, "model_endpoint_name_for_query": { + "description": "Name of the embedding model endpoint which, if specified, is used for querying (not ingestion).", "$ref": "#/$defs/string" }, "name": { + "description": "Name of the column", "$ref": "#/$defs/string" } }, @@ -12092,9 +12218,11 @@ "type": "object", "properties": { "embedding_dimension": { + "description": "Dimension of the embedding vector", "$ref": "#/$defs/int" }, "name": { + "description": "Name of the column", "$ref": "#/$defs/string" } }, diff --git a/bundle/schema/jsonschema_for_docs.json b/bundle/schema/jsonschema_for_docs.json index 522f8e38acf..cf319a71937 100644 --- a/bundle/schema/jsonschema_for_docs.json +++ b/bundle/schema/jsonschema_for_docs.json @@ -22,14 +22,17 @@ "type": "object", "properties": { "custom_description": { + "description": "Custom description for the alert. support mustache template.", "$ref": "#/$defs/string", "x-since-version": "v0.279.0" }, "custom_summary": { + "description": "Custom summary for the alert. support mustache template.", "$ref": "#/$defs/string", "x-since-version": "v0.279.0" }, "display_name": { + "description": "The display name of the alert.", "$ref": "#/$defs/string", "x-since-version": "v0.279.0" }, @@ -46,6 +49,7 @@ "x-since-version": "v0.279.0" }, "parent_path": { + "description": "The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated.", "$ref": "#/$defs/string", "x-since-version": "v0.279.0" }, @@ -54,14 +58,17 @@ "x-since-version": "v0.279.0" }, "query_text": { + "description": "Text of the query to be run.", "$ref": "#/$defs/string", "x-since-version": "v0.279.0" }, "run_as": { + "description": "Specifies the identity that will be used to run the alert.\nThis field allows you to configure alerts to run as a specific user or service principal.\n- For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.\n- For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.\nIf not specified, the alert will run as the request user.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.AlertV2RunAs", "x-since-version": "v0.279.0" }, "run_as_user_name": { + "description": "The run as username or application ID of service principal.\nOn Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.\nDeprecated: Use `run_as` field instead. This field will be removed in a future release.", "$ref": "#/$defs/string", "deprecationMessage": "This field is deprecated", "x-since-version": "v0.279.0", @@ -72,6 +79,7 @@ "x-since-version": "v0.279.0" }, "warehouse_id": { + "description": "ID of the SQL warehouse attached to the alert.", "$ref": "#/$defs/string", "x-since-version": "v0.279.0" } @@ -93,12 +101,14 @@ "x-since-version": "v0.243.0" }, "compute_max_instances": { + "description": "Maximum number of app instances. Must be set together with `compute_min_instances`.", "$ref": "#/$defs/int", "x-databricks-preview": "PRIVATE", "doNotSuggest": true, "x-since-version": "v1.2.0" }, "compute_min_instances": { + "description": "Minimum number of app instances. Must be set together with `compute_max_instances`.", "$ref": "#/$defs/int", "x-databricks-preview": "PRIVATE", "doNotSuggest": true, @@ -239,10 +249,12 @@ "type": "object", "properties": { "comment": { + "description": "User-provided free-form text description.", "$ref": "#/$defs/string", "x-since-version": "v0.287.0" }, "connection_name": { + "description": "The name of the connection to an external data source.", "$ref": "#/$defs/string", "x-since-version": "v0.287.0" }, @@ -260,26 +272,32 @@ "x-since-version": "v0.298.0" }, "name": { + "description": "Name of catalog.", "$ref": "#/$defs/string", "x-since-version": "v0.287.0" }, "options": { + "description": "A map of key-value properties attached to the securable.", "$ref": "#/$defs/map/string", "x-since-version": "v0.287.0" }, "properties": { + "description": "A map of key-value properties attached to the securable.", "$ref": "#/$defs/map/string", "x-since-version": "v0.287.0" }, "provider_name": { + "description": "The name of delta sharing provider.\n\nA Delta Sharing catalog is a catalog that is based on a Delta share on a remote sharing server.", "$ref": "#/$defs/string", "x-since-version": "v0.287.0" }, "share_name": { + "description": "The name of the share under the share provider.", "$ref": "#/$defs/string", "x-since-version": "v0.287.0" }, "storage_root": { + "description": "Storage root URL for managed tables within catalog.", "$ref": "#/$defs/string", "x-since-version": "v0.287.0" } @@ -334,10 +352,12 @@ "x-since-version": "v0.229.0" }, "data_security_mode": { + "description": "Data security mode decides what data governance model to use when accessing data\nfrom a cluster.\n\n* `DATA_SECURITY_MODE_AUTO`: Databricks will choose the most appropriate access mode depending on your compute configuration.\n* `DATA_SECURITY_MODE_STANDARD`: A secure cluster that can be shared by multiple users. Cluster users are fully isolated so that they cannot see each other’s data and credentials. Most data governance features are supported in this mode. But programming languages and cluster features might be limited.\n* `DATA_SECURITY_MODE_DEDICATED`: A secure cluster that can only be exclusively used by a single user specified in `single_user_name`. Most programming languages, cluster features and data governance features are available in this mode.\n\nThe following modes are legacy aliases for the above modes:\n\n* `USER_ISOLATION`: Legacy alias for `DATA_SECURITY_MODE_STANDARD`.\n* `SINGLE_USER`: Legacy alias for `DATA_SECURITY_MODE_DEDICATED`.\n\nThe following modes are deprecated starting with Databricks Runtime 15.0 and\nwill be removed for future Databricks Runtime versions:\n\n* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters.\n* `LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high concurrency clusters.\n* `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy Passthrough on standard clusters.\n* `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that doesn’t have UC nor passthrough enabled.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DataSecurityMode", "x-since-version": "v0.229.0" }, "docker_image": { + "description": "Custom docker image BYOC", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DockerImage", "x-since-version": "v0.229.0" }, @@ -387,6 +407,7 @@ "x-since-version": "v0.237.0" }, "kind": { + "description": "The kind of compute described by this compute specification.\n\nDepending on `kind`, different validations and default values will be applied.\n\nClusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no specified `kind` do not.\n* [is_single_node](/api/workspace/clusters/create#is_single_node)\n* [use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime)\n\nBy using the [simple form](https://docs.databricks.com/compute/simple-form.html), your clusters are automatically using `kind = CLASSIC_PREVIEW`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.Kind", "x-since-version": "v0.237.0" }, @@ -420,6 +441,7 @@ "x-since-version": "v0.257.0" }, "runtime_engine": { + "description": "Determines the cluster's runtime engine, either standard or Photon.\n\nThis field is not compatible with legacy `spark_version` values that contain `-photon-`.\nRemove `-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.\n\nIf left unspecified, the runtime engine defaults to standard unless the spark_version\ncontains -photon-, in which case Photon will be used.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.RuntimeEngine", "x-since-version": "v0.229.0" }, @@ -464,6 +486,7 @@ "x-since-version": "v0.285.0" }, "workload_type": { + "description": "Cluster Attributes showing for clusters workload types.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.WorkloadType", "x-since-version": "v0.229.0" } @@ -688,26 +711,32 @@ "type": "object", "properties": { "comment": { + "description": "User-provided free-form text description.", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" }, "credential_name": { + "description": "Name of the storage credential used with this location.", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" }, "enable_file_events": { + "description": "Whether to enable file events on this external location. Default to `true`. Set to `false` to disable file events.\nThe actual applied value may differ due to server-side defaults; check `effective_enable_file_events` for the effective state.", "$ref": "#/$defs/bool", "x-since-version": "v0.289.0" }, "encryption_details": { + "description": "Encryption options that apply to clients connecting to cloud storage.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.EncryptionDetails", "x-since-version": "v0.289.0" }, "fallback": { + "description": "Indicates whether fallback mode is enabled for this external location. When fallback mode is enabled, the access to the location falls back to cluster credentials if UC credentials are not sufficient.", "$ref": "#/$defs/bool", "x-since-version": "v0.289.0" }, "file_event_queue": { + "description": "File event queue settings. If `enable_file_events` is not `false`, must be defined and have exactly one of the documented properties.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.FileEventQueue", "x-since-version": "v0.289.0" }, @@ -720,18 +749,22 @@ "x-since-version": "v0.289.0" }, "name": { + "description": "Name of the external location.", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" }, "read_only": { + "description": "Indicates whether the external location is read-only.", "$ref": "#/$defs/bool", "x-since-version": "v0.289.0" }, "skip_validation": { + "description": "Skips validation of the storage credential associated with the external location.", "$ref": "#/$defs/bool", "x-since-version": "v0.289.0" }, "url": { + "description": "Path URL of the external location.", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" } @@ -825,6 +858,7 @@ "x-since-version": "v0.229.0" }, "health": { + "description": "An optional set of health rules that can be defined for this job.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobsHealthRules", "x-since-version": "v0.229.0" }, @@ -873,6 +907,7 @@ "x-since-version": "v0.229.0" }, "run_as": { + "description": "The user or service principal that the job runs as, if specified in the request.\nThis field indicates the explicit configuration of `run_as` for the job.\nTo find the value in all cases, explicit or implicit, use `run_as_user_name`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobRunAs", "x-since-version": "v0.229.0" }, @@ -1307,6 +1342,7 @@ "x-since-version": "v0.229.0" }, "parameters": { + "description": "Key/value map of default parameters to use for pipeline execution.\nMaximum total size: 10k characters (JSON format)", "$ref": "#/$defs/map/string", "x-since-version": "v1.2.0" }, @@ -1332,6 +1368,7 @@ "x-since-version": "v0.253.0" }, "run_as": { + "description": "Write-only setting, available only in Create/Update calls. Specifies the user or service principal that the pipeline runs as. If not specified, the pipeline runs as the user who created the pipeline.\n\nOnly `user_name` or `service_principal_name` can be specified. If both are specified, an error is thrown.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.RunAs", "x-since-version": "v0.241.0" }, @@ -1754,10 +1791,12 @@ "type": "object", "properties": { "aliases": { + "description": "List of aliases associated with the registered model", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/catalog.RegisteredModelAlias", "x-since-version": "v0.273.0" }, "browse_only": { + "description": "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.", "$ref": "#/$defs/bool", "x-since-version": "v0.273.0" }, @@ -1772,14 +1811,17 @@ "x-since-version": "v0.229.0" }, "created_at": { + "description": "Creation timestamp of the registered model in milliseconds since the Unix epoch", "$ref": "#/$defs/int64", "x-since-version": "v0.273.0" }, "created_by": { + "description": "The identifier of the user who created the registered model", "$ref": "#/$defs/string", "x-since-version": "v0.273.0" }, "full_name": { + "description": "The three-level (fully qualified) name of the registered model", "$ref": "#/$defs/string", "x-since-version": "v0.273.0" }, @@ -1793,6 +1835,7 @@ "x-since-version": "v0.268.0" }, "metastore_id": { + "description": "The unique identifier of the metastore", "$ref": "#/$defs/string", "x-since-version": "v0.273.0" }, @@ -1802,6 +1845,7 @@ "x-since-version": "v0.229.0" }, "owner": { + "description": "The identifier of the user who owns the registered model", "$ref": "#/$defs/string", "x-since-version": "v0.273.0" }, @@ -1816,10 +1860,12 @@ "x-since-version": "v0.229.0" }, "updated_at": { + "description": "Last-update timestamp of the registered model in milliseconds since the Unix epoch", "$ref": "#/$defs/int64", "x-since-version": "v0.273.0" }, "updated_by": { + "description": "The identifier of the user who updated the registered model last time", "$ref": "#/$defs/string", "x-since-version": "v0.273.0" } @@ -1855,6 +1901,7 @@ "x-since-version": "v0.229.0" }, "properties": { + "description": "A map of key-value properties attached to the securable.", "$ref": "#/$defs/map/string", "x-since-version": "v0.229.0" }, @@ -2008,6 +2055,7 @@ "x-since-version": "v0.260.0" }, "spot_instance_policy": { + "description": "Configurations whether the endpoint should use spot instances.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.SpotInstancePolicy", "x-since-version": "v0.260.0" }, @@ -2017,6 +2065,7 @@ "x-since-version": "v0.260.0" }, "warehouse_type": { + "description": "Warehouse type: `PRO` or `CLASSIC`. If you want to use serverless compute,\nyou must set to `PRO` and also set the field `enable_serverless_compute` to `true`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.CreateWarehouseRequestWarehouseType", "x-since-version": "v0.260.0" } @@ -2052,6 +2101,7 @@ "type": "object", "properties": { "database_instance_name": { + "description": "Name of the target database instance. This is required when creating synced database tables in standard catalogs.\nThis is optional when creating synced database tables in registered catalogs. If this field is specified\nwhen creating synced database tables in registered catalogs, the database instance name MUST\nmatch that of the registered catalog (or the request will be rejected).", "$ref": "#/$defs/string", "x-since-version": "v0.266.0" }, @@ -2060,14 +2110,17 @@ "x-since-version": "v0.268.0" }, "logical_database_name": { + "description": "Target Postgres database object (logical database) name for this table.\n\nWhen creating a synced table in a registered Postgres catalog, the\ntarget Postgres database name is inferred to be that of the registered catalog.\nIf this field is specified in this scenario, the Postgres database name MUST\nmatch that of the registered catalog (or the request will be rejected).\n\nWhen creating a synced table in a standard catalog, this field is required.\nIn this scenario, specifying this field will allow targeting an arbitrary postgres database.\nNote that this has implications for the `create_database_objects_is_missing` field in `spec`.", "$ref": "#/$defs/string", "x-since-version": "v0.266.0" }, "name": { + "description": "Full three-part (catalog, schema, table) name of the table.", "$ref": "#/$defs/string", "x-since-version": "v0.266.0" }, "spec": { + "description": "Specification of a synced database table.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/database.SyncedTableSpec", "x-since-version": "v0.266.0" } @@ -2081,10 +2134,12 @@ "type": "object", "properties": { "budget_policy_id": { + "description": "The budget policy id to be applied", "$ref": "#/$defs/string", "x-since-version": "v0.298.0" }, "endpoint_type": { + "description": "Type of endpoint", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.EndpointType", "x-since-version": "v0.298.0" }, @@ -2093,6 +2148,7 @@ "x-since-version": "v0.298.0" }, "name": { + "description": "Name of the AI Search endpoint", "$ref": "#/$defs/string", "x-since-version": "v0.298.0" }, @@ -2101,10 +2157,12 @@ "x-since-version": "v0.298.0" }, "target_qps": { + "description": "Target QPS for the endpoint. Mutually exclusive with num_replicas.\nThe actual replica count is calculated at index creation/sync time based on this value.\nBest-effort target; the system does not guarantee this QPS will be achieved.", "$ref": "#/$defs/int64", "x-since-version": "v0.299.2" }, "usage_policy_id": { + "description": "The usage policy id to be applied once we've migrated to usage policies", "$ref": "#/$defs/string", "x-databricks-preview": "PRIVATE", "doNotSuggest": true, @@ -2121,14 +2179,17 @@ "type": "object", "properties": { "delta_sync_index_spec": { + "description": "Specification for Delta Sync Index. Required if `index_type` is `DELTA_SYNC`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.DeltaSyncVectorIndexSpecRequest", "x-since-version": "v1.1.0" }, "direct_access_index_spec": { + "description": "Specification for Direct Vector Access Index. Required if `index_type` is `DIRECT_ACCESS`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.DirectAccessVectorIndexSpec", "x-since-version": "v1.1.0" }, "endpoint_name": { + "description": "Name of the endpoint to be used for serving the index", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" }, @@ -2137,10 +2198,12 @@ "x-since-version": "v1.1.0" }, "index_subtype": { + "description": "The subtype of the index. Use `HYBRID` or `FULL_TEXT`. `VECTOR` is not supported.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.IndexSubtype", "x-since-version": "v1.1.0" }, "index_type": { + "description": "There are 2 types of AI Search indexes:\n- `DELTA_SYNC`: An index that automatically syncs with a source Delta Table, automatically and incrementally updating the index as the underlying data in the Delta Table changes.\n- `DIRECT_ACCESS`: An index that supports direct read and write of vectors and metadata through our REST and SDK APIs. With this model, the user manages index updates.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.VectorIndexType", "x-since-version": "v1.1.0" }, @@ -2149,10 +2212,12 @@ "x-since-version": "v1.1.0" }, "name": { + "description": "Name of the index", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" }, "primary_key": { + "description": "Primary key of the index", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" } @@ -2203,6 +2268,7 @@ "x-since-version": "v0.236.0" }, "volume_type": { + "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.VolumeType", "x-since-version": "v0.236.0" } @@ -3016,6 +3082,7 @@ "x-since-version": "v0.283.0" }, "deployment_id": { + "description": "The unique id of the deployment.", "$ref": "#/$defs/string", "x-since-version": "v0.239.0" }, @@ -3030,10 +3097,12 @@ "x-since-version": "v0.283.0" }, "mode": { + "description": "The mode of which the deployment will manage the source code.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentMode", "x-since-version": "v0.239.0" }, "source_code_path": { + "description": "The workspace file system path of the source code used to create the app deployment. This is different from\n`deployment_artifacts.source_code_path`, which is the path used by the deployed app. The former refers\nto the original source code location of the app in the workspace during deployment creation, whereas\nthe latter provides a system generated stable snapshotted source code path used by the deployment.", "$ref": "#/$defs/string", "x-since-version": "v0.239.0" } @@ -3044,6 +3113,7 @@ "type": "object", "properties": { "source_code_path": { + "description": "The snapshotted workspace file system path of the source code loaded by the deployed app.", "$ref": "#/$defs/string", "x-since-version": "v0.239.0" } @@ -3248,10 +3318,12 @@ "type": "object", "properties": { "id": { + "description": "Id of the job to grant permission on.", "$ref": "#/$defs/string", "x-since-version": "v0.239.0" }, "permission": { + "description": "Permissions to grant on the Job. Supported permissions are: \"CAN_MANAGE\", \"IS_OWNER\", \"CAN_MANAGE_RUN\", \"CAN_VIEW\".", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceJobJobPermission", "x-since-version": "v0.239.0" } @@ -3299,14 +3371,17 @@ "type": "object", "properties": { "key": { + "description": "Key of the secret to grant permission on.", "$ref": "#/$defs/string", "x-since-version": "v0.239.0" }, "permission": { + "description": "Permission to grant on the secret scope. For secrets, only one permission is allowed. Permission must be one of: \"READ\", \"WRITE\", \"MANAGE\".", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceSecretSecretPermission", "x-since-version": "v0.239.0" }, "scope": { + "description": "Scope of the secret to grant permission on.", "$ref": "#/$defs/string", "x-since-version": "v0.239.0" } @@ -3331,10 +3406,12 @@ "type": "object", "properties": { "name": { + "description": "Name of the serving endpoint to grant permission on.", "$ref": "#/$defs/string", "x-since-version": "v0.239.0" }, "permission": { + "description": "Permission to grant on the serving endpoint. Supported permissions are: \"CAN_MANAGE\", \"CAN_QUERY\", \"CAN_VIEW\".", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceServingEndpointServingEndpointPermission", "x-since-version": "v0.239.0" } @@ -3357,10 +3434,12 @@ "type": "object", "properties": { "id": { + "description": "Id of the SQL warehouse to grant permission on.", "$ref": "#/$defs/string", "x-since-version": "v0.239.0" }, "permission": { + "description": "Permission to grant on the SQL warehouse. Supported permissions are: \"CAN_MANAGE\", \"CAN_USE\", \"IS_OWNER\".", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceSqlWarehouseSqlWarehousePermission", "x-since-version": "v0.239.0" } @@ -3570,6 +3649,7 @@ "type": "object", "properties": { "queue_url": { + "description": "The AQS queue url in the format https://sqs.{region}.amazonaws.com/{account id}/{queue name}.\nOnly required for provided_sqs.", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" } @@ -3601,14 +3681,17 @@ "type": "object", "properties": { "queue_url": { + "description": "The AQS queue url in the format https://{storage account}.queue.core.windows.net/{queue name}\nOnly required for provided_aqs.", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" }, "resource_group": { + "description": "Optional resource group for the queue, event grid subscription, and external location storage\naccount.\nOnly required for locations with a service principal storage credential", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" }, "subscription_id": { + "description": "Optional subscription id for the queue, event grid subscription, and external location storage\naccount.\nRequired for locations with a service principal storage credential", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" } @@ -3620,6 +3703,7 @@ "description": "Encryption options that apply to clients connecting to cloud storage.", "properties": { "sse_encryption_details": { + "description": "Server-Side Encryption properties for clients communicating with AWS s3.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.SseEncryptionDetails", "x-since-version": "v0.289.0" } @@ -3682,6 +3766,7 @@ "type": "object", "properties": { "subscription_name": { + "description": "The Pub/Sub subscription name in the format projects/{project}/subscriptions/{subscription name}.\nOnly required for provided_pubsub.", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" } @@ -3974,18 +4059,22 @@ "x-since-version": "v0.273.0" }, "catalog_name": { + "description": "The name of the catalog containing the model version", "$ref": "#/$defs/string", "x-since-version": "v0.273.0" }, "id": { + "description": "The unique identifier of the alias", "$ref": "#/$defs/string", "x-since-version": "v0.273.0" }, "model_name": { + "description": "The name of the parent registered model of the model version, relative to parent schema", "$ref": "#/$defs/string", "x-since-version": "v0.273.0" }, "schema_name": { + "description": "The name of the schema containing the model version, relative to parent catalog", "$ref": "#/$defs/string", "x-since-version": "v0.273.0" }, @@ -4002,10 +4091,12 @@ "description": "Server-Side Encryption properties for clients communicating with AWS s3.", "properties": { "algorithm": { + "description": "Sets the value of the 'x-amz-server-side-encryption' header in S3 request.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.SseEncryptionDetailsAlgorithm", "x-since-version": "v0.289.0" }, "aws_kms_key_arn": { + "description": "Optional. The ARN of the SSE-KMS key used with the S3 location, when algorithm = \"SSE-KMS\".\nSets the value of the 'x-amz-server-side-encryption-aws-kms-key-id' header.", "$ref": "#/$defs/string", "x-since-version": "v0.289.0" } @@ -4065,6 +4156,7 @@ "description": "Attributes set during cluster creation which are related to Amazon Web Services.", "properties": { "availability": { + "description": "Availability type used for all subsequent nodes past the `first_on_demand` ones.\n\nNote: If `first_on_demand` is zero, this availability type will be used for the entire cluster.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.AwsAvailability", "x-since-version": "v0.229.0" }, @@ -4089,6 +4181,7 @@ "x-since-version": "v0.229.0" }, "ebs_volume_type": { + "description": "The type of EBS volumes that will be launched with this cluster.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.EbsVolumeType", "x-since-version": "v0.229.0" }, @@ -4129,6 +4222,7 @@ "description": "Attributes set during cluster creation which are related to Microsoft Azure.", "properties": { "availability": { + "description": "Availability type used for all subsequent nodes past the `first_on_demand` ones.\nNote: If `first_on_demand` is zero, this availability\ntype will be used for the entire cluster.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.AzureAvailability", "x-since-version": "v0.229.0" }, @@ -4251,10 +4345,12 @@ "x-since-version": "v0.229.0" }, "data_security_mode": { + "description": "Data security mode decides what data governance model to use when accessing data\nfrom a cluster.\n\n* `DATA_SECURITY_MODE_AUTO`: Databricks will choose the most appropriate access mode depending on your compute configuration.\n* `DATA_SECURITY_MODE_STANDARD`: A secure cluster that can be shared by multiple users. Cluster users are fully isolated so that they cannot see each other’s data and credentials. Most data governance features are supported in this mode. But programming languages and cluster features might be limited.\n* `DATA_SECURITY_MODE_DEDICATED`: A secure cluster that can only be exclusively used by a single user specified in `single_user_name`. Most programming languages, cluster features and data governance features are available in this mode.\n\nThe following modes are legacy aliases for the above modes:\n\n* `USER_ISOLATION`: Legacy alias for `DATA_SECURITY_MODE_STANDARD`.\n* `SINGLE_USER`: Legacy alias for `DATA_SECURITY_MODE_DEDICATED`.\n\nThe following modes are deprecated starting with Databricks Runtime 15.0 and\nwill be removed for future Databricks Runtime versions:\n\n* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters.\n* `LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high concurrency clusters.\n* `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy Passthrough on standard clusters.\n* `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that doesn’t have UC nor passthrough enabled.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DataSecurityMode", "x-since-version": "v0.229.0" }, "docker_image": { + "description": "Custom docker image BYOC", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DockerImage", "x-since-version": "v0.229.0" }, @@ -4304,6 +4400,7 @@ "x-since-version": "v0.237.0" }, "kind": { + "description": "The kind of compute described by this compute specification.\n\nDepending on `kind`, different validations and default values will be applied.\n\nClusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no specified `kind` do not.\n* [is_single_node](/api/workspace/clusters/create#is_single_node)\n* [use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime)\n\nBy using the [simple form](https://docs.databricks.com/compute/simple-form.html), your clusters are automatically using `kind = CLASSIC_PREVIEW`.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.Kind", "x-since-version": "v0.237.0" }, @@ -4328,6 +4425,7 @@ "x-since-version": "v0.257.0" }, "runtime_engine": { + "description": "Determines the cluster's runtime engine, either standard or Photon.\n\nThis field is not compatible with legacy `spark_version` values that contain `-photon-`.\nRemove `-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.\n\nIf left unspecified, the runtime engine defaults to standard unless the spark_version\ncontains -photon-, in which case Photon will be used.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.RuntimeEngine", "x-since-version": "v0.229.0" }, @@ -4372,6 +4470,7 @@ "x-since-version": "v0.285.0" }, "workload_type": { + "description": "Cluster Attributes showing for clusters workload types.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.WorkloadType", "x-since-version": "v0.229.0" } @@ -4437,6 +4536,7 @@ "type": "object", "properties": { "basic_auth": { + "description": "Basic auth with username and password", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DockerBasicAuth", "x-since-version": "v0.229.0" }, @@ -4483,6 +4583,7 @@ "x-since-version": "v0.252.0" }, "java_dependencies": { + "description": "List of java dependencies. Each dependency is a string representing a java library path. For example: `/Volumes/path/to/test.jar`.", "$ref": "#/$defs/slice/string", "x-since-version": "v0.271.0" } @@ -4494,6 +4595,7 @@ "description": "Attributes set during cluster creation which are related to GCP.", "properties": { "availability": { + "description": "This field determines whether the spark executors will be scheduled to run on preemptible\nVMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.GcpAvailability", "x-since-version": "v0.229.0" }, @@ -5329,6 +5431,7 @@ "description": "Configures the Lakeview Dashboard job task type.", "properties": { "dashboard_id": { + "description": "The identifier of the dashboard to refresh.", "$ref": "#/$defs/string", "x-since-version": "v0.248.0" }, @@ -5340,6 +5443,7 @@ "x-since-version": "v0.289.0" }, "subscription": { + "description": "Optional: subscription configuration for sending the dashboard snapshot.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.Subscription", "x-since-version": "v0.248.0" }, @@ -5737,6 +5841,7 @@ "x-since-version": "v0.229.0" }, "spec": { + "description": "The environment entity used to preserve serverless environment side panel, jobs' environment for non-notebook task, and SDP's environment for classic and serverless pipelines.\nIn this minimal environment spec, only pip and java dependencies are supported.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.Environment", "x-since-version": "v0.229.0" } @@ -5878,10 +5983,12 @@ "type": "object", "properties": { "metric": { + "description": "Specifies the health metric that is being evaluated for a particular health rule.\n\n* `RUN_DURATION_SECONDS`: Expected total time for a run in seconds.\n* `STREAMING_BACKLOG_BYTES`: An estimate of the maximum bytes of data waiting to be consumed across all streams. This metric is in Public Preview.\n* `STREAMING_BACKLOG_RECORDS`: An estimate of the maximum offset lag across all streams. This metric is in Public Preview.\n* `STREAMING_BACKLOG_SECONDS`: An estimate of the maximum consumer delay across all streams. This metric is in Public Preview.\n* `STREAMING_BACKLOG_FILES`: An estimate of the maximum number of outstanding files across all streams. This metric is in Public Preview.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobsHealthMetric", "x-since-version": "v0.229.0" }, "op": { + "description": "Specifies the operator used to compare the health metric value with the specified threshold.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobsHealthOperator", "x-since-version": "v0.229.0" }, @@ -6623,6 +6730,7 @@ "x-since-version": "v0.248.0" }, "subscribers": { + "description": "The list of subscribers to send the snapshot of the dashboard to.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/jobs.SubscriptionSubscriber", "x-since-version": "v0.248.0" } @@ -6633,10 +6741,12 @@ "type": "object", "properties": { "destination_id": { + "description": "A snapshot of the dashboard will be sent to the destination when the `destination_id` field is present.", "$ref": "#/$defs/string", "x-since-version": "v0.248.0" }, "user_name": { + "description": "A snapshot of the dashboard will be sent to the user's email when the `user_name` field is present.", "$ref": "#/$defs/string", "x-since-version": "v0.248.0" } @@ -6767,6 +6877,7 @@ "x-since-version": "v0.243.0" }, "health": { + "description": "An optional set of health rules that can be defined for this job.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.JobsHealthRules", "x-since-version": "v0.229.0" }, @@ -7653,6 +7764,7 @@ "x-since-version": "v0.229.0" }, "netsuite_jar_path": { + "description": "Netsuite only configuration. When the field is set for a netsuite connector,\nthe jar stored in the field will be validated and added to the classpath of\npipeline's cluster.", "$ref": "#/$defs/string", "x-databricks-preview": "PRIVATE", "doNotSuggest": true, @@ -8688,6 +8800,7 @@ "x-since-version": "v0.231.0" }, "workday_report_parameters": { + "description": "(Optional) Additional custom parameters for Workday Report", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.IngestionPipelineDefinitionWorkdayReportParameters", "x-databricks-preview": "PRIVATE", "doNotSuggest": true, @@ -9989,6 +10102,7 @@ "type": "object", "properties": { "aggregation": { + "description": "If not set, the behavior is equivalent to using `First row` in the UI.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.Aggregation", "x-since-version": "v0.279.0" }, @@ -10184,26 +10298,32 @@ "x-since-version": "v1.1.0" }, "columns_to_sync": { + "description": "[Optional] Select the columns to sync with the vector index. If you leave this field blank, all columns\nfrom the source table are synced with the index. The primary key column and embedding source column or\nembedding vector column are always synced.", "$ref": "#/$defs/slice/string", "x-since-version": "v1.1.0" }, "embedding_source_columns": { + "description": "The columns that contain the embedding source.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/vectorsearch.EmbeddingSourceColumn", "x-since-version": "v1.1.0" }, "embedding_vector_columns": { + "description": "The columns that contain the embedding vectors.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/vectorsearch.EmbeddingVectorColumn", "x-since-version": "v1.1.0" }, "embedding_writeback_table": { + "description": "[Optional] Name of the Delta table to sync the vector index contents and computed embeddings to.", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" }, "pipeline_type": { + "description": "Pipeline execution mode.\n- `TRIGGERED`: If the pipeline uses the triggered execution mode, the system stops processing after successfully refreshing the source table in the pipeline once, ensuring the table is updated based on the data available when the update started.\n- `CONTINUOUS`: If the pipeline uses continuous execution, the pipeline processes new data as it arrives in the source table to keep vector index fresh.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/vectorsearch.PipelineType", "x-since-version": "v1.1.0" }, "source_table": { + "description": "The name of the source table.", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" } @@ -10214,14 +10334,17 @@ "type": "object", "properties": { "embedding_source_columns": { + "description": "The columns that contain the embedding source. The format should be array[double].", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/vectorsearch.EmbeddingSourceColumn", "x-since-version": "v1.1.0" }, "embedding_vector_columns": { + "description": "The columns that contain the embedding vectors. The format should be array[double].", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/vectorsearch.EmbeddingVectorColumn", "x-since-version": "v1.1.0" }, "schema_json": { + "description": "The schema of the index in JSON format.\nSupported types are `integer`, `long`, `float`, `double`, `boolean`, `string`, `date`, `timestamp`.\nSupported types for vector column: `array\u003cfloat\u003e`, `array\u003cdouble\u003e`,`.", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" } @@ -10232,14 +10355,17 @@ "type": "object", "properties": { "embedding_model_endpoint_name": { + "description": "Name of the embedding model endpoint, used by default for both ingestion and querying.", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" }, "model_endpoint_name_for_query": { + "description": "Name of the embedding model endpoint which, if specified, is used for querying (not ingestion).", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" }, "name": { + "description": "Name of the column", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" } @@ -10250,10 +10376,12 @@ "type": "object", "properties": { "embedding_dimension": { + "description": "Dimension of the embedding vector", "$ref": "#/$defs/int", "x-since-version": "v1.1.0" }, "name": { + "description": "Name of the column", "$ref": "#/$defs/string", "x-since-version": "v1.1.0" } From a3258c801216d8bc1f6fc9dd8e278e9fe09def08 Mon Sep 17 00:00:00 2001 From: Jan Rose Date: Fri, 12 Jun 2026 22:15:27 +0200 Subject: [PATCH 2/2] Reference #5588 in the changelog entry Co-authored-by: Isaac --- NEXT_CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index e76f9f8f2e8..082a0b1a632 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -12,7 +12,7 @@ * direct: Fix resolving a resource reference that is used more than once within the same field ([#5558](https://github.com/databricks/cli/pull/5558)). * Bundle variable references now accept Unicode letters in path segments (e.g. `${var.变量}`). ([#5532](https://github.com/databricks/cli/pull/5532)) * Ignore remote changes for vector search direct_access_index_spec.schema_json to prevent drift when the backend normalizes the schema ([#5481](https://github.com/databricks/cli/pull/5481)). -* Fix missing field descriptions in the bundle JSON schema for fields whose upstream API docs arrived after the field was first annotated (e.g. `vector_search_endpoints.*.target_qps`); stale placeholder markers no longer hide them. +* Fix missing field descriptions in the bundle JSON schema for fields whose upstream API docs arrived after the field was first annotated (e.g. `vector_search_endpoints.*.target_qps`); stale placeholder markers no longer hide them ([#5588](https://github.com/databricks/cli/pull/5588)). ### Dependency updates