From b65a5d950dcbaf0a66cf9c2c8a74eda71f81bdb2 Mon Sep 17 00:00:00 2001 From: Jan Rose Date: Wed, 23 Sep 2026 14:03:37 +0000 Subject: [PATCH 1/2] Bump databricks-sdk-go from v0.178.0 to v0.182.0 ## Changes Bump `github.com/databricks/databricks-sdk-go` from v0.178.0 to v0.182.0. - New AI Gateway MCP service-user credential commands (create/delete/get) and related model-provider/model-service surface. - New pipelines `transformer` Avro/Protobuf options, `run_as.group_name`, and `TIKTOK_ADS`/`SMARTSHEET` ingestion source types. - New apps `telemetry_export_destinations`, ML `cron_schedule.timezone_id`, serving `amazon_bedrock_config.uc_service_credential_name`, and jobs AI-runtime task fields (`unity_catalog_image_path`, `priority_class`), surfaced in the JSON schema and PyDABs models. - No breaking changes in this range; 0.179 to 0.182 is purely additive. ## Why Routine SDK update. The pinned OpenAPI spec SHA moves with the SDK (`129c9a58` to `4648d66f`), and downstream generated artifacts are regenerated from it. ## Tests Downstream artifacts regenerated (cli.json, command stubs, JSON schema, validation, direct-engine YAML, refschema, PyDABs). Acceptance goldens regenerated (refschema field list, top-level help, and the AIR B300 case now that `GPU_8xB300` is a valid accelerator). Root-module unit suite and full `./task lint` pass; PyDABs pyright and 496 tests pass. This pull request and its description were written by Isaac. Co-authored-by: Isaac --- .codegen/_openapi_sha | 2 +- .codegen/cli.json | 1750 ++++++++++++----- .../dependency-updates/sdk-0.182.0.md | 1 + acceptance/air/convert-to-dabs/output.txt | 8 +- acceptance/air/convert-to-dabs/script | 2 +- acceptance/bundle/refschema/out.fields.txt | 109 + .../cmd/account/account-help/output.txt | 2 +- acceptance/help/output.txt | 2 +- .../configs/mcp_services.generated.yml | 2 + .../model_provider_services.generated.yml | 2 + bundle/internal/schema/annotations.yml | 6 + .../validation/generated/enum_fields.go | 28 +- bundle/schema/jsonschema.json | 323 ++- bundle/terraform_dabs_map/generated.go | 180 +- cmd/account/iam-v2/iam-v2.go | 4 +- cmd/account/settings-v2/settings-v2.go | 2 + cmd/workspace/ai-functions/ai-functions.go | 8 +- cmd/workspace/ai-gateway/ai-gateway.go | 232 ++- cmd/workspace/experiments/experiments.go | 8 +- cmd/workspace/feature-store/feature-store.go | 6 + cmd/workspace/genie/genie.go | 140 +- cmd/workspace/lakeview/lakeview.go | 121 +- .../model-versions/model-versions.go | 4 +- cmd/workspace/pipelines/pipelines.go | 1 + cmd/workspace/policies/policies.go | 8 + cmd/workspace/postgres/postgres.go | 52 +- cmd/workspace/sandbox/sandbox.go | 4 +- .../workspace-entity-tag-assignments.go | 10 +- .../workspace-iam-v2/workspace-iam-v2.go | 4 +- .../workspace-settings-v2.go | 2 + go.mod | 2 +- go.sum | 4 +- python/databricks/bundles/apps/_models/app.py | 24 +- .../bundles/apps/_models/git_repository.py | 16 +- .../_models/telemetry_export_destination.py | 4 +- .../bundles/apps/_models/unity_catalog.py | 12 +- .../clusters/_models/gcp_attributes.py | 6 +- .../bundles/job_runs/_models/job_run.py | 6 +- python/databricks/bundles/jobs/__init__.py | 6 + .../bundles/jobs/_models/ai_runtime_task.py | 44 + .../_models/ai_runtime_task_priority_class.py | 22 + .../_models/compute_spec_accelerator_type.py | 4 +- .../bundles/jobs/_models/dashboard_task.py | 8 +- .../bundles/jobs/_models/gcp_attributes.py | 6 +- python/databricks/bundles/jobs/_models/job.py | 20 +- .../bundles/jobs/_models/job_run_as.py | 12 +- .../databricks/bundles/jobs/_models/task.py | 4 +- .../model_provider_services/__init__.py | 8 + ...fig_custom_provider_api_key_header_auth.py | 81 + ...ce_config_custom_provider_direct_config.py | 31 +- .../_models/amazon_bedrock_config.py | 12 + .../databricks/bundles/pipelines/__init__.py | 35 + .../_models/avro_transformer_options.py | 97 + .../confluent_schema_registry_options.py | 48 + .../pipelines/_models/gcp_attributes.py | 6 +- .../pipelines/_models/ingestion_config.py | 8 +- .../bundles/pipelines/_models/parse_mode.py | 18 + .../bundles/pipelines/_models/pipeline.py | 5 +- .../_models/protobuf_transformer_options.py | 119 ++ .../bundles/pipelines/_models/run_as.py | 14 + .../_models/schema_registry_config.py | 84 + .../bundles/pipelines/_models/transformer.py | 36 + .../pipelines/_models/transformer_format.py | 6 +- .../databricks_tests/core/_generated/apps.py | 3 + 64 files changed, 3056 insertions(+), 778 deletions(-) create mode 100644 .nextchanges/dependency-updates/sdk-0.182.0.md create mode 100644 python/databricks/bundles/jobs/_models/ai_runtime_task_priority_class.py create mode 100644 python/databricks/bundles/model_provider_services/_models/model_provider_service_config_custom_provider_api_key_header_auth.py create mode 100644 python/databricks/bundles/pipelines/_models/avro_transformer_options.py create mode 100644 python/databricks/bundles/pipelines/_models/confluent_schema_registry_options.py create mode 100644 python/databricks/bundles/pipelines/_models/parse_mode.py create mode 100644 python/databricks/bundles/pipelines/_models/protobuf_transformer_options.py create mode 100644 python/databricks/bundles/pipelines/_models/schema_registry_config.py diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index 6c93c5434c5..444b180c219 100644 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -129c9a58f8048f59e7d2829261ec88b7ec9f567f \ No newline at end of file +4648d66fa37e7683468dc92cc043c6aa7a34f301 \ No newline at end of file diff --git a/.codegen/cli.json b/.codegen/cli.json index bce283c5267..aada33acd49 100644 --- a/.codegen/cli.json +++ b/.codegen/cli.json @@ -1670,7 +1670,7 @@ "default_git_source": { "description": "The Git source of the app's most recent active deployment, including the repository\nconfiguration and the resolved reference. Populated by the system after a Git-based\ndeployment and used as the default reference when automatic deployments are enabled.", "ref": "apps.GitSource", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -1717,7 +1717,7 @@ "git_source": { "description": "The Git source to deploy from, specifying the reference to check out (branch, tag, or\ncommit) and an optional path to the app source code within the repository configured in\ngit_repository.", "ref": "apps.GitSource", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY" ] @@ -1776,7 +1776,7 @@ ] }, "source_code_path": { - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY" ] @@ -1786,7 +1786,7 @@ "launch_stage": "PRIVATE_PREVIEW" }, "telemetry_export_destinations": { - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "thumbnail_url": { "description": "The URL of the thumbnail image for the app.", @@ -2626,6 +2626,9 @@ "OUTPUT_ONLY" ] }, + "telemetry_export_destinations": { + "launch_stage": "GA" + }, "usage_policy_id": { "launch_stage": "GA" }, @@ -2752,7 +2755,7 @@ "apps.ComputeStatus": { "fields": { "active_instances": { - "description": "The number of compute instances currently serving requests for this\napplication. An instance is considered active if it is reachable and ready\nto handle requests.", + "description": "The number of compute instances used and billed for this application.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OUTPUT_ONLY" @@ -3078,11 +3081,11 @@ "fields": { "auto_deploy": { "description": "When true, automatically deploys the app on push events to the branch configured in\nthe app's deployment_source.git_source.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "caller_credential_id": { "description": "ID of a personal access token Git credential owned by the caller, used to\ngrant the app's service principal access to this repository.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY" ] @@ -3489,7 +3492,7 @@ "fields": { "unity_catalog": { "ref": "apps.UnityCatalog", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -3498,15 +3501,15 @@ "fields": { "logs_table": { "description": "Unity Catalog table for OTEL logs.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "metrics_table": { "description": "Unity Catalog table for OTEL metrics.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "traces_table": { "description": "Unity Catalog table for OTEL traces (spans).", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -6260,6 +6263,7 @@ "CONFLUENCE", "JDBC", "META_MARKETING", + "TIKTOK_ADS", "HUBSPOT", "ZENDESK", "AWS_SECRETS_MANAGER", @@ -6293,11 +6297,12 @@ "SALESFORCE": "GA", "SALESFORCE_DATA_CLOUD": "GA", "SERVICENOW": "GA", - "SMARTSHEET": "PUBLIC_BETA", + "SMARTSHEET": "GA", "SNOWFLAKE": "GA", "SQLDW": "GA", "SQLSERVER": "GA", "TERADATA": "GA", + "TIKTOK_ADS": "PRIVATE_PREVIEW", "UNKNOWN_CONNECTION_TYPE": "GA", "WORKDAY_RAAS": "GA", "ZENDESK": "GA" @@ -6489,7 +6494,7 @@ }, "parent": { "description": "Parent schema for schema-level connections, in format \"schemas/{catalog}.{schema}\".\nAbsent for metastore-level (L1) connections.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -6793,6 +6798,14 @@ } } }, + "catalog.CreateMcpServiceUserMappedCredentialRequest": { + "fields": { + "login": { + "ref": "catalog.McpServiceUserMappedCredentialLogin", + "launch_stage": "PUBLIC_BETA" + } + } + }, "catalog.CreateMetastore": { "fields": { "external_access_enabled": { @@ -7544,6 +7557,10 @@ } } }, + "catalog.DeleteMcpServiceUserMappedCredentialRequest": {}, + "catalog.DeleteMcpServiceUserMappedCredentialResponse": { + "description": "Delete returns no resource; a dedicated (empty) response keeps the revoke RPC's shape owned\nhere rather than google.protobuf.Empty." + }, "catalog.DeleteMetastoreRequest": { "fields": { "force": { @@ -8965,6 +8982,7 @@ } }, "catalog.GetMcpServiceRequest": {}, + "catalog.GetMcpServiceUserMappedCredentialRequest": {}, "catalog.GetMetastoreRequest": {}, "catalog.GetMetastoreSummaryResponse": { "fields": { @@ -9271,7 +9289,7 @@ }, "parent": { "description": "Optional. Parent schema filter for listing schema-level connections, in format \"schemas/{catalog}.{schema}\".", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -10276,6 +10294,45 @@ "name": { "description": "Resource name of the Unity Catalog connection used to access the MCP\nserver, in the form `connections/{catalog}.{schema}.{connection}`.", "launch_stage": "GA" + }, + "options": { + "description": "Options needed to build the U2M authorize request, returned as a flat map. When set, it\nincludes: `authorization_endpoint` (OAuth authorize URL), `token_endpoint` (token-exchange\nURL), `oauth_scope` (space-separated scopes to request), `client_id` (OAuth client id), and\n`oauth_provider` (the OAuth provider).", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + } + } + }, + "catalog.McpServiceUserMappedCredential": { + "description": "A caller's per-user OAuth credential for an MCP service.", + "fields": { + "options": { + "description": "Token-expiry info for the credential, returned as a flat map: `access_token_expiration` (always\nset) and `refresh_token_expiration` (set when the credential has a refresh token). Both values\nare timestamps.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "provisioning_info": { + "description": "Provisioning state of the credential. `ACTIVE` means the caller is logged in and the credential\nis usable; any other state means the login has not completed.", + "ref": "catalog.ProvisioningInfo", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + } + } + }, + "catalog.McpServiceUserMappedCredentialLogin": { + "description": "Login input for an MCP service user credential. Carries the OAuth exchange fields as a flat map.", + "fields": { + "options": { + "description": "OAuth exchange fields: `pkce_verifier`, `authorization_code`, and `oauth_redirect_uri`.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OPTIONAL" + ] } } }, @@ -10714,6 +10771,26 @@ } } }, + "catalog.ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth": { + "description": "Header-based API-key authentication for a custom provider: the secret is\nforwarded on outbound requests under a caller-chosen HTTP header, as\n`\u003capi_key_name\u003e: \u003capi_key_value\u003e`.", + "fields": { + "api_key_name": { + "description": "HTTP header name that carries the API key on outbound requests (e.g.,\n`Ocp-Apim-Subscription-Key`). The value forwarded under this header is\nsupplied via `api_key_value`.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "api_key_value": { + "description": "Secret value forwarded under the `api_key_name` header on outbound\nrequests. Supplied as inline plaintext via `ProviderSecret.plaintext`.", + "ref": "catalog.ModelProviderServiceConfigProviderSecret", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "catalog.ModelProviderServiceConfigCustomProviderConfig": { "description": "Custom OpenAI-compatible provider configuration with bearer-token\nauthentication.", "fields": { @@ -10728,7 +10805,7 @@ } }, "catalog.ModelProviderServiceConfigCustomProviderDirectConfig": { - "description": "Direct form of a custom provider configuration. Set `api_key` to the bearer\ntoken sent in the `Authorization` header.", + "description": "Direct form of a custom provider configuration. Set `api_key` to send the\nsecret as an `Authorization` bearer token, or `header_auth` to forward it\nunder a caller-chosen HTTP header.", "fields": { "api_key": { "description": "Bearer token forwarded in the `Authorization` header. Supply the value\nin `api_key.plaintext`.", @@ -10744,6 +10821,14 @@ "behaviors": [ "OPTIONAL" ] + }, + "header_auth": { + "description": "Header-based API-key auth: the secret is forwarded on outbound requests\nunder a caller-chosen HTTP header rather than as an `Authorization`\nbearer token. Set this instead of `api_key` for header auth.", + "ref": "catalog.ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] } } }, @@ -12963,9 +13048,12 @@ "MODEL", "MODEL_SERVICE", "MCP_SERVICE", - "MODEL_PROVIDER_SERVICE" + "MODEL_PROVIDER_SERVICE", + "AGENT_SERVICE", + "SKILL" ], "enum_launch_stages": { + "AGENT_SERVICE": "PUBLIC_BETA", "CATALOG": "GA", "CLEAN_ROOM": "GA", "CONNECTION": "GA", @@ -12973,16 +13061,17 @@ "EXTERNAL_LOCATION": "GA", "EXTERNAL_METADATA": "GA", "FUNCTION": "GA", - "MCP_SERVICE": "PUBLIC_BETA", + "MCP_SERVICE": "GA", "METASTORE": "GA", - "MODEL": "PUBLIC_BETA", - "MODEL_PROVIDER_SERVICE": "PUBLIC_BETA", - "MODEL_SERVICE": "PUBLIC_BETA", + "MODEL": "GA", + "MODEL_PROVIDER_SERVICE": "GA", + "MODEL_SERVICE": "GA", "PIPELINE": "GA", "PROVIDER": "GA", "RECIPIENT": "GA", "SCHEMA": "GA", "SHARE": "GA", + "SKILL": "PUBLIC_BETA", "STAGING_TABLE": "GA", "STORAGE_CREDENTIAL": "GA", "TABLE": "GA", @@ -13922,7 +14011,7 @@ "launch_stage": "GA" }, "update_mask": { - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`. Wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`.", "launch_stage": "GA" } } @@ -13991,7 +14080,7 @@ "launch_stage": "GA" }, "update_mask": { - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable, and wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable.", "launch_stage": "GA" } } @@ -14011,7 +14100,7 @@ "launch_stage": "GA" }, "update_mask": { - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback`, and wildcard paths such\nas `*`, are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback` are not supported.", "launch_stage": "GA" } } @@ -18394,7 +18483,7 @@ "launch_stage": "GA" }, "zone_id": { - "description": "Identifier for the availability zone in which the cluster resides.\nThis can be one of the following:\n- \"HA\" =\u003e High availability, spread nodes across availability zones for a Databricks deployment region [default].\n- \"AUTO\" =\u003e Databricks picks an availability zone to schedule the cluster on.\n- A GCP availability zone =\u003e Pick One of the available zones for (machine type + region) from\nhttps://cloud.google.com/compute/docs/regions-zones.", + "description": "Identifier for the availability zone in which the cluster resides.\nThis can be one of the following:\n- \"HA\" =\u003e High availability, spread nodes across availability zones for a\nDatabricks deployment region [default].\n- \"AUTO\" =\u003e Databricks picks an availability zone to schedule the cluster on.\n- A GCP availability zone =\u003e Pick One of the available zones for (machine type + region) from\nhttps://cloud.google.com/compute/docs/regions-zones.", "launch_stage": "GA" } } @@ -20228,7 +20317,7 @@ } }, "compute.TerminationReasonCode": { - "description": "The status code indicating why the cluster was terminated", + "description": "The status code indicating why the cluster was terminated.", "enum": [ "UNKNOWN", "USER_REQUEST", @@ -21076,6 +21165,7 @@ "description": "Request to cancel an in-flight agent-mode response." }, "dashboards.GenieConversation": { + "description": "A Genie conversation. Use chat-mode message endpoints for classic chats and agent-mode\nresponse and item endpoints for agent conversations. Conversation management, feedback,\ncomments, and attachment operations support both modes.", "fields": { "conversation_id": { "description": "Conversation ID", @@ -21384,6 +21474,7 @@ } }, "dashboards.GenieEvalRunResponse": { + "description": "A benchmark evaluation run. The public benchmark API currently evaluates chat-mode responses.", "fields": { "created_timestamp": { "description": "Timestamp when the evaluation run was created (milliseconds since epoch).", @@ -28068,7 +28159,7 @@ "iamv2.CreateGroupProxyRequest": { "fields": { "group": { - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "ref": "iamv2.Group", "launch_stage": "PUBLIC_BETA" } @@ -28077,7 +28168,7 @@ "iamv2.CreateGroupRequest": { "fields": { "group": { - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "ref": "iamv2.Group", "launch_stage": "PUBLIC_BETA" } @@ -28086,7 +28177,7 @@ "iamv2.CreateServicePrincipalProxyRequest": { "fields": { "service_principal": { - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "ref": "iamv2.ServicePrincipal", "launch_stage": "PUBLIC_BETA" } @@ -28095,7 +28186,7 @@ "iamv2.CreateServicePrincipalRequest": { "fields": { "service_principal": { - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "ref": "iamv2.ServicePrincipal", "launch_stage": "PUBLIC_BETA" } @@ -28104,7 +28195,7 @@ "iamv2.CreateUserProxyRequest": { "fields": { "user": { - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "ref": "iamv2.User", "launch_stage": "PUBLIC_BETA" } @@ -28113,7 +28204,7 @@ "iamv2.CreateUserRequest": { "fields": { "user": { - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "ref": "iamv2.User", "launch_stage": "PUBLIC_BETA" } @@ -28122,7 +28213,7 @@ "iamv2.CreateWorkspaceAssignmentDetailProxyRequest": { "fields": { "workspace_assignment_detail": { - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "ref": "iamv2.WorkspaceAssignmentDetail", "launch_stage": "PRIVATE_PREVIEW" } @@ -28131,7 +28222,7 @@ "iamv2.CreateWorkspaceAssignmentDetailRequest": { "fields": { "workspace_assignment_detail": { - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "ref": "iamv2.WorkspaceAssignmentDetail", "launch_stage": "PRIVATE_PREVIEW" } @@ -28140,7 +28231,7 @@ "iamv2.CreateWorkspaceAssignmentProxyRequest": { "fields": { "workspace_assignment": { - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "ref": "iamv2.WorkspaceAssignment", "launch_stage": "PUBLIC_BETA" } @@ -28149,7 +28240,7 @@ "iamv2.CreateWorkspaceAssignmentRequest": { "fields": { "workspace_assignment": { - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "ref": "iamv2.WorkspaceAssignment", "launch_stage": "PUBLIC_BETA" } @@ -29055,7 +29146,7 @@ "iamv2.UpdateGroupProxyRequest": { "fields": { "group": { - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "ref": "iamv2.Group", "launch_stage": "PUBLIC_BETA" }, @@ -29068,7 +29159,7 @@ "iamv2.UpdateGroupRequest": { "fields": { "group": { - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "ref": "iamv2.Group", "launch_stage": "PUBLIC_BETA" }, @@ -29081,7 +29172,7 @@ "iamv2.UpdateServicePrincipalProxyRequest": { "fields": { "service_principal": { - "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service principal to be updated in Databricks", "ref": "iamv2.ServicePrincipal", "launch_stage": "PUBLIC_BETA" }, @@ -29094,7 +29185,7 @@ "iamv2.UpdateServicePrincipalRequest": { "fields": { "service_principal": { - "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service Principal to be updated in Databricks", "ref": "iamv2.ServicePrincipal", "launch_stage": "PUBLIC_BETA" }, @@ -29111,7 +29202,7 @@ "launch_stage": "PUBLIC_BETA" }, "user": { - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "ref": "iamv2.User", "launch_stage": "PUBLIC_BETA" } @@ -29124,7 +29215,7 @@ "launch_stage": "PUBLIC_BETA" }, "user": { - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "ref": "iamv2.User", "launch_stage": "PUBLIC_BETA" } @@ -29137,7 +29228,7 @@ "launch_stage": "PRIVATE_PREVIEW" }, "workspace_assignment_detail": { - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "ref": "iamv2.WorkspaceAssignmentDetail", "launch_stage": "PRIVATE_PREVIEW" } @@ -29150,7 +29241,7 @@ "launch_stage": "PRIVATE_PREVIEW" }, "workspace_assignment_detail": { - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "ref": "iamv2.WorkspaceAssignmentDetail", "launch_stage": "PRIVATE_PREVIEW" } @@ -29163,7 +29254,7 @@ "launch_stage": "PUBLIC_BETA" }, "workspace_assignment": { - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "ref": "iamv2.WorkspaceAssignment", "launch_stage": "PUBLIC_BETA" } @@ -29176,7 +29267,7 @@ "launch_stage": "PUBLIC_BETA" }, "workspace_assignment": { - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "ref": "iamv2.WorkspaceAssignment", "launch_stage": "PUBLIC_BETA" } @@ -29189,7 +29280,7 @@ "launch_stage": "PUBLIC_BETA" }, "workspace_identity_detail": { - "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace identity detail to be updated in Databricks.", "ref": "iamv2.WorkspaceIdentityDetail", "launch_stage": "PUBLIC_BETA" } @@ -29528,6 +29619,21 @@ "behaviors": [ "OPTIONAL" ] + }, + "priority_class": { + "description": "Scheduling priority class for the workload. May only be set together with\na pre-provisioned capacity reservation (a deployment's\n`compute.provisioned_capacity_id`); it is rejected on a workload that runs\non on-demand capacity.", + "ref": "jobs.AiRuntimeTaskPriorityClass", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "unity_catalog_image_path": { + "description": "Optional Unity Catalog path for a custom container image. When set,\nthe task runs on the specified container image instead of the default\nDatabricks client image. Format:\n`{catalog}.{schema}.{image_name}:{tag}`", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] } } }, @@ -29557,6 +29663,19 @@ } } }, + "jobs.AiRuntimeTaskPriorityClass": { + "description": "Scheduling priority class for a workload — its priority and preemptability\nwhen the scheduler ranks pending work.", + "enum": [ + "BEST_EFFORT", + "NORMAL", + "CRITICAL" + ], + "enum_launch_stages": { + "BEST_EFFORT": "PRIVATE_PREVIEW", + "CRITICAL": "PRIVATE_PREVIEW", + "NORMAL": "PRIVATE_PREVIEW" + } + }, "jobs.AlertEvaluationState": { "description": "Same alert evaluation state as in redash-v2/api/proto/alertsv2/alerts.proto", "enum": [ @@ -29713,7 +29832,7 @@ "launch_stage": "GA" }, "effective_performance_target": { - "description": "The actual performance target used by the serverless run during execution. This can differ from the client-set performance target on the request depending on whether the performance mode is supported by the job type.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The actual performance target used by the serverless run during execution. This can differ from the client-set performance target on the request depending on whether the performance mode is supported by the job type.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "ref": "jobs.PerformanceTarget", "launch_stage": "GA" }, @@ -30059,11 +30178,13 @@ "enum": [ "GPU_1xA10", "GPU_1xH100", - "GPU_8xH100" + "GPU_8xH100", + "GPU_8xB300" ], "enum_launch_stages": { "GPU_1xA10": "PUBLIC_PREVIEW", "GPU_1xH100": "PUBLIC_PREVIEW", + "GPU_8xB300": "PUBLIC_PREVIEW", "GPU_8xH100": "PUBLIC_PREVIEW" } }, @@ -30195,7 +30316,7 @@ "launch_stage": "GA" }, "environments": { - "description": "A list of task execution environment specifications that can be referenced by serverless tasks of this job.\nFor serverless notebook tasks, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment.\nFor other serverless tasks, the task environment is required to be specified using environment_key in the task settings.", + "description": "A list of task execution environment specifications that can be referenced by tasks that use serverless compute or a compute resource that uses Environments mode.\n\nFor notebook tasks that use serverless compute or a compute resource that uses Environments mode, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment.\nFor other tasks that use serverless compute or a compute resource that uses Environments mode, the task environment is required to be specified using environment_key in the task settings.", "launch_stage": "GA" }, "format": { @@ -30239,7 +30360,7 @@ "launch_stage": "PRIVATE_PREVIEW" }, "performance_target": { - "description": "The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "ref": "jobs.PerformanceTarget", "launch_stage": "GA" }, @@ -30356,7 +30477,7 @@ }, "filters": { "description": "Dashboard task parameters. Used to apply dashboard filter values during dashboard task execution. Parameter values get applied to any dashboard filters that have a matching URL identifier as the parameter key.\nThe parameter value format is dependent on the filter type:\n- For text and single-select filters, provide a single value (e.g. `\"value\"`)\n- For date and datetime filters, provide the value in ISO 8601 format (e.g. `\"2000-01-01T00:00:00\"`)\n- For multi-select filters, provide a JSON array of values (e.g. `\"[\\\"value1\\\",\\\"value2\\\"]\"`)\n- For range and date range filters, provide a JSON object with `start` and `end` (e.g. `\"{\\\"start\\\":\\\"1\\\",\\\"end\\\":\\\"10\\\"}\"`)", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "GA" }, "subscription": { "description": "Optional: subscription configuration for sending the dashboard snapshot.", @@ -31299,11 +31420,11 @@ } }, "jobs.JobRunAs": { - "description": "Write-only setting. Specifies the user or service principal that the job runs as. If not specified, the job runs as the user who created the job.\n\nEither `user_name` or `service_principal_name` should be specified. If not, an error is thrown.", + "description": "Write-only setting. Specifies the user, service principal, or group that the job runs as. If not specified, the job runs as the user who created the job.\n\nOne of `user_name`, `service_principal_name`, or `group_name` should be specified. If not, an error is thrown.", "fields": { "group_name": { - "description": "Group name of an account group assigned to the workspace. Setting this field requires being a member of the group.", - "launch_stage": "PRIVATE_PREVIEW" + "description": "Group name of an account group assigned to the workspace. When set, all tasks run as the group and the group's permissions are used for data access. Setting this field requires being a member of the group, or having the `Assume` permission on the group.", + "launch_stage": "GA" }, "service_principal_name": { "description": "Application ID of an active service principal. Setting this field requires the `servicePrincipal/user` role.", @@ -31346,7 +31467,7 @@ "launch_stage": "GA" }, "environments": { - "description": "A list of task execution environment specifications that can be referenced by serverless tasks of this job.\nFor serverless notebook tasks, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment.\nFor other serverless tasks, the task environment is required to be specified using environment_key in the task settings.", + "description": "A list of task execution environment specifications that can be referenced by tasks that use serverless compute or a compute resource that uses Environments mode.\n\nFor notebook tasks that use serverless compute or a compute resource that uses Environments mode, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment.\nFor other tasks that use serverless compute or a compute resource that uses Environments mode, the task environment is required to be specified using environment_key in the task settings.", "launch_stage": "GA" }, "format": { @@ -31390,7 +31511,7 @@ "launch_stage": "PRIVATE_PREVIEW" }, "performance_target": { - "description": "The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "ref": "jobs.PerformanceTarget", "launch_stage": "GA" }, @@ -32095,7 +32216,7 @@ "jobs.RepairHistoryItem": { "fields": { "effective_performance_target": { - "description": "The actual performance target used by the serverless run during execution. This can differ from the client-set performance target on the request depending on whether the performance mode is supported by the job type.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The actual performance target used by the serverless run during execution. This can differ from the client-set performance target on the request depending on whether the performance mode is supported by the job type.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "ref": "jobs.PerformanceTarget", "launch_stage": "GA" }, @@ -32169,7 +32290,7 @@ "launch_stage": "PRIVATE_PREVIEW" }, "performance_target": { - "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "ref": "jobs.PerformanceTarget", "launch_stage": "GA" }, @@ -32396,7 +32517,7 @@ "launch_stage": "GA" }, "effective_performance_target": { - "description": "The actual performance target used by the serverless run during execution. This can differ from the client-set performance target on the request depending on whether the performance mode is supported by the job type.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The actual performance target used by the serverless run during execution. This can differ from the client-set performance target on the request depending on whether the performance mode is supported by the job type.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "ref": "jobs.PerformanceTarget", "launch_stage": "GA" }, @@ -32751,7 +32872,7 @@ "launch_stage": "GA" }, "performance_target": { - "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "ref": "jobs.PerformanceTarget", "launch_stage": "GA" }, @@ -33091,7 +33212,7 @@ ] }, "effective_performance_target": { - "description": "The actual performance target used by the serverless run during execution. This can differ from the client-set performance target on the request depending on whether the performance mode is supported by the job type.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The actual performance target used by the serverless run during execution. This can differ from the client-set performance target on the request depending on whether the performance mode is supported by the job type.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "ref": "jobs.PerformanceTarget", "launch_stage": "GA", "behaviors": [ @@ -33115,7 +33236,7 @@ "launch_stage": "GA" }, "environment_key": { - "description": "The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute.", + "description": "The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute or a compute resource that uses Environments mode.", "launch_stage": "GA" }, "execution_duration": { @@ -33746,7 +33867,7 @@ "launch_stage": "GA" }, "performance_target": { - "description": "The performance mode on a serverless one-time run. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless one-time run. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "ref": "jobs.PerformanceTarget", "launch_stage": "GA" }, @@ -33869,7 +33990,7 @@ "launch_stage": "GA" }, "environment_key": { - "description": "The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute.", + "description": "The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute or a compute resource that uses Environments mode.", "launch_stage": "GA" }, "existing_cluster_id": { @@ -34127,7 +34248,7 @@ "launch_stage": "GA" }, "environment_key": { - "description": "The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute.", + "description": "The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute or a compute resource that uses Environments mode.", "launch_stage": "GA" }, "existing_cluster_id": { @@ -37880,7 +38001,7 @@ "description": "A cron-based schedule trigger for the materialization pipeline.", "fields": { "cron_expression": { - "description": "The cron expression defining the schedule (e.g., \"0 0 * * *\" for daily at midnight). The\nschedule is interpreted in the UTC time zone. Required when mode is MANUAL (or unset). Left\nempty when mode is DERIVED, where the service computes it (aligned to UTC) from the features'\nwindow timing and fills it in on the response.", + "description": "The cron expression defining the schedule (e.g., \"0 0 * * *\" for daily at midnight). The\nschedule is interpreted in timezone_id (defaults to UTC). Required when mode is MANUAL (or\nunset). Left empty when mode is DERIVED, where the service computes it (aligned to UTC) from\nthe features' window timing and fills it in on the response.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL" @@ -37893,6 +38014,13 @@ "behaviors": [ "OPTIONAL" ] + }, + "timezone_id": { + "description": "A Java timezone ID. The schedule is resolved with respect to this timezone. Defaults to UTC\nwhen omitted. Can only be configured for MANUAL schedules; DERIVED schedules are always aligned\nto UTC.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] } } }, @@ -37934,6 +38062,14 @@ "OPTIONAL" ] }, + "feature_view_source": { + "description": "A data source composed from registered upstream Features.", + "ref": "ml.FeatureViewSource", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, "kafka_source": { "description": "A Kafka stream data source.", "ref": "ml.KafkaSource", @@ -38784,6 +38920,15 @@ } } }, + "ml.FeatureReference": { + "description": "A reference to one registered upstream Feature. A message rather than a bare name so an\nupstream can later be pinned more precisely (e.g. by version) without a breaking type change.", + "fields": { + "feature": { + "description": "The three-part full name of the upstream Feature.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "ml.FeatureTag": { "description": "Represents a tag on a feature in a feature table.", "fields": { @@ -38798,6 +38943,18 @@ } } }, + "ml.FeatureViewSource": { + "description": "A data source composed from registered upstream Features.", + "fields": { + "feature_references": { + "description": "The upstream Features this source reads. Must include at least one feature.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "ml.FieldDefinition": { "description": "A single field definition within a FlatSchema, specifying the field name and its scalar data type.\nDoes not support nested or complex types (arrays, maps, structs).", "fields": { @@ -40863,7 +41020,7 @@ } }, "ml.PermissionLevel": { - "description": "Permission level of the requesting user on the object. For what is allowed at each level, see [MLflow Model permissions](..).", + "description": "Permission level of the requesting user on the object. For what is allowed at each level, see\n[MLflow Model permissions](https://docs.databricks.com/aws/en/machine-learning/manage-model-lifecycle/workspace-model-registry#permissions).", "enum": [ "CAN_MANAGE", "CAN_EDIT", @@ -40896,6 +41053,13 @@ }, "ml.PublishSpec": { "fields": { + "budget_policy_id": { + "description": "Budget policy id used to attribute the serverless compute cost of the synced online-table sync\npipeline. Applied only when the sync pipeline is first created (the initial publish of a new\nonline table); republishing to an existing online table does not update it.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, "full_feature_name": { "description": "Full Unity Catalog name of one of the features materialized in the source table, used to\nderive the synced online table's entity and timeseries columns. Required for view sources\nwithout a UC PrimaryKeyConstraint; ignored when the source already has one.", "launch_stage": "PRIVATE_PREVIEW", @@ -40915,6 +41079,13 @@ "description": "The publish mode of the pipeline that syncs the online table with the source table.", "ref": "ml.PublishSpecPublishMode", "launch_stage": "PRIVATE_PREVIEW" + }, + "tags": { + "description": "Custom tags to apply to the synced online-table sync pipeline created for this publish. They\nare forwarded to the pipeline's compute as cluster tags so its cost can be attributed in the\nbilling system tables. Applied only when the sync pipeline is first created (the initial\npublish of a new online table); republishing to an existing online table does not update them.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] } } }, @@ -41039,6 +41210,14 @@ "ml.PurgeFeatureEntitiesResponse": { "description": "Result of a completed feature entity purge.", "fields": { + "error": { + "description": "Operation-level error, if the purge failed outside an individual feature target.", + "ref": "ml.DatabricksServiceExceptionWithDetailsProto", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, "metadata": { "description": "Metadata about the purge operation.", "ref": "ml.PurgeFeatureEntitiesMetadata", @@ -43744,6 +43923,28 @@ } } }, + "pipelines.AvroTransformerOptions": { + "fields": { + "parse_mode": { + "description": "(Optional) Parse mode for Avro data.\nValid values: FAILFAST, PERMISSIVE. Defaults to FAILFAST.", + "ref": "pipelines.ParseMode", + "launch_stage": "PRIVATE_PREVIEW" + }, + "schema": { + "description": "Inline Avro JSON schema string.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "schema_file_path": { + "description": "Path to a schema file (.avsc).", + "launch_stage": "PRIVATE_PREVIEW" + }, + "schema_registry": { + "description": "(Optional) Schema registry to resolve the Avro schema at runtime instead of\nproviding it inline or via a file path.", + "ref": "pipelines.SchemaRegistryConfig", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "pipelines.CloneMode": { "description": "Enum to specify which mode of clone to execute", "enum": [ @@ -43914,6 +44115,14 @@ } } }, + "pipelines.ConfluentSchemaRegistryOptions": { + "fields": { + "subject": { + "description": "Required: subject name to resolve in the registry.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "pipelines.ConnectionParameters": { "fields": { "source_catalog": { @@ -44924,7 +45133,9 @@ "JIRA", "CONFLUENCE", "META_MARKETING", + "TIKTOK_ADS", "ZENDESK", + "SMARTSHEET", "RABBITMQ", "FOREIGN_CATALOG" ], @@ -44946,8 +45157,10 @@ "SALESFORCE": "PUBLIC_PREVIEW", "SERVICENOW": "PUBLIC_PREVIEW", "SHAREPOINT": "PUBLIC_PREVIEW", + "SMARTSHEET": "PRIVATE_PREVIEW", "SQLSERVER": "PUBLIC_PREVIEW", "TERADATA": "PUBLIC_PREVIEW", + "TIKTOK_ADS": "PRIVATE_PREVIEW", "WORKDAY_RAAS": "PUBLIC_PREVIEW", "ZENDESK": "PUBLIC_PREVIEW" } @@ -45506,6 +45719,17 @@ } } }, + "pipelines.ParseMode": { + "description": "Determines how errors encountered while deserializing records are handled.", + "enum": [ + "FAILFAST", + "PERMISSIVE" + ], + "enum_launch_stages": { + "FAILFAST": "PRIVATE_PREVIEW", + "PERMISSIVE": "PRIVATE_PREVIEW" + } + }, "pipelines.PathPattern": { "fields": { "include": { @@ -46082,6 +46306,32 @@ } } }, + "pipelines.ProtobufTransformerOptions": { + "fields": { + "desc_file_path": { + "description": "Required: path to the .desc file (dbfs:/... or /Volumes/...).", + "launch_stage": "PRIVATE_PREVIEW" + }, + "message_name": { + "description": "Required: fully-qualified message type name.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "parse_mode": { + "description": "(Optional) Parse mode for Protobuf data.\nValid values: FAILFAST, PERMISSIVE. Defaults to FAILFAST.", + "ref": "pipelines.ParseMode", + "launch_stage": "PRIVATE_PREVIEW" + }, + "recursive_fields_max_depth": { + "description": "(Optional) Maximum expansion depth for recursive protobuf fields.\nSpark SQL does not natively support recursive types, so recursive\nfields are expanded up to this depth and truncated beyond it.\nValid values: -1 (disallow recursive fields), 0 (drop), 1-10.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "schema_registry": { + "description": "(Optional) Schema registry to resolve the Protobuf schema at runtime instead\nof providing it via desc_file_path.", + "ref": "pipelines.SchemaRegistryConfig", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "pipelines.PublishingMode": { "description": "Enum representing the publishing mode of a pipeline.", "enum": [ @@ -46224,6 +46474,10 @@ "pipelines.RunAs": { "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.", "fields": { + "group_name": { + "description": "Group name of an account group assigned to the workspace. When set, the pipeline runs as the group and the group's permissions are used for data access. Setting this field requires being a member of the group, or having the `Assume` permission on the group.", + "launch_stage": "PRIVATE_PREVIEW" + }, "service_principal_name": { "description": "Application ID of an active service principal. Setting this field requires the `servicePrincipal/user` role.", "launch_stage": "GA" @@ -46234,6 +46488,23 @@ } } }, + "pipelines.SchemaRegistryConfig": { + "fields": { + "confluent_options": { + "description": "Required: Confluent-compatible schema registry options.", + "ref": "pipelines.ConfluentSchemaRegistryOptions", + "launch_stage": "PRIVATE_PREVIEW" + }, + "connection_name": { + "description": "(Optional) UC connection for registry authentication.\nSpecify if different from the top-level source connection.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "protobuf_message_name": { + "description": "(Optional, Protobuf only) Selects a specific message from a schema that\ndefines multiple Protobuf messages. Simple (\"Location\") or fully-qualified\n(\"com.example.protos.Location\"). Defaults to the first message.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "pipelines.SchemaSpec": { "fields": { "connector_options": { @@ -46397,6 +46668,10 @@ "ref": "pipelines.StartUpdateCause", "launch_stage": "GA" }, + "development": { + "description": "Whether the update is started in the development mode.\nThis is recommended for interactive development and testing.\nReuses compute for faster iteration and disables automatic retries.\nNot recommended for production.", + "launch_stage": "GA" + }, "full_refresh": { "description": "If true, this update will reset all tables before running.", "launch_stage": "GA" @@ -46684,6 +46959,10 @@ "pipelines.Transformer": { "description": "Specifies how to transform binary data into structured data.", "fields": { + "avro_options": { + "ref": "pipelines.AvroTransformerOptions", + "launch_stage": "PRIVATE_PREVIEW" + }, "format": { "description": "Required: the wire format of the data.", "ref": "pipelines.TransformerFormat", @@ -46700,16 +46979,24 @@ "output_column": { "description": "Optional output column name. When set, the transformed result is\nwritten to this column instead of replacing the input column.", "launch_stage": "PRIVATE_PREVIEW" + }, + "protobuf_options": { + "ref": "pipelines.ProtobufTransformerOptions", + "launch_stage": "PRIVATE_PREVIEW" } } }, "pipelines.TransformerFormat": { "enum": [ "STRING", - "JSON" + "JSON", + "AVRO", + "PROTOBUF" ], "enum_launch_stages": { + "AVRO": "PRIVATE_PREVIEW", "JSON": "PUBLIC_BETA", + "PROTOBUF": "PRIVATE_PREVIEW", "STRING": "PUBLIC_BETA" } }, @@ -47013,7 +47300,7 @@ }, "source_snapshot": { "description": "The snapshot this branch was created from. When set, the branch's data\ncomes from the snapshot rather than a source branch, so source_branch,\nsource_branch_lsn, and source_branch_time must be empty. The snapshot must\nbe AVAILABLE and belong to this branch's project.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "IMMUTABLE", "OPTIONAL" @@ -47118,7 +47405,7 @@ }, "source_snapshot": { "description": "The snapshot this branch was restored from. Set only for branches created by\nrestoring a snapshot; unset for all other branches.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] @@ -47523,11 +47810,11 @@ "snapshot": { "description": "The snapshot to create.", "ref": "postgres.Snapshot", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "snapshot_id": { "description": "Client-chosen ID for the snapshot. It becomes the final segment of the\nsnapshot resource name and cannot be changed after creation.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -48789,14 +49076,14 @@ "fields": { "page_size": { "description": "Maximum number of snapshots to return per page.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "page_token": { "description": "Page token from a previous response; omit for the first page.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -48807,11 +49094,11 @@ "fields": { "next_page_token": { "description": "Token to retrieve the next page; empty if there are no more pages.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "snapshots": { "description": "The snapshots in the project.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -49495,18 +49782,18 @@ "fields": { "create_time": { "description": "When the snapshot was created.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "name": { "description": "The resource name of the snapshot.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "snapshot_id": { "description": "The user-chosen ID; the final segment of `name`.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] @@ -49514,7 +49801,7 @@ "spec": { "description": "Client-provided configuration of the snapshot.", "ref": "postgres.SnapshotSpec", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -49522,14 +49809,14 @@ "status": { "description": "Server-observed state of the snapshot.", "ref": "postgres.SnapshotStatus", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "uid": { "description": "Unique system-generated ID for the snapshot.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] @@ -49564,7 +49851,7 @@ "fields": { "expire_time": { "description": "Absolute time at which the snapshot is deleted.\nMutually exclusive with `ttl` and `no_expiry`.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "IMMUTABLE", "OPTIONAL" @@ -49572,7 +49859,7 @@ }, "no_expiry": { "description": "If true, the snapshot never expires.\nMutually exclusive with `ttl` and `expire_time`.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "IMMUTABLE", "OPTIONAL" @@ -49580,14 +49867,14 @@ }, "source_branch": { "description": "The source branch to snapshot.\nFormat: projects/{project_id}/branches/{branch_id}", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "IMMUTABLE" ] }, "source_branch_lsn": { "description": "LSN to snapshot from, e.g. `16/B374D848`.\nMutually exclusive with `source_branch_time`.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "IMMUTABLE", "OPTIONAL" @@ -49595,7 +49882,7 @@ }, "source_branch_time": { "description": "Timestamp to snapshot from.\nMutually exclusive with `source_branch_lsn`.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "IMMUTABLE", "OPTIONAL" @@ -49603,7 +49890,7 @@ }, "ttl": { "description": "Time-to-live. The snapshot expires this long after it is created.\nMutually exclusive with `expire_time` and `no_expiry`. Reads report the\nresolved absolute `expire_time` instead.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "IMMUTABLE", "INPUT_ONLY", @@ -49617,35 +49904,35 @@ "fields": { "diff_size_bytes": { "description": "Incremental storage size in bytes since the previous snapshot. Unset when\nthe snapshot is not billed on incremental usage.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "expire_time": { "description": "Absolute time at which the snapshot is deleted.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "full_size_bytes": { "description": "Full logical size of the snapshot, in bytes.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "no_expiry": { "description": "True if the snapshot never expires.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "source_branch": { "description": "The source branch the snapshot was taken from.\nFormat: projects/{project_id}/branches/{branch_id}", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] @@ -51603,14 +51890,14 @@ ] }, "display_name": { - "description": "Human-readable display label for the sandbox. At most 256 bytes.", + "description": "Human-readable display label for the sandbox. At most 256 characters.", "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "name": { - "description": "The AIP-compliant resource name, such as \"sandboxes/my-sandbox\".", + "description": "The sandbox resource name, in the form `sandboxes/{sandbox_id}`. Derived from\n`sandbox_id`; any value supplied in a create or update request body is ignored.", "launch_stage": "PUBLIC_BETA" }, "spec": { @@ -51909,6 +52196,10 @@ "instance_profile_arn": { "description": "ARN of the instance profile that the external model will use to access AWS resources.\nYou must authenticate using an instance profile or access keys.\nIf you prefer to authenticate using access keys, see `aws_access_key_id`,\n`aws_access_key_id_plaintext`, `aws_secret_access_key` and `aws_secret_access_key_plaintext`.", "launch_stage": "GA" + }, + "uc_service_credential_name": { + "description": "The name of the Unity Catalog service credential that the external model uses to access AWS\nresources.", + "launch_stage": "PUBLIC_PREVIEW" } } }, @@ -54862,6 +55153,10 @@ "settings.CustomerFacingIngressNetworkPolicyWorkspaceApiDestination": { "description": "Matches workspace-level Databricks API endpoints for an ingress network policy rule.", "fields": { + "excluded_scopes": { + "description": "Inverse of `scopes`: matches every API scope EXCEPT those listed here\n(\"allow all except\"). Mutually exclusive with `scopes` — a single\ndestination may set at most one of the two.", + "launch_stage": "GA" + }, "scope_qualifier": { "description": "Qualifies the breadth of API access for the listed scopes. See ApiScopeQualifier.", "ref": "settings.CustomerFacingIngressNetworkPolicyApiScopeQualifier", @@ -58140,6 +58435,14 @@ "OUTPUT_ONLY" ] }, + "effective_workspace_label": { + "description": "Effective setting value for workspace_label setting. This is the final effective value of setting. To set a value use workspace_label.", + "ref": "settingsv2.WorkspaceLabelMessage", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OPTIONAL" + ] + }, "integer_val": { "description": "Setting value for integer type setting. This is the setting value set by consumers, check effective_integer_val for final setting value.", "ref": "settingsv2.IntegerMessage", @@ -58183,6 +58486,14 @@ "behaviors": [ "OPTIONAL" ] + }, + "workspace_label": { + "description": "Setting value for workspace_label setting. This is the setting value set by consumers, check effective_workspace_label for final setting value.", + "ref": "settingsv2.WorkspaceLabelMessage", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OPTIONAL" + ] } } }, @@ -58267,6 +58578,23 @@ } } }, + "settingsv2.WorkspaceLabelMessage": { + "description": "Workspace label and color for display (e.g. in account console).", + "fields": { + "color": { + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OPTIONAL" + ] + }, + "label": { + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "sharing.AuthenticationType": { "description": "The delta sharing authentication type.", "enum": [ @@ -61642,7 +61970,7 @@ "launch_stage": "GA" }, "disposition": { - "description": "The fetch disposition provides two modes of fetching results: `INLINE` and `EXTERNAL_LINKS`.\n\nStatements executed with `INLINE` disposition will return result data inline, in `JSON_ARRAY` format, in a series\nof chunks. If a given statement produces a result set with a size larger than 25 MiB,\nthat statement execution is aborted, and no result set will be available.\n\n**NOTE**\nByte limits are computed based upon internal representations of the result set data, and might not match the sizes\nvisible in JSON responses.\n\nStatements executed with `EXTERNAL_LINKS` disposition will return result data as external links: URLs that point\nto cloud storage internal to the workspace. Using `EXTERNAL_LINKS` disposition allows statements to generate\narbitrarily sized result sets for fetching up to 100 GiB. The resulting links have two important properties:\n\n1. They point to resources _external_ to the Databricks compute; therefore any associated authentication\ninformation (typically a personal access token, OAuth token, or similar) _must be removed_ when fetching from\nthese links.\n\n2. These are URLs\nwith a specific expiration, indicated in the response. The behavior when attempting to use an expired link is\ncloud specific.", + "description": "The fetch disposition provides two modes of fetching results: `INLINE` and `EXTERNAL_LINKS`.\n\nStatements executed with `INLINE` disposition will return result data inline, in `JSON_ARRAY` format, in a series\nof chunks. If a given statement produces a result set with a size larger than 25 MiB,\nthat statement execution is aborted, and no result set will be available.\n\n**NOTE**\nByte limits are computed based upon internal representations of the result set data, and might not match the sizes\nvisible in JSON responses.\n\nStatements executed with `EXTERNAL_LINKS` disposition will return result data as external links: URLs that point\nto cloud storage internal to the workspace. Using `EXTERNAL_LINKS` disposition allows statements to generate\narbitrarily sized result sets for fetching up to 100 GiB. The resulting links have two important properties:\n\n1. They point to resources _external_ to the Databricks compute; therefore any associated authentication\ninformation (typically a personal access token, OAuth token, or similar) _must be removed_ when fetching from\nthese links.\n\n2. These are short-lived cloud-storage URLs\nwith a specific expiration, indicated in the response. The behavior when attempting to use an expired link is\ncloud specific.", "ref": "sql.Disposition", "launch_stage": "GA" }, @@ -61712,7 +62040,7 @@ "launch_stage": "GA" }, "external_link": { - "description": "A URL pointing to a\nchunk of result data, hosted by an external service, with a short expiration time\n(\u003c= 15 minutes). As this URL contains a temporary credential, it should be considered sensitive\nand the client should not expose this URL in a log.", + "description": "A short-lived cloud-storage URL pointing to a chunk of result data, hosted by an external service, with a short\nexpiration time (\u003c= 15 minutes). As this URL contains a temporary credential, it should be considered sensitive\nand the client should not expose this URL in a log.", "launch_stage": "GA" }, "http_headers": { @@ -63384,7 +63712,7 @@ "sql.RestoreQueriesLegacyRequest": {}, "sql.RestoreResponse": {}, "sql.ResultData": { - "description": "Contains the result data of a single chunk when using `INLINE` disposition. When using\n`EXTERNAL_LINKS` disposition, the array `external_links` is used instead to provide\nURLs to the result data\nin cloud storage. Exactly one of these alternatives is used. (While the `external_links`\narray prepares the API to return multiple links in a single response. Currently only a single\nlink is returned.)", + "description": "Contains the result data of a single chunk when using `INLINE` disposition. When using\n`EXTERNAL_LINKS` disposition, the array `external_links` is used instead to provide\nshort-lived cloud-storage URLs to the result data\nin cloud storage. Exactly one of these alternatives is used. (While the `external_links`\narray prepares the API to return multiple links in a single response. Currently only a single\nlink is returned.)", "fields": { "byte_count": { "description": "The number of bytes in the result chunk. This field is not available when using `INLINE`\ndisposition.", @@ -63809,7 +64137,7 @@ } }, "sql.TerminationReasonCode": { - "description": "The status code indicating why the cluster was terminated", + "description": "The status code indicating why the cluster was terminated.", "enum": [ "UNKNOWN", "USER_REQUEST", @@ -65288,7 +65616,7 @@ ] }, "entity_type": { - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "launch_stage": "PUBLIC_BETA", "behaviors": [ "IMMUTABLE" @@ -69173,7 +69501,7 @@ "methods": [ { "name": "AiClassify", - "description": "Classifies content according to a set of provided labels.", + "description": "Classifies content according to a set of provided labels. For REST API requests, the default rate limit is 1,200 requests per minute per workspace. Contact your Databricks account team to request a higher limit.", "summary": "Classify text into labels.", "path": "/api/2.0/ai-functions/ai-classify", "can_use_json": true, @@ -69250,7 +69578,7 @@ }, { "name": "AiExtract", - "description": "Extracts structured data from text and documents according to a provided schema.", + "description": "Extracts structured data from text and documents according to a provided schema. For REST API requests, the default rate limit is 120 requests per minute per workspace. Contact your Databricks account team to request a higher limit.", "summary": "Extract structured data from text.", "path": "/api/2.0/ai-functions/ai-extract", "can_use_json": true, @@ -69649,6 +69977,120 @@ } ] }, + { + "name": "CreateMcpServiceUserMappedCredential", + "description": "Logs the caller in to an MCP service: creates their per-user OAuth credential, or\nre-authenticates it if one already exists. The request body carries the OAuth exchange fields.\n\nYou must be the owner of the MCP service or have `EXECUTE` on it, plus `USE_CATALOG` on the\nparent catalog and `USE_SCHEMA` on the parent schema.", + "summary": "Create an MCP service user credential.", + "path": "/api/2.1/unity-catalog/{name=mcp-services/*}/user-credentials", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_BETA", + "cli_launch_stage_label": "*Beta*", + "cli_launch_stage_banner": "This command is in Beta and may change without notice.", + "cli_launch_stage_display": "Beta", + "request": { + "pascal_name": "CreateMcpServiceUserMappedCredentialRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "login", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "McpServiceUserMappedCredentialLogin", + "is_object": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "login", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "McpServiceUserMappedCredentialLogin", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "login", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "McpServiceUserMappedCredentialLogin", + "is_object": true + } + }, + "response": { + "pascal_name": "McpServiceUserMappedCredential", + "is_object": true + }, + "all_fields": [ + { + "name": "login", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "McpServiceUserMappedCredentialLogin", + "is_object": true + } + }, + { + "name": "name", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "options", + "description": "OAuth exchange fields: `pkce_verifier`, `authorization_code`, and `oauth_redirect_uri`.", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, { "name": "CreateModelProviderService", "description": "Creates a model provider service in a Unity Catalog schema. A model\nprovider service stores authentication and request configuration for an\nexternal model provider, such as OpenAI, Azure OpenAI, or Amazon Bedrock.\nModel services reference it to invoke the provider. Specify its name in\n`model_provider_service_id`.\n\nYou must be the owner of the parent schema or have the `CREATE_SERVICE`\nand `USE_SCHEMA` privileges on the parent schema and `USE_CATALOG` on the\nparent catalog. Inline credentials additionally require `CREATE_CONNECTION`\non the parent schema. When using a Unity Catalog service credential, you\nmust have `ACCESS` on that credential.", @@ -70195,6 +70637,69 @@ } ] }, + { + "name": "DeleteMcpServiceUserMappedCredential", + "description": "Revokes (deletes) the caller's per-user OAuth credential for an MCP service (logout).\n\nYou must be the owner of the MCP service or have `EXECUTE` on it, plus `USE_CATALOG` on the\nparent catalog and `USE_SCHEMA` on the parent schema.", + "summary": "Delete an MCP service user credential.", + "path": "/api/2.1/unity-catalog/{name=mcp-services/*}/user-credentials", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_BETA", + "cli_launch_stage_label": "*Beta*", + "cli_launch_stage_banner": "This command is in Beta and may change without notice.", + "cli_launch_stage_display": "Beta", + "request": { + "pascal_name": "DeleteMcpServiceUserMappedCredentialRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "DeleteMcpServiceUserMappedCredentialResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, { "name": "DeleteModelProviderService", "description": "Deletes the model provider service identified by its resource name.\nOptionally supply an `etag` to make the delete conditional on the model\nprovider service not having changed since it was read.\n\nYou must be the owner of the model provider service or have `MANAGE` on\nit, plus `USE_CATALOG` on the parent catalog and `USE_SCHEMA` on the\nparent schema.", @@ -70243,7 +70748,75 @@ }, { "name": "name", - "description": "Resource name of the model provider service.\nFormat: `model-provider-services/{catalog}.{schema}.{model_provider_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the model provider service.\nFormat: `model-provider-services/{catalog}.{schema}.{model_provider_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Resource name of the model provider service.\nFormat: `model-provider-services/{catalog}.{schema}.{model_provider_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "DeleteModelService", + "description": "Deletes the model service identified by its resource name. Optionally\nsupply an `etag` to make the delete conditional on the model service not\nhaving changed since it was read.\n\nYou must be the owner of the model service or have `MANAGE` on it, plus\n`USE_CATALOG` on the parent catalog and `USE_SCHEMA` on the parent schema.", + "summary": "Delete a model service.", + "path": "/api/2.1/unity-catalog/{name=model-services/*}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteModelServiceRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Resource name of the model service.\nFormat: `model-services/{catalog}.{schema}.{model_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Resource name of the model service.\nFormat: `model-services/{catalog}.{schema}.{model_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ + { + "name": "etag", + "description": "Optimistic concurrency token from the most recent read. When set, the\ndelete succeeds only if the resource has not changed. Leave unset for an\nunconditional delete. For REST requests, URL-encode the base64 string\nreturned by the API when setting the `etag` query parameter.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Resource name of the model service.\nFormat: `model-services/{catalog}.{schema}.{model_service}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_path": true, "entity": { @@ -70254,7 +70827,7 @@ "required_positional_arguments": [ { "name": "name", - "description": "Resource name of the model provider service.\nFormat: `model-provider-services/{catalog}.{schema}.{model_provider_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the model service.\nFormat: `model-services/{catalog}.{schema}.{model_service}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_path": true, "entity": { @@ -70264,20 +70837,21 @@ ] }, { - "name": "DeleteModelService", - "description": "Deletes the model service identified by its resource name. Optionally\nsupply an `etag` to make the delete conditional on the model service not\nhaving changed since it was read.\n\nYou must be the owner of the model service or have `MANAGE` on it, plus\n`USE_CATALOG` on the parent catalog and `USE_SCHEMA` on the parent schema.", - "summary": "Delete a model service.", - "path": "/api/2.1/unity-catalog/{name=model-services/*}", + "name": "GetMcpService", + "description": "Returns the MCP service identified by its resource name.\n\nYou must be the owner of the MCP service or have `EXECUTE`,\n`READ_METADATA`, or `MANAGE` on it, plus `USE_CATALOG` on the parent\ncatalog and `USE_SCHEMA` on the parent schema.", + "summary": "Get an MCP service.", + "path": "/api/2.1/unity-catalog/{name=mcp-services/*}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteModelServiceRequest", + "pascal_name": "GetMcpServiceRequest", "is_object": true, "required_fields": [ { "name": "name", - "description": "Resource name of the model service.\nFormat: `model-services/{catalog}.{schema}.{model_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_path": true, "entity": { @@ -70288,7 +70862,7 @@ "required_in_url_fields": [ { "name": "name", - "description": "Resource name of the model service.\nFormat: `model-services/{catalog}.{schema}.{model_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_path": true, "entity": { @@ -70298,20 +70872,13 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "McpService", + "is_object": true }, "all_fields": [ - { - "name": "etag", - "description": "Optimistic concurrency token from the most recent read. When set, the\ndelete succeeds only if the resource has not changed. Leave unset for an\nunconditional delete. For REST requests, URL-encode the base64 string\nreturned by the API when setting the `etag` query parameter.", - "is_query": true, - "entity": { - "is_string": true - } - }, { "name": "name", - "description": "Resource name of the model service.\nFormat: `model-services/{catalog}.{schema}.{model_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_path": true, "entity": { @@ -70322,7 +70889,7 @@ "required_positional_arguments": [ { "name": "name", - "description": "Resource name of the model service.\nFormat: `model-services/{catalog}.{schema}.{model_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_path": true, "entity": { @@ -70332,21 +70899,23 @@ ] }, { - "name": "GetMcpService", - "description": "Returns the MCP service identified by its resource name.\n\nYou must be the owner of the MCP service or have `EXECUTE`,\n`READ_METADATA`, or `MANAGE` on it, plus `USE_CATALOG` on the parent\ncatalog and `USE_SCHEMA` on the parent schema.", - "summary": "Get an MCP service.", - "path": "/api/2.1/unity-catalog/{name=mcp-services/*}", + "name": "GetMcpServiceUserMappedCredential", + "description": "Returns the caller's per-user OAuth login state for an MCP service. Read\n`provisioning_info.state`: `ACTIVE` means the caller is logged in and the credential is\nusable; any other state (for example a failed or still-provisioning login) means the login has\nnot completed and the caller should log in again. If the caller has no credential yet, the RPC\nreturns `NOT_FOUND`.\n\nYou must be the owner of the MCP service or have `EXECUTE` on it, plus `USE_CATALOG` on the\nparent catalog and `USE_SCHEMA` on the parent schema.", + "summary": "Get MCP service user credential status.", + "path": "/api/2.1/unity-catalog/{name=mcp-services/*}/user-credentials", "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_BETA", + "cli_launch_stage_label": "*Beta*", + "cli_launch_stage_banner": "This command is in Beta and may change without notice.", + "cli_launch_stage_display": "Beta", "request": { - "pascal_name": "GetMcpServiceRequest", + "pascal_name": "GetMcpServiceUserMappedCredentialRequest", "is_object": true, "required_fields": [ { "name": "name", - "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", "required": true, "is_path": true, "entity": { @@ -70357,7 +70926,7 @@ "required_in_url_fields": [ { "name": "name", - "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", "required": true, "is_path": true, "entity": { @@ -70367,13 +70936,13 @@ ] }, "response": { - "pascal_name": "McpService", + "pascal_name": "McpServiceUserMappedCredential", "is_object": true }, "all_fields": [ { "name": "name", - "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", "required": true, "is_path": true, "entity": { @@ -70384,7 +70953,7 @@ "required_positional_arguments": [ { "name": "name", - "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Resource name of the MCP service.\nFormat: `mcp-services/{catalog}.{schema}.{mcp_service}`.", "required": true, "is_path": true, "entity": { @@ -70766,7 +71335,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`. Wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`.", "required": true, "is_query": true, "entity": { @@ -70786,7 +71355,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`. Wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`.", "required": true, "is_query": true, "entity": { @@ -70851,7 +71420,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`. Wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`.", "required": true, "is_query": true, "entity": { @@ -70962,7 +71531,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`. Wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.source_connection.name`, `config.include_tool_selectors`, or\n`config.rate_limits`.", "required": true, "is_query": true, "entity": { @@ -71007,7 +71576,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable, and wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable.", "required": true, "is_query": true, "entity": { @@ -71027,7 +71596,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable, and wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable.", "required": true, "is_query": true, "entity": { @@ -71092,7 +71661,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable, and wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable.", "required": true, "is_query": true, "entity": { @@ -71203,7 +71772,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable, and wildcard paths such as `*` are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`; `config.provider` to replace the active provider-specific value\n(for example, `config.openai`; the mask path remains `config.provider`);\n`config.allow_all_targets`, `config.targets`, `config.forward_headers`,\n`config.forward_query_parameters`, `config.forward_unmanaged_paths`,\n`config.rate_limits`, or `config.inference_table`. The provider type is\nimmutable.", "required": true, "is_query": true, "entity": { @@ -71248,7 +71817,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback`, and wildcard paths such\nas `*`, are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback` are not supported.", "required": true, "is_query": true, "entity": { @@ -71268,7 +71837,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback`, and wildcard paths such\nas `*`, are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback` are not supported.", "required": true, "is_query": true, "entity": { @@ -71333,7 +71902,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback`, and wildcard paths such\nas `*`, are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback` are not supported.", "required": true, "is_query": true, "entity": { @@ -71456,7 +72025,7 @@ }, { "name": "update_mask", - "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback`, and wildcard paths such\nas `*`, are not supported.", + "description": "Fields to update. Use `config` to replace the entire configuration. The\nreplacement must include every required field; any optional field you omit\nis cleared. To preserve sibling fields, use one or more granular paths:\n`comment`, `config.routing.destinations`,\n`config.routing.fallback.destinations`,\n`config.rate_limits`, or `config.inference_table`. Intermediate paths such\nas `config.routing` and `config.routing.fallback` are not supported.", "required": true, "is_query": true, "entity": { @@ -94162,6 +94731,9 @@ { "content": "TERADATA" }, + { + "content": "TIKTOK_ADS" + }, { "content": "UNKNOWN_CONNECTION_TYPE" }, @@ -94291,6 +94863,9 @@ { "content": "TERADATA" }, + { + "content": "TIKTOK_ADS" + }, { "content": "UNKNOWN_CONNECTION_TYPE" }, @@ -94424,6 +94999,9 @@ { "content": "TERADATA" }, + { + "content": "TIKTOK_ADS" + }, { "content": "UNKNOWN_CONNECTION_TYPE" }, @@ -116339,7 +116917,7 @@ }, { "name": "DeleteRuns", - "description": "Bulk delete runs in an experiment that were created prior to or at the specified timestamp. Deletes at most\nmax_runs per request. To call this API from a Databricks Notebook in Python, you can use the client code snippet on", + "description": "Bulk delete runs in an experiment that were created prior to or at the specified timestamp. Deletes at most\nmax_runs per request. See the cloud-specific MLflow runs documentation for a Python client example.", "summary": "Delete runs by creation time.", "path": "/api/2.0/mlflow/databricks/runs/delete-runs", "can_use_json": true, @@ -118070,7 +118648,7 @@ }, { "name": "RestoreRuns", - "description": "Bulk restore runs in an experiment that were deleted no earlier than the specified timestamp. Restores at most\nmax_runs per request. To call this API from a Databricks Notebook in Python, you can use the client code snippet on", + "description": "Bulk restore runs in an experiment that were deleted no earlier than the specified timestamp. Restores at most\nmax_runs per request. See the cloud-specific MLflow runs documentation for a Python client example.", "summary": "Restore runs by deletion time.", "path": "/api/2.0/mlflow/databricks/runs/restore-runs", "can_use_json": true, @@ -128691,7 +129269,7 @@ }, { "name": "UpdateOnlineStore", - "description": "Update an Online Feature Store.", + "description": "Update an Online Feature Store.\n\nThis update is not guaranteed to be atomic: when a request changes multiple fields, some may\nbe applied while others fail. On a failed response, treat the update as partially applied and\nretry until it succeeds.", "summary": "Update an Online Feature Store.", "path": "/api/2.0/feature-store/online-stores/{name}", "can_use_json": true, @@ -130984,8 +131562,8 @@ "methods": [ { "name": "CreateMessage", - "description": "Create new message in a [conversation](:method:genie/startconversation).\nThe AI response uses all previously created messages in the conversation to respond.", - "summary": "Create conversation message.", + "description": "Sends a new message in a chat-mode [conversation](:method:genie/startconversation).\nThe AI response uses all previously created messages in the conversation to respond.", + "summary": "Chat mode: Send a message.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages", "can_use_json": true, "is_crud_create": true, @@ -131226,7 +131804,7 @@ { "name": "CreateMessageComment", "description": "Create a comment on a conversation message.", - "summary": "Create message comment.", + "summary": "Add a comment to a message.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/comments", "can_use_json": true, "is_crud_create": true, @@ -131497,7 +132075,7 @@ { "name": "CreateSpace", "description": "Creates a Genie space from a serialized payload.", - "summary": "Create Genie Space.", + "summary": "Create a Genie space.", "path": "/api/2.0/genie/spaces", "can_use_json": true, "has_required_positional_arguments": true, @@ -131661,7 +132239,7 @@ { "name": "DeleteConversation", "description": "Delete a conversation.", - "summary": "Delete conversation.", + "summary": "Delete a conversation.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}", "has_required_positional_arguments": true, "launch_stage": "GA", @@ -131757,7 +132335,7 @@ { "name": "DeleteConversationMessage", "description": "Delete a conversation message.", - "summary": "Delete conversation message.", + "summary": "Delete a conversation message.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}", "has_required_positional_arguments": true, "launch_stage": "GA", @@ -131889,7 +132467,7 @@ { "name": "DownloadMessageAttachmentVisualization", "description": "Download a rendered image of a message visualization attachment.\nThe response body is the raw PNG image, not a JSON payload.\nThis is only available if the attachment is a visualization and the message status is `COMPLETED`.\nThis endpoint is not supported for Private Link workspaces.", - "summary": "Download message attachment visualization.", + "summary": "Download an attachment visualization.", "path": "/api/2.0/genie/{name=spaces/*/conversations/*/messages/*/attachments/*}/download-visualization", "is_crud_read": true, "is_response_byte_stream": true, @@ -131955,7 +132533,7 @@ { "name": "ExecuteMessageAttachmentQuery", "description": "Execute the SQL for a message query attachment. Use this API when the query attachment has expired and needs to be re-executed.", - "summary": "Execute message attachment SQL query.", + "summary": "Execute an attachment SQL query.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/execute-query", "has_required_positional_arguments": true, "launch_stage": "GA", @@ -132257,8 +132835,8 @@ }, { "name": "GenerateDownloadFullQueryResult", - "description": "Initiates a new SQL execution and returns a `download_id` and `download_id_signature` that you can use to track the progress of the download.\nThe query result is stored in an external link and can be retrieved using the [Get Download Full Query Result](:method:genie/getdownloadfullqueryresult) API.\nBoth `download_id` and `download_id_signature` must be provided when calling the Get endpoint.\n\n----\n\n### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.**\n\nWhen you use the `EXTERNAL_LINKS` disposition, a\nshort-lived, URL is generated, which can be\nused to download the results directly\nfrom . As a\nshort-lived is\nembedded in this URL, you should protect\nthe URL.\n\nBecause URLs are already generated with\nembedded temporary s,\nyou must not set an `Authorization` header in the download requests.\n\nSee [Execute Statement](:method:statementexecution/executestatement) for more details.\n\n----", - "summary": "Generate full query result download.", + "description": "Initiates a new SQL execution and returns a `download_id` and `download_id_signature` that you can use to track the progress of the download.\nThe query result is stored in an external link and can be retrieved using the [Get Download Full Query Result](:method:genie/getdownloadfullqueryresult) API.\nBoth `download_id` and `download_id_signature` must be provided when calling the Get endpoint.\n\n----\n\n### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.**\n\nWhen you use the `EXTERNAL_LINKS` disposition, a short-lived cloud-storage URL is generated to download the\nresults. The URL contains temporary access credentials, so protect it and do not set an `Authorization` header in\nthe download request.\n\nSee [Execute Statement](:method:statementexecution/executestatement) for more details.\n\n----", + "summary": "Start a full query-result download.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/downloads", "has_required_positional_arguments": true, "launch_stage": "GA", @@ -132427,7 +133005,7 @@ { "name": "GenieCancelResponse", "description": "Cancels an in-flight agent-mode response. `response_id` is the id returned in the\n`response.created` event from the agent-mode responses endpoint. The response stops at\nthe next agent boundary and its terminal state is returned.", - "summary": "Cancel Genie agent response.", + "summary": "Agent mode: Cancel a response.", "path": "/api/2.0/genie/agents/{agent_id}/conversations/{conversation_id}/responses/{response_id}/cancel", "has_required_positional_arguments": true, "launch_stage": "GA", @@ -132636,8 +133214,8 @@ }, { "name": "GenieCreateEvalRun", - "description": "Create and run evaluations for multiple benchmark questions in a Genie space.", - "summary": "Create eval run for benchmarks.", + "description": "Creates and runs chat-mode evaluations for multiple benchmark questions in a Genie space.", + "summary": "Start a benchmark evaluation run.", "path": "/api/2.0/genie/spaces/{space_id}/eval-runs", "can_use_json": true, "has_required_positional_arguments": true, @@ -132930,7 +133508,7 @@ { "name": "GenieGetEvalRun", "description": "Get evaluation run details.", - "summary": "Get benchmark evaluation run.", + "summary": "Get a benchmark evaluation run.", "path": "/api/2.0/genie/spaces/{space_id}/eval-runs/{eval_run_id}", "is_crud_read": true, "has_required_positional_arguments": true, @@ -133049,7 +133627,7 @@ { "name": "GenieListEvalResults", "description": "List evaluation results for a specific evaluation run.", - "summary": "List benchmark evaluation results.", + "summary": "List results for a benchmark evaluation run.", "path": "/api/2.0/genie/spaces/{space_id}/eval-runs/{eval_run_id}/results", "is_crud_read": true, "has_required_positional_arguments": true, @@ -133165,7 +133743,7 @@ { "name": "GenieListEvalRuns", "description": "Lists all evaluation runs in a space.", - "summary": "List all evaluation runs in the space.", + "summary": "List benchmark evaluation runs.", "path": "/api/2.0/genie/spaces/{space_id}/eval-runs", "is_crud_read": true, "has_required_positional_arguments": true, @@ -133244,8 +133822,8 @@ }, { "name": "GetDownloadFullQueryResult", - "description": "After [Generating a Full Query Result Download](:method:genie/generatedownloadfullqueryresult) and successfully receiving a `download_id` and `download_id_signature`, use this API to poll the download progress.\nBoth `download_id` and `download_id_signature` are required to call this endpoint.\nWhen the download is complete, the API returns the result in the `EXTERNAL_LINKS` disposition, containing one or more external links to the query result files.\n\n----\n\n### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.**\n\nWhen you use the `EXTERNAL_LINKS` disposition, a\nshort-lived, URL is generated, which can be\nused to download the results directly\nfrom . As a\nshort-lived is\nembedded in this URL, you should protect\nthe URL.\n\nBecause URLs are already generated with\nembedded temporary s,\nyou must not set an `Authorization` header in the download requests.\n\nSee [Execute Statement](:method:statementexecution/executestatement) for more details.\n\n----", - "summary": "Get download full query result.", + "description": "After [Generating a Full Query Result Download](:method:genie/generatedownloadfullqueryresult) and successfully receiving a `download_id` and `download_id_signature`, use this API to poll the download progress.\nBoth `download_id` and `download_id_signature` are required to call this endpoint.\nWhen the download is complete, the API returns the result in the `EXTERNAL_LINKS` disposition, containing one or more external links to the query result files.\n\n----\n\n### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.**\n\nWhen you use the `EXTERNAL_LINKS` disposition, a short-lived cloud-storage URL is generated to download the\nresults. The URL contains temporary access credentials, so protect it and do not set an `Authorization` header in\nthe download request.\n\nSee [Execute Statement](:method:statementexecution/executestatement) for more details.\n\n----", + "summary": "Get full query-result download status.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/downloads/{download_id}", "has_required_positional_arguments": true, "launch_stage": "GA", @@ -133485,8 +134063,8 @@ }, { "name": "GetMessage", - "description": "Get message from conversation.", - "summary": "Get conversation message.", + "description": "Gets a message from a chat-mode or agent-mode conversation.\nFor a complete agent-mode transcript, use the List conversation items endpoint.", + "summary": "Get a conversation message.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}", "is_crud_read": true, "has_required_positional_arguments": true, @@ -133697,7 +134275,7 @@ { "name": "GetMessageAttachmentQueryResult", "description": "Get the result of SQL query if the message has a query attachment.\nThis is only available if a message has a query attachment and the message status is `EXECUTING_QUERY` OR `COMPLETED`.", - "summary": "Get message attachment SQL query result.", + "summary": "Get an attachment SQL result.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/query-result", "is_crud_read": true, "has_required_positional_arguments": true, @@ -134173,7 +134751,7 @@ { "name": "GetSpace", "description": "Get details of a Genie Space.", - "summary": "Get Genie Space.", + "summary": "Get a Genie space.", "path": "/api/2.0/genie/spaces/{space_id}", "has_required_positional_arguments": true, "launch_stage": "GA", @@ -134283,7 +134861,7 @@ { "name": "ListConversationComments", "description": "List all comments across all messages in a conversation.", - "summary": "List conversation comments.", + "summary": "List all comments in a conversation.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/list-comments", "is_crud_read": true, "has_required_positional_arguments": true, @@ -134398,7 +134976,7 @@ }, { "name": "ListConversationMessages", - "description": "List messages in a conversation", + "description": "Lists messages in a chat-mode or agent-mode conversation.\nAgent-mode messages are returned as GenieMessage projections. Use the List conversation items\nendpoint for the complete reasoning and tool-call history.", "summary": "List conversation messages.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages", "is_crud_read": true, @@ -134513,7 +135091,7 @@ { "name": "ListConversations", "description": "Get a list of conversations in a Genie Space.", - "summary": "List conversations in a Genie Space.", + "summary": "List conversations.", "path": "/api/2.0/genie/spaces/{space_id}/conversations", "has_required_positional_arguments": true, "launch_stage": "GA", @@ -134598,7 +135176,7 @@ { "name": "ListMessageComments", "description": "List comments on a specific conversation message.", - "summary": "List message comments.", + "summary": "List comments on a message.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/comments", "is_crud_read": true, "has_required_positional_arguments": true, @@ -134784,8 +135362,8 @@ }, { "name": "SendMessageFeedback", - "description": "Send feedback for a message.", - "summary": "Send message feedback.", + "description": "Sends feedback for a message in a chat-mode or agent-mode conversation.", + "summary": "Send feedback on a message.", "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/feedback", "can_use_json": true, "has_required_positional_arguments": true, @@ -135008,8 +135586,8 @@ }, { "name": "StartConversation", - "description": "Start a new conversation.", - "summary": "Start conversation.", + "description": "Starts a new chat-mode conversation and sends its first message.", + "summary": "Chat mode: Start a conversation.", "path": "/api/2.0/genie/spaces/{space_id}/start-conversation", "can_use_json": true, "has_required_positional_arguments": true, @@ -135177,7 +135755,7 @@ { "name": "TrashSpace", "description": "Move a Genie Space to the trash.", - "summary": "Trash Genie Space.", + "summary": "Trash a Genie space.", "path": "/api/2.0/genie/spaces/{space_id}", "has_required_positional_arguments": true, "launch_stage": "GA", @@ -135237,7 +135815,7 @@ { "name": "UpdateSpace", "description": "Updates a Genie space with a serialized payload.", - "summary": "Update Genie Space.", + "summary": "Update a Genie space.", "path": "/api/2.0/genie/spaces/{space_id}", "can_use_json": true, "has_required_positional_arguments": true, @@ -138112,7 +138690,7 @@ { "id": "iamv2.AccountIamV2", "name": "AccountIamV2", - "description": "These APIs are used to manage identities and the workspace access of these identities in \u003cDatabricks\u003e.", + "description": "These APIs are used to manage identities and the workspace access of these identities in Databricks.", "package": { "name": "iamv2" }, @@ -138399,7 +138977,7 @@ "required_fields": [ { "name": "group", - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138411,7 +138989,7 @@ "required_request_body_fields": [ { "name": "group", - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138423,7 +139001,7 @@ }, "request_body_field": { "name": "group", - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138438,7 +139016,7 @@ "all_fields": [ { "name": "group", - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138500,7 +139078,7 @@ "required_fields": [ { "name": "service_principal", - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138512,7 +139090,7 @@ "required_request_body_fields": [ { "name": "service_principal", - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138524,7 +139102,7 @@ }, "request_body_field": { "name": "service_principal", - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138653,7 +139231,7 @@ "all_fields": [ { "name": "service_principal", - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138827,7 +139405,7 @@ "required_fields": [ { "name": "user", - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138839,7 +139417,7 @@ "required_request_body_fields": [ { "name": "user", - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -138851,7 +139429,7 @@ }, "request_body_field": { "name": "user", - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -139016,7 +139594,7 @@ "all_fields": [ { "name": "user", - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -139226,7 +139804,7 @@ }, { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -139249,7 +139827,7 @@ "required_request_body_fields": [ { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -139261,7 +139839,7 @@ }, "request_body_field": { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -139322,7 +139900,7 @@ "all_fields": [ { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -139520,7 +140098,7 @@ }, { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -139543,7 +140121,7 @@ "required_request_body_fields": [ { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -139555,7 +140133,7 @@ }, "request_body_field": { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -139616,7 +140194,7 @@ "all_fields": [ { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -142000,7 +142578,7 @@ }, { "name": "group", - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142041,7 +142619,7 @@ "required_request_body_fields": [ { "name": "group", - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142053,7 +142631,7 @@ }, "request_body_field": { "name": "group", - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142068,7 +142646,7 @@ "all_fields": [ { "name": "group", - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142177,7 +142755,7 @@ }, { "name": "service_principal", - "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service Principal to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142218,7 +142796,7 @@ "required_request_body_fields": [ { "name": "service_principal", - "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service Principal to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142230,7 +142808,7 @@ }, "request_body_field": { "name": "service_principal", - "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service Principal to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142359,7 +142937,7 @@ "all_fields": [ { "name": "service_principal", - "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service Principal to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142578,7 +143156,7 @@ }, { "name": "user", - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142619,7 +143197,7 @@ "required_request_body_fields": [ { "name": "user", - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142631,7 +143209,7 @@ }, "request_body_field": { "name": "user", - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -142805,7 +143383,7 @@ }, { "name": "user", - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -143052,7 +143630,7 @@ }, { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -143102,7 +143680,7 @@ "required_request_body_fields": [ { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -143114,7 +143692,7 @@ }, "request_body_field": { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -143193,7 +143771,7 @@ }, { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -143419,7 +143997,7 @@ }, { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -143469,7 +144047,7 @@ "required_request_body_fields": [ { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -143481,7 +144059,7 @@ }, "request_body_field": { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -143560,7 +144138,7 @@ }, { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -146368,7 +146946,7 @@ }, { "name": "environments", - "description": "A list of task execution environment specifications that can be referenced by serverless tasks of this job.\nFor serverless notebook tasks, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment.\nFor other serverless tasks, the task environment is required to be specified using environment_key in the task settings.", + "description": "A list of task execution environment specifications that can be referenced by tasks that use serverless compute or a compute resource that uses Environments mode.\n\nFor notebook tasks that use serverless compute or a compute resource that uses Environments mode, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment.\nFor other tasks that use serverless compute or a compute resource that uses Environments mode, the task environment is required to be specified using environment_key in the task settings.", "is_request_body_field": true, "entity": { "pascal_name": "JobEnvironmentList", @@ -146473,7 +147051,7 @@ }, { "name": "performance_target", - "description": "The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "is_request_body_field": true, "entity": { "pascal_name": "PerformanceTarget", @@ -147425,7 +148003,7 @@ }, { "name": "performance_target", - "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "is_request_body_field": true, "entity": { "pascal_name": "PerformanceTarget", @@ -147769,7 +148347,7 @@ }, { "name": "performance_target", - "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "is_request_body_field": true, "entity": { "pascal_name": "PerformanceTarget", @@ -148065,7 +148643,7 @@ }, { "name": "performance_target", - "description": "The performance mode on a serverless one-time run. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless one-time run. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "is_request_body_field": true, "entity": { "pascal_name": "PerformanceTarget", @@ -151552,7 +152130,7 @@ "methods": [ { "name": "Create", - "description": "Create a draft dashboard.\n\nRequires the Databricks SQL access entitlement.", + "description": "Create a draft dashboard.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Create dashboard.", "path": "/api/2.0/lakeview/dashboards", "can_use_json": true, @@ -151730,7 +152308,7 @@ }, { "name": "CreateSchedule", - "description": "Create dashboard schedule.", + "description": "Create dashboard schedule.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Create dashboard schedule.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules", "can_use_json": true, @@ -152016,7 +152594,7 @@ }, { "name": "CreateSubscription", - "description": "Create schedule subscription.", + "description": "Create schedule subscription.\n\nThe caller must be a workspace user with one of the following\n[entitlements](https://docs.databricks.com/security/auth/entitlements):\nWorkspace access, Databricks SQL access, or Consumer access.\n\nAccount-level users who are not members of the workspace cannot call this\nendpoint, even if the dashboard has been shared with them.", "summary": "Create schedule subscription.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions", "can_use_json": true, @@ -152338,7 +152916,7 @@ }, { "name": "DeleteSchedule", - "description": "Delete dashboard schedule.", + "description": "Delete dashboard schedule.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Delete dashboard schedule.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}", "has_required_positional_arguments": true, @@ -152442,7 +153020,7 @@ }, { "name": "DeleteSubscription", - "description": "Delete schedule subscription.", + "description": "Delete schedule subscription.\n\nThe caller must be a workspace user with one of the following\n[entitlements](https://docs.databricks.com/security/auth/entitlements):\nWorkspace access, Databricks SQL access, or Consumer access.\n\nAccount-level users who are not members of the workspace cannot call this\nendpoint, even if the dashboard has been shared with them.", "summary": "Delete schedule subscription.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions/{subscription_id}", "has_required_positional_arguments": true, @@ -152582,7 +153160,7 @@ }, { "name": "Get", - "description": "Get a draft dashboard.\n\nRequires the Databricks SQL access entitlement.", + "description": "Get a draft dashboard.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Get dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", "is_crud_read": true, @@ -152706,7 +153284,7 @@ }, { "name": "GetSchedule", - "description": "Get dashboard schedule.", + "description": "Get dashboard schedule.\n\nThe caller must be a workspace user with one of the following\n[entitlements](https://docs.databricks.com/security/auth/entitlements):\nWorkspace access, Databricks SQL access, or Consumer access.\n\nAccount-level users who are not members of the workspace cannot call this\nendpoint, even if the dashboard has been shared with them.", "summary": "Get dashboard schedule.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}", "is_crud_read": true, @@ -152829,7 +153407,7 @@ }, { "name": "GetSubscription", - "description": "Get schedule subscription.", + "description": "Get schedule subscription.\n\nThe caller must be a workspace user with one of the following\n[entitlements](https://docs.databricks.com/security/auth/entitlements):\nWorkspace access, Databricks SQL access, or Consumer access.\n\nAccount-level users who are not members of the workspace cannot call this\nendpoint, even if the dashboard has been shared with them.", "summary": "Get schedule subscription.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions/{subscription_id}", "is_crud_read": true, @@ -152988,7 +153566,7 @@ }, { "name": "List", - "description": "List dashboards.\n\nRequires the Databricks SQL access entitlement.", + "description": "List dashboards.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "List dashboards.", "path": "/api/2.0/lakeview/dashboards", "has_required_positional_arguments": true, @@ -153056,7 +153634,7 @@ }, { "name": "ListSchedules", - "description": "List dashboard schedules.", + "description": "List dashboard schedules.\n\nThe caller must be a workspace user with one of the following\n[entitlements](https://docs.databricks.com/security/auth/entitlements):\nWorkspace access, Databricks SQL access, or Consumer access.\n\nAccount-level users who are not members of the workspace cannot call this\nendpoint, even if the dashboard has been shared with them.", "summary": "List dashboard schedules.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules", "has_required_positional_arguments": true, @@ -153145,7 +153723,7 @@ }, { "name": "ListSubscriptions", - "description": "List schedule subscriptions.", + "description": "List schedule subscriptions.\n\nThe caller must be a workspace user with one of the following\n[entitlements](https://docs.databricks.com/security/auth/entitlements):\nWorkspace access, Databricks SQL access, or Consumer access.\n\nAccount-level users who are not members of the workspace cannot call this\nendpoint, even if the dashboard has been shared with them.", "summary": "List schedule subscriptions.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions", "has_required_positional_arguments": true, @@ -153358,7 +153936,7 @@ }, { "name": "Publish", - "description": "Publish the current draft dashboard.\n\nRequires the Databricks SQL access entitlement.", + "description": "Publish the current draft dashboard.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Publish dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", "can_use_json": true, @@ -153437,7 +154015,7 @@ }, { "name": "Revert", - "description": "Revert a dashboard's definition in draft mode to the last published version.\n\nRequires the Databricks SQL access entitlement.", + "description": "Revert a dashboard's definition in draft mode to the last published version.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Revert dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/revert", "can_use_json": true, @@ -153508,7 +154086,7 @@ }, { "name": "Trash", - "description": "Trash a dashboard.\n\nRequires the Databricks SQL access entitlement.", + "description": "Trash a dashboard.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Trash dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", "has_required_positional_arguments": true, @@ -153570,7 +154148,7 @@ }, { "name": "Unpublish", - "description": "Unpublish the dashboard.\n\nRequires the Databricks SQL access entitlement.", + "description": "Unpublish the dashboard.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Unpublish dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", "has_required_positional_arguments": true, @@ -153632,7 +154210,7 @@ }, { "name": "Update", - "description": "Update a draft dashboard.\n\nRequires the Databricks SQL access entitlement.", + "description": "Update a draft dashboard.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Update dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", "can_use_json": true, @@ -153853,7 +154431,7 @@ }, { "name": "UpdateSchedule", - "description": "Update dashboard schedule.", + "description": "Update dashboard schedule.\n\nRequires the [Databricks SQL access](https://docs.databricks.com/security/auth/entitlements)\nentitlement. Grant Databricks SQL access in addition to Workspace access.", "summary": "Update dashboard schedule.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}", "can_use_json": true, @@ -162244,7 +162822,7 @@ }, { "name": "List", - "description": "List model versions. You can list model versions under a particular schema,\nor list all model versions in the current metastore.\n\nThe returned models are filtered based on the privileges of the calling user.\nFor example, the metastore admin is able to list all the model versions.\nA regular user needs to be the owner or have the **EXECUTE** privilege\non the parent registered model to receive the model versions in the response.\nFor the latter case, the caller must also be the owner or have the **USE_CATALOG**\nprivilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.\n\nThere is no guarantee of a specific ordering of the elements in the response. The\nelements in the response will not contain any aliases or tags.\n\nPAGINATION BEHAVIOR: The API is by default paginated, a page may contain zero results while still providing a next_page_token.\nClients must continue reading pages until next_page_token is absent, which is the only indication that the end of results has been reached.", + "description": "List the model versions of the specified registered model, identified by its\nfull three-level name (catalog.schema.model).\n\nThe returned models are filtered based on the privileges of the calling user.\nFor example, the metastore admin is able to list all the model versions.\nA regular user needs to be the owner or have the **EXECUTE** privilege\non the parent registered model to receive the model versions in the response.\nFor the latter case, the caller must also be the owner or have the **USE_CATALOG**\nprivilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.\n\nThere is no guarantee of a specific ordering of the elements in the response. The\nelements in the response will not contain any aliases or tags.\n\nPAGINATION BEHAVIOR: The API is by default paginated, a page may contain zero results while still providing a next_page_token.\nClients must continue reading pages until next_page_token is absent, which is the only indication that the end of results has been reached.", "summary": "List Model Versions.", "path": "/api/2.1/unity-catalog/models/{full_name}/versions", "has_required_positional_arguments": true, @@ -167276,6 +167854,14 @@ ] } }, + { + "name": "development", + "description": "Whether the update is started in the development mode.\nThis is recommended for interactive development and testing.\nReuses compute for faster iteration and disables automatic retries.\nNot recommended for production.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, { "name": "full_refresh", "description": "If true, this update will reset all tables before running.", @@ -167983,6 +168569,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -168034,6 +168623,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -168094,6 +168686,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -168145,6 +168740,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -168211,6 +168809,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -168262,6 +168863,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -168322,6 +168926,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -168373,6 +168980,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -168444,6 +169054,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -168495,6 +169108,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -168555,6 +169171,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -168606,6 +169225,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -168714,6 +169336,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -168765,6 +169390,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -168835,6 +169463,176 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, + { + "content": "CATALOG" + }, + { + "content": "CLEAN_ROOM" + }, + { + "content": "CONNECTION" + }, + { + "content": "CREDENTIAL" + }, + { + "content": "EXTERNAL_LOCATION" + }, + { + "content": "EXTERNAL_METADATA" + }, + { + "content": "FUNCTION" + }, + { + "content": "MCP_SERVICE" + }, + { + "content": "METASTORE" + }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "content": "SHARE" + }, + { + "content": "SKILL" + }, + { + "content": "STAGING_TABLE" + }, + { + "content": "STORAGE_CREDENTIAL" + }, + { + "content": "TABLE" + }, + { + "content": "VOLUME" + } + ] + } + }, + { + "name": "policy_type", + "description": "Type of the policy. Required on create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PolicyType", + "enum": [ + { + "content": "POLICY_TYPE_COLUMN_MASK" + }, + { + "content": "POLICY_TYPE_DENY" + }, + { + "content": "POLICY_TYPE_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + }, + { + "name": "row_filter", + "description": "Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.\nRequired on create and optional on update. When specified on update,\nthe new options will replace the existing options as a whole.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RowFilterOptions", + "is_object": true + } + }, + { + "name": "to_principals", + "description": "List of user or group names that the policy applies to.\nRequired on create and optional on update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "updated_at", + "description": "Time at which the policy was last modified, in epoch milliseconds. Output only.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "updated_by", + "description": "Username of the user who last modified the policy. Output only.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "when_condition", + "description": "Optional condition when the policy should take effect.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "to_principals", + "description": "List of user or group names that the policy applies to.\nRequired on create and optional on update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "for_securable_type", + "description": "Type of securables that the policy should take effect on.\nRequired on create and optional on update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "SecurableType", + "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -168887,165 +169685,7 @@ "content": "SHARE" }, { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] - } - }, - { - "name": "policy_type", - "description": "Type of the policy. Required on create.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_DENY" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] - } - }, - { - "name": "row_filter", - "description": "Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.\nRequired on create and optional on update. When specified on update,\nthe new options will replace the existing options as a whole.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RowFilterOptions", - "is_object": true - } - }, - { - "name": "to_principals", - "description": "List of user or group names that the policy applies to.\nRequired on create and optional on update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "updated_at", - "description": "Time at which the policy was last modified, in epoch milliseconds. Output only.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "updated_by", - "description": "Username of the user who last modified the policy. Output only.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "when_condition", - "description": "Optional condition when the policy should take effect.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "to_principals", - "description": "List of user or group names that the policy applies to.\nRequired on create and optional on update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "for_securable_type", - "description": "Type of securables that the policy should take effect on.\nRequired on create and optional on update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "SecurableType", - "enum": [ - { - "content": "CATALOG" - }, - { - "content": "CLEAN_ROOM" - }, - { - "content": "CONNECTION" - }, - { - "content": "CREDENTIAL" - }, - { - "content": "EXTERNAL_LOCATION" - }, - { - "content": "EXTERNAL_METADATA" - }, - { - "content": "FUNCTION" - }, - { - "content": "MCP_SERVICE" - }, - { - "content": "METASTORE" - }, - { - "content": "MODEL" - }, - { - "content": "MODEL_PROVIDER_SERVICE" - }, - { - "content": "MODEL_SERVICE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" + "content": "SKILL" }, { "content": "STAGING_TABLE" @@ -169316,6 +169956,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -169367,6 +170010,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -169427,6 +170073,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -169478,6 +170127,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -169834,6 +170486,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -169885,6 +170540,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -169945,6 +170603,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -169996,6 +170657,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -170062,6 +170726,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -170113,6 +170780,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -170173,6 +170843,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -170224,6 +170897,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -170322,6 +170998,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -170373,6 +171052,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -170433,6 +171115,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -170484,6 +171169,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -170600,6 +171288,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -170651,6 +171342,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -170721,6 +171415,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -170772,6 +171469,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -170909,6 +171609,9 @@ "entity": { "pascal_name": "SecurableType", "enum": [ + { + "content": "AGENT_SERVICE" + }, { "content": "CATALOG" }, @@ -170960,6 +171663,9 @@ { "content": "SHARE" }, + { + "content": "SKILL" + }, { "content": "STAGING_TABLE" }, @@ -173485,10 +174191,11 @@ "path": "/api/2.0/postgres/{parent=projects/*}/snapshots", "can_use_json": true, "is_crud_create": true, - "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "PUBLIC_BETA", + "cli_launch_stage_label": "*Beta*", + "cli_launch_stage_banner": "This command is in Beta and may change without notice.", + "cli_launch_stage_display": "Beta", "request": { "pascal_name": "CreateSnapshotRequest", "is_object": true, @@ -174480,10 +175187,11 @@ "description": "Deletes the specified snapshot.", "summary": "Delete a Snapshot.", "path": "/api/2.0/postgres/{name=projects/*/snapshots/*}", - "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "PUBLIC_BETA", + "cli_launch_stage_label": "*Beta*", + "cli_launch_stage_banner": "This command is in Beta and may change without notice.", + "cli_launch_stage_display": "Beta", "request": { "pascal_name": "DeleteSnapshotRequest", "is_object": true, @@ -175406,10 +176114,11 @@ "summary": "Get a Snapshot.", "path": "/api/2.0/postgres/{name=projects/*/snapshots/*}", "is_crud_read": true, - "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "PUBLIC_BETA", + "cli_launch_stage_label": "*Beta*", + "cli_launch_stage_banner": "This command is in Beta and may change without notice.", + "cli_launch_stage_display": "Beta", "request": { "pascal_name": "GetSnapshotRequest", "is_object": true, @@ -176194,10 +176903,11 @@ "description": "Returns a paginated list of snapshots in the project.", "summary": "List Snapshots.", "path": "/api/2.0/postgres/{parent=projects/*}/snapshots", - "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "PUBLIC_BETA", + "cli_launch_stage_label": "*Beta*", + "cli_launch_stage_banner": "This command is in Beta and may change without notice.", + "cli_launch_stage_display": "Beta", "request": { "pascal_name": "ListSnapshotsRequest", "is_object": true, @@ -189646,7 +190356,7 @@ }, { "name": "display_name", - "description": "Human-readable display label for the sandbox. At most 256 bytes.", + "description": "Human-readable display label for the sandbox. At most 256 characters.", "is_request_body_field": true, "entity": { "is_string": true @@ -189654,7 +190364,7 @@ }, { "name": "name", - "description": "The AIP-compliant resource name, such as \"sandboxes/my-sandbox\".", + "description": "The sandbox resource name, in the form `sandboxes/{sandbox_id}`. Derived from\n`sandbox_id`; any value supplied in a create or update request body is ignored.", "is_request_body_field": true, "entity": { "is_string": true @@ -190261,7 +190971,7 @@ }, { "name": "display_name", - "description": "Human-readable display label for the sandbox. At most 256 bytes.", + "description": "Human-readable display label for the sandbox. At most 256 characters.", "is_request_body_field": true, "entity": { "is_string": true @@ -190269,7 +190979,7 @@ }, { "name": "name", - "description": "The AIP-compliant resource name, such as \"sandboxes/my-sandbox\".", + "description": "The sandbox resource name, in the form `sandboxes/{sandbox_id}`. Derived from\n`sandbox_id`; any value supplied in a create or update request body is ignored.", "is_request_body_field": true, "entity": { "is_string": true @@ -198628,6 +199338,16 @@ "is_object": true } }, + { + "name": "effective_workspace_label", + "description": "Effective setting value for workspace_label setting. This is the final effective value of setting. To set a value use workspace_label.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "WorkspaceLabelMessage", + "is_object": true + } + }, { "name": "integer_val", "description": "Setting value for integer type setting. This is the setting value set by consumers, check effective_integer_val for final setting value.", @@ -198685,6 +199405,16 @@ "pascal_name": "StringMessage", "is_object": true } + }, + { + "name": "workspace_label", + "description": "Setting value for workspace_label setting. This is the setting value set by consumers, check effective_workspace_label for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "WorkspaceLabelMessage", + "is_object": true + } } ], "required_positional_arguments": [ @@ -199764,7 +200494,7 @@ }, { "name": "ExecuteStatement", - "description": "Execute a SQL statement and optionally await its results for a specified time.\n\n**Use case: small result sets with INLINE + JSON_ARRAY**\n\nFor flows that generate small and predictable result sets (\u003c= 25 MiB), `INLINE` responses of `JSON_ARRAY` result\ndata are typically the simplest way to execute and fetch result data.\n\n**Use case: large result sets with EXTERNAL_LINKS**\n\nUsing `EXTERNAL_LINKS` to fetch result data allows you to fetch large result sets efficiently.\nThe main differences from using `INLINE` disposition are that the result data is accessed\nwith URLs, and\nthat there are 3 supported formats: `JSON_ARRAY`, `ARROW_STREAM` and `CSV` compared to only `JSON_ARRAY` with\n`INLINE`.\n\n** URLs**\n\nExternal links point to data stored within your workspace's internal storage, in the form of\na URL. The URLs are valid for only a short\nperiod, \u003c= 15 minutes. Alongside each `external_link` is an expiration field indicating the time at which the URL\nis no longer valid. In `EXTERNAL_LINKS` mode, chunks can be resolved and fetched multiple times and in parallel.\n\n----\n\n### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.**\n\nWhen you use the `EXTERNAL_LINKS` disposition, a\nshort-lived, URL is generated, which can be\nused to download the results directly\nfrom . As a\nshort-lived is\nembedded in this URL, you should protect\nthe URL.\n\nBecause URLs are already generated with\nembedded temporary s,\nyou must not set an `Authorization` header in the download requests.\n\nThe `EXTERNAL_LINKS` disposition can be disabled upon request by creating a support\ncase.\n\nSee also [Security best practices](https://docs.databricks.com/sql/admin/sql-execution-tutorial.html#security-best-practices).\n\n----\n\nStatementResponse contains `statement_id` and `status`; other fields might be absent or present depending on\ncontext. If the SQL warehouse fails to execute the provided statement, a 200 response is returned with\n`status.state` set to `FAILED` (in contrast to a failure when accepting the request, which results in a non-200\nresponse). Details of the error can be found at `status.error` in case of execution failures.", + "description": "Execute a SQL statement and optionally await its results for a specified time.\n\n**Use case: small result sets with INLINE + JSON_ARRAY**\n\nFor flows that generate small and predictable result sets (\u003c= 25 MiB), `INLINE` responses of `JSON_ARRAY` result\ndata are typically the simplest way to execute and fetch result data.\n\n**Use case: large result sets with EXTERNAL_LINKS**\n\nUsing `EXTERNAL_LINKS` to fetch result data allows you to fetch large result sets efficiently.\nThe main differences from using `INLINE` disposition are that the result data is accessed\nwith short-lived cloud-storage URLs, and\nthat there are 3 supported formats: `JSON_ARRAY`, `ARROW_STREAM` and `CSV` compared to only `JSON_ARRAY` with\n`INLINE`.\n\n**External-link URLs**\n\nExternal links point to data stored within your workspace's internal cloud storage. The URLs are valid for only a\nshort period, \u003c= 15 minutes. Alongside each `external_link` is an expiration field indicating the time at which the URL\nis no longer valid. In `EXTERNAL_LINKS` mode, chunks can be resolved and fetched multiple times and in parallel.\n\n----\n\n### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.**\n\nWhen you use the `EXTERNAL_LINKS` disposition, a short-lived cloud-storage URL is generated to download the\nresults. The URL contains temporary access credentials, so protect it and do not set an `Authorization` header in\nthe download request.\n\nThe `EXTERNAL_LINKS` disposition can be disabled upon request by creating a [support case](https://docs.databricks.com/resources/support.html).\n\nSee also [Security best practices](https://docs.databricks.com/sql/admin/sql-execution-tutorial.html#security-best-practices).\n\n----\n\nStatementResponse contains `statement_id` and `status`; other fields might be absent or present depending on\ncontext. If the SQL warehouse fails to execute the provided statement, a 200 response is returned with\n`status.state` set to `FAILED` (in contrast to a failure when accepting the request, which results in a non-200\nresponse). Details of the error can be found at `status.error` in case of execution failures.", "summary": "Execute a SQL statement.", "path": "/api/2.0/sql/statements", "can_use_json": true, @@ -199839,7 +200569,7 @@ }, { "name": "disposition", - "description": "The fetch disposition provides two modes of fetching results: `INLINE` and `EXTERNAL_LINKS`.\n\nStatements executed with `INLINE` disposition will return result data inline, in `JSON_ARRAY` format, in a series\nof chunks. If a given statement produces a result set with a size larger than 25 MiB,\nthat statement execution is aborted, and no result set will be available.\n\n**NOTE**\nByte limits are computed based upon internal representations of the result set data, and might not match the sizes\nvisible in JSON responses.\n\nStatements executed with `EXTERNAL_LINKS` disposition will return result data as external links: URLs that point\nto cloud storage internal to the workspace. Using `EXTERNAL_LINKS` disposition allows statements to generate\narbitrarily sized result sets for fetching up to 100 GiB. The resulting links have two important properties:\n\n1. They point to resources _external_ to the Databricks compute; therefore any associated authentication\ninformation (typically a personal access token, OAuth token, or similar) _must be removed_ when fetching from\nthese links.\n\n2. These are URLs\nwith a specific expiration, indicated in the response. The behavior when attempting to use an expired link is\ncloud specific.", + "description": "The fetch disposition provides two modes of fetching results: `INLINE` and `EXTERNAL_LINKS`.\n\nStatements executed with `INLINE` disposition will return result data inline, in `JSON_ARRAY` format, in a series\nof chunks. If a given statement produces a result set with a size larger than 25 MiB,\nthat statement execution is aborted, and no result set will be available.\n\n**NOTE**\nByte limits are computed based upon internal representations of the result set data, and might not match the sizes\nvisible in JSON responses.\n\nStatements executed with `EXTERNAL_LINKS` disposition will return result data as external links: URLs that point\nto cloud storage internal to the workspace. Using `EXTERNAL_LINKS` disposition allows statements to generate\narbitrarily sized result sets for fetching up to 100 GiB. The resulting links have two important properties:\n\n1. They point to resources _external_ to the Databricks compute; therefore any associated authentication\ninformation (typically a personal access token, OAuth token, or similar) _must be removed_ when fetching from\nthese links.\n\n2. These are short-lived cloud-storage URLs\nwith a specific expiration, indicated in the response. The behavior when attempting to use an expired link is\ncloud specific.", "is_request_body_field": true, "entity": { "pascal_name": "Disposition", @@ -216240,7 +216970,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216269,7 +216999,7 @@ "required_request_body_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216304,7 +217034,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216333,7 +217063,7 @@ "required_request_body_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216372,7 +217102,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216401,7 +217131,7 @@ "required_request_body_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216440,7 +217170,7 @@ }, { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216468,7 +217198,7 @@ "required_positional_arguments": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216511,7 +217241,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216540,7 +217270,7 @@ "required_in_url_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216582,7 +217312,7 @@ }, { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216602,7 +217332,7 @@ "required_positional_arguments": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216646,7 +217376,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216675,7 +217405,7 @@ "required_in_url_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216709,7 +217439,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216738,7 +217468,7 @@ "required_request_body_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -216777,7 +217507,7 @@ }, { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216797,7 +217527,7 @@ "required_positional_arguments": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216840,7 +217570,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216860,7 +217590,7 @@ "required_in_url_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216894,7 +217624,7 @@ }, { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216921,7 +217651,7 @@ "required_positional_arguments": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -216969,7 +217699,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -217016,7 +217746,7 @@ "required_in_url_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -217074,7 +217804,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -217103,7 +217833,7 @@ "required_request_body_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -217138,7 +217868,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -217167,7 +217897,7 @@ "required_request_body_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -217206,7 +217936,7 @@ }, { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -217224,7 +217954,7 @@ "required_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -217253,7 +217983,7 @@ "required_request_body_fields": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -217310,7 +218040,7 @@ }, { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -217338,7 +218068,7 @@ "required_positional_arguments": [ { "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, designerfiles, geniespaces, notebooks", "required": true, "is_path": true, "entity": { @@ -217379,7 +218109,7 @@ { "id": "iamv2.WorkspaceIamV2", "name": "WorkspaceIamV2", - "description": "These APIs are used to manage identities and the workspace access of these identities in \u003cDatabricks\u003e.", + "description": "These APIs are used to manage identities and the workspace access of these identities in Databricks.", "package": { "name": "iamv2" }, @@ -217665,7 +218395,7 @@ "required_fields": [ { "name": "group", - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -217677,7 +218407,7 @@ "required_request_body_fields": [ { "name": "group", - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -217689,7 +218419,7 @@ }, "request_body_field": { "name": "group", - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -217704,7 +218434,7 @@ "all_fields": [ { "name": "group", - "description": "Required. Group to be created in \u003cDatabricks\u003e", + "description": "Required. Group to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -217766,7 +218496,7 @@ "required_fields": [ { "name": "service_principal", - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -217778,7 +218508,7 @@ "required_request_body_fields": [ { "name": "service_principal", - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -217790,7 +218520,7 @@ }, "request_body_field": { "name": "service_principal", - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -217919,7 +218649,7 @@ "all_fields": [ { "name": "service_principal", - "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "description": "Required. Service principal to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -218093,7 +218823,7 @@ "required_fields": [ { "name": "user", - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -218105,7 +218835,7 @@ "required_request_body_fields": [ { "name": "user", - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -218117,7 +218847,7 @@ }, "request_body_field": { "name": "user", - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -218282,7 +219012,7 @@ "all_fields": [ { "name": "user", - "description": "Required. User to be created in \u003cDatabricks\u003e", + "description": "Required. User to be created in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -218482,7 +219212,7 @@ "required_fields": [ { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -218494,7 +219224,7 @@ "required_request_body_fields": [ { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -218506,7 +219236,7 @@ }, "request_body_field": { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -218567,7 +219297,7 @@ "all_fields": [ { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -218738,7 +219468,7 @@ "required_fields": [ { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -218750,7 +219480,7 @@ "required_request_body_fields": [ { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -218762,7 +219492,7 @@ }, "request_body_field": { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -218823,7 +219553,7 @@ "all_fields": [ { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be created in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -220989,7 +221719,7 @@ }, { "name": "group", - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221030,7 +221760,7 @@ "required_request_body_fields": [ { "name": "group", - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221042,7 +221772,7 @@ }, "request_body_field": { "name": "group", - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221057,7 +221787,7 @@ "all_fields": [ { "name": "group", - "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "description": "Required. Group to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221166,7 +221896,7 @@ }, { "name": "service_principal", - "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service principal to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221207,7 +221937,7 @@ "required_request_body_fields": [ { "name": "service_principal", - "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service principal to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221219,7 +221949,7 @@ }, "request_body_field": { "name": "service_principal", - "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service principal to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221348,7 +222078,7 @@ "all_fields": [ { "name": "service_principal", - "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", + "description": "Required. Service principal to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221567,7 +222297,7 @@ }, { "name": "user", - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221608,7 +222338,7 @@ "required_request_body_fields": [ { "name": "user", - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221620,7 +222350,7 @@ }, "request_body_field": { "name": "user", - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -221794,7 +222524,7 @@ }, { "name": "user", - "description": "Required. User to be updated in \u003cDatabricks\u003e", + "description": "Required. User to be updated in Databricks", "required": true, "is_request_body_field": true, "entity": { @@ -222031,7 +222761,7 @@ }, { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222072,7 +222802,7 @@ "required_request_body_fields": [ { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222084,7 +222814,7 @@ }, "request_body_field": { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222163,7 +222893,7 @@ }, { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222362,7 +223092,7 @@ }, { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222403,7 +223133,7 @@ "required_request_body_fields": [ { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222415,7 +223145,7 @@ }, "request_body_field": { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222494,7 +223224,7 @@ }, { "name": "workspace_assignment", - "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222694,7 +223424,7 @@ }, { "name": "workspace_identity_detail", - "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace identity detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222735,7 +223465,7 @@ "required_request_body_fields": [ { "name": "workspace_identity_detail", - "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace identity detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222747,7 +223477,7 @@ }, "request_body_field": { "name": "workspace_identity_detail", - "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace identity detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -222780,7 +223510,7 @@ }, { "name": "workspace_identity_detail", - "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace identity detail to be updated in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -223459,6 +224189,16 @@ "is_object": true } }, + { + "name": "effective_workspace_label", + "description": "Effective setting value for workspace_label setting. This is the final effective value of setting. To set a value use workspace_label.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "WorkspaceLabelMessage", + "is_object": true + } + }, { "name": "integer_val", "description": "Setting value for integer type setting. This is the setting value set by consumers, check effective_integer_val for final setting value.", @@ -223516,6 +224256,16 @@ "pascal_name": "StringMessage", "is_object": true } + }, + { + "name": "workspace_label", + "description": "Setting value for workspace_label setting. This is the setting value set by consumers, check effective_workspace_label for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "WorkspaceLabelMessage", + "is_object": true + } } ], "required_positional_arguments": [ diff --git a/.nextchanges/dependency-updates/sdk-0.182.0.md b/.nextchanges/dependency-updates/sdk-0.182.0.md new file mode 100644 index 00000000000..32994b2a454 --- /dev/null +++ b/.nextchanges/dependency-updates/sdk-0.182.0.md @@ -0,0 +1 @@ +* Bump `github.com/databricks/databricks-sdk-go` from v0.178.0 to v0.182.0. diff --git a/acceptance/air/convert-to-dabs/output.txt b/acceptance/air/convert-to-dabs/output.txt index af9475d414a..2b60d9e5f69 100644 --- a/acceptance/air/convert-to-dabs/output.txt +++ b/acceptance/air/convert-to-dabs/output.txt @@ -158,19 +158,15 @@ resources: spec: environment_version: "6" -=== the current SDK warns about B300 but does not block bundle validation +=== the current SDK recognizes B300 so bundle validation is clean >>> [CLI] bundle validate -Warning: invalid value "GPU_8xB300" for enum field. Valid values are [GPU_1xA10 GPU_1xH100 GPU_8xH100] - at resources.jobs.b300-smoke-test.tasks[0].ai_runtime_task.deployments[0].compute.accelerator_type - in databricks.yml:24:37 - Name: b300-smoke-test Target: dev Workspace: User: [USERNAME] Path: /Workspace/Users/[USERNAME]/.bundle/b300-smoke-test/dev -Found 1 warning +Validation OK! === databricks_ai versions use a base environment >>> [CLI] air convert-to-dabs databricks-ai.yaml --force diff --git a/acceptance/air/convert-to-dabs/script b/acceptance/air/convert-to-dabs/script index dfb021aceb7..5dea9e8ae3b 100644 --- a/acceptance/air/convert-to-dabs/script +++ b/acceptance/air/convert-to-dabs/script @@ -22,7 +22,7 @@ trace $CLI air convert-to-dabs b300.yaml --output-dir generated-b300 title "the B300 bundle preserves its accelerator and AI Runtime version" trace cat generated-b300/databricks.yml -title "the current SDK warns about B300 but does not block bundle validation" +title "the current SDK recognizes B300 so bundle validation is clean" (cd generated-b300 && trace $CLI bundle validate) title "databricks_ai versions use a base environment" diff --git a/acceptance/bundle/refschema/out.fields.txt b/acceptance/bundle/refschema/out.fields.txt index a511f5e4f29..3264827f9c1 100644 --- a/acceptance/bundle/refschema/out.fields.txt +++ b/acceptance/bundle/refschema/out.fields.txt @@ -1220,6 +1220,8 @@ resources.jobs.*.tasks[*].ai_runtime_task.experiment string ALL resources.jobs.*.tasks[*].ai_runtime_task.mlflow_artifact_location string ALL resources.jobs.*.tasks[*].ai_runtime_task.mlflow_experiment_directory string ALL resources.jobs.*.tasks[*].ai_runtime_task.mlflow_run string ALL +resources.jobs.*.tasks[*].ai_runtime_task.priority_class jobs.AiRuntimeTaskPriorityClass ALL +resources.jobs.*.tasks[*].ai_runtime_task.unity_catalog_image_path string ALL resources.jobs.*.tasks[*].alert_task *jobs.AlertTask ALL resources.jobs.*.tasks[*].alert_task.alert_id string ALL resources.jobs.*.tasks[*].alert_task.parameters map[string]string ALL @@ -1309,6 +1311,8 @@ resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.experiment string A resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_artifact_location string ALL resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_experiment_directory string ALL resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_run string ALL +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.priority_class jobs.AiRuntimeTaskPriorityClass ALL +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.unity_catalog_image_path string ALL resources.jobs.*.tasks[*].for_each_task.task.alert_task *jobs.AlertTask ALL resources.jobs.*.tasks[*].for_each_task.task.alert_task.alert_id string ALL resources.jobs.*.tasks[*].for_each_task.task.alert_task.parameters map[string]string ALL @@ -2113,6 +2117,8 @@ resources.mcp_services.*.config.rate_limits[*].tokens int64 ALL resources.mcp_services.*.config.source_connection *catalog.McpServiceConfigSourceConnection ALL resources.mcp_services.*.config.source_connection.is_deleted bool ALL resources.mcp_services.*.config.source_connection.name string ALL +resources.mcp_services.*.config.source_connection.options map[string]string ALL +resources.mcp_services.*.config.source_connection.options.* string ALL resources.mcp_services.*.id string INPUT resources.mcp_services.*.lifecycle resources.Lifecycle INPUT resources.mcp_services.*.lifecycle.prevent_destroy bool INPUT @@ -2160,6 +2166,10 @@ resources.model_provider_services.*.config.custom.direct *catalog.ModelProviderS resources.model_provider_services.*.config.custom.direct.api_key *catalog.ModelProviderServiceConfigProviderSecret ALL resources.model_provider_services.*.config.custom.direct.api_key.plaintext string ALL resources.model_provider_services.*.config.custom.direct.base_url string ALL +resources.model_provider_services.*.config.custom.direct.header_auth *catalog.ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth ALL +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_name string ALL +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value *catalog.ModelProviderServiceConfigProviderSecret ALL +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value.plaintext string ALL resources.model_provider_services.*.config.forward_headers bool ALL resources.model_provider_services.*.config.forward_query_parameters bool ALL resources.model_provider_services.*.config.forward_unmanaged_paths bool ALL @@ -2341,6 +2351,7 @@ resources.model_serving_endpoints.*.config.served_entities[*].external_model.ama resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_secret_access_key_plaintext string ALL resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.bedrock_provider serving.AmazonBedrockConfigBedrockProvider ALL resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.instance_profile_arn string ALL +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.uc_service_credential_name string ALL resources.model_serving_endpoints.*.config.served_entities[*].external_model.anthropic_config *serving.AnthropicConfig ALL resources.model_serving_endpoints.*.config.served_entities[*].external_model.anthropic_config.anthropic_api_key string ALL resources.model_serving_endpoints.*.config.served_entities[*].external_model.anthropic_config.anthropic_api_key_plaintext string ALL @@ -2492,6 +2503,7 @@ resources.model_serving_endpoints.*.endpoint_details.config.served_entities[*].e resources.model_serving_endpoints.*.endpoint_details.config.served_entities[*].external_model.amazon_bedrock_config.aws_secret_access_key_plaintext string REMOTE resources.model_serving_endpoints.*.endpoint_details.config.served_entities[*].external_model.amazon_bedrock_config.bedrock_provider serving.AmazonBedrockConfigBedrockProvider REMOTE resources.model_serving_endpoints.*.endpoint_details.config.served_entities[*].external_model.amazon_bedrock_config.instance_profile_arn string REMOTE +resources.model_serving_endpoints.*.endpoint_details.config.served_entities[*].external_model.amazon_bedrock_config.uc_service_credential_name string REMOTE resources.model_serving_endpoints.*.endpoint_details.config.served_entities[*].external_model.anthropic_config *serving.AnthropicConfig REMOTE resources.model_serving_endpoints.*.endpoint_details.config.served_entities[*].external_model.anthropic_config.anthropic_api_key string REMOTE resources.model_serving_endpoints.*.endpoint_details.config.served_entities[*].external_model.anthropic_config.anthropic_api_key_plaintext string REMOTE @@ -2628,6 +2640,7 @@ resources.model_serving_endpoints.*.endpoint_details.pending_config.served_entit resources.model_serving_endpoints.*.endpoint_details.pending_config.served_entities[*].external_model.amazon_bedrock_config.aws_secret_access_key_plaintext string REMOTE resources.model_serving_endpoints.*.endpoint_details.pending_config.served_entities[*].external_model.amazon_bedrock_config.bedrock_provider serving.AmazonBedrockConfigBedrockProvider REMOTE resources.model_serving_endpoints.*.endpoint_details.pending_config.served_entities[*].external_model.amazon_bedrock_config.instance_profile_arn string REMOTE +resources.model_serving_endpoints.*.endpoint_details.pending_config.served_entities[*].external_model.amazon_bedrock_config.uc_service_credential_name string REMOTE resources.model_serving_endpoints.*.endpoint_details.pending_config.served_entities[*].external_model.anthropic_config *serving.AnthropicConfig REMOTE resources.model_serving_endpoints.*.endpoint_details.pending_config.served_entities[*].external_model.anthropic_config.anthropic_api_key string REMOTE resources.model_serving_endpoints.*.endpoint_details.pending_config.served_entities[*].external_model.anthropic_config.anthropic_api_key_plaintext string REMOTE @@ -3047,6 +3060,15 @@ resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.k resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.client_config map[string]string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.client_config.* string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer *pipelines.Transformer ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options *pipelines.AvroTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.format pipelines.TransformerFormat ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.input_column string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options *pipelines.JsonTransformerOptions ALL @@ -3056,12 +3078,31 @@ resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.k resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema_file_path string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema_hints string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.output_column string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options *pipelines.ProtobufTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.desc_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.message_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.recursive_fields_max_depth int ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.max_offsets_per_trigger int64 ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.starting_offset string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.topic_pattern string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.topics []string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.topics[*] string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer *pipelines.Transformer ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options *pipelines.AvroTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.format pipelines.TransformerFormat ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.input_column string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options *pipelines.JsonTransformerOptions ALL @@ -3071,6 +3112,16 @@ resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.k resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema_file_path string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema_hints string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.output_column string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options *pipelines.ProtobufTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.desc_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.message_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.recursive_fields_max_depth int ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options *pipelines.LinkedInAdsOptions ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options *pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptions ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.entity_granularity []pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity ALL @@ -3181,6 +3232,15 @@ resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options *pip resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.fanout_by string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms []pipelines.Transformer ALL resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*] pipelines.Transformer ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options *pipelines.AvroTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].format pipelines.TransformerFormat ALL resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].input_column string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options *pipelines.JsonTransformerOptions ALL @@ -3190,6 +3250,16 @@ resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.tran resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema_file_path string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema_hints string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].output_column string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options *pipelines.ProtobufTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.desc_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.message_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.recursive_fields_max_depth int ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.source_catalog string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.source_schema string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration *pipelines.TableSpecificConfig ALL @@ -3273,6 +3343,15 @@ resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.ka resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.client_config map[string]string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.client_config.* string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer *pipelines.Transformer ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options *pipelines.AvroTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.format pipelines.TransformerFormat ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.input_column string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options *pipelines.JsonTransformerOptions ALL @@ -3282,12 +3361,31 @@ resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.ka resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema_file_path string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema_hints string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.output_column string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options *pipelines.ProtobufTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.desc_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.message_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.recursive_fields_max_depth int ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.max_offsets_per_trigger int64 ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.starting_offset string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.topic_pattern string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.topics []string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.topics[*] string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer *pipelines.Transformer ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options *pipelines.AvroTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.format pipelines.TransformerFormat ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.input_column string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options *pipelines.JsonTransformerOptions ALL @@ -3297,6 +3395,16 @@ resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.ka resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema_file_path string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema_hints string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.output_column string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options *pipelines.ProtobufTransformerOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.desc_file_path string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.message_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode pipelines.ParseMode ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.recursive_fields_max_depth int ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry *pipelines.SchemaRegistryConfig ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options *pipelines.ConfluentSchemaRegistryOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options.subject string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.connection_name string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.protobuf_message_name string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options *pipelines.LinkedInAdsOptions ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options *pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptions ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.entity_granularity []pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity ALL @@ -3531,6 +3639,7 @@ resources.pipelines.*.restart_window.start_hour int ALL resources.pipelines.*.restart_window.time_zone_id string ALL resources.pipelines.*.root_path string ALL resources.pipelines.*.run_as *pipelines.RunAs ALL +resources.pipelines.*.run_as.group_name string ALL resources.pipelines.*.run_as.service_principal_name string ALL resources.pipelines.*.run_as.user_name string ALL resources.pipelines.*.run_as_user_name string REMOTE diff --git a/acceptance/cmd/account/account-help/output.txt b/acceptance/cmd/account/account-help/output.txt index 7eb2484cb43..43fe1306592 100644 --- a/acceptance/cmd/account/account-help/output.txt +++ b/acceptance/cmd/account/account-help/output.txt @@ -9,7 +9,7 @@ Identity and Access Management access-control *Public Preview* These APIs manage access rules on resources in an account. groups Groups simplify identity management, making it easier to assign access to Databricks account, data, and other securable objects. groups-v2 Groups simplify identity management, making it easier to assign access to Databricks account, data, and other securable objects. - iam-v2 *Beta* These APIs are used to manage identities and the workspace access of these identities in . + iam-v2 *Beta* These APIs are used to manage identities and the workspace access of these identities in Databricks. service-principals Identities for use with jobs, automated tools, and systems such as scripts, apps, and CI/CD platforms. service-principals-v2 Identities for use with jobs, automated tools, and systems such as scripts, apps, and CI/CD platforms. users User identities recognized by Databricks and represented by email addresses. diff --git a/acceptance/help/output.txt b/acceptance/help/output.txt index d572b4c32a3..cf9448901ae 100644 --- a/acceptance/help/output.txt +++ b/acceptance/help/output.txt @@ -54,7 +54,7 @@ Identity and Access Management service-principals-v2 *Public Preview* Identities for use with jobs, automated tools, and systems such as scripts, apps, and CI/CD platforms. users User identities recognized by Databricks and represented by email addresses. users-v2 *Public Preview* User identities recognized by Databricks and represented by email addresses. - workspace-iam-v2 *Beta* These APIs are used to manage identities and the workspace access of these identities in . + workspace-iam-v2 *Beta* These APIs are used to manage identities and the workspace access of these identities in Databricks. Databricks SQL alerts The alerts API can be used to perform CRUD operations on alerts. diff --git a/bundle/direct/dresources/configs/mcp_services.generated.yml b/bundle/direct/dresources/configs/mcp_services.generated.yml index 6de4a07c4c0..f9371afff03 100644 --- a/bundle/direct/dresources/configs/mcp_services.generated.yml +++ b/bundle/direct/dresources/configs/mcp_services.generated.yml @@ -3,3 +3,5 @@ ignore_remote_changes: - field: config.source_connection.is_deleted reason: spec:output_only + - field: config.source_connection.options + reason: spec:output_only diff --git a/bundle/direct/dresources/configs/model_provider_services.generated.yml b/bundle/direct/dresources/configs/model_provider_services.generated.yml index 4bb080d9e8f..d87a09b25f8 100644 --- a/bundle/direct/dresources/configs/model_provider_services.generated.yml +++ b/bundle/direct/dresources/configs/model_provider_services.generated.yml @@ -15,6 +15,8 @@ ignore_remote_changes: reason: spec:input_only - field: config.custom.direct.api_key.plaintext reason: spec:input_only + - field: config.custom.direct.header_auth.api_key_value.plaintext + reason: spec:input_only - field: config.gemini_enterprise.direct.api_key.plaintext reason: spec:input_only - field: config.microsoft_foundry.direct.api_key.plaintext diff --git a/bundle/internal/schema/annotations.yml b/bundle/internal/schema/annotations.yml index 47b9481f2fb..d0ce96db7eb 100644 --- a/bundle/internal/schema/annotations.yml +++ b/bundle/internal/schema/annotations.yml @@ -1466,9 +1466,15 @@ resources: "$fields": "key_transformer": "$fields": + "avro_options": + "description": |- + PLACEHOLDER "json_options": "description": |- PLACEHOLDER + "protobuf_options": + "description": |- + PLACEHOLDER "sharepoint_options": "description": |- PLACEHOLDER diff --git a/bundle/internal/validation/generated/enum_fields.go b/bundle/internal/validation/generated/enum_fields.go index 75b0a6f9d6d..cde86a67a1a 100644 --- a/bundle/internal/validation/generated/enum_fields.go +++ b/bundle/internal/validation/generated/enum_fields.go @@ -99,11 +99,13 @@ var EnumFields = map[string][]string{ "resources.jobs.*.permissions[*].level": {"CAN_MANAGE", "CAN_MANAGE_RUN", "CAN_VIEW", "IS_OWNER"}, "resources.jobs.*.schedule.pause_status": {"PAUSED", "UNPAUSED"}, "resources.jobs.*.schedule.sql_condition.trigger_mode": {"QUERY_RETURNS_ROWS", "RESULT_VALUE_CHANGES"}, - "resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute.accelerator_type": {"GPU_1xA10", "GPU_1xH100", "GPU_8xH100"}, + "resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute.accelerator_type": {"GPU_1xA10", "GPU_1xH100", "GPU_8xB300", "GPU_8xH100"}, + "resources.jobs.*.tasks[*].ai_runtime_task.priority_class": {"BEST_EFFORT", "CRITICAL", "NORMAL"}, "resources.jobs.*.tasks[*].compute.hardware_accelerator": {"GPU_1xA10", "GPU_1xH100", "GPU_8xB300", "GPU_8xH100"}, "resources.jobs.*.tasks[*].condition_task.op": {"EQUAL_TO", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "NOT_EQUAL"}, "resources.jobs.*.tasks[*].dbt_task.source": {"GIT", "WORKSPACE"}, - "resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute.accelerator_type": {"GPU_1xA10", "GPU_1xH100", "GPU_8xH100"}, + "resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute.accelerator_type": {"GPU_1xA10", "GPU_1xH100", "GPU_8xB300", "GPU_8xH100"}, + "resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.priority_class": {"BEST_EFFORT", "CRITICAL", "NORMAL"}, "resources.jobs.*.tasks[*].for_each_task.task.compute.hardware_accelerator": {"GPU_1xA10", "GPU_1xH100", "GPU_8xB300", "GPU_8xH100"}, "resources.jobs.*.tasks[*].for_each_task.task.condition_task.op": {"EQUAL_TO", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "NOT_EQUAL"}, "resources.jobs.*.tasks[*].for_each_task.task.dbt_task.source": {"GIT", "WORKSPACE"}, @@ -201,10 +203,14 @@ var EnumFields = map[string][]string{ "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.entity_type": {"FILE", "FILE_METADATA", "PERMISSION"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.format": {"AVRO", "BINARYFILE", "CSV", "EXCEL", "JSON", "ORC", "PARQUET", "XML"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.schema_evolution_mode": {"ADD_NEW_COLUMNS", "ADD_NEW_COLUMNS_WITH_TYPE_WIDENING", "FAIL_ON_NEW_COLUMNS", "NONE", "RESCUE"}, - "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.format": {"JSON", "STRING"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.format": {"AVRO", "JSON", "PROTOBUF", "STRING"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema_evolution_mode": {"ADD_NEW_COLUMNS", "ADD_NEW_COLUMNS_WITH_TYPE_WIDENING", "FAIL_ON_NEW_COLUMNS", "NONE", "RESCUE"}, - "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.format": {"JSON", "STRING"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.format": {"AVRO", "JSON", "PROTOBUF", "STRING"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema_evolution_mode": {"ADD_NEW_COLUMNS", "ADD_NEW_COLUMNS_WITH_TYPE_WIDENING", "FAIL_ON_NEW_COLUMNS", "NONE", "RESCUE"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.entity_granularity[*]": {"CAMPAIGN", "CAMPAIGN_GROUP", "CREATIVE"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.finder": {"ANALYTICS", "ATTRIBUTED_REVENUE_METRICS", "STATISTICS"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.time_granularity": {"ALL", "DAILY", "MONTHLY", "YEARLY"}, @@ -217,16 +223,22 @@ var EnumFields = map[string][]string{ "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.report_type": {"AUDIENCE", "BASIC", "BUSINESS_CENTER", "DSA", "GMV_MAX", "PLAYABLE_AD"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.data_level": {"AUCTION_AD", "AUCTION_ADGROUP", "AUCTION_ADVERTISER", "AUCTION_CAMPAIGN"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.report_type": {"AUDIENCE", "BASIC", "BUSINESS_CENTER", "DSA", "GMV_MAX", "PLAYABLE_AD"}, - "resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].format": {"JSON", "STRING"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].format": {"AVRO", "JSON", "PROTOBUF", "STRING"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema_evolution_mode": {"ADD_NEW_COLUMNS", "ADD_NEW_COLUMNS_WITH_TYPE_WIDENING", "FAIL_ON_NEW_COLUMNS", "NONE", "RESCUE"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.scd_type": {"APPEND_ONLY", "SCD_TYPE_1", "SCD_TYPE_2"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.entity_type": {"FILE", "FILE_METADATA", "PERMISSION"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.format": {"AVRO", "BINARYFILE", "CSV", "EXCEL", "JSON", "ORC", "PARQUET", "XML"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.schema_evolution_mode": {"ADD_NEW_COLUMNS", "ADD_NEW_COLUMNS_WITH_TYPE_WIDENING", "FAIL_ON_NEW_COLUMNS", "NONE", "RESCUE"}, - "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.format": {"JSON", "STRING"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.format": {"AVRO", "JSON", "PROTOBUF", "STRING"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema_evolution_mode": {"ADD_NEW_COLUMNS", "ADD_NEW_COLUMNS_WITH_TYPE_WIDENING", "FAIL_ON_NEW_COLUMNS", "NONE", "RESCUE"}, - "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.format": {"JSON", "STRING"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.format": {"AVRO", "JSON", "PROTOBUF", "STRING"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema_evolution_mode": {"ADD_NEW_COLUMNS", "ADD_NEW_COLUMNS_WITH_TYPE_WIDENING", "FAIL_ON_NEW_COLUMNS", "NONE", "RESCUE"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode": {"FAILFAST", "PERMISSIVE"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.entity_granularity[*]": {"CAMPAIGN", "CAMPAIGN_GROUP", "CREATIVE"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.finder": {"ANALYTICS", "ATTRIBUTED_REVENUE_METRICS", "STATISTICS"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.time_granularity": {"ALL", "DAILY", "MONTHLY", "YEARLY"}, @@ -240,7 +252,7 @@ var EnumFields = map[string][]string{ "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.data_level": {"AUCTION_AD", "AUCTION_ADGROUP", "AUCTION_ADVERTISER", "AUCTION_CAMPAIGN"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.report_type": {"AUDIENCE", "BASIC", "BUSINESS_CENTER", "DSA", "GMV_MAX", "PLAYABLE_AD"}, "resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.scd_type": {"APPEND_ONLY", "SCD_TYPE_1", "SCD_TYPE_2"}, - "resources.pipelines.*.ingestion_definition.source_type": {"BIGQUERY", "CONFLUENCE", "DYNAMICS365", "FOREIGN_CATALOG", "GA4_RAW_DATA", "GOOGLE_DRIVE", "JIRA", "MANAGED_POSTGRESQL", "META_MARKETING", "MYSQL", "NETSUITE", "ORACLE", "POSTGRESQL", "RABBITMQ", "SALESFORCE", "SERVICENOW", "SHAREPOINT", "SQLSERVER", "TERADATA", "WORKDAY_RAAS", "ZENDESK"}, + "resources.pipelines.*.ingestion_definition.source_type": {"BIGQUERY", "CONFLUENCE", "DYNAMICS365", "FOREIGN_CATALOG", "GA4_RAW_DATA", "GOOGLE_DRIVE", "JIRA", "MANAGED_POSTGRESQL", "META_MARKETING", "MYSQL", "NETSUITE", "ORACLE", "POSTGRESQL", "RABBITMQ", "SALESFORCE", "SERVICENOW", "SHAREPOINT", "SMARTSHEET", "SQLSERVER", "TERADATA", "TIKTOK_ADS", "WORKDAY_RAAS", "ZENDESK"}, "resources.pipelines.*.ingestion_definition.table_configuration.scd_type": {"APPEND_ONLY", "SCD_TYPE_1", "SCD_TYPE_2"}, "resources.pipelines.*.permissions[*].level": {"CAN_MANAGE", "CAN_RUN", "CAN_VIEW", "IS_OWNER"}, "resources.pipelines.*.restart_window.days_of_week[*]": {"FRIDAY", "MONDAY", "SATURDAY", "SUNDAY", "THURSDAY", "TUESDAY", "WEDNESDAY"}, diff --git a/bundle/schema/jsonschema.json b/bundle/schema/jsonschema.json index 27373344c85..79b576dc88a 100644 --- a/bundle/schema/jsonschema.json +++ b/bundle/schema/jsonschema.json @@ -213,9 +213,9 @@ "x-databricks-launch-stage": "GA" }, "git_source": { - "description": "[Beta] Git source configuration for app deployments. Specifies which git reference (branch, tag, or commit)\nto use when deploying the app. Used in conjunction with git_repository to deploy code directly from git.\nThe source_code_path within git_source specifies the relative path to the app code within the repository.", + "description": "Git source configuration for app deployments. Specifies which git reference (branch, tag, or commit)\nto use when deploying the app. Used in conjunction with git_repository to deploy code directly from git.\nThe source_code_path within git_source specifies the relative path to the app code within the repository.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.GitSource", - "x-databricks-launch-stage": "PUBLIC_BETA" + "x-databricks-launch-stage": "GA" }, "lifecycle": { "description": "Settings that control the deployment lifecycle of the resource, such as preventing it from being destroyed.", @@ -237,9 +237,8 @@ "x-databricks-launch-stage": "GA" }, "source_code_path": { - "description": "[Beta]", "$ref": "#/$defs/string", - "x-databricks-launch-stage": "PUBLIC_BETA" + "x-databricks-launch-stage": "GA" }, "space": { "description": "[Private Preview] Name of the space this app belongs to.", @@ -248,9 +247,8 @@ "doNotSuggest": true }, "telemetry_export_destinations": { - "description": "[Public Preview]", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/apps.TelemetryExportDestination", - "x-databricks-launch-stage": "PUBLIC_PREVIEW" + "x-databricks-launch-stage": "GA" }, "usage_policy_id": { "description": "[Public Preview]", @@ -1249,7 +1247,7 @@ "x-databricks-launch-stage": "GA" }, "environments": { - "description": "A list of task execution environment specifications that can be referenced by serverless tasks of this job.\nFor serverless notebook tasks, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment.\nFor other serverless tasks, the task environment is required to be specified using environment_key in the task settings.", + "description": "A list of task execution environment specifications that can be referenced by tasks that use serverless compute or a compute resource that uses Environments mode.\n\nFor notebook tasks that use serverless compute or a compute resource that uses Environments mode, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment.\nFor other tasks that use serverless compute or a compute resource that uses Environments mode, the task environment is required to be specified using environment_key in the task settings.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/jobs.JobEnvironment", "x-databricks-launch-stage": "GA" }, @@ -1299,7 +1297,7 @@ "doNotSuggest": true }, "performance_target": { - "description": "The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run.\nThe performance target does not apply to tasks that run on Serverless GPU compute.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.PerformanceTarget", "x-databricks-launch-stage": "GA" }, @@ -1451,7 +1449,7 @@ "x-databricks-launch-stage": "GA" }, "performance_target": { - "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.", + "description": "The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level.\n\n* `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance.\n* `STANDARD`: Enables cost-efficient execution of serverless workloads.\n* `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.PerformanceTarget", "x-databricks-launch-stage": "GA" }, @@ -2284,10 +2282,9 @@ "x-databricks-launch-stage": "PUBLIC_BETA" }, "source_snapshot": { - "description": "[Private Preview] The snapshot this branch was created from. When set, the branch's data\ncomes from the snapshot rather than a source branch, so source_branch,\nsource_branch_lsn, and source_branch_time must be empty. The snapshot must\nbe AVAILABLE and belong to this branch's project.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "description": "[Beta] The snapshot this branch was created from. When set, the branch's data\ncomes from the snapshot rather than a source branch, so source_branch,\nsource_branch_lsn, and source_branch_time must be empty. The snapshot must\nbe AVAILABLE and belong to this branch's project.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", "$ref": "#/$defs/string", - "x-databricks-launch-stage": "PRIVATE_PREVIEW", - "doNotSuggest": true + "x-databricks-launch-stage": "PUBLIC_BETA" }, "ttl": { "description": "[Beta] Relative time-to-live duration. When set, the branch will expire at creation_time + ttl.\nMutually exclusive with `expire_time` and `no_expiry`.", @@ -5154,14 +5151,14 @@ "description": "Git repository configuration specifying the location of the repository.", "properties": { "auto_deploy": { - "description": "[Beta] When true, automatically deploys the app on push events to the branch configured in\nthe app's deployment_source.git_source.", + "description": "When true, automatically deploys the app on push events to the branch configured in\nthe app's deployment_source.git_source.", "$ref": "#/$defs/bool", - "x-databricks-launch-stage": "PUBLIC_BETA" + "x-databricks-launch-stage": "GA" }, "caller_credential_id": { - "description": "[Beta] ID of a personal access token Git credential owned by the caller, used to\ngrant the app's service principal access to this repository.", + "description": "ID of a personal access token Git credential owned by the caller, used to\ngrant the app's service principal access to this repository.", "$ref": "#/$defs/int64", - "x-databricks-launch-stage": "PUBLIC_BETA" + "x-databricks-launch-stage": "GA" }, "provider": { "description": "Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, bitbucketCloud,\nbitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, awsCodeCommit.", @@ -5228,9 +5225,9 @@ "description": "A single telemetry export destination with its configuration and status.", "properties": { "unity_catalog": { - "description": "[Public Preview] Unity Catalog Destinations for OTEL telemetry export.", + "description": "Unity Catalog Destinations for OTEL telemetry export.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.UnityCatalog", - "x-databricks-launch-stage": "PUBLIC_PREVIEW" + "x-databricks-launch-stage": "GA" } }, "additionalProperties": false @@ -5248,19 +5245,19 @@ "description": "Unity Catalog Destinations for OTEL telemetry export.", "properties": { "logs_table": { - "description": "[Public Preview] Unity Catalog table for OTEL logs.", + "description": "Unity Catalog table for OTEL logs.", "$ref": "#/$defs/string", - "x-databricks-launch-stage": "PUBLIC_PREVIEW" + "x-databricks-launch-stage": "GA" }, "metrics_table": { - "description": "[Public Preview] Unity Catalog table for OTEL metrics.", + "description": "Unity Catalog table for OTEL metrics.", "$ref": "#/$defs/string", - "x-databricks-launch-stage": "PUBLIC_PREVIEW" + "x-databricks-launch-stage": "GA" }, "traces_table": { - "description": "[Public Preview] Unity Catalog table for OTEL traces (spans).", + "description": "Unity Catalog table for OTEL traces (spans).", "$ref": "#/$defs/string", - "x-databricks-launch-stage": "PUBLIC_PREVIEW" + "x-databricks-launch-stage": "GA" } }, "additionalProperties": false, @@ -5819,6 +5816,33 @@ } ] }, + "catalog.ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth": { + "oneOf": [ + { + "type": "object", + "description": "Header-based API-key authentication for a custom provider: the secret is\nforwarded on outbound requests under a caller-chosen HTTP header, as\n`\u003capi_key_name\u003e: \u003capi_key_value\u003e`.", + "properties": { + "api_key_name": { + "description": "[Private Preview] HTTP header name that carries the API key on outbound requests (e.g.,\n`Ocp-Apim-Subscription-Key`). The value forwarded under this header is\nsupplied via `api_key_value`.", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "api_key_value": { + "description": "[Private Preview] Secret value forwarded under the `api_key_name` header on outbound\nrequests. Supplied as inline plaintext via `ProviderSecret.plaintext`.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.ModelProviderServiceConfigProviderSecret", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + } + }, + "additionalProperties": false + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "catalog.ModelProviderServiceConfigCustomProviderConfig": { "oneOf": [ { @@ -5843,7 +5867,7 @@ "oneOf": [ { "type": "object", - "description": "Direct form of a custom provider configuration. Set `api_key` to the bearer\ntoken sent in the `Authorization` header.", + "description": "Direct form of a custom provider configuration. Set `api_key` to send the\nsecret as an `Authorization` bearer token, or `header_auth` to forward it\nunder a caller-chosen HTTP header.", "properties": { "api_key": { "description": "Bearer token forwarded in the `Authorization` header. Supply the value\nin `api_key.plaintext`.", @@ -5854,6 +5878,12 @@ "description": "Endpoint URL of the OpenAI-compatible service (e.g.,\n`https://api.example.com/v1`). Required on Create.", "$ref": "#/$defs/string", "x-databricks-launch-stage": "GA" + }, + "header_auth": { + "description": "[Private Preview] Header-based API-key auth: the secret is forwarded on outbound requests\nunder a caller-chosen HTTP header rather than as an `Authorization`\nbearer token. Set this instead of `api_key` for header auth.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true } }, "additionalProperties": false @@ -7782,7 +7812,7 @@ "deprecated": true }, "zone_id": { - "description": "Identifier for the availability zone in which the cluster resides.\nThis can be one of the following:\n- \"HA\" =\u003e High availability, spread nodes across availability zones for a Databricks deployment region [default].\n- \"AUTO\" =\u003e Databricks picks an availability zone to schedule the cluster on.\n- A GCP availability zone =\u003e Pick One of the available zones for (machine type + region) from\nhttps://cloud.google.com/compute/docs/regions-zones.", + "description": "Identifier for the availability zone in which the cluster resides.\nThis can be one of the following:\n- \"HA\" =\u003e High availability, spread nodes across availability zones for a\nDatabricks deployment region [default].\n- \"AUTO\" =\u003e Databricks picks an availability zone to schedule the cluster on.\n- A GCP availability zone =\u003e Pick One of the available zones for (machine type + region) from\nhttps://cloud.google.com/compute/docs/regions-zones.", "$ref": "#/$defs/string", "x-databricks-launch-stage": "GA" } @@ -8991,6 +9021,18 @@ "description": "[Public Preview] Optional display name for the MLflow run created under `experiment`. If\nomitted, MLflow generates a default name.", "$ref": "#/$defs/string", "x-databricks-launch-stage": "PUBLIC_PREVIEW" + }, + "priority_class": { + "description": "[Private Preview] Scheduling priority class for the workload. May only be set together with\na pre-provisioned capacity reservation (a deployment's\n`compute.provisioned_capacity_id`); it is rejected on a workload that runs\non on-demand capacity.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.AiRuntimeTaskPriorityClass", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "unity_catalog_image_path": { + "description": "[Private Preview] Optional Unity Catalog path for a custom container image. When set,\nthe task runs on the specified container image instead of the default\nDatabricks client image. Format:\n`{catalog}.{schema}.{image_name}:{tag}`", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true } }, "additionalProperties": false, @@ -9005,6 +9047,28 @@ } ] }, + "jobs.AiRuntimeTaskPriorityClass": { + "oneOf": [ + { + "type": "string", + "description": "Scheduling priority class for a workload — its priority and preemptability\nwhen the scheduler ranks pending work.", + "enum": [ + "BEST_EFFORT", + "NORMAL", + "CRITICAL" + ], + "enumDescriptions": [ + "[Private Preview]", + "[Private Preview]", + "[Private Preview]" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "jobs.AlertTask": { "oneOf": [ { @@ -9225,9 +9289,11 @@ "enum": [ "GPU_1xA10", "GPU_1xH100", - "GPU_8xH100" + "GPU_8xH100", + "GPU_8xB300" ], "enumDescriptions": [ + "[Public Preview]", "[Public Preview]", "[Public Preview]", "[Public Preview]" @@ -9444,10 +9510,9 @@ "x-databricks-launch-stage": "GA" }, "filters": { - "description": "[Private Preview] Dashboard task parameters. Used to apply dashboard filter values during dashboard task execution. Parameter values get applied to any dashboard filters that have a matching URL identifier as the parameter key.\nThe parameter value format is dependent on the filter type:\n- For text and single-select filters, provide a single value (e.g. `\"value\"`)\n- For date and datetime filters, provide the value in ISO 8601 format (e.g. `\"2000-01-01T00:00:00\"`)\n- For multi-select filters, provide a JSON array of values (e.g. `\"[\\\"value1\\\",\\\"value2\\\"]\"`)\n- For range and date range filters, provide a JSON object with `start` and `end` (e.g. `\"{\\\"start\\\":\\\"1\\\",\\\"end\\\":\\\"10\\\"}\"`)", + "description": "Dashboard task parameters. Used to apply dashboard filter values during dashboard task execution. Parameter values get applied to any dashboard filters that have a matching URL identifier as the parameter key.\nThe parameter value format is dependent on the filter type:\n- For text and single-select filters, provide a single value (e.g. `\"value\"`)\n- For date and datetime filters, provide the value in ISO 8601 format (e.g. `\"2000-01-01T00:00:00\"`)\n- For multi-select filters, provide a JSON array of values (e.g. `\"[\\\"value1\\\",\\\"value2\\\"]\"`)\n- For range and date range filters, provide a JSON object with `start` and `end` (e.g. `\"{\\\"start\\\":\\\"1\\\",\\\"end\\\":\\\"10\\\"}\"`)", "$ref": "#/$defs/map/string", - "x-databricks-launch-stage": "PRIVATE_PREVIEW", - "doNotSuggest": true + "x-databricks-launch-stage": "GA" }, "subscription": { "description": "Optional: subscription configuration for sending the dashboard snapshot.", @@ -10119,13 +10184,12 @@ "oneOf": [ { "type": "object", - "description": "Write-only setting. Specifies the user or service principal that the job runs as. If not specified, the job runs as the user who created the job.\n\nEither `user_name` or `service_principal_name` should be specified. If not, an error is thrown.", + "description": "Write-only setting. Specifies the user, service principal, or group that the job runs as. If not specified, the job runs as the user who created the job.\n\nOne of `user_name`, `service_principal_name`, or `group_name` should be specified. If not, an error is thrown.", "properties": { "group_name": { - "description": "[Private Preview] Group name of an account group assigned to the workspace. Setting this field requires being a member of the group.", + "description": "Group name of an account group assigned to the workspace. When set, all tasks run as the group and the group's permissions are used for data access. Setting this field requires being a member of the group, or having the `Assume` permission on the group.", "$ref": "#/$defs/string", - "x-databricks-launch-stage": "PRIVATE_PREVIEW", - "doNotSuggest": true + "x-databricks-launch-stage": "GA" }, "service_principal_name": { "description": "The application ID of an active service principal. Setting this field requires the `servicePrincipal/user` role.", @@ -11511,7 +11575,7 @@ "x-databricks-launch-stage": "GA" }, "environment_key": { - "description": "The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute.", + "description": "The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute or a compute resource that uses Environments mode.", "$ref": "#/$defs/string", "x-databricks-launch-stage": "GA" }, @@ -12150,6 +12214,44 @@ } ] }, + "pipelines.AvroTransformerOptions": { + "oneOf": [ + { + "type": "object", + "properties": { + "parse_mode": { + "description": "[Private Preview] (Optional) Parse mode for Avro data.\nValid values: FAILFAST, PERMISSIVE. Defaults to FAILFAST.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.ParseMode", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "schema": { + "description": "[Private Preview] Inline Avro JSON schema string.", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "schema_file_path": { + "description": "[Private Preview] Path to a schema file (.avsc).", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "schema_registry": { + "description": "[Private Preview] (Optional) Schema registry to resolve the Avro schema at runtime instead of\nproviding it inline or via a file path.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.SchemaRegistryConfig", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + } + }, + "additionalProperties": false + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "pipelines.ConfluenceConnectorOptions": { "oneOf": [ { @@ -12170,6 +12272,26 @@ } ] }, + "pipelines.ConfluentSchemaRegistryOptions": { + "oneOf": [ + { + "type": "object", + "properties": { + "subject": { + "description": "[Private Preview] Required: subject name to resolve in the registry.", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + } + }, + "additionalProperties": false + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "pipelines.ConnectionParameters": { "oneOf": [ { @@ -13106,7 +13228,9 @@ "JIRA", "CONFLUENCE", "META_MARKETING", + "TIKTOK_ADS", "ZENDESK", + "SMARTSHEET", "RABBITMQ", "FOREIGN_CATALOG" ], @@ -13129,7 +13253,9 @@ "[Beta]", "[Public Preview]", "[Beta]", + "[Private Preview]", "[Public Preview]", + "[Private Preview]", "[Beta]", "[Private Preview]" ] @@ -13751,6 +13877,26 @@ } ] }, + "pipelines.ParseMode": { + "oneOf": [ + { + "type": "string", + "description": "Determines how errors encountered while deserializing records are handled.", + "enum": [ + "FAILFAST", + "PERMISSIVE" + ], + "enumDescriptions": [ + "[Private Preview]", + "[Private Preview]" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "pipelines.PathPattern": { "oneOf": [ { @@ -14113,6 +14259,50 @@ } ] }, + "pipelines.ProtobufTransformerOptions": { + "oneOf": [ + { + "type": "object", + "properties": { + "desc_file_path": { + "description": "[Private Preview] Required: path to the .desc file (dbfs:/... or /Volumes/...).", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "message_name": { + "description": "[Private Preview] Required: fully-qualified message type name.", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "parse_mode": { + "description": "[Private Preview] (Optional) Parse mode for Protobuf data.\nValid values: FAILFAST, PERMISSIVE. Defaults to FAILFAST.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.ParseMode", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "recursive_fields_max_depth": { + "description": "[Private Preview] (Optional) Maximum expansion depth for recursive protobuf fields.\nSpark SQL does not natively support recursive types, so recursive\nfields are expanded up to this depth and truncated beyond it.\nValid values: -1 (disallow recursive fields), 0 (drop), 1-10.", + "$ref": "#/$defs/int", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "schema_registry": { + "description": "[Private Preview] (Optional) Schema registry to resolve the Protobuf schema at runtime instead\nof providing it via desc_file_path.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.SchemaRegistryConfig", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + } + }, + "additionalProperties": false + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "pipelines.RabbitmqOptions": { "oneOf": [ { @@ -14281,6 +14471,12 @@ "type": "object", "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.", "properties": { + "group_name": { + "description": "[Private Preview] Group name of an account group assigned to the workspace. When set, the pipeline runs as the group and the group's permissions are used for data access. Setting this field requires being a member of the group, or having the `Assume` permission on the group.", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, "service_principal_name": { "description": "Application ID of an active service principal. Setting this field requires the `servicePrincipal/user` role.", "$ref": "#/$defs/string", @@ -14300,6 +14496,38 @@ } ] }, + "pipelines.SchemaRegistryConfig": { + "oneOf": [ + { + "type": "object", + "properties": { + "confluent_options": { + "description": "[Private Preview] Required: Confluent-compatible schema registry options.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.ConfluentSchemaRegistryOptions", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "connection_name": { + "description": "[Private Preview] (Optional) UC connection for registry authentication.\nSpecify if different from the top-level source connection.", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "protobuf_message_name": { + "description": "[Private Preview] (Optional, Protobuf only) Selects a specific message from a schema that\ndefines multiple Protobuf messages. Simple (\"Location\") or fully-qualified\n(\"com.example.protos.Location\"). Defaults to the first message.", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + } + }, + "additionalProperties": false + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "pipelines.SchemaSpec": { "oneOf": [ { @@ -14827,6 +15055,12 @@ "type": "object", "description": "Specifies how to transform binary data into structured data.", "properties": { + "avro_options": { + "description": "[Private Preview]", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.AvroTransformerOptions", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, "format": { "description": "[Beta] Required: the wire format of the data.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.TransformerFormat", @@ -14848,6 +15082,12 @@ "$ref": "#/$defs/string", "x-databricks-launch-stage": "PRIVATE_PREVIEW", "doNotSuggest": true + }, + "protobuf_options": { + "description": "[Private Preview]", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.ProtobufTransformerOptions", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true } }, "additionalProperties": false @@ -14864,11 +15104,15 @@ "type": "string", "enum": [ "STRING", - "JSON" + "JSON", + "AVRO", + "PROTOBUF" ], "enumDescriptions": [ "[Beta]", - "[Beta]" + "[Beta]", + "[Private Preview]", + "[Private Preview]" ] }, { @@ -15785,6 +16029,11 @@ "description": "ARN of the instance profile that the external model will use to access AWS resources.\nYou must authenticate using an instance profile or access keys.\nIf you prefer to authenticate using access keys, see `aws_access_key_id`,\n`aws_access_key_id_plaintext`, `aws_secret_access_key` and `aws_secret_access_key_plaintext`.", "$ref": "#/$defs/string", "x-databricks-launch-stage": "GA" + }, + "uc_service_credential_name": { + "description": "[Public Preview] The name of the Unity Catalog service credential that the external model uses to access AWS\nresources.", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PUBLIC_PREVIEW" } }, "additionalProperties": false, diff --git a/bundle/terraform_dabs_map/generated.go b/bundle/terraform_dabs_map/generated.go index c1d2430d36e..19c0eb389be 100644 --- a/bundle/terraform_dabs_map/generated.go +++ b/bundle/terraform_dabs_map/generated.go @@ -12,12 +12,13 @@ package terraform_dabs_map // database_instances / databricks_database_instance: 1 tf-only // experiments / databricks_mlflow_experiment: 1 tf-only // jobs / databricks_job: 11 renames -// jobs / databricks_job: 7 dabs-only +// jobs / databricks_job: 11 dabs-only // jobs / databricks_job: 261 tf-only +// model_serving_endpoints / databricks_model_serving: 1 dabs-only // model_serving_endpoints / databricks_model_serving: 2 tf-only // models / databricks_mlflow_model: 1 renames // pipelines / databricks_pipeline: 3 renames -// pipelines / databricks_pipeline: 6 dabs-only +// pipelines / databricks_pipeline: 102 dabs-only // pipelines / databricks_pipeline: 2 tf-only // postgres_branches / databricks_postgres_branch: 1 unwraps // postgres_catalogs / databricks_postgres_catalog: 1 unwraps @@ -111,8 +112,16 @@ var DABsOnlyFields = map[string]FieldSet{ }, }, "tasks": { + "ai_runtime_task": { + "priority_class": {}, // jobs.*.tasks.ai_runtime_task.priority_class + "unity_catalog_image_path": {}, // jobs.*.tasks.ai_runtime_task.unity_catalog_image_path + }, "for_each_task": { "task": { + "ai_runtime_task": { + "priority_class": {}, // jobs.*.tasks.for_each_task.task.ai_runtime_task.priority_class + "unity_catalog_image_path": {}, // jobs.*.tasks.for_each_task.task.ai_runtime_task.unity_catalog_image_path + }, "for_each_task": { "concurrency": {}, // jobs.*.tasks.for_each_task.task.for_each_task.concurrency "inputs": {}, // jobs.*.tasks.for_each_task.task.for_each_task.inputs @@ -128,6 +137,17 @@ var DABsOnlyFields = map[string]FieldSet{ }, }, }, + "model_serving_endpoints": { + "config": { + "served_entities": { + "external_model": { + "amazon_bedrock_config": { + "uc_service_credential_name": {}, // model_serving_endpoints.*.config.served_entities.external_model.amazon_bedrock_config.uc_service_credential_name + }, + }, + }, + }, + }, "pipelines": { "cascade_on_destroy": {}, "clusters": { @@ -137,9 +157,165 @@ var DABsOnlyFields = map[string]FieldSet{ }, }, "dry_run": {}, + "ingestion_definition": { + "objects": { + "schema": { + "connector_options": { + "kafka_options": { + "key_transformer": { + "avro_options": { + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.avro_options.parse_mode + "schema": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.avro_options.schema + "schema_file_path": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.avro_options.schema_file_path + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.protobuf_message_name + }, + }, + "protobuf_options": { + "desc_file_path": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.protobuf_options.desc_file_path + "message_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.protobuf_options.message_name + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode + "recursive_fields_max_depth": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.protobuf_options.recursive_fields_max_depth + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.protobuf_message_name + }, + }, + }, + "value_transformer": { + "avro_options": { + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.avro_options.parse_mode + "schema": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.avro_options.schema + "schema_file_path": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.avro_options.schema_file_path + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.protobuf_message_name + }, + }, + "protobuf_options": { + "desc_file_path": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.protobuf_options.desc_file_path + "message_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.protobuf_options.message_name + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode + "recursive_fields_max_depth": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.protobuf_options.recursive_fields_max_depth + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.protobuf_message_name + }, + }, + }, + }, + }, + "fanout_options": { + "transforms": { + "avro_options": { + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.avro_options.parse_mode + "schema": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.avro_options.schema + "schema_file_path": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.avro_options.schema_file_path + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.avro_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.avro_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.avro_options.schema_registry.protobuf_message_name + }, + }, + "protobuf_options": { + "desc_file_path": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.protobuf_options.desc_file_path + "message_name": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.protobuf_options.message_name + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.protobuf_options.parse_mode + "recursive_fields_max_depth": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.protobuf_options.recursive_fields_max_depth + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.protobuf_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.protobuf_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.protobuf_options.schema_registry.protobuf_message_name + }, + }, + }, + }, + }, + "table": { + "connector_options": { + "kafka_options": { + "key_transformer": { + "avro_options": { + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.avro_options.parse_mode + "schema": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.avro_options.schema + "schema_file_path": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.avro_options.schema_file_path + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.protobuf_message_name + }, + }, + "protobuf_options": { + "desc_file_path": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.protobuf_options.desc_file_path + "message_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.protobuf_options.message_name + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode + "recursive_fields_max_depth": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.protobuf_options.recursive_fields_max_depth + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.protobuf_message_name + }, + }, + }, + "value_transformer": { + "avro_options": { + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.avro_options.parse_mode + "schema": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.avro_options.schema + "schema_file_path": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.avro_options.schema_file_path + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.protobuf_message_name + }, + }, + "protobuf_options": { + "desc_file_path": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.protobuf_options.desc_file_path + "message_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.protobuf_options.message_name + "parse_mode": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode + "recursive_fields_max_depth": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.protobuf_options.recursive_fields_max_depth + "schema_registry": { + "confluent_options": { + "subject": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options.subject + }, + "connection_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.connection_name + "protobuf_message_name": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.protobuf_message_name + }, + }, + }, + }, + }, + }, + }, + }, "parameters": { "*": {}, // pipelines.*.parameters.* }, + "run_as": { + "group_name": {}, // pipelines.*.run_as.group_name + }, }, "schemas": { "custom_max_retention_hours": {}, diff --git a/cmd/account/iam-v2/iam-v2.go b/cmd/account/iam-v2/iam-v2.go index d926b7a1635..257851ca929 100644 --- a/cmd/account/iam-v2/iam-v2.go +++ b/cmd/account/iam-v2/iam-v2.go @@ -23,11 +23,11 @@ var cmdOverrides []func(*cobra.Command) func New() *cobra.Command { cmd := &cobra.Command{ Use: "iam-v2", - Short: `*Beta* These APIs are used to manage identities and the workspace access of these identities in .`, + Short: `*Beta* These APIs are used to manage identities and the workspace access of these identities in Databricks.`, Long: `This command is in Beta and may change without notice. These APIs are used to manage identities and the workspace access of these - identities in .`, + identities in Databricks.`, GroupID: "iam", RunE: root.ReportUnknownSubcommand, } diff --git a/cmd/account/settings-v2/settings-v2.go b/cmd/account/settings-v2/settings-v2.go index 11b27a5802b..b84f334b6c5 100644 --- a/cmd/account/settings-v2/settings-v2.go +++ b/cmd/account/settings-v2/settings-v2.go @@ -358,12 +358,14 @@ func newPatchPublicAccountSetting() *cobra.Command { // TODO: complex arg: effective_personal_compute // TODO: complex arg: effective_restrict_workspace_admins // TODO: complex arg: effective_string_val + // TODO: complex arg: effective_workspace_label // TODO: complex arg: integer_val cmd.Flags().StringVar(&patchPublicAccountSettingReq.Setting.Name, "name", patchPublicAccountSettingReq.Setting.Name, `Name of the setting.`) // TODO: complex arg: operational_email_custom_recipient // TODO: complex arg: personal_compute // TODO: complex arg: restrict_workspace_admins // TODO: complex arg: string_val + // TODO: complex arg: workspace_label cmd.Use = "patch-public-account-setting NAME" cmd.Short = `Update an account setting.` diff --git a/cmd/workspace/ai-functions/ai-functions.go b/cmd/workspace/ai-functions/ai-functions.go index 8190f8221f2..03f5f69c032 100644 --- a/cmd/workspace/ai-functions/ai-functions.go +++ b/cmd/workspace/ai-functions/ai-functions.go @@ -66,7 +66,9 @@ func newAiClassify() *cobra.Command { cmd.Short = `Classify text into labels.` cmd.Long = `Classify text into labels. - Classifies content according to a set of provided labels.` + Classifies content according to a set of provided labels. For REST API + requests, the default rate limit is 1,200 requests per minute per workspace. + Contact your Databricks account team to request a higher limit.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" @@ -136,7 +138,9 @@ func newAiExtract() *cobra.Command { cmd.Long = `Extract structured data from text. Extracts structured data from text and documents according to a provided - schema.` + schema. For REST API requests, the default rate limit is 120 requests per + minute per workspace. Contact your Databricks account team to request a higher + limit.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" diff --git a/cmd/workspace/ai-gateway/ai-gateway.go b/cmd/workspace/ai-gateway/ai-gateway.go index 43881038e93..e1a2dcd2dec 100644 --- a/cmd/workspace/ai-gateway/ai-gateway.go +++ b/cmd/workspace/ai-gateway/ai-gateway.go @@ -38,12 +38,15 @@ func New() *cobra.Command { // Add methods cmd.AddCommand(newCreateMcpService()) + cmd.AddCommand(newCreateMcpServiceUserMappedCredential()) cmd.AddCommand(newCreateModelProviderService()) cmd.AddCommand(newCreateModelService()) cmd.AddCommand(newDeleteMcpService()) + cmd.AddCommand(newDeleteMcpServiceUserMappedCredential()) cmd.AddCommand(newDeleteModelProviderService()) cmd.AddCommand(newDeleteModelService()) cmd.AddCommand(newGetMcpService()) + cmd.AddCommand(newGetMcpServiceUserMappedCredential()) cmd.AddCommand(newGetModelProviderService()) cmd.AddCommand(newGetModelService()) cmd.AddCommand(newListMcpServices()) @@ -151,6 +154,91 @@ func newCreateMcpService() *cobra.Command { return cmd } +// start create-mcp-service-user-mapped-credential command + +// Slice with functions to override default command behavior. +// Functions can be added from the `init()` function in manually curated files in this directory. +var createMcpServiceUserMappedCredentialOverrides []func( + *cobra.Command, + *catalog.CreateMcpServiceUserMappedCredentialRequest, +) + +func newCreateMcpServiceUserMappedCredential() *cobra.Command { + cmd := &cobra.Command{} + + var createMcpServiceUserMappedCredentialReq catalog.CreateMcpServiceUserMappedCredentialRequest + createMcpServiceUserMappedCredentialReq.Login = catalog.McpServiceUserMappedCredentialLogin{} + var createMcpServiceUserMappedCredentialJson flags.JsonFlag + + cmd.Flags().Var(&createMcpServiceUserMappedCredentialJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + // TODO: map via StringToStringVar: options + + cmd.Use = "create-mcp-service-user-mapped-credential NAME" + cmd.Short = `*Beta* Create an MCP service user credential.` + cmd.Long = `This command is in Beta and may change without notice. + +Create an MCP service user credential. + + Logs the caller in to an MCP service: creates their per-user OAuth credential, + or re-authenticates it if one already exists. The request body carries the + OAuth exchange fields. + + You must be the owner of the MCP service or have EXECUTE on it, plus + USE_CATALOG on the parent catalog and USE_SCHEMA on the parent schema. + + Arguments: + NAME: Resource name of the MCP service. Format: + mcp-services/{catalog}.{schema}.{mcp_service}.` + + cmd.Annotations = make(map[string]string) + cmd.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" + + cmd.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustWorkspaceClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + w := cmdctx.WorkspaceClient(ctx) + + if cmd.Flags().Changed("json") { + diags := createMcpServiceUserMappedCredentialJson.Unmarshal(&createMcpServiceUserMappedCredentialReq.Login) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + createMcpServiceUserMappedCredentialReq.Name = args[0] + + response, err := w.AiGateway.CreateMcpServiceUserMappedCredential(ctx, createMcpServiceUserMappedCredentialReq) + if err != nil { + return err + } + + return cmdio.Render(ctx, response) + } + + // Disable completions since they are not applicable. + // Can be overridden by manual implementation in `override.go`. + cmd.ValidArgsFunction = cobra.NoFileCompletions + + // Apply optional overrides to this command. + for _, fn := range createMcpServiceUserMappedCredentialOverrides { + fn(cmd, &createMcpServiceUserMappedCredentialReq) + } + + return cmd +} + // start create-model-provider-service command // Slice with functions to override default command behavior. @@ -403,6 +491,72 @@ func newDeleteMcpService() *cobra.Command { return cmd } +// start delete-mcp-service-user-mapped-credential command + +// Slice with functions to override default command behavior. +// Functions can be added from the `init()` function in manually curated files in this directory. +var deleteMcpServiceUserMappedCredentialOverrides []func( + *cobra.Command, + *catalog.DeleteMcpServiceUserMappedCredentialRequest, +) + +func newDeleteMcpServiceUserMappedCredential() *cobra.Command { + cmd := &cobra.Command{} + + var deleteMcpServiceUserMappedCredentialReq catalog.DeleteMcpServiceUserMappedCredentialRequest + + cmd.Use = "delete-mcp-service-user-mapped-credential NAME" + cmd.Short = `*Beta* Delete an MCP service user credential.` + cmd.Long = `This command is in Beta and may change without notice. + +Delete an MCP service user credential. + + Revokes (deletes) the caller's per-user OAuth credential for an MCP service + (logout). + + You must be the owner of the MCP service or have EXECUTE on it, plus + USE_CATALOG on the parent catalog and USE_SCHEMA on the parent schema. + + Arguments: + NAME: Resource name of the MCP service. Format: + mcp-services/{catalog}.{schema}.{mcp_service}.` + + cmd.Annotations = make(map[string]string) + cmd.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" + + cmd.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustWorkspaceClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + w := cmdctx.WorkspaceClient(ctx) + + deleteMcpServiceUserMappedCredentialReq.Name = args[0] + + response, err := w.AiGateway.DeleteMcpServiceUserMappedCredential(ctx, deleteMcpServiceUserMappedCredentialReq) + if err != nil { + return err + } + + return cmdio.Render(ctx, response) + } + + // Disable completions since they are not applicable. + // Can be overridden by manual implementation in `override.go`. + cmd.ValidArgsFunction = cobra.NoFileCompletions + + // Apply optional overrides to this command. + for _, fn := range deleteMcpServiceUserMappedCredentialOverrides { + fn(cmd, &deleteMcpServiceUserMappedCredentialReq) + } + + return cmd +} + // start delete-model-provider-service command // Slice with functions to override default command behavior. @@ -603,6 +757,76 @@ func newGetMcpService() *cobra.Command { return cmd } +// start get-mcp-service-user-mapped-credential command + +// Slice with functions to override default command behavior. +// Functions can be added from the `init()` function in manually curated files in this directory. +var getMcpServiceUserMappedCredentialOverrides []func( + *cobra.Command, + *catalog.GetMcpServiceUserMappedCredentialRequest, +) + +func newGetMcpServiceUserMappedCredential() *cobra.Command { + cmd := &cobra.Command{} + + var getMcpServiceUserMappedCredentialReq catalog.GetMcpServiceUserMappedCredentialRequest + + cmd.Use = "get-mcp-service-user-mapped-credential NAME" + cmd.Short = `*Beta* Get MCP service user credential status.` + cmd.Long = `This command is in Beta and may change without notice. + +Get MCP service user credential status. + + Returns the caller's per-user OAuth login state for an MCP service. Read + provisioning_info.state: ACTIVE means the caller is logged in and the + credential is usable; any other state (for example a failed or + still-provisioning login) means the login has not completed and the caller + should log in again. If the caller has no credential yet, the RPC returns + NOT_FOUND. + + You must be the owner of the MCP service or have EXECUTE on it, plus + USE_CATALOG on the parent catalog and USE_SCHEMA on the parent schema. + + Arguments: + NAME: Resource name of the MCP service. Format: + mcp-services/{catalog}.{schema}.{mcp_service}.` + + cmd.Annotations = make(map[string]string) + cmd.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" + + cmd.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustWorkspaceClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + w := cmdctx.WorkspaceClient(ctx) + + getMcpServiceUserMappedCredentialReq.Name = args[0] + + response, err := w.AiGateway.GetMcpServiceUserMappedCredential(ctx, getMcpServiceUserMappedCredentialReq) + if err != nil { + return err + } + + return cmdio.Render(ctx, response) + } + + // Disable completions since they are not applicable. + // Can be overridden by manual implementation in `override.go`. + cmd.ValidArgsFunction = cobra.NoFileCompletions + + // Apply optional overrides to this command. + for _, fn := range getMcpServiceUserMappedCredentialOverrides { + fn(cmd, &getMcpServiceUserMappedCredentialReq) + } + + return cmd +} + // start get-model-provider-service command // Slice with functions to override default command behavior. @@ -1012,8 +1236,7 @@ func newUpdateMcpService() *cobra.Command { replacement must include every required field; any optional field you omit is cleared. To preserve sibling fields, use one or more granular paths: comment, config.source_connection.name, - config.include_tool_selectors, or config.rate_limits. Wildcard paths - such as * are not supported.` + config.include_tool_selectors, or config.rate_limits.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" @@ -1120,7 +1343,7 @@ func newUpdateModelProviderService() *cobra.Command { config.allow_all_targets, config.targets, config.forward_headers, config.forward_query_parameters, config.forward_unmanaged_paths, config.rate_limits, or config.inference_table. The provider type is - immutable, and wildcard paths such as * are not supported.` + immutable.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" @@ -1227,8 +1450,7 @@ func newUpdateModelService() *cobra.Command { comment, config.routing.destinations, config.routing.fallback.destinations, config.rate_limits, or config.inference_table. Intermediate paths such as config.routing and - config.routing.fallback, and wildcard paths such as *, are not - supported.` + config.routing.fallback are not supported.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" diff --git a/cmd/workspace/experiments/experiments.go b/cmd/workspace/experiments/experiments.go index 92f7c54c62d..6a668968176 100644 --- a/cmd/workspace/experiments/experiments.go +++ b/cmd/workspace/experiments/experiments.go @@ -652,8 +652,8 @@ func newDeleteRuns() *cobra.Command { cmd.Long = `Delete runs by creation time. Bulk delete runs in an experiment that were created prior to or at the - specified timestamp. Deletes at most max_runs per request. To call this API - from a Databricks Notebook in Python, you can use the client code snippet on + specified timestamp. Deletes at most max_runs per request. See the + cloud-specific MLflow runs documentation for a Python client example. Arguments: EXPERIMENT_ID: The ID of the experiment containing the runs to delete. @@ -2330,8 +2330,8 @@ func newRestoreRuns() *cobra.Command { cmd.Long = `Restore runs by deletion time. Bulk restore runs in an experiment that were deleted no earlier than the - specified timestamp. Restores at most max_runs per request. To call this API - from a Databricks Notebook in Python, you can use the client code snippet on + specified timestamp. Restores at most max_runs per request. See the + cloud-specific MLflow runs documentation for a Python client example. Arguments: EXPERIMENT_ID: The ID of the experiment containing the runs to restore. diff --git a/cmd/workspace/feature-store/feature-store.go b/cmd/workspace/feature-store/feature-store.go index bd7800999f9..1bb57ee7a48 100644 --- a/cmd/workspace/feature-store/feature-store.go +++ b/cmd/workspace/feature-store/feature-store.go @@ -486,6 +486,12 @@ func newUpdateOnlineStore() *cobra.Command { cmd.Short = `Update an Online Feature Store.` cmd.Long = `Update an Online Feature Store. + Update an Online Feature Store. + + This update is not guaranteed to be atomic: when a request changes multiple + fields, some may be applied while others fail. On a failed response, treat the + update as partially applied and retry until it succeeds. + Arguments: NAME: The name of the online store. This is the unique identifier for the online store. diff --git a/cmd/workspace/genie/genie.go b/cmd/workspace/genie/genie.go index 292814fcf66..3d111b8fc00 100644 --- a/cmd/workspace/genie/genie.go +++ b/cmd/workspace/genie/genie.go @@ -102,12 +102,12 @@ func newCreateMessage() *cobra.Command { cmd.Flags().BoolVar(&createMessageReq.EnableVisualization, "enable-visualization", createMessageReq.EnableVisualization, `Enable visualization generation.`) cmd.Use = "create-message SPACE_ID CONVERSATION_ID CONTENT" - cmd.Short = `Create conversation message.` - cmd.Long = `Create conversation message. + cmd.Short = `Chat mode: Send a message.` + cmd.Long = `Chat mode: Send a message. - Create new message in a [conversation](:method:genie/startconversation). The - AI response uses all previously created messages in the conversation to - respond. + Sends a new message in a chat-mode + [conversation](:method:genie/startconversation). The AI response uses all + previously created messages in the conversation to respond. Arguments: SPACE_ID: The ID associated with the Genie space where the conversation is started. @@ -203,10 +203,10 @@ func newCreateMessageComment() *cobra.Command { cmd.Flags().Var(&createMessageCommentJson, "json", `either inline JSON string or @path/to/file.json with request body`) cmd.Use = "create-message-comment SPACE_ID CONVERSATION_ID MESSAGE_ID CONTENT" - cmd.Short = `*Public Preview* Create message comment.` + cmd.Short = `*Public Preview* Add a comment to a message.` cmd.Long = `This command is in Public Preview and may change without notice. -Create message comment. +Add a comment to a message. Create a comment on a conversation message. @@ -298,8 +298,8 @@ func newCreateSpace() *cobra.Command { cmd.Flags().StringVar(&createSpaceReq.Title, "title", createSpaceReq.Title, `Optional title override.`) cmd.Use = "create-space WAREHOUSE_ID SERIALIZED_SPACE" - cmd.Short = `Create Genie Space.` - cmd.Long = `Create Genie Space. + cmd.Short = `Create a Genie space.` + cmd.Long = `Create a Genie space. Creates a Genie space from a serialized payload. @@ -386,10 +386,8 @@ func newDeleteConversation() *cobra.Command { var deleteConversationReq dashboards.GenieDeleteConversationRequest cmd.Use = "delete-conversation SPACE_ID CONVERSATION_ID" - cmd.Short = `Delete conversation.` - cmd.Long = `Delete conversation. - - Delete a conversation. + cmd.Short = `Delete a conversation.` + cmd.Long = `Delete a conversation. Arguments: SPACE_ID: The ID associated with the Genie space where the conversation is located. @@ -446,10 +444,8 @@ func newDeleteConversationMessage() *cobra.Command { var deleteConversationMessageReq dashboards.GenieDeleteConversationMessageRequest cmd.Use = "delete-conversation-message SPACE_ID CONVERSATION_ID MESSAGE_ID" - cmd.Short = `Delete conversation message.` - cmd.Long = `Delete conversation message. - - Delete a conversation message. + cmd.Short = `Delete a conversation message.` + cmd.Long = `Delete a conversation message. Arguments: SPACE_ID: The ID associated with the Genie space where the message is located. @@ -508,8 +504,8 @@ func newDownloadMessageAttachmentVisualization() *cobra.Command { var downloadMessageAttachmentVisualizationReq dashboards.DownloadMessageAttachmentVisualizationRequest cmd.Use = "download-message-attachment-visualization NAME" - cmd.Short = `Download message attachment visualization.` - cmd.Long = `Download message attachment visualization. + cmd.Short = `Download an attachment visualization.` + cmd.Long = `Download an attachment visualization. Download a rendered image of a message visualization attachment. The response body is the raw PNG image, not a JSON payload. This is only available if the @@ -572,8 +568,8 @@ func newExecuteMessageAttachmentQuery() *cobra.Command { var executeMessageAttachmentQueryReq dashboards.GenieExecuteMessageAttachmentQueryRequest cmd.Use = "execute-message-attachment-query SPACE_ID CONVERSATION_ID MESSAGE_ID ATTACHMENT_ID" - cmd.Short = `Execute message attachment SQL query.` - cmd.Long = `Execute message attachment SQL query. + cmd.Short = `Execute an attachment SQL query.` + cmd.Long = `Execute an attachment SQL query. Execute the SQL for a message query attachment. Use this API when the query attachment has expired and needs to be re-executed. @@ -705,8 +701,8 @@ func newGenerateDownloadFullQueryResult() *cobra.Command { var generateDownloadFullQueryResultReq dashboards.GenieGenerateDownloadFullQueryResultRequest cmd.Use = "generate-download-full-query-result SPACE_ID CONVERSATION_ID MESSAGE_ID ATTACHMENT_ID" - cmd.Short = `Generate full query result download.` - cmd.Long = `Generate full query result download. + cmd.Short = `Start a full query-result download.` + cmd.Long = `Start a full query-result download. Initiates a new SQL execution and returns a download_id and download_id_signature that you can use to track the progress of the @@ -720,12 +716,10 @@ func newGenerateDownloadFullQueryResult() *cobra.Command { ### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the EXTERNAL_LINKS disposition.** - When you use the EXTERNAL_LINKS disposition, a short-lived, URL is - generated, which can be used to download the results directly from . As a - short-lived is embedded in this URL, you should protect the URL. - - Because URLs are already generated with embedded temporary s, you must not set - an Authorization header in the download requests. + When you use the EXTERNAL_LINKS disposition, a short-lived cloud-storage URL + is generated to download the results. The URL contains temporary access + credentials, so protect it and do not set an Authorization header in the + download request. See [Execute Statement](:method:statementexecution/executestatement) for more details. @@ -792,8 +786,8 @@ func newGenieCancelResponse() *cobra.Command { var genieCancelResponseReq dashboards.GenieCancelResponseRequest cmd.Use = "genie-cancel-response AGENT_ID CONVERSATION_ID RESPONSE_ID" - cmd.Short = `Cancel Genie agent response.` - cmd.Long = `Cancel Genie agent response. + cmd.Short = `Agent mode: Cancel a response.` + cmd.Long = `Agent mode: Cancel a response. Cancels an in-flight agent-mode response. response_id is the id returned in the response.created event from the agent-mode responses endpoint. The @@ -863,12 +857,13 @@ func newGenieCreateEvalRun() *cobra.Command { // TODO: array: benchmark_question_ids cmd.Use = "genie-create-eval-run SPACE_ID" - cmd.Short = `*Beta* Create eval run for benchmarks.` + cmd.Short = `*Beta* Start a benchmark evaluation run.` cmd.Long = `This command is in Beta and may change without notice. -Create eval run for benchmarks. +Start a benchmark evaluation run. - Create and run evaluations for multiple benchmark questions in a Genie space. + Creates and runs chat-mode evaluations for multiple benchmark questions in a + Genie space. Arguments: SPACE_ID: The ID associated with the Genie space where the evaluations will be @@ -1003,10 +998,10 @@ func newGenieGetEvalRun() *cobra.Command { var genieGetEvalRunReq dashboards.GenieGetEvalRunRequest cmd.Use = "genie-get-eval-run SPACE_ID EVAL_RUN_ID" - cmd.Short = `*Beta* Get benchmark evaluation run.` + cmd.Short = `*Beta* Get a benchmark evaluation run.` cmd.Long = `This command is in Beta and may change without notice. -Get benchmark evaluation run. +Get a benchmark evaluation run. Get evaluation run details. @@ -1070,10 +1065,10 @@ func newGenieListEvalResults() *cobra.Command { cmd.Flags().StringVar(&genieListEvalResultsReq.PageToken, "page-token", genieListEvalResultsReq.PageToken, `Opaque token to retrieve the next page of results.`) cmd.Use = "genie-list-eval-results SPACE_ID EVAL_RUN_ID" - cmd.Short = `*Beta* List benchmark evaluation results.` + cmd.Short = `*Beta* List results for a benchmark evaluation run.` cmd.Long = `This command is in Beta and may change without notice. -List benchmark evaluation results. +List results for a benchmark evaluation run. List evaluation results for a specific evaluation run. @@ -1137,10 +1132,10 @@ func newGenieListEvalRuns() *cobra.Command { cmd.Flags().StringVar(&genieListEvalRunsReq.PageToken, "page-token", genieListEvalRunsReq.PageToken, `Token to get the next page of results.`) cmd.Use = "genie-list-eval-runs SPACE_ID" - cmd.Short = `*Beta* List all evaluation runs in the space.` + cmd.Short = `*Beta* List benchmark evaluation runs.` cmd.Long = `This command is in Beta and may change without notice. -List all evaluation runs in the space. +List benchmark evaluation runs. Lists all evaluation runs in a space. @@ -1199,8 +1194,8 @@ func newGetDownloadFullQueryResult() *cobra.Command { var getDownloadFullQueryResultReq dashboards.GenieGetDownloadFullQueryResultRequest cmd.Use = "get-download-full-query-result SPACE_ID CONVERSATION_ID MESSAGE_ID ATTACHMENT_ID DOWNLOAD_ID DOWNLOAD_ID_SIGNATURE" - cmd.Short = `Get download full query result.` - cmd.Long = `Get download full query result. + cmd.Short = `Get full query-result download status.` + cmd.Long = `Get full query-result download status. After [Generating a Full Query Result Download](:method:genie/generatedownloadfullqueryresult) and successfully @@ -1215,12 +1210,10 @@ func newGetDownloadFullQueryResult() *cobra.Command { ### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the EXTERNAL_LINKS disposition.** - When you use the EXTERNAL_LINKS disposition, a short-lived, URL is - generated, which can be used to download the results directly from . As a - short-lived is embedded in this URL, you should protect the URL. - - Because URLs are already generated with embedded temporary s, you must not set - an Authorization header in the download requests. + When you use the EXTERNAL_LINKS disposition, a short-lived cloud-storage URL + is generated to download the results. The URL contains temporary access + credentials, so protect it and do not set an Authorization header in the + download request. See [Execute Statement](:method:statementexecution/executestatement) for more details. @@ -1292,10 +1285,11 @@ func newGetMessage() *cobra.Command { var getMessageReq dashboards.GenieGetConversationMessageRequest cmd.Use = "get-message SPACE_ID CONVERSATION_ID MESSAGE_ID" - cmd.Short = `Get conversation message.` - cmd.Long = `Get conversation message. + cmd.Short = `Get a conversation message.` + cmd.Long = `Get a conversation message. - Get message from conversation. + Gets a message from a chat-mode or agent-mode conversation. For a complete + agent-mode transcript, use the List conversation items endpoint. Arguments: SPACE_ID: The ID associated with the Genie space where the target conversation is @@ -1357,8 +1351,8 @@ func newGetMessageAttachmentQueryResult() *cobra.Command { var getMessageAttachmentQueryResultReq dashboards.GenieGetMessageAttachmentQueryResultRequest cmd.Use = "get-message-attachment-query-result SPACE_ID CONVERSATION_ID MESSAGE_ID ATTACHMENT_ID" - cmd.Short = `Get message attachment SQL query result.` - cmd.Long = `Get message attachment SQL query result. + cmd.Short = `Get an attachment SQL result.` + cmd.Long = `Get an attachment SQL result. Get the result of SQL query if the message has a query attachment. This is only available if a message has a query attachment and the message status is @@ -1562,8 +1556,8 @@ func newGetSpace() *cobra.Command { cmd.Flags().BoolVar(&getSpaceReq.IncludeSerializedSpace, "include-serialized-space", getSpaceReq.IncludeSerializedSpace, `Whether to include the serialized space export in the response.`) cmd.Use = "get-space SPACE_ID" - cmd.Short = `Get Genie Space.` - cmd.Long = `Get Genie Space. + cmd.Short = `Get a Genie space.` + cmd.Long = `Get a Genie space. Get details of a Genie Space. @@ -1624,10 +1618,10 @@ func newListConversationComments() *cobra.Command { cmd.Flags().StringVar(&listConversationCommentsReq.PageToken, "page-token", listConversationCommentsReq.PageToken, `Pagination token for getting the next page of results.`) cmd.Use = "list-conversation-comments SPACE_ID CONVERSATION_ID" - cmd.Short = `*Public Preview* List conversation comments.` + cmd.Short = `*Public Preview* List all comments in a conversation.` cmd.Long = `This command is in Public Preview and may change without notice. -List conversation comments. +List all comments in a conversation. List all comments across all messages in a conversation. @@ -1693,7 +1687,9 @@ func newListConversationMessages() *cobra.Command { cmd.Short = `List conversation messages.` cmd.Long = `List conversation messages. - List messages in a conversation + Lists messages in a chat-mode or agent-mode conversation. Agent-mode messages + are returned as GenieMessage projections. Use the List conversation items + endpoint for the complete reasoning and tool-call history. Arguments: SPACE_ID: The ID associated with the Genie space where the conversation is located @@ -1755,8 +1751,8 @@ func newListConversations() *cobra.Command { cmd.Flags().StringVar(&listConversationsReq.PageToken, "page-token", listConversationsReq.PageToken, `Token to get the next page of results.`) cmd.Use = "list-conversations SPACE_ID" - cmd.Short = `List conversations in a Genie Space.` - cmd.Long = `List conversations in a Genie Space. + cmd.Short = `List conversations.` + cmd.Long = `List conversations. Get a list of conversations in a Genie Space. @@ -1817,10 +1813,10 @@ func newListMessageComments() *cobra.Command { cmd.Flags().StringVar(&listMessageCommentsReq.PageToken, "page-token", listMessageCommentsReq.PageToken, `Pagination token for getting the next page of results.`) cmd.Use = "list-message-comments SPACE_ID CONVERSATION_ID MESSAGE_ID" - cmd.Short = `*Public Preview* List message comments.` + cmd.Short = `*Public Preview* List comments on a message.` cmd.Long = `This command is in Public Preview and may change without notice. -List message comments. +List comments on a message. List comments on a specific conversation message. @@ -1944,10 +1940,10 @@ func newSendMessageFeedback() *cobra.Command { cmd.Flags().StringVar(&sendMessageFeedbackReq.Comment, "comment", sendMessageFeedbackReq.Comment, `Optional text feedback that will be stored as a comment.`) cmd.Use = "send-message-feedback SPACE_ID CONVERSATION_ID MESSAGE_ID RATING" - cmd.Short = `Send message feedback.` - cmd.Long = `Send message feedback. + cmd.Short = `Send feedback on a message.` + cmd.Long = `Send feedback on a message. - Send feedback for a message. + Sends feedback for a message in a chat-mode or agent-mode conversation. Arguments: SPACE_ID: The ID associated with the Genie space where the message is located. @@ -2045,10 +2041,10 @@ func newStartConversation() *cobra.Command { cmd.Flags().BoolVar(&startConversationReq.EnableVisualization, "enable-visualization", startConversationReq.EnableVisualization, `Enable visualization generation.`) cmd.Use = "start-conversation SPACE_ID CONTENT" - cmd.Short = `Start conversation.` - cmd.Long = `Start conversation. + cmd.Short = `Chat mode: Start a conversation.` + cmd.Long = `Chat mode: Start a conversation. - Start a new conversation. + Starts a new chat-mode conversation and sends its first message. Arguments: SPACE_ID: The ID associated with the Genie space where you want to start a @@ -2140,8 +2136,8 @@ func newTrashSpace() *cobra.Command { var trashSpaceReq dashboards.GenieTrashSpaceRequest cmd.Use = "trash-space SPACE_ID" - cmd.Short = `Trash Genie Space.` - cmd.Long = `Trash Genie Space. + cmd.Short = `Trash a Genie space.` + cmd.Long = `Trash a Genie space. Move a Genie Space to the trash. @@ -2208,8 +2204,8 @@ func newUpdateSpace() *cobra.Command { cmd.Flags().StringVar(&updateSpaceReq.WarehouseId, "warehouse-id", updateSpaceReq.WarehouseId, `Optional warehouse override.`) cmd.Use = "update-space SPACE_ID" - cmd.Short = `Update Genie Space.` - cmd.Long = `Update Genie Space. + cmd.Short = `Update a Genie space.` + cmd.Long = `Update a Genie space. Updates a Genie space with a serialized payload. diff --git a/cmd/workspace/lakeview/lakeview.go b/cmd/workspace/lakeview/lakeview.go index e331b464cf7..f7b2d2f3c46 100644 --- a/cmd/workspace/lakeview/lakeview.go +++ b/cmd/workspace/lakeview/lakeview.go @@ -92,7 +92,10 @@ func newCreate() *cobra.Command { Create a draft dashboard. - Requires the Databricks SQL access entitlement.` + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" @@ -167,6 +170,13 @@ func newCreateSchedule() *cobra.Command { cmd.Short = `Create dashboard schedule.` cmd.Long = `Create dashboard schedule. + Create dashboard schedule. + + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements + Arguments: DASHBOARD_ID: UUID identifying the dashboard to which the schedule belongs. CRON_SCHEDULE: The cron expression describing the frequency of the periodic refresh for @@ -258,6 +268,16 @@ func newCreateSubscription() *cobra.Command { cmd.Short = `Create schedule subscription.` cmd.Long = `Create schedule subscription. + Create schedule subscription. + + The caller must be a workspace user with one of the following [entitlements]: + Workspace access, Databricks SQL access, or Consumer access. + + Account-level users who are not members of the workspace cannot call this + endpoint, even if the dashboard has been shared with them. + + [entitlements]: https://docs.databricks.com/security/auth/entitlements + Arguments: DASHBOARD_ID: UUID identifying the dashboard to which the subscription belongs. SCHEDULE_ID: UUID identifying the schedule to which the subscription belongs. @@ -347,6 +367,13 @@ func newDeleteSchedule() *cobra.Command { cmd.Short = `Delete dashboard schedule.` cmd.Long = `Delete dashboard schedule. + Delete dashboard schedule. + + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements + Arguments: DASHBOARD_ID: UUID identifying the dashboard to which the schedule belongs. SCHEDULE_ID: UUID identifying the schedule.` @@ -407,6 +434,16 @@ func newDeleteSubscription() *cobra.Command { cmd.Short = `Delete schedule subscription.` cmd.Long = `Delete schedule subscription. + Delete schedule subscription. + + The caller must be a workspace user with one of the following [entitlements]: + Workspace access, Databricks SQL access, or Consumer access. + + Account-level users who are not members of the workspace cannot call this + endpoint, even if the dashboard has been shared with them. + + [entitlements]: https://docs.databricks.com/security/auth/entitlements + Arguments: DASHBOARD_ID: UUID identifying the dashboard which the subscription belongs. SCHEDULE_ID: UUID identifying the schedule which the subscription belongs. @@ -469,7 +506,10 @@ func newGet() *cobra.Command { Get a draft dashboard. - Requires the Databricks SQL access entitlement. + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements Arguments: DASHBOARD_ID: UUID identifying the dashboard.` @@ -593,6 +633,16 @@ func newGetSchedule() *cobra.Command { cmd.Short = `Get dashboard schedule.` cmd.Long = `Get dashboard schedule. + Get dashboard schedule. + + The caller must be a workspace user with one of the following [entitlements]: + Workspace access, Databricks SQL access, or Consumer access. + + Account-level users who are not members of the workspace cannot call this + endpoint, even if the dashboard has been shared with them. + + [entitlements]: https://docs.databricks.com/security/auth/entitlements + Arguments: DASHBOARD_ID: UUID identifying the dashboard to which the schedule belongs. SCHEDULE_ID: UUID identifying the schedule.` @@ -652,6 +702,16 @@ func newGetSubscription() *cobra.Command { cmd.Short = `Get schedule subscription.` cmd.Long = `Get schedule subscription. + Get schedule subscription. + + The caller must be a workspace user with one of the following [entitlements]: + Workspace access, Databricks SQL access, or Consumer access. + + Account-level users who are not members of the workspace cannot call this + endpoint, even if the dashboard has been shared with them. + + [entitlements]: https://docs.databricks.com/security/auth/entitlements + Arguments: DASHBOARD_ID: UUID identifying the dashboard which the subscription belongs. SCHEDULE_ID: UUID identifying the schedule which the subscription belongs. @@ -730,7 +790,10 @@ func newList() *cobra.Command { List dashboards. - Requires the Databricks SQL access entitlement.` + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" @@ -800,6 +863,16 @@ func newListSchedules() *cobra.Command { cmd.Short = `List dashboard schedules.` cmd.Long = `List dashboard schedules. + List dashboard schedules. + + The caller must be a workspace user with one of the following [entitlements]: + Workspace access, Databricks SQL access, or Consumer access. + + Account-level users who are not members of the workspace cannot call this + endpoint, even if the dashboard has been shared with them. + + [entitlements]: https://docs.databricks.com/security/auth/entitlements + Arguments: DASHBOARD_ID: UUID identifying the dashboard to which the schedules belongs.` @@ -873,6 +946,16 @@ func newListSubscriptions() *cobra.Command { cmd.Short = `List schedule subscriptions.` cmd.Long = `List schedule subscriptions. + List schedule subscriptions. + + The caller must be a workspace user with one of the following [entitlements]: + Workspace access, Databricks SQL access, or Consumer access. + + Account-level users who are not members of the workspace cannot call this + endpoint, even if the dashboard has been shared with them. + + [entitlements]: https://docs.databricks.com/security/auth/entitlements + Arguments: DASHBOARD_ID: UUID identifying the dashboard which the subscriptions belongs. SCHEDULE_ID: UUID identifying the schedule which the subscriptions belongs.` @@ -1031,7 +1114,10 @@ func newPublish() *cobra.Command { Publish the current draft dashboard. - Requires the Databricks SQL access entitlement. + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements Arguments: DASHBOARD_ID: UUID identifying the dashboard to be published.` @@ -1107,7 +1193,10 @@ func newRevert() *cobra.Command { Revert a dashboard's definition in draft mode to the last published version. - Requires the Databricks SQL access entitlement. + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements Arguments: DASHBOARD_ID: UUID identifying the dashboard.` @@ -1180,7 +1269,10 @@ func newTrash() *cobra.Command { Trash a dashboard. - Requires the Databricks SQL access entitlement. + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements Arguments: DASHBOARD_ID: UUID identifying the dashboard.` @@ -1240,7 +1332,10 @@ func newUnpublish() *cobra.Command { Unpublish the dashboard. - Requires the Databricks SQL access entitlement. + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements Arguments: DASHBOARD_ID: UUID identifying the published dashboard.` @@ -1310,7 +1405,10 @@ func newUpdate() *cobra.Command { Update a draft dashboard. - Requires the Databricks SQL access entitlement. + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements Arguments: DASHBOARD_ID: UUID identifying the dashboard.` @@ -1389,6 +1487,13 @@ func newUpdateSchedule() *cobra.Command { cmd.Short = `Update dashboard schedule.` cmd.Long = `Update dashboard schedule. + Update dashboard schedule. + + Requires the [Databricks SQL access] entitlement. Grant Databricks SQL access + in addition to Workspace access. + + [Databricks SQL access]: https://docs.databricks.com/security/auth/entitlements + Arguments: DASHBOARD_ID: UUID identifying the dashboard to which the schedule belongs. SCHEDULE_ID: UUID identifying the schedule. diff --git a/cmd/workspace/model-versions/model-versions.go b/cmd/workspace/model-versions/model-versions.go index 039c545ade9..3d6e21a7f46 100644 --- a/cmd/workspace/model-versions/model-versions.go +++ b/cmd/workspace/model-versions/model-versions.go @@ -292,8 +292,8 @@ func newList() *cobra.Command { cmd.Short = `List Model Versions.` cmd.Long = `List Model Versions. - List model versions. You can list model versions under a particular schema, or - list all model versions in the current metastore. + List the model versions of the specified registered model, identified by its + full three-level name (catalog.schema.model). The returned models are filtered based on the privileges of the calling user. For example, the metastore admin is able to list all the model versions. A diff --git a/cmd/workspace/pipelines/pipelines.go b/cmd/workspace/pipelines/pipelines.go index 1eb3a6bbb05..699d6843759 100644 --- a/cmd/workspace/pipelines/pipelines.go +++ b/cmd/workspace/pipelines/pipelines.go @@ -983,6 +983,7 @@ func newStartUpdate() *cobra.Command { SERVICE_UPGRADE, USER_ACTION, ]`) + cmd.Flags().BoolVar(&startUpdateReq.Development, "development", startUpdateReq.Development, `Whether the update is started in the development mode.`) cmd.Flags().BoolVar(&startUpdateReq.FullRefresh, "full-refresh", startUpdateReq.FullRefresh, `If true, this update will reset all tables before running.`) // TODO: array: full_refresh_selection // TODO: map via StringToStringVar: parameters diff --git a/cmd/workspace/policies/policies.go b/cmd/workspace/policies/policies.go index 25c75a606c0..34607a8e956 100644 --- a/cmd/workspace/policies/policies.go +++ b/cmd/workspace/policies/policies.go @@ -80,6 +80,7 @@ func newCreatePolicy() *cobra.Command { cmd.Flags().StringVar(&createPolicyReq.PolicyInfo.Name, "name", createPolicyReq.PolicyInfo.Name, `Name of the policy.`) cmd.Flags().StringVar(&createPolicyReq.PolicyInfo.OnSecurableFullname, "on-securable-fullname", createPolicyReq.PolicyInfo.OnSecurableFullname, `Full name of the securable on which the policy is defined.`) cmd.Flags().Var(&createPolicyReq.PolicyInfo.OnSecurableType, "on-securable-type", `Type of the securable on which the policy is defined. Supported values: [ + AGENT_SERVICE, CATALOG, CLEAN_ROOM, CONNECTION, @@ -97,6 +98,7 @@ func newCreatePolicy() *cobra.Command { RECIPIENT, SCHEMA, SHARE, + SKILL, STAGING_TABLE, STORAGE_CREDENTIAL, TABLE, @@ -118,6 +120,7 @@ func newCreatePolicy() *cobra.Command { FOR_SECURABLE_TYPE: Type of securables that the policy should take effect on. Required on create and optional on update. Supported values: [ + AGENT_SERVICE, CATALOG, CLEAN_ROOM, CONNECTION, @@ -135,6 +138,7 @@ func newCreatePolicy() *cobra.Command { RECIPIENT, SCHEMA, SHARE, + SKILL, STAGING_TABLE, STORAGE_CREDENTIAL, TABLE, @@ -457,6 +461,7 @@ func newUpdatePolicy() *cobra.Command { cmd.Flags().StringVar(&updatePolicyReq.PolicyInfo.Name, "name", updatePolicyReq.PolicyInfo.Name, `Name of the policy.`) cmd.Flags().StringVar(&updatePolicyReq.PolicyInfo.OnSecurableFullname, "on-securable-fullname", updatePolicyReq.PolicyInfo.OnSecurableFullname, `Full name of the securable on which the policy is defined.`) cmd.Flags().Var(&updatePolicyReq.PolicyInfo.OnSecurableType, "on-securable-type", `Type of the securable on which the policy is defined. Supported values: [ + AGENT_SERVICE, CATALOG, CLEAN_ROOM, CONNECTION, @@ -474,6 +479,7 @@ func newUpdatePolicy() *cobra.Command { RECIPIENT, SCHEMA, SHARE, + SKILL, STAGING_TABLE, STORAGE_CREDENTIAL, TABLE, @@ -498,6 +504,7 @@ func newUpdatePolicy() *cobra.Command { FOR_SECURABLE_TYPE: Type of securables that the policy should take effect on. Required on create and optional on update. Supported values: [ + AGENT_SERVICE, CATALOG, CLEAN_ROOM, CONNECTION, @@ -515,6 +522,7 @@ func newUpdatePolicy() *cobra.Command { RECIPIENT, SCHEMA, SHARE, + SKILL, STAGING_TABLE, STORAGE_CREDENTIAL, TABLE, diff --git a/cmd/workspace/postgres/postgres.go b/cmd/workspace/postgres/postgres.go index 92a30ceae6d..dde35019579 100644 --- a/cmd/workspace/postgres/postgres.go +++ b/cmd/workspace/postgres/postgres.go @@ -1160,8 +1160,10 @@ func newCreateSnapshot() *cobra.Command { // TODO: complex arg: status cmd.Use = "create-snapshot PARENT SNAPSHOT_ID" - cmd.Short = `Create a Snapshot.` - cmd.Long = `Create a Snapshot. + cmd.Short = `*Beta* Create a Snapshot.` + cmd.Long = `This command is in Beta and may change without notice. + +Create a Snapshot. Creates a snapshot, an immutable point-in-time copy of a branch's data, within the project. @@ -1176,12 +1178,9 @@ func newCreateSnapshot() *cobra.Command { SNAPSHOT_ID: Client-chosen ID for the snapshot. It becomes the final segment of the snapshot resource name and cannot be changed after creation.` - // This command is being previewed; hide from help output. - cmd.Hidden = true - cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" - cmd.Annotations["launch_stage_display"] = "Private Preview" + cmd.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -2236,8 +2235,10 @@ func newDeleteSnapshot() *cobra.Command { cmd.Flags().DurationVar(&deleteSnapshotTimeout, "timeout", 0, `maximum amount of time to reach DONE state`) cmd.Use = "delete-snapshot NAME" - cmd.Short = `Delete a Snapshot.` - cmd.Long = `Delete a Snapshot. + cmd.Short = `*Beta* Delete a Snapshot.` + cmd.Long = `This command is in Beta and may change without notice. + +Delete a Snapshot. Deletes the specified snapshot. @@ -2250,12 +2251,9 @@ func newDeleteSnapshot() *cobra.Command { NAME: The resource name of the snapshot to delete. Format: projects/{project_id}/snapshots/{snapshot_id}` - // This command is being previewed; hide from help output. - cmd.Hidden = true - cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" - cmd.Annotations["launch_stage_display"] = "Private Preview" + cmd.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -3154,8 +3152,10 @@ func newGetSnapshot() *cobra.Command { var getSnapshotReq postgres.GetSnapshotRequest cmd.Use = "get-snapshot NAME" - cmd.Short = `Get a Snapshot.` - cmd.Long = `Get a Snapshot. + cmd.Short = `*Beta* Get a Snapshot.` + cmd.Long = `This command is in Beta and may change without notice. + +Get a Snapshot. Retrieves information about the specified snapshot. @@ -3163,12 +3163,9 @@ func newGetSnapshot() *cobra.Command { NAME: The resource name of the snapshot to retrieve. Format: projects/{project_id}/snapshots/{snapshot_id}` - // This command is being previewed; hide from help output. - cmd.Hidden = true - cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" - cmd.Annotations["launch_stage_display"] = "Private Preview" + cmd.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -3892,20 +3889,19 @@ func newListSnapshots() *cobra.Command { cmd.Flags().Lookup("page-token").Hidden = true cmd.Use = "list-snapshots PARENT" - cmd.Short = `List Snapshots.` - cmd.Long = `List Snapshots. + cmd.Short = `*Beta* List Snapshots.` + cmd.Long = `This command is in Beta and may change without notice. + +List Snapshots. Returns a paginated list of snapshots in the project. Arguments: PARENT: The project that owns the snapshots. Format: projects/{project_id}` - // This command is being previewed; hide from help output. - cmd.Hidden = true - cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" - cmd.Annotations["launch_stage_display"] = "Private Preview" + cmd.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) diff --git a/cmd/workspace/sandbox/sandbox.go b/cmd/workspace/sandbox/sandbox.go index 5398e97e60d..b76c2caaf90 100644 --- a/cmd/workspace/sandbox/sandbox.go +++ b/cmd/workspace/sandbox/sandbox.go @@ -75,7 +75,7 @@ func newCreateSandbox() *cobra.Command { cmd.Flags().Var(&createSandboxJson, "json", `either inline JSON string or @path/to/file.json with request body`) cmd.Flags().StringVar(&createSandboxReq.Sandbox.DisplayName, "display-name", createSandboxReq.Sandbox.DisplayName, `Human-readable display label for the sandbox.`) - cmd.Flags().StringVar(&createSandboxReq.Sandbox.Name, "name", createSandboxReq.Sandbox.Name, `The AIP-compliant resource name, such as "sandboxes/my-sandbox".`) + cmd.Flags().StringVar(&createSandboxReq.Sandbox.Name, "name", createSandboxReq.Sandbox.Name, `The sandbox resource name, in the form sandboxes/{sandbox_id}.`) // TODO: complex arg: spec // TODO: complex arg: status @@ -575,7 +575,7 @@ func newUpdateSandbox() *cobra.Command { cmd.Flags().Var(&updateSandboxJson, "json", `either inline JSON string or @path/to/file.json with request body`) cmd.Flags().StringVar(&updateSandboxReq.Sandbox.DisplayName, "display-name", updateSandboxReq.Sandbox.DisplayName, `Human-readable display label for the sandbox.`) - cmd.Flags().StringVar(&updateSandboxReq.Sandbox.Name, "name", updateSandboxReq.Sandbox.Name, `The AIP-compliant resource name, such as "sandboxes/my-sandbox".`) + cmd.Flags().StringVar(&updateSandboxReq.Sandbox.Name, "name", updateSandboxReq.Sandbox.Name, `The sandbox resource name, in the form sandboxes/{sandbox_id}.`) // TODO: complex arg: spec // TODO: complex arg: status diff --git a/cmd/workspace/workspace-entity-tag-assignments/workspace-entity-tag-assignments.go b/cmd/workspace/workspace-entity-tag-assignments/workspace-entity-tag-assignments.go index e2f8495682e..8cbc12bc2f6 100644 --- a/cmd/workspace/workspace-entity-tag-assignments/workspace-entity-tag-assignments.go +++ b/cmd/workspace/workspace-entity-tag-assignments/workspace-entity-tag-assignments.go @@ -78,7 +78,7 @@ Create a tag assignment for an entity. Arguments: ENTITY_TYPE: The type of entity to which the tag is assigned. Allowed values are apps, - dashboards, geniespaces, notebooks + dashboards, designerfiles, geniespaces, notebooks ENTITY_ID: The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name TAG_KEY: The key of the tag. The characters , . : / - = and leading/trailing spaces @@ -171,7 +171,7 @@ Delete a tag assignment for an entity. Arguments: ENTITY_TYPE: The type of entity to which the tag is assigned. Allowed values are apps, - dashboards, geniespaces, notebooks + dashboards, designerfiles, geniespaces, notebooks ENTITY_ID: The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name TAG_KEY: The key of the tag. The characters , . : / - = and leading/trailing spaces @@ -238,7 +238,7 @@ Get a tag assignment for an entity. Arguments: ENTITY_TYPE: The type of entity to which the tag is assigned. Allowed values are apps, - dashboards, geniespaces, notebooks + dashboards, designerfiles, geniespaces, notebooks ENTITY_ID: The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name TAG_KEY: The key of the tag. The characters , . : / - = and leading/trailing spaces @@ -319,7 +319,7 @@ List tag assignments for an entity. Arguments: ENTITY_TYPE: The type of entity to which the tag is assigned. Allowed values are apps, - dashboards, geniespaces, notebooks + dashboards, designerfiles, geniespaces, notebooks ENTITY_ID: The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name` @@ -393,7 +393,7 @@ Update a tag assignment for an entity. Arguments: ENTITY_TYPE: The type of entity to which the tag is assigned. Allowed values are apps, - dashboards, geniespaces, notebooks + dashboards, designerfiles, geniespaces, notebooks ENTITY_ID: The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name TAG_KEY: The key of the tag. The characters , . : / - = and leading/trailing spaces diff --git a/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go b/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go index 9139ea51e8a..6b452aacf07 100644 --- a/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go +++ b/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go @@ -23,11 +23,11 @@ var cmdOverrides []func(*cobra.Command) func New() *cobra.Command { cmd := &cobra.Command{ Use: "workspace-iam-v2", - Short: `*Beta* These APIs are used to manage identities and the workspace access of these identities in .`, + Short: `*Beta* These APIs are used to manage identities and the workspace access of these identities in Databricks.`, Long: `This command is in Beta and may change without notice. These APIs are used to manage identities and the workspace access of these - identities in .`, + identities in Databricks.`, GroupID: "iam", RunE: root.ReportUnknownSubcommand, } diff --git a/cmd/workspace/workspace-settings-v2/workspace-settings-v2.go b/cmd/workspace/workspace-settings-v2/workspace-settings-v2.go index c937b06bf9c..a9c54d16d03 100644 --- a/cmd/workspace/workspace-settings-v2/workspace-settings-v2.go +++ b/cmd/workspace/workspace-settings-v2/workspace-settings-v2.go @@ -211,12 +211,14 @@ func newPatchPublicWorkspaceSetting() *cobra.Command { // TODO: complex arg: effective_personal_compute // TODO: complex arg: effective_restrict_workspace_admins // TODO: complex arg: effective_string_val + // TODO: complex arg: effective_workspace_label // TODO: complex arg: integer_val cmd.Flags().StringVar(&patchPublicWorkspaceSettingReq.Setting.Name, "name", patchPublicWorkspaceSettingReq.Setting.Name, `Name of the setting.`) // TODO: complex arg: operational_email_custom_recipient // TODO: complex arg: personal_compute // TODO: complex arg: restrict_workspace_admins // TODO: complex arg: string_val + // TODO: complex arg: workspace_label cmd.Use = "patch-public-workspace-setting NAME" cmd.Short = `Update a workspace setting.` diff --git a/go.mod b/go.mod index 872ed55238e..5b314bbe196 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/charmbracelet/huh v1.0.0 // MIT github.com/charmbracelet/lipgloss v1.1.0 // MIT github.com/charmbracelet/x/ansi v0.11.8 // MIT - github.com/databricks/databricks-sdk-go v0.178.0 // Apache-2.0 + github.com/databricks/databricks-sdk-go v0.182.0 // Apache-2.0 github.com/google/jsonschema-go v0.4.3 // MIT github.com/google/uuid v1.6.0 // BSD-3-Clause github.com/gorilla/websocket v1.5.3 // BSD-2-Clause diff --git a/go.sum b/go.sum index 0996ea26af6..b072a34b7d6 100644 --- a/go.sum +++ b/go.sum @@ -69,8 +69,8 @@ github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVy github.com/cyphar/filepath-securejoin v0.6.1/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc= github.com/danieljoos/wincred v1.2.3 h1:v7dZC2x32Ut3nEfRH+vhoZGvN72+dQ/snVXo/vMFLdQ= github.com/danieljoos/wincred v1.2.3/go.mod h1:6qqX0WNrS4RzPZ1tnroDzq9kY3fu1KwE7MRLQK4X0bs= -github.com/databricks/databricks-sdk-go v0.178.0 h1:OLHhYYTGCZ4iAEUYoARPeeCYFIvAmpLT+L4sxRayqIc= -github.com/databricks/databricks-sdk-go v0.178.0/go.mod h1:udBw6nxkaqa0fgPQ7ZW1kGFkltQncYx+qFJeVFmxtz8= +github.com/databricks/databricks-sdk-go v0.182.0 h1:KTxLgmZFfRZl9MaJ+YD3N0RvfFMWQHmoQT5I+NUin2M= +github.com/databricks/databricks-sdk-go v0.182.0/go.mod h1:udBw6nxkaqa0fgPQ7ZW1kGFkltQncYx+qFJeVFmxtz8= github.com/databricks/sdk-go/auth v0.0.1-dev.8 h1:iMOsshXRZvOrOUVZdcAc4MWQ64mqcenf9Nl803OA8Lc= github.com/databricks/sdk-go/auth v0.0.1-dev.8/go.mod h1:YliptECFkvwuHLoHiKRqo9Drx5RVM9u5J40UDmEq0iQ= github.com/databricks/sdk-go/core v0.0.1-dev.8 h1:xUjpesiEAFvFtrMlV16+20Wx65VoE/ptr5KTFRFrFwQ= diff --git a/python/databricks/bundles/apps/_models/app.py b/python/databricks/bundles/apps/_models/app.py index a700c7b26ac..03032a44456 100644 --- a/python/databricks/bundles/apps/_models/app.py +++ b/python/databricks/bundles/apps/_models/app.py @@ -92,9 +92,7 @@ class App(Resource): git_source: VariableOrOptional[GitSource] = None """ - :meta private: [EXPERIMENTAL] - - [Beta] Git source configuration for app deployments. Specifies which git reference (branch, tag, or commit) + Git source configuration for app deployments. Specifies which git reference (branch, tag, or commit) to use when deploying the app. Used in conjunction with git_repository to deploy code directly from git. The source_code_path within git_source specifies the relative path to the app code within the repository. """ @@ -115,11 +113,6 @@ class App(Resource): """ source_code_path: VariableOrOptional[str] = None - """ - :meta private: [EXPERIMENTAL] - - [Beta] - """ space: VariableOrOptional[str] = None """ @@ -131,9 +124,6 @@ class App(Resource): telemetry_export_destinations: VariableOrList[TelemetryExportDestination] = field( default_factory=list ) - """ - [Public Preview] - """ usage_policy_id: VariableOrOptional[str] = None """ @@ -205,9 +195,7 @@ class AppDict(TypedDict, total=False): git_source: VariableOrOptional[GitSourceParam] """ - :meta private: [EXPERIMENTAL] - - [Beta] Git source configuration for app deployments. Specifies which git reference (branch, tag, or commit) + Git source configuration for app deployments. Specifies which git reference (branch, tag, or commit) to use when deploying the app. Used in conjunction with git_repository to deploy code directly from git. The source_code_path within git_source specifies the relative path to the app code within the repository. """ @@ -228,11 +216,6 @@ class AppDict(TypedDict, total=False): """ source_code_path: VariableOrOptional[str] - """ - :meta private: [EXPERIMENTAL] - - [Beta] - """ space: VariableOrOptional[str] """ @@ -242,9 +225,6 @@ class AppDict(TypedDict, total=False): """ telemetry_export_destinations: VariableOrList[TelemetryExportDestinationParam] - """ - [Public Preview] - """ usage_policy_id: VariableOrOptional[str] """ diff --git a/python/databricks/bundles/apps/_models/git_repository.py b/python/databricks/bundles/apps/_models/git_repository.py index 1ee7502580d..d13ae5b2a56 100644 --- a/python/databricks/bundles/apps/_models/git_repository.py +++ b/python/databricks/bundles/apps/_models/git_repository.py @@ -30,17 +30,13 @@ class GitRepository: auto_deploy: VariableOrOptional[bool] = None """ - :meta private: [EXPERIMENTAL] - - [Beta] When true, automatically deploys the app on push events to the branch configured in + When true, automatically deploys the app on push events to the branch configured in the app's deployment_source.git_source. """ caller_credential_id: VariableOrOptional[int] = None """ - :meta private: [EXPERIMENTAL] - - [Beta] ID of a personal access token Git credential owned by the caller, used to + ID of a personal access token Git credential owned by the caller, used to grant the app's service principal access to this repository. """ @@ -68,17 +64,13 @@ class GitRepositoryDict(TypedDict, total=False): auto_deploy: VariableOrOptional[bool] """ - :meta private: [EXPERIMENTAL] - - [Beta] When true, automatically deploys the app on push events to the branch configured in + When true, automatically deploys the app on push events to the branch configured in the app's deployment_source.git_source. """ caller_credential_id: VariableOrOptional[int] """ - :meta private: [EXPERIMENTAL] - - [Beta] ID of a personal access token Git credential owned by the caller, used to + ID of a personal access token Git credential owned by the caller, used to grant the app's service principal access to this repository. """ diff --git a/python/databricks/bundles/apps/_models/telemetry_export_destination.py b/python/databricks/bundles/apps/_models/telemetry_export_destination.py index 6db241c044d..edf9108c8a1 100644 --- a/python/databricks/bundles/apps/_models/telemetry_export_destination.py +++ b/python/databricks/bundles/apps/_models/telemetry_export_destination.py @@ -23,7 +23,7 @@ class TelemetryExportDestination: unity_catalog: VariableOrOptional[UnityCatalog] = None """ - [Public Preview] Unity Catalog Destinations for OTEL telemetry export. + Unity Catalog Destinations for OTEL telemetry export. """ @classmethod @@ -39,7 +39,7 @@ class TelemetryExportDestinationDict(TypedDict, total=False): unity_catalog: VariableOrOptional[UnityCatalogParam] """ - [Public Preview] Unity Catalog Destinations for OTEL telemetry export. + Unity Catalog Destinations for OTEL telemetry export. """ diff --git a/python/databricks/bundles/apps/_models/unity_catalog.py b/python/databricks/bundles/apps/_models/unity_catalog.py index 39c521b7e4b..f20d1c373f3 100644 --- a/python/databricks/bundles/apps/_models/unity_catalog.py +++ b/python/databricks/bundles/apps/_models/unity_catalog.py @@ -19,17 +19,17 @@ class UnityCatalog: logs_table: VariableOr[str] """ - [Public Preview] Unity Catalog table for OTEL logs. + Unity Catalog table for OTEL logs. """ metrics_table: VariableOr[str] """ - [Public Preview] Unity Catalog table for OTEL metrics. + Unity Catalog table for OTEL metrics. """ traces_table: VariableOr[str] """ - [Public Preview] Unity Catalog table for OTEL traces (spans). + Unity Catalog table for OTEL traces (spans). """ @classmethod @@ -45,17 +45,17 @@ class UnityCatalogDict(TypedDict, total=False): logs_table: VariableOr[str] """ - [Public Preview] Unity Catalog table for OTEL logs. + Unity Catalog table for OTEL logs. """ metrics_table: VariableOr[str] """ - [Public Preview] Unity Catalog table for OTEL metrics. + Unity Catalog table for OTEL metrics. """ traces_table: VariableOr[str] """ - [Public Preview] Unity Catalog table for OTEL traces (spans). + Unity Catalog table for OTEL traces (spans). """ diff --git a/python/databricks/bundles/clusters/_models/gcp_attributes.py b/python/databricks/bundles/clusters/_models/gcp_attributes.py index ece322d04e0..e31188d405e 100644 --- a/python/databricks/bundles/clusters/_models/gcp_attributes.py +++ b/python/databricks/bundles/clusters/_models/gcp_attributes.py @@ -83,7 +83,8 @@ class GcpAttributes: """ Identifier for the availability zone in which the cluster resides. This can be one of the following: - - "HA" => High availability, spread nodes across availability zones for a Databricks deployment region [default]. + - "HA" => High availability, spread nodes across availability zones for a + Databricks deployment region [default]. - "AUTO" => Databricks picks an availability zone to schedule the cluster on. - A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones. @@ -158,7 +159,8 @@ class GcpAttributesDict(TypedDict, total=False): """ Identifier for the availability zone in which the cluster resides. This can be one of the following: - - "HA" => High availability, spread nodes across availability zones for a Databricks deployment region [default]. + - "HA" => High availability, spread nodes across availability zones for a + Databricks deployment region [default]. - "AUTO" => Databricks picks an availability zone to schedule the cluster on. - A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones. diff --git a/python/databricks/bundles/job_runs/_models/job_run.py b/python/databricks/bundles/job_runs/_models/job_run.py index 82397df768c..133bcdabb89 100644 --- a/python/databricks/bundles/job_runs/_models/job_run.py +++ b/python/databricks/bundles/job_runs/_models/job_run.py @@ -65,8 +65,9 @@ class JobRun(Resource): """ The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level. - * `STANDARD`: Enables cost-efficient execution of serverless workloads. * `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance. + * `STANDARD`: Enables cost-efficient execution of serverless workloads. + * `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target. """ pipeline_params: VariableOrOptional[PipelineParams] = None @@ -118,8 +119,9 @@ class JobRunDict(TypedDict, total=False): """ The performance mode on a serverless job. The performance target determines the level of compute performance or cost-efficiency for the run. This field overrides the performance target defined on the job level. - * `STANDARD`: Enables cost-efficient execution of serverless workloads. * `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance. + * `STANDARD`: Enables cost-efficient execution of serverless workloads. + * `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target. """ pipeline_params: VariableOrOptional[PipelineParamsParam] diff --git a/python/databricks/bundles/jobs/__init__.py b/python/databricks/bundles/jobs/__init__.py index 9aeaa9dd327..a14550b1c07 100644 --- a/python/databricks/bundles/jobs/__init__.py +++ b/python/databricks/bundles/jobs/__init__.py @@ -7,6 +7,8 @@ "AiRuntimeTask", "AiRuntimeTaskDict", "AiRuntimeTaskParam", + "AiRuntimeTaskPriorityClass", + "AiRuntimeTaskPriorityClassParam", "AlertTask", "AlertTaskDict", "AlertTaskParam", @@ -346,6 +348,10 @@ AiRuntimeTaskDict, AiRuntimeTaskParam, ) +from databricks.bundles.jobs._models.ai_runtime_task_priority_class import ( + AiRuntimeTaskPriorityClass, + AiRuntimeTaskPriorityClassParam, +) from databricks.bundles.jobs._models.alert_task import ( AlertTask, AlertTaskDict, diff --git a/python/databricks/bundles/jobs/_models/ai_runtime_task.py b/python/databricks/bundles/jobs/_models/ai_runtime_task.py index e1257223f6a..09144f23c83 100644 --- a/python/databricks/bundles/jobs/_models/ai_runtime_task.py +++ b/python/databricks/bundles/jobs/_models/ai_runtime_task.py @@ -10,6 +10,10 @@ VariableOrList, VariableOrOptional, ) +from databricks.bundles.jobs._models.ai_runtime_task_priority_class import ( + AiRuntimeTaskPriorityClass, + AiRuntimeTaskPriorityClassParam, +) from databricks.bundles.jobs._models.deployment_spec import ( DeploymentSpec, DeploymentSpecParam, @@ -95,6 +99,26 @@ class AiRuntimeTask: omitted, MLflow generates a default name. """ + priority_class: VariableOrOptional[AiRuntimeTaskPriorityClass] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Scheduling priority class for the workload. May only be set together with + a pre-provisioned capacity reservation (a deployment's + `compute.provisioned_capacity_id`); it is rejected on a workload that runs + on on-demand capacity. + """ + + unity_catalog_image_path: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Optional Unity Catalog path for a custom container image. When set, + the task runs on the specified container image instead of the default + Databricks client image. Format: + `{catalog}.{schema}.{image_name}:{tag}` + """ + @classmethod def from_dict(cls, value: "AiRuntimeTaskDict") -> "Self": return _transform(cls, value) @@ -169,5 +193,25 @@ class AiRuntimeTaskDict(TypedDict, total=False): omitted, MLflow generates a default name. """ + priority_class: VariableOrOptional[AiRuntimeTaskPriorityClassParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Scheduling priority class for the workload. May only be set together with + a pre-provisioned capacity reservation (a deployment's + `compute.provisioned_capacity_id`); it is rejected on a workload that runs + on on-demand capacity. + """ + + unity_catalog_image_path: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Optional Unity Catalog path for a custom container image. When set, + the task runs on the specified container image instead of the default + Databricks client image. Format: + `{catalog}.{schema}.{image_name}:{tag}` + """ + AiRuntimeTaskParam = AiRuntimeTaskDict | AiRuntimeTask diff --git a/python/databricks/bundles/jobs/_models/ai_runtime_task_priority_class.py b/python/databricks/bundles/jobs/_models/ai_runtime_task_priority_class.py new file mode 100644 index 00000000000..1dd09afd131 --- /dev/null +++ b/python/databricks/bundles/jobs/_models/ai_runtime_task_priority_class.py @@ -0,0 +1,22 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from enum import Enum +from typing import Literal + + +class AiRuntimeTaskPriorityClass(Enum): + """ + :meta private: [EXPERIMENTAL] + + Scheduling priority class for a workload — its priority and preemptability + when the scheduler ranks pending work. + """ + + BEST_EFFORT = "BEST_EFFORT" + NORMAL = "NORMAL" + CRITICAL = "CRITICAL" + + +AiRuntimeTaskPriorityClassParam = ( + Literal["BEST_EFFORT", "NORMAL", "CRITICAL"] | AiRuntimeTaskPriorityClass +) diff --git a/python/databricks/bundles/jobs/_models/compute_spec_accelerator_type.py b/python/databricks/bundles/jobs/_models/compute_spec_accelerator_type.py index c3428f40d43..218cce4766f 100644 --- a/python/databricks/bundles/jobs/_models/compute_spec_accelerator_type.py +++ b/python/databricks/bundles/jobs/_models/compute_spec_accelerator_type.py @@ -14,8 +14,10 @@ class ComputeSpecAcceleratorType(Enum): GPU_1X_A10 = "GPU_1xA10" GPU_1X_H100 = "GPU_1xH100" GPU_8X_H100 = "GPU_8xH100" + GPU_8X_B300 = "GPU_8xB300" ComputeSpecAcceleratorTypeParam = ( - Literal["GPU_1xA10", "GPU_1xH100", "GPU_8xH100"] | ComputeSpecAcceleratorType + Literal["GPU_1xA10", "GPU_1xH100", "GPU_8xH100", "GPU_8xB300"] + | ComputeSpecAcceleratorType ) diff --git a/python/databricks/bundles/jobs/_models/dashboard_task.py b/python/databricks/bundles/jobs/_models/dashboard_task.py index 94ae8f645f1..7d07ea50175 100644 --- a/python/databricks/bundles/jobs/_models/dashboard_task.py +++ b/python/databricks/bundles/jobs/_models/dashboard_task.py @@ -28,9 +28,7 @@ class DashboardTask: filters: VariableOrDict[str] = field(default_factory=dict) """ - :meta private: [EXPERIMENTAL] - - [Private Preview] Dashboard task parameters. Used to apply dashboard filter values during dashboard task execution. Parameter values get applied to any dashboard filters that have a matching URL identifier as the parameter key. + Dashboard task parameters. Used to apply dashboard filter values during dashboard task execution. Parameter values get applied to any dashboard filters that have a matching URL identifier as the parameter key. The parameter value format is dependent on the filter type: - For text and single-select filters, provide a single value (e.g. `"value"`) - For date and datetime filters, provide the value in ISO 8601 format (e.g. `"2000-01-01T00:00:00"`) @@ -67,9 +65,7 @@ class DashboardTaskDict(TypedDict, total=False): filters: VariableOrDict[str] """ - :meta private: [EXPERIMENTAL] - - [Private Preview] Dashboard task parameters. Used to apply dashboard filter values during dashboard task execution. Parameter values get applied to any dashboard filters that have a matching URL identifier as the parameter key. + Dashboard task parameters. Used to apply dashboard filter values during dashboard task execution. Parameter values get applied to any dashboard filters that have a matching URL identifier as the parameter key. The parameter value format is dependent on the filter type: - For text and single-select filters, provide a single value (e.g. `"value"`) - For date and datetime filters, provide the value in ISO 8601 format (e.g. `"2000-01-01T00:00:00"`) diff --git a/python/databricks/bundles/jobs/_models/gcp_attributes.py b/python/databricks/bundles/jobs/_models/gcp_attributes.py index c8d33a8a83d..2874f9da8e4 100644 --- a/python/databricks/bundles/jobs/_models/gcp_attributes.py +++ b/python/databricks/bundles/jobs/_models/gcp_attributes.py @@ -83,7 +83,8 @@ class GcpAttributes: """ Identifier for the availability zone in which the cluster resides. This can be one of the following: - - "HA" => High availability, spread nodes across availability zones for a Databricks deployment region [default]. + - "HA" => High availability, spread nodes across availability zones for a + Databricks deployment region [default]. - "AUTO" => Databricks picks an availability zone to schedule the cluster on. - A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones. @@ -158,7 +159,8 @@ class GcpAttributesDict(TypedDict, total=False): """ Identifier for the availability zone in which the cluster resides. This can be one of the following: - - "HA" => High availability, spread nodes across availability zones for a Databricks deployment region [default]. + - "HA" => High availability, spread nodes across availability zones for a + Databricks deployment region [default]. - "AUTO" => Databricks picks an availability zone to schedule the cluster on. - A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones. diff --git a/python/databricks/bundles/jobs/_models/job.py b/python/databricks/bundles/jobs/_models/job.py index d7b8e8f7d0c..a4b6e7fde84 100644 --- a/python/databricks/bundles/jobs/_models/job.py +++ b/python/databricks/bundles/jobs/_models/job.py @@ -103,9 +103,10 @@ class Job(Resource): environments: VariableOrList[JobEnvironment] = field(default_factory=list) """ - A list of task execution environment specifications that can be referenced by serverless tasks of this job. - For serverless notebook tasks, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment. - For other serverless tasks, the task environment is required to be specified using environment_key in the task settings. + A list of task execution environment specifications that can be referenced by tasks that use serverless compute or a compute resource that uses Environments mode. + + For notebook tasks that use serverless compute or a compute resource that uses Environments mode, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment. + For other tasks that use serverless compute or a compute resource that uses Environments mode, the task environment is required to be specified using environment_key in the task settings. """ git_source: VariableOrOptional[GitSource] = None @@ -169,8 +170,9 @@ class Job(Resource): The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run. The performance target does not apply to tasks that run on Serverless GPU compute. - * `STANDARD`: Enables cost-efficient execution of serverless workloads. * `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance. + * `STANDARD`: Enables cost-efficient execution of serverless workloads. + * `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target. """ permissions: VariableOrList[JobPermission] = field(default_factory=list) @@ -276,9 +278,10 @@ class JobDict(TypedDict, total=False): environments: VariableOrList[JobEnvironmentParam] """ - A list of task execution environment specifications that can be referenced by serverless tasks of this job. - For serverless notebook tasks, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment. - For other serverless tasks, the task environment is required to be specified using environment_key in the task settings. + A list of task execution environment specifications that can be referenced by tasks that use serverless compute or a compute resource that uses Environments mode. + + For notebook tasks that use serverless compute or a compute resource that uses Environments mode, if the environment_key is not specified, the notebook environment will be used if present. If a jobs environment is specified, it will override the notebook environment. + For other tasks that use serverless compute or a compute resource that uses Environments mode, the task environment is required to be specified using environment_key in the task settings. """ git_source: VariableOrOptional[GitSourceParam] @@ -342,8 +345,9 @@ class JobDict(TypedDict, total=False): The performance mode on a serverless job. This field determines the level of compute performance or cost-efficiency for the run. The performance target does not apply to tasks that run on Serverless GPU compute. - * `STANDARD`: Enables cost-efficient execution of serverless workloads. * `PERFORMANCE_OPTIMIZED`: Prioritizes fast startup and execution times through rapid scaling and optimized cluster performance. + * `STANDARD`: Enables cost-efficient execution of serverless workloads. + * `COST_OPTIMIZED`: Enables lower job costs by optimizing compute for your selected target duration time. Must provide a duration target. """ permissions: VariableOrList[JobPermissionParam] diff --git a/python/databricks/bundles/jobs/_models/job_run_as.py b/python/databricks/bundles/jobs/_models/job_run_as.py index dec1eff158b..6242eafad59 100644 --- a/python/databricks/bundles/jobs/_models/job_run_as.py +++ b/python/databricks/bundles/jobs/_models/job_run_as.py @@ -14,16 +14,14 @@ @dataclass(kw_only=True) class JobRunAs: """ - Write-only setting. Specifies the user or service principal that the job runs as. If not specified, the job runs as the user who created the job. + Write-only setting. Specifies the user, service principal, or group that the job runs as. If not specified, the job runs as the user who created the job. - Either `user_name` or `service_principal_name` should be specified. If not, an error is thrown. + One of `user_name`, `service_principal_name`, or `group_name` should be specified. If not, an error is thrown. """ group_name: VariableOrOptional[str] = None """ - :meta private: [EXPERIMENTAL] - - [Private Preview] Group name of an account group assigned to the workspace. Setting this field requires being a member of the group. + Group name of an account group assigned to the workspace. When set, all tasks run as the group and the group's permissions are used for data access. Setting this field requires being a member of the group, or having the `Assume` permission on the group. """ service_principal_name: VariableOrOptional[str] = None @@ -49,9 +47,7 @@ class JobRunAsDict(TypedDict, total=False): group_name: VariableOrOptional[str] """ - :meta private: [EXPERIMENTAL] - - [Private Preview] Group name of an account group assigned to the workspace. Setting this field requires being a member of the group. + Group name of an account group assigned to the workspace. When set, all tasks run as the group and the group's permissions are used for data access. Setting this field requires being a member of the group, or having the `Assume` permission on the group. """ service_principal_name: VariableOrOptional[str] diff --git a/python/databricks/bundles/jobs/_models/task.py b/python/databricks/bundles/jobs/_models/task.py index 0a3217235d7..48bbc7f8563 100644 --- a/python/databricks/bundles/jobs/_models/task.py +++ b/python/databricks/bundles/jobs/_models/task.py @@ -188,7 +188,7 @@ class Task: environment_key: VariableOrOptional[str] = None """ - The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute. + The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute or a compute resource that uses Environments mode. """ existing_cluster_id: VariableOrOptional[str] = None @@ -427,7 +427,7 @@ class TaskDict(TypedDict, total=False): environment_key: VariableOrOptional[str] """ - The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute. + The key that references an environment spec in a job. This field is required for Python script, Python wheel and dbt tasks when using serverless compute or a compute resource that uses Environments mode. """ existing_cluster_id: VariableOrOptional[str] diff --git a/python/databricks/bundles/model_provider_services/__init__.py b/python/databricks/bundles/model_provider_services/__init__.py index d256f195862..9aa6724778b 100644 --- a/python/databricks/bundles/model_provider_services/__init__.py +++ b/python/databricks/bundles/model_provider_services/__init__.py @@ -33,6 +33,9 @@ "ModelProviderServiceConfigAzureOpenAiProviderDirectConfig", "ModelProviderServiceConfigAzureOpenAiProviderDirectConfigDict", "ModelProviderServiceConfigAzureOpenAiProviderDirectConfigParam", + "ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth", + "ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthDict", + "ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthParam", "ModelProviderServiceConfigCustomProviderConfig", "ModelProviderServiceConfigCustomProviderConfigDict", "ModelProviderServiceConfigCustomProviderConfigParam", @@ -150,6 +153,11 @@ ModelProviderServiceConfigAzureOpenAiProviderDirectConfigDict, ModelProviderServiceConfigAzureOpenAiProviderDirectConfigParam, ) +from databricks.bundles.model_provider_services._models.model_provider_service_config_custom_provider_api_key_header_auth import ( + ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth, + ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthDict, + ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthParam, +) from databricks.bundles.model_provider_services._models.model_provider_service_config_custom_provider_config import ( ModelProviderServiceConfigCustomProviderConfig, ModelProviderServiceConfigCustomProviderConfigDict, diff --git a/python/databricks/bundles/model_provider_services/_models/model_provider_service_config_custom_provider_api_key_header_auth.py b/python/databricks/bundles/model_provider_services/_models/model_provider_service_config_custom_provider_api_key_header_auth.py new file mode 100644 index 00000000000..765a1f3caad --- /dev/null +++ b/python/databricks/bundles/model_provider_services/_models/model_provider_service_config_custom_provider_api_key_header_auth.py @@ -0,0 +1,81 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOrOptional +from databricks.bundles.model_provider_services._models.model_provider_service_config_provider_secret import ( + ModelProviderServiceConfigProviderSecret, + ModelProviderServiceConfigProviderSecretParam, +) + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth: + """ + :meta private: [EXPERIMENTAL] + + Header-based API-key authentication for a custom provider: the secret is + forwarded on outbound requests under a caller-chosen HTTP header, as + `: `. + """ + + api_key_name: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] HTTP header name that carries the API key on outbound requests (e.g., + `Ocp-Apim-Subscription-Key`). The value forwarded under this header is + supplied via `api_key_value`. + """ + + api_key_value: VariableOrOptional[ModelProviderServiceConfigProviderSecret] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Secret value forwarded under the `api_key_name` header on outbound + requests. Supplied as inline plaintext via `ProviderSecret.plaintext`. + """ + + @classmethod + def from_dict( + cls, value: "ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthDict" + ) -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthDict": + return _transform_to_json_value(self) # type:ignore + + +class ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthDict( + TypedDict, total=False +): + """""" + + api_key_name: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] HTTP header name that carries the API key on outbound requests (e.g., + `Ocp-Apim-Subscription-Key`). The value forwarded under this header is + supplied via `api_key_value`. + """ + + api_key_value: VariableOrOptional[ModelProviderServiceConfigProviderSecretParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Secret value forwarded under the `api_key_name` header on outbound + requests. Supplied as inline plaintext via `ProviderSecret.plaintext`. + """ + + +ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthParam = ( + ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthDict + | ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth +) diff --git a/python/databricks/bundles/model_provider_services/_models/model_provider_service_config_custom_provider_direct_config.py b/python/databricks/bundles/model_provider_services/_models/model_provider_service_config_custom_provider_direct_config.py index 3a93a834abd..ec6804b7da5 100644 --- a/python/databricks/bundles/model_provider_services/_models/model_provider_service_config_custom_provider_direct_config.py +++ b/python/databricks/bundles/model_provider_services/_models/model_provider_service_config_custom_provider_direct_config.py @@ -6,6 +6,10 @@ from databricks.bundles.core._transform import _transform from databricks.bundles.core._transform_to_json import _transform_to_json_value from databricks.bundles.core._variable import VariableOrOptional +from databricks.bundles.model_provider_services._models.model_provider_service_config_custom_provider_api_key_header_auth import ( + ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth, + ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthParam, +) from databricks.bundles.model_provider_services._models.model_provider_service_config_provider_secret import ( ModelProviderServiceConfigProviderSecret, ModelProviderServiceConfigProviderSecretParam, @@ -18,8 +22,9 @@ @dataclass(kw_only=True) class ModelProviderServiceConfigCustomProviderDirectConfig: """ - Direct form of a custom provider configuration. Set `api_key` to the bearer - token sent in the `Authorization` header. + Direct form of a custom provider configuration. Set `api_key` to send the + secret as an `Authorization` bearer token, or `header_auth` to forward it + under a caller-chosen HTTP header. """ api_key: VariableOrOptional[ModelProviderServiceConfigProviderSecret] = None @@ -34,6 +39,17 @@ class ModelProviderServiceConfigCustomProviderDirectConfig: `https://api.example.com/v1`). Required on Create. """ + header_auth: VariableOrOptional[ + ModelProviderServiceConfigCustomProviderApiKeyHeaderAuth + ] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Header-based API-key auth: the secret is forwarded on outbound requests + under a caller-chosen HTTP header rather than as an `Authorization` + bearer token. Set this instead of `api_key` for header auth. + """ + @classmethod def from_dict( cls, value: "ModelProviderServiceConfigCustomProviderDirectConfigDict" @@ -59,6 +75,17 @@ class ModelProviderServiceConfigCustomProviderDirectConfigDict(TypedDict, total= `https://api.example.com/v1`). Required on Create. """ + header_auth: VariableOrOptional[ + ModelProviderServiceConfigCustomProviderApiKeyHeaderAuthParam + ] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Header-based API-key auth: the secret is forwarded on outbound requests + under a caller-chosen HTTP header rather than as an `Authorization` + bearer token. Set this instead of `api_key` for header auth. + """ + ModelProviderServiceConfigCustomProviderDirectConfigParam = ( ModelProviderServiceConfigCustomProviderDirectConfigDict diff --git a/python/databricks/bundles/model_serving_endpoints/_models/amazon_bedrock_config.py b/python/databricks/bundles/model_serving_endpoints/_models/amazon_bedrock_config.py index 09c6b0304b7..0a51df09ba8 100644 --- a/python/databricks/bundles/model_serving_endpoints/_models/amazon_bedrock_config.py +++ b/python/databricks/bundles/model_serving_endpoints/_models/amazon_bedrock_config.py @@ -76,6 +76,12 @@ class AmazonBedrockConfig: `aws_access_key_id_plaintext`, `aws_secret_access_key` and `aws_secret_access_key_plaintext`. """ + uc_service_credential_name: VariableOrOptional[str] = None + """ + [Public Preview] The name of the Unity Catalog service credential that the external model uses to access AWS + resources. + """ + @classmethod def from_dict(cls, value: "AmazonBedrockConfigDict") -> "Self": return _transform(cls, value) @@ -144,5 +150,11 @@ class AmazonBedrockConfigDict(TypedDict, total=False): `aws_access_key_id_plaintext`, `aws_secret_access_key` and `aws_secret_access_key_plaintext`. """ + uc_service_credential_name: VariableOrOptional[str] + """ + [Public Preview] The name of the Unity Catalog service credential that the external model uses to access AWS + resources. + """ + AmazonBedrockConfigParam = AmazonBedrockConfigDict | AmazonBedrockConfig diff --git a/python/databricks/bundles/pipelines/__init__.py b/python/databricks/bundles/pipelines/__init__.py index 2d1adefe33d..2b66e4f795c 100644 --- a/python/databricks/bundles/pipelines/__init__.py +++ b/python/databricks/bundles/pipelines/__init__.py @@ -13,6 +13,9 @@ "AutoFullRefreshPolicy", "AutoFullRefreshPolicyDict", "AutoFullRefreshPolicyParam", + "AvroTransformerOptions", + "AvroTransformerOptionsDict", + "AvroTransformerOptionsParam", "AwsAttributes", "AwsAttributesDict", "AwsAttributesParam", @@ -31,6 +34,9 @@ "ConfluenceConnectorOptions", "ConfluenceConnectorOptionsDict", "ConfluenceConnectorOptionsParam", + "ConfluentSchemaRegistryOptions", + "ConfluentSchemaRegistryOptionsDict", + "ConfluentSchemaRegistryOptionsParam", "ConnectionParameters", "ConnectionParametersDict", "ConnectionParametersParam", @@ -169,6 +175,8 @@ "OutlookOptions", "OutlookOptionsDict", "OutlookOptionsParam", + "ParseMode", + "ParseModeParam", "PathPattern", "PathPatternDict", "PathPatternParam", @@ -200,6 +208,9 @@ "PostgresSlotConfig", "PostgresSlotConfigDict", "PostgresSlotConfigParam", + "ProtobufTransformerOptions", + "ProtobufTransformerOptionsDict", + "ProtobufTransformerOptionsParam", "RabbitmqOptions", "RabbitmqOptionsDict", "RabbitmqOptionsParam", @@ -221,6 +232,9 @@ "S3StorageInfo", "S3StorageInfoDict", "S3StorageInfoParam", + "SchemaRegistryConfig", + "SchemaRegistryConfigDict", + "SchemaRegistryConfigParam", "SchemaSpec", "SchemaSpecDict", "SchemaSpecParam", @@ -293,6 +307,11 @@ AutoFullRefreshPolicyDict, AutoFullRefreshPolicyParam, ) +from databricks.bundles.pipelines._models.avro_transformer_options import ( + AvroTransformerOptions, + AvroTransformerOptionsDict, + AvroTransformerOptionsParam, +) from databricks.bundles.pipelines._models.aws_attributes import ( AwsAttributes, AwsAttributesDict, @@ -325,6 +344,11 @@ ConfluenceConnectorOptionsDict, ConfluenceConnectorOptionsParam, ) +from databricks.bundles.pipelines._models.confluent_schema_registry_options import ( + ConfluentSchemaRegistryOptions, + ConfluentSchemaRegistryOptionsDict, + ConfluentSchemaRegistryOptionsParam, +) from databricks.bundles.pipelines._models.connection_parameters import ( ConnectionParameters, ConnectionParametersDict, @@ -560,6 +584,7 @@ OutlookOptionsDict, OutlookOptionsParam, ) +from databricks.bundles.pipelines._models.parse_mode import ParseMode, ParseModeParam from databricks.bundles.pipelines._models.path_pattern import ( PathPattern, PathPatternDict, @@ -613,6 +638,11 @@ PostgresSlotConfigDict, PostgresSlotConfigParam, ) +from databricks.bundles.pipelines._models.protobuf_transformer_options import ( + ProtobufTransformerOptions, + ProtobufTransformerOptionsDict, + ProtobufTransformerOptionsParam, +) from databricks.bundles.pipelines._models.rabbitmq_options import ( RabbitmqOptions, RabbitmqOptionsDict, @@ -644,6 +674,11 @@ S3StorageInfoDict, S3StorageInfoParam, ) +from databricks.bundles.pipelines._models.schema_registry_config import ( + SchemaRegistryConfig, + SchemaRegistryConfigDict, + SchemaRegistryConfigParam, +) from databricks.bundles.pipelines._models.schema_spec import ( SchemaSpec, SchemaSpecDict, diff --git a/python/databricks/bundles/pipelines/_models/avro_transformer_options.py b/python/databricks/bundles/pipelines/_models/avro_transformer_options.py new file mode 100644 index 00000000000..c1daf8f0a08 --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/avro_transformer_options.py @@ -0,0 +1,97 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOrOptional +from databricks.bundles.pipelines._models.parse_mode import ParseMode, ParseModeParam +from databricks.bundles.pipelines._models.schema_registry_config import ( + SchemaRegistryConfig, + SchemaRegistryConfigParam, +) + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class AvroTransformerOptions: + """ + :meta private: [EXPERIMENTAL] + """ + + parse_mode: VariableOrOptional[ParseMode] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Parse mode for Avro data. + Valid values: FAILFAST, PERMISSIVE. Defaults to FAILFAST. + """ + + schema: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Inline Avro JSON schema string. + """ + + schema_file_path: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Path to a schema file (.avsc). + """ + + schema_registry: VariableOrOptional[SchemaRegistryConfig] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Schema registry to resolve the Avro schema at runtime instead of + providing it inline or via a file path. + """ + + @classmethod + def from_dict(cls, value: "AvroTransformerOptionsDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "AvroTransformerOptionsDict": + return _transform_to_json_value(self) # type:ignore + + +class AvroTransformerOptionsDict(TypedDict, total=False): + """""" + + parse_mode: VariableOrOptional[ParseModeParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Parse mode for Avro data. + Valid values: FAILFAST, PERMISSIVE. Defaults to FAILFAST. + """ + + schema: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Inline Avro JSON schema string. + """ + + schema_file_path: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Path to a schema file (.avsc). + """ + + schema_registry: VariableOrOptional[SchemaRegistryConfigParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Schema registry to resolve the Avro schema at runtime instead of + providing it inline or via a file path. + """ + + +AvroTransformerOptionsParam = AvroTransformerOptionsDict | AvroTransformerOptions diff --git a/python/databricks/bundles/pipelines/_models/confluent_schema_registry_options.py b/python/databricks/bundles/pipelines/_models/confluent_schema_registry_options.py new file mode 100644 index 00000000000..15f159e4495 --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/confluent_schema_registry_options.py @@ -0,0 +1,48 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOrOptional + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class ConfluentSchemaRegistryOptions: + """ + :meta private: [EXPERIMENTAL] + """ + + subject: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Required: subject name to resolve in the registry. + """ + + @classmethod + def from_dict(cls, value: "ConfluentSchemaRegistryOptionsDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "ConfluentSchemaRegistryOptionsDict": + return _transform_to_json_value(self) # type:ignore + + +class ConfluentSchemaRegistryOptionsDict(TypedDict, total=False): + """""" + + subject: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Required: subject name to resolve in the registry. + """ + + +ConfluentSchemaRegistryOptionsParam = ( + ConfluentSchemaRegistryOptionsDict | ConfluentSchemaRegistryOptions +) diff --git a/python/databricks/bundles/pipelines/_models/gcp_attributes.py b/python/databricks/bundles/pipelines/_models/gcp_attributes.py index ba466fb2da8..70768dd4921 100644 --- a/python/databricks/bundles/pipelines/_models/gcp_attributes.py +++ b/python/databricks/bundles/pipelines/_models/gcp_attributes.py @@ -83,7 +83,8 @@ class GcpAttributes: """ Identifier for the availability zone in which the cluster resides. This can be one of the following: - - "HA" => High availability, spread nodes across availability zones for a Databricks deployment region [default]. + - "HA" => High availability, spread nodes across availability zones for a + Databricks deployment region [default]. - "AUTO" => Databricks picks an availability zone to schedule the cluster on. - A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones. @@ -158,7 +159,8 @@ class GcpAttributesDict(TypedDict, total=False): """ Identifier for the availability zone in which the cluster resides. This can be one of the following: - - "HA" => High availability, spread nodes across availability zones for a Databricks deployment region [default]. + - "HA" => High availability, spread nodes across availability zones for a + Databricks deployment region [default]. - "AUTO" => Databricks picks an availability zone to schedule the cluster on. - A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones. diff --git a/python/databricks/bundles/pipelines/_models/ingestion_config.py b/python/databricks/bundles/pipelines/_models/ingestion_config.py index 218711df402..1d5a14cceef 100644 --- a/python/databricks/bundles/pipelines/_models/ingestion_config.py +++ b/python/databricks/bundles/pipelines/_models/ingestion_config.py @@ -6,11 +6,11 @@ from databricks.bundles.core._transform import _transform from databricks.bundles.core._transform_to_json import _transform_to_json_value from databricks.bundles.core._variable import VariableOrOptional -from databricks.bundles.pipelines._models.report_spec import ( - ReportSpec, - ReportSpecParam, +from databricks.bundles.pipelines._models.report_spec import ReportSpec, ReportSpecParam +from databricks.bundles.pipelines._models.schema_spec import ( + SchemaSpec, + SchemaSpecParam, ) -from databricks.bundles.pipelines._models.schema_spec import SchemaSpec, SchemaSpecParam from databricks.bundles.pipelines._models.table_spec import TableSpec, TableSpecParam if TYPE_CHECKING: diff --git a/python/databricks/bundles/pipelines/_models/parse_mode.py b/python/databricks/bundles/pipelines/_models/parse_mode.py new file mode 100644 index 00000000000..c68949cd26c --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/parse_mode.py @@ -0,0 +1,18 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from enum import Enum +from typing import Literal + + +class ParseMode(Enum): + """ + :meta private: [EXPERIMENTAL] + + Determines how errors encountered while deserializing records are handled. + """ + + FAILFAST = "FAILFAST" + PERMISSIVE = "PERMISSIVE" + + +ParseModeParam = Literal["FAILFAST", "PERMISSIVE"] | ParseMode diff --git a/python/databricks/bundles/pipelines/_models/pipeline.py b/python/databricks/bundles/pipelines/_models/pipeline.py index ab264169987..1f00bf4c923 100644 --- a/python/databricks/bundles/pipelines/_models/pipeline.py +++ b/python/databricks/bundles/pipelines/_models/pipeline.py @@ -27,10 +27,7 @@ IngestionPipelineDefinition, IngestionPipelineDefinitionParam, ) -from databricks.bundles.pipelines._models.lifecycle import ( - Lifecycle, - LifecycleParam, -) +from databricks.bundles.pipelines._models.lifecycle import Lifecycle, LifecycleParam from databricks.bundles.pipelines._models.notifications import ( Notifications, NotificationsParam, diff --git a/python/databricks/bundles/pipelines/_models/protobuf_transformer_options.py b/python/databricks/bundles/pipelines/_models/protobuf_transformer_options.py new file mode 100644 index 00000000000..f910ff56406 --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/protobuf_transformer_options.py @@ -0,0 +1,119 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOrOptional +from databricks.bundles.pipelines._models.parse_mode import ParseMode, ParseModeParam +from databricks.bundles.pipelines._models.schema_registry_config import ( + SchemaRegistryConfig, + SchemaRegistryConfigParam, +) + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class ProtobufTransformerOptions: + """ + :meta private: [EXPERIMENTAL] + """ + + desc_file_path: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Required: path to the .desc file (dbfs:/... or /Volumes/...). + """ + + message_name: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Required: fully-qualified message type name. + """ + + parse_mode: VariableOrOptional[ParseMode] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Parse mode for Protobuf data. + Valid values: FAILFAST, PERMISSIVE. Defaults to FAILFAST. + """ + + recursive_fields_max_depth: VariableOrOptional[int] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Maximum expansion depth for recursive protobuf fields. + Spark SQL does not natively support recursive types, so recursive + fields are expanded up to this depth and truncated beyond it. + Valid values: -1 (disallow recursive fields), 0 (drop), 1-10. + """ + + schema_registry: VariableOrOptional[SchemaRegistryConfig] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Schema registry to resolve the Protobuf schema at runtime instead + of providing it via desc_file_path. + """ + + @classmethod + def from_dict(cls, value: "ProtobufTransformerOptionsDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "ProtobufTransformerOptionsDict": + return _transform_to_json_value(self) # type:ignore + + +class ProtobufTransformerOptionsDict(TypedDict, total=False): + """""" + + desc_file_path: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Required: path to the .desc file (dbfs:/... or /Volumes/...). + """ + + message_name: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Required: fully-qualified message type name. + """ + + parse_mode: VariableOrOptional[ParseModeParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Parse mode for Protobuf data. + Valid values: FAILFAST, PERMISSIVE. Defaults to FAILFAST. + """ + + recursive_fields_max_depth: VariableOrOptional[int] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Maximum expansion depth for recursive protobuf fields. + Spark SQL does not natively support recursive types, so recursive + fields are expanded up to this depth and truncated beyond it. + Valid values: -1 (disallow recursive fields), 0 (drop), 1-10. + """ + + schema_registry: VariableOrOptional[SchemaRegistryConfigParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Schema registry to resolve the Protobuf schema at runtime instead + of providing it via desc_file_path. + """ + + +ProtobufTransformerOptionsParam = ( + ProtobufTransformerOptionsDict | ProtobufTransformerOptions +) diff --git a/python/databricks/bundles/pipelines/_models/run_as.py b/python/databricks/bundles/pipelines/_models/run_as.py index 129422096fc..50967e4e1e5 100644 --- a/python/databricks/bundles/pipelines/_models/run_as.py +++ b/python/databricks/bundles/pipelines/_models/run_as.py @@ -19,6 +19,13 @@ class RunAs: Only `user_name` or `service_principal_name` can be specified. If both are specified, an error is thrown. """ + group_name: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Group name of an account group assigned to the workspace. When set, the pipeline runs as the group and the group's permissions are used for data access. Setting this field requires being a member of the group, or having the `Assume` permission on the group. + """ + service_principal_name: VariableOrOptional[str] = None """ Application ID of an active service principal. Setting this field requires the `servicePrincipal/user` role. @@ -40,6 +47,13 @@ def as_dict(self) -> "RunAsDict": class RunAsDict(TypedDict, total=False): """""" + group_name: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Group name of an account group assigned to the workspace. When set, the pipeline runs as the group and the group's permissions are used for data access. Setting this field requires being a member of the group, or having the `Assume` permission on the group. + """ + service_principal_name: VariableOrOptional[str] """ Application ID of an active service principal. Setting this field requires the `servicePrincipal/user` role. diff --git a/python/databricks/bundles/pipelines/_models/schema_registry_config.py b/python/databricks/bundles/pipelines/_models/schema_registry_config.py new file mode 100644 index 00000000000..971b3957388 --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/schema_registry_config.py @@ -0,0 +1,84 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOrOptional +from databricks.bundles.pipelines._models.confluent_schema_registry_options import ( + ConfluentSchemaRegistryOptions, + ConfluentSchemaRegistryOptionsParam, +) + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class SchemaRegistryConfig: + """ + :meta private: [EXPERIMENTAL] + """ + + confluent_options: VariableOrOptional[ConfluentSchemaRegistryOptions] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Required: Confluent-compatible schema registry options. + """ + + connection_name: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) UC connection for registry authentication. + Specify if different from the top-level source connection. + """ + + protobuf_message_name: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional, Protobuf only) Selects a specific message from a schema that + defines multiple Protobuf messages. Simple ("Location") or fully-qualified + ("com.example.protos.Location"). Defaults to the first message. + """ + + @classmethod + def from_dict(cls, value: "SchemaRegistryConfigDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "SchemaRegistryConfigDict": + return _transform_to_json_value(self) # type:ignore + + +class SchemaRegistryConfigDict(TypedDict, total=False): + """""" + + confluent_options: VariableOrOptional[ConfluentSchemaRegistryOptionsParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Required: Confluent-compatible schema registry options. + """ + + connection_name: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) UC connection for registry authentication. + Specify if different from the top-level source connection. + """ + + protobuf_message_name: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional, Protobuf only) Selects a specific message from a schema that + defines multiple Protobuf messages. Simple ("Location") or fully-qualified + ("com.example.protos.Location"). Defaults to the first message. + """ + + +SchemaRegistryConfigParam = SchemaRegistryConfigDict | SchemaRegistryConfig diff --git a/python/databricks/bundles/pipelines/_models/transformer.py b/python/databricks/bundles/pipelines/_models/transformer.py index 861e50c096d..aef8a59016a 100644 --- a/python/databricks/bundles/pipelines/_models/transformer.py +++ b/python/databricks/bundles/pipelines/_models/transformer.py @@ -6,10 +6,18 @@ from databricks.bundles.core._transform import _transform from databricks.bundles.core._transform_to_json import _transform_to_json_value from databricks.bundles.core._variable import VariableOrOptional +from databricks.bundles.pipelines._models.avro_transformer_options import ( + AvroTransformerOptions, + AvroTransformerOptionsParam, +) from databricks.bundles.pipelines._models.json_transformer_options import ( JsonTransformerOptions, JsonTransformerOptionsParam, ) +from databricks.bundles.pipelines._models.protobuf_transformer_options import ( + ProtobufTransformerOptions, + ProtobufTransformerOptionsParam, +) from databricks.bundles.pipelines._models.transformer_format import ( TransformerFormat, TransformerFormatParam, @@ -25,6 +33,13 @@ class Transformer: Specifies how to transform binary data into structured data. """ + avro_options: VariableOrOptional[AvroTransformerOptions] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] + """ + format: VariableOrOptional[TransformerFormat] = None """ :meta private: [EXPERIMENTAL] @@ -55,6 +70,13 @@ class Transformer: written to this column instead of replacing the input column. """ + protobuf_options: VariableOrOptional[ProtobufTransformerOptions] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] + """ + @classmethod def from_dict(cls, value: "TransformerDict") -> "Self": return _transform(cls, value) @@ -66,6 +88,13 @@ def as_dict(self) -> "TransformerDict": class TransformerDict(TypedDict, total=False): """""" + avro_options: VariableOrOptional[AvroTransformerOptionsParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] + """ + format: VariableOrOptional[TransformerFormatParam] """ :meta private: [EXPERIMENTAL] @@ -96,5 +125,12 @@ class TransformerDict(TypedDict, total=False): written to this column instead of replacing the input column. """ + protobuf_options: VariableOrOptional[ProtobufTransformerOptionsParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] + """ + TransformerParam = TransformerDict | Transformer diff --git a/python/databricks/bundles/pipelines/_models/transformer_format.py b/python/databricks/bundles/pipelines/_models/transformer_format.py index 5dfc1965ab7..006855705ca 100644 --- a/python/databricks/bundles/pipelines/_models/transformer_format.py +++ b/python/databricks/bundles/pipelines/_models/transformer_format.py @@ -7,6 +7,10 @@ class TransformerFormat(Enum): STRING = "STRING" JSON = "JSON" + AVRO = "AVRO" + PROTOBUF = "PROTOBUF" -TransformerFormatParam = Literal["STRING", "JSON"] | TransformerFormat +TransformerFormatParam = ( + Literal["STRING", "JSON", "AVRO", "PROTOBUF"] | TransformerFormat +) diff --git a/python/databricks_tests/core/_generated/apps.py b/python/databricks_tests/core/_generated/apps.py index f549a8a0280..41518c8c2e5 100644 --- a/python/databricks_tests/core/_generated/apps.py +++ b/python/databricks_tests/core/_generated/apps.py @@ -7,6 +7,7 @@ from databricks.bundles.apps._models.app_resource import AppResource from databricks.bundles.apps._models.compute_size import ComputeSize from databricks.bundles.apps._models.git_repository import GitRepository +from databricks.bundles.apps._models.git_source import GitSource from databricks.bundles.apps._models.lifecycle_with_started import LifecycleWithStarted from databricks.bundles.apps._models.telemetry_export_destination import ( TelemetryExportDestination, @@ -24,6 +25,7 @@ def _test_case(): "compute_size": "MEDIUM", "config": {}, "git_repository": {"provider": "provider", "url": "url"}, + "git_source": {}, "lifecycle": {}, "name": "name", "permissions": [{"level": "CAN_MANAGE"}], @@ -35,6 +37,7 @@ def _test_case(): compute_size=ComputeSize.MEDIUM, config=AppConfig(), git_repository=GitRepository(provider="provider", url="url"), + git_source=GitSource(), lifecycle=LifecycleWithStarted(), name="name", permissions=[AppPermission(level=AppPermissionLevel.CAN_MANAGE)], From efd202d6dc492bd9f3734f334c927802d26885e2 Mon Sep 17 00:00:00 2001 From: Jan Rose Date: Wed, 23 Sep 2026 15:01:33 +0000 Subject: [PATCH 2/2] Add changelog PR link for #6817 Co-authored-by: Isaac --- .nextchanges/dependency-updates/sdk-0.182.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nextchanges/dependency-updates/sdk-0.182.0.md b/.nextchanges/dependency-updates/sdk-0.182.0.md index 32994b2a454..baaa6f43c33 100644 --- a/.nextchanges/dependency-updates/sdk-0.182.0.md +++ b/.nextchanges/dependency-updates/sdk-0.182.0.md @@ -1 +1 @@ -* Bump `github.com/databricks/databricks-sdk-go` from v0.178.0 to v0.182.0. +* Bump `github.com/databricks/databricks-sdk-go` from v0.178.0 to v0.182.0. ([#6817](https://github.com/databricks/cli/pull/6817))